[Bf-blender-cvs] [0b4b0e1a49e] temp-drawcontext: Fix Edit Mode selection triggering an OpenGL error.

Clément Foucault noreply at git.blender.org
Thu Feb 22 15:01:29 CET 2018


Commit: 0b4b0e1a49e71c9dfef4726f8b4707a8df7cb413
Author: Clément Foucault
Date:   Thu Feb 22 01:31:13 2018 +0100
Branches: temp-drawcontext
https://developer.blender.org/rB0b4b0e1a49e71c9dfef4726f8b4707a8df7cb413

Fix Edit Mode selection triggering an OpenGL error.

===================================================================

M	intern/gawain/gawain/gwn_batch.h
M	intern/gawain/src/gwn_batch.c
M	source/blender/editors/space_view3d/drawobject.c

===================================================================

diff --git a/intern/gawain/gawain/gwn_batch.h b/intern/gawain/gawain/gwn_batch.h
index c676cfef119..94c4ec1dc46 100644
--- a/intern/gawain/gawain/gwn_batch.h
+++ b/intern/gawain/gawain/gwn_batch.h
@@ -106,6 +106,7 @@ void GWN_batch_program_unset(Gwn_Batch*);
 void GWN_batch_program_use_begin(Gwn_Batch*); // call before Batch_Uniform (temp hack?)
 void GWN_batch_program_use_end(Gwn_Batch*);
 
+void GWN_batch_uniform_1ui(Gwn_Batch*, const char* name, int value);
 void GWN_batch_uniform_1i(Gwn_Batch*, const char* name, int value);
 void GWN_batch_uniform_1b(Gwn_Batch*, const char* name, bool value);
 void GWN_batch_uniform_1f(Gwn_Batch*, const char* name, float value);
diff --git a/intern/gawain/src/gwn_batch.c b/intern/gawain/src/gwn_batch.c
index 098c547c662..83d9f5b3a4b 100644
--- a/intern/gawain/src/gwn_batch.c
+++ b/intern/gawain/src/gwn_batch.c
@@ -410,6 +410,12 @@ void GWN_batch_program_use_end(Gwn_Batch* batch)
   #define GET_UNIFORM const Gwn_ShaderInput* uniform = GWN_shaderinterface_uniform(batch->interface, name);
 #endif
 
+void GWN_batch_uniform_1ui(Gwn_Batch* batch, const char* name, int value)
+	{
+	GET_UNIFORM
+	glUniform1ui(uniform->location, value);
+	}
+
 void GWN_batch_uniform_1i(Gwn_Batch* batch, const char* name, int value)
 	{
 	GET_UNIFORM
diff --git a/source/blender/editors/space_view3d/drawobject.c b/source/blender/editors/space_view3d/drawobject.c
index 75c217c4f0c..896b24d3086 100644
--- a/source/blender/editors/space_view3d/drawobject.c
+++ b/source/blender/editors/space_view3d/drawobject.c
@@ -9623,7 +9623,7 @@ static void bbs_mesh_face(BMEditMesh *em, DerivedMesh *UNUSED(dm), const bool us
 		GPU_select_index_get(0, &selcol);
 		batch = DRW_mesh_batch_cache_get_triangles_with_select_mask(me, true);
 		GWN_batch_program_set_builtin(batch, GPU_SHADER_3D_UNIFORM_COLOR_U32);
-		GWN_batch_uniform_1i(batch, "color", selcol);
+		GWN_batch_uniform_1ui(batch, "color", selcol);
 		GWN_batch_draw(batch);
 	}
 }
@@ -9753,7 +9753,7 @@ static void bbs_mesh_solid_verts(const EvaluationContext *UNUSED(eval_ctx), Scen
 		GPU_select_index_get(0, &selcol);
 		batch = DRW_mesh_batch_cache_get_triangles_with_select_mask(me, true);
 		GWN_batch_program_set_builtin(batch, GPU_SHADER_3D_UNIFORM_COLOR_U32);
-		GWN_batch_uniform_1i(batch, "color", selcol);
+		GWN_batch_uniform_1ui(batch, "color", selcol);
 		GWN_batch_draw(batch);
 	}



More information about the Bf-blender-cvs mailing list