From 29d70f5de966c18d563475bc5f60f252e9a900a3 Mon Sep 17 00:00:00 2001 From: Timothy Arceri Date: Mon, 31 Oct 2016 22:08:24 +1100 Subject: [PATCH] mesa: move _Used to gl_program We no longer need to initialise it because gl_program is never reused. Reviewed-by: Eric Anholt --- src/compiler/glsl/linker.cpp | 1 - src/mesa/main/api_validate.c | 8 ++++---- src/mesa/main/mtypes.h | 3 ++- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/compiler/glsl/linker.cpp b/src/compiler/glsl/linker.cpp index f825678..e5cc6de 100644 --- a/src/compiler/glsl/linker.cpp +++ b/src/compiler/glsl/linker.cpp @@ -4748,7 +4748,6 @@ link_shaders(struct gl_context *ctx, struct gl_shader_program *prog) { prog->data->LinkStatus = true; /* All error paths will set this to false */ prog->data->Validated = false; - prog->_Used = false; /* Section 7.3 (Program Objects) of the OpenGL 4.5 Core Profile spec says: * diff --git a/src/mesa/main/api_validate.c b/src/mesa/main/api_validate.c index 33e8086..2f9980e 100644 --- a/src/mesa/main/api_validate.c +++ b/src/mesa/main/api_validate.c @@ -197,8 +197,8 @@ _mesa_valid_to_render(struct gl_context *ctx, const char *where) gl_shader_stage i; for (i = 0; i < MESA_SHADER_STAGES; i++) { - if (shProg[i] == NULL || shProg[i]->_Used - || shProg[i]->_LinkedShaders[i] == NULL) + if (shProg[i] == NULL || shProg[i]->_LinkedShaders[i] == NULL || + shProg[i]->_LinkedShaders[i]->Program->_Used) continue; /* This is the first time this shader is being used. @@ -214,8 +214,8 @@ _mesa_valid_to_render(struct gl_context *ctx, const char *where) } for (i = 0; i < MESA_SHADER_STAGES; i++) { - if (shProg[i] != NULL) - shProg[i]->_Used = GL_TRUE; + if (shProg[i] != NULL && shProg[i]->_LinkedShaders[i] != NULL) + shProg[i]->_LinkedShaders[i]->Program->_Used = GL_TRUE; } } #endif diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h index 1da76b8..8842791 100644 --- a/src/mesa/main/mtypes.h +++ b/src/mesa/main/mtypes.h @@ -1921,6 +1921,8 @@ struct gl_program GLenum Target; /**< GL_VERTEX/FRAGMENT_PROGRAM_ARB, GL_GEOMETRY_PROGRAM_NV */ GLenum Format; /**< String encoding format */ + GLboolean _Used; /**< Ever used for drawing? Used for debugging */ + struct nir_shader *nir; GLbitfield64 SecondaryOutputsWritten; /**< Subset of OutputsWritten outputs written with non-zero index. */ @@ -2842,7 +2844,6 @@ struct gl_shader_program */ struct string_to_uint_map *UniformHash; - GLboolean _Used; /**< Ever used for drawing? */ GLboolean SamplersValidated; /**< Samplers validated against texture units? */ bool IsES; /**< True if this program uses GLSL ES */ -- 2.7.4