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.
51 lines
2.4 KiB
Text
51 lines
2.4 KiB
Text
spv.specConstantOp.int8.comp
|
|
// Module Version 10000
|
|
// Generated by (magic number): 8000b
|
|
// Id's are bound by 20
|
|
|
|
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 8 "S"
|
|
MemberName 8(S) 0 "p_out"
|
|
Name 10 ""
|
|
Name 13 "c"
|
|
Decorate 7 ArrayStride 1
|
|
Decorate 8(S) BufferBlock
|
|
MemberDecorate 8(S) 0 Restrict
|
|
MemberDecorate 8(S) 0 NonReadable
|
|
MemberDecorate 8(S) 0 Offset 0
|
|
Decorate 10 Restrict
|
|
Decorate 10 NonReadable
|
|
Decorate 10 Binding 0
|
|
Decorate 10 DescriptorSet 0
|
|
Decorate 13(c) SpecId 0
|
|
2: TypeVoid
|
|
3: TypeFunction 2
|
|
6: TypeInt 8 0
|
|
7: TypeRuntimeArray 6(int8_t)
|
|
8(S): TypeStruct 7
|
|
9: TypePointer Uniform 8(S)
|
|
10: 9(ptr) Variable Uniform
|
|
11: TypeInt 32 1
|
|
12: 11(int) Constant 0
|
|
13(c): 11(int) SpecConstant 8
|
|
14: TypeInt 8 1
|
|
15: 14(int8_t) SpecConstantOp 114 13(c)
|
|
16: 6(int8_t) Constant 0
|
|
17: 6(int8_t) SpecConstantOp 128 15 16
|
|
18: TypePointer Uniform 6(int8_t)
|
|
4(main): 2 Function None 3
|
|
5: Label
|
|
19: 18(ptr) AccessChain 10 12 12
|
|
Store 19 17
|
|
Return
|
|
FunctionEnd
|