ac/nir: Support deref instructions in tex instructions.

Acked-by: Rob Clark <robdclark@gmail.com>
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Acked-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
This commit is contained in:
Bas Nieuwenhuizen
2018-03-22 00:45:54 +01:00
committed by Jason Ekstrand
parent 9b14eacf0e
commit ca271e266e
2 changed files with 44 additions and 8 deletions

View File

@@ -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)