some clean-up of ST_NEW_ shader flags
authorBrian <brian.paul@tungstengraphics.com>
Tue, 25 Sep 2007 20:46:49 +0000 (14:46 -0600)
committerBrian <brian.paul@tungstengraphics.com>
Tue, 25 Sep 2007 20:46:49 +0000 (14:46 -0600)
src/mesa/state_tracker/st_atom_shader.c
src/mesa/state_tracker/st_cb_program.c
src/mesa/state_tracker/st_context.h

index f3bb9ef..383184e 100644 (file)
@@ -416,7 +416,7 @@ const struct st_tracked_state st_update_shader = {
    .name = "st_update_shader",
    .dirty = {
       .mesa  = 0,
-      .st   = ST_NEW_LINKAGE
+      .st   = ST_NEW_SHADER
    },
    .update = update_linkage
 };
index aee316d..f57d226 100644 (file)
@@ -56,15 +56,7 @@ static void st_bind_program( GLcontext *ctx,
 {
    struct st_context *st = st_context(ctx);
 
-   switch (target) {
-   case GL_VERTEX_PROGRAM_ARB: 
-      st->dirty.st |= ST_NEW_VERTEX_PROGRAM;
-      break;
-   case GL_FRAGMENT_PROGRAM_ARB:
-      st->dirty.st |= ST_NEW_FRAGMENT_PROGRAM;
-      break;
-   }
-   st->dirty.st |= ST_NEW_LINKAGE;
+   st->dirty.st |= ST_NEW_SHADER;
 }
 
 
@@ -77,9 +69,7 @@ static void st_use_program( GLcontext *ctx,
 {
    struct st_context *st = st_context(ctx);
 
-   st->dirty.st |= ST_NEW_VERTEX_PROGRAM;
-   st->dirty.st |= ST_NEW_FRAGMENT_PROGRAM;
-   st->dirty.st |= ST_NEW_LINKAGE;
+   st->dirty.st |= ST_NEW_SHADER;
 }
 
 
@@ -126,7 +116,7 @@ static struct gl_program *st_new_program( GLcontext *ctx,
       return _mesa_new_program(ctx, target, id);
    }
 
-   st->dirty.st |= ST_NEW_LINKAGE;
+   st->dirty.st |= ST_NEW_SHADER;
 }
 
 
@@ -180,9 +170,6 @@ static void st_program_string_notify( GLcontext *ctx,
    if (target == GL_FRAGMENT_PROGRAM_ARB) {
       struct st_fragment_program *stfp = (struct st_fragment_program *) prog;
 
-      if (prog == &ctx->FragmentProgram._Current->Base)
-        st->dirty.st |= ST_NEW_FRAGMENT_PROGRAM;
-
       stfp->serialNo++;
 
       stfp->param_state = stfp->Base.Base.Parameters->StateFlags;
@@ -190,9 +177,6 @@ static void st_program_string_notify( GLcontext *ctx,
    else if (target == GL_VERTEX_PROGRAM_ARB) {
       struct st_vertex_program *stvp = (struct st_vertex_program *) prog;
 
-      if (prog == &ctx->VertexProgram._Current->Base)
-        st->dirty.st |= ST_NEW_VERTEX_PROGRAM;
-
       stvp->serialNo++;
 
       stvp->param_state = stvp->Base.Base.Parameters->StateFlags;
@@ -202,7 +186,7 @@ static void st_program_string_notify( GLcontext *ctx,
       _tnl_program_string(ctx, target, prog);
    }
 
-   st->dirty.st |= ST_NEW_LINKAGE;
+   st->dirty.st |= ST_NEW_SHADER;
 }
 
 
index 24f0ff9..da4fd0d 100644 (file)
@@ -45,7 +45,7 @@ struct cso_blend;
 #define ST_NEW_MESA                    0x1 /* Mesa state has changed */
 #define ST_NEW_FRAGMENT_PROGRAM        0x2
 #define ST_NEW_VERTEX_PROGRAM          0x4
-#define ST_NEW_LINKAGE                 0x8
+#define ST_NEW_SHADER                  0x8
 
 
 struct st_state_flags {