Module: Mesa Branch: main Commit: 535a9d420309f0dc731158f4b63da9ab88ac3143 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=535a9d420309f0dc731158f4b63da9ab88ac3143
Author: Dave Airlie <[email protected]> Date: Mon Dec 20 11:31:31 2021 +1000 mesa: drop optional tex/tnl maintains mode. These are always going to be on with gallium v2: drop call, tidy up switch (kwg) Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Marek Olšák <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14261> --- docs/envvars.rst | 7 ------- src/mesa/main/context.c | 17 ++--------------- src/mesa/main/mtypes.h | 4 ---- src/mesa/main/state.c | 21 +++------------------ src/mesa/state_tracker/st_context.c | 6 ------ 5 files changed, 5 insertions(+), 50 deletions(-) diff --git a/docs/envvars.rst b/docs/envvars.rst index 5afdc519f22..5ce15ecf398 100644 --- a/docs/envvars.rst +++ b/docs/envvars.rst @@ -68,13 +68,6 @@ Core Mesa environment variables :envvar:`MESA_LOG_FILE` specifies a file name for logging all errors, warnings, etc., rather than stderr -:envvar:`MESA_TEX_PROG` - if set, implement conventional texture environment modes with fragment - programs (intended for developers only) -:envvar:`MESA_TNL_PROG` - if set, implement conventional vertex transformation operations with - vertex programs (intended for developers only). Setting this variable - automatically sets the :envvar:`MESA_TEX_PROG` variable as well. :envvar:`MESA_EXTENSION_OVERRIDE` can be used to enable/disable extensions. A value such as ``GL_EXT_foo -GL_EXT_bar`` will enable the ``GL_EXT_foo`` extension diff --git a/src/mesa/main/context.c b/src/mesa/main/context.c index 267208b3ec6..03f4ebed51a 100644 --- a/src/mesa/main/context.c +++ b/src/mesa/main/context.c @@ -1048,16 +1048,7 @@ _mesa_initialize_context(struct gl_context *ctx, ctx->Exec = ctx->OutsideBeginEnd; ctx->CurrentClientDispatch = ctx->CurrentServerDispatch = ctx->OutsideBeginEnd; - ctx->FragmentProgram._MaintainTexEnvProgram - = (getenv("MESA_TEX_PROG") != NULL); - - ctx->VertexProgram._MaintainTnlProgram - = (getenv("MESA_TNL_PROG") != NULL); - if (ctx->VertexProgram._MaintainTnlProgram) { - /* this is required... */ - ctx->FragmentProgram._MaintainTexEnvProgram = GL_TRUE; - _mesa_reset_vertex_processing_mode(ctx); - } + _mesa_reset_vertex_processing_mode(ctx); /* Mesa core handles all the formats that mesa core knows about. * Drivers will want to override this list with just the formats @@ -1075,6 +1066,7 @@ _mesa_initialize_context(struct gl_context *ctx, FALLTHROUGH; case API_OPENGL_CORE: + case API_OPENGLES2: break; case API_OPENGLES: /** @@ -1093,11 +1085,6 @@ _mesa_initialize_context(struct gl_context *ctx, texUnit->GenR._ModeBit = TEXGEN_REFLECTION_MAP_NV; } break; - case API_OPENGLES2: - ctx->FragmentProgram._MaintainTexEnvProgram = GL_TRUE; - ctx->VertexProgram._MaintainTnlProgram = GL_TRUE; - _mesa_reset_vertex_processing_mode(ctx); - break; } ctx->FirstTimeCurrent = GL_TRUE; diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h index 579d1be93e0..d87a3299f54 100644 --- a/src/mesa/main/mtypes.h +++ b/src/mesa/main/mtypes.h @@ -2335,8 +2335,6 @@ struct gl_vertex_program_state GLboolean Enabled; /**< User-set GL_VERTEX_PROGRAM_ARB/NV flag */ GLboolean PointSizeEnabled; /**< GL_VERTEX_PROGRAM_POINT_SIZE_ARB/NV */ GLboolean TwoSideEnabled; /**< GL_VERTEX_PROGRAM_TWO_SIDE_ARB/NV */ - /** Should fixed-function T&L be implemented with a vertex prog? */ - GLboolean _MaintainTnlProgram; /** Whether the fixed-func program is being used right now. */ GLboolean _UsesTnlProgram; @@ -2415,8 +2413,6 @@ struct gl_geometry_program_state struct gl_fragment_program_state { GLboolean Enabled; /**< User-set fragment program enable flag */ - /** Should fixed-function texturing be implemented with a fragment prog? */ - GLboolean _MaintainTexEnvProgram; /** Whether the fixed-func program is being used right now. */ GLboolean _UsesTexEnvProgram; diff --git a/src/mesa/main/state.c b/src/mesa/main/state.c index e75b31f95b8..d02e713ae19 100644 --- a/src/mesa/main/state.c +++ b/src/mesa/main/state.c @@ -221,7 +221,7 @@ update_program(struct gl_context *ctx) _mesa_reference_program(ctx, &ctx->FragmentProgram._TexEnvProgram, NULL); } - else if (ctx->FragmentProgram._MaintainTexEnvProgram) { + else { /* Use fragment program generated from fixed-function state */ struct gl_shader_program *f = _mesa_get_fixed_func_fragment_program(ctx); @@ -230,12 +230,6 @@ update_program(struct gl_context *ctx) _mesa_reference_program(ctx, &ctx->FragmentProgram._TexEnvProgram, f->_LinkedShaders[MESA_SHADER_FRAGMENT]->Program); } - else { - /* No fragment program */ - _mesa_reference_program(ctx, &ctx->FragmentProgram._Current, NULL); - _mesa_reference_program(ctx, &ctx->FragmentProgram._TexEnvProgram, - NULL); - } if (gsProg) { /* Use GLSL geometry shader */ @@ -278,7 +272,7 @@ update_program(struct gl_context *ctx) _mesa_reference_program(ctx, &ctx->VertexProgram._Current, ctx->VertexProgram.Current); } - else if (ctx->VertexProgram._MaintainTnlProgram) { + else { /* Use vertex program generated from fixed-function state */ assert(VP_MODE_FF == ctx->VertexProgram._VPMode); _mesa_reference_program(ctx, &ctx->VertexProgram._Current, @@ -286,11 +280,6 @@ update_program(struct gl_context *ctx) _mesa_reference_program(ctx, &ctx->VertexProgram._TnlProgram, ctx->VertexProgram._Current); } - else { - /* no vertex program */ - assert(VP_MODE_FF == ctx->VertexProgram._VPMode); - _mesa_reference_program(ctx, &ctx->VertexProgram._Current, NULL); - } if (csProg) { /* Use GLSL compute shader */ @@ -368,14 +357,12 @@ static void update_fixed_func_program_usage(struct gl_context *ctx) { ctx->FragmentProgram._UsesTexEnvProgram = - ctx->FragmentProgram._MaintainTexEnvProgram && !ctx->_Shader->CurrentProgram[MESA_SHADER_FRAGMENT] && /* GLSL*/ !_mesa_arb_fragment_program_enabled(ctx) && !(_mesa_ati_fragment_shader_enabled(ctx) && ctx->ATIFragmentShader.Current->Program); ctx->VertexProgram._UsesTnlProgram = - ctx->VertexProgram._MaintainTnlProgram && !ctx->_Shader->CurrentProgram[MESA_SHADER_VERTEX] && /* GLSL */ !_mesa_arb_vertex_program_enabled(ctx); } @@ -541,9 +528,7 @@ set_vertex_processing_mode(struct gl_context *ctx, gl_vertex_processing_mode m) * VP_MODE_FF mode and the fixed-func pipeline is emulated by shaders. */ ctx->VertexProgram._VPModeOptimizesConstantAttribs = - m == VP_MODE_FF && - ctx->VertexProgram._MaintainTnlProgram && - ctx->FragmentProgram._MaintainTexEnvProgram; + m == VP_MODE_FF; /* Set a filter mask for the net enabled vao arrays. * This is to mask out arrays that would otherwise supersede required current diff --git a/src/mesa/state_tracker/st_context.c b/src/mesa/state_tracker/st_context.c index 6f0335baebf..36a46d628d8 100644 --- a/src/mesa/state_tracker/st_context.c +++ b/src/mesa/state_tracker/st_context.c @@ -610,12 +610,6 @@ st_create_context_priv(struct gl_context *ctx, struct pipe_context *pipe, st->util_velems.velems[2].src_format = PIPE_FORMAT_R32G32_FLOAT; } - /* Need these flags: - */ - ctx->FragmentProgram._MaintainTexEnvProgram = GL_TRUE; - ctx->VertexProgram._MaintainTnlProgram = GL_TRUE; - _mesa_reset_vertex_processing_mode(ctx); - if (no_error) ctx->Const.ContextFlags |= GL_CONTEXT_FLAG_NO_ERROR_BIT_KHR;
