v3d: apply 1D texture miplevel alignment in arrays

1D texture miplevels are aligned to 64b, but this should include also
texture arrays.

Fixes
`spec@glsl-1.30@execution@texelfetchoffset@vs-texelfetch-usampler1darray`
and several other piglit tests.

CC: mesa-stable
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22775>
(cherry picked from commit c815189112)
This commit is contained in:
Juan A. Suarez Romero 2023-04-30 16:07:34 +02:00 committed by Eric Engestrom
parent 69b024168d
commit 45540ed389
3 changed files with 3 additions and 35 deletions

View file

@ -598,7 +598,7 @@
"description": "v3d: apply 1D texture miplevel alignment in arrays",
"nominated": true,
"nomination_type": 0,
"resolution": 0,
"resolution": 1,
"main_sha": null,
"because_sha": null
},

View file

@ -27,11 +27,6 @@ spec@!opengl 1.1@depthstencil-default_fb-drawpixels-24_8 samples=2,Fail
spec@!opengl 1.1@depthstencil-default_fb-drawpixels-24_8 samples=4,Fail
spec@!opengl 1.1@depthstencil-default_fb-drawpixels-32f_24_8_rev samples=2,Fail
spec@!opengl 1.1@depthstencil-default_fb-drawpixels-float-and-ushort samples=2,Fail
spec@!opengl 1.1@getteximage-depth,Fail
spec@!opengl 1.1@getteximage-depth@GL_TEXTURE_1D_ARRAY-GL_DEPTH_COMPONENT,Fail
spec@!opengl 1.1@getteximage-depth@GL_TEXTURE_1D_ARRAY-GL_DEPTH_COMPONENT16,Fail
spec@!opengl 1.1@getteximage-depth@GL_TEXTURE_1D_ARRAY-GL_DEPTH_COMPONENT24,Fail
spec@!opengl 1.1@getteximage-depth@GL_TEXTURE_1D_ARRAY-GL_DEPTH_COMPONENT32,Fail
spec@!opengl 1.1@getteximage-formats,Fail
spec@!opengl 1.1@linestipple,Fail
spec@!opengl 1.1@linestipple@Factor 2x,Fail
@ -195,33 +190,7 @@ spec@ext_framebuffer_multisample@interpolation 2 centroid-edges,Fail
spec@ext_framebuffer_multisample@interpolation 4 centroid-edges,Fail
spec@ext_framebuffer_object@getteximage-formats init-by-clear-and-render,Fail
spec@ext_framebuffer_object@getteximage-formats init-by-rendering,Fail
spec@ext_gpu_shader4@execution@texelfetch@fs-texelfetch-isampler1darray,Fail
spec@ext_gpu_shader4@execution@texelfetch@fs-texelfetch-sampler1darray,Fail
spec@ext_gpu_shader4@execution@texelfetch@fs-texelfetch-usampler1darray,Fail
spec@ext_gpu_shader4@execution@texelfetch@vs-texelfetch-isampler1darray,Fail
spec@ext_gpu_shader4@execution@texelfetch@vs-texelfetch-sampler1darray,Fail
spec@ext_gpu_shader4@execution@texelfetch@vs-texelfetch-usampler1darray,Fail
spec@ext_gpu_shader4@execution@texelfetchoffset@fs-texelfetch-isampler1darray,Fail
spec@ext_gpu_shader4@execution@texelfetchoffset@fs-texelfetch-sampler1darray,Fail
spec@ext_gpu_shader4@execution@texelfetchoffset@fs-texelfetch-usampler1darray,Fail
spec@ext_gpu_shader4@execution@texelfetchoffset@vs-texelfetch-isampler1darray,Fail
spec@ext_gpu_shader4@execution@texelfetchoffset@vs-texelfetch-sampler1darray,Fail
spec@ext_gpu_shader4@execution@texelfetchoffset@vs-texelfetch-usampler1darray,Fail
spec@ext_gpu_shader4@tex-miplevel-selection gpu4texture() 1darray,Fail
spec@ext_gpu_shader4@tex-miplevel-selection gpu4texture() 1darrayshadow,Fail
spec@ext_gpu_shader4@tex-miplevel-selection gpu4texture() cubeshadow,Fail
spec@ext_gpu_shader4@tex-miplevel-selection gpu4texture(bias) 1darray,Fail
spec@ext_gpu_shader4@tex-miplevel-selection gpu4texture(bias) 1darrayshadow,Fail
spec@ext_gpu_shader4@tex-miplevel-selection gpu4texturegrad 1darray,Fail
spec@ext_gpu_shader4@tex-miplevel-selection gpu4texturegrad 1darrayshadow,Fail
spec@ext_gpu_shader4@tex-miplevel-selection gpu4texturegradoffset 1darray,Fail
spec@ext_gpu_shader4@tex-miplevel-selection gpu4texturegradoffset 1darrayshadow,Fail
spec@ext_gpu_shader4@tex-miplevel-selection gpu4texturelod 1darray,Fail
spec@ext_gpu_shader4@tex-miplevel-selection gpu4texturelod 1darrayshadow,Fail
spec@ext_gpu_shader4@tex-miplevel-selection gpu4texturelodoffset 1darray,Fail
spec@ext_gpu_shader4@tex-miplevel-selection gpu4texturelodoffset 1darrayshadow,Fail
spec@ext_gpu_shader4@tex-miplevel-selection gpu4textureoffset 1darray,Fail
spec@ext_gpu_shader4@tex-miplevel-selection gpu4textureoffset 1darrayshadow,Fail
spec@ext_image_dma_buf_import@ext_image_dma_buf_import-export,Fail
spec@ext_image_dma_buf_import@ext_image_dma_buf_import-refcount,Fail
spec@ext_image_dma_buf_import@ext_image_dma_buf_import-sample_argb8888,Fail
@ -247,8 +216,6 @@ spec@ext_packed_depth_stencil@texwrap formats bordercolor@GL_DEPTH24_STENCIL8- b
spec@ext_packed_depth_stencil@texwrap formats,Fail
spec@ext_packed_depth_stencil@texwrap formats@GL_DEPTH24_STENCIL8- NPOT,Fail
spec@ext_packed_float@query-rgba-signed-components,Fail
spec@ext_texture_array@fbo-generatemipmap-array rgb9_e5,Fail
spec@ext_texture_array@fbo-generatemipmap-array,Fail
spec@ext_texture_integer@getteximage-clamping gl_arb_texture_rg,Fail
spec@ext_texture_integer@getteximage-clamping,Fail
spec@ext_texture_lod_bias@lodbias,Fail

View file

@ -586,7 +586,8 @@ v3d_setup_slices(struct v3d_resource *rsc, uint32_t winsys_stride,
if (!rsc->tiled) {
slice->tiling = V3D_TILING_RASTER;
if (prsc->target == PIPE_TEXTURE_1D)
if (prsc->target == PIPE_TEXTURE_1D ||
prsc->target == PIPE_TEXTURE_1D_ARRAY)
level_width = align(level_width, 64 / rsc->cpp);
} else {
if ((i != 0 || !uif_top) &&