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.
49 lines
2.4 KiB
Text
49 lines
2.4 KiB
Text
spv.specConstantOp.float16.comp
|
|
// Module Version 10000
|
|
// Generated by (magic number): 8000b
|
|
// Id's are bound by 18
|
|
|
|
Capability Shader
|
|
Capability Float16
|
|
Capability StorageUniformBufferBlock16
|
|
Extension "SPV_KHR_16bit_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_float16"
|
|
Name 4 "main"
|
|
Name 8 "S"
|
|
MemberName 8(S) 0 "p_out"
|
|
Name 10 ""
|
|
Name 14 "c"
|
|
Decorate 7 ArrayStride 2
|
|
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 14(c) SpecId 0
|
|
2: TypeVoid
|
|
3: TypeFunction 2
|
|
6: TypeFloat 16
|
|
7: TypeRuntimeArray 6(float16_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: TypeFloat 32
|
|
14(c): 13(float) SpecConstant 1090519040
|
|
15:6(float16_t) SpecConstantOp 115 14(c)
|
|
16: TypePointer Uniform 6(float16_t)
|
|
4(main): 2 Function None 3
|
|
5: Label
|
|
17: 16(ptr) AccessChain 10 12 12
|
|
Store 17 15
|
|
Return
|
|
FunctionEnd
|