[Bf-blender-cvs] [0da05720dea] master: GPU: add assert for immBegin buffer size & context

Christian Rauch noreply at git.blender.org
Mon Apr 27 07:30:31 CEST 2020


Commit: 0da05720dea233184ed2920e6f89e85eddf8f986
Author: Christian Rauch
Date:   Mon Apr 27 15:27:53 2020 +1000
Branches: master
https://developer.blender.org/rB0da05720dea233184ed2920e6f89e85eddf8f986

GPU: add assert for immBegin buffer size & context

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

M	source/blender/draw/intern/draw_manager_shader.c
M	source/blender/gpu/intern/gpu_immediate.c

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

diff --git a/source/blender/draw/intern/draw_manager_shader.c b/source/blender/draw/intern/draw_manager_shader.c
index b451cfb1d05..7eac082a9e1 100644
--- a/source/blender/draw/intern/draw_manager_shader.c
+++ b/source/blender/draw/intern/draw_manager_shader.c
@@ -99,6 +99,10 @@ static void drw_deferred_shader_compilation_exec(void *custom_data,
   DRWShaderCompiler *comp = (DRWShaderCompiler *)custom_data;
   void *gl_context = comp->gl_context;
 
+#if TRUST_NO_ONE
+  BLI_assert(gl_context != NULL);
+#endif
+
   WM_opengl_context_activate(gl_context);
 
   while (true) {
diff --git a/source/blender/gpu/intern/gpu_immediate.c b/source/blender/gpu/intern/gpu_immediate.c
index 2d093dacdce..5a5dfb3e1e8 100644
--- a/source/blender/gpu/intern/gpu_immediate.c
+++ b/source/blender/gpu/intern/gpu_immediate.c
@@ -275,6 +275,14 @@ void immBegin(GPUPrimType prim_type, uint vertex_len)
 
   /*  printf("mapping %u to %u\n", imm.buffer_offset, imm.buffer_offset + bytes_needed - 1); */
 
+#if TRUST_NO_ONE
+  {
+    GLint bufsize;
+    glGetBufferParameteriv(GL_ARRAY_BUFFER, GL_BUFFER_SIZE, &bufsize);
+    assert(active_buffer->buffer_offset + bytes_needed <= bufsize);
+  }
+#endif
+
   active_buffer->buffer_data = glMapBufferRange(
       GL_ARRAY_BUFFER,
       active_buffer->buffer_offset,



More information about the Bf-blender-cvs mailing list