Home | History | Annotate | Download | only in state_tracker

Lines Matching refs:st

110 update_fp( struct st_context *st )
115 assert(st->ctx->FragmentProgram._Current);
116 stfp = st_fragment_program(st->ctx->FragmentProgram._Current);
120 key.st = st->has_shareable_shaders ? NULL : st;
123 key.clamp_color = st->clamp_frag_color_in_shader &&
124 st->ctx->Color._ClampFragmentColor;
128 st->force_persample_in_shader &&
129 _mesa_is_multisample_enabled(st->ctx) &&
130 st->ctx->Multisample.SampleShading &&
131 st->ctx->Multisample.MinSampleShadingValue *
132 _mesa_geometric_samples(st->ctx->DrawBuffer) > 1;
137 if (st->ctx->Fog.Enabled) {
138 key.fog = translate_fog_mode(st->ctx->Fog.Mode);
142 key.texture_targets[u] = get_texture_target(st->ctx, u);
146 key.external = st_get_external_sampler_key(st, &stfp->Base);
148 st->fp_variant = st_get_fp_variant(st, stfp, &key);
150 st_reference_fragprog(st, &st->fp, stfp);
152 cso_set_fragment_shader_handle(st->cso_context,
153 st->fp_variant->driver_shader);
168 update_vp( struct st_context *st )
176 assert(st->ctx->VertexProgram._Current);
177 stvp = st_vertex_program(st->ctx->VertexProgram._Current);
181 key.st = st->has_shareable_shaders ? NULL : st;
189 key.passthrough_edgeflags = st->vertdata_edgeflags;
191 key.clamp_color = st->clamp_vert_color_in_shader &&
192 st->ctx->Light._ClampVertexColor &&
199 st->vp_variant = st_get_vp_variant(st, stvp, &key);
201 st_reference_vertprog(st, &st->vp, stvp);
203 cso_set_vertex_shader_handle(st->cso_context,
204 st->vp_variant->driver_shader);
206 st->vertex_result_to_slot = stvp->result_to_output;
217 update_gp( struct st_context *st )
221 if (!st->ctx->GeometryProgram._Current) {
222 cso_set_geometry_shader_handle(st->cso_context, NULL);
223 st_reference_geomprog(st, &st->gp, NULL);
227 stgp = st_geometry_program(st->ctx->GeometryProgram._Current);
230 st->gp_variant = st_get_basic_variant(st, PIPE_SHADER_GEOMETRY,
233 st_reference_geomprog(st, &st->gp, stgp);
235 cso_set_geometry_shader_handle(st->cso_context,
236 st->gp_variant->driver_shader);
246 update_tcp( struct st_context *st )
250 if (!st->ctx->TessCtrlProgram._Current) {
251 cso_set_tessctrl_shader_handle(st->cso_context, NULL);
252 st_reference_tesscprog(st, &st->tcp, NULL);
256 sttcp = st_tessctrl_program(st->ctx->TessCtrlProgram._Current);
259 st->tcp_variant = st_get_basic_variant(st, PIPE_SHADER_TESS_CTRL,
262 st_reference_tesscprog(st, &st->tcp, sttcp);
264 cso_set_tessctrl_shader_handle(st->cso_context,
265 st->tcp_variant->driver_shader);
275 update_tep( struct st_context *st )
279 if (!st->ctx->TessEvalProgram._Current) {
280 cso_set_tesseval_shader_handle(st->cso_context, NULL);
281 st_reference_tesseprog(st, &st->tep, NULL);
285 sttep = st_tesseval_program(st->ctx->TessEvalProgram._Current);
288 st->tep_variant = st_get_basic_variant(st, PIPE_SHADER_TESS_EVAL,
291 st_reference_tesseprog(st, &st->tep, sttep);
293 cso_set_tesseval_shader_handle(st->cso_context,
294 st->tep_variant->driver_shader);
304 update_cp( struct st_context *st )
308 if (!st->ctx->ComputeProgram._Current) {
309 cso_set_compute_shader_handle(st->cso_context, NULL);
310 st_reference_compprog(st, &st->cp, NULL);
314 stcp = st_compute_program(st->ctx->ComputeProgram._Current);
317 st->cp_variant = st_get_cp_variant(st, &stcp->tgsi, &stcp->variants);
319 st_reference_compprog(st, &st->cp, stcp);
321 cso_set_compute_shader_handle(st->cso_context,
322 st->cp_variant->driver_shader);