Commit f60823d3 by Shahbaz Youssefi Committed by Commit Bot

Vulkan: Experimentally enable geometry shaders

Partial support for GS was added by jaedon1.lee@samsung.com already. This change enables the extension and adds suppressions for GLES3.1 dEQP tests. Suppressions for KHR GLES3.2 will be updated separately as currently GS shaders in "version 320" fail validation. Bug: angleproject:3571 Change-Id: Ic6ed65554937fd0cce2d0f6ea0ac2eb7e6ed9f10 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2561445Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
parent 4e913d34
......@@ -906,8 +906,9 @@ void RendererVk::ensureCapsInitialized() const
// Geometry shader is optional.
if (mPhysicalDeviceFeatures.geometryShader)
{
// TODO : Remove below comment when http://anglebug.com/3571 will be completed
// mNativeExtensions.geometryShader = true;
// TODO: geometry shader support is incomplete. http://anglebug.com/3571
mNativeExtensions.geometryShader =
getFeatures().exposeNonConformantExtensionsAndVersions.enabled;
mNativeCaps.maxFramebufferLayers = LimitToInt(limitsVk.maxFramebufferLayers);
mNativeCaps.layerProvokingVertex = GL_LAST_VERTEX_CONVENTION_EXT;
......
......@@ -186,6 +186,31 @@
// Cannot create 2D (array) view of 3D texture.
3886 VULKAN : dEQP-GLES31.functional.image_load_store.3d.*layer = FAIL
// Geometry shader support:
5403 VULKAN : dEQP-GLES31.functional.shaders.linkage.es31.geometry.varying.rules.output_different_precision = FAIL
5403 VULKAN : dEQP-GLES31.functional.geometry_shading.* = FAIL
3580 VULKAN : dEQP-GLES31.functional.shaders.linkage.es31.geometry.varying.types.float_struct = SKIP
5404 VULKAN : dEQP-GLES31.functional.geometry_shading.query.primitives_generated* = SKIP
5405 VULKAN : dEQP-GLES31.functional.geometry_shading.basic.*128 = FAIL
5406 VULKAN : dEQP-GLES31.functional.geometry_shading.input.*adjacency* = SKIP
5407 VULKAN : dEQP-GLES31.functional.geometry_shading.layered.* = SKIP
5407 VULKAN : dEQP-GLES31.functional.geometry_shading.instanced.invocation_per_layer* = SKIP
5407 VULKAN : dEQP-GLES31.functional.geometry_shading.instanced.multiple_layers_per_invocation* = SKIP
3571 VULKAN : dEQP-GLES31.functional.geometry_shading.*transform_feedback* = SKIP
3571 VULKAN : dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.*geo* = SKIP
5409 VULKAN : dEQP-GLES31.functional.program_interface_query.*separable_geometry* = FAIL
5409 VULKAN : dEQP-GLES31.functional.program_interface_query.buffer_variable.random.41 = FAIL
5409 VULKAN : dEQP-GLES31.functional.program_interface_query.buffer_variable.random.44 = FAIL
5409 VULKAN : dEQP-GLES31.functional.program_interface_query.buffer_variable.random.48 = FAIL
5409 VULKAN : dEQP-GLES31.functional.program_interface_query.buffer_variable.random.51 = FAIL
5409 VULKAN : dEQP-GLES31.functional.program_interface_query.buffer_variable.random.55 = FAIL
5409 VULKAN : dEQP-GLES31.functional.program_interface_query.uniform.random.41 = FAIL
5409 VULKAN : dEQP-GLES31.functional.program_interface_query.uniform.random.44 = FAIL
5409 VULKAN : dEQP-GLES31.functional.program_interface_query.uniform.random.48 = FAIL
5409 VULKAN : dEQP-GLES31.functional.program_interface_query.uniform.random.51 = FAIL
5409 VULKAN : dEQP-GLES31.functional.program_interface_query.uniform.random.55 = FAIL
////
//// AMD Vulkan expectations
////
......
......@@ -66,6 +66,10 @@
// Incompatible between incomplete texture and sampler format (isampler2D or usampler2D):
3588 VULKAN : KHR-GLES31.core.sample_variables.mask.rgba8*i.* = SKIP
// Geometry shader support
5406 VULKAN : KHR-GLES31.core.draw_indirect.basic-mode-*adjacency = SKIP
3571 VULKAN : KHR-GLES31.core.draw_indirect.negative-xfb = SKIP
////
//// Desktop Vulkan expectations
////
......
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