From: Marek Olšák Date: Thu, 23 Mar 2017 22:59:56 +0000 (+0100) Subject: mesa: remove dd_function_table::BindProgram X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=a2db9f9ff42435bc952ae1897b76b42610aeb7b7;p=mesa.git mesa: remove dd_function_table::BindProgram Reviewed-by: Edward O'Callaghan Reviewed-by: Timothy Arceri Reviewed-by: Nicolai Hähnle --- 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); - } }