From 820c636a06d9c5a5a017a1a4525a2121ff7616f3 Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Wed, 29 Jan 2020 10:45:40 +0100 Subject: [PATCH] radv/llvm: enable 8-bit storage features on GFX6-GFX7 It's now supported and all CTS tests pass. Signed-off-by: Samuel Pitoiset Reviewed-by: Bas Nieuwenhuizen Part-of: (cherry picked from commit 7308f2e9121d90de55da57c9e7ec06ff2b2212bc) --- .pick_status.json | 2 +- src/amd/vulkan/radv_device.c | 13 ++++++------- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index 20502b40e08..9725e55a55e 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -2362,7 +2362,7 @@ "description": "radv/llvm: enable 8-bit storage features on GFX6-GFX7", "nominated": false, "nomination_type": null, - "resolution": 4, + "resolution": 1, "master_sha": null, "because_sha": null }, diff --git a/src/amd/vulkan/radv_device.c b/src/amd/vulkan/radv_device.c index 25ec15d297e..add2314bdc8 100644 --- a/src/amd/vulkan/radv_device.c +++ b/src/amd/vulkan/radv_device.c @@ -1082,10 +1082,9 @@ void radv_GetPhysicalDeviceFeatures2( case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES: { VkPhysicalDevice8BitStorageFeatures *features = (VkPhysicalDevice8BitStorageFeatures *)ext; - bool enabled = pdevice->rad_info.chip_class >= GFX8 && !pdevice->use_aco; - features->storageBuffer8BitAccess = enabled; - features->uniformAndStorageBuffer8BitAccess = enabled; - features->storagePushConstant8 = enabled; + features->storageBuffer8BitAccess = !pdevice->use_aco; + features->uniformAndStorageBuffer8BitAccess = !pdevice->use_aco; + features->storagePushConstant8 = !pdevice->use_aco; break; } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES: { @@ -1219,9 +1218,9 @@ void radv_GetPhysicalDeviceFeatures2( (VkPhysicalDeviceVulkan12Features *)ext; features->samplerMirrorClampToEdge = true; features->drawIndirectCount = true; - features->storageBuffer8BitAccess = pdevice->rad_info.chip_class >= GFX8 && !pdevice->use_aco; - features->uniformAndStorageBuffer8BitAccess = pdevice->rad_info.chip_class >= GFX8 && !pdevice->use_aco; - features->storagePushConstant8 = pdevice->rad_info.chip_class >= GFX8 && !pdevice->use_aco; + features->storageBuffer8BitAccess = !pdevice->use_aco; + features->uniformAndStorageBuffer8BitAccess = !pdevice->use_aco; + features->storagePushConstant8 = !pdevice->use_aco; features->shaderBufferInt64Atomics = LLVM_VERSION_MAJOR >= 9; features->shaderSharedInt64Atomics = LLVM_VERSION_MAJOR >= 9; features->shaderFloat16 = pdevice->rad_info.chip_class >= GFX8 && !pdevice->use_aco;