Commit: 0ca211885182bf9b07329eeac7e0a930a410984a
Author: Mike Erwin
Date:   Tue Sep 27 19:38:35 2016 +0200
Branches: blender2.8
https://developer.blender.org/rB0ca211885182bf9b07329eeac7e0a930a410984a

safety checks in GPU shader library

If shader compilation fails, or for some other reason the shader is NULL or 0, 
we need to know.

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

M       source/blender/gpu/intern/gpu_shader.c

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

diff --git a/source/blender/gpu/intern/gpu_shader.c 
b/source/blender/gpu/intern/gpu_shader.c
index 41a4537..6a730f3 100644
--- a/source/blender/gpu/intern/gpu_shader.c
+++ b/source/blender/gpu/intern/gpu_shader.c
@@ -470,6 +470,8 @@ GPUShader *GPU_shader_create_ex(const char *vertexcode,
 
 void GPU_shader_bind(GPUShader *shader)
 {
+       BLI_assert(shader && shader->program);
+
        glUseProgram(shader->program);
 }
 
@@ -480,6 +482,8 @@ void GPU_shader_unbind(void)
 
 void GPU_shader_free(GPUShader *shader)
 {
+       BLI_assert(shader);
+
        if (shader->vertex)
                glDeleteShader(shader->vertex);
        if (shader->geometry)
@@ -497,6 +501,8 @@ void GPU_shader_free(GPUShader *shader)
 
 int GPU_shader_get_uniform(GPUShader *shader, const char *name)
 {
+       BLI_assert(shader && shader->program);
+
        return glGetUniformLocation(shader->program, name);
 }
 
@@ -584,6 +590,8 @@ void GPU_shader_uniform_texture(GPUShader *UNUSED(shader), 
int location, GPUText
 
 int GPU_shader_get_attribute(GPUShader *shader, const char *name)
 {
+       BLI_assert(shader && shader->program);
+
        return glGetAttribLocation(shader->program, name);
 }

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to