radv: advertise VK_KHR_fragment_shading_rate on GFX10.3+
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/7837>
This commit is contained in:

committed by
Marge Bot

parent
77343576eb
commit
a791c1f3a7
@@ -6,3 +6,4 @@ driconf: remove glx_disable_oml_sync_control, glx_disable_sgi_video_sync, and gl
|
||||
Removed support for loading DRI drivers older than Mesa 8.0, including all DRI1 support
|
||||
Add support for VK_VALVE_mutable_descriptor_type on RADV
|
||||
Removed classic OSMesa in favor of the newly improved gallium OSMesa
|
||||
VK_KHR_fragment_shading_rate on RADV (RDNA2 only)
|
||||
|
@@ -1466,6 +1466,14 @@ void radv_GetPhysicalDeviceFeatures2(
|
||||
features->mutableDescriptorType = true;
|
||||
break;
|
||||
}
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR: {
|
||||
VkPhysicalDeviceFragmentShadingRateFeaturesKHR *features =
|
||||
(VkPhysicalDeviceFragmentShadingRateFeaturesKHR *)ext;
|
||||
features->pipelineFragmentShadingRate = true;
|
||||
features->primitiveFragmentShadingRate = true;
|
||||
features->attachmentFragmentShadingRate = false; /* TODO */
|
||||
break;
|
||||
}
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@@ -2128,6 +2136,32 @@ void radv_GetPhysicalDeviceProperties2(
|
||||
props->maxCustomBorderColorSamplers = RADV_BORDER_COLOR_COUNT;
|
||||
break;
|
||||
}
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR: {
|
||||
VkPhysicalDeviceFragmentShadingRatePropertiesKHR *props =
|
||||
(VkPhysicalDeviceFragmentShadingRatePropertiesKHR *)ext;
|
||||
props->minFragmentShadingRateAttachmentTexelSize = (VkExtent2D) { 0, 0 };
|
||||
props->maxFragmentShadingRateAttachmentTexelSize = (VkExtent2D) { 0, 0 };
|
||||
props->maxFragmentShadingRateAttachmentTexelSizeAspectRatio = 0;
|
||||
props->primitiveFragmentShadingRateWithMultipleViewports = true;
|
||||
props->layeredShadingRateAttachments = false;
|
||||
props->fragmentShadingRateNonTrivialCombinerOps = true;
|
||||
props->maxFragmentSize = (VkExtent2D) { 2, 2 };
|
||||
props->maxFragmentSizeAspectRatio = 1;
|
||||
props->maxFragmentShadingRateCoverageSamples = 1;
|
||||
props->maxFragmentShadingRateRasterizationSamples =
|
||||
VK_SAMPLE_COUNT_1_BIT |
|
||||
VK_SAMPLE_COUNT_2_BIT |
|
||||
VK_SAMPLE_COUNT_4_BIT |
|
||||
VK_SAMPLE_COUNT_8_BIT;
|
||||
props->fragmentShadingRateWithShaderDepthStencilWrites = false;
|
||||
props->fragmentShadingRateWithSampleMask = true;
|
||||
props->fragmentShadingRateWithShaderSampleMask = false;
|
||||
props->fragmentShadingRateWithConservativeRasterization = true;
|
||||
props->fragmentShadingRateWithFragmentShaderInterlock = false;
|
||||
props->fragmentShadingRateWithCustomSampleLocations = true;
|
||||
props->fragmentShadingRateStrictMultiplyCombiner = true;
|
||||
break;
|
||||
}
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
@@ -78,7 +78,7 @@ EXTENSIONS = [
|
||||
Extension('VK_KHR_external_semaphore', 1, 'device->rad_info.has_syncobj'),
|
||||
Extension('VK_KHR_external_semaphore_capabilities', 1, True),
|
||||
Extension('VK_KHR_external_semaphore_fd', 1, 'device->rad_info.has_syncobj'),
|
||||
Extension('VK_KHR_fragment_shading_rate', 1, False),
|
||||
Extension('VK_KHR_fragment_shading_rate', 1, 'device->rad_info.chip_class >= GFX10_3'),
|
||||
Extension('VK_KHR_get_display_properties2', 1, 'VK_USE_PLATFORM_DISPLAY_KHR'),
|
||||
Extension('VK_KHR_get_memory_requirements2', 1, True),
|
||||
Extension('VK_KHR_get_physical_device_properties2', 1, True),
|
||||
|
Reference in New Issue
Block a user