We no longer need to initialise it because gl_program is never reused.
Reviewed-by: Eric Anholt <eric@anholt.net>
{
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:
*
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.
}
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
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. */
*/
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 */