summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarek Olšák <[email protected]>2017-03-23 23:59:56 +0100
committerMarek Olšák <[email protected]>2017-03-29 15:44:00 +0200
commita2db9f9ff42435bc952ae1897b76b42610aeb7b7 (patch)
tree4e1be8632cd5c7d7a2efad1ec1ea2f8ef79f4b2d
parente81ee821194fbe1fc3b4b63f74fd8a33cb7e123b (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]>
-rw-r--r--src/mesa/drivers/common/driverfuncs.c1
-rw-r--r--src/mesa/main/arbprogram.c3
-rw-r--r--src/mesa/main/atifragshader.c3
-rw-r--r--src/mesa/main/dd.h3
-rw-r--r--src/mesa/main/state.c55
-rw-r--r--src/mesa/tnl/t_vp_build.c8
6 files changed, 7 insertions, 66 deletions
diff --git a/src/mesa/drivers/common/driverfuncs.c b/src/mesa/drivers/common/driverfuncs.c
index 642cd91ce1f..db0a107fe89 100644
--- a/src/mesa/drivers/common/driverfuncs.c
+++ b/src/mesa/drivers/common/driverfuncs.c
@@ -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;
diff --git a/src/mesa/main/arbprogram.c b/src/mesa/main/arbprogram.c
index 2c6031096ac..f3a0a54c016 100644
--- a/src/mesa/main/arbprogram.c
+++ b/src/mesa/main/arbprogram.c
@@ -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);
}
diff --git a/src/mesa/main/atifragshader.c b/src/mesa/main/atifragshader.c
index 83a449a1b13..27d8b864770 100644
--- a/src/mesa/main/atifragshader.c
+++ b/src/mesa/main/atifragshader.c
@@ -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
diff --git a/src/mesa/main/dd.h b/src/mesa/main/dd.h
index f300ad6cc00..b3a85f19857 100644
--- a/src/mesa/main/dd.h
+++ b/src/mesa/main/dd.h
@@ -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);
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;
}
diff --git a/src/mesa/tnl/t_vp_build.c b/src/mesa/tnl/t_vp_build.c
index 18d105f5fd0..3d8210cec25 100644
--- a/src/mesa/tnl/t_vp_build.c
+++ b/src/mesa/tnl/t_vp_build.c
@@ -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);
- }
}