Commit 7354c67b by Shahbaz Youssefi Committed by Commit Bot

Vulkan: Support for geometry shader with max_vertices=0

This is simply done by specifying max_vertices=1. Bug: angleproject:5411 Change-Id: I50318128cca0e96a8b7c7e5d01165b9ef46b4db8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2574823 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: 's avatarTim Van Patten <timvp@google.com>
parent aafe855f
......@@ -1018,9 +1018,14 @@ bool TranslatorVulkan::translateImpl(TIntermBlock *root,
}
else if (getShaderType() == GL_GEOMETRY_SHADER)
{
WriteGeometryShaderLayoutQualifiers(
sink, getGeometryShaderInputPrimitiveType(), getGeometryShaderInvocations(),
getGeometryShaderOutputPrimitiveType(), getGeometryShaderMaxVertices());
int maxVertices = getGeometryShaderMaxVertices();
// max_vertices=0 is not valid in Vulkan
maxVertices = std::max(1, maxVertices);
WriteGeometryShaderLayoutQualifiers(sink, getGeometryShaderInputPrimitiveType(),
getGeometryShaderInvocations(),
getGeometryShaderOutputPrimitiveType(), maxVertices);
}
else
{
......
......@@ -202,7 +202,6 @@
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
5411 VULKAN : dEQP-GLES31.functional.geometry_shading.emit.*_emit_0_end_* = FAIL
// Shader I/O blocks:
// Missing matching of block names with unnamed SSBOs with the same member variable
......
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