Mesa (main): mesa: drop optional tex/tnl maintains mode.
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Thu Dec 23 19:35:09 UTC 2021
Module: Mesa
Branch: main
Commit: 535a9d420309f0dc731158f4b63da9ab88ac3143
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=535a9d420309f0dc731158f4b63da9ab88ac3143
Author: Dave Airlie <airlied at redhat.com>
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 <kenneth at whitecape.org>
Reviewed-by: Marek Olšák <marek.olsak at amd.com>
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;
More information about the mesa-commit
mailing list