mesa: Make compile_shader() take a gl_shader, not a GLuint.

In half the callers, we already have a pointer, and don't need
to look it up again.  This will also help with upcoming meta work.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Timothy Arceri <timothy.arceri@collabora.com>
This commit is contained in:
Kenneth Graunke 2016-03-15 10:24:09 -07:00
parent a7e9b31d5b
commit a461e0003f

View file

@ -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;