glslang-zig/Test/baseResults/spv.8bitstorage-ubo.vert.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

57 lines
2.7 KiB
Text

spv.8bitstorage-ubo.vert
// Module Version 10000
// Generated by (magic number): 8000b
// Id's are bound by 29
Capability Shader
Capability UniformAndStorageBuffer8BitAccess
Extension "SPV_KHR_8bit_storage"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Vertex 4 "main" 9 20
Source GLSL 450
SourceExtension "GL_EXT_shader_8bit_storage"
Name 4 "main"
Name 9 "color"
Name 14 "Vertices"
MemberName 14(Vertices) 0 "vertices"
Name 16 ""
Name 20 "gl_VertexIndex"
Decorate 9(color) Location 0
Decorate 13 ArrayStride 16
Decorate 14(Vertices) Block
MemberDecorate 14(Vertices) 0 Offset 0
Decorate 16 NonWritable
Decorate 16 Binding 0
Decorate 16 DescriptorSet 0
Decorate 20(gl_VertexIndex) BuiltIn VertexIndex
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeVector 6(float) 4
8: TypePointer Output 7(fvec4)
9(color): 8(ptr) Variable Output
10: TypeInt 8 0
11: TypeInt 32 0
12: 11(int) Constant 512
13: TypeArray 10(int8_t) 12
14(Vertices): TypeStruct 13
15: TypePointer Uniform 14(Vertices)
16: 15(ptr) Variable Uniform
17: TypeInt 32 1
18: 17(int) Constant 0
19: TypePointer Input 17(int)
20(gl_VertexIndex): 19(ptr) Variable Input
22: TypePointer Uniform 10(int8_t)
4(main): 2 Function None 3
5: Label
21: 17(int) Load 20(gl_VertexIndex)
23: 22(ptr) AccessChain 16 18 21
24: 10(int8_t) Load 23
25: 11(int) UConvert 24
26: 17(int) Bitcast 25
27: 6(float) ConvertSToF 26
28: 7(fvec4) CompositeConstruct 27 27 27 27
Store 9(color) 28
Return
FunctionEnd