mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-22 11:20:11 +01:00
anv: fixup physical device properties of fragment shading rate
We've only enabled the extension on Gfx11+ so no need to care about
prior values.
Also fixup values of (min|max)FragmentShadingRateAttachmentTexelSize.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes: 231651fd89 ("anv: implement VK_KHR_fragment_shading_rate")
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10607>
This commit is contained in:
parent
1bbbdfe590
commit
790ff1ceac
1 changed files with 21 additions and 37 deletions
|
|
@ -2218,43 +2218,27 @@ void anv_GetPhysicalDeviceProperties2(
|
||||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR: {
|
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR: {
|
||||||
VkPhysicalDeviceFragmentShadingRatePropertiesKHR *props =
|
VkPhysicalDeviceFragmentShadingRatePropertiesKHR *props =
|
||||||
(VkPhysicalDeviceFragmentShadingRatePropertiesKHR *)ext;
|
(VkPhysicalDeviceFragmentShadingRatePropertiesKHR *)ext;
|
||||||
if (pdevice->info.ver < 11) {
|
/* Those must be 0 if attachmentFragmentShadingRate is not
|
||||||
props->minFragmentShadingRateAttachmentTexelSize = (VkExtent2D) { 0, 0 };
|
* supported.
|
||||||
props->maxFragmentShadingRateAttachmentTexelSize = (VkExtent2D) { 0, 0 };
|
*/
|
||||||
props->maxFragmentShadingRateAttachmentTexelSizeAspectRatio = 0;
|
props->minFragmentShadingRateAttachmentTexelSize = (VkExtent2D) { 0, 0 };
|
||||||
props->primitiveFragmentShadingRateWithMultipleViewports = false;
|
props->maxFragmentShadingRateAttachmentTexelSize = (VkExtent2D) { 0, 0 };
|
||||||
props->layeredShadingRateAttachments = false;
|
props->maxFragmentShadingRateAttachmentTexelSizeAspectRatio = 0;
|
||||||
props->fragmentShadingRateNonTrivialCombinerOps = true;
|
|
||||||
props->maxFragmentSize = (VkExtent2D) { 1, 1 };
|
props->primitiveFragmentShadingRateWithMultipleViewports = pdevice->info.ver >= 12;
|
||||||
props->maxFragmentSizeAspectRatio = 1;
|
props->layeredShadingRateAttachments = false;
|
||||||
props->maxFragmentShadingRateCoverageSamples = 0;
|
props->fragmentShadingRateNonTrivialCombinerOps = true;
|
||||||
props->maxFragmentShadingRateRasterizationSamples = 0;
|
props->maxFragmentSize = (VkExtent2D) { 4, 4 };
|
||||||
props->fragmentShadingRateWithShaderDepthStencilWrites = false;
|
props->maxFragmentSizeAspectRatio = 4;
|
||||||
props->fragmentShadingRateWithSampleMask = false;
|
props->maxFragmentShadingRateCoverageSamples = 4 * 4;
|
||||||
props->fragmentShadingRateWithShaderSampleMask = false;
|
props->maxFragmentShadingRateRasterizationSamples = VK_SAMPLE_COUNT_16_BIT;
|
||||||
props->fragmentShadingRateWithConservativeRasterization = true;
|
props->fragmentShadingRateWithShaderDepthStencilWrites = false;
|
||||||
props->fragmentShadingRateWithFragmentShaderInterlock = false;
|
props->fragmentShadingRateWithSampleMask = true;
|
||||||
props->fragmentShadingRateWithCustomSampleLocations = false;
|
props->fragmentShadingRateWithShaderSampleMask = false;
|
||||||
props->fragmentShadingRateStrictMultiplyCombiner = false;
|
props->fragmentShadingRateWithConservativeRasterization = true;
|
||||||
} else {
|
props->fragmentShadingRateWithFragmentShaderInterlock = true;
|
||||||
props->minFragmentShadingRateAttachmentTexelSize = (VkExtent2D) { 1, 1 };
|
props->fragmentShadingRateWithCustomSampleLocations = true;
|
||||||
props->maxFragmentShadingRateAttachmentTexelSize = (VkExtent2D) { 4, 4 };
|
props->fragmentShadingRateStrictMultiplyCombiner = false;
|
||||||
props->maxFragmentShadingRateAttachmentTexelSizeAspectRatio = 0;
|
|
||||||
props->primitiveFragmentShadingRateWithMultipleViewports = pdevice->info.ver >= 12;
|
|
||||||
props->layeredShadingRateAttachments = false;
|
|
||||||
props->fragmentShadingRateNonTrivialCombinerOps = true;
|
|
||||||
props->maxFragmentSize = (VkExtent2D) { 4, 4 };
|
|
||||||
props->maxFragmentSizeAspectRatio = 4;
|
|
||||||
props->maxFragmentShadingRateCoverageSamples = 4 * 4;
|
|
||||||
props->maxFragmentShadingRateRasterizationSamples = VK_SAMPLE_COUNT_16_BIT;
|
|
||||||
props->fragmentShadingRateWithShaderDepthStencilWrites = false;
|
|
||||||
props->fragmentShadingRateWithSampleMask = true;
|
|
||||||
props->fragmentShadingRateWithShaderSampleMask = false;
|
|
||||||
props->fragmentShadingRateWithConservativeRasterization = true;
|
|
||||||
props->fragmentShadingRateWithFragmentShaderInterlock = true;
|
|
||||||
props->fragmentShadingRateWithCustomSampleLocations = true;
|
|
||||||
props->fragmentShadingRateStrictMultiplyCombiner = false;
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue