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