瀏覽代碼

libobs: Fix bug where bool constant size would be 1

(This commit also modifies libobs-d3d11)

Boolean constant size should be 4
jp9000 9 年之前
父節點
當前提交
876cc94d51
共有 2 個文件被更改,包括 4 次插入2 次删除
  1. 2 1
      libobs-d3d11/d3d11-shader.cpp
  2. 2 1
      libobs/graphics/effect.c

+ 2 - 1
libobs-d3d11/d3d11-shader.cpp

@@ -327,7 +327,8 @@ static inline void shader_setval_inline(gs_shader_param *param,
 
 void gs_shader_set_bool(gs_sparam_t *param, bool val)
 {
-	shader_setval_inline(param, &val, sizeof(bool));
+	int b_val = (int)val;
+	shader_setval_inline(param, &b_val, sizeof(int));
 }
 
 void gs_shader_set_float(gs_sparam_t *param, float val)

+ 2 - 1
libobs/graphics/effect.c

@@ -329,7 +329,8 @@ static inline void effect_setval_inline(gs_eparam_t *param,
 
 void gs_effect_set_bool(gs_eparam_t *param, bool val)
 {
-	effect_setval_inline(param, &val, sizeof(bool));
+	int b_val = (int)val;
+	effect_setval_inline(param, &b_val, sizeof(int));
 }
 
 void gs_effect_set_float(gs_eparam_t *param, float val)