diff options
author | Marek Olšák <[email protected]> | 2017-03-23 23:59:56 +0100 |
---|---|---|
committer | Marek Olšák <[email protected]> | 2017-03-29 15:44:00 +0200 |
commit | a2db9f9ff42435bc952ae1897b76b42610aeb7b7 (patch) | |
tree | 4e1be8632cd5c7d7a2efad1ec1ea2f8ef79f4b2d /src/mesa/main/state.c | |
parent | e81ee821194fbe1fc3b4b63f74fd8a33cb7e123b (diff) |
mesa: remove dd_function_table::BindProgram
Reviewed-by: Edward O'Callaghan <[email protected]>
Reviewed-by: Timothy Arceri <[email protected]>
Reviewed-by: Nicolai Hähnle <[email protected]>
Diffstat (limited to 'src/mesa/main/state.c')
-rw-r--r-- | src/mesa/main/state.c | 55 |
1 files changed, 7 insertions, 48 deletions
diff --git a/src/mesa/main/state.c b/src/mesa/main/state.c index 07629d8ccac..5a760f5e5d0 100644 --- a/src/mesa/main/state.c +++ b/src/mesa/main/state.c @@ -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; } |