diff options
Diffstat (limited to 'src/amd/vulkan')
-rw-r--r-- | src/amd/vulkan/radv_shader_info.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/amd/vulkan/radv_shader_info.c b/src/amd/vulkan/radv_shader_info.c index b45b4c0c95b..7dd158d0b7e 100644 --- a/src/amd/vulkan/radv_shader_info.c +++ b/src/amd/vulkan/radv_shader_info.c @@ -294,6 +294,19 @@ static void gather_tex_info(const nir_shader *nir, const nir_tex_instr *instr, struct radv_shader_info *info) { + for (unsigned i = 0; i < instr->num_srcs; i++) { + switch (instr->src[i].src_type) { + case nir_tex_src_texture_deref: + mark_sampler_desc(nir_deref_instr_get_variable(nir_src_as_deref(instr->src[i].src)), info); + break; + case nir_tex_src_sampler_deref: + mark_sampler_desc(nir_deref_instr_get_variable(nir_src_as_deref(instr->src[i].src)), info); + break; + default: + break; + } + } + if (instr->sampler) mark_sampler_desc(instr->sampler->var, info); if (instr->texture) |