spv.coopmat2_decode_vector.comp // Module Version 10600 // Generated by (magic number): 8000b // Id's are bound by 197 Capability Shader Capability Float16 Capability Int8 Capability StorageUniformBufferBlock16 Capability StorageBuffer8BitAccess Capability VulkanMemoryModelKHR Capability PhysicalStorageBufferAddressesEXT Capability LongVectorEXT Capability CooperativeMatrixTensorAddressingNV Capability CooperativeMatrixBlockLoadsNV Capability TensorAddressingNV Capability CooperativeMatrixDecodeVectorNV Capability CooperativeMatrixKHR Extension "SPV_EXT_long_vector" Extension "SPV_KHR_cooperative_matrix" Extension "SPV_NV_cooperative_matrix2" Extension "SPV_NV_cooperative_matrix_decode_vector" Extension "SPV_NV_tensor_addressing" 1: ExtInstImport "GLSL.std.450" MemoryModel PhysicalStorageBuffer64EXT VulkanKHR EntryPoint GLCompute 4 "main" 160 172 ExecutionMode 4 LocalSize 64 1 1 Source GLSL 450 SourceExtension "GL_EXT_buffer_reference" SourceExtension "GL_EXT_long_vector" SourceExtension "GL_EXT_shader_explicit_arithmetic_types" SourceExtension "GL_KHR_cooperative_matrix" SourceExtension "GL_KHR_memory_scope_semantics" SourceExtension "GL_NV_cooperative_matrix2" SourceExtension "GL_NV_cooperative_matrix_decode_vector" Name 4 "main" Name 8 "dwordBuf" MemberName 8(dwordBuf) 0 "d" Name 16 "decodeF16Scalar(bref-dwordBuf1;u1[2];u1[2];" Name 13 "b" Name 14 "blockCoords" Name 15 "coordInBlock" Name 23 "decodeF16x2(bref-dwordBuf1;u1[2];u1[2];" Name 20 "b" Name 21 "blockCoords" Name 22 "coordInBlock" Name 30 "decodeF16x4(bref-dwordBuf1;u1[2];u1[2];" Name 27 "b" Name 28 "blockCoords" Name 29 "coordInBlock" Name 37 "decodeU8Scalar(bref-dwordBuf1;u1[2];u1[2];" Name 34 "b" Name 35 "blockCoords" Name 36 "coordInBlock" Name 44 "decodeU8x4(bref-dwordBuf1;u1[2];u1[2];" Name 41 "b" Name 42 "blockCoords" Name 43 "coordInBlock" Name 51 "decodeU8x8(bref-dwordBuf1;u1[2];u1[2];" Name 48 "b" Name 49 "blockCoords" Name 50 "coordInBlock" Name 141 "t" Name 156 "A" Name 158 "BufType" MemberName 158(BufType) 0 "x" Name 160 "Buf" Name 168 "Au8" Name 170 "BufType8" MemberName 170(BufType8) 0 "x" Name 172 "Buf8" Decorate 8(dwordBuf) Block MemberDecorate 8(dwordBuf) 0 Offset 0 Decorate 13(b) Aliased Decorate 20(b) Aliased Decorate 27(b) Aliased Decorate 34(b) Aliased Decorate 41(b) Aliased Decorate 48(b) Aliased Decorate 157 ArrayStride 2 Decorate 158(BufType) Block MemberDecorate 158(BufType) 0 Offset 0 Decorate 160(Buf) Binding 0 Decorate 160(Buf) DescriptorSet 0 Decorate 169 ArrayStride 1 Decorate 170(BufType8) Block MemberDecorate 170(BufType8) 0 Offset 0 Decorate 172(Buf8) Binding 1 Decorate 172(Buf8) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 TypeForwardPointer 6 PhysicalStorageBufferEXT 7: TypeInt 32 0 8(dwordBuf): TypeStruct 7(int) 6: TypePointer PhysicalStorageBufferEXT 8(dwordBuf) 9: 7(int) Constant 2 10: TypeArray 7(int) 9 11: TypeFloat 16 12: TypeFunction 11(float16_t) 6(ptr) 10 10 18: TypeVector 11(float16_t) 2 19: TypeFunction 18(f16vec2) 6(ptr) 10 10 25: TypeVector 11(float16_t) 4 26: TypeFunction 25(f16vec4) 6(ptr) 10 10 32: TypeInt 8 0 33: TypeFunction 32(int8_t) 6(ptr) 10 10 39: TypeVector 32(int8_t) 4 40: TypeFunction 39(i8vec4) 6(ptr) 10 10 46: TypeVector 32(int8_t) 8 47: TypeFunction 46(i8vec8) 6(ptr) 10 10 53: TypeInt 32 1 54: 53(int) Constant 0 55: TypePointer PhysicalStorageBufferEXT 7(int) 89: 53(int) Constant 8 94: 53(int) Constant 16 99: 53(int) Constant 24 138: 7(int) Constant 0 139: TypeTensorLayoutNV 9 138 140: TypePointer Function 139 142: 53(int) Constant 2 145: 7(int) Constant 4 146: 7(int) Constant 8 149: 7(int) Constant 256 150: 7(int) Constant 512 152: 7(int) Constant 64 153: 7(int) Constant 32 154: TypeCooperativeMatrixKHR 11(float16_t) 9 152 153 138 155: TypePointer Function 154 157: TypeRuntimeArray 11(float16_t) 158(BufType): TypeStruct 157 159: TypePointer StorageBuffer 158(BufType) 160(Buf): 159(ptr) Variable StorageBuffer 161: TypePointer StorageBuffer 11(float16_t) 166: TypeCooperativeMatrixKHR 32(int8_t) 9 152 153 138 167: TypePointer Function 166 169: TypeRuntimeArray 32(int8_t) 170(BufType8): TypeStruct 169 171: TypePointer StorageBuffer 170(BufType8) 172(Buf8): 171(ptr) Variable StorageBuffer 173: TypePointer StorageBuffer 32(int8_t) 194: TypeVector 7(int) 3 195: 7(int) Constant 1 196: 194(ivec3) ConstantComposite 152 195 195 4(main): 2 Function None 3 5: Label 141(t): 140(ptr) Variable Function 156(A): 155(ptr) Variable Function 168(Au8): 167(ptr) Variable Function 143: 139 CreateTensorLayoutNV Store 141(t) 143 144: 139 Load 141(t) 147: 139 TensorLayoutSetBlockSizeNV 144 145 146 Store 141(t) 147 148: 139 Load 141(t) 151: 139 TensorLayoutSetDimensionNV 148 149 150 Store 141(t) 151 162: 161(ptr) AccessChain 160(Buf) 54 138 163: 139 Load 141(t) 164: 154 Load 156(A) 165: 154 CooperativeMatrixLoadTensorNV 162 164 163 None DecodeFunc 16(decodeF16Scalar(bref-dwordBuf1;u1[2];u1[2];) Store 156(A) 165 174: 173(ptr) AccessChain 172(Buf8) 54 138 175: 139 Load 141(t) 176: 166 Load 168(Au8) 177: 166 CooperativeMatrixLoadTensorNV 174 176 175 None DecodeFunc 37(decodeU8Scalar(bref-dwordBuf1;u1[2];u1[2];) Store 168(Au8) 177 178: 161(ptr) AccessChain 160(Buf) 54 138 179: 139 Load 141(t) 180: 154 Load 156(A) 181: 154 CooperativeMatrixLoadTensorNV 178 180 179 None DecodeFunc DecodeVectorFunc 16(decodeF16Scalar(bref-dwordBuf1;u1[2];u1[2];) 23(decodeF16x2(bref-dwordBuf1;u1[2];u1[2];) Store 156(A) 181 182: 161(ptr) AccessChain 160(Buf) 54 138 183: 139 Load 141(t) 184: 154 Load 156(A) 185: 154 CooperativeMatrixLoadTensorNV 182 184 183 None DecodeFunc DecodeVectorFunc 16(decodeF16Scalar(bref-dwordBuf1;u1[2];u1[2];) 30(decodeF16x4(bref-dwordBuf1;u1[2];u1[2];) Store 156(A) 185 186: 173(ptr) AccessChain 172(Buf8) 54 138 187: 139 Load 141(t) 188: 166 Load 168(Au8) 189: 166 CooperativeMatrixLoadTensorNV 186 188 187 None DecodeFunc DecodeVectorFunc 37(decodeU8Scalar(bref-dwordBuf1;u1[2];u1[2];) 44(decodeU8x4(bref-dwordBuf1;u1[2];u1[2];) Store 168(Au8) 189 190: 173(ptr) AccessChain 172(Buf8) 54 138 191: 139 Load 141(t) 192: 166 Load 168(Au8) 193: 166 CooperativeMatrixLoadTensorNV 190 192 191 None DecodeFunc DecodeVectorFunc 37(decodeU8Scalar(bref-dwordBuf1;u1[2];u1[2];) 51(decodeU8x8(bref-dwordBuf1;u1[2];u1[2];) Store 168(Au8) 193 Return FunctionEnd 16(decodeF16Scalar(bref-dwordBuf1;u1[2];u1[2];):11(float16_t) Function None 12 13(b): 6(ptr) FunctionParameter 14(blockCoords): 10 FunctionParameter 15(coordInBlock): 10 FunctionParameter 17: Label 56: 55(ptr) AccessChain 13(b) 54 57: 7(int) Load 56 Aligned 4 58:11(float16_t) ConvertUToF 57 ReturnValue 58 FunctionEnd 23(decodeF16x2(bref-dwordBuf1;u1[2];u1[2];): 18(f16vec2) Function None 19 20(b): 6(ptr) FunctionParameter 21(blockCoords): 10 FunctionParameter 22(coordInBlock): 10 FunctionParameter 24: Label 61: 55(ptr) AccessChain 20(b) 54 62: 7(int) Load 61 Aligned 4 63: 18(f16vec2) Bitcast 62 ReturnValue 63 FunctionEnd 30(decodeF16x4(bref-dwordBuf1;u1[2];u1[2];): 25(f16vec4) Function None 26 27(b): 6(ptr) FunctionParameter 28(blockCoords): 10 FunctionParameter 29(coordInBlock): 10 FunctionParameter 31: Label 66: 55(ptr) AccessChain 27(b) 54 67: 7(int) Load 66 Aligned 4 68: 18(f16vec2) Bitcast 67 69: 55(ptr) AccessChain 27(b) 54 70: 7(int) Load 69 Aligned 4 71: 18(f16vec2) Bitcast 70 72:11(float16_t) CompositeExtract 68 0 73:11(float16_t) CompositeExtract 68 1 74:11(float16_t) CompositeExtract 71 0 75:11(float16_t) CompositeExtract 71 1 76: 25(f16vec4) CompositeConstruct 72 73 74 75 ReturnValue 76 FunctionEnd 37(decodeU8Scalar(bref-dwordBuf1;u1[2];u1[2];): 32(int8_t) Function None 33 34(b): 6(ptr) FunctionParameter 35(blockCoords): 10 FunctionParameter 36(coordInBlock): 10 FunctionParameter 38: Label 79: 55(ptr) AccessChain 34(b) 54 80: 7(int) Load 79 Aligned 4 81: 32(int8_t) UConvert 80 ReturnValue 81 FunctionEnd 44(decodeU8x4(bref-dwordBuf1;u1[2];u1[2];): 39(i8vec4) Function None 40 41(b): 6(ptr) FunctionParameter 42(blockCoords): 10 FunctionParameter 43(coordInBlock): 10 FunctionParameter 45: Label 84: 55(ptr) AccessChain 41(b) 54 85: 7(int) Load 84 Aligned 4 86: 32(int8_t) UConvert 85 87: 55(ptr) AccessChain 41(b) 54 88: 7(int) Load 87 Aligned 4 90: 7(int) ShiftRightLogical 88 89 91: 32(int8_t) UConvert 90 92: 55(ptr) AccessChain 41(b) 54 93: 7(int) Load 92 Aligned 4 95: 7(int) ShiftRightLogical 93 94 96: 32(int8_t) UConvert 95 97: 55(ptr) AccessChain 41(b) 54 98: 7(int) Load 97 Aligned 4 100: 7(int) ShiftRightLogical 98 99 101: 32(int8_t) UConvert 100 102: 39(i8vec4) CompositeConstruct 86 91 96 101 ReturnValue 102 FunctionEnd 51(decodeU8x8(bref-dwordBuf1;u1[2];u1[2];): 46(i8vec8) Function None 47 48(b): 6(ptr) FunctionParameter 49(blockCoords): 10 FunctionParameter 50(coordInBlock): 10 FunctionParameter 52: Label 105: 55(ptr) AccessChain 48(b) 54 106: 7(int) Load 105 Aligned 4 107: 32(int8_t) UConvert 106 108: 55(ptr) AccessChain 48(b) 54 109: 7(int) Load 108 Aligned 4 110: 7(int) ShiftRightLogical 109 89 111: 32(int8_t) UConvert 110 112: 55(ptr) AccessChain 48(b) 54 113: 7(int) Load 112 Aligned 4 114: 7(int) ShiftRightLogical 113 94 115: 32(int8_t) UConvert 114 116: 55(ptr) AccessChain 48(b) 54 117: 7(int) Load 116 Aligned 4 118: 7(int) ShiftRightLogical 117 99 119: 32(int8_t) UConvert 118 120: 55(ptr) AccessChain 48(b) 54 121: 7(int) Load 120 Aligned 4 122: 32(int8_t) UConvert 121 123: 55(ptr) AccessChain 48(b) 54 124: 7(int) Load 123 Aligned 4 125: 7(int) ShiftRightLogical 124 89 126: 32(int8_t) UConvert 125 127: 55(ptr) AccessChain 48(b) 54 128: 7(int) Load 127 Aligned 4 129: 7(int) ShiftRightLogical 128 94 130: 32(int8_t) UConvert 129 131: 55(ptr) AccessChain 48(b) 54 132: 7(int) Load 131 Aligned 4 133: 7(int) ShiftRightLogical 132 99 134: 32(int8_t) UConvert 133 135: 46(i8vec8) CompositeConstruct 107 111 115 119 122 126 130 134 ReturnValue 135 FunctionEnd