From fd9f114d5a20aa948282af03d4f45917ecc57a56 Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Wed, 12 Jun 2024 12:23:01 +1000 Subject: [PATCH] draw/texture: handle mip_offset[0] being != 0 for layered textures. When llvmpipe adds on a layer it uses mip_offset[0] for it, so it should still be respected even for multisample. Fixes KHR-GL45.texture_view.view_sampling Fixes: 839045bcc840 ("gallivm/lp: merge sample info into normal info") Reviewed-by: Mike Blumenkrantz Part-of: --- src/gallium/auxiliary/draw/draw_llvm.c | 3 ++- src/gallium/drivers/llvmpipe/ci/llvmpipe-fails.txt | 2 -- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/gallium/auxiliary/draw/draw_llvm.c b/src/gallium/auxiliary/draw/draw_llvm.c index 36ff317c85d..5273814adfc 100644 --- a/src/gallium/auxiliary/draw/draw_llvm.c +++ b/src/gallium/auxiliary/draw/draw_llvm.c @@ -2165,9 +2165,10 @@ draw_llvm_set_mapped_texture(struct draw_context *draw, jit_tex->depth = depth; jit_tex->first_level = first_level; jit_tex->last_level = last_level; - jit_tex->mip_offsets[0] = 0; jit_tex->base = base_ptr; + jit_tex->mip_offsets[0] = 0; if (num_samples > 1) { + jit_tex->mip_offsets[0] = mip_offsets[0]; jit_tex->mip_offsets[LP_JIT_TEXTURE_SAMPLE_STRIDE] = sample_stride; jit_tex->row_stride[0] = row_stride[0]; jit_tex->img_stride[0] = img_stride[0]; diff --git a/src/gallium/drivers/llvmpipe/ci/llvmpipe-fails.txt b/src/gallium/drivers/llvmpipe/ci/llvmpipe-fails.txt index b4c30047742..733af4b9d4e 100644 --- a/src/gallium/drivers/llvmpipe/ci/llvmpipe-fails.txt +++ b/src/gallium/drivers/llvmpipe/ci/llvmpipe-fails.txt @@ -1,5 +1,3 @@ -KHR-GL45.texture_view.view_sampling,Fail - dEQP-GLES31.functional.texture.border_clamp.range_clamp.linear_float_color,Fail dEQP-EGL.functional.robustness.reset_context.shaders.infinite_loop.query_status.compute,Fail