glslang-zig/Test/baseResults/hlsl.attributeC11.frag.out
Matthew Moulton 5073d93ec4
Apply GLSL memory decorations to top-level OpVariable
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.
2024-08-28 17:46:16 -04:00

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