From: Brian Date: Mon, 29 Oct 2007 15:24:29 +0000 (-0600) Subject: simplify code which access the current vertex/fragment shaders X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=cc0b55c242e9f53a8e45c5d4392f964af44f396e;p=mesa.git simplify code which access the current vertex/fragment shaders --- diff --git a/src/mesa/state_tracker/st_atom_sampler.c b/src/mesa/state_tracker/st_atom_sampler.c index 80b8cae013e..bdc60244776 100644 --- a/src/mesa/state_tracker/st_atom_sampler.c +++ b/src/mesa/state_tracker/st_atom_sampler.c @@ -113,24 +113,6 @@ gl_filter_to_img_filter(GLenum filter) } -static struct gl_fragment_program * -current_fragment_program(GLcontext *ctx) -{ - struct gl_fragment_program *f; - - if (ctx->Shader.CurrentProgram && - ctx->Shader.CurrentProgram->LinkStatus && - ctx->Shader.CurrentProgram->FragmentProgram) { - f = ctx->Shader.CurrentProgram->FragmentProgram; - } - else { - f = ctx->FragmentProgram._Current; - assert(f); - } - return f; -} - - static void update_samplers(struct st_context *st) { @@ -186,8 +168,7 @@ update_samplers(struct st_context *st) /* mapping from sampler vars to texture units */ { - struct gl_fragment_program *fprog = current_fragment_program(st->ctx); - const GLubyte *samplerUnits = fprog->Base.SamplerUnits; + struct gl_fragment_program *fprog = st->ctx->FragmentProgram._Current; uint sample_units[PIPE_MAX_SAMPLERS]; uint s; for (s = 0; s < PIPE_MAX_SAMPLERS; s++) { diff --git a/src/mesa/state_tracker/st_atom_shader.c b/src/mesa/state_tracker/st_atom_shader.c index 92ca22851ed..d4976941f9a 100644 --- a/src/mesa/state_tracker/st_atom_shader.c +++ b/src/mesa/state_tracker/st_atom_shader.c @@ -264,30 +264,11 @@ update_linkage( struct st_context *st ) /* find active shader and params -- Should be covered by * ST_NEW_VERTEX_PROGRAM */ - if (st->ctx->Shader.CurrentProgram && - st->ctx->Shader.CurrentProgram->LinkStatus && - st->ctx->Shader.CurrentProgram->VertexProgram) { - struct gl_vertex_program *f - = st->ctx->Shader.CurrentProgram->VertexProgram; - stvp = st_vertex_program(f); - } - else { - assert(st->ctx->VertexProgram._Current); - stvp = st_vertex_program(st->ctx->VertexProgram._Current); - } - + assert(st->ctx->VertexProgram._Current); + stvp = st_vertex_program(st->ctx->VertexProgram._Current); - if (st->ctx->Shader.CurrentProgram && - st->ctx->Shader.CurrentProgram->LinkStatus && - st->ctx->Shader.CurrentProgram->FragmentProgram) { - struct gl_fragment_program *f - = st->ctx->Shader.CurrentProgram->FragmentProgram; - stfp = st_fragment_program(f); - } - else { - assert(st->ctx->FragmentProgram._Current); - stfp = st_fragment_program(st->ctx->FragmentProgram._Current); - } + assert(st->ctx->FragmentProgram._Current); + stfp = st_fragment_program(st->ctx->FragmentProgram._Current); xvp = find_translated_vp(st, stvp, stfp);