
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.
285 lines
16 KiB
Plaintext
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
|