simplify code which access the current vertex/fragment shaders
This commit is contained in:
@@ -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++) {
|
||||
|
@@ -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);
|
||||
|
||||
|
Reference in New Issue
Block a user