anv/device: Fix max buffer range limits
Set limits that are consistent with ISL's assertions in isl_genX(buffer_fill_state_s)() and Anvil's format-DescriptorType mapping in anv_isl_format_for_descriptor_type(). Fixes the following new crucible tests: * stress.limits.buffer-update.range.uniform * stress.limits.buffer-update.range.storage These tests are in this patch: https://patchwork.freedesktop.org/patch/98726/ Cc: 12.0 <mesa-stable@lists.freedesktop.org> Signed-off-by: Nanley Chery <nanley.g.chery@intel.com> Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
This commit is contained in:
@@ -438,6 +438,10 @@ void anv_GetPhysicalDeviceProperties(
|
||||
|
||||
const float time_stamp_base = devinfo->gen >= 9 ? 83.333 : 80.0;
|
||||
|
||||
/* See assertions made when programming the buffer surface state. */
|
||||
const uint32_t max_raw_buffer_sz = devinfo->gen >= 7 ?
|
||||
(1ul << 30) : (1ul << 27);
|
||||
|
||||
VkSampleCountFlags sample_counts =
|
||||
isl_device_get_sample_counts(&pdevice->isl_dev);
|
||||
|
||||
@@ -448,8 +452,8 @@ void anv_GetPhysicalDeviceProperties(
|
||||
.maxImageDimensionCube = (1 << 14),
|
||||
.maxImageArrayLayers = (1 << 11),
|
||||
.maxTexelBufferElements = 128 * 1024 * 1024,
|
||||
.maxUniformBufferRange = UINT32_MAX,
|
||||
.maxStorageBufferRange = UINT32_MAX,
|
||||
.maxUniformBufferRange = (1ul << 27),
|
||||
.maxStorageBufferRange = max_raw_buffer_sz,
|
||||
.maxPushConstantsSize = MAX_PUSH_CONSTANTS_SIZE,
|
||||
.maxMemoryAllocationCount = UINT32_MAX,
|
||||
.maxSamplerAllocationCount = 64 * 1024,
|
||||
|
||||
Reference in New Issue
Block a user