glslang/Test/baseResults/hlsl.structbuffer.append.fn.frag.out
tgfrerer adfa0938a2
fix error message for hlslGrammar::acceptConstructor
Fix the error message for when an erroneous HLSL constructor statement
is detected.

Prior to this change, such error messages would not show correct file
path and line number information.

Additionally, update test data to account for updated error messages.
2021-05-11 09:42:11 +01:00

285 lines
16 KiB
Plaintext

hlsl.structbuffer.append.fn.frag
Shader version: 500
gl_FragCoord origin is upper left
0:? Sequence
0:8 Function Definition: Fn2(block--vf4[0]1;block--vf4[0]1; ( temp 4-component vector of float)
0:8 Function Parameters:
0:8 'arg_a' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
0:8 'arg_a@count' ( buffer block{layout( row_major std430) buffer uint @count})
0:8 'arg_c' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
0:8 'arg_c@count' ( buffer block{layout( row_major std430) buffer uint @count})
0:? Sequence
0:9 move second child to first child ( temp 4-component vector of float)
0:9 indirect index ( buffer 4-component vector of float)
0:9 @data: direct index for structure ( buffer unsized 1-element array of 4-component vector of float)
0:9 'arg_a' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
0:9 Constant:
0:9 0 (const uint)
0:9 AtomicAdd ( temp uint)
0:9 @count: direct index for structure ( temp uint)
0:9 'arg_a@count' ( buffer block{layout( row_major std430) buffer uint @count})
0:9 Constant:
0:9 0 (const int)
0:9 Constant:
0:9 1 (const uint)
0:9 Constant:
0:9 1.000000
0:9 2.000000
0:9 3.000000
0:9 4.000000
0:10 Branch: Return with expression
0:10 indirect index ( buffer 4-component vector of float)
0:10 @data: direct index for structure ( buffer unsized 1-element array of 4-component vector of float)
0:10 'arg_c' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
0:10 Constant:
0:10 0 (const uint)
0:10 add ( temp uint)
0:10 AtomicAdd ( temp uint)
0:10 @count: direct index for structure ( temp uint)
0:10 'arg_c@count' ( buffer block{layout( row_major std430) buffer uint @count})
0:10 Constant:
0:10 0 (const int)
0:10 Constant:
0:10 4294967295 (const uint)
0:10 Constant:
0:10 -1 (const int)
0:19 Function Definition: @main(u1; ( temp 4-component vector of float)
0:19 Function Parameters:
0:19 'pos' ( in uint)
0:? Sequence
0:22 Branch: Return with expression
0:22 Function Call: Fn2(block--vf4[0]1;block--vf4[0]1; ( temp 4-component vector of float)
0:22 'sbuf_a' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
0:22 'sbuf_a@count' ( buffer block{layout( row_major std430) buffer uint @count})
0:22 'sbuf_c' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
0:22 'sbuf_c@count' ( buffer block{layout( row_major std430) buffer uint @count})
0:19 Function Definition: main( ( temp void)
0:19 Function Parameters:
0:? Sequence
0:19 move second child to first child ( temp uint)
0:? 'pos' ( temp uint)
0:? 'pos' (layout( location=0) flat in uint)
0:19 move second child to first child ( temp 4-component vector of float)
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:19 Function Call: @main(u1; ( temp 4-component vector of float)
0:? 'pos' ( temp uint)
0:? Linker Objects
0:? 'sbuf_a' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
0:? 'sbuf_a@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer uint @count})
0:? 'sbuf_c' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
0:? 'sbuf_c@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer uint @count})
0:? 'sbuf_unused' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:? 'pos' (layout( location=0) flat in uint)
Linked fragment stage:
Shader version: 500
gl_FragCoord origin is upper left
0:? Sequence
0:8 Function Definition: Fn2(block--vf4[0]1;block--vf4[0]1; ( temp 4-component vector of float)
0:8 Function Parameters:
0:8 'arg_a' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
0:8 'arg_a@count' ( buffer block{layout( row_major std430) buffer uint @count})
0:8 'arg_c' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
0:8 'arg_c@count' ( buffer block{layout( row_major std430) buffer uint @count})
0:? Sequence
0:9 move second child to first child ( temp 4-component vector of float)
0:9 indirect index ( buffer 4-component vector of float)
0:9 @data: direct index for structure ( buffer unsized 1-element array of 4-component vector of float)
0:9 'arg_a' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
0:9 Constant:
0:9 0 (const uint)
0:9 AtomicAdd ( temp uint)
0:9 @count: direct index for structure ( temp uint)
0:9 'arg_a@count' ( buffer block{layout( row_major std430) buffer uint @count})
0:9 Constant:
0:9 0 (const int)
0:9 Constant:
0:9 1 (const uint)
0:9 Constant:
0:9 1.000000
0:9 2.000000
0:9 3.000000
0:9 4.000000
0:10 Branch: Return with expression
0:10 indirect index ( buffer 4-component vector of float)
0:10 @data: direct index for structure ( buffer unsized 1-element array of 4-component vector of float)
0:10 'arg_c' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
0:10 Constant:
0:10 0 (const uint)
0:10 add ( temp uint)
0:10 AtomicAdd ( temp uint)
0:10 @count: direct index for structure ( temp uint)
0:10 'arg_c@count' ( buffer block{layout( row_major std430) buffer uint @count})
0:10 Constant:
0:10 0 (const int)
0:10 Constant:
0:10 4294967295 (const uint)
0:10 Constant:
0:10 -1 (const int)
0:19 Function Definition: @main(u1; ( temp 4-component vector of float)
0:19 Function Parameters:
0:19 'pos' ( in uint)
0:? Sequence
0:22 Branch: Return with expression
0:22 Function Call: Fn2(block--vf4[0]1;block--vf4[0]1; ( temp 4-component vector of float)
0:22 'sbuf_a' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
0:22 'sbuf_a@count' ( buffer block{layout( row_major std430) buffer uint @count})
0:22 'sbuf_c' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
0:22 'sbuf_c@count' ( buffer block{layout( row_major std430) buffer uint @count})
0:19 Function Definition: main( ( temp void)
0:19 Function Parameters:
0:? Sequence
0:19 move second child to first child ( temp uint)
0:? 'pos' ( temp uint)
0:? 'pos' (layout( location=0) flat in uint)
0:19 move second child to first child ( temp 4-component vector of float)
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:19 Function Call: @main(u1; ( temp 4-component vector of float)
0:? 'pos' ( temp uint)
0:? Linker Objects
0:? 'sbuf_a' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
0:? 'sbuf_a@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer uint @count})
0:? 'sbuf_c' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
0:? 'sbuf_c@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer uint @count})
0:? 'sbuf_unused' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:? 'pos' (layout( location=0) flat in uint)
Validation failed
// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 70
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 58 61
ExecutionMode 4 OriginUpperLeft
Source HLSL 500
Name 4 "main"
Name 9 ""
MemberName 9 0 "@data"
Name 12 ""
MemberName 12 0 "@count"
Name 19 "Fn2(block--vf4[0]1;block--vf4[0]1;"
Name 15 "arg_a"
Name 16 "arg_a@count"
Name 17 "arg_c"
Name 18 "arg_c@count"
Name 24 "@main(u1;"
Name 23 "pos"
Name 49 "sbuf_a"
Name 50 "sbuf_a@count"
Name 51 "sbuf_c"
Name 52 "sbuf_c@count"
Name 56 "pos"
Name 58 "pos"
Name 61 "@entryPointOutput"
Name 62 "param"
Name 65 "sbuf_a@count"
MemberName 65(sbuf_a@count) 0 "@count"
Name 67 "sbuf_a@count"
Name 68 "sbuf_c@count"
Name 69 "sbuf_unused"
Decorate 8 ArrayStride 16
MemberDecorate 9 0 Offset 0
Decorate 9 BufferBlock
Decorate 12 BufferBlock
Decorate 49(sbuf_a) DescriptorSet 0
Decorate 49(sbuf_a) Binding 0
Decorate 50(sbuf_a@count) DescriptorSet 0
Decorate 50(sbuf_a@count) Binding 0
Decorate 51(sbuf_c) DescriptorSet 0
Decorate 51(sbuf_c) Binding 1
Decorate 52(sbuf_c@count) DescriptorSet 0
Decorate 52(sbuf_c@count) Binding 0
Decorate 58(pos) Flat
Decorate 58(pos) Location 0
Decorate 61(@entryPointOutput) Location 0
MemberDecorate 65(sbuf_a@count) 0 Offset 0
Decorate 65(sbuf_a@count) BufferBlock
Decorate 67(sbuf_a@count) DescriptorSet 0
Decorate 67(sbuf_a@count) Binding 0
Decorate 68(sbuf_c@count) DescriptorSet 0
Decorate 68(sbuf_c@count) Binding 0
Decorate 69(sbuf_unused) DescriptorSet 0
Decorate 69(sbuf_unused) Binding 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeVector 6(float) 4
8: TypeRuntimeArray 7(fvec4)
9: TypeStruct 8
10: TypePointer Uniform 9(struct)
11: TypeInt 32 0
12: TypeStruct 11(int)
13: TypePointer Uniform 12(struct)
14: TypeFunction 7(fvec4) 10(ptr) 13(ptr) 10(ptr) 13(ptr)
21: TypePointer Function 11(int)
22: TypeFunction 7(fvec4) 21(ptr)
26: TypeInt 32 1
27: 26(int) Constant 0
28: TypePointer Uniform 11(int)
30: 11(int) Constant 1
31: 11(int) Constant 0
33: 6(float) Constant 1065353216
34: 6(float) Constant 1073741824
35: 6(float) Constant 1077936128
36: 6(float) Constant 1082130432
37: 7(fvec4) ConstantComposite 33 34 35 36
38: TypePointer Uniform 7(fvec4)
41: 11(int) Constant 4294967295
43: 26(int) Constant 4294967295
49(sbuf_a): 10(ptr) Variable Uniform
50(sbuf_a@count): 13(ptr) Variable Uniform
51(sbuf_c): 10(ptr) Variable Uniform
52(sbuf_c@count): 13(ptr) Variable Uniform
57: TypePointer Input 11(int)
58(pos): 57(ptr) Variable Input
60: TypePointer Output 7(fvec4)
61(@entryPointOutput): 60(ptr) Variable Output
65(sbuf_a@count): TypeStruct 11(int)
66: TypePointer Uniform 65(sbuf_a@count)
67(sbuf_a@count): 66(ptr) Variable Uniform
68(sbuf_c@count): 66(ptr) Variable Uniform
69(sbuf_unused): 10(ptr) Variable Uniform
4(main): 2 Function None 3
5: Label
56(pos): 21(ptr) Variable Function
62(param): 21(ptr) Variable Function
59: 11(int) Load 58(pos)
Store 56(pos) 59
63: 11(int) Load 56(pos)
Store 62(param) 63
64: 7(fvec4) FunctionCall 24(@main(u1;) 62(param)
Store 61(@entryPointOutput) 64
Return
FunctionEnd
19(Fn2(block--vf4[0]1;block--vf4[0]1;): 7(fvec4) Function None 14
15(arg_a): 10(ptr) FunctionParameter
16(arg_a@count): 13(ptr) FunctionParameter
17(arg_c): 10(ptr) FunctionParameter
18(arg_c@count): 13(ptr) FunctionParameter
20: Label
29: 28(ptr) AccessChain 16(arg_a@count) 27
32: 11(int) AtomicIAdd 29 30 31 30
39: 38(ptr) AccessChain 15(arg_a) 27 32
Store 39 37
40: 28(ptr) AccessChain 18(arg_c@count) 27
42: 11(int) AtomicIAdd 40 30 31 41
44: 11(int) IAdd 42 43
45: 38(ptr) AccessChain 17(arg_c) 27 44
46: 7(fvec4) Load 45
ReturnValue 46
FunctionEnd
24(@main(u1;): 7(fvec4) Function None 22
23(pos): 21(ptr) FunctionParameter
25: Label
53: 7(fvec4) FunctionCall 19(Fn2(block--vf4[0]1;block--vf4[0]1;) 49(sbuf_a) 50(sbuf_a@count) 51(sbuf_c) 52(sbuf_c@count)
ReturnValue 53
FunctionEnd