Browse Source

libobs: Fix bug where bool constant size would be 1

(This commit also modifies libobs-d3d11)

Boolean constant size should be 4
jp9000 9 years ago
parent
commit
876cc94d51
2 changed files with 4 additions and 2 deletions
  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)