some clean-up of ST_NEW_ shader flags

This commit is contained in:
Brian
2007-09-25 14:46:49 -06:00
parent 1201eb8529
commit 07f31a29b4
3 changed files with 6 additions and 22 deletions

View File

@@ -416,7 +416,7 @@ const struct st_tracked_state st_update_shader = {
.name = "st_update_shader", .name = "st_update_shader",
.dirty = { .dirty = {
.mesa = 0, .mesa = 0,
.st = ST_NEW_LINKAGE .st = ST_NEW_SHADER
}, },
.update = update_linkage .update = update_linkage
}; };

View File

@@ -56,15 +56,7 @@ static void st_bind_program( GLcontext *ctx,
{ {
struct st_context *st = st_context(ctx); struct st_context *st = st_context(ctx);
switch (target) { st->dirty.st |= ST_NEW_SHADER;
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;
} }
@@ -77,9 +69,7 @@ static void st_use_program( GLcontext *ctx,
{ {
struct st_context *st = st_context(ctx); struct st_context *st = st_context(ctx);
st->dirty.st |= ST_NEW_VERTEX_PROGRAM; st->dirty.st |= ST_NEW_SHADER;
st->dirty.st |= ST_NEW_FRAGMENT_PROGRAM;
st->dirty.st |= ST_NEW_LINKAGE;
} }
@@ -126,7 +116,7 @@ static struct gl_program *st_new_program( GLcontext *ctx,
return _mesa_new_program(ctx, target, id); 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) { if (target == GL_FRAGMENT_PROGRAM_ARB) {
struct st_fragment_program *stfp = (struct st_fragment_program *) prog; 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->serialNo++;
stfp->param_state = stfp->Base.Base.Parameters->StateFlags; 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) { else if (target == GL_VERTEX_PROGRAM_ARB) {
struct st_vertex_program *stvp = (struct st_vertex_program *) prog; 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->serialNo++;
stvp->param_state = stvp->Base.Base.Parameters->StateFlags; 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); _tnl_program_string(ctx, target, prog);
} }
st->dirty.st |= ST_NEW_LINKAGE; st->dirty.st |= ST_NEW_SHADER;
} }

View File

@@ -45,7 +45,7 @@ struct cso_blend;
#define ST_NEW_MESA 0x1 /* Mesa state has changed */ #define ST_NEW_MESA 0x1 /* Mesa state has changed */
#define ST_NEW_FRAGMENT_PROGRAM 0x2 #define ST_NEW_FRAGMENT_PROGRAM 0x2
#define ST_NEW_VERTEX_PROGRAM 0x4 #define ST_NEW_VERTEX_PROGRAM 0x4
#define ST_NEW_LINKAGE 0x8 #define ST_NEW_SHADER 0x8
struct st_state_flags { struct st_state_flags {