panvk: Reduce minTexelBufferOffsetAlignment

There are formats that require a 128B alignment but they're compressed
and not allowed for texel buffers.  The biggest texel size we can have
for a texel buffer is RGBA32, which is 16B.  The only reason why we
needed the large alignment was to work around a bug in the way we were
turning texel buffers into attribute descriptors on Bifrost.  That bug
is now fixed so we can reduce to a reasonable alignment requiremdnt.

Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com>
Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com>
Reviewed-by: Lorenzo Rossi <lorenzo.rossi@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40576>
This commit is contained in:
Faith Ekstrand 2026-03-23 14:23:44 -04:00 committed by Marge Bot
parent 8471a90eb4
commit 813e399803

View file

@ -841,8 +841,8 @@ panvk_per_arch(get_physical_device_properties)(
.viewportSubPixelBits = 0,
/* Align on a page. */
.minMemoryMapAlignment = os_page_size,
/* Some compressed texture formats require 128-byte alignment. */
.minTexelBufferOffsetAlignment = 64,
/* The largest buffer texture format is 16B */
.minTexelBufferOffsetAlignment = 16,
/* Always aligned on a uniform slot (vec4). */
.minUniformBufferOffsetAlignment = 16,
/* Lowered to global accesses, which happen at the 32-bit granularity. */
@ -1057,8 +1057,8 @@ panvk_per_arch(get_physical_device_properties)(
.integerDotProductAccumulatingSaturating64BitUnsignedAccelerated = false,
.integerDotProductAccumulatingSaturating64BitSignedAccelerated = false,
.integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated = false,
.storageTexelBufferOffsetAlignmentBytes = 64,
.storageTexelBufferOffsetSingleTexelAlignment = false,
.storageTexelBufferOffsetAlignmentBytes = 16,
.storageTexelBufferOffsetSingleTexelAlignment = true,
.uniformTexelBufferOffsetAlignmentBytes = 4,
.uniformTexelBufferOffsetSingleTexelAlignment = true,
.maxBufferSize = PANVK_MAX_BUFFER_SIZE,