diff options
-rw-r--r-- | src/mapi/glapi/gen/gl_API.xml | 2 | ||||
-rw-r--r-- | src/mesa/main/shaderapi.c | 18 | ||||
-rw-r--r-- | src/mesa/main/shaderapi.h | 3 |
3 files changed, 22 insertions, 1 deletions
diff --git a/src/mapi/glapi/gen/gl_API.xml b/src/mapi/glapi/gen/gl_API.xml index 7afcc5db65d..18a78dc315b 100644 --- a/src/mapi/glapi/gen/gl_API.xml +++ b/src/mapi/glapi/gen/gl_API.xml @@ -5492,7 +5492,7 @@ <glx ignore="true"/> </function> - <function name="LinkProgram" es2="2.0"> + <function name="LinkProgram" es2="2.0" no_error="true"> <param name="program" type="GLuint"/> <glx ignore="true"/> </function> diff --git a/src/mesa/main/shaderapi.c b/src/mesa/main/shaderapi.c index 1c564d31704..6dd617be7e5 100644 --- a/src/mesa/main/shaderapi.c +++ b/src/mesa/main/shaderapi.c @@ -1242,6 +1242,13 @@ link_program_error(struct gl_context *ctx, struct gl_shader_program *shProg) } +static void +link_program_no_error(struct gl_context *ctx, struct gl_shader_program *shProg) +{ + link_program(ctx, shProg, true); +} + + void _mesa_link_program(struct gl_context *ctx, struct gl_shader_program *shProg) { @@ -1703,6 +1710,17 @@ _mesa_IsShader(GLuint name) void GLAPIENTRY +_mesa_LinkProgram_no_error(GLuint programObj) +{ + GET_CURRENT_CONTEXT(ctx); + + struct gl_shader_program *shProg = + _mesa_lookup_shader_program(ctx, programObj); + link_program_no_error(ctx, shProg); +} + + +void GLAPIENTRY _mesa_LinkProgram(GLuint programObj) { GET_CURRENT_CONTEXT(ctx); diff --git a/src/mesa/main/shaderapi.h b/src/mesa/main/shaderapi.h index b76e57ee39d..7915248e391 100644 --- a/src/mesa/main/shaderapi.h +++ b/src/mesa/main/shaderapi.h @@ -131,6 +131,9 @@ _mesa_IsProgram(GLuint name); extern GLboolean GLAPIENTRY _mesa_IsShader(GLuint name); +void GLAPIENTRY +_mesa_LinkProgram_no_error(GLuint programObj); + extern void GLAPIENTRY _mesa_LinkProgram(GLuint programObj); |