simplify code which access the current vertex/fragment shaders

This commit is contained in:
Brian
2007-10-29 09:24:29 -06:00
parent 2a3f3679eb
commit cc0b55c242
2 changed files with 5 additions and 43 deletions

View File

@@ -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++) {

View File

@@ -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);
}
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);
}
xvp = find_translated_vp(st, stvp, stfp);