mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-24 21:50:12 +01:00
mesa: remove dd_function_table::BindProgram
Reviewed-by: Edward O'Callaghan <funfunctor@folklore1984.net> Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com> Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
This commit is contained in:
parent
e81ee82119
commit
a2db9f9ff4
6 changed files with 7 additions and 66 deletions
|
|
@ -113,7 +113,6 @@ _mesa_init_driver_functions(struct dd_function_table *driver)
|
|||
driver->DrawTex = _mesa_meta_DrawTex;
|
||||
|
||||
/* Vertex/fragment programs */
|
||||
driver->BindProgram = NULL;
|
||||
driver->NewProgram = _mesa_new_program;
|
||||
driver->DeleteProgram = _mesa_delete_program;
|
||||
|
||||
|
|
|
|||
|
|
@ -118,9 +118,6 @@ _mesa_BindProgramARB(GLenum target, GLuint id)
|
|||
/* Never null pointers */
|
||||
assert(ctx->VertexProgram.Current);
|
||||
assert(ctx->FragmentProgram.Current);
|
||||
|
||||
if (ctx->Driver.BindProgram)
|
||||
ctx->Driver.BindProgram(ctx, target, newProg);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -264,9 +264,6 @@ _mesa_BindFragmentShaderATI(GLuint id)
|
|||
assert(ctx->ATIFragmentShader.Current);
|
||||
if (newProg)
|
||||
newProg->RefCount++;
|
||||
|
||||
/*if (ctx->Driver.BindProgram)
|
||||
ctx->Driver.BindProgram(ctx, target, prog); */
|
||||
}
|
||||
|
||||
void GLAPIENTRY
|
||||
|
|
|
|||
|
|
@ -469,9 +469,6 @@ struct dd_function_table {
|
|||
* \name Vertex/fragment program functions
|
||||
*/
|
||||
/*@{*/
|
||||
/** Bind a vertex/fragment program */
|
||||
void (*BindProgram)(struct gl_context *ctx, GLenum target,
|
||||
struct gl_program *prog);
|
||||
/** Allocate a new program */
|
||||
struct gl_program * (*NewProgram)(struct gl_context *ctx, GLenum target,
|
||||
GLuint id, bool is_arb_asm);
|
||||
|
|
|
|||
|
|
@ -80,8 +80,7 @@ update_program_enables(struct gl_context *ctx)
|
|||
|
||||
/**
|
||||
* Update the ctx->*Program._Current pointers to point to the
|
||||
* current/active programs. Then call ctx->Driver.BindProgram() to
|
||||
* tell the driver which programs to use.
|
||||
* current/active programs.
|
||||
*
|
||||
* Programs may come from 3 sources: GLSL shaders, ARB/NV_vertex/fragment
|
||||
* programs or programs derived from fixed-function state.
|
||||
|
|
@ -238,53 +237,13 @@ update_program(struct gl_context *ctx)
|
|||
|
||||
/* Let the driver know what's happening:
|
||||
*/
|
||||
if (ctx->FragmentProgram._Current != prevFP) {
|
||||
if (ctx->FragmentProgram._Current != prevFP ||
|
||||
ctx->VertexProgram._Current != prevVP ||
|
||||
ctx->GeometryProgram._Current != prevGP ||
|
||||
ctx->TessEvalProgram._Current != prevTEP ||
|
||||
ctx->TessCtrlProgram._Current != prevTCP ||
|
||||
ctx->ComputeProgram._Current != prevCP)
|
||||
new_state |= _NEW_PROGRAM;
|
||||
if (ctx->Driver.BindProgram) {
|
||||
ctx->Driver.BindProgram(ctx, GL_FRAGMENT_PROGRAM_ARB,
|
||||
ctx->FragmentProgram._Current);
|
||||
}
|
||||
}
|
||||
|
||||
if (ctx->GeometryProgram._Current != prevGP) {
|
||||
new_state |= _NEW_PROGRAM;
|
||||
if (ctx->Driver.BindProgram) {
|
||||
ctx->Driver.BindProgram(ctx, GL_GEOMETRY_PROGRAM_NV,
|
||||
ctx->GeometryProgram._Current);
|
||||
}
|
||||
}
|
||||
|
||||
if (ctx->TessEvalProgram._Current != prevTEP) {
|
||||
new_state |= _NEW_PROGRAM;
|
||||
if (ctx->Driver.BindProgram) {
|
||||
ctx->Driver.BindProgram(ctx, GL_TESS_EVALUATION_PROGRAM_NV,
|
||||
ctx->TessEvalProgram._Current);
|
||||
}
|
||||
}
|
||||
|
||||
if (ctx->TessCtrlProgram._Current != prevTCP) {
|
||||
new_state |= _NEW_PROGRAM;
|
||||
if (ctx->Driver.BindProgram) {
|
||||
ctx->Driver.BindProgram(ctx, GL_TESS_CONTROL_PROGRAM_NV,
|
||||
ctx->TessCtrlProgram._Current);
|
||||
}
|
||||
}
|
||||
|
||||
if (ctx->VertexProgram._Current != prevVP) {
|
||||
new_state |= _NEW_PROGRAM;
|
||||
if (ctx->Driver.BindProgram) {
|
||||
ctx->Driver.BindProgram(ctx, GL_VERTEX_PROGRAM_ARB,
|
||||
ctx->VertexProgram._Current);
|
||||
}
|
||||
}
|
||||
|
||||
if (ctx->ComputeProgram._Current != prevCP) {
|
||||
new_state |= _NEW_PROGRAM;
|
||||
if (ctx->Driver.BindProgram) {
|
||||
ctx->Driver.BindProgram(ctx, GL_COMPUTE_PROGRAM_NV,
|
||||
ctx->ComputeProgram._Current);
|
||||
}
|
||||
}
|
||||
|
||||
return new_state;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -48,12 +48,4 @@ void _tnl_UpdateFixedFunctionProgram( struct gl_context *ctx )
|
|||
= ctx->VertexProgram._TnlProgram
|
||||
= _mesa_get_fixed_func_vertex_program(ctx);
|
||||
}
|
||||
|
||||
/* Tell the driver about the change. Could define a new target for
|
||||
* this?
|
||||
*/
|
||||
if (ctx->VertexProgram._Current != prev && ctx->Driver.BindProgram) {
|
||||
ctx->Driver.BindProgram(ctx, GL_VERTEX_PROGRAM_ARB,
|
||||
ctx->VertexProgram._Current);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue