From 2919eff8982c17f8dae4010724018bbdd88d25a9 Mon Sep 17 00:00:00 2001 From: Arjob Mukherjee Date: Fri, 17 Apr 2026 13:23:25 +0530 Subject: [PATCH] pvr: increase value of maxPerStageDescriptorStorageBuffers Increase past the minimum required by the Vulkan Spec to fix tests. This was needed due to Zink requirements which splits `maxPerStageDescriptorStorageBuffers` between atomic buffers and `MaxShaderStorageBlocks`. Fixes the following GLES conformance tests: KHR-GLES31.core.compute_shader.resources-max KHR-GLES31.core.draw_indirect.advanced-twoPass-Compute-arrays KHR-GLES31.core.shader_image_load_store.advanced-sync-vertexArray KHR-GLES31.core.shader_image_load_store.basic-allTargets-store-cs KHR-GLES31.core.shader_image_load_store.basic-allTargets-store-fs KHR-GLES31.core.shader_storage_buffer_object.advanced-unsizedArrayLength-cs-int KHR-GLES31.core.shader_storage_buffer_object.basic-stdLayout_UBO_SSBO-case1-cs KHR-GLES31.core.shader_storage_buffer_object.basic-stdLayout_UBO_SSBO-case2-cs dEQP-GLES31.functional.draw_indirect.compute_interop.combined.drawelements_compute_cmd_and_data_and_indices dEQP-GLES31.functional.synchronization.in_invocation.ssbo_alias_overwrite dEQP-GLES31.functional.synchronization.in_invocation.ssbo_alias_write dEQP-GLES31.functional.synchronization.in_invocation.ssbo_atomic_alias_overwrite dEQP-GLES31.functional.synchronization.in_invocation.ssbo_atomic_alias_write dEQP-GLES31.functional.synchronization.inter_call.with_memory_barrier.ssbo_atomic_multiple_write_read dEQP-GLES31.functional.synchronization.inter_call.with_memory_barrier.ssbo_multiple_write_read dEQP-GLES31.functional.synchronization.inter_invocation.ssbo_alias_overwrite dEQP-GLES31.functional.synchronization.inter_invocation.ssbo_alias_write dEQP-GLES31.functional.synchronization.inter_invocation.ssbo_atomic_alias_overwrite dEQP-GLES31.functional.synchronization.inter_invocation.ssbo_atomic_alias_write Backport-to: 26.0 Signed-off-by: Arjob Mukherjee Reviewed-by: Frank Binns (cherry picked from commit 35f57a27396c116fc5e9984ac1254d26b83ad2c4) Part-of: --- .pick_status.json | 2 +- src/imagination/vulkan/pvr_physical_device.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index 852c9a807fc..74f08aa4143 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -864,7 +864,7 @@ "description": "pvr: increase value of maxPerStageDescriptorStorageBuffers", "nominated": true, "nomination_type": 4, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": null, "notes": null diff --git a/src/imagination/vulkan/pvr_physical_device.c b/src/imagination/vulkan/pvr_physical_device.c index 80c2704490f..f4e7101318c 100644 --- a/src/imagination/vulkan/pvr_physical_device.c +++ b/src/imagination/vulkan/pvr_physical_device.c @@ -562,7 +562,7 @@ static bool pvr_physical_device_get_properties( .maxBoundDescriptorSets = 4U, .maxPerStageDescriptorSamplers = 16, .maxPerStageDescriptorUniformBuffers = 12, - .maxPerStageDescriptorStorageBuffers = 4, + .maxPerStageDescriptorStorageBuffers = 8, .maxPerStageDescriptorSampledImages = 16, .maxPerStageDescriptorStorageImages = 4, .maxPerStageDescriptorInputAttachments = 4,