The mismatch below caused ActiveProgram to be incorrectly saved/restored:
_meas_meta_begin:
line 465) ActiveShader := gl_shader_state::CurrentFragmentProgram
_mesa_meta_end:
line 741) gl_shader_state::ActiveProgram := ActiveShader
This patch fixes it to be:
_meas_meta_begin:
line 465) ActiveShader := gl_shader_state::ActiveProgram
_mesa_meta_end:
line 741) gl_shader_state::ActiveProgram := ActiveShader
I discovered this bug by inspection.
Signed-off-by: Chad Versace <[email protected]>
---
src/mesa/drivers/common/meta.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/src/mesa/drivers/common/meta.c b/src/mesa/drivers/common/meta.c
index 1b71aa1..2ac81ac 100644
--- a/src/mesa/drivers/common/meta.c
+++ b/src/mesa/drivers/common/meta.c
@@ -463,7 +463,7 @@ _mesa_meta_begin(struct gl_context *ctx, GLbitfield state)
_mesa_reference_shader_program(ctx, &save->FragmentShader,
ctx->Shader.CurrentFragmentProgram);
_mesa_reference_shader_program(ctx, &save->ActiveShader,
- ctx->Shader.CurrentFragmentProgram);
+ ctx->Shader.ActiveProgram);
_mesa_UseProgramObjectARB(0);
}
--
1.7.6
_______________________________________________
mesa-dev mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/mesa-dev