KhronosGroup / glslang

Khronos-reference front end for GLSL/ESSL, partial front end for HLSL, and a SPIR-V generator.
Other
2.9k stars 815 forks source link

Location aliasing should allow mismatch in auxiliary qualifier #3598

Closed pmistryNV closed 1 month ago

pmistryNV commented 1 month ago

From GLSL 4.2 and above, following interpolation qualifiers are considered auxiliary: centroid, patch, sample, pervertexNV, pervertexEXT

https://github.com/KhronosGroup/glslang/pull/3438 checks in mismatch of interpolation qualifiers and flags it as an error for location alisasing even if there is only auxiliary qualifier mismatch, However this violates the CTS tests under the category "KHR-Single-GL46.enhanced_layouts.varying_location_aliasing_with_mixed_types" , like the below example.

layout (location = 1, component = 0) centroid flat in int gohan; layout (location = 1, component = 1) flat in ivec3 goten;

This should be fixed in GLSLANG or the spec should be updated to explicitly mention that auxiliary qualifier mismatch is not permitted.

pmistryNV commented 1 month ago

This is NAB, i looked at the CTS tests and it expects auxiliary qualifier mismatch to also fail. Closing this is not a bug.