Enable the sampleRateShading feature

This cl enables the sampleRateShading feature. New test failures caused by enabling sampleRateShading: Tests: dEQP-VK.glsl.builtin_var.fragdepth.* List of affected tests now passing: Tests: dEQP-VK.glsl.builtin_var.fragcoord_msaa.* Tests: dEQP-VK.pipeline.multisample.min_sample_shading.*.samples_4.* Tests: dEQP-VK.pipeline.multisample.mixed_count.* Tests: dEQP-VK.pipeline.multisample.variable_rate.* Tests: dEQP-VK.pipeline.multisample_interpolation.*.samples_4 Tests: dEQP-VK.pipeline.multisample_interpolation.sample_interpolate_at_single_sample.*.samples_1 Tests: dEQP-VK.pipeline.multisample_shader_builtin.*.samples_4 Tests: dEQP-VK.pipeline.multisample_shader_builtin.write_sample_mask.* Tests: dEQP-VK.renderpass.suballocation.sampleread.numsamples_4.* Tests: dEQP-VK.renderpass2.suballocation.sampleread.numsamples_4.* Bug: b/171415086 Change-Id: I1aa50cff9e2fada482ceef594c59641c7243b563 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/51469 Presubmit-Ready: Alexis Hétu <sugoi@google.com> Kokoro-Result: kokoro <noreply+kokoro@google.com> Tested-by: 's avatarAlexis Hétu <sugoi@google.com> Commit-Queue: Alexis Hétu <sugoi@google.com> Reviewed-by: 's avatarNicolas Capens <nicolascapens@google.com>
parent 5ddc80f2
...@@ -413,7 +413,6 @@ GraphicsState::GraphicsState(const Device *device, const VkGraphicsPipelineCreat ...@@ -413,7 +413,6 @@ GraphicsState::GraphicsState(const Device *device, const VkGraphicsPipelineCreat
if(sampleShadingEnable) if(sampleShadingEnable)
{ {
minSampleShading = multisampleState->minSampleShading; minSampleShading = multisampleState->minSampleShading;
UNSUPPORTED("VkPhysicalDeviceFeatures::sampleRateShading");
} }
if(multisampleState->alphaToOneEnable != VK_FALSE) if(multisampleState->alphaToOneEnable != VK_FALSE)
......
...@@ -387,6 +387,7 @@ SpirvShader::SpirvShader( ...@@ -387,6 +387,7 @@ SpirvShader::SpirvShader(
case spv::CapabilityClipDistance: capabilities.ClipDistance = true; break; case spv::CapabilityClipDistance: capabilities.ClipDistance = true; break;
case spv::CapabilityCullDistance: capabilities.CullDistance = true; break; case spv::CapabilityCullDistance: capabilities.CullDistance = true; break;
case spv::CapabilityImageCubeArray: capabilities.ImageCubeArray = true; break; case spv::CapabilityImageCubeArray: capabilities.ImageCubeArray = true; break;
case spv::CapabilitySampleRateShading: capabilities.SampleRateShading = true; break;
case spv::CapabilityInputAttachment: capabilities.InputAttachment = true; break; case spv::CapabilityInputAttachment: capabilities.InputAttachment = true; break;
case spv::CapabilitySampled1D: capabilities.Sampled1D = true; break; case spv::CapabilitySampled1D: capabilities.Sampled1D = true; break;
case spv::CapabilityImage1D: capabilities.Image1D = true; break; case spv::CapabilityImage1D: capabilities.Image1D = true; break;
......
...@@ -574,6 +574,7 @@ public: ...@@ -574,6 +574,7 @@ public:
bool ClipDistance : 1; bool ClipDistance : 1;
bool CullDistance : 1; bool CullDistance : 1;
bool ImageCubeArray : 1; bool ImageCubeArray : 1;
bool SampleRateShading : 1;
bool InputAttachment : 1; bool InputAttachment : 1;
bool Sampled1D : 1; bool Sampled1D : 1;
bool Image1D : 1; bool Image1D : 1;
......
...@@ -51,7 +51,7 @@ const VkPhysicalDeviceFeatures &PhysicalDevice::getFeatures() const ...@@ -51,7 +51,7 @@ const VkPhysicalDeviceFeatures &PhysicalDevice::getFeatures() const
VK_TRUE, // independentBlend VK_TRUE, // independentBlend
VK_FALSE, // geometryShader VK_FALSE, // geometryShader
VK_FALSE, // tessellationShader VK_FALSE, // tessellationShader
VK_FALSE, // sampleRateShading VK_TRUE, // sampleRateShading
VK_FALSE, // dualSrcBlend VK_FALSE, // dualSrcBlend
VK_FALSE, // logicOp VK_FALSE, // logicOp
VK_TRUE, // multiDrawIndirect VK_TRUE, // multiDrawIndirect
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment