HLSL: Add better diagnostic when using in/out qualifiers in global scope (#2258)
This commit is contained in:
parent
b56e0e441b
commit
78a3c915a1
4 changed files with 61 additions and 0 deletions
43
Test/baseResults/hlsl.inoutquals.negative.frag.out
Normal file
43
Test/baseResults/hlsl.inoutquals.negative.frag.out
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
hlsl.inoutquals.negative.frag
|
||||
ERROR: 0:1: 'invalid1' : in/out qualifiers are only valid on parameters
|
||||
ERROR: 0:2: 'invalid2' : in/out qualifiers are only valid on parameters
|
||||
ERROR: 0:3: 'invalid3' : in/out qualifiers are only valid on parameters
|
||||
ERROR: 0:4: 'invalid4' : in/out qualifiers are only valid on parameters
|
||||
ERROR: 4 compilation errors. No code generated.
|
||||
|
||||
|
||||
Shader version: 500
|
||||
gl_FragCoord origin is upper left
|
||||
ERROR: node is still EOpNull!
|
||||
0:6 Function Definition: @main( ( temp void)
|
||||
0:6 Function Parameters:
|
||||
0:6 Function Definition: main( ( temp void)
|
||||
0:6 Function Parameters:
|
||||
0:? Sequence
|
||||
0:6 Function Call: @main( ( temp void)
|
||||
0:? Linker Objects
|
||||
0:? 'invalid1' ( in float)
|
||||
0:? 'invalid2' ( inout float)
|
||||
0:? 'invalid3' ( inout float)
|
||||
0:? 'invalid4' ( out float)
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
|
||||
|
||||
Shader version: 500
|
||||
gl_FragCoord origin is upper left
|
||||
ERROR: node is still EOpNull!
|
||||
0:6 Function Definition: @main( ( temp void)
|
||||
0:6 Function Parameters:
|
||||
0:6 Function Definition: main( ( temp void)
|
||||
0:6 Function Parameters:
|
||||
0:? Sequence
|
||||
0:6 Function Call: @main( ( temp void)
|
||||
0:? Linker Objects
|
||||
0:? 'invalid1' ( in float)
|
||||
0:? 'invalid2' ( inout float)
|
||||
0:? 'invalid3' ( inout float)
|
||||
0:? 'invalid4' ( out float)
|
||||
|
||||
SPIR-V is not generated for failed compile or link
|
||||
7
Test/hlsl.inoutquals.negative.frag
Normal file
7
Test/hlsl.inoutquals.negative.frag
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
in float invalid1;
|
||||
in out float invalid2;
|
||||
inout float invalid3;
|
||||
out float invalid4;
|
||||
|
||||
void main() {
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue