Commit 5af6306a by Brandon Schade Committed by Commit Bot

Vulkan: Update layer provoking vertex for geometry shaders

Set the GS layer provoking vertex value to GL_LAST_VERTEX_CONVENTION if the provoking vertex extension is enabled. Otherwise, use GL_FIRST_VERTEX_CONVENTION as vulkan follows this convention for provoking vertex. Tests: dEQP-GLES31.functional.geometry_shading.layered.layer_provoking_vertex_* Bug: angleproject:5452 Change-Id: Ie385f3b713486c54114dbfcefd799d180701bb60 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2799033 Commit-Queue: Brandon Schade <b.schade@samsung.com> Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: 's avatarShahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
parent d49f7351
...@@ -925,7 +925,13 @@ void RendererVk::ensureCapsInitialized() const ...@@ -925,7 +925,13 @@ void RendererVk::ensureCapsInitialized() const
mFeatures.supportsTransformFeedbackExtension.enabled && mFeatures.supportsTransformFeedbackExtension.enabled &&
mFeatures.exposeNonConformantExtensionsAndVersions.enabled; mFeatures.exposeNonConformantExtensionsAndVersions.enabled;
mNativeCaps.maxFramebufferLayers = LimitToInt(limitsVk.maxFramebufferLayers); mNativeCaps.maxFramebufferLayers = LimitToInt(limitsVk.maxFramebufferLayers);
mNativeCaps.layerProvokingVertex = GL_LAST_VERTEX_CONVENTION_EXT;
// If the provoking vertex feature is enabled, angle specifies to use
// the "last" convention in order to match GL behavior. Otherwise, use
// "first" as vulkan follows this convention for provoking vertex.
mNativeCaps.layerProvokingVertex = (mFeatures.provokingVertex.enabled)
? GL_LAST_VERTEX_CONVENTION_EXT
: GL_FIRST_VERTEX_CONVENTION_EXT;
mNativeCaps.maxGeometryInputComponents = mNativeCaps.maxGeometryInputComponents =
LimitToInt(limitsVk.maxGeometryInputComponents) - reservedVaryingVectorCount * 4; LimitToInt(limitsVk.maxGeometryInputComponents) - reservedVaryingVectorCount * 4;
......
...@@ -183,7 +183,6 @@ ...@@ -183,7 +183,6 @@
// Geometry shader support: // Geometry shader support:
5430 VULKAN : dEQP-GLES31.functional.geometry_shading.query.primitives_generated_* = FAIL 5430 VULKAN : dEQP-GLES31.functional.geometry_shading.query.primitives_generated_* = FAIL
5452 VULKAN : dEQP-GLES31.functional.geometry_shading.layered.layer_provoking_vertex_* = FAIL
// Tessellation shader support: // Tessellation shader support:
5557 VULKAN : dEQP-GLES31.functional.tessellation.shader_input_output.gl_position_tcs_to_tes = FAIL 5557 VULKAN : dEQP-GLES31.functional.tessellation.shader_input_output.gl_position_tcs_to_tes = FAIL
......
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