diff --git a/docs/relnotes/new_features.txt b/docs/relnotes/new_features.txt index de628d6a71d..680ae66df8a 100644 --- a/docs/relnotes/new_features.txt +++ b/docs/relnotes/new_features.txt @@ -8,3 +8,4 @@ GL_ARB_texture_filter_minmax on nvc0 (gm200+) GL_ARB_post_depth_coverage on zink VK_KHR_copy_commands2 on lavapipe lavapipe exposes Vulkan 1.1 +VRS attachment on RADV diff --git a/src/amd/ci/deqp-radv-sienna_cichlid-aco-fails.txt b/src/amd/ci/deqp-radv-sienna_cichlid-aco-fails.txt index c43e779dbcd..d21e84f713a 100644 --- a/src/amd/ci/deqp-radv-sienna_cichlid-aco-fails.txt +++ b/src/amd/ci/deqp-radv-sienna_cichlid-aco-fails.txt @@ -130,3 +130,27 @@ dEQP-VK.fragment_shading_rate.fragstencil.dynamic.noattachment.shaderrate.keep.k dEQP-VK.fragment_shading_rate.fragstencil.dynamic.noattachment.shaderrate.keep.keep.256x256.samples8.vs,Fail dEQP-VK.fragment_shading_rate.fragstencil.dynamic.noattachment.shaderrate.replace.keep.151x431.samples8.vs,Fail dEQP-VK.fragment_shading_rate.fragstencil.dynamic.noattachment.shaderrate.replace.keep.256x256.samples8.vs,Fail +dEQP-VK.fragment_shading_rate.fragstencil.dynamic.noattachment.noshaderrate.keep.replace.151x431.samples8.vs,Fail +dEQP-VK.fragment_shading_rate.fragstencil.dynamic.noattachment.noshaderrate.keep.replace.256x256.samples8.vs,Fail +dEQP-VK.fragment_shading_rate.fragstencil.dynamic.noattachment.noshaderrate.replace.replace.151x431.samples8.vs,Fail +dEQP-VK.fragment_shading_rate.fragstencil.dynamic.noattachment.noshaderrate.replace.replace.256x256.samples8.vs,Fail +dEQP-VK.fragment_shading_rate.fragstencil.dynamic.noattachment.shaderrate.keep.replace.151x431.samples8.vs,Fail +dEQP-VK.fragment_shading_rate.fragstencil.dynamic.noattachment.shaderrate.replace.replace.256x256.samples8.vs,Fail +dEQP-VK.fragment_shading_rate.fragstencil.dynamic.noattachment.shaderrate.keep.replace.256x256.samples8.vs,Fail +dEQP-VK.fragment_shading_rate.fragstencil.dynamic.noattachment.shaderrate.replace.replace.151x431.samples8.vs,Fail +dEQP-VK.fragment_shading_rate.fragstencil.dynamic.attachment.noshaderrate.keep.keep.151x431.samples8.vs,Fail +dEQP-VK.fragment_shading_rate.fragstencil.dynamic.attachment.noshaderrate.keep.keep.256x256.samples8.vs,Fail +dEQP-VK.fragment_shading_rate.fragstencil.dynamic.attachment.noshaderrate.replace.keep.151x431.samples8.vs,Fail +dEQP-VK.fragment_shading_rate.fragstencil.dynamic.attachment.noshaderrate.replace.keep.256x256.samples8.vs,Fail +dEQP-VK.fragment_shading_rate.fragstencil.dynamic.attachment.shaderrate.keep.keep.151x431.samples8.vs,Fail +dEQP-VK.fragment_shading_rate.fragstencil.dynamic.attachment.shaderrate.keep.keep.256x256.samples8.vs,Fail +dEQP-VK.fragment_shading_rate.fragstencil.dynamic.attachment.shaderrate.replace.keep.151x431.samples8.vs,Fail +dEQP-VK.fragment_shading_rate.fragstencil.dynamic.attachment.shaderrate.replace.keep.256x256.samples8.vs,Fail +dEQP-VK.fragment_shading_rate.fragstencil.dynamic.attachment.noshaderrate.keep.replace.256x256.samples8.vs,Fail +dEQP-VK.fragment_shading_rate.fragstencil.dynamic.attachment.noshaderrate.replace.replace.151x431.samples8.vs,Fail +dEQP-VK.fragment_shading_rate.fragstencil.dynamic.attachment.noshaderrate.replace.replace.256x256.samples8.vs,Fail +dEQP-VK.fragment_shading_rate.fragstencil.dynamic.attachment.shaderrate.keep.replace.151x431.samples8.vs,Fail +dEQP-VK.fragment_shading_rate.fragstencil.dynamic.attachment.shaderrate.replace.replace.151x431.samples8.vs,Fail +dEQP-VK.fragment_shading_rate.fragstencil.dynamic.attachment.shaderrate.keep.replace.256x256.samples8.vs,Fail +dEQP-VK.fragment_shading_rate.fragstencil.dynamic.attachment.noshaderrate.keep.replace.151x431.samples8.vsœ +dEQP-VK.fragment_shading_rate.fragstencil.dynamic.attachment.shaderrate.replace.replace.256x256.samples8.vs diff --git a/src/amd/vulkan/radv_device.c b/src/amd/vulkan/radv_device.c index 7f2cd74294b..ed11e27f53f 100644 --- a/src/amd/vulkan/radv_device.c +++ b/src/amd/vulkan/radv_device.c @@ -1621,7 +1621,7 @@ radv_GetPhysicalDeviceFeatures2(VkPhysicalDevice physicalDevice, (VkPhysicalDeviceFragmentShadingRateFeaturesKHR *)ext; features->pipelineFragmentShadingRate = true; features->primitiveFragmentShadingRate = true; - features->attachmentFragmentShadingRate = false; /* TODO */ + features->attachmentFragmentShadingRate = true; break; } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR: { @@ -2285,11 +2285,11 @@ radv_GetPhysicalDeviceProperties2(VkPhysicalDevice physicalDevice, 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->minFragmentShadingRateAttachmentTexelSize = (VkExtent2D){8, 8}; + props->maxFragmentShadingRateAttachmentTexelSize = (VkExtent2D){8, 8}; + props->maxFragmentShadingRateAttachmentTexelSizeAspectRatio = 1; props->primitiveFragmentShadingRateWithMultipleViewports = true; - props->layeredShadingRateAttachments = false; + props->layeredShadingRateAttachments = false; /* TODO */ props->fragmentShadingRateNonTrivialCombinerOps = true; props->maxFragmentSize = (VkExtent2D){2, 2}; props->maxFragmentSizeAspectRatio = 1;