From 4bdd5e09c3a1f97840dbbfb9e9a3c74bb0143968 Mon Sep 17 00:00:00 2001 From: Jordan Justen Date: Mon, 25 May 2015 12:23:05 -0700 Subject: [PATCH] meta: Save/restore compute shaders Signed-off-by: Jordan Justen Reviewed-by: Anuj Phogat --- src/mesa/drivers/common/meta.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/mesa/drivers/common/meta.c b/src/mesa/drivers/common/meta.c index bde544ef490..e27489d6195 100644 --- a/src/mesa/drivers/common/meta.c +++ b/src/mesa/drivers/common/meta.c @@ -599,7 +599,7 @@ _mesa_meta_begin(struct gl_context *ctx, GLbitfield state) /* Save the shader state from ctx->Shader (instead of ctx->_Shader) so * that we don't have to worry about the current pipeline state. */ - for (i = 0; i <= MESA_SHADER_FRAGMENT; i++) { + for (i = 0; i < MESA_SHADER_STAGES; i++) { _mesa_reference_shader_program(ctx, &save->Shader[i], ctx->Shader.CurrentProgram[i]); } @@ -949,7 +949,9 @@ _mesa_meta_end(struct gl_context *ctx) GL_TESS_EVALUATION_SHADER, GL_GEOMETRY_SHADER, GL_FRAGMENT_SHADER, + GL_COMPUTE_SHADER, }; + STATIC_ASSERT(MESA_SHADER_STAGES == ARRAY_SIZE(targets)); bool any_shader; @@ -975,7 +977,7 @@ _mesa_meta_end(struct gl_context *ctx) } any_shader = false; - for (i = 0; i <= MESA_SHADER_FRAGMENT; i++) { + for (i = 0; i < MESA_SHADER_STAGES; i++) { /* It is safe to call _mesa_use_shader_program even if the extension * necessary for that program state is not supported. In that case, * the saved program object must be NULL and the currently bound -- 2.30.2