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 <kenneth@whitecape.org>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14261>
This commit is contained in:
Dave Airlie 2021-12-20 11:31:31 +10:00 committed by Marge Bot
parent 1adff0d0db
commit 535a9d4203
5 changed files with 5 additions and 50 deletions

View file

@ -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

View file

@ -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;

View file

@ -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;

View file

@ -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

View file

@ -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;