Lines Matching refs:st
74 void st_init_atoms( struct st_context *st ) in st_init_atoms() argument
80 void st_destroy_atoms( struct st_context *st ) in st_destroy_atoms() argument
93 (a->st & b->st)); in check_state()
100 a->st |= b->st; in accumulate_state()
109 result->st = a->st ^ b->st; in xor_states()
115 static void check_program_state( struct st_context *st ) in check_program_state() argument
117 struct gl_context *ctx = st->ctx; in check_program_state()
119 if (ctx->VertexProgram._Current != &st->vp->Base) in check_program_state()
120 st->dirty.st |= ST_NEW_VERTEX_PROGRAM; in check_program_state()
122 if (ctx->FragmentProgram._Current != &st->fp->Base) in check_program_state()
123 st->dirty.st |= ST_NEW_FRAGMENT_PROGRAM; in check_program_state()
125 if (ctx->GeometryProgram._Current != &st->gp->Base) in check_program_state()
126 st->dirty.st |= ST_NEW_GEOMETRY_PROGRAM; in check_program_state()
129 static void check_attrib_edgeflag(struct st_context *st) in check_attrib_edgeflag() argument
131 const struct gl_client_array **arrays = st->ctx->Array._DrawArrays; in check_attrib_edgeflag()
139 if (vertDataEdgeFlags != st->vertdata_edgeflags) { in check_attrib_edgeflag()
140 st->vertdata_edgeflags = vertDataEdgeFlags; in check_attrib_edgeflag()
141 st->dirty.st |= ST_NEW_EDGEFLAGS_DATA; in check_attrib_edgeflag()
150 void st_validate_state( struct st_context *st ) argument
152 struct st_state_flags *state = &st->dirty;
156 st->dirty.st |= st->ctx->NewDriverState;
157 st->ctx->NewDriverState = 0;
159 check_attrib_edgeflag(st);
166 st_flush_bitmap_cache(st);
168 check_program_state( st );
170 st_manager_validate_framebuffers(st);
172 if (state->st == 0)
196 if (!(atom->dirty.mesa || atom->dirty.st) ||
203 atoms[i]->update( st );
223 atoms[i]->update( st );