Merge pull request #2185 from KhronosGroup/perprimitive-fix

GLSL: Require mesh shader when using perprimitiveEXT in frag shader.
This commit is contained in:
Hans-Kristian Arntzen 2023-08-17 13:50:22 +02:00 committed by GitHub
commit e7e2e8cef0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 25 additions and 1 deletions

View File

@ -0,0 +1,11 @@
#version 450
#extension GL_EXT_mesh_shader : require
layout(location = 0) out vec4 FragColor;
layout(location = 0) flat perprimitiveEXT in uvec4 v;
void main()
{
FragColor = vec4(v);
}

View File

@ -0,0 +1,10 @@
#version 450
#extension GL_EXT_mesh_shader : require
layout(location = 0) perprimitiveEXT flat in uvec4 v;
layout(location = 0) out vec4 FragColor;
void main()
{
FragColor = vec4(v);
}

View File

@ -1295,7 +1295,10 @@ string CompilerGLSL::to_interpolation_qualifiers(const Bitset &flags)
if (flags.get(DecorationInvariant) && (options.es || options.version >= 120))
res += "invariant ";
if (flags.get(DecorationPerPrimitiveEXT))
res += "perprimitiveEXT ";
{
res += "perprimitiveEXT ";
require_extension_internal("GL_EXT_mesh_shader");
}
if (flags.get(DecorationExplicitInterpAMD))
{