Revert "mesa: Track a computed _CurrentFragmentProgram for current gl_shader_program"
authorEric Anholt <eric@anholt.net>
Sat, 12 Mar 2011 23:00:49 +0000 (15:00 -0800)
committerEric Anholt <eric@anholt.net>
Sat, 12 Mar 2011 23:11:00 +0000 (15:11 -0800)
This reverts commit b4452c3baad6e0379eeb7f22f2e51d13999e1323.

src/mesa/main/mtypes.h
src/mesa/main/state.c

index 81e281941d9e70e1fce3156dd6f43dd9018b9957..4f83e2e55c266b6d97a8146efd874b0c203e8a56 100644 (file)
@@ -2191,7 +2191,6 @@ struct gl_shader_state
    struct gl_shader_program *CurrentVertexProgram;
    struct gl_shader_program *CurrentGeometryProgram;
    struct gl_shader_program *CurrentFragmentProgram;
-   struct gl_shader_program *_CurrentFragmentProgram;
 
    /**
     * Program used by glUniform calls.
index cf9fe8921f3c60508e4e4d12e5f9c8e3e46b4c99..1b2b2f32464aa80e3604e91565c7b08feb4ae8e2 100644 (file)
@@ -43,7 +43,6 @@
 #include "pixel.h"
 #include "program/program.h"
 #include "program/prog_parameter.h"
-#include "shaderobj.h"
 #include "state.h"
 #include "stencil.h"
 #include "texenvprogram.h"
@@ -250,7 +249,7 @@ update_program(struct gl_context *ctx)
 {
    const struct gl_shader_program *vsProg = ctx->Shader.CurrentVertexProgram;
    const struct gl_shader_program *gsProg = ctx->Shader.CurrentGeometryProgram;
-   struct gl_shader_program *fsProg = ctx->Shader.CurrentFragmentProgram;
+   const struct gl_shader_program *fsProg = ctx->Shader.CurrentFragmentProgram;
    const struct gl_vertex_program *prevVP = ctx->VertexProgram._Current;
    const struct gl_fragment_program *prevFP = ctx->FragmentProgram._Current;
    const struct gl_geometry_program *prevGP = ctx->GeometryProgram._Current;
@@ -276,22 +275,20 @@ update_program(struct gl_context *ctx)
       /* Use shader programs */
       _mesa_reference_fragprog(ctx, &ctx->FragmentProgram._Current,
                                fsProg->FragmentProgram);
-      _mesa_reference_shader_program(ctx, &ctx->Shader._CurrentFragmentProgram,
-                                    fsProg);
    }
    else if (ctx->FragmentProgram._Enabled) {
       /* use user-defined fragment program */
       _mesa_reference_fragprog(ctx, &ctx->FragmentProgram._Current,
                                ctx->FragmentProgram.Current);
-      _mesa_reference_shader_program(ctx, &ctx->Shader._CurrentFragmentProgram,
-                                    NULL);
    }
    else if (ctx->FragmentProgram._MaintainTexEnvProgram) {
       /* Use fragment program generated from fixed-function state.
        */
       struct gl_shader_program *f = _mesa_get_fixed_func_fragment_program(ctx);
+#if 0
       _mesa_reference_shader_program(ctx,
-                                    &ctx->Shader._CurrentFragmentProgram, f);
+                                    &ctx->Shader.CurrentFragmentProgram, f);
+#endif
 
       _mesa_reference_fragprog(ctx, &ctx->FragmentProgram._Current,
                                f->FragmentProgram);
@@ -299,8 +296,6 @@ update_program(struct gl_context *ctx)
    else {
       /* no fragment program */
       _mesa_reference_fragprog(ctx, &ctx->FragmentProgram._Current, NULL);
-      _mesa_reference_shader_program(ctx, &ctx->Shader._CurrentFragmentProgram,
-                                    NULL);
    }
 
    if (gsProg && gsProg->LinkStatus && gsProg->GeometryProgram) {