glslang-zig/Test/baseResults/hlsl.texturebuffer.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

156 lines
8.9 KiB
Text

hlsl.texturebuffer.frag
Shader version: 500
gl_FragCoord origin is upper left
0:? Sequence
0:15 Function Definition: @main(vf4; ( temp 4-component vector of float)
0:15 Function Parameters:
0:15 'pos' ( in 4-component vector of float)
0:? Sequence
0:16 Branch: Return with expression
0:16 add ( temp 4-component vector of float)
0:16 f: direct index for structure (layout( row_major std430) buffer 4-component vector of float)
0:16 'TextureBuffer_var' (layout( binding=0 row_major std430) readonly buffer block{layout( row_major std430) buffer 4-component vector of float f, layout( row_major std430) buffer 4-component vector of int i})
0:16 Constant:
0:16 0 (const int)
0:16 f2: direct index for structure (layout( row_major std430) buffer 4-component vector of float)
0:16 'anon@0' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer 4-component vector of float f2, layout( row_major std430) buffer 4-component vector of int i2})
0:16 Constant:
0:16 0 (const uint)
0:15 Function Definition: main( ( temp void)
0:15 Function Parameters:
0:? Sequence
0:15 move second child to first child ( temp 4-component vector of float)
0:? 'pos' ( temp 4-component vector of float)
0:? 'pos' ( in 4-component vector of float FragCoord)
0:15 move second child to first child ( temp 4-component vector of float)
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:15 Function Call: @main(vf4; ( temp 4-component vector of float)
0:? 'pos' ( temp 4-component vector of float)
0:? Linker Objects
0:? 'TextureBuffer_var' (layout( binding=0 row_major std430) readonly buffer block{layout( row_major std430) buffer 4-component vector of float f, layout( row_major std430) buffer 4-component vector of int i})
0:? 'anon@0' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer 4-component vector of float f2, layout( row_major std430) buffer 4-component vector of int i2})
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:? 'pos' ( in 4-component vector of float FragCoord)
Linked fragment stage:
Shader version: 500
gl_FragCoord origin is upper left
0:? Sequence
0:15 Function Definition: @main(vf4; ( temp 4-component vector of float)
0:15 Function Parameters:
0:15 'pos' ( in 4-component vector of float)
0:? Sequence
0:16 Branch: Return with expression
0:16 add ( temp 4-component vector of float)
0:16 f: direct index for structure (layout( row_major std430) buffer 4-component vector of float)
0:16 'TextureBuffer_var' (layout( binding=0 row_major std430) readonly buffer block{layout( row_major std430) buffer 4-component vector of float f, layout( row_major std430) buffer 4-component vector of int i})
0:16 Constant:
0:16 0 (const int)
0:16 f2: direct index for structure (layout( row_major std430) buffer 4-component vector of float)
0:16 'anon@0' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer 4-component vector of float f2, layout( row_major std430) buffer 4-component vector of int i2})
0:16 Constant:
0:16 0 (const uint)
0:15 Function Definition: main( ( temp void)
0:15 Function Parameters:
0:? Sequence
0:15 move second child to first child ( temp 4-component vector of float)
0:? 'pos' ( temp 4-component vector of float)
0:? 'pos' ( in 4-component vector of float FragCoord)
0:15 move second child to first child ( temp 4-component vector of float)
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:15 Function Call: @main(vf4; ( temp 4-component vector of float)
0:? 'pos' ( temp 4-component vector of float)
0:? Linker Objects
0:? 'TextureBuffer_var' (layout( binding=0 row_major std430) readonly buffer block{layout( row_major std430) buffer 4-component vector of float f, layout( row_major std430) buffer 4-component vector of int i})
0:? 'anon@0' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer 4-component vector of float f2, layout( row_major std430) buffer 4-component vector of int i2})
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:? 'pos' ( in 4-component vector of float FragCoord)
// Module Version 10000
// Generated by (magic number): 8000b
// Id's are bound by 39
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 32 35
ExecutionMode 4 OriginUpperLeft
Source HLSL 500
Name 4 "main"
Name 11 "@main(vf4;"
Name 10 "pos"
Name 15 "TextureBuffer_var"
MemberName 15(TextureBuffer_var) 0 "f"
MemberName 15(TextureBuffer_var) 1 "i"
Name 17 "TextureBuffer_var"
Name 22 "tbuf2"
MemberName 22(tbuf2) 0 "f2"
MemberName 22(tbuf2) 1 "i2"
Name 24 ""
Name 30 "pos"
Name 32 "pos"
Name 35 "@entryPointOutput"
Name 36 "param"
Decorate 15(TextureBuffer_var) BufferBlock
MemberDecorate 15(TextureBuffer_var) 0 NonWritable
MemberDecorate 15(TextureBuffer_var) 0 Offset 0
MemberDecorate 15(TextureBuffer_var) 1 NonWritable
MemberDecorate 15(TextureBuffer_var) 1 Offset 16
Decorate 17(TextureBuffer_var) NonWritable
Decorate 17(TextureBuffer_var) Binding 0
Decorate 17(TextureBuffer_var) DescriptorSet 0
Decorate 22(tbuf2) BufferBlock
MemberDecorate 22(tbuf2) 0 NonWritable
MemberDecorate 22(tbuf2) 0 Offset 0
MemberDecorate 22(tbuf2) 1 NonWritable
MemberDecorate 22(tbuf2) 1 Offset 16
Decorate 24 NonWritable
Decorate 24 Binding 1
Decorate 24 DescriptorSet 0
Decorate 32(pos) BuiltIn FragCoord
Decorate 35(@entryPointOutput) Location 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)
13: TypeInt 32 1
14: TypeVector 13(int) 4
15(TextureBuffer_var): TypeStruct 7(fvec4) 14(ivec4)
16: TypePointer Uniform 15(TextureBuffer_var)
17(TextureBuffer_var): 16(ptr) Variable Uniform
18: 13(int) Constant 0
19: TypePointer Uniform 7(fvec4)
22(tbuf2): TypeStruct 7(fvec4) 14(ivec4)
23: TypePointer Uniform 22(tbuf2)
24: 23(ptr) Variable Uniform
31: TypePointer Input 7(fvec4)
32(pos): 31(ptr) Variable Input
34: TypePointer Output 7(fvec4)
35(@entryPointOutput): 34(ptr) Variable Output
4(main): 2 Function None 3
5: Label
30(pos): 8(ptr) Variable Function
36(param): 8(ptr) Variable Function
33: 7(fvec4) Load 32(pos)
Store 30(pos) 33
37: 7(fvec4) Load 30(pos)
Store 36(param) 37
38: 7(fvec4) FunctionCall 11(@main(vf4;) 36(param)
Store 35(@entryPointOutput) 38
Return
FunctionEnd
11(@main(vf4;): 7(fvec4) Function None 9
10(pos): 8(ptr) FunctionParameter
12: Label
20: 19(ptr) AccessChain 17(TextureBuffer_var) 18
21: 7(fvec4) Load 20
25: 19(ptr) AccessChain 24 18
26: 7(fvec4) Load 25
27: 7(fvec4) FAdd 21 26
ReturnValue 27
FunctionEnd