dEQP-VK.pipeline.framebuffer_attachment.no_attachments uses
gl_PrimitiveID and therefore requires geometry or tessellation support.
dEQP-VK.pipeline.framebuffer_attachment.no_attachments_ms additionally
uses gl_SampleID which requires sample rate shading support.
Add checks for these features are mark test as NotSupported if
they are not present.
Affects:
dEQP-VK.pipeline.framebuffer_attachment.no_attachments
dEQP-VK.pipeline.framebuffer_attachment.no_attachments_ms
Components: Vulkan
VK-GL-CTS issue: 573
Change-Id: Iff7710287e8c5844bd85982fb532381513ad2123
const VkPhysicalDeviceFeatures features = context.getDeviceFeatures();
if (!features.fragmentStoresAndAtomics)
throw tcu::NotSupportedError("fragmentStoresAndAtomics feature not supported");
+ if (!features.geometryShader && !features.tessellationShader) // Shader uses gl_PrimitiveID
+ throw tcu::NotSupportedError("geometryShader or tessellationShader feature not supported");
+ if (multisample && !features.sampleRateShading) // MS shader uses gl_SampleID
+ throw tcu::NotSupportedError("sampleRateShading feature not supported");
const DeviceInterface& vk = context.getDeviceInterface();
const VkDevice device = context.getDevice();