From 54412afadc395238572fd6460887eb0b48ff3f6e Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Mon, 25 Apr 2022 17:40:34 -0400 Subject: [PATCH] pan/bi: Handle texture offset + index Fixes dEQP-VK.glsl.opaque_type_indexing.sampler.uniform.vertex.sampler1d Signed-off-by: Alyssa Rosenzweig Reviewed-by: Jason Ekstrand Part-of: --- src/panfrost/bifrost/bifrost_compile.c | 9 +++++++-- src/panfrost/ci/deqp-panfrost-g52-vk.toml | 1 + 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/panfrost/bifrost/bifrost_compile.c b/src/panfrost/bifrost/bifrost_compile.c index 8c975fccc23..76436907469 100644 --- a/src/panfrost/bifrost/bifrost_compile.c +++ b/src/panfrost/bifrost/bifrost_compile.c @@ -3137,12 +3137,17 @@ bi_emit_texc(bi_builder *b, nir_tex_instr *instr) break; case nir_tex_src_texture_offset: - assert(instr->texture_index == 0); + if (instr->texture_index) + index = bi_iadd_u32(b, index, bi_imm_u32(instr->texture_index), false); + dregs[BIFROST_TEX_DREG_TEXTURE] = index; + break; case nir_tex_src_sampler_offset: - assert(instr->sampler_index == 0); + if (instr->sampler_index) + index = bi_iadd_u32(b, index, bi_imm_u32(instr->sampler_index), false); + dregs[BIFROST_TEX_DREG_SAMPLER] = index; break; diff --git a/src/panfrost/ci/deqp-panfrost-g52-vk.toml b/src/panfrost/ci/deqp-panfrost-g52-vk.toml index c2220874daf..0ca070ba955 100644 --- a/src/panfrost/ci/deqp-panfrost-g52-vk.toml +++ b/src/panfrost/ci/deqp-panfrost-g52-vk.toml @@ -18,6 +18,7 @@ include = [ "dEQP-VK.glsl.builtin.precision.ldexp.*", "dEQP-VK.glsl.builtin_var.*", "dEQP-VK.glsl.indexing.varying_array.*", + "dEQP-VK.glsl.opaque_type_indexing.sampler.*", "dEQP-VK.glsl.conversions.*", "dEQP-VK.glsl.derivate.*.constant.*", "dEQP-VK.glsl.derivate.*.linear.*",