diff options
Diffstat (limited to 'src/mesa/main/shaderapi.c')
-rw-r--r-- | src/mesa/main/shaderapi.c | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/src/mesa/main/shaderapi.c b/src/mesa/main/shaderapi.c index cdf15b48a0d..43c4188cf2f 100644 --- a/src/mesa/main/shaderapi.c +++ b/src/mesa/main/shaderapi.c @@ -960,11 +960,8 @@ shader_source(struct gl_shader *sh, const GLchar *source) * Compile a shader. */ static void -compile_shader(struct gl_context *ctx, GLuint shaderObj) +compile_shader(struct gl_context *ctx, struct gl_shader *sh) { - struct gl_shader *sh; - - sh = _mesa_lookup_shader_err(ctx, shaderObj, "glCompileShader"); if (!sh) return; @@ -1270,7 +1267,8 @@ _mesa_CompileShader(GLuint shaderObj) GET_CURRENT_CONTEXT(ctx); if (MESA_VERBOSE & VERBOSE_API) _mesa_debug(ctx, "glCompileShader %u\n", shaderObj); - compile_shader(ctx, shaderObj); + compile_shader(ctx, + _mesa_lookup_shader_err(ctx, shaderObj, "glCompileShader")); } @@ -2154,18 +2152,17 @@ _mesa_CreateShaderProgramv(GLenum type, GLsizei count, } if (shader) { - _mesa_ShaderSource(shader, count, strings, NULL); + struct gl_shader *sh = _mesa_lookup_shader(ctx, shader); - compile_shader(ctx, shader); + _mesa_ShaderSource(shader, count, strings, NULL); + compile_shader(ctx, sh); program = create_shader_program(ctx); if (program) { struct gl_shader_program *shProg; - struct gl_shader *sh; GLint compiled = GL_FALSE; shProg = _mesa_lookup_shader_program(ctx, program); - sh = _mesa_lookup_shader(ctx, shader); shProg->SeparateShader = GL_TRUE; |