Apply memory decorations from GLSL source to the top-level OpVariable. Previously, these decorations would only be applied to individual members. While this is correct behavior, it is more convenient for some front ends to see the decorations (specifically ReadOnly and WriteOnly) applied to the whole variable rather than individual members.
197 lines
9.7 KiB
Text
197 lines
9.7 KiB
Text
hlsl.attributeC11.frag
|
|
Shader version: 500
|
|
gl_FragCoord origin is upper left
|
|
0:? Sequence
|
|
0:20 Function Definition: @main(vf4; ( temp 4-component vector of float)
|
|
0:20 Function Parameters:
|
|
0:20 'input' ( in 4-component vector of float)
|
|
0:? Sequence
|
|
0:21 Branch: Return with expression
|
|
0:21 add ( temp 4-component vector of float)
|
|
0:21 'input' ( in 4-component vector of float)
|
|
0:21 textureFetch ( temp 4-component vector of float)
|
|
0:21 'attach' ( uniform texture2D)
|
|
0:21 vector swizzle ( temp int)
|
|
0:21 Constant:
|
|
0:21 0 (const int)
|
|
0:21 0 (const int)
|
|
0:21 Sequence
|
|
0:21 Constant:
|
|
0:21 0 (const int)
|
|
0:21 direct index ( temp int)
|
|
0:21 Constant:
|
|
0:21 0 (const int)
|
|
0:21 0 (const int)
|
|
0:21 Constant:
|
|
0:21 1 (const int)
|
|
0:20 Function Definition: main( ( temp void)
|
|
0:20 Function Parameters:
|
|
0:? Sequence
|
|
0:20 move second child to first child ( temp 4-component vector of float)
|
|
0:? 'input' ( temp 4-component vector of float)
|
|
0:? 'input' (layout( location=8) in 4-component vector of float)
|
|
0:20 move second child to first child ( temp 4-component vector of float)
|
|
0:? '@entryPointOutput' (layout( location=7) out 4-component vector of float)
|
|
0:20 Function Call: @main(vf4; ( temp 4-component vector of float)
|
|
0:? 'input' ( temp 4-component vector of float)
|
|
0:? Linker Objects
|
|
0:? 'buffer1' (layout( set=0 binding=1 row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 2-component vector of float f} @data})
|
|
0:? 'buffer3' (layout( set=2 binding=3 row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 2-component vector of float f} @data})
|
|
0:? 'attach' ( uniform texture2D)
|
|
0:? 'ci' ( specialization-constant const int)
|
|
0:? 11 (const int)
|
|
0:? 'anon@0' (layout( row_major std430 push_constant) uniform block{layout( row_major std430 offset=0) uniform int a})
|
|
0:? '@entryPointOutput' (layout( location=7) out 4-component vector of float)
|
|
0:? 'input' (layout( location=8) in 4-component vector of float)
|
|
|
|
|
|
Linked fragment stage:
|
|
|
|
|
|
Shader version: 500
|
|
gl_FragCoord origin is upper left
|
|
0:? Sequence
|
|
0:20 Function Definition: @main(vf4; ( temp 4-component vector of float)
|
|
0:20 Function Parameters:
|
|
0:20 'input' ( in 4-component vector of float)
|
|
0:? Sequence
|
|
0:21 Branch: Return with expression
|
|
0:21 add ( temp 4-component vector of float)
|
|
0:21 'input' ( in 4-component vector of float)
|
|
0:21 textureFetch ( temp 4-component vector of float)
|
|
0:21 'attach' ( uniform texture2D)
|
|
0:21 vector swizzle ( temp int)
|
|
0:21 Constant:
|
|
0:21 0 (const int)
|
|
0:21 0 (const int)
|
|
0:21 Sequence
|
|
0:21 Constant:
|
|
0:21 0 (const int)
|
|
0:21 direct index ( temp int)
|
|
0:21 Constant:
|
|
0:21 0 (const int)
|
|
0:21 0 (const int)
|
|
0:21 Constant:
|
|
0:21 1 (const int)
|
|
0:20 Function Definition: main( ( temp void)
|
|
0:20 Function Parameters:
|
|
0:? Sequence
|
|
0:20 move second child to first child ( temp 4-component vector of float)
|
|
0:? 'input' ( temp 4-component vector of float)
|
|
0:? 'input' (layout( location=8) in 4-component vector of float)
|
|
0:20 move second child to first child ( temp 4-component vector of float)
|
|
0:? '@entryPointOutput' (layout( location=7) out 4-component vector of float)
|
|
0:20 Function Call: @main(vf4; ( temp 4-component vector of float)
|
|
0:? 'input' ( temp 4-component vector of float)
|
|
0:? Linker Objects
|
|
0:? 'buffer1' (layout( set=0 binding=1 row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 2-component vector of float f} @data})
|
|
0:? 'buffer3' (layout( set=2 binding=3 row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 2-component vector of float f} @data})
|
|
0:? 'attach' ( uniform texture2D)
|
|
0:? 'ci' ( specialization-constant const int)
|
|
0:? 11 (const int)
|
|
0:? 'anon@0' (layout( row_major std430 push_constant) uniform block{layout( row_major std430 offset=0) uniform int a})
|
|
0:? '@entryPointOutput' (layout( location=7) out 4-component vector of float)
|
|
0:? 'input' (layout( location=8) in 4-component vector of float)
|
|
|
|
Validation failed
|
|
// Module Version 10000
|
|
// Generated by (magic number): 8000b
|
|
// Id's are bound by 51
|
|
|
|
Capability Shader
|
|
1: ExtInstImport "GLSL.std.450"
|
|
MemoryModel Logical GLSL450
|
|
EntryPoint Fragment 4 "main" 33 36
|
|
ExecutionMode 4 OriginUpperLeft
|
|
Source HLSL 500
|
|
Name 4 "main"
|
|
Name 11 "@main(vf4;"
|
|
Name 10 "input"
|
|
Name 16 "attach"
|
|
Name 31 "input"
|
|
Name 33 "input"
|
|
Name 36 "@entryPointOutput"
|
|
Name 37 "param"
|
|
Name 41 "S"
|
|
MemberName 41(S) 0 "f"
|
|
Name 43 "buffer1"
|
|
MemberName 43(buffer1) 0 "@data"
|
|
Name 45 "buffer1"
|
|
Name 46 "buffer3"
|
|
Name 47 "ci"
|
|
Name 48 "pcBuf"
|
|
MemberName 48(pcBuf) 0 "a"
|
|
Name 50 ""
|
|
Decorate 16(attach) Binding 0
|
|
Decorate 16(attach) DescriptorSet 0
|
|
Decorate 16(attach) InputAttachmentIndex 4
|
|
Decorate 33(input) Location 8
|
|
Decorate 36(@entryPointOutput) Location 7
|
|
MemberDecorate 41(S) 0 Offset 0
|
|
Decorate 42 ArrayStride 8
|
|
Decorate 43(buffer1) BufferBlock
|
|
MemberDecorate 43(buffer1) 0 NonWritable
|
|
MemberDecorate 43(buffer1) 0 Offset 0
|
|
Decorate 45(buffer1) NonWritable
|
|
Decorate 45(buffer1) Binding 1
|
|
Decorate 45(buffer1) DescriptorSet 0
|
|
Decorate 46(buffer3) NonWritable
|
|
Decorate 46(buffer3) Binding 3
|
|
Decorate 46(buffer3) DescriptorSet 2
|
|
Decorate 47(ci) SpecId 13
|
|
Decorate 48(pcBuf) Block
|
|
MemberDecorate 48(pcBuf) 0 Offset 0
|
|
2: TypeVoid
|
|
3: TypeFunction 2
|
|
6: TypeFloat 32
|
|
7: TypeVector 6(float) 4
|
|
8: TypePointer Function 7(fvec4)
|
|
9: TypeFunction 7(fvec4) 8(ptr)
|
|
14: TypeImage 6(float) 2D sampled format:Unknown
|
|
15: TypePointer UniformConstant 14
|
|
16(attach): 15(ptr) Variable UniformConstant
|
|
18: TypeInt 32 1
|
|
19: TypeVector 18(int) 2
|
|
20: 18(int) Constant 0
|
|
21: 19(ivec2) ConstantComposite 20 20
|
|
22: TypeInt 32 0
|
|
23: 22(int) Constant 0
|
|
25: 22(int) Constant 1
|
|
32: TypePointer Input 7(fvec4)
|
|
33(input): 32(ptr) Variable Input
|
|
35: TypePointer Output 7(fvec4)
|
|
36(@entryPointOutput): 35(ptr) Variable Output
|
|
40: TypeVector 6(float) 2
|
|
41(S): TypeStruct 40(fvec2)
|
|
42: TypeRuntimeArray 41(S)
|
|
43(buffer1): TypeStruct 42
|
|
44: TypePointer Uniform 43(buffer1)
|
|
45(buffer1): 44(ptr) Variable Uniform
|
|
46(buffer3): 44(ptr) Variable Uniform
|
|
47(ci): 18(int) SpecConstant 11
|
|
48(pcBuf): TypeStruct 18(int)
|
|
49: TypePointer PushConstant 48(pcBuf)
|
|
50: 49(ptr) Variable PushConstant
|
|
4(main): 2 Function None 3
|
|
5: Label
|
|
31(input): 8(ptr) Variable Function
|
|
37(param): 8(ptr) Variable Function
|
|
34: 7(fvec4) Load 33(input)
|
|
Store 31(input) 34
|
|
38: 7(fvec4) Load 31(input)
|
|
Store 37(param) 38
|
|
39: 7(fvec4) FunctionCall 11(@main(vf4;) 37(param)
|
|
Store 36(@entryPointOutput) 39
|
|
Return
|
|
FunctionEnd
|
|
11(@main(vf4;): 7(fvec4) Function None 9
|
|
10(input): 8(ptr) FunctionParameter
|
|
12: Label
|
|
13: 7(fvec4) Load 10(input)
|
|
17: 14 Load 16(attach)
|
|
24: 18(int) CompositeExtract 21 0
|
|
26: 18(int) CompositeExtract 21 1
|
|
27: 7(fvec4) ImageFetch 17 24 Lod 26
|
|
28: 7(fvec4) FAdd 13 27
|
|
ReturnValue 28
|
|
FunctionEnd
|