u_blitter: only set texcoord.w to sample for multisample sources

Since the change to use TXF instead of TXF_LZ, TXF takes sample
or lod on the final component, whereas before with TXF_LZ the
lod was ignored.

Don't pass in a sample if the input texture isn't multisampled.

KHR-GL46.packed_depth_stencil.blit.depth32f_stencil8
on nvk/zink

Fixes: 9440c0e1614a ("gallium/u_blitter: stop emitting TEX_LZ")
Reviewed-by: Marek Olšák <maraeo@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41628>
This commit is contained in:
Dave Airlie 2026-05-18 06:19:41 +10:00 committed by Marge Bot
parent 98157f78b3
commit b38df2d62d
3 changed files with 4 additions and 8 deletions

View file

@ -869,7 +869,8 @@ static void get_texcoords(struct pipe_sampler_view *src,
case PIPE_TEXTURE_2D_ARRAY:
out->texcoord.z = layer;
out->texcoord.w = sample;
if (util_res_sample_count(src->texture) > 1)
out->texcoord.w = sample;
break;
case PIPE_TEXTURE_CUBE_ARRAY:
@ -877,7 +878,8 @@ static void get_texcoords(struct pipe_sampler_view *src,
break;
case PIPE_TEXTURE_2D:
out->texcoord.w = sample;
if (util_res_sample_count(src->texture) > 1)
out->texcoord.w = sample;
break;
default:;

View file

@ -2,9 +2,6 @@ dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_sample.n
dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_sample.non_multisample_buffer.sample_n_singlesample_rbo,Fail
dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_sample.non_multisample_buffer.sample_n_singlesample_texture,Fail
KHR-GL46.packed_depth_stencil.blit.depth24_stencil8,Fail
KHR-GL46.packed_depth_stencil.blit.depth32f_stencil8,Fail
glx@glx-multi-window-single-context,Fail
glx@glx-swap-pixmap-bad,Fail
glx@glx_arb_sync_control@swapbuffersmsc-divisor-zero,Fail

View file

@ -2,9 +2,6 @@ dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_sample.n
dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_sample.non_multisample_buffer.sample_n_singlesample_rbo,Fail
dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_sample.non_multisample_buffer.sample_n_singlesample_texture,Fail
KHR-GL46.packed_depth_stencil.blit.depth24_stencil8,Fail
KHR-GL46.packed_depth_stencil.blit.depth32f_stencil8,Fail
glx@glx-multi-window-single-context,Fail
glx@glx-swap-pixmap-bad,Fail
glx@glx_arb_sync_control@swapbuffersmsc-divisor-zero,Fail