mirror of
https://github.com/RPCS3/glslang.git
synced 2024-11-27 21:20:30 +00:00
For GL_NV_geometry_shader_passthrough extension, the Inferred output primitive for ElgTriangles should be ElgTriangleStrip.
Also removed unnecessary relax for GL_NV_geometry_shader_passthrough in link validate
This commit is contained in:
parent
ca042a0ffb
commit
07ef0e4c84
@ -11,6 +11,7 @@ spv.GeometryShaderPassthrough.geom
|
||||
EntryPoint Geometry 4 "main" 10 14
|
||||
ExecutionMode 4 Triangles
|
||||
ExecutionMode 4 Invocations 1
|
||||
ExecutionMode 4 OutputTriangleStrip
|
||||
ExecutionMode 4 OutputVertices 3
|
||||
Source GLSL 450
|
||||
SourceExtension "GL_NV_geometry_shader_passthrough"
|
||||
|
@ -4487,7 +4487,7 @@ void TParseContext::finish()
|
||||
switch (intermediate.getInputPrimitive()) {
|
||||
case ElgPoints: intermediate.setOutputPrimitive(ElgPoints); break;
|
||||
case ElgLines: intermediate.setOutputPrimitive(ElgLineStrip); break;
|
||||
case ElgTriangles: intermediate.setOutputPrimitive(ElgTriangles); break;
|
||||
case ElgTriangles: intermediate.setOutputPrimitive(ElgTriangleStrip); break;
|
||||
default: break;
|
||||
}
|
||||
}
|
||||
|
@ -689,17 +689,9 @@ void TIntermediate::finalCheck(TInfoSink& infoSink, bool keepUncalled)
|
||||
case EShLangGeometry:
|
||||
if (inputPrimitive == ElgNone)
|
||||
error(infoSink, "At least one shader must specify an input layout primitive");
|
||||
if (outputPrimitive == ElgNone
|
||||
#ifdef NV_EXTENSIONS
|
||||
&& !getGeoPassthroughEXT()
|
||||
#endif
|
||||
)
|
||||
if (outputPrimitive == ElgNone)
|
||||
error(infoSink, "At least one shader must specify an output layout primitive");
|
||||
if (vertices == TQualifier::layoutNotSet
|
||||
#ifdef NV_EXTENSIONS
|
||||
&& !getGeoPassthroughEXT()
|
||||
#endif
|
||||
)
|
||||
if (vertices == TQualifier::layoutNotSet)
|
||||
error(infoSink, "At least one shader must specify a layout(max_vertices = value)");
|
||||
break;
|
||||
case EShLangFragment:
|
||||
|
Loading…
Reference in New Issue
Block a user