r500: set fragprog end to correct place
authorDave Airlie <airlied@redhat.com>
Sat, 17 May 2008 03:31:14 +0000 (13:31 +1000)
committerDave Airlie <airlied@redhat.com>
Sat, 17 May 2008 03:31:14 +0000 (13:31 +1000)
src/mesa/drivers/dri/r300/r500_fragprog.c

index 4020edd..a986947 100644 (file)
@@ -798,14 +798,15 @@ void r500TranslateFragmentShader(r300ContextPtr r300,
                init_program(r300, fp);
                cs = fp->cs;
 
-               fp->inst_offset = 0;
-               fp->inst_end = cs->nrslots - 1;
-
                if (parse_program(fp) == GL_FALSE) {
                        ERROR("Huh. Couldn't parse program. There should be additional errors explaining why.\nUsing dumb shader...\n");
                        dumb_shader(fp);
+                       fp->inst_offset = 0;
+                       fp->inst_end = cs->nrslots - 1;
                        return;
                }
+               fp->inst_offset = 0;
+               fp->inst_end = cs->nrslots - 1;
 
                fp->translated = GL_TRUE;
                r300UpdateStateParameters(fp->ctx, _NEW_PROGRAM);