Mesa (staging/21.0): radv: Only enable sparse features on Polaris and newer.

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Thu Jan 28 18:46:54 UTC 2021


Module: Mesa
Branch: staging/21.0
Commit: 172ae306024024839b766acdf71f5480c02c908e
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=172ae306024024839b766acdf71f5480c02c908e

Author: Timur Kristóf <timur.kristof at gmail.com>
Date:   Thu Jan 21 08:46:17 2021 +0100

radv: Only enable sparse features on Polaris and newer.

On Fiji, the CTS image can cause a hang when these are enabled.
Let's enable them for Polaris and newer only, for now.

Gitlab: #4136
Fixes: 9f43b44bf06c61735dbab7e8e508642315bd93d1
Signed-off-by: Timur Kristóf <timur.kristof at gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8646>
(cherry picked from commit 3c03fa5801ceccd2f9e408cc42f1dfad57b234d9)

---

 .pick_status.json            |  2 +-
 src/amd/vulkan/radv_device.c | 10 +++++-----
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/.pick_status.json b/.pick_status.json
index ad3eec93bb0..c93eb6eb214 100644
--- a/.pick_status.json
+++ b/.pick_status.json
@@ -454,7 +454,7 @@
         "description": "radv: Only enable sparse features on Polaris and newer.",
         "nominated": true,
         "nomination_type": 1,
-        "resolution": 0,
+        "resolution": 1,
         "master_sha": null,
         "because_sha": "9f43b44bf06c61735dbab7e8e508642315bd93d1"
     },
diff --git a/src/amd/vulkan/radv_device.c b/src/amd/vulkan/radv_device.c
index 3feaaeeb8d4..7cd7cd8ca1c 100644
--- a/src/amd/vulkan/radv_device.c
+++ b/src/amd/vulkan/radv_device.c
@@ -1016,9 +1016,9 @@ void radv_GetPhysicalDeviceFeatures(
 		.shaderInt64                              = true,
 		.shaderInt16                              = true,
 		.sparseBinding                            = true,
-		.sparseResidencyBuffer                    = pdevice->rad_info.chip_class >= GFX8,
-		.sparseResidencyImage2D                   = pdevice->rad_info.chip_class >= GFX8,
-		.sparseResidencyAliased                   = pdevice->rad_info.chip_class >= GFX8,
+		.sparseResidencyBuffer                    = pdevice->rad_info.family >= CHIP_POLARIS10,
+		.sparseResidencyImage2D                   = pdevice->rad_info.family >= CHIP_POLARIS10,
+		.sparseResidencyAliased                   = pdevice->rad_info.family >= CHIP_POLARIS10,
 		.variableMultisampleRate                  = true,
 		.shaderResourceMinLod                     = true,
 		.shaderResourceResidency                  = true,
@@ -1665,8 +1665,8 @@ void radv_GetPhysicalDeviceProperties(
 		.deviceType = pdevice->rad_info.has_dedicated_vram ? VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU : VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU,
 		.limits = limits,
 		.sparseProperties = {
-			.residencyNonResidentStrict = pdevice->rad_info.chip_class >= GFX8,
-			.residencyStandard2DBlockShape = pdevice->rad_info.chip_class >= GFX8,
+			.residencyNonResidentStrict = pdevice->rad_info.family >= CHIP_POLARIS10,
+			.residencyStandard2DBlockShape = pdevice->rad_info.family >= CHIP_POLARIS10,
 		},
 	};
 



More information about the mesa-commit mailing list