ac/nir: Fix nir_texop_lod on GFX for 1D arrays.
Fixes: 1bcb953e16
'radv: handle GFX9 1D textures'
Reviewed-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
parent
da9c3cd3ee
commit
2c5b43c87f
|
@ -4747,7 +4747,9 @@ static void visit_tex(struct ac_nir_context *ctx, nir_tex_instr *instr)
|
||||||
filler = LLVMConstReal(ctx->ac.f32, 0.5);
|
filler = LLVMConstReal(ctx->ac.f32, 0.5);
|
||||||
|
|
||||||
if (instr->sampler_dim == GLSL_SAMPLER_DIM_1D) {
|
if (instr->sampler_dim == GLSL_SAMPLER_DIM_1D) {
|
||||||
if (instr->is_array) {
|
/* No nir_texop_lod, because it does not take a slice
|
||||||
|
* even with array textures. */
|
||||||
|
if (instr->is_array && instr->op != nir_texop_lod ) {
|
||||||
address[count] = address[count - 1];
|
address[count] = address[count - 1];
|
||||||
address[count - 1] = filler;
|
address[count - 1] = filler;
|
||||||
count++;
|
count++;
|
||||||
|
|
Loading…
Reference in New Issue