mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-04-21 09:50:36 +02:00
radv: fix VRS limit when attachmentFragmentShadingRate is disabled
Can be reproduced on GFX10.3 with RADV_DEBUG=nohiz. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19374>
This commit is contained in:
parent
e97edac66d
commit
d172fc1fca
1 changed files with 15 additions and 5 deletions
|
|
@ -386,6 +386,13 @@ radv_perf_query_supported(const struct radv_physical_device *pdev)
|
|||
return pdev->rad_info.gfx_level == GFX10_3 && !radv_thread_trace_enabled();
|
||||
}
|
||||
|
||||
static bool
|
||||
radv_vrs_attachment_enabled(const struct radv_physical_device *pdevice)
|
||||
{
|
||||
return !(pdevice->instance->debug_flags & RADV_DEBUG_NO_HIZ) &&
|
||||
pdevice->rad_info.gfx_level < GFX11; /* TODO: VRS no longer uses HTILE. */
|
||||
}
|
||||
|
||||
static bool
|
||||
radv_taskmesh_enabled(const struct radv_physical_device *pdevice)
|
||||
{
|
||||
|
|
@ -1619,9 +1626,7 @@ radv_GetPhysicalDeviceFeatures2(VkPhysicalDevice physicalDevice,
|
|||
(VkPhysicalDeviceFragmentShadingRateFeaturesKHR *)ext;
|
||||
features->pipelineFragmentShadingRate = true;
|
||||
features->primitiveFragmentShadingRate = true;
|
||||
features->attachmentFragmentShadingRate =
|
||||
!(pdevice->instance->debug_flags & RADV_DEBUG_NO_HIZ) &&
|
||||
pdevice->rad_info.gfx_level < GFX11; /* TODO: VRS no longer uses HTILE. */
|
||||
features->attachmentFragmentShadingRate = radv_vrs_attachment_enabled(pdevice);
|
||||
break;
|
||||
}
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR: {
|
||||
|
|
@ -2472,8 +2477,13 @@ radv_GetPhysicalDeviceProperties2(VkPhysicalDevice physicalDevice,
|
|||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR: {
|
||||
VkPhysicalDeviceFragmentShadingRatePropertiesKHR *props =
|
||||
(VkPhysicalDeviceFragmentShadingRatePropertiesKHR *)ext;
|
||||
props->minFragmentShadingRateAttachmentTexelSize = (VkExtent2D){8, 8};
|
||||
props->maxFragmentShadingRateAttachmentTexelSize = (VkExtent2D){8, 8};
|
||||
if (radv_vrs_attachment_enabled(pdevice)) {
|
||||
props->minFragmentShadingRateAttachmentTexelSize = (VkExtent2D){8, 8};
|
||||
props->maxFragmentShadingRateAttachmentTexelSize = (VkExtent2D){8, 8};
|
||||
} else {
|
||||
props->minFragmentShadingRateAttachmentTexelSize = (VkExtent2D){0, 0};
|
||||
props->maxFragmentShadingRateAttachmentTexelSize = (VkExtent2D){0, 0};
|
||||
}
|
||||
props->maxFragmentShadingRateAttachmentTexelSizeAspectRatio = 1;
|
||||
props->primitiveFragmentShadingRateWithMultipleViewports = true;
|
||||
props->layeredShadingRateAttachments = false; /* TODO */
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue