spv.halfBitsToInt16.frag // Module Version 10300 // Generated by (magic number): 8000b // Id's are bound by 118 Capability Shader Capability Float16 Capability Int16 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 9 13 72 ExecutionMode 4 OriginUpperLeft Source GLSL 450 SourceExtension "GL_EXT_shader_explicit_arithmetic_types" Name 4 "main" Name 9 "o" Name 13 "v" Name 72 "u" Decorate 9(o) Location 0 Decorate 13(v) Location 0 Decorate 72(u) Location 1 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 1 7: TypeVector 6(int) 4 8: TypePointer Output 7(ivec4) 9(o): 8(ptr) Variable Output 10: TypeFloat 32 11: TypeVector 10(float) 4 12: TypePointer Input 11(fvec4) 13(v): 12(ptr) Variable Input 14: TypeInt 32 0 15: 14(int) Constant 0 16: TypePointer Input 10(float) 19: TypeFloat 16 21: TypeInt 16 1 24: TypePointer Output 6(int) 26: TypeVector 10(float) 2 29: TypeVector 19(float16_t) 2 31: TypeVector 21(int16_t) 2 33: TypeVector 6(int) 2 40: 14(int) Constant 1 43: TypeVector 10(float) 3 46: TypeVector 19(float16_t) 3 48: TypeVector 21(int16_t) 3 50: TypeVector 6(int) 3 59: 14(int) Constant 2 63: TypeVector 19(float16_t) 4 65: TypeVector 21(int16_t) 4 70: TypeVector 14(int) 4 71: TypePointer Output 70(ivec4) 72(u): 71(ptr) Variable Output 76: TypeInt 16 0 79: TypePointer Output 14(int) 84: TypeVector 76(int16_t) 2 86: TypeVector 14(int) 2 98: TypeVector 76(int16_t) 3 100: TypeVector 14(int) 3 113: TypeVector 76(int16_t) 4 4(main): 2 Function None 3 5: Label 17: 16(ptr) AccessChain 13(v) 15 18: 10(float) Load 17 20:19(float16_t) FConvert 18 22: 21(int16_t) Bitcast 20 23: 6(int) SConvert 22 25: 24(ptr) AccessChain 9(o) 15 Store 25 23 27: 11(fvec4) Load 13(v) 28: 26(fvec2) VectorShuffle 27 27 0 1 30: 29(f16vec2) FConvert 28 32: 31(i16vec2) Bitcast 30 34: 33(ivec2) SConvert 32 35: 7(ivec4) Load 9(o) 36: 33(ivec2) VectorShuffle 35 35 0 1 37: 33(ivec2) IAdd 36 34 38: 24(ptr) AccessChain 9(o) 15 39: 6(int) CompositeExtract 37 0 Store 38 39 41: 24(ptr) AccessChain 9(o) 40 42: 6(int) CompositeExtract 37 1 Store 41 42 44: 11(fvec4) Load 13(v) 45: 43(fvec3) VectorShuffle 44 44 0 1 2 47: 46(f16vec3) FConvert 45 49: 48(i16vec3) Bitcast 47 51: 50(ivec3) SConvert 49 52: 7(ivec4) Load 9(o) 53: 50(ivec3) VectorShuffle 52 52 0 1 2 54: 50(ivec3) IAdd 53 51 55: 24(ptr) AccessChain 9(o) 15 56: 6(int) CompositeExtract 54 0 Store 55 56 57: 24(ptr) AccessChain 9(o) 40 58: 6(int) CompositeExtract 54 1 Store 57 58 60: 24(ptr) AccessChain 9(o) 59 61: 6(int) CompositeExtract 54 2 Store 60 61 62: 11(fvec4) Load 13(v) 64: 63(f16vec4) FConvert 62 66: 65(i16vec4) Bitcast 64 67: 7(ivec4) SConvert 66 68: 7(ivec4) Load 9(o) 69: 7(ivec4) IAdd 68 67 Store 9(o) 69 73: 16(ptr) AccessChain 13(v) 15 74: 10(float) Load 73 75:19(float16_t) FConvert 74 77: 76(int16_t) Bitcast 75 78: 14(int) UConvert 77 80: 79(ptr) AccessChain 72(u) 15 Store 80 78 81: 11(fvec4) Load 13(v) 82: 26(fvec2) VectorShuffle 81 81 0 1 83: 29(f16vec2) FConvert 82 85: 84(i16vec2) Bitcast 83 87: 86(ivec2) UConvert 85 88: 70(ivec4) Load 72(u) 89: 86(ivec2) VectorShuffle 88 88 0 1 90: 86(ivec2) IAdd 89 87 91: 79(ptr) AccessChain 72(u) 15 92: 14(int) CompositeExtract 90 0 Store 91 92 93: 79(ptr) AccessChain 72(u) 40 94: 14(int) CompositeExtract 90 1 Store 93 94 95: 11(fvec4) Load 13(v) 96: 43(fvec3) VectorShuffle 95 95 0 1 2 97: 46(f16vec3) FConvert 96 99: 98(i16vec3) Bitcast 97 101: 100(ivec3) UConvert 99 102: 70(ivec4) Load 72(u) 103: 100(ivec3) VectorShuffle 102 102 0 1 2 104: 100(ivec3) IAdd 103 101 105: 79(ptr) AccessChain 72(u) 15 106: 14(int) CompositeExtract 104 0 Store 105 106 107: 79(ptr) AccessChain 72(u) 40 108: 14(int) CompositeExtract 104 1 Store 107 108 109: 79(ptr) AccessChain 72(u) 59 110: 14(int) CompositeExtract 104 2 Store 109 110 111: 11(fvec4) Load 13(v) 112: 63(f16vec4) FConvert 111 114:113(i16vec4) Bitcast 112 115: 70(ivec4) UConvert 114 116: 70(ivec4) Load 72(u) 117: 70(ivec4) IAdd 116 115 Store 72(u) 117 Return FunctionEnd