diff options
author | Timothy Arceri <[email protected]> | 2016-10-19 12:30:09 +1100 |
---|---|---|
committer | Timothy Arceri <[email protected]> | 2016-10-26 14:29:36 +1100 |
commit | 81faead818a0b2fde131df019f5dfb0baef49273 (patch) | |
tree | 66610c70a8ed5a963ce927729e8a56115142783d /src/mesa/tnl | |
parent | 0ab51f8e164b33c5e3bc6836d0574080ef9d1dd8 (diff) |
mesa/i965/i915/r200: eliminate gl_vertex_program
Here we move the only field in gl_vertex_program to the
ARB program fields in gl_program.
Reviewed-by: Jason Ekstrand <[email protected]>
Diffstat (limited to 'src/mesa/tnl')
-rw-r--r-- | src/mesa/tnl/t_context.c | 4 | ||||
-rw-r--r-- | src/mesa/tnl/t_vb_program.c | 24 | ||||
-rw-r--r-- | src/mesa/tnl/t_vp_build.c | 4 |
3 files changed, 16 insertions, 16 deletions
diff --git a/src/mesa/tnl/t_context.c b/src/mesa/tnl/t_context.c index b5c0b3e1f5b..38100436714 100644 --- a/src/mesa/tnl/t_context.c +++ b/src/mesa/tnl/t_context.c @@ -131,7 +131,7 @@ void _tnl_InvalidateState( struct gl_context *ctx, GLuint new_state ) { TNLcontext *tnl = TNL_CONTEXT(ctx); - const struct gl_vertex_program *vp = ctx->VertexProgram._Current; + const struct gl_program *vp = ctx->VertexProgram._Current; const struct gl_fragment_program *fp = ctx->FragmentProgram._Current; GLuint i; @@ -183,7 +183,7 @@ _tnl_InvalidateState( struct gl_context *ctx, GLuint new_state ) if (vp) { GLuint i; for (i = 0; i < MAX_VARYING; i++) { - if (vp->Base.OutputsWritten & BITFIELD64_BIT(VARYING_SLOT_VAR0 + i)) { + if (vp->OutputsWritten & BITFIELD64_BIT(VARYING_SLOT_VAR0 + i)) { tnl->render_inputs_bitset |= BITFIELD64_BIT(_TNL_ATTRIB_GENERIC(i)); } } diff --git a/src/mesa/tnl/t_vb_program.c b/src/mesa/tnl/t_vb_program.c index 55c44d1845b..c0a48a0c565 100644 --- a/src/mesa/tnl/t_vb_program.c +++ b/src/mesa/tnl/t_vb_program.c @@ -237,7 +237,7 @@ init_machine(struct gl_context *ctx, struct gl_program_machine *machine, machine->FetchTexelLod = vp_fetch_texel; machine->FetchTexelDeriv = NULL; /* not used by vertex programs */ - machine->Samplers = ctx->VertexProgram._Current->Base.SamplerUnits; + machine->Samplers = ctx->VertexProgram._Current->SamplerUnits; machine->SystemValues[SYSTEM_VALUE_INSTANCE_ID][0] = (GLfloat) instID; } @@ -247,12 +247,12 @@ init_machine(struct gl_context *ctx, struct gl_program_machine *machine, * Map the texture images which the vertex program will access (if any). */ static void -map_textures(struct gl_context *ctx, const struct gl_vertex_program *vp) +map_textures(struct gl_context *ctx, const struct gl_program *vp) { GLuint u; for (u = 0; u < ctx->Const.Program[MESA_SHADER_VERTEX].MaxTextureImageUnits; u++) { - if (vp->Base.TexturesUsed[u]) { + if (vp->TexturesUsed[u]) { /* Note: _Current *should* correspond to the target indicated * in TexturesUsed[u]. */ @@ -266,12 +266,12 @@ map_textures(struct gl_context *ctx, const struct gl_vertex_program *vp) * Unmap the texture images which were used by the vertex program (if any). */ static void -unmap_textures(struct gl_context *ctx, const struct gl_vertex_program *vp) +unmap_textures(struct gl_context *ctx, const struct gl_program *vp) { GLuint u; for (u = 0; u < ctx->Const.Program[MESA_SHADER_VERTEX].MaxTextureImageUnits; u++) { - if (vp->Base.TexturesUsed[u]) { + if (vp->TexturesUsed[u]) { /* Note: _Current *should* correspond to the target indicated * in TexturesUsed[u]. */ @@ -290,7 +290,7 @@ run_vp( struct gl_context *ctx, struct tnl_pipeline_stage *stage ) TNLcontext *tnl = TNL_CONTEXT(ctx); struct vp_stage_data *store = VP_STAGE_DATA(stage); struct vertex_buffer *VB = &tnl->vb; - struct gl_vertex_program *program = ctx->VertexProgram._Current; + struct gl_program *program = ctx->VertexProgram._Current; struct gl_program_machine *machine = &store->machine; GLuint outputs[VARYING_SLOT_MAX], numOutputs; GLuint i, j; @@ -299,12 +299,12 @@ run_vp( struct gl_context *ctx, struct tnl_pipeline_stage *stage ) return GL_TRUE; /* ARB program or vertex shader */ - _mesa_load_state_parameters(ctx, program->Base.Parameters); + _mesa_load_state_parameters(ctx, program->Parameters); /* make list of outputs to save some time below */ numOutputs = 0; for (i = 0; i < VARYING_SLOT_MAX; i++) { - if (program->Base.OutputsWritten & BITFIELD64_BIT(i)) { + if (program->OutputsWritten & BITFIELD64_BIT(i)) { outputs[numOutputs++] = i; } } @@ -347,7 +347,7 @@ run_vp( struct gl_context *ctx, struct tnl_pipeline_stage *stage ) /* the vertex array case */ for (attr = 0; attr < VERT_ATTRIB_MAX; attr++) { - if (program->Base.InputsRead & BITFIELD64_BIT(attr)) { + if (program->InputsRead & BITFIELD64_BIT(attr)) { const GLubyte *ptr = (const GLubyte*) VB->AttribPtr[attr]->data; const GLuint size = VB->AttribPtr[attr]->size; const GLuint stride = VB->AttribPtr[attr]->stride; @@ -363,7 +363,7 @@ run_vp( struct gl_context *ctx, struct tnl_pipeline_stage *stage ) } /* execute the program */ - _mesa_execute_program(ctx, &program->Base, machine); + _mesa_execute_program(ctx, program, machine); /* copy the output registers into the VB->attribs arrays */ for (j = 0; j < numOutputs; j++) { @@ -378,7 +378,7 @@ run_vp( struct gl_context *ctx, struct tnl_pipeline_stage *stage ) } /* FOGC is a special case. Fragment shader expects (f,0,0,1) */ - if (program->Base.OutputsWritten & BITFIELD64_BIT(VARYING_SLOT_FOGC)) { + if (program->OutputsWritten & BITFIELD64_BIT(VARYING_SLOT_FOGC)) { store->results[VARYING_SLOT_FOGC].data[i][1] = 0.0; store->results[VARYING_SLOT_FOGC].data[i][2] = 0.0; store->results[VARYING_SLOT_FOGC].data[i][3] = 1.0; @@ -443,7 +443,7 @@ run_vp( struct gl_context *ctx, struct tnl_pipeline_stage *stage ) } for (i = 0; i < ctx->Const.MaxVarying; i++) { - if (program->Base.OutputsWritten & BITFIELD64_BIT(VARYING_SLOT_VAR0 + i)) { + if (program->OutputsWritten & BITFIELD64_BIT(VARYING_SLOT_VAR0 + i)) { /* Note: varying results get put into the generic attributes */ VB->AttribPtr[VERT_ATTRIB_GENERIC0+i] = &store->results[VARYING_SLOT_VAR0 + i]; diff --git a/src/mesa/tnl/t_vp_build.c b/src/mesa/tnl/t_vp_build.c index 4728c7043bd..18d105f5fd0 100644 --- a/src/mesa/tnl/t_vp_build.c +++ b/src/mesa/tnl/t_vp_build.c @@ -40,7 +40,7 @@ */ void _tnl_UpdateFixedFunctionProgram( struct gl_context *ctx ) { - const struct gl_vertex_program *prev = ctx->VertexProgram._Current; + const struct gl_program *prev = ctx->VertexProgram._Current; if (!ctx->VertexProgram._Current || ctx->VertexProgram._Current == ctx->VertexProgram._TnlProgram) { @@ -54,6 +54,6 @@ void _tnl_UpdateFixedFunctionProgram( struct gl_context *ctx ) */ if (ctx->VertexProgram._Current != prev && ctx->Driver.BindProgram) { ctx->Driver.BindProgram(ctx, GL_VERTEX_PROGRAM_ARB, - (struct gl_program *) ctx->VertexProgram._Current); + ctx->VertexProgram._Current); } } |