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.
52 lines
2.6 KiB
Text
52 lines
2.6 KiB
Text
spv.specConstant.int8.comp
|
|
// Module Version 10000
|
|
// Generated by (magic number): 8000b
|
|
// Id's are bound by 18
|
|
|
|
Capability Shader
|
|
Capability Int8
|
|
Capability UniformAndStorageBuffer8BitAccess
|
|
Extension "SPV_KHR_8bit_storage"
|
|
1: ExtInstImport "GLSL.std.450"
|
|
MemoryModel Logical GLSL450
|
|
EntryPoint GLCompute 4 "main"
|
|
ExecutionMode 4 LocalSize 1 1 1
|
|
Source GLSL 450
|
|
SourceExtension "GL_EXT_shader_explicit_arithmetic_types_int8"
|
|
Name 4 "main"
|
|
Name 7 "Output"
|
|
MemberName 7(Output) 0 "r0"
|
|
MemberName 7(Output) 1 "r1"
|
|
Name 9 "sb_out"
|
|
Name 12 "sc0"
|
|
Name 16 "sc1"
|
|
Decorate 7(Output) BufferBlock
|
|
MemberDecorate 7(Output) 0 NonReadable
|
|
MemberDecorate 7(Output) 0 Offset 0
|
|
MemberDecorate 7(Output) 1 NonReadable
|
|
MemberDecorate 7(Output) 1 Offset 1
|
|
Decorate 9(sb_out) NonReadable
|
|
Decorate 9(sb_out) Binding 0
|
|
Decorate 9(sb_out) DescriptorSet 0
|
|
Decorate 12(sc0) SpecId 1
|
|
Decorate 16(sc1) SpecId 2
|
|
2: TypeVoid
|
|
3: TypeFunction 2
|
|
6: TypeInt 8 1
|
|
7(Output): TypeStruct 6(int8_t) 6(int8_t)
|
|
8: TypePointer Uniform 7(Output)
|
|
9(sb_out): 8(ptr) Variable Uniform
|
|
10: TypeInt 32 1
|
|
11: 10(int) Constant 0
|
|
12(sc0): 6(int8_t) SpecConstant 127
|
|
13: TypePointer Uniform 6(int8_t)
|
|
15: 10(int) Constant 1
|
|
16(sc1): 6(int8_t) SpecConstant 4294967169
|
|
4(main): 2 Function None 3
|
|
5: Label
|
|
14: 13(ptr) AccessChain 9(sb_out) 11
|
|
Store 14 12(sc0)
|
|
17: 13(ptr) AccessChain 9(sb_out) 15
|
|
Store 17 16(sc1)
|
|
Return
|
|
FunctionEnd
|