st/mesa/glsl: set SamplersUsed directly in gl_program
Reviewed-by: Eric Anholt <eric@anholt.net>
This commit is contained in:
@@ -1244,7 +1244,8 @@ link_assign_uniform_storage(struct gl_context *ctx,
|
||||
parcel.set_and_process(var);
|
||||
}
|
||||
|
||||
prog->_LinkedShaders[i]->active_samplers = parcel.shader_samplers_used;
|
||||
prog->_LinkedShaders[i]->Program->SamplersUsed =
|
||||
parcel.shader_samplers_used;
|
||||
prog->_LinkedShaders[i]->shadow_samplers = parcel.shader_shadow_samplers;
|
||||
|
||||
STATIC_ASSERT(sizeof(prog->_LinkedShaders[i]->SamplerTargets) ==
|
||||
|
@@ -213,7 +213,6 @@ brw_link_shader(struct gl_context *ctx, struct gl_shader_program *shProg)
|
||||
|
||||
_mesa_copy_linked_program_data(shProg, shader);
|
||||
|
||||
prog->SamplersUsed = shader->active_samplers;
|
||||
prog->ShadowSamplers = shader->shadow_samplers;
|
||||
_mesa_update_shader_textures_used(shProg, prog);
|
||||
|
||||
|
@@ -2356,7 +2356,6 @@ struct gl_linked_shader
|
||||
* \note Each of these fields is only set post-linking.
|
||||
*/
|
||||
/*@{*/
|
||||
GLbitfield active_samplers; /**< Bitfield of which samplers are used */
|
||||
GLbitfield shadow_samplers; /**< Samplers used for shadow sampling. */
|
||||
/*@}*/
|
||||
|
||||
@@ -2396,7 +2395,7 @@ struct gl_linked_shader
|
||||
static inline GLbitfield gl_external_samplers(struct gl_linked_shader *shader)
|
||||
{
|
||||
GLbitfield external_samplers = 0;
|
||||
GLbitfield mask = shader->active_samplers;
|
||||
GLbitfield mask = shader->Program->SamplersUsed;
|
||||
|
||||
while (mask) {
|
||||
int idx = u_bit_scan(&mask);
|
||||
|
@@ -2917,7 +2917,6 @@ get_mesa_program(struct gl_context *ctx,
|
||||
|
||||
do_set_program_inouts(shader->ir, prog, shader->Stage);
|
||||
|
||||
prog->SamplersUsed = shader->active_samplers;
|
||||
prog->ShadowSamplers = shader->shadow_samplers;
|
||||
prog->ExternalSamplersUsed = gl_external_samplers(shader);
|
||||
_mesa_update_shader_textures_used(shader_program, prog);
|
||||
|
@@ -412,7 +412,6 @@ st_nir_get_mesa_program(struct gl_context *ctx,
|
||||
_mesa_log("\n\n");
|
||||
}
|
||||
|
||||
prog->SamplersUsed = shader->active_samplers;
|
||||
prog->ShadowSamplers = shader->shadow_samplers;
|
||||
prog->ExternalSamplersUsed = gl_external_samplers(shader);
|
||||
_mesa_update_shader_textures_used(shader_program, prog);
|
||||
|
Reference in New Issue
Block a user