* location aliasing
when location aliasing, the aliases sharing the location must have the same underlying numerical type
(floating-point or integer) and the same auxiliary storage and interpolation qualification.
The following case, glslang need report error.
layout(vertices = 1) out;
layout (location = 1, component = 0) in double gohan[];
layout (location = 1, component = 2) in float goten[];
in vec4 vs_tcs[];
out vec4 tcs_tes[];
void main()
{
}
* Need consider the following case: location aliasing with different interpolation qualifier.
33 lines
1.2 KiB
Text
33 lines
1.2 KiB
Text
location_aliasing.tesc
|
|
ERROR: 0:7: 'location' : the aliases sharing the location 1 must be the same basic type and interpolation qualification
|
|
ERROR: 1 compilation errors. No code generated.
|
|
|
|
|
|
Shader version: 430
|
|
Requested GL_ARB_enhanced_layouts
|
|
vertices = 1
|
|
ERROR: node is still EOpNull!
|
|
0:13 Function Definition: main( ( global void)
|
|
0:13 Function Parameters:
|
|
0:? Linker Objects
|
|
0:? 'gohan' (layout( location=1 component=0) in 32-element array of double)
|
|
0:? 'goten' (layout( location=1 component=2) in 32-element array of float)
|
|
0:? 'vs_tcs' ( in 32-element array of 4-component vector of float)
|
|
0:? 'tcs_tes' ( out 1-element array of 4-component vector of float)
|
|
|
|
|
|
Linked tessellation control stage:
|
|
|
|
|
|
Shader version: 430
|
|
Requested GL_ARB_enhanced_layouts
|
|
vertices = 1
|
|
ERROR: node is still EOpNull!
|
|
0:13 Function Definition: main( ( global void)
|
|
0:13 Function Parameters:
|
|
0:? Linker Objects
|
|
0:? 'gohan' (layout( location=1 component=0) in 32-element array of double)
|
|
0:? 'goten' (layout( location=1 component=2) in 32-element array of float)
|
|
0:? 'vs_tcs' ( in 32-element array of 4-component vector of float)
|
|
0:? 'tcs_tes' ( out 1-element array of 4-component vector of float)
|
|
|