Module: Mesa
Branch: master
Commit: 655e8449d0194e8482ec25e914ce7dd7fccb4f97
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=655e8449d0194e8482ec25e914ce7dd7fccb4f97

Author: Samuel Pitoiset <[email protected]>
Date:   Wed Jan 29 14:40:17 2020 +0100

radv/llvm: enable 16-bit storage features on GFX6-GFX7

Should allow to play Doom Eternal on GFX6-GFX7 because the
driver now supports storageBuffer16BitAccess.

It's now supported and all CTS tests pass.

Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/857
Cc: 20.0 <[email protected]>
Signed-off-by: Samuel Pitoiset <[email protected]>
Reviewed-by: Bas Nieuwenhuizen <[email protected]>
Tested-by: Marge Bot 
<https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4339>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4339>

---

 src/amd/vulkan/radv_device.c | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)

diff --git a/src/amd/vulkan/radv_device.c b/src/amd/vulkan/radv_device.c
index 7bbc8be9b3f..f45d86bd3f7 100644
--- a/src/amd/vulkan/radv_device.c
+++ b/src/amd/vulkan/radv_device.c
@@ -1001,11 +1001,10 @@ void radv_GetPhysicalDeviceFeatures2(
                case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES: {
                        VkPhysicalDevice16BitStorageFeatures *features =
                            (VkPhysicalDevice16BitStorageFeatures*)ext;
-                       bool enabled = pdevice->rad_info.chip_class >= GFX8 && 
!pdevice->use_aco;
-                       features->storageBuffer16BitAccess = enabled;
-                       features->uniformAndStorageBuffer16BitAccess = enabled;
-                       features->storagePushConstant16 = enabled;
-                       features->storageInputOutput16 = enabled && 
LLVM_VERSION_MAJOR >= 9;
+                       features->storageBuffer16BitAccess = !pdevice->use_aco;
+                       features->uniformAndStorageBuffer16BitAccess = 
!pdevice->use_aco;
+                       features->storagePushConstant16 = !pdevice->use_aco;
+                       features->storageInputOutput16 = 
pdevice->rad_info.chip_class >= GFX8 && !pdevice->use_aco && LLVM_VERSION_MAJOR 
>= 9;
                        break;
                }
                case 
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES: {
@@ -1220,9 +1219,9 @@ void radv_GetPhysicalDeviceFeatures2(
                case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES: {
                        VkPhysicalDeviceVulkan11Features *features =
                                (VkPhysicalDeviceVulkan11Features *)ext;
-                       features->storageBuffer16BitAccess = 
pdevice->rad_info.chip_class >= GFX8 && !pdevice->use_aco;
-                       features->uniformAndStorageBuffer16BitAccess = 
pdevice->rad_info.chip_class >= GFX8 && !pdevice->use_aco;
-                       features->storagePushConstant16 = 
pdevice->rad_info.chip_class >= GFX8 && !pdevice->use_aco;
+                       features->storageBuffer16BitAccess = !pdevice->use_aco;
+                       features->uniformAndStorageBuffer16BitAccess = 
!pdevice->use_aco;
+                       features->storagePushConstant16 = !pdevice->use_aco;
                        features->storageInputOutput16 = 
pdevice->rad_info.chip_class >= GFX8 && !pdevice->use_aco && LLVM_VERSION_MAJOR 
>= 9;
                        features->multiview = true;
                        features->multiviewGeometryShader = true;

_______________________________________________
mesa-commit mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to