Commit: 2be3a75efd9b60cac64980bb83003a7370c3bd08
Author: Clément Foucault
Date: Thu Jun 6 17:21:12 2019 +0200
Branches: master
https://developer.blender.org/rB2be3a75efd9b60cac64980bb83003a7370c3bd08
Fix T65383 UI graphics glitches on macOS with Intel HD 4000
glDrawArrays is not supposed to be affected by primitive restart
but osx drivers never cease to surprise me.
===================================================================
M source/blender/gpu/intern/gpu_batch.c
M source/blender/gpu/intern/gpu_immediate.c
===================================================================
diff --git a/source/blender/gpu/intern/gpu_batch.c
b/source/blender/gpu/intern/gpu_batch.c
index 1fb11da4fea..ba3c7f68518 100644
--- a/source/blender/gpu/intern/gpu_batch.c
+++ b/source/blender/gpu/intern/gpu_batch.c
@@ -634,12 +634,18 @@ void GPU_batch_draw_advanced(GPUBatch *batch, int
v_first, int v_count, int i_fi
}
}
else {
+#ifdef __APPLE__
+ glDisable(GL_PRIMITIVE_RESTART);
+#endif
if (GLEW_ARB_base_instance) {
glDrawArraysInstancedBaseInstance(batch->gl_prim_type, v_first, v_count,
i_count, i_first);
}
else {
glDrawArraysInstanced(batch->gl_prim_type, v_first, v_count, i_count);
}
+#ifdef __APPLE__
+ glEnable(GL_PRIMITIVE_RESTART);
+#endif
}
}
diff --git a/source/blender/gpu/intern/gpu_immediate.c
b/source/blender/gpu/intern/gpu_immediate.c
index 2fa7ee5fb32..6b5c4836e83 100644
--- a/source/blender/gpu/intern/gpu_immediate.c
+++ b/source/blender/gpu/intern/gpu_immediate.c
@@ -383,9 +383,16 @@ void immEnd(void)
}
else {
glUnmapBuffer(GL_ARRAY_BUFFER);
+
if (imm.vertex_len > 0) {
immDrawSetup();
+#ifdef __APPLE__
+ glDisable(GL_PRIMITIVE_RESTART);
+#endif
glDrawArrays(convert_prim_type_to_gl(imm.prim_type), 0, imm.vertex_len);
+#ifdef __APPLE__
+ glEnable(GL_PRIMITIVE_RESTART);
+#endif
}
/* These lines are causing crash on startup on some old GPU + drivers.
* They are not required so just comment them. (T55722) */
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs