summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/r300/r500_fragprog.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mesa/drivers/dri/r300/r500_fragprog.c')
-rw-r--r--src/mesa/drivers/dri/r300/r500_fragprog.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/mesa/drivers/dri/r300/r500_fragprog.c b/src/mesa/drivers/dri/r300/r500_fragprog.c
index 07a2a7b17c..1b8343ab21 100644
--- a/src/mesa/drivers/dri/r300/r500_fragprog.c
+++ b/src/mesa/drivers/dri/r300/r500_fragprog.c
@@ -493,7 +493,10 @@ void r500TranslateFragmentShader(r300ContextPtr r300,
_mesa_print_program(compiler.program);
}
- fp->translated = r500FragmentProgramEmit(&compiler);
+ if (!r500FragmentProgramEmit(&compiler))
+ fp->error = GL_TRUE;
+
+ fp->translated = GL_TRUE;
/* Subtle: Rescue any parameters that have been added during transformations */
_mesa_free_parameter_list(fp->mesa_program.Base.Parameters);
@@ -505,7 +508,7 @@ void r500TranslateFragmentShader(r300ContextPtr r300,
r300UpdateStateParameters(r300->radeon.glCtx, _NEW_PROGRAM);
if (RADEON_DEBUG & DEBUG_PIXEL) {
- if (fp->translated) {
+ if (!fp->error) {
_mesa_printf("Machine-readable code:\n");
dump_program(&fp->code);
}