These introduce limited support for 8/16-bit types such that they can only be accessed in buffer memory and converted to/from 32-bit types.
Contributed from Khronos-internal work.
static const char* const E_SPV_KHR_multiview = "SPV_KHR_multiview";
static const char* const E_SPV_KHR_shader_draw_parameters = "SPV_KHR_shader_draw_parameters";
static const char* const E_SPV_KHR_16bit_storage = "SPV_KHR_16bit_storage";
+static const char* const E_SPV_KHR_8bit_storage = "SPV_KHR_8bit_storage";
static const char* const E_SPV_KHR_storage_buffer_storage_class = "SPV_KHR_storage_buffer_storage_class";
static const char* const E_SPV_KHR_post_depth_coverage = "SPV_KHR_post_depth_coverage";
}
}
+ const bool contains8BitType = node->getType().containsBasicType(glslang::EbtInt8) ||
+ node->getType().containsBasicType(glslang::EbtUint8);
+ if (contains8BitType) {
+ if (storageClass == spv::StorageClassPushConstant) {
+ builder.addExtension(spv::E_SPV_KHR_8bit_storage);
+ builder.addCapability(spv::CapabilityStoragePushConstant8);
+ } else if (storageClass == spv::StorageClassUniform) {
+ builder.addExtension(spv::E_SPV_KHR_8bit_storage);
+ builder.addCapability(spv::CapabilityUniformAndStorageBuffer8BitAccess);
+ if (node->getType().getQualifier().storage == glslang::EvqBuffer)
+ builder.addCapability(spv::CapabilityStorageBuffer8BitAccess);
+ }
+ }
+
const char* name = node->getName().c_str();
if (glslang::IsAnonymous(name))
name = "";
case CapabilityStoragePushConstant16: return "StoragePushConstant16";
case CapabilityStorageInputOutput16: return "StorageInputOutput16";
+ case CapabilityStorageBuffer8BitAccess: return "CapabilityStorageBuffer8BitAccess";
+ case CapabilityUniformAndStorageBuffer8BitAccess: return "CapabilityUniformAndStorageBuffer8BitAccess";
+ case CapabilityStoragePushConstant8: return "CapabilityStoragePushConstant8";
+
case CapabilityDeviceGroup: return "DeviceGroup";
case CapabilityMultiView: return "MultiView";
CapabilityVariablePointers = 4442,
CapabilityAtomicStorageOps = 4445,
CapabilitySampleMaskPostDepthCoverage = 4447,
+ CapabilityStorageBuffer8BitAccess = 4448,
+ CapabilityUniformAndStorageBuffer8BitAccess = 4449,
+ CapabilityStoragePushConstant8 = 4450,
CapabilityFloat16ImageAMD = 5008,
CapabilityImageGatherBiasLodAMD = 5009,
CapabilityFragmentMaskAMD = 5010,
GL_AMD_gpu_shader_half_float
GL_KHX_shader_explicit_arithmetic_types
GL_KHX_shader_explicit_arithmetic_types_float16
-ERROR: 0:248: 'half floating-point suffix' : not supported with this profile: none
ERROR: 0:248: '' : syntax error, unexpected IDENTIFIER, expecting COMMA or SEMICOLON
-ERROR: 56 compilation errors. No code generated.
+ERROR: 55 compilation errors. No code generated.
Shader version: 120
--- /dev/null
+spv.16bitstorage-int.frag
+// Module Version 10000
+// Generated by (magic number): 80007
+// Id's are bound by 171
+
+ Capability Shader
+ Capability Int16
+ Capability StorageUniformBufferBlock16
+ Capability StorageUniform16
+ Extension "SPV_AMD_gpu_shader_int16"
+ Extension "SPV_KHR_16bit_storage"
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main"
+ ExecutionMode 4 OriginUpperLeft
+ Source GLSL 450
+ SourceExtension "GL_EXT_shader_16bit_storage"
+ Name 4 "main"
+ Name 12 "S"
+ MemberName 12(S) 0 "x"
+ MemberName 12(S) 1 "y"
+ MemberName 12(S) 2 "z"
+ Name 17 "B2"
+ MemberName 17(B2) 0 "o"
+ MemberName 17(B2) 1 "p"
+ MemberName 17(B2) 2 "q"
+ MemberName 17(B2) 3 "r"
+ MemberName 17(B2) 4 "u"
+ MemberName 17(B2) 5 "v"
+ MemberName 17(B2) 6 "x"
+ MemberName 17(B2) 7 "w"
+ Name 19 "b2"
+ Name 23 "S"
+ MemberName 23(S) 0 "x"
+ MemberName 23(S) 1 "y"
+ MemberName 23(S) 2 "z"
+ Name 25 "B1"
+ MemberName 25(B1) 0 "a"
+ MemberName 25(B1) 1 "b"
+ MemberName 25(B1) 2 "c"
+ MemberName 25(B1) 3 "d"
+ MemberName 25(B1) 4 "g"
+ MemberName 25(B1) 5 "h"
+ MemberName 25(B1) 6 "j"
+ Name 27 "b1"
+ Name 45 "S"
+ MemberName 45(S) 0 "x"
+ MemberName 45(S) 1 "y"
+ MemberName 45(S) 2 "z"
+ Name 49 "B5"
+ MemberName 49(B5) 0 "o"
+ MemberName 49(B5) 1 "p"
+ MemberName 49(B5) 2 "q"
+ MemberName 49(B5) 3 "r"
+ MemberName 49(B5) 4 "u"
+ MemberName 49(B5) 5 "v"
+ MemberName 49(B5) 6 "x"
+ MemberName 49(B5) 7 "w"
+ Name 51 "b5"
+ Name 69 "x0"
+ Name 75 "x1"
+ Name 88 "S2"
+ MemberName 88(S2) 0 "x"
+ MemberName 88(S2) 1 "y"
+ MemberName 88(S2) 2 "z"
+ Name 89 "S3"
+ MemberName 89(S3) 0 "x"
+ Name 90 "B4"
+ MemberName 90(B4) 0 "x"
+ MemberName 90(B4) 1 "y"
+ Name 92 "b4"
+ Name 93 "S2"
+ MemberName 93(S2) 0 "x"
+ MemberName 93(S2) 1 "y"
+ MemberName 93(S2) 2 "z"
+ Name 94 "B3"
+ MemberName 94(B3) 0 "x"
+ Name 96 "b3"
+ Name 113 "v3"
+ Name 135 "u3"
+ Decorate 11 ArrayStride 2
+ MemberDecorate 12(S) 0 Offset 0
+ MemberDecorate 12(S) 1 Offset 4
+ MemberDecorate 12(S) 2 Offset 8
+ Decorate 13 ArrayStride 16
+ Decorate 15 ArrayStride 4
+ Decorate 16 ArrayStride 2
+ MemberDecorate 17(B2) 0 Offset 0
+ MemberDecorate 17(B2) 1 Offset 4
+ MemberDecorate 17(B2) 2 Offset 8
+ MemberDecorate 17(B2) 3 Offset 14
+ MemberDecorate 17(B2) 4 Offset 24
+ MemberDecorate 17(B2) 5 Offset 40
+ MemberDecorate 17(B2) 6 Offset 72
+ MemberDecorate 17(B2) 7 Offset 472
+ Decorate 17(B2) BufferBlock
+ Decorate 19(b2) DescriptorSet 0
+ Decorate 22 ArrayStride 16
+ MemberDecorate 23(S) 0 Offset 0
+ MemberDecorate 23(S) 1 Offset 4
+ MemberDecorate 23(S) 2 Offset 8
+ Decorate 24 ArrayStride 16
+ MemberDecorate 25(B1) 0 Offset 0
+ MemberDecorate 25(B1) 1 Offset 4
+ MemberDecorate 25(B1) 2 Offset 8
+ MemberDecorate 25(B1) 3 Offset 16
+ MemberDecorate 25(B1) 4 Offset 48
+ MemberDecorate 25(B1) 5 Offset 64
+ MemberDecorate 25(B1) 6 Offset 96
+ Decorate 25(B1) Block
+ Decorate 27(b1) DescriptorSet 0
+ Decorate 44 ArrayStride 16
+ MemberDecorate 45(S) 0 Offset 0
+ MemberDecorate 45(S) 1 Offset 4
+ MemberDecorate 45(S) 2 Offset 8
+ Decorate 46 ArrayStride 16
+ Decorate 47 ArrayStride 16
+ Decorate 48 ArrayStride 16
+ MemberDecorate 49(B5) 0 Offset 0
+ MemberDecorate 49(B5) 1 Offset 4
+ MemberDecorate 49(B5) 2 Offset 8
+ MemberDecorate 49(B5) 3 Offset 16
+ MemberDecorate 49(B5) 4 Offset 48
+ MemberDecorate 49(B5) 5 Offset 64
+ MemberDecorate 49(B5) 6 Offset 96
+ MemberDecorate 49(B5) 7 Offset 1696
+ Decorate 49(B5) Block
+ Decorate 51(b5) DescriptorSet 0
+ MemberDecorate 88(S2) 0 ColMajor
+ MemberDecorate 88(S2) 0 Offset 0
+ MemberDecorate 88(S2) 0 MatrixStride 16
+ MemberDecorate 88(S2) 1 Offset 64
+ MemberDecorate 88(S2) 2 Offset 68
+ MemberDecorate 89(S3) 0 Offset 0
+ MemberDecorate 90(B4) 0 Offset 0
+ MemberDecorate 90(B4) 1 Offset 80
+ Decorate 90(B4) BufferBlock
+ Decorate 92(b4) DescriptorSet 0
+ MemberDecorate 93(S2) 0 RowMajor
+ MemberDecorate 93(S2) 0 Offset 0
+ MemberDecorate 93(S2) 0 MatrixStride 16
+ MemberDecorate 93(S2) 1 Offset 64
+ MemberDecorate 93(S2) 2 Offset 68
+ MemberDecorate 94(B3) 0 Offset 0
+ Decorate 94(B3) BufferBlock
+ Decorate 96(b3) DescriptorSet 0
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeInt 16 1
+ 7: TypeVector 6(int16_t) 2
+ 8: TypeVector 6(int16_t) 3
+ 9: TypeInt 32 0
+ 10: 9(int) Constant 2
+ 11: TypeArray 6(int16_t) 10
+ 12(S): TypeStruct 6(int16_t) 7(i16vec2) 8(i16vec3)
+ 13: TypeArray 12(S) 10
+ 14: 9(int) Constant 100
+ 15: TypeArray 7(i16vec2) 14
+ 16: TypeRuntimeArray 6(int16_t)
+ 17(B2): TypeStruct 6(int16_t) 7(i16vec2) 8(i16vec3) 11 12(S) 13 15 16
+ 18: TypePointer Uniform 17(B2)
+ 19(b2): 18(ptr) Variable Uniform
+ 20: TypeInt 32 1
+ 21: 20(int) Constant 0
+ 22: TypeArray 6(int16_t) 10
+ 23(S): TypeStruct 6(int16_t) 7(i16vec2) 8(i16vec3)
+ 24: TypeArray 23(S) 10
+ 25(B1): TypeStruct 6(int16_t) 7(i16vec2) 8(i16vec3) 22 23(S) 24 20(int)
+ 26: TypePointer Uniform 25(B1)
+ 27(b1): 26(ptr) Variable Uniform
+ 28: TypePointer Uniform 6(int16_t)
+ 32: 20(int) Constant 1
+ 33: 20(int) Constant 2
+ 34: TypePointer Uniform 8(i16vec3)
+ 37: TypeVector 20(int) 3
+ 39: TypeVector 20(int) 2
+ 42: TypePointer Uniform 7(i16vec2)
+ 44: TypeArray 6(int16_t) 10
+ 45(S): TypeStruct 6(int16_t) 7(i16vec2) 8(i16vec3)
+ 46: TypeArray 45(S) 10
+ 47: TypeArray 7(i16vec2) 14
+ 48: TypeArray 6(int16_t) 14
+ 49(B5): TypeStruct 6(int16_t) 7(i16vec2) 8(i16vec3) 44 45(S) 46 47 48
+ 50: TypePointer Uniform 49(B5)
+ 51(b5): 50(ptr) Variable Uniform
+ 58: 20(int) Constant 3
+ 68: TypePointer Function 20(int)
+ 73: TypeVector 20(int) 4
+ 74: TypePointer Function 73(ivec4)
+ 85: TypeFloat 32
+ 86: TypeVector 85(float) 4
+ 87: TypeMatrix 86(fvec4) 4
+ 88(S2): TypeStruct 87 6(int16_t) 20(int)
+ 89(S3): TypeStruct 88(S2)
+ 90(B4): TypeStruct 88(S2) 89(S3)
+ 91: TypePointer Uniform 90(B4)
+ 92(b4): 91(ptr) Variable Uniform
+ 93(S2): TypeStruct 87 6(int16_t) 20(int)
+ 94(B3): TypeStruct 93(S2)
+ 95: TypePointer Uniform 94(B3)
+ 96(b3): 95(ptr) Variable Uniform
+ 97: TypePointer Uniform 87
+ 104: 9(int) Constant 0
+ 108: 20(int) Constant 5
+ 112: TypePointer Function 37(ivec3)
+ 114: 20(int) Constant 7
+ 115: 20(int) Constant 6
+ 116: TypePointer Uniform 20(int)
+ 166: 39(ivec2) ConstantComposite 32 33
+ 4(main): 2 Function None 3
+ 5: Label
+ 69(x0): 68(ptr) Variable Function
+ 75(x1): 74(ptr) Variable Function
+ 113(v3): 112(ptr) Variable Function
+ 135(u3): 112(ptr) Variable Function
+ 29: 28(ptr) AccessChain 27(b1) 21
+ 30: 6(int16_t) Load 29
+ 31: 28(ptr) AccessChain 19(b2) 21
+ Store 31 30
+ 35: 34(ptr) AccessChain 19(b2) 33
+ 36: 8(i16vec3) Load 35
+ 38: 37(ivec3) SConvert 36
+ 40: 39(ivec2) VectorShuffle 38 38 0 1
+ 41: 7(i16vec2) SConvert 40
+ 43: 42(ptr) AccessChain 19(b2) 32
+ Store 43 41
+ 52: 34(ptr) AccessChain 51(b5) 33
+ 53: 8(i16vec3) Load 52
+ 54: 37(ivec3) SConvert 53
+ 55: 39(ivec2) VectorShuffle 54 54 0 1
+ 56: 7(i16vec2) SConvert 55
+ 57: 42(ptr) AccessChain 19(b2) 32
+ Store 57 56
+ 59: 28(ptr) AccessChain 19(b2) 58 21
+ 60: 6(int16_t) Load 59
+ 61: 28(ptr) AccessChain 19(b2) 58 21
+ Store 61 60
+ 62: 28(ptr) AccessChain 51(b5) 58 32
+ 63: 6(int16_t) Load 62
+ 64: 28(ptr) AccessChain 19(b2) 58 32
+ Store 64 63
+ 65: 42(ptr) AccessChain 19(b2) 32
+ 66: 7(i16vec2) Load 65
+ 67: 42(ptr) AccessChain 19(b2) 32
+ Store 67 66
+ 70: 28(ptr) AccessChain 27(b1) 21
+ 71: 6(int16_t) Load 70
+ 72: 20(int) SConvert 71
+ Store 69(x0) 72
+ 76: 28(ptr) AccessChain 27(b1) 21
+ 77: 6(int16_t) Load 76
+ 78: 20(int) SConvert 77
+ 79: 42(ptr) AccessChain 19(b2) 32
+ 80: 7(i16vec2) Load 79
+ 81: 39(ivec2) SConvert 80
+ 82: 20(int) CompositeExtract 81 0
+ 83: 20(int) CompositeExtract 81 1
+ 84: 73(ivec4) CompositeConstruct 78 82 83 32
+ Store 75(x1) 84
+ 98: 97(ptr) AccessChain 96(b3) 21 21
+ 99: 87 Load 98
+ 100: 97(ptr) AccessChain 92(b4) 21 21
+ Store 100 99
+ 101: 42(ptr) AccessChain 19(b2) 32
+ 102: 7(i16vec2) Load 101
+ 103: 39(ivec2) SConvert 102
+ 105: 20(int) CompositeExtract 103 0
+ 106: 6(int16_t) SConvert 105
+ 107: 28(ptr) AccessChain 19(b2) 21
+ Store 107 106
+ 109: 42(ptr) AccessChain 19(b2) 108 32 32
+ 110: 7(i16vec2) Load 109
+ 111: 42(ptr) AccessChain 19(b2) 32
+ Store 111 110
+ 117: 116(ptr) AccessChain 27(b1) 115
+ 118: 20(int) Load 117
+ 119: 28(ptr) AccessChain 19(b2) 114 118
+ 120: 6(int16_t) Load 119
+ 121: 20(int) SConvert 120
+ 122: 116(ptr) AccessChain 27(b1) 115
+ 123: 20(int) Load 122
+ 124: 20(int) IAdd 123 32
+ 125: 28(ptr) AccessChain 19(b2) 114 124
+ 126: 6(int16_t) Load 125
+ 127: 20(int) SConvert 126
+ 128: 116(ptr) AccessChain 27(b1) 115
+ 129: 20(int) Load 128
+ 130: 20(int) IAdd 129 33
+ 131: 28(ptr) AccessChain 19(b2) 114 130
+ 132: 6(int16_t) Load 131
+ 133: 20(int) SConvert 132
+ 134: 37(ivec3) CompositeConstruct 121 127 133
+ Store 113(v3) 134
+ 136: 116(ptr) AccessChain 27(b1) 115
+ 137: 20(int) Load 136
+ 138: 28(ptr) AccessChain 51(b5) 114 137
+ 139: 6(int16_t) Load 138
+ 140: 20(int) SConvert 139
+ 141: 116(ptr) AccessChain 27(b1) 115
+ 142: 20(int) Load 141
+ 143: 20(int) IAdd 142 32
+ 144: 28(ptr) AccessChain 51(b5) 114 143
+ 145: 6(int16_t) Load 144
+ 146: 20(int) SConvert 145
+ 147: 116(ptr) AccessChain 27(b1) 115
+ 148: 20(int) Load 147
+ 149: 20(int) IAdd 148 33
+ 150: 28(ptr) AccessChain 51(b5) 114 149
+ 151: 6(int16_t) Load 150
+ 152: 20(int) SConvert 151
+ 153: 37(ivec3) CompositeConstruct 140 146 152
+ Store 135(u3) 153
+ 154: 42(ptr) AccessChain 19(b2) 115 21
+ 155: 7(i16vec2) Load 154
+ 156: 42(ptr) AccessChain 19(b2) 115 21
+ Store 156 155
+ 157: 42(ptr) AccessChain 51(b5) 115 32
+ 158: 7(i16vec2) Load 157
+ 159: 42(ptr) AccessChain 19(b2) 115 32
+ Store 159 158
+ 160: 28(ptr) AccessChain 27(b1) 21
+ 161: 6(int16_t) Load 160
+ 162: 28(ptr) AccessChain 19(b2) 32 104
+ Store 162 161
+ 163: 28(ptr) AccessChain 19(b2) 32 104
+ 164: 6(int16_t) Load 163
+ 165: 28(ptr) AccessChain 19(b2) 21
+ Store 165 164
+ 167: 7(i16vec2) SConvert 166
+ 168: 42(ptr) AccessChain 19(b2) 32
+ Store 168 167
+ 169: 6(int16_t) SConvert 58
+ 170: 28(ptr) AccessChain 19(b2) 21
+ Store 170 169
+ Return
+ FunctionEnd
--- /dev/null
+spv.16bitstorage-uint.frag
+// Module Version 10000
+// Generated by (magic number): 80007
+// Id's are bound by 173
+
+ Capability Shader
+ Capability Int16
+ Capability StorageUniformBufferBlock16
+ Capability StorageUniform16
+ Extension "SPV_AMD_gpu_shader_int16"
+ Extension "SPV_KHR_16bit_storage"
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main"
+ ExecutionMode 4 OriginUpperLeft
+ Source GLSL 450
+ SourceExtension "GL_EXT_shader_16bit_storage"
+ Name 4 "main"
+ Name 12 "S"
+ MemberName 12(S) 0 "x"
+ MemberName 12(S) 1 "y"
+ MemberName 12(S) 2 "z"
+ Name 17 "B2"
+ MemberName 17(B2) 0 "o"
+ MemberName 17(B2) 1 "p"
+ MemberName 17(B2) 2 "q"
+ MemberName 17(B2) 3 "r"
+ MemberName 17(B2) 4 "u"
+ MemberName 17(B2) 5 "v"
+ MemberName 17(B2) 6 "x"
+ MemberName 17(B2) 7 "w"
+ Name 19 "b2"
+ Name 23 "S"
+ MemberName 23(S) 0 "x"
+ MemberName 23(S) 1 "y"
+ MemberName 23(S) 2 "z"
+ Name 25 "B1"
+ MemberName 25(B1) 0 "a"
+ MemberName 25(B1) 1 "b"
+ MemberName 25(B1) 2 "c"
+ MemberName 25(B1) 3 "d"
+ MemberName 25(B1) 4 "g"
+ MemberName 25(B1) 5 "h"
+ MemberName 25(B1) 6 "j"
+ Name 27 "b1"
+ Name 45 "S"
+ MemberName 45(S) 0 "x"
+ MemberName 45(S) 1 "y"
+ MemberName 45(S) 2 "z"
+ Name 49 "B5"
+ MemberName 49(B5) 0 "o"
+ MemberName 49(B5) 1 "p"
+ MemberName 49(B5) 2 "q"
+ MemberName 49(B5) 3 "r"
+ MemberName 49(B5) 4 "u"
+ MemberName 49(B5) 5 "v"
+ MemberName 49(B5) 6 "x"
+ MemberName 49(B5) 7 "w"
+ Name 51 "b5"
+ Name 69 "x0"
+ Name 75 "x1"
+ Name 89 "S2"
+ MemberName 89(S2) 0 "x"
+ MemberName 89(S2) 1 "y"
+ MemberName 89(S2) 2 "z"
+ Name 90 "S3"
+ MemberName 90(S3) 0 "x"
+ Name 91 "B4"
+ MemberName 91(B4) 0 "x"
+ MemberName 91(B4) 1 "y"
+ Name 93 "b4"
+ Name 94 "S2"
+ MemberName 94(S2) 0 "x"
+ MemberName 94(S2) 1 "y"
+ MemberName 94(S2) 2 "z"
+ Name 95 "B3"
+ MemberName 95(B3) 0 "x"
+ Name 97 "b3"
+ Name 114 "v3"
+ Name 136 "u3"
+ Decorate 11 ArrayStride 2
+ MemberDecorate 12(S) 0 Offset 0
+ MemberDecorate 12(S) 1 Offset 4
+ MemberDecorate 12(S) 2 Offset 8
+ Decorate 13 ArrayStride 16
+ Decorate 15 ArrayStride 4
+ Decorate 16 ArrayStride 2
+ MemberDecorate 17(B2) 0 Offset 0
+ MemberDecorate 17(B2) 1 Offset 4
+ MemberDecorate 17(B2) 2 Offset 8
+ MemberDecorate 17(B2) 3 Offset 14
+ MemberDecorate 17(B2) 4 Offset 24
+ MemberDecorate 17(B2) 5 Offset 40
+ MemberDecorate 17(B2) 6 Offset 72
+ MemberDecorate 17(B2) 7 Offset 472
+ Decorate 17(B2) BufferBlock
+ Decorate 19(b2) DescriptorSet 0
+ Decorate 22 ArrayStride 16
+ MemberDecorate 23(S) 0 Offset 0
+ MemberDecorate 23(S) 1 Offset 4
+ MemberDecorate 23(S) 2 Offset 8
+ Decorate 24 ArrayStride 16
+ MemberDecorate 25(B1) 0 Offset 0
+ MemberDecorate 25(B1) 1 Offset 4
+ MemberDecorate 25(B1) 2 Offset 8
+ MemberDecorate 25(B1) 3 Offset 16
+ MemberDecorate 25(B1) 4 Offset 48
+ MemberDecorate 25(B1) 5 Offset 64
+ MemberDecorate 25(B1) 6 Offset 96
+ Decorate 25(B1) Block
+ Decorate 27(b1) DescriptorSet 0
+ Decorate 44 ArrayStride 16
+ MemberDecorate 45(S) 0 Offset 0
+ MemberDecorate 45(S) 1 Offset 4
+ MemberDecorate 45(S) 2 Offset 8
+ Decorate 46 ArrayStride 16
+ Decorate 47 ArrayStride 16
+ Decorate 48 ArrayStride 16
+ MemberDecorate 49(B5) 0 Offset 0
+ MemberDecorate 49(B5) 1 Offset 4
+ MemberDecorate 49(B5) 2 Offset 8
+ MemberDecorate 49(B5) 3 Offset 16
+ MemberDecorate 49(B5) 4 Offset 48
+ MemberDecorate 49(B5) 5 Offset 64
+ MemberDecorate 49(B5) 6 Offset 96
+ MemberDecorate 49(B5) 7 Offset 1696
+ Decorate 49(B5) Block
+ Decorate 51(b5) DescriptorSet 0
+ MemberDecorate 89(S2) 0 ColMajor
+ MemberDecorate 89(S2) 0 Offset 0
+ MemberDecorate 89(S2) 0 MatrixStride 16
+ MemberDecorate 89(S2) 1 Offset 64
+ MemberDecorate 89(S2) 2 Offset 68
+ MemberDecorate 90(S3) 0 Offset 0
+ MemberDecorate 91(B4) 0 Offset 0
+ MemberDecorate 91(B4) 1 Offset 80
+ Decorate 91(B4) BufferBlock
+ Decorate 93(b4) DescriptorSet 0
+ MemberDecorate 94(S2) 0 RowMajor
+ MemberDecorate 94(S2) 0 Offset 0
+ MemberDecorate 94(S2) 0 MatrixStride 16
+ MemberDecorate 94(S2) 1 Offset 64
+ MemberDecorate 94(S2) 2 Offset 68
+ MemberDecorate 95(B3) 0 Offset 0
+ Decorate 95(B3) BufferBlock
+ Decorate 97(b3) DescriptorSet 0
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeInt 16 0
+ 7: TypeVector 6(int16_t) 2
+ 8: TypeVector 6(int16_t) 3
+ 9: TypeInt 32 0
+ 10: 9(int) Constant 2
+ 11: TypeArray 6(int16_t) 10
+ 12(S): TypeStruct 6(int16_t) 7(i16vec2) 8(i16vec3)
+ 13: TypeArray 12(S) 10
+ 14: 9(int) Constant 100
+ 15: TypeArray 7(i16vec2) 14
+ 16: TypeRuntimeArray 6(int16_t)
+ 17(B2): TypeStruct 6(int16_t) 7(i16vec2) 8(i16vec3) 11 12(S) 13 15 16
+ 18: TypePointer Uniform 17(B2)
+ 19(b2): 18(ptr) Variable Uniform
+ 20: TypeInt 32 1
+ 21: 20(int) Constant 0
+ 22: TypeArray 6(int16_t) 10
+ 23(S): TypeStruct 6(int16_t) 7(i16vec2) 8(i16vec3)
+ 24: TypeArray 23(S) 10
+ 25(B1): TypeStruct 6(int16_t) 7(i16vec2) 8(i16vec3) 22 23(S) 24 9(int)
+ 26: TypePointer Uniform 25(B1)
+ 27(b1): 26(ptr) Variable Uniform
+ 28: TypePointer Uniform 6(int16_t)
+ 32: 20(int) Constant 1
+ 33: 20(int) Constant 2
+ 34: TypePointer Uniform 8(i16vec3)
+ 37: TypeVector 9(int) 3
+ 39: TypeVector 9(int) 2
+ 42: TypePointer Uniform 7(i16vec2)
+ 44: TypeArray 6(int16_t) 10
+ 45(S): TypeStruct 6(int16_t) 7(i16vec2) 8(i16vec3)
+ 46: TypeArray 45(S) 10
+ 47: TypeArray 7(i16vec2) 14
+ 48: TypeArray 6(int16_t) 14
+ 49(B5): TypeStruct 6(int16_t) 7(i16vec2) 8(i16vec3) 44 45(S) 46 47 48
+ 50: TypePointer Uniform 49(B5)
+ 51(b5): 50(ptr) Variable Uniform
+ 58: 20(int) Constant 3
+ 68: TypePointer Function 9(int)
+ 73: TypeVector 9(int) 4
+ 74: TypePointer Function 73(ivec4)
+ 82: 9(int) Constant 1
+ 86: TypeFloat 32
+ 87: TypeVector 86(float) 4
+ 88: TypeMatrix 87(fvec4) 4
+ 89(S2): TypeStruct 88 6(int16_t) 9(int)
+ 90(S3): TypeStruct 89(S2)
+ 91(B4): TypeStruct 89(S2) 90(S3)
+ 92: TypePointer Uniform 91(B4)
+ 93(b4): 92(ptr) Variable Uniform
+ 94(S2): TypeStruct 88 6(int16_t) 9(int)
+ 95(B3): TypeStruct 94(S2)
+ 96: TypePointer Uniform 95(B3)
+ 97(b3): 96(ptr) Variable Uniform
+ 98: TypePointer Uniform 88
+ 105: 9(int) Constant 0
+ 109: 20(int) Constant 5
+ 113: TypePointer Function 37(ivec3)
+ 115: 20(int) Constant 7
+ 116: 20(int) Constant 6
+ 117: TypePointer Uniform 9(int)
+ 167: 39(ivec2) ConstantComposite 82 10
+ 170: 9(int) Constant 3
+ 4(main): 2 Function None 3
+ 5: Label
+ 69(x0): 68(ptr) Variable Function
+ 75(x1): 74(ptr) Variable Function
+ 114(v3): 113(ptr) Variable Function
+ 136(u3): 113(ptr) Variable Function
+ 29: 28(ptr) AccessChain 27(b1) 21
+ 30: 6(int16_t) Load 29
+ 31: 28(ptr) AccessChain 19(b2) 21
+ Store 31 30
+ 35: 34(ptr) AccessChain 19(b2) 33
+ 36: 8(i16vec3) Load 35
+ 38: 37(ivec3) UConvert 36
+ 40: 39(ivec2) VectorShuffle 38 38 0 1
+ 41: 7(i16vec2) UConvert 40
+ 43: 42(ptr) AccessChain 19(b2) 32
+ Store 43 41
+ 52: 34(ptr) AccessChain 51(b5) 33
+ 53: 8(i16vec3) Load 52
+ 54: 37(ivec3) UConvert 53
+ 55: 39(ivec2) VectorShuffle 54 54 0 1
+ 56: 7(i16vec2) UConvert 55
+ 57: 42(ptr) AccessChain 19(b2) 32
+ Store 57 56
+ 59: 28(ptr) AccessChain 19(b2) 58 21
+ 60: 6(int16_t) Load 59
+ 61: 28(ptr) AccessChain 19(b2) 58 21
+ Store 61 60
+ 62: 28(ptr) AccessChain 51(b5) 58 32
+ 63: 6(int16_t) Load 62
+ 64: 28(ptr) AccessChain 19(b2) 58 32
+ Store 64 63
+ 65: 42(ptr) AccessChain 19(b2) 32
+ 66: 7(i16vec2) Load 65
+ 67: 42(ptr) AccessChain 19(b2) 32
+ Store 67 66
+ 70: 28(ptr) AccessChain 27(b1) 21
+ 71: 6(int16_t) Load 70
+ 72: 9(int) UConvert 71
+ Store 69(x0) 72
+ 76: 28(ptr) AccessChain 27(b1) 21
+ 77: 6(int16_t) Load 76
+ 78: 9(int) UConvert 77
+ 79: 42(ptr) AccessChain 19(b2) 32
+ 80: 7(i16vec2) Load 79
+ 81: 39(ivec2) UConvert 80
+ 83: 9(int) CompositeExtract 81 0
+ 84: 9(int) CompositeExtract 81 1
+ 85: 73(ivec4) CompositeConstruct 78 83 84 82
+ Store 75(x1) 85
+ 99: 98(ptr) AccessChain 97(b3) 21 21
+ 100: 88 Load 99
+ 101: 98(ptr) AccessChain 93(b4) 21 21
+ Store 101 100
+ 102: 42(ptr) AccessChain 19(b2) 32
+ 103: 7(i16vec2) Load 102
+ 104: 39(ivec2) UConvert 103
+ 106: 9(int) CompositeExtract 104 0
+ 107: 6(int16_t) UConvert 106
+ 108: 28(ptr) AccessChain 19(b2) 21
+ Store 108 107
+ 110: 42(ptr) AccessChain 19(b2) 109 32 32
+ 111: 7(i16vec2) Load 110
+ 112: 42(ptr) AccessChain 19(b2) 32
+ Store 112 111
+ 118: 117(ptr) AccessChain 27(b1) 116
+ 119: 9(int) Load 118
+ 120: 28(ptr) AccessChain 19(b2) 115 119
+ 121: 6(int16_t) Load 120
+ 122: 9(int) UConvert 121
+ 123: 117(ptr) AccessChain 27(b1) 116
+ 124: 9(int) Load 123
+ 125: 9(int) IAdd 124 82
+ 126: 28(ptr) AccessChain 19(b2) 115 125
+ 127: 6(int16_t) Load 126
+ 128: 9(int) UConvert 127
+ 129: 117(ptr) AccessChain 27(b1) 116
+ 130: 9(int) Load 129
+ 131: 9(int) IAdd 130 10
+ 132: 28(ptr) AccessChain 19(b2) 115 131
+ 133: 6(int16_t) Load 132
+ 134: 9(int) UConvert 133
+ 135: 37(ivec3) CompositeConstruct 122 128 134
+ Store 114(v3) 135
+ 137: 117(ptr) AccessChain 27(b1) 116
+ 138: 9(int) Load 137
+ 139: 28(ptr) AccessChain 51(b5) 115 138
+ 140: 6(int16_t) Load 139
+ 141: 9(int) UConvert 140
+ 142: 117(ptr) AccessChain 27(b1) 116
+ 143: 9(int) Load 142
+ 144: 9(int) IAdd 143 82
+ 145: 28(ptr) AccessChain 51(b5) 115 144
+ 146: 6(int16_t) Load 145
+ 147: 9(int) UConvert 146
+ 148: 117(ptr) AccessChain 27(b1) 116
+ 149: 9(int) Load 148
+ 150: 9(int) IAdd 149 10
+ 151: 28(ptr) AccessChain 51(b5) 115 150
+ 152: 6(int16_t) Load 151
+ 153: 9(int) UConvert 152
+ 154: 37(ivec3) CompositeConstruct 141 147 153
+ Store 136(u3) 154
+ 155: 42(ptr) AccessChain 19(b2) 116 21
+ 156: 7(i16vec2) Load 155
+ 157: 42(ptr) AccessChain 19(b2) 116 21
+ Store 157 156
+ 158: 42(ptr) AccessChain 51(b5) 116 32
+ 159: 7(i16vec2) Load 158
+ 160: 42(ptr) AccessChain 19(b2) 116 32
+ Store 160 159
+ 161: 28(ptr) AccessChain 27(b1) 21
+ 162: 6(int16_t) Load 161
+ 163: 28(ptr) AccessChain 19(b2) 32 105
+ Store 163 162
+ 164: 28(ptr) AccessChain 19(b2) 32 105
+ 165: 6(int16_t) Load 164
+ 166: 28(ptr) AccessChain 19(b2) 21
+ Store 166 165
+ 168: 7(i16vec2) UConvert 167
+ 169: 42(ptr) AccessChain 19(b2) 32
+ Store 169 168
+ 171: 6(int16_t) UConvert 170
+ 172: 28(ptr) AccessChain 19(b2) 21
+ Store 172 171
+ Return
+ FunctionEnd
--- /dev/null
+spv.16bitstorage.frag
+// Module Version 10000
+// Generated by (magic number): 80007
+// Id's are bound by 173
+
+ Capability Shader
+ Capability Float16
+ Capability StorageUniformBufferBlock16
+ Capability StorageUniform16
+ Extension "SPV_AMD_gpu_shader_half_float"
+ Extension "SPV_KHR_16bit_storage"
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main"
+ ExecutionMode 4 OriginUpperLeft
+ Source GLSL 450
+ SourceExtension "GL_EXT_shader_16bit_storage"
+ Name 4 "main"
+ Name 12 "S"
+ MemberName 12(S) 0 "x"
+ MemberName 12(S) 1 "y"
+ MemberName 12(S) 2 "z"
+ Name 17 "B2"
+ MemberName 17(B2) 0 "o"
+ MemberName 17(B2) 1 "p"
+ MemberName 17(B2) 2 "q"
+ MemberName 17(B2) 3 "r"
+ MemberName 17(B2) 4 "u"
+ MemberName 17(B2) 5 "v"
+ MemberName 17(B2) 6 "x"
+ MemberName 17(B2) 7 "w"
+ Name 19 "b2"
+ Name 23 "S"
+ MemberName 23(S) 0 "x"
+ MemberName 23(S) 1 "y"
+ MemberName 23(S) 2 "z"
+ Name 25 "B1"
+ MemberName 25(B1) 0 "a"
+ MemberName 25(B1) 1 "b"
+ MemberName 25(B1) 2 "c"
+ MemberName 25(B1) 3 "d"
+ MemberName 25(B1) 4 "g"
+ MemberName 25(B1) 5 "h"
+ MemberName 25(B1) 6 "j"
+ Name 27 "b1"
+ Name 46 "S"
+ MemberName 46(S) 0 "x"
+ MemberName 46(S) 1 "y"
+ MemberName 46(S) 2 "z"
+ Name 50 "B5"
+ MemberName 50(B5) 0 "o"
+ MemberName 50(B5) 1 "p"
+ MemberName 50(B5) 2 "q"
+ MemberName 50(B5) 3 "r"
+ MemberName 50(B5) 4 "u"
+ MemberName 50(B5) 5 "v"
+ MemberName 50(B5) 6 "x"
+ MemberName 50(B5) 7 "w"
+ Name 52 "b5"
+ Name 70 "x0"
+ Name 76 "x1"
+ Name 88 "S2"
+ MemberName 88(S2) 0 "x"
+ MemberName 88(S2) 1 "y"
+ MemberName 88(S2) 2 "z"
+ Name 89 "S3"
+ MemberName 89(S3) 0 "x"
+ Name 90 "B4"
+ MemberName 90(B4) 0 "x"
+ MemberName 90(B4) 1 "y"
+ Name 92 "b4"
+ Name 93 "S2"
+ MemberName 93(S2) 0 "x"
+ MemberName 93(S2) 1 "y"
+ MemberName 93(S2) 2 "z"
+ Name 94 "B3"
+ MemberName 94(B3) 0 "x"
+ Name 96 "b3"
+ Name 113 "v3"
+ Name 135 "u3"
+ Decorate 11 ArrayStride 2
+ MemberDecorate 12(S) 0 Offset 0
+ MemberDecorate 12(S) 1 Offset 4
+ MemberDecorate 12(S) 2 Offset 8
+ Decorate 13 ArrayStride 16
+ Decorate 15 ArrayStride 4
+ Decorate 16 ArrayStride 2
+ MemberDecorate 17(B2) 0 Offset 0
+ MemberDecorate 17(B2) 1 Offset 4
+ MemberDecorate 17(B2) 2 Offset 8
+ MemberDecorate 17(B2) 3 Offset 14
+ MemberDecorate 17(B2) 4 Offset 24
+ MemberDecorate 17(B2) 5 Offset 40
+ MemberDecorate 17(B2) 6 Offset 72
+ MemberDecorate 17(B2) 7 Offset 472
+ Decorate 17(B2) BufferBlock
+ Decorate 19(b2) DescriptorSet 0
+ Decorate 22 ArrayStride 16
+ MemberDecorate 23(S) 0 Offset 0
+ MemberDecorate 23(S) 1 Offset 4
+ MemberDecorate 23(S) 2 Offset 8
+ Decorate 24 ArrayStride 16
+ MemberDecorate 25(B1) 0 Offset 0
+ MemberDecorate 25(B1) 1 Offset 4
+ MemberDecorate 25(B1) 2 Offset 8
+ MemberDecorate 25(B1) 3 Offset 16
+ MemberDecorate 25(B1) 4 Offset 48
+ MemberDecorate 25(B1) 5 Offset 64
+ MemberDecorate 25(B1) 6 Offset 96
+ Decorate 25(B1) Block
+ Decorate 27(b1) DescriptorSet 0
+ Decorate 45 ArrayStride 16
+ MemberDecorate 46(S) 0 Offset 0
+ MemberDecorate 46(S) 1 Offset 4
+ MemberDecorate 46(S) 2 Offset 8
+ Decorate 47 ArrayStride 16
+ Decorate 48 ArrayStride 16
+ Decorate 49 ArrayStride 16
+ MemberDecorate 50(B5) 0 Offset 0
+ MemberDecorate 50(B5) 1 Offset 4
+ MemberDecorate 50(B5) 2 Offset 8
+ MemberDecorate 50(B5) 3 Offset 16
+ MemberDecorate 50(B5) 4 Offset 48
+ MemberDecorate 50(B5) 5 Offset 64
+ MemberDecorate 50(B5) 6 Offset 96
+ MemberDecorate 50(B5) 7 Offset 1696
+ Decorate 50(B5) Block
+ Decorate 52(b5) DescriptorSet 0
+ MemberDecorate 88(S2) 0 ColMajor
+ MemberDecorate 88(S2) 0 Offset 0
+ MemberDecorate 88(S2) 0 MatrixStride 16
+ MemberDecorate 88(S2) 1 Offset 64
+ MemberDecorate 88(S2) 2 Offset 68
+ MemberDecorate 89(S3) 0 Offset 0
+ MemberDecorate 90(B4) 0 Offset 0
+ MemberDecorate 90(B4) 1 Offset 80
+ Decorate 90(B4) BufferBlock
+ Decorate 92(b4) DescriptorSet 0
+ MemberDecorate 93(S2) 0 RowMajor
+ MemberDecorate 93(S2) 0 Offset 0
+ MemberDecorate 93(S2) 0 MatrixStride 16
+ MemberDecorate 93(S2) 1 Offset 64
+ MemberDecorate 93(S2) 2 Offset 68
+ MemberDecorate 94(B3) 0 Offset 0
+ Decorate 94(B3) BufferBlock
+ Decorate 96(b3) DescriptorSet 0
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 16
+ 7: TypeVector 6(float16_t) 2
+ 8: TypeVector 6(float16_t) 3
+ 9: TypeInt 32 0
+ 10: 9(int) Constant 2
+ 11: TypeArray 6(float16_t) 10
+ 12(S): TypeStruct 6(float16_t) 7(f16vec2) 8(f16vec3)
+ 13: TypeArray 12(S) 10
+ 14: 9(int) Constant 100
+ 15: TypeArray 7(f16vec2) 14
+ 16: TypeRuntimeArray 6(float16_t)
+ 17(B2): TypeStruct 6(float16_t) 7(f16vec2) 8(f16vec3) 11 12(S) 13 15 16
+ 18: TypePointer Uniform 17(B2)
+ 19(b2): 18(ptr) Variable Uniform
+ 20: TypeInt 32 1
+ 21: 20(int) Constant 0
+ 22: TypeArray 6(float16_t) 10
+ 23(S): TypeStruct 6(float16_t) 7(f16vec2) 8(f16vec3)
+ 24: TypeArray 23(S) 10
+ 25(B1): TypeStruct 6(float16_t) 7(f16vec2) 8(f16vec3) 22 23(S) 24 20(int)
+ 26: TypePointer Uniform 25(B1)
+ 27(b1): 26(ptr) Variable Uniform
+ 28: TypePointer Uniform 6(float16_t)
+ 32: 20(int) Constant 1
+ 33: 20(int) Constant 2
+ 34: TypePointer Uniform 8(f16vec3)
+ 37: TypeFloat 32
+ 38: TypeVector 37(float) 3
+ 40: TypeVector 37(float) 2
+ 43: TypePointer Uniform 7(f16vec2)
+ 45: TypeArray 6(float16_t) 10
+ 46(S): TypeStruct 6(float16_t) 7(f16vec2) 8(f16vec3)
+ 47: TypeArray 46(S) 10
+ 48: TypeArray 7(f16vec2) 14
+ 49: TypeArray 6(float16_t) 14
+ 50(B5): TypeStruct 6(float16_t) 7(f16vec2) 8(f16vec3) 45 46(S) 47 48 49
+ 51: TypePointer Uniform 50(B5)
+ 52(b5): 51(ptr) Variable Uniform
+ 59: 20(int) Constant 3
+ 69: TypePointer Function 37(float)
+ 74: TypeVector 37(float) 4
+ 75: TypePointer Function 74(fvec4)
+ 83: 37(float) Constant 1065353216
+ 87: TypeMatrix 74(fvec4) 4
+ 88(S2): TypeStruct 87 6(float16_t) 37(float)
+ 89(S3): TypeStruct 88(S2)
+ 90(B4): TypeStruct 88(S2) 89(S3)
+ 91: TypePointer Uniform 90(B4)
+ 92(b4): 91(ptr) Variable Uniform
+ 93(S2): TypeStruct 87 6(float16_t) 37(float)
+ 94(B3): TypeStruct 93(S2)
+ 95: TypePointer Uniform 94(B3)
+ 96(b3): 95(ptr) Variable Uniform
+ 97: TypePointer Uniform 87
+ 104: 9(int) Constant 0
+ 108: 20(int) Constant 5
+ 112: TypePointer Function 38(fvec3)
+ 114: 20(int) Constant 7
+ 115: 20(int) Constant 6
+ 116: TypePointer Uniform 20(int)
+ 166: 37(float) Constant 1073741824
+ 167: 40(fvec2) ConstantComposite 83 166
+ 170: 37(float) Constant 1077936128
+ 4(main): 2 Function None 3
+ 5: Label
+ 70(x0): 69(ptr) Variable Function
+ 76(x1): 75(ptr) Variable Function
+ 113(v3): 112(ptr) Variable Function
+ 135(u3): 112(ptr) Variable Function
+ 29: 28(ptr) AccessChain 27(b1) 21
+ 30:6(float16_t) Load 29
+ 31: 28(ptr) AccessChain 19(b2) 21
+ Store 31 30
+ 35: 34(ptr) AccessChain 19(b2) 33
+ 36: 8(f16vec3) Load 35
+ 39: 38(fvec3) FConvert 36
+ 41: 40(fvec2) VectorShuffle 39 39 0 1
+ 42: 7(f16vec2) FConvert 41
+ 44: 43(ptr) AccessChain 19(b2) 32
+ Store 44 42
+ 53: 34(ptr) AccessChain 52(b5) 33
+ 54: 8(f16vec3) Load 53
+ 55: 38(fvec3) FConvert 54
+ 56: 40(fvec2) VectorShuffle 55 55 0 1
+ 57: 7(f16vec2) FConvert 56
+ 58: 43(ptr) AccessChain 19(b2) 32
+ Store 58 57
+ 60: 28(ptr) AccessChain 19(b2) 59 21
+ 61:6(float16_t) Load 60
+ 62: 28(ptr) AccessChain 19(b2) 59 21
+ Store 62 61
+ 63: 28(ptr) AccessChain 52(b5) 59 32
+ 64:6(float16_t) Load 63
+ 65: 28(ptr) AccessChain 19(b2) 59 32
+ Store 65 64
+ 66: 43(ptr) AccessChain 19(b2) 32
+ 67: 7(f16vec2) Load 66
+ 68: 43(ptr) AccessChain 19(b2) 32
+ Store 68 67
+ 71: 28(ptr) AccessChain 27(b1) 21
+ 72:6(float16_t) Load 71
+ 73: 37(float) FConvert 72
+ Store 70(x0) 73
+ 77: 28(ptr) AccessChain 27(b1) 21
+ 78:6(float16_t) Load 77
+ 79: 37(float) FConvert 78
+ 80: 43(ptr) AccessChain 19(b2) 32
+ 81: 7(f16vec2) Load 80
+ 82: 40(fvec2) FConvert 81
+ 84: 37(float) CompositeExtract 82 0
+ 85: 37(float) CompositeExtract 82 1
+ 86: 74(fvec4) CompositeConstruct 79 84 85 83
+ Store 76(x1) 86
+ 98: 97(ptr) AccessChain 96(b3) 21 21
+ 99: 87 Load 98
+ 100: 97(ptr) AccessChain 92(b4) 21 21
+ Store 100 99
+ 101: 43(ptr) AccessChain 19(b2) 32
+ 102: 7(f16vec2) Load 101
+ 103: 40(fvec2) FConvert 102
+ 105: 37(float) CompositeExtract 103 0
+ 106:6(float16_t) FConvert 105
+ 107: 28(ptr) AccessChain 19(b2) 21
+ Store 107 106
+ 109: 43(ptr) AccessChain 19(b2) 108 32 32
+ 110: 7(f16vec2) Load 109
+ 111: 43(ptr) AccessChain 19(b2) 32
+ Store 111 110
+ 117: 116(ptr) AccessChain 27(b1) 115
+ 118: 20(int) Load 117
+ 119: 28(ptr) AccessChain 19(b2) 114 118
+ 120:6(float16_t) Load 119
+ 121: 37(float) FConvert 120
+ 122: 116(ptr) AccessChain 27(b1) 115
+ 123: 20(int) Load 122
+ 124: 20(int) IAdd 123 32
+ 125: 28(ptr) AccessChain 19(b2) 114 124
+ 126:6(float16_t) Load 125
+ 127: 37(float) FConvert 126
+ 128: 116(ptr) AccessChain 27(b1) 115
+ 129: 20(int) Load 128
+ 130: 20(int) IAdd 129 33
+ 131: 28(ptr) AccessChain 19(b2) 114 130
+ 132:6(float16_t) Load 131
+ 133: 37(float) FConvert 132
+ 134: 38(fvec3) CompositeConstruct 121 127 133
+ Store 113(v3) 134
+ 136: 116(ptr) AccessChain 27(b1) 115
+ 137: 20(int) Load 136
+ 138: 28(ptr) AccessChain 52(b5) 114 137
+ 139:6(float16_t) Load 138
+ 140: 37(float) FConvert 139
+ 141: 116(ptr) AccessChain 27(b1) 115
+ 142: 20(int) Load 141
+ 143: 20(int) IAdd 142 32
+ 144: 28(ptr) AccessChain 52(b5) 114 143
+ 145:6(float16_t) Load 144
+ 146: 37(float) FConvert 145
+ 147: 116(ptr) AccessChain 27(b1) 115
+ 148: 20(int) Load 147
+ 149: 20(int) IAdd 148 33
+ 150: 28(ptr) AccessChain 52(b5) 114 149
+ 151:6(float16_t) Load 150
+ 152: 37(float) FConvert 151
+ 153: 38(fvec3) CompositeConstruct 140 146 152
+ Store 135(u3) 153
+ 154: 43(ptr) AccessChain 19(b2) 115 21
+ 155: 7(f16vec2) Load 154
+ 156: 43(ptr) AccessChain 19(b2) 115 21
+ Store 156 155
+ 157: 43(ptr) AccessChain 52(b5) 115 32
+ 158: 7(f16vec2) Load 157
+ 159: 43(ptr) AccessChain 19(b2) 115 32
+ Store 159 158
+ 160: 28(ptr) AccessChain 27(b1) 21
+ 161:6(float16_t) Load 160
+ 162: 28(ptr) AccessChain 19(b2) 32 104
+ Store 162 161
+ 163: 28(ptr) AccessChain 19(b2) 32 104
+ 164:6(float16_t) Load 163
+ 165: 28(ptr) AccessChain 19(b2) 21
+ Store 165 164
+ 168: 7(f16vec2) FConvert 167
+ 169: 43(ptr) AccessChain 19(b2) 32
+ Store 169 168
+ 171:6(float16_t) FConvert 170
+ 172: 28(ptr) AccessChain 19(b2) 21
+ Store 172 171
+ Return
+ FunctionEnd
--- /dev/null
+spv.16bitstorage_Error-int.frag
+ERROR: 0:54: '(u)int16 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
+GL_AMD_gpu_shader_int16
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_int16
+ERROR: 0:58: 'can't use with structs containing int16' : required extension not requested: Possible extensions include:
+GL_AMD_gpu_shader_int16
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_int16
+ERROR: 0:61: '(u)int16 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
+GL_AMD_gpu_shader_int16
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_int16
+ERROR: 0:74: ''[' does not operate on types containing (u)int16' : required extension not requested: Possible extensions include:
+GL_AMD_gpu_shader_int16
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_int16
+ERROR: 0:75: 'can't swizzle types containing (u)int16' : required extension not requested: Possible extensions include:
+GL_AMD_gpu_shader_int16
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_int16
+ERROR: 0:76: '(u)int16 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
+GL_AMD_gpu_shader_int16
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_int16
+ERROR: 0:76: '(u)int16 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
+GL_AMD_gpu_shader_int16
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_int16
+ERROR: 0:76: '(u)int16 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
+GL_AMD_gpu_shader_int16
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_int16
+ERROR: 0:77: '(u)int16 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
+GL_AMD_gpu_shader_int16
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_int16
+ERROR: 0:77: '(u)int16 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
+GL_AMD_gpu_shader_int16
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_int16
+ERROR: 0:78: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type 'layout( column_major std140 offset=0) uniform int16_t' and a right operand of type 'layout( column_major std140 offset=0) uniform int16_t' (or there is no acceptable conversion)
+ERROR: 0:79: '-' : wrong operand type no operation '-' exists that takes an operand of type layout( column_major std140 offset=0) uniform int16_t (or there is no acceptable conversion)
+ERROR: 0:80: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type 'layout( column_major std140 offset=0) uniform int16_t' and a right operand of type ' const int' (or there is no acceptable conversion)
+ERROR: 0:81: 'can't swizzle types containing (u)int16' : required extension not requested: Possible extensions include:
+GL_AMD_gpu_shader_int16
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_int16
+ERROR: 0:82: 'can't use with structs containing int16' : required extension not requested: Possible extensions include:
+GL_AMD_gpu_shader_int16
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_int16
+ERROR: 0:83: '(u)int16 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
+GL_AMD_gpu_shader_int16
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_int16
+ERROR: 0:84: '(u)int16 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
+GL_AMD_gpu_shader_int16
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_int16
+ERROR: 0:85: '(u)int16 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
+GL_AMD_gpu_shader_int16
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_int16
+ERROR: 0:86: '==' : wrong operand types: no operation '==' exists that takes a left-hand operand of type 'layout( column_major std140 offset=0) uniform int16_t' and a right operand of type 'layout( column_major std140 offset=0) uniform int16_t' (or there is no acceptable conversion)
+ERROR: 0:87: 'can't use with arrays containing int16' : required extension not requested: Possible extensions include:
+GL_AMD_gpu_shader_int16
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_int16
+ERROR: 0:88: '16-bit vector constructors only take vector types' : required extension not requested: Possible extensions include:
+GL_AMD_gpu_shader_int16
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_int16
+ERROR: 0:89: '16-bit array constructors not supported' : required extension not requested: Possible extensions include:
+GL_AMD_gpu_shader_int16
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_int16
+ERROR: 0:89: '16-bit vector constructors only take vector types' : required extension not requested: Possible extensions include:
+GL_AMD_gpu_shader_int16
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_int16
+ERROR: 0:92: 'Can't construct structure containing 16-bit type' : required extension not requested: Possible extensions include:
+GL_AMD_gpu_shader_int16
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_int16
+ERROR: 0:93: 'func2' : no matching overloaded function found
+ERROR: 0:99: '' : syntax error, unexpected IDENTIFIER
+ERROR: 26 compilation errors. No code generated.
+
+
+SPIR-V is not generated for failed compile or link
--- /dev/null
+spv.16bitstorage_Error-uint.frag
+ERROR: 0:54: '(u)int16 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
+GL_AMD_gpu_shader_int16
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_int16
+ERROR: 0:58: 'can't use with structs containing uint16' : required extension not requested: Possible extensions include:
+GL_AMD_gpu_shader_int16
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_int16
+ERROR: 0:61: '(u)int16 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
+GL_AMD_gpu_shader_int16
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_int16
+ERROR: 0:74: ''[' does not operate on types containing (u)int16' : required extension not requested: Possible extensions include:
+GL_AMD_gpu_shader_int16
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_int16
+ERROR: 0:75: 'can't swizzle types containing (u)int16' : required extension not requested: Possible extensions include:
+GL_AMD_gpu_shader_int16
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_int16
+ERROR: 0:76: '(u)int16 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
+GL_AMD_gpu_shader_int16
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_int16
+ERROR: 0:76: '(u)int16 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
+GL_AMD_gpu_shader_int16
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_int16
+ERROR: 0:76: '(u)int16 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
+GL_AMD_gpu_shader_int16
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_int16
+ERROR: 0:77: '(u)int16 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
+GL_AMD_gpu_shader_int16
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_int16
+ERROR: 0:77: '(u)int16 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
+GL_AMD_gpu_shader_int16
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_int16
+ERROR: 0:78: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type 'layout( column_major std140 offset=0) uniform uint16_t' and a right operand of type 'layout( column_major std140 offset=0) uniform uint16_t' (or there is no acceptable conversion)
+ERROR: 0:79: '-' : wrong operand type no operation '-' exists that takes an operand of type layout( column_major std140 offset=0) uniform uint16_t (or there is no acceptable conversion)
+ERROR: 0:80: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type 'layout( column_major std140 offset=0) uniform uint16_t' and a right operand of type ' const int' (or there is no acceptable conversion)
+ERROR: 0:81: 'can't swizzle types containing (u)int16' : required extension not requested: Possible extensions include:
+GL_AMD_gpu_shader_int16
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_int16
+ERROR: 0:82: 'can't use with structs containing uint16' : required extension not requested: Possible extensions include:
+GL_AMD_gpu_shader_int16
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_int16
+ERROR: 0:83: '(u)int16 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
+GL_AMD_gpu_shader_int16
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_int16
+ERROR: 0:84: '(u)int16 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
+GL_AMD_gpu_shader_int16
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_int16
+ERROR: 0:85: '(u)int16 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
+GL_AMD_gpu_shader_int16
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_int16
+ERROR: 0:86: '==' : wrong operand types: no operation '==' exists that takes a left-hand operand of type 'layout( column_major std140 offset=0) uniform uint16_t' and a right operand of type 'layout( column_major std140 offset=0) uniform uint16_t' (or there is no acceptable conversion)
+ERROR: 0:87: 'can't use with arrays containing uint16' : required extension not requested: Possible extensions include:
+GL_AMD_gpu_shader_int16
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_int16
+ERROR: 0:88: '16-bit vector constructors only take vector types' : required extension not requested: Possible extensions include:
+GL_AMD_gpu_shader_int16
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_int16
+ERROR: 0:89: '16-bit array constructors not supported' : required extension not requested: Possible extensions include:
+GL_AMD_gpu_shader_int16
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_int16
+ERROR: 0:89: '16-bit vector constructors only take vector types' : required extension not requested: Possible extensions include:
+GL_AMD_gpu_shader_int16
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_int16
+ERROR: 0:92: 'Can't construct structure containing 16-bit type' : required extension not requested: Possible extensions include:
+GL_AMD_gpu_shader_int16
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_int16
+ERROR: 0:93: 'func2' : no matching overloaded function found
+ERROR: 0:99: '' : syntax error, unexpected IDENTIFIER
+ERROR: 26 compilation errors. No code generated.
+
+
+SPIR-V is not generated for failed compile or link
--- /dev/null
+spv.16bitstorage_Error.frag
+ERROR: 0:54: 'float16 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
+GL_AMD_gpu_shader_half_float
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_float16
+ERROR: 0:58: 'can't use with structs containing float16' : required extension not requested: Possible extensions include:
+GL_AMD_gpu_shader_half_float
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_float16
+ERROR: 0:61: 'float16 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
+GL_AMD_gpu_shader_half_float
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_float16
+ERROR: 0:74: ''[' does not operate on types containing float16' : required extension not requested: Possible extensions include:
+GL_AMD_gpu_shader_half_float
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_float16
+ERROR: 0:75: 'can't swizzle types containing float16' : required extension not requested: Possible extensions include:
+GL_AMD_gpu_shader_half_float
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_float16
+ERROR: 0:76: 'float16 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
+GL_AMD_gpu_shader_half_float
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_float16
+ERROR: 0:76: 'float16 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
+GL_AMD_gpu_shader_half_float
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_float16
+ERROR: 0:76: 'float16 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
+GL_AMD_gpu_shader_half_float
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_float16
+ERROR: 0:77: 'float16 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
+GL_AMD_gpu_shader_half_float
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_float16
+ERROR: 0:77: 'float16 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
+GL_AMD_gpu_shader_half_float
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_float16
+ERROR: 0:78: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type 'layout( column_major std140 offset=0) uniform float16_t' and a right operand of type 'layout( column_major std140 offset=0) uniform float16_t' (or there is no acceptable conversion)
+ERROR: 0:79: '-' : wrong operand type no operation '-' exists that takes an operand of type layout( column_major std140 offset=0) uniform float16_t (or there is no acceptable conversion)
+ERROR: 0:80: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type 'layout( column_major std140 offset=0) uniform float16_t' and a right operand of type ' const float' (or there is no acceptable conversion)
+ERROR: 0:81: 'can't swizzle types containing float16' : required extension not requested: Possible extensions include:
+GL_AMD_gpu_shader_half_float
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_float16
+ERROR: 0:82: 'can't use with structs containing float16' : required extension not requested: Possible extensions include:
+GL_AMD_gpu_shader_half_float
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_float16
+ERROR: 0:83: 'float16 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
+GL_AMD_gpu_shader_half_float
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_float16
+ERROR: 0:84: 'float16 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
+GL_AMD_gpu_shader_half_float
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_float16
+ERROR: 0:85: 'float16 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
+GL_AMD_gpu_shader_half_float
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_float16
+ERROR: 0:86: '==' : wrong operand types: no operation '==' exists that takes a left-hand operand of type 'layout( column_major std140 offset=0) uniform float16_t' and a right operand of type 'layout( column_major std140 offset=0) uniform float16_t' (or there is no acceptable conversion)
+ERROR: 0:87: 'can't use with arrays containing float16' : required extension not requested: Possible extensions include:
+GL_AMD_gpu_shader_half_float
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_float16
+ERROR: 0:88: 'explicit types' : required extension not requested: Possible extensions include:
+GL_AMD_gpu_shader_half_float
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_float16
+ERROR: 0:88: 'explicit types' : required extension not requested: Possible extensions include:
+GL_AMD_gpu_shader_half_float
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_float16
+ERROR: 0:89: '16-bit vector constructors only take vector types' : required extension not requested: Possible extensions include:
+GL_AMD_gpu_shader_half_float
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_float16
+ERROR: 0:90: '16-bit array constructors not supported' : required extension not requested: Possible extensions include:
+GL_AMD_gpu_shader_half_float
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_float16
+ERROR: 0:90: '16-bit vector constructors only take vector types' : required extension not requested: Possible extensions include:
+GL_AMD_gpu_shader_half_float
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_float16
+ERROR: 0:93: 'Can't construct structure containing 16-bit type' : required extension not requested: Possible extensions include:
+GL_AMD_gpu_shader_half_float
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_float16
+ERROR: 0:94: 'func2' : no matching overloaded function found
+ERROR: 0:100: '' : syntax error, unexpected IDENTIFIER
+ERROR: 28 compilation errors. No code generated.
+
+
+SPIR-V is not generated for failed compile or link
--- /dev/null
+spv.8bitstorage-int.frag
+// Module Version 10000
+// Generated by (magic number): 80007
+// Id's are bound by 171
+
+ Capability Shader
+ Capability Int8
+ Capability CapabilityStorageBuffer8BitAccess
+ Capability CapabilityUniformAndStorageBuffer8BitAccess
+ Extension "SPV_KHR_8bit_storage"
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main"
+ ExecutionMode 4 OriginUpperLeft
+ Source GLSL 450
+ SourceExtension "GL_EXT_shader_8bit_storage"
+ Name 4 "main"
+ Name 12 "S"
+ MemberName 12(S) 0 "x"
+ MemberName 12(S) 1 "y"
+ MemberName 12(S) 2 "z"
+ Name 17 "B2"
+ MemberName 17(B2) 0 "o"
+ MemberName 17(B2) 1 "p"
+ MemberName 17(B2) 2 "q"
+ MemberName 17(B2) 3 "r"
+ MemberName 17(B2) 4 "u"
+ MemberName 17(B2) 5 "v"
+ MemberName 17(B2) 6 "x"
+ MemberName 17(B2) 7 "w"
+ Name 19 "b2"
+ Name 23 "S"
+ MemberName 23(S) 0 "x"
+ MemberName 23(S) 1 "y"
+ MemberName 23(S) 2 "z"
+ Name 25 "B1"
+ MemberName 25(B1) 0 "a"
+ MemberName 25(B1) 1 "b"
+ MemberName 25(B1) 2 "c"
+ MemberName 25(B1) 3 "d"
+ MemberName 25(B1) 4 "g"
+ MemberName 25(B1) 5 "h"
+ MemberName 25(B1) 6 "j"
+ Name 27 "b1"
+ Name 45 "S"
+ MemberName 45(S) 0 "x"
+ MemberName 45(S) 1 "y"
+ MemberName 45(S) 2 "z"
+ Name 49 "B5"
+ MemberName 49(B5) 0 "o"
+ MemberName 49(B5) 1 "p"
+ MemberName 49(B5) 2 "q"
+ MemberName 49(B5) 3 "r"
+ MemberName 49(B5) 4 "u"
+ MemberName 49(B5) 5 "v"
+ MemberName 49(B5) 6 "x"
+ MemberName 49(B5) 7 "w"
+ Name 51 "b5"
+ Name 69 "x0"
+ Name 75 "x1"
+ Name 88 "S2"
+ MemberName 88(S2) 0 "x"
+ MemberName 88(S2) 1 "y"
+ MemberName 88(S2) 2 "z"
+ Name 89 "S3"
+ MemberName 89(S3) 0 "x"
+ Name 90 "B4"
+ MemberName 90(B4) 0 "x"
+ MemberName 90(B4) 1 "y"
+ Name 92 "b4"
+ Name 93 "S2"
+ MemberName 93(S2) 0 "x"
+ MemberName 93(S2) 1 "y"
+ MemberName 93(S2) 2 "z"
+ Name 94 "B3"
+ MemberName 94(B3) 0 "x"
+ Name 96 "b3"
+ Name 113 "v3"
+ Name 135 "u3"
+ Decorate 11 ArrayStride 1
+ MemberDecorate 12(S) 0 Offset 0
+ MemberDecorate 12(S) 1 Offset 2
+ MemberDecorate 12(S) 2 Offset 4
+ Decorate 13 ArrayStride 8
+ Decorate 15 ArrayStride 2
+ Decorate 16 ArrayStride 1
+ MemberDecorate 17(B2) 0 Offset 0
+ MemberDecorate 17(B2) 1 Offset 2
+ MemberDecorate 17(B2) 2 Offset 4
+ MemberDecorate 17(B2) 3 Offset 7
+ MemberDecorate 17(B2) 4 Offset 12
+ MemberDecorate 17(B2) 5 Offset 20
+ MemberDecorate 17(B2) 6 Offset 36
+ MemberDecorate 17(B2) 7 Offset 236
+ Decorate 17(B2) BufferBlock
+ Decorate 19(b2) DescriptorSet 0
+ Decorate 22 ArrayStride 16
+ MemberDecorate 23(S) 0 Offset 0
+ MemberDecorate 23(S) 1 Offset 2
+ MemberDecorate 23(S) 2 Offset 4
+ Decorate 24 ArrayStride 16
+ MemberDecorate 25(B1) 0 Offset 0
+ MemberDecorate 25(B1) 1 Offset 2
+ MemberDecorate 25(B1) 2 Offset 4
+ MemberDecorate 25(B1) 3 Offset 16
+ MemberDecorate 25(B1) 4 Offset 48
+ MemberDecorate 25(B1) 5 Offset 64
+ MemberDecorate 25(B1) 6 Offset 96
+ Decorate 25(B1) Block
+ Decorate 27(b1) DescriptorSet 0
+ Decorate 44 ArrayStride 16
+ MemberDecorate 45(S) 0 Offset 0
+ MemberDecorate 45(S) 1 Offset 2
+ MemberDecorate 45(S) 2 Offset 4
+ Decorate 46 ArrayStride 16
+ Decorate 47 ArrayStride 16
+ Decorate 48 ArrayStride 16
+ MemberDecorate 49(B5) 0 Offset 0
+ MemberDecorate 49(B5) 1 Offset 2
+ MemberDecorate 49(B5) 2 Offset 4
+ MemberDecorate 49(B5) 3 Offset 16
+ MemberDecorate 49(B5) 4 Offset 48
+ MemberDecorate 49(B5) 5 Offset 64
+ MemberDecorate 49(B5) 6 Offset 96
+ MemberDecorate 49(B5) 7 Offset 1696
+ Decorate 49(B5) Block
+ Decorate 51(b5) DescriptorSet 0
+ MemberDecorate 88(S2) 0 ColMajor
+ MemberDecorate 88(S2) 0 Offset 0
+ MemberDecorate 88(S2) 0 MatrixStride 16
+ MemberDecorate 88(S2) 1 Offset 64
+ MemberDecorate 88(S2) 2 Offset 68
+ MemberDecorate 89(S3) 0 Offset 0
+ MemberDecorate 90(B4) 0 Offset 0
+ MemberDecorate 90(B4) 1 Offset 80
+ Decorate 90(B4) BufferBlock
+ Decorate 92(b4) DescriptorSet 0
+ MemberDecorate 93(S2) 0 RowMajor
+ MemberDecorate 93(S2) 0 Offset 0
+ MemberDecorate 93(S2) 0 MatrixStride 16
+ MemberDecorate 93(S2) 1 Offset 64
+ MemberDecorate 93(S2) 2 Offset 68
+ MemberDecorate 94(B3) 0 Offset 0
+ Decorate 94(B3) BufferBlock
+ Decorate 96(b3) DescriptorSet 0
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeInt 8 1
+ 7: TypeVector 6(int8_t) 2
+ 8: TypeVector 6(int8_t) 3
+ 9: TypeInt 32 0
+ 10: 9(int) Constant 2
+ 11: TypeArray 6(int8_t) 10
+ 12(S): TypeStruct 6(int8_t) 7(i8vec2) 8(i8vec3)
+ 13: TypeArray 12(S) 10
+ 14: 9(int) Constant 100
+ 15: TypeArray 7(i8vec2) 14
+ 16: TypeRuntimeArray 6(int8_t)
+ 17(B2): TypeStruct 6(int8_t) 7(i8vec2) 8(i8vec3) 11 12(S) 13 15 16
+ 18: TypePointer Uniform 17(B2)
+ 19(b2): 18(ptr) Variable Uniform
+ 20: TypeInt 32 1
+ 21: 20(int) Constant 0
+ 22: TypeArray 6(int8_t) 10
+ 23(S): TypeStruct 6(int8_t) 7(i8vec2) 8(i8vec3)
+ 24: TypeArray 23(S) 10
+ 25(B1): TypeStruct 6(int8_t) 7(i8vec2) 8(i8vec3) 22 23(S) 24 20(int)
+ 26: TypePointer Uniform 25(B1)
+ 27(b1): 26(ptr) Variable Uniform
+ 28: TypePointer Uniform 6(int8_t)
+ 32: 20(int) Constant 1
+ 33: 20(int) Constant 2
+ 34: TypePointer Uniform 8(i8vec3)
+ 37: TypeVector 20(int) 3
+ 39: TypeVector 20(int) 2
+ 42: TypePointer Uniform 7(i8vec2)
+ 44: TypeArray 6(int8_t) 10
+ 45(S): TypeStruct 6(int8_t) 7(i8vec2) 8(i8vec3)
+ 46: TypeArray 45(S) 10
+ 47: TypeArray 7(i8vec2) 14
+ 48: TypeArray 6(int8_t) 14
+ 49(B5): TypeStruct 6(int8_t) 7(i8vec2) 8(i8vec3) 44 45(S) 46 47 48
+ 50: TypePointer Uniform 49(B5)
+ 51(b5): 50(ptr) Variable Uniform
+ 58: 20(int) Constant 3
+ 68: TypePointer Function 20(int)
+ 73: TypeVector 20(int) 4
+ 74: TypePointer Function 73(ivec4)
+ 85: TypeFloat 32
+ 86: TypeVector 85(float) 4
+ 87: TypeMatrix 86(fvec4) 4
+ 88(S2): TypeStruct 87 6(int8_t) 20(int)
+ 89(S3): TypeStruct 88(S2)
+ 90(B4): TypeStruct 88(S2) 89(S3)
+ 91: TypePointer Uniform 90(B4)
+ 92(b4): 91(ptr) Variable Uniform
+ 93(S2): TypeStruct 87 6(int8_t) 20(int)
+ 94(B3): TypeStruct 93(S2)
+ 95: TypePointer Uniform 94(B3)
+ 96(b3): 95(ptr) Variable Uniform
+ 97: TypePointer Uniform 87
+ 104: 9(int) Constant 0
+ 108: 20(int) Constant 5
+ 112: TypePointer Function 37(ivec3)
+ 114: 20(int) Constant 7
+ 115: 20(int) Constant 6
+ 116: TypePointer Uniform 20(int)
+ 166: 39(ivec2) ConstantComposite 32 33
+ 4(main): 2 Function None 3
+ 5: Label
+ 69(x0): 68(ptr) Variable Function
+ 75(x1): 74(ptr) Variable Function
+ 113(v3): 112(ptr) Variable Function
+ 135(u3): 112(ptr) Variable Function
+ 29: 28(ptr) AccessChain 27(b1) 21
+ 30: 6(int8_t) Load 29
+ 31: 28(ptr) AccessChain 19(b2) 21
+ Store 31 30
+ 35: 34(ptr) AccessChain 19(b2) 33
+ 36: 8(i8vec3) Load 35
+ 38: 37(ivec3) SConvert 36
+ 40: 39(ivec2) VectorShuffle 38 38 0 1
+ 41: 7(i8vec2) SConvert 40
+ 43: 42(ptr) AccessChain 19(b2) 32
+ Store 43 41
+ 52: 34(ptr) AccessChain 51(b5) 33
+ 53: 8(i8vec3) Load 52
+ 54: 37(ivec3) SConvert 53
+ 55: 39(ivec2) VectorShuffle 54 54 0 1
+ 56: 7(i8vec2) SConvert 55
+ 57: 42(ptr) AccessChain 19(b2) 32
+ Store 57 56
+ 59: 28(ptr) AccessChain 19(b2) 58 21
+ 60: 6(int8_t) Load 59
+ 61: 28(ptr) AccessChain 19(b2) 58 21
+ Store 61 60
+ 62: 28(ptr) AccessChain 51(b5) 58 32
+ 63: 6(int8_t) Load 62
+ 64: 28(ptr) AccessChain 19(b2) 58 32
+ Store 64 63
+ 65: 42(ptr) AccessChain 19(b2) 32
+ 66: 7(i8vec2) Load 65
+ 67: 42(ptr) AccessChain 19(b2) 32
+ Store 67 66
+ 70: 28(ptr) AccessChain 27(b1) 21
+ 71: 6(int8_t) Load 70
+ 72: 20(int) SConvert 71
+ Store 69(x0) 72
+ 76: 28(ptr) AccessChain 27(b1) 21
+ 77: 6(int8_t) Load 76
+ 78: 20(int) SConvert 77
+ 79: 42(ptr) AccessChain 19(b2) 32
+ 80: 7(i8vec2) Load 79
+ 81: 39(ivec2) SConvert 80
+ 82: 20(int) CompositeExtract 81 0
+ 83: 20(int) CompositeExtract 81 1
+ 84: 73(ivec4) CompositeConstruct 78 82 83 32
+ Store 75(x1) 84
+ 98: 97(ptr) AccessChain 96(b3) 21 21
+ 99: 87 Load 98
+ 100: 97(ptr) AccessChain 92(b4) 21 21
+ Store 100 99
+ 101: 42(ptr) AccessChain 19(b2) 32
+ 102: 7(i8vec2) Load 101
+ 103: 39(ivec2) SConvert 102
+ 105: 20(int) CompositeExtract 103 0
+ 106: 6(int8_t) SConvert 105
+ 107: 28(ptr) AccessChain 19(b2) 21
+ Store 107 106
+ 109: 42(ptr) AccessChain 19(b2) 108 32 32
+ 110: 7(i8vec2) Load 109
+ 111: 42(ptr) AccessChain 19(b2) 32
+ Store 111 110
+ 117: 116(ptr) AccessChain 27(b1) 115
+ 118: 20(int) Load 117
+ 119: 28(ptr) AccessChain 19(b2) 114 118
+ 120: 6(int8_t) Load 119
+ 121: 20(int) SConvert 120
+ 122: 116(ptr) AccessChain 27(b1) 115
+ 123: 20(int) Load 122
+ 124: 20(int) IAdd 123 32
+ 125: 28(ptr) AccessChain 19(b2) 114 124
+ 126: 6(int8_t) Load 125
+ 127: 20(int) SConvert 126
+ 128: 116(ptr) AccessChain 27(b1) 115
+ 129: 20(int) Load 128
+ 130: 20(int) IAdd 129 33
+ 131: 28(ptr) AccessChain 19(b2) 114 130
+ 132: 6(int8_t) Load 131
+ 133: 20(int) SConvert 132
+ 134: 37(ivec3) CompositeConstruct 121 127 133
+ Store 113(v3) 134
+ 136: 116(ptr) AccessChain 27(b1) 115
+ 137: 20(int) Load 136
+ 138: 28(ptr) AccessChain 51(b5) 114 137
+ 139: 6(int8_t) Load 138
+ 140: 20(int) SConvert 139
+ 141: 116(ptr) AccessChain 27(b1) 115
+ 142: 20(int) Load 141
+ 143: 20(int) IAdd 142 32
+ 144: 28(ptr) AccessChain 51(b5) 114 143
+ 145: 6(int8_t) Load 144
+ 146: 20(int) SConvert 145
+ 147: 116(ptr) AccessChain 27(b1) 115
+ 148: 20(int) Load 147
+ 149: 20(int) IAdd 148 33
+ 150: 28(ptr) AccessChain 51(b5) 114 149
+ 151: 6(int8_t) Load 150
+ 152: 20(int) SConvert 151
+ 153: 37(ivec3) CompositeConstruct 140 146 152
+ Store 135(u3) 153
+ 154: 42(ptr) AccessChain 19(b2) 115 21
+ 155: 7(i8vec2) Load 154
+ 156: 42(ptr) AccessChain 19(b2) 115 21
+ Store 156 155
+ 157: 42(ptr) AccessChain 51(b5) 115 32
+ 158: 7(i8vec2) Load 157
+ 159: 42(ptr) AccessChain 19(b2) 115 32
+ Store 159 158
+ 160: 28(ptr) AccessChain 27(b1) 21
+ 161: 6(int8_t) Load 160
+ 162: 28(ptr) AccessChain 19(b2) 32 104
+ Store 162 161
+ 163: 28(ptr) AccessChain 19(b2) 32 104
+ 164: 6(int8_t) Load 163
+ 165: 28(ptr) AccessChain 19(b2) 21
+ Store 165 164
+ 167: 7(i8vec2) SConvert 166
+ 168: 42(ptr) AccessChain 19(b2) 32
+ Store 168 167
+ 169: 6(int8_t) SConvert 58
+ 170: 28(ptr) AccessChain 19(b2) 21
+ Store 170 169
+ Return
+ FunctionEnd
--- /dev/null
+spv.8bitstorage-uint.frag
+// Module Version 10000
+// Generated by (magic number): 80007
+// Id's are bound by 173
+
+ Capability Shader
+ Capability Int8
+ Capability CapabilityStorageBuffer8BitAccess
+ Capability CapabilityUniformAndStorageBuffer8BitAccess
+ Extension "SPV_KHR_8bit_storage"
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main"
+ ExecutionMode 4 OriginUpperLeft
+ Source GLSL 450
+ SourceExtension "GL_EXT_shader_8bit_storage"
+ Name 4 "main"
+ Name 12 "S"
+ MemberName 12(S) 0 "x"
+ MemberName 12(S) 1 "y"
+ MemberName 12(S) 2 "z"
+ Name 17 "B2"
+ MemberName 17(B2) 0 "o"
+ MemberName 17(B2) 1 "p"
+ MemberName 17(B2) 2 "q"
+ MemberName 17(B2) 3 "r"
+ MemberName 17(B2) 4 "u"
+ MemberName 17(B2) 5 "v"
+ MemberName 17(B2) 6 "x"
+ MemberName 17(B2) 7 "w"
+ Name 19 "b2"
+ Name 23 "S"
+ MemberName 23(S) 0 "x"
+ MemberName 23(S) 1 "y"
+ MemberName 23(S) 2 "z"
+ Name 25 "B1"
+ MemberName 25(B1) 0 "a"
+ MemberName 25(B1) 1 "b"
+ MemberName 25(B1) 2 "c"
+ MemberName 25(B1) 3 "d"
+ MemberName 25(B1) 4 "g"
+ MemberName 25(B1) 5 "h"
+ MemberName 25(B1) 6 "j"
+ Name 27 "b1"
+ Name 45 "S"
+ MemberName 45(S) 0 "x"
+ MemberName 45(S) 1 "y"
+ MemberName 45(S) 2 "z"
+ Name 49 "B5"
+ MemberName 49(B5) 0 "o"
+ MemberName 49(B5) 1 "p"
+ MemberName 49(B5) 2 "q"
+ MemberName 49(B5) 3 "r"
+ MemberName 49(B5) 4 "u"
+ MemberName 49(B5) 5 "v"
+ MemberName 49(B5) 6 "x"
+ MemberName 49(B5) 7 "w"
+ Name 51 "b5"
+ Name 69 "x0"
+ Name 75 "x1"
+ Name 89 "S2"
+ MemberName 89(S2) 0 "x"
+ MemberName 89(S2) 1 "y"
+ MemberName 89(S2) 2 "z"
+ Name 90 "S3"
+ MemberName 90(S3) 0 "x"
+ Name 91 "B4"
+ MemberName 91(B4) 0 "x"
+ MemberName 91(B4) 1 "y"
+ Name 93 "b4"
+ Name 94 "S2"
+ MemberName 94(S2) 0 "x"
+ MemberName 94(S2) 1 "y"
+ MemberName 94(S2) 2 "z"
+ Name 95 "B3"
+ MemberName 95(B3) 0 "x"
+ Name 97 "b3"
+ Name 114 "v3"
+ Name 136 "u3"
+ Decorate 11 ArrayStride 1
+ MemberDecorate 12(S) 0 Offset 0
+ MemberDecorate 12(S) 1 Offset 2
+ MemberDecorate 12(S) 2 Offset 4
+ Decorate 13 ArrayStride 8
+ Decorate 15 ArrayStride 2
+ Decorate 16 ArrayStride 1
+ MemberDecorate 17(B2) 0 Offset 0
+ MemberDecorate 17(B2) 1 Offset 2
+ MemberDecorate 17(B2) 2 Offset 4
+ MemberDecorate 17(B2) 3 Offset 7
+ MemberDecorate 17(B2) 4 Offset 12
+ MemberDecorate 17(B2) 5 Offset 20
+ MemberDecorate 17(B2) 6 Offset 36
+ MemberDecorate 17(B2) 7 Offset 236
+ Decorate 17(B2) BufferBlock
+ Decorate 19(b2) DescriptorSet 0
+ Decorate 22 ArrayStride 16
+ MemberDecorate 23(S) 0 Offset 0
+ MemberDecorate 23(S) 1 Offset 2
+ MemberDecorate 23(S) 2 Offset 4
+ Decorate 24 ArrayStride 16
+ MemberDecorate 25(B1) 0 Offset 0
+ MemberDecorate 25(B1) 1 Offset 2
+ MemberDecorate 25(B1) 2 Offset 4
+ MemberDecorate 25(B1) 3 Offset 16
+ MemberDecorate 25(B1) 4 Offset 48
+ MemberDecorate 25(B1) 5 Offset 64
+ MemberDecorate 25(B1) 6 Offset 96
+ Decorate 25(B1) Block
+ Decorate 27(b1) DescriptorSet 0
+ Decorate 44 ArrayStride 16
+ MemberDecorate 45(S) 0 Offset 0
+ MemberDecorate 45(S) 1 Offset 2
+ MemberDecorate 45(S) 2 Offset 4
+ Decorate 46 ArrayStride 16
+ Decorate 47 ArrayStride 16
+ Decorate 48 ArrayStride 16
+ MemberDecorate 49(B5) 0 Offset 0
+ MemberDecorate 49(B5) 1 Offset 2
+ MemberDecorate 49(B5) 2 Offset 4
+ MemberDecorate 49(B5) 3 Offset 16
+ MemberDecorate 49(B5) 4 Offset 48
+ MemberDecorate 49(B5) 5 Offset 64
+ MemberDecorate 49(B5) 6 Offset 96
+ MemberDecorate 49(B5) 7 Offset 1696
+ Decorate 49(B5) Block
+ Decorate 51(b5) DescriptorSet 0
+ MemberDecorate 89(S2) 0 ColMajor
+ MemberDecorate 89(S2) 0 Offset 0
+ MemberDecorate 89(S2) 0 MatrixStride 16
+ MemberDecorate 89(S2) 1 Offset 64
+ MemberDecorate 89(S2) 2 Offset 68
+ MemberDecorate 90(S3) 0 Offset 0
+ MemberDecorate 91(B4) 0 Offset 0
+ MemberDecorate 91(B4) 1 Offset 80
+ Decorate 91(B4) BufferBlock
+ Decorate 93(b4) DescriptorSet 0
+ MemberDecorate 94(S2) 0 RowMajor
+ MemberDecorate 94(S2) 0 Offset 0
+ MemberDecorate 94(S2) 0 MatrixStride 16
+ MemberDecorate 94(S2) 1 Offset 64
+ MemberDecorate 94(S2) 2 Offset 68
+ MemberDecorate 95(B3) 0 Offset 0
+ Decorate 95(B3) BufferBlock
+ Decorate 97(b3) DescriptorSet 0
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeInt 8 0
+ 7: TypeVector 6(int8_t) 2
+ 8: TypeVector 6(int8_t) 3
+ 9: TypeInt 32 0
+ 10: 9(int) Constant 2
+ 11: TypeArray 6(int8_t) 10
+ 12(S): TypeStruct 6(int8_t) 7(i8vec2) 8(i8vec3)
+ 13: TypeArray 12(S) 10
+ 14: 9(int) Constant 100
+ 15: TypeArray 7(i8vec2) 14
+ 16: TypeRuntimeArray 6(int8_t)
+ 17(B2): TypeStruct 6(int8_t) 7(i8vec2) 8(i8vec3) 11 12(S) 13 15 16
+ 18: TypePointer Uniform 17(B2)
+ 19(b2): 18(ptr) Variable Uniform
+ 20: TypeInt 32 1
+ 21: 20(int) Constant 0
+ 22: TypeArray 6(int8_t) 10
+ 23(S): TypeStruct 6(int8_t) 7(i8vec2) 8(i8vec3)
+ 24: TypeArray 23(S) 10
+ 25(B1): TypeStruct 6(int8_t) 7(i8vec2) 8(i8vec3) 22 23(S) 24 9(int)
+ 26: TypePointer Uniform 25(B1)
+ 27(b1): 26(ptr) Variable Uniform
+ 28: TypePointer Uniform 6(int8_t)
+ 32: 20(int) Constant 1
+ 33: 20(int) Constant 2
+ 34: TypePointer Uniform 8(i8vec3)
+ 37: TypeVector 9(int) 3
+ 39: TypeVector 9(int) 2
+ 42: TypePointer Uniform 7(i8vec2)
+ 44: TypeArray 6(int8_t) 10
+ 45(S): TypeStruct 6(int8_t) 7(i8vec2) 8(i8vec3)
+ 46: TypeArray 45(S) 10
+ 47: TypeArray 7(i8vec2) 14
+ 48: TypeArray 6(int8_t) 14
+ 49(B5): TypeStruct 6(int8_t) 7(i8vec2) 8(i8vec3) 44 45(S) 46 47 48
+ 50: TypePointer Uniform 49(B5)
+ 51(b5): 50(ptr) Variable Uniform
+ 58: 20(int) Constant 3
+ 68: TypePointer Function 9(int)
+ 73: TypeVector 9(int) 4
+ 74: TypePointer Function 73(ivec4)
+ 82: 9(int) Constant 1
+ 86: TypeFloat 32
+ 87: TypeVector 86(float) 4
+ 88: TypeMatrix 87(fvec4) 4
+ 89(S2): TypeStruct 88 6(int8_t) 9(int)
+ 90(S3): TypeStruct 89(S2)
+ 91(B4): TypeStruct 89(S2) 90(S3)
+ 92: TypePointer Uniform 91(B4)
+ 93(b4): 92(ptr) Variable Uniform
+ 94(S2): TypeStruct 88 6(int8_t) 9(int)
+ 95(B3): TypeStruct 94(S2)
+ 96: TypePointer Uniform 95(B3)
+ 97(b3): 96(ptr) Variable Uniform
+ 98: TypePointer Uniform 88
+ 105: 9(int) Constant 0
+ 109: 20(int) Constant 5
+ 113: TypePointer Function 37(ivec3)
+ 115: 20(int) Constant 7
+ 116: 20(int) Constant 6
+ 117: TypePointer Uniform 9(int)
+ 167: 39(ivec2) ConstantComposite 82 10
+ 170: 9(int) Constant 3
+ 4(main): 2 Function None 3
+ 5: Label
+ 69(x0): 68(ptr) Variable Function
+ 75(x1): 74(ptr) Variable Function
+ 114(v3): 113(ptr) Variable Function
+ 136(u3): 113(ptr) Variable Function
+ 29: 28(ptr) AccessChain 27(b1) 21
+ 30: 6(int8_t) Load 29
+ 31: 28(ptr) AccessChain 19(b2) 21
+ Store 31 30
+ 35: 34(ptr) AccessChain 19(b2) 33
+ 36: 8(i8vec3) Load 35
+ 38: 37(ivec3) UConvert 36
+ 40: 39(ivec2) VectorShuffle 38 38 0 1
+ 41: 7(i8vec2) UConvert 40
+ 43: 42(ptr) AccessChain 19(b2) 32
+ Store 43 41
+ 52: 34(ptr) AccessChain 51(b5) 33
+ 53: 8(i8vec3) Load 52
+ 54: 37(ivec3) UConvert 53
+ 55: 39(ivec2) VectorShuffle 54 54 0 1
+ 56: 7(i8vec2) UConvert 55
+ 57: 42(ptr) AccessChain 19(b2) 32
+ Store 57 56
+ 59: 28(ptr) AccessChain 19(b2) 58 21
+ 60: 6(int8_t) Load 59
+ 61: 28(ptr) AccessChain 19(b2) 58 21
+ Store 61 60
+ 62: 28(ptr) AccessChain 51(b5) 58 32
+ 63: 6(int8_t) Load 62
+ 64: 28(ptr) AccessChain 19(b2) 58 32
+ Store 64 63
+ 65: 42(ptr) AccessChain 19(b2) 32
+ 66: 7(i8vec2) Load 65
+ 67: 42(ptr) AccessChain 19(b2) 32
+ Store 67 66
+ 70: 28(ptr) AccessChain 27(b1) 21
+ 71: 6(int8_t) Load 70
+ 72: 9(int) UConvert 71
+ Store 69(x0) 72
+ 76: 28(ptr) AccessChain 27(b1) 21
+ 77: 6(int8_t) Load 76
+ 78: 9(int) UConvert 77
+ 79: 42(ptr) AccessChain 19(b2) 32
+ 80: 7(i8vec2) Load 79
+ 81: 39(ivec2) UConvert 80
+ 83: 9(int) CompositeExtract 81 0
+ 84: 9(int) CompositeExtract 81 1
+ 85: 73(ivec4) CompositeConstruct 78 83 84 82
+ Store 75(x1) 85
+ 99: 98(ptr) AccessChain 97(b3) 21 21
+ 100: 88 Load 99
+ 101: 98(ptr) AccessChain 93(b4) 21 21
+ Store 101 100
+ 102: 42(ptr) AccessChain 19(b2) 32
+ 103: 7(i8vec2) Load 102
+ 104: 39(ivec2) UConvert 103
+ 106: 9(int) CompositeExtract 104 0
+ 107: 6(int8_t) UConvert 106
+ 108: 28(ptr) AccessChain 19(b2) 21
+ Store 108 107
+ 110: 42(ptr) AccessChain 19(b2) 109 32 32
+ 111: 7(i8vec2) Load 110
+ 112: 42(ptr) AccessChain 19(b2) 32
+ Store 112 111
+ 118: 117(ptr) AccessChain 27(b1) 116
+ 119: 9(int) Load 118
+ 120: 28(ptr) AccessChain 19(b2) 115 119
+ 121: 6(int8_t) Load 120
+ 122: 9(int) UConvert 121
+ 123: 117(ptr) AccessChain 27(b1) 116
+ 124: 9(int) Load 123
+ 125: 9(int) IAdd 124 82
+ 126: 28(ptr) AccessChain 19(b2) 115 125
+ 127: 6(int8_t) Load 126
+ 128: 9(int) UConvert 127
+ 129: 117(ptr) AccessChain 27(b1) 116
+ 130: 9(int) Load 129
+ 131: 9(int) IAdd 130 10
+ 132: 28(ptr) AccessChain 19(b2) 115 131
+ 133: 6(int8_t) Load 132
+ 134: 9(int) UConvert 133
+ 135: 37(ivec3) CompositeConstruct 122 128 134
+ Store 114(v3) 135
+ 137: 117(ptr) AccessChain 27(b1) 116
+ 138: 9(int) Load 137
+ 139: 28(ptr) AccessChain 51(b5) 115 138
+ 140: 6(int8_t) Load 139
+ 141: 9(int) UConvert 140
+ 142: 117(ptr) AccessChain 27(b1) 116
+ 143: 9(int) Load 142
+ 144: 9(int) IAdd 143 82
+ 145: 28(ptr) AccessChain 51(b5) 115 144
+ 146: 6(int8_t) Load 145
+ 147: 9(int) UConvert 146
+ 148: 117(ptr) AccessChain 27(b1) 116
+ 149: 9(int) Load 148
+ 150: 9(int) IAdd 149 10
+ 151: 28(ptr) AccessChain 51(b5) 115 150
+ 152: 6(int8_t) Load 151
+ 153: 9(int) UConvert 152
+ 154: 37(ivec3) CompositeConstruct 141 147 153
+ Store 136(u3) 154
+ 155: 42(ptr) AccessChain 19(b2) 116 21
+ 156: 7(i8vec2) Load 155
+ 157: 42(ptr) AccessChain 19(b2) 116 21
+ Store 157 156
+ 158: 42(ptr) AccessChain 51(b5) 116 32
+ 159: 7(i8vec2) Load 158
+ 160: 42(ptr) AccessChain 19(b2) 116 32
+ Store 160 159
+ 161: 28(ptr) AccessChain 27(b1) 21
+ 162: 6(int8_t) Load 161
+ 163: 28(ptr) AccessChain 19(b2) 32 105
+ Store 163 162
+ 164: 28(ptr) AccessChain 19(b2) 32 105
+ 165: 6(int8_t) Load 164
+ 166: 28(ptr) AccessChain 19(b2) 21
+ Store 166 165
+ 168: 7(i8vec2) UConvert 167
+ 169: 42(ptr) AccessChain 19(b2) 32
+ Store 169 168
+ 171: 6(int8_t) UConvert 170
+ 172: 28(ptr) AccessChain 19(b2) 21
+ Store 172 171
+ Return
+ FunctionEnd
--- /dev/null
+spv.8bitstorage_Error-int.frag
+ERROR: 0:54: '(u)int8 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_int8
+ERROR: 0:58: 'can't use with structs containing int8' : required extension not requested: Possible extensions include:
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_int8
+ERROR: 0:61: '(u)int8 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_int8
+ERROR: 0:74: ''[' does not operate on types containing (u)int8' : required extension not requested: Possible extensions include:
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_int8
+ERROR: 0:75: 'can't swizzle types containing (u)int8' : required extension not requested: Possible extensions include:
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_int8
+ERROR: 0:76: '(u)int8 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_int8
+ERROR: 0:76: '(u)int8 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_int8
+ERROR: 0:76: '(u)int8 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_int8
+ERROR: 0:77: '(u)int8 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_int8
+ERROR: 0:77: '(u)int8 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_int8
+ERROR: 0:78: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type 'layout( column_major std140 offset=0) uniform int8_t' and a right operand of type 'layout( column_major std140 offset=0) uniform int8_t' (or there is no acceptable conversion)
+ERROR: 0:79: '-' : wrong operand type no operation '-' exists that takes an operand of type layout( column_major std140 offset=0) uniform int8_t (or there is no acceptable conversion)
+ERROR: 0:80: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type 'layout( column_major std140 offset=0) uniform int8_t' and a right operand of type ' const int' (or there is no acceptable conversion)
+ERROR: 0:81: 'can't swizzle types containing (u)int8' : required extension not requested: Possible extensions include:
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_int8
+ERROR: 0:82: 'can't use with structs containing int8' : required extension not requested: Possible extensions include:
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_int8
+ERROR: 0:83: '(u)int8 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_int8
+ERROR: 0:84: '(u)int8 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_int8
+ERROR: 0:85: '(u)int8 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_int8
+ERROR: 0:86: '==' : wrong operand types: no operation '==' exists that takes a left-hand operand of type 'layout( column_major std140 offset=0) uniform int8_t' and a right operand of type 'layout( column_major std140 offset=0) uniform int8_t' (or there is no acceptable conversion)
+ERROR: 0:87: 'can't use with arrays containing int8' : required extension not requested: Possible extensions include:
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_int8
+ERROR: 0:88: '8-bit vector constructors only take vector types' : required extension not requested: Possible extensions include:
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_int8
+ERROR: 0:89: '8-bit array constructors not supported' : required extension not requested: Possible extensions include:
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_int8
+ERROR: 0:89: '8-bit vector constructors only take vector types' : required extension not requested: Possible extensions include:
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_int8
+ERROR: 0:92: 'Can't construct structure containing 8-bit type' : required extension not requested: Possible extensions include:
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_int8
+ERROR: 0:93: 'func2' : no matching overloaded function found
+ERROR: 0:99: '' : syntax error, unexpected IDENTIFIER
+ERROR: 26 compilation errors. No code generated.
+
+
+SPIR-V is not generated for failed compile or link
--- /dev/null
+spv.8bitstorage_Error-uint.frag
+ERROR: 0:54: '(u)int8 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_int8
+ERROR: 0:58: 'can't use with structs containing uint8' : required extension not requested: Possible extensions include:
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_int8
+ERROR: 0:61: '(u)int8 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_int8
+ERROR: 0:74: ''[' does not operate on types containing (u)int8' : required extension not requested: Possible extensions include:
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_int8
+ERROR: 0:75: 'can't swizzle types containing (u)int8' : required extension not requested: Possible extensions include:
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_int8
+ERROR: 0:76: '(u)int8 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_int8
+ERROR: 0:76: '(u)int8 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_int8
+ERROR: 0:76: '(u)int8 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_int8
+ERROR: 0:77: '(u)int8 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_int8
+ERROR: 0:77: '(u)int8 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_int8
+ERROR: 0:78: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type 'layout( column_major std140 offset=0) uniform uint8_t' and a right operand of type 'layout( column_major std140 offset=0) uniform uint8_t' (or there is no acceptable conversion)
+ERROR: 0:79: '-' : wrong operand type no operation '-' exists that takes an operand of type layout( column_major std140 offset=0) uniform uint8_t (or there is no acceptable conversion)
+ERROR: 0:80: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type 'layout( column_major std140 offset=0) uniform uint8_t' and a right operand of type ' const int' (or there is no acceptable conversion)
+ERROR: 0:81: 'can't swizzle types containing (u)int8' : required extension not requested: Possible extensions include:
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_int8
+ERROR: 0:82: 'can't use with structs containing uint8' : required extension not requested: Possible extensions include:
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_int8
+ERROR: 0:83: '(u)int8 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_int8
+ERROR: 0:84: '(u)int8 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_int8
+ERROR: 0:85: '(u)int8 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_int8
+ERROR: 0:86: '==' : wrong operand types: no operation '==' exists that takes a left-hand operand of type 'layout( column_major std140 offset=0) uniform uint8_t' and a right operand of type 'layout( column_major std140 offset=0) uniform uint8_t' (or there is no acceptable conversion)
+ERROR: 0:87: 'can't use with arrays containing uint8' : required extension not requested: Possible extensions include:
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_int8
+ERROR: 0:88: '8-bit vector constructors only take vector types' : required extension not requested: Possible extensions include:
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_int8
+ERROR: 0:89: '8-bit array constructors not supported' : required extension not requested: Possible extensions include:
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_int8
+ERROR: 0:89: '8-bit vector constructors only take vector types' : required extension not requested: Possible extensions include:
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_int8
+ERROR: 0:92: 'Can't construct structure containing 8-bit type' : required extension not requested: Possible extensions include:
+GL_KHX_shader_explicit_arithmetic_types
+GL_KHX_shader_explicit_arithmetic_types_int8
+ERROR: 0:93: 'func2' : no matching overloaded function found
+ERROR: 0:99: '' : syntax error, unexpected IDENTIFIER
+ERROR: 26 compilation errors. No code generated.
+
+
+SPIR-V is not generated for failed compile or link
spv.float32.frag
// Module Version 10300
// Generated by (magic number): 80007
-// Id's are bound by 530
+// Id's are bound by 533
Capability Shader
Capability Float16
Capability InterpolationFunction
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
- EntryPoint Fragment 4 "main" 468
+ EntryPoint Fragment 4 "main" 471
ExecutionMode 4 OriginUpperLeft
Source GLSL 450
SourceExtension "GL_KHX_shader_explicit_arithmetic_types"
Name 189 "i16v"
Name 195 "i32v"
Name 201 "i64v"
- Name 204 "u8v"
- Name 210 "u16v"
- Name 215 "u32v"
- Name 221 "u64v"
- Name 226 "f32v2"
- Name 227 "f32v1"
- Name 259 "f32v2"
- Name 260 "f32v1"
- Name 276 "f32v2"
- Name 277 "f32v1"
- Name 298 "f32"
- Name 302 "f32v3"
- Name 342 "bv"
- Name 363 "b"
- Name 373 "iv"
- Name 374 "ResType"
- Name 381 "f32"
- Name 382 "f32v1"
- Name 386 "f32v2"
- Name 392 "f32v3"
- Name 411 "f32m3"
- Name 412 "f32m1"
- Name 414 "f32m2"
- Name 423 "f32v1"
- Name 425 "f32v2"
- Name 430 "f32m4"
- Name 433 "f32"
- Name 436 "f32m5"
- Name 441 "f32m6"
- Name 442 "f32m7"
- Name 445 "bv"
- Name 446 "f32v1"
- Name 448 "f32v2"
- Name 466 "f32v"
- Name 468 "if32v"
- Name 517 "S"
- MemberName 517(S) 0 "x"
- MemberName 517(S) 1 "y"
- MemberName 517(S) 2 "z"
- Name 519 "B1"
- MemberName 519(B1) 0 "a"
- MemberName 519(B1) 1 "b"
- MemberName 519(B1) 2 "c"
- MemberName 519(B1) 3 "d"
- MemberName 519(B1) 4 "e"
- MemberName 519(B1) 5 "f"
- MemberName 519(B1) 6 "g"
- MemberName 519(B1) 7 "h"
- Name 521 ""
- Name 522 "sf16"
- Name 523 "sf"
- Name 524 "sd"
- Decorate 515 ArrayStride 16
- Decorate 516 ArrayStride 32
- MemberDecorate 517(S) 0 Offset 0
- MemberDecorate 517(S) 1 Offset 8
- MemberDecorate 517(S) 2 Offset 16
- Decorate 518 ArrayStride 32
- MemberDecorate 519(B1) 0 Offset 0
- MemberDecorate 519(B1) 1 Offset 8
- MemberDecorate 519(B1) 2 Offset 16
- MemberDecorate 519(B1) 3 Offset 32
- MemberDecorate 519(B1) 4 ColMajor
- MemberDecorate 519(B1) 4 Offset 64
- MemberDecorate 519(B1) 4 MatrixStride 16
- MemberDecorate 519(B1) 5 ColMajor
- MemberDecorate 519(B1) 5 Offset 96
- MemberDecorate 519(B1) 5 MatrixStride 16
- MemberDecorate 519(B1) 6 Offset 160
- MemberDecorate 519(B1) 7 Offset 192
- Decorate 519(B1) Block
- Decorate 521 DescriptorSet 0
- Decorate 522(sf16) SpecId 100
- Decorate 523(sf) SpecId 101
- Decorate 524(sd) SpecId 102
+ Name 207 "u8v"
+ Name 213 "u16v"
+ Name 218 "u32v"
+ Name 224 "u64v"
+ Name 229 "f32v2"
+ Name 230 "f32v1"
+ Name 262 "f32v2"
+ Name 263 "f32v1"
+ Name 279 "f32v2"
+ Name 280 "f32v1"
+ Name 301 "f32"
+ Name 305 "f32v3"
+ Name 345 "bv"
+ Name 366 "b"
+ Name 376 "iv"
+ Name 377 "ResType"
+ Name 384 "f32"
+ Name 385 "f32v1"
+ Name 389 "f32v2"
+ Name 395 "f32v3"
+ Name 414 "f32m3"
+ Name 415 "f32m1"
+ Name 417 "f32m2"
+ Name 426 "f32v1"
+ Name 428 "f32v2"
+ Name 433 "f32m4"
+ Name 436 "f32"
+ Name 439 "f32m5"
+ Name 444 "f32m6"
+ Name 445 "f32m7"
+ Name 448 "bv"
+ Name 449 "f32v1"
+ Name 451 "f32v2"
+ Name 469 "f32v"
+ Name 471 "if32v"
+ Name 520 "S"
+ MemberName 520(S) 0 "x"
+ MemberName 520(S) 1 "y"
+ MemberName 520(S) 2 "z"
+ Name 522 "B1"
+ MemberName 522(B1) 0 "a"
+ MemberName 522(B1) 1 "b"
+ MemberName 522(B1) 2 "c"
+ MemberName 522(B1) 3 "d"
+ MemberName 522(B1) 4 "e"
+ MemberName 522(B1) 5 "f"
+ MemberName 522(B1) 6 "g"
+ MemberName 522(B1) 7 "h"
+ Name 524 ""
+ Name 525 "sf16"
+ Name 526 "sf"
+ Name 527 "sd"
+ Decorate 518 ArrayStride 16
+ Decorate 519 ArrayStride 32
+ MemberDecorate 520(S) 0 Offset 0
+ MemberDecorate 520(S) 1 Offset 8
+ MemberDecorate 520(S) 2 Offset 16
+ Decorate 521 ArrayStride 32
+ MemberDecorate 522(B1) 0 Offset 0
+ MemberDecorate 522(B1) 1 Offset 8
+ MemberDecorate 522(B1) 2 Offset 16
+ MemberDecorate 522(B1) 3 Offset 32
+ MemberDecorate 522(B1) 4 ColMajor
+ MemberDecorate 522(B1) 4 Offset 64
+ MemberDecorate 522(B1) 4 MatrixStride 16
+ MemberDecorate 522(B1) 5 ColMajor
+ MemberDecorate 522(B1) 5 Offset 96
+ MemberDecorate 522(B1) 5 MatrixStride 16
+ MemberDecorate 522(B1) 6 Offset 160
+ MemberDecorate 522(B1) 7 Offset 192
+ Decorate 522(B1) Block
+ Decorate 524 DescriptorSet 0
+ Decorate 525(sf16) SpecId 100
+ Decorate 526(sf) SpecId 101
+ Decorate 527(sd) SpecId 102
2: TypeVoid
3: TypeFunction 2
26: TypeFloat 32
198: TypeInt 64 1
199: TypeVector 198(int64_t) 3
200: TypePointer Function 199(i64vec3)
- 207: TypeInt 16 0
- 208: TypeVector 207(int16_t) 3
- 209: TypePointer Function 208(i16vec3)
- 213: TypeVector 31(int) 3
- 214: TypePointer Function 213(ivec3)
- 218: TypeInt 64 0
- 219: TypeVector 218(int64_t) 3
- 220: TypePointer Function 219(i64vec3)
- 224: TypeVector 26(float) 4
- 225: TypePointer Function 224(fvec4)
- 374(ResType): TypeStruct 153(fvec3) 193(ivec3)
- 409: TypeMatrix 153(fvec3) 2
- 410: TypePointer Function 409
- 428: TypeMatrix 27(fvec2) 3
- 429: TypePointer Function 428
- 434: TypeMatrix 153(fvec3) 3
- 435: TypePointer Function 434
- 439: TypeMatrix 224(fvec4) 4
- 440: TypePointer Function 439
- 467: TypePointer Input 153(fvec3)
- 468(if32v): 467(ptr) Variable Input
- 469: TypePointer Input 26(float)
- 506: 192(int) Constant 1
- 511: 26(float) Constant 1056964608
- 512: 27(fvec2) ConstantComposite 511 511
- 514: 31(int) Constant 2
- 515: TypeArray 26(float) 514
- 516: TypeArray 409 514
- 517(S): TypeStruct 26(float) 27(fvec2) 153(fvec3)
- 518: TypeArray 517(S) 514
- 519(B1): TypeStruct 26(float) 27(fvec2) 153(fvec3) 515 409 516 517(S) 518
- 520: TypePointer Uniform 519(B1)
- 521: 520(ptr) Variable Uniform
- 522(sf16):172(float16_t) SpecConstant 12288
- 523(sf): 26(float) SpecConstant 1048576000
- 524(sd):149(float64_t) SpecConstant 0 1071644672
- 525: 26(float) SpecConstantOp 115 522(sf16)
- 526: 26(float) SpecConstantOp 115 522(sf16)
- 527:149(float64_t) SpecConstantOp 115 526
- 528:172(float16_t) SpecConstantOp 115 523(sf)
- 529:172(float16_t) SpecConstantOp 115 524(sd)
+ 204: TypeInt 8 0
+ 205: TypeVector 204(int8_t) 3
+ 206: TypePointer Function 205(i8vec3)
+ 210: TypeInt 16 0
+ 211: TypeVector 210(int16_t) 3
+ 212: TypePointer Function 211(i16vec3)
+ 216: TypeVector 31(int) 3
+ 217: TypePointer Function 216(ivec3)
+ 221: TypeInt 64 0
+ 222: TypeVector 221(int64_t) 3
+ 223: TypePointer Function 222(i64vec3)
+ 227: TypeVector 26(float) 4
+ 228: TypePointer Function 227(fvec4)
+ 377(ResType): TypeStruct 153(fvec3) 193(ivec3)
+ 412: TypeMatrix 153(fvec3) 2
+ 413: TypePointer Function 412
+ 431: TypeMatrix 27(fvec2) 3
+ 432: TypePointer Function 431
+ 437: TypeMatrix 153(fvec3) 3
+ 438: TypePointer Function 437
+ 442: TypeMatrix 227(fvec4) 4
+ 443: TypePointer Function 442
+ 470: TypePointer Input 153(fvec3)
+ 471(if32v): 470(ptr) Variable Input
+ 472: TypePointer Input 26(float)
+ 509: 192(int) Constant 1
+ 514: 26(float) Constant 1056964608
+ 515: 27(fvec2) ConstantComposite 514 514
+ 517: 31(int) Constant 2
+ 518: TypeArray 26(float) 517
+ 519: TypeArray 412 517
+ 520(S): TypeStruct 26(float) 27(fvec2) 153(fvec3)
+ 521: TypeArray 520(S) 517
+ 522(B1): TypeStruct 26(float) 27(fvec2) 153(fvec3) 518 412 519 520(S) 521
+ 523: TypePointer Uniform 522(B1)
+ 524: 523(ptr) Variable Uniform
+ 525(sf16):172(float16_t) SpecConstant 12288
+ 526(sf): 26(float) SpecConstant 1048576000
+ 527(sd):149(float64_t) SpecConstant 0 1071644672
+ 528: 26(float) SpecConstantOp 115 525(sf16)
+ 529: 26(float) SpecConstantOp 115 525(sf16)
+ 530:149(float64_t) SpecConstantOp 115 529
+ 531:172(float16_t) SpecConstantOp 115 526(sf)
+ 532:172(float16_t) SpecConstantOp 115 527(sd)
4(main): 2 Function None 3
5: Label
Return
189(i16v): 188(ptr) Variable Function
195(i32v): 194(ptr) Variable Function
201(i64v): 200(ptr) Variable Function
- 204(u8v): 182(ptr) Variable Function
- 210(u16v): 209(ptr) Variable Function
- 215(u32v): 214(ptr) Variable Function
- 221(u64v): 220(ptr) Variable Function
+ 207(u8v): 206(ptr) Variable Function
+ 213(u16v): 212(ptr) Variable Function
+ 218(u32v): 217(ptr) Variable Function
+ 224(u64v): 223(ptr) Variable Function
156: 153(fvec3) Load 155(f32v)
157:150(f64vec3) FConvert 156
Store 152(f64v) 157
202: 153(fvec3) Load 155(f32v)
203:199(i64vec3) ConvertFToS 202
Store 201(i64v) 203
- 205: 153(fvec3) Load 155(f32v)
- 206: 181(i8vec3) ConvertFToS 205
- Store 204(u8v) 206
- 211: 153(fvec3) Load 155(f32v)
- 212:208(i16vec3) ConvertFToU 211
- Store 210(u16v) 212
- 216: 153(fvec3) Load 155(f32v)
- 217: 213(ivec3) ConvertFToU 216
- Store 215(u32v) 217
- 222: 153(fvec3) Load 155(f32v)
- 223:219(i64vec3) ConvertFToU 222
- Store 221(u64v) 223
+ 208: 153(fvec3) Load 155(f32v)
+ 209: 205(i8vec3) ConvertFToU 208
+ Store 207(u8v) 209
+ 214: 153(fvec3) Load 155(f32v)
+ 215:211(i16vec3) ConvertFToU 214
+ Store 213(u16v) 215
+ 219: 153(fvec3) Load 155(f32v)
+ 220: 216(ivec3) ConvertFToU 219
+ Store 218(u32v) 220
+ 225: 153(fvec3) Load 155(f32v)
+ 226:222(i64vec3) ConvertFToU 225
+ Store 224(u64v) 226
Return
FunctionEnd
12(builtinAngleTrigFuncs(): 2 Function None 3
13: Label
- 226(f32v2): 225(ptr) Variable Function
- 227(f32v1): 225(ptr) Variable Function
- 228: 224(fvec4) Load 227(f32v1)
- 229: 224(fvec4) ExtInst 1(GLSL.std.450) 11(Radians) 228
- Store 226(f32v2) 229
- 230: 224(fvec4) Load 227(f32v1)
- 231: 224(fvec4) ExtInst 1(GLSL.std.450) 12(Degrees) 230
- Store 226(f32v2) 231
- 232: 224(fvec4) Load 227(f32v1)
- 233: 224(fvec4) ExtInst 1(GLSL.std.450) 13(Sin) 232
- Store 226(f32v2) 233
- 234: 224(fvec4) Load 227(f32v1)
- 235: 224(fvec4) ExtInst 1(GLSL.std.450) 14(Cos) 234
- Store 226(f32v2) 235
- 236: 224(fvec4) Load 227(f32v1)
- 237: 224(fvec4) ExtInst 1(GLSL.std.450) 15(Tan) 236
- Store 226(f32v2) 237
- 238: 224(fvec4) Load 227(f32v1)
- 239: 224(fvec4) ExtInst 1(GLSL.std.450) 16(Asin) 238
- Store 226(f32v2) 239
- 240: 224(fvec4) Load 227(f32v1)
- 241: 224(fvec4) ExtInst 1(GLSL.std.450) 17(Acos) 240
- Store 226(f32v2) 241
- 242: 224(fvec4) Load 227(f32v1)
- 243: 224(fvec4) Load 226(f32v2)
- 244: 224(fvec4) ExtInst 1(GLSL.std.450) 25(Atan2) 242 243
- Store 226(f32v2) 244
- 245: 224(fvec4) Load 227(f32v1)
- 246: 224(fvec4) ExtInst 1(GLSL.std.450) 18(Atan) 245
- Store 226(f32v2) 246
- 247: 224(fvec4) Load 227(f32v1)
- 248: 224(fvec4) ExtInst 1(GLSL.std.450) 19(Sinh) 247
- Store 226(f32v2) 248
- 249: 224(fvec4) Load 227(f32v1)
- 250: 224(fvec4) ExtInst 1(GLSL.std.450) 20(Cosh) 249
- Store 226(f32v2) 250
- 251: 224(fvec4) Load 227(f32v1)
- 252: 224(fvec4) ExtInst 1(GLSL.std.450) 21(Tanh) 251
- Store 226(f32v2) 252
- 253: 224(fvec4) Load 227(f32v1)
- 254: 224(fvec4) ExtInst 1(GLSL.std.450) 22(Asinh) 253
- Store 226(f32v2) 254
- 255: 224(fvec4) Load 227(f32v1)
- 256: 224(fvec4) ExtInst 1(GLSL.std.450) 23(Acosh) 255
- Store 226(f32v2) 256
- 257: 224(fvec4) Load 227(f32v1)
- 258: 224(fvec4) ExtInst 1(GLSL.std.450) 24(Atanh) 257
- Store 226(f32v2) 258
+ 229(f32v2): 228(ptr) Variable Function
+ 230(f32v1): 228(ptr) Variable Function
+ 231: 227(fvec4) Load 230(f32v1)
+ 232: 227(fvec4) ExtInst 1(GLSL.std.450) 11(Radians) 231
+ Store 229(f32v2) 232
+ 233: 227(fvec4) Load 230(f32v1)
+ 234: 227(fvec4) ExtInst 1(GLSL.std.450) 12(Degrees) 233
+ Store 229(f32v2) 234
+ 235: 227(fvec4) Load 230(f32v1)
+ 236: 227(fvec4) ExtInst 1(GLSL.std.450) 13(Sin) 235
+ Store 229(f32v2) 236
+ 237: 227(fvec4) Load 230(f32v1)
+ 238: 227(fvec4) ExtInst 1(GLSL.std.450) 14(Cos) 237
+ Store 229(f32v2) 238
+ 239: 227(fvec4) Load 230(f32v1)
+ 240: 227(fvec4) ExtInst 1(GLSL.std.450) 15(Tan) 239
+ Store 229(f32v2) 240
+ 241: 227(fvec4) Load 230(f32v1)
+ 242: 227(fvec4) ExtInst 1(GLSL.std.450) 16(Asin) 241
+ Store 229(f32v2) 242
+ 243: 227(fvec4) Load 230(f32v1)
+ 244: 227(fvec4) ExtInst 1(GLSL.std.450) 17(Acos) 243
+ Store 229(f32v2) 244
+ 245: 227(fvec4) Load 230(f32v1)
+ 246: 227(fvec4) Load 229(f32v2)
+ 247: 227(fvec4) ExtInst 1(GLSL.std.450) 25(Atan2) 245 246
+ Store 229(f32v2) 247
+ 248: 227(fvec4) Load 230(f32v1)
+ 249: 227(fvec4) ExtInst 1(GLSL.std.450) 18(Atan) 248
+ Store 229(f32v2) 249
+ 250: 227(fvec4) Load 230(f32v1)
+ 251: 227(fvec4) ExtInst 1(GLSL.std.450) 19(Sinh) 250
+ Store 229(f32v2) 251
+ 252: 227(fvec4) Load 230(f32v1)
+ 253: 227(fvec4) ExtInst 1(GLSL.std.450) 20(Cosh) 252
+ Store 229(f32v2) 253
+ 254: 227(fvec4) Load 230(f32v1)
+ 255: 227(fvec4) ExtInst 1(GLSL.std.450) 21(Tanh) 254
+ Store 229(f32v2) 255
+ 256: 227(fvec4) Load 230(f32v1)
+ 257: 227(fvec4) ExtInst 1(GLSL.std.450) 22(Asinh) 256
+ Store 229(f32v2) 257
+ 258: 227(fvec4) Load 230(f32v1)
+ 259: 227(fvec4) ExtInst 1(GLSL.std.450) 23(Acosh) 258
+ Store 229(f32v2) 259
+ 260: 227(fvec4) Load 230(f32v1)
+ 261: 227(fvec4) ExtInst 1(GLSL.std.450) 24(Atanh) 260
+ Store 229(f32v2) 261
Return
FunctionEnd
14(builtinExpFuncs(): 2 Function None 3
15: Label
- 259(f32v2): 28(ptr) Variable Function
- 260(f32v1): 28(ptr) Variable Function
- 261: 27(fvec2) Load 260(f32v1)
- 262: 27(fvec2) Load 259(f32v2)
- 263: 27(fvec2) ExtInst 1(GLSL.std.450) 26(Pow) 261 262
- Store 259(f32v2) 263
- 264: 27(fvec2) Load 260(f32v1)
- 265: 27(fvec2) ExtInst 1(GLSL.std.450) 27(Exp) 264
- Store 259(f32v2) 265
- 266: 27(fvec2) Load 260(f32v1)
- 267: 27(fvec2) ExtInst 1(GLSL.std.450) 28(Log) 266
- Store 259(f32v2) 267
- 268: 27(fvec2) Load 260(f32v1)
- 269: 27(fvec2) ExtInst 1(GLSL.std.450) 29(Exp2) 268
- Store 259(f32v2) 269
- 270: 27(fvec2) Load 260(f32v1)
- 271: 27(fvec2) ExtInst 1(GLSL.std.450) 30(Log2) 270
- Store 259(f32v2) 271
- 272: 27(fvec2) Load 260(f32v1)
- 273: 27(fvec2) ExtInst 1(GLSL.std.450) 31(Sqrt) 272
- Store 259(f32v2) 273
- 274: 27(fvec2) Load 260(f32v1)
- 275: 27(fvec2) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 274
- Store 259(f32v2) 275
+ 262(f32v2): 28(ptr) Variable Function
+ 263(f32v1): 28(ptr) Variable Function
+ 264: 27(fvec2) Load 263(f32v1)
+ 265: 27(fvec2) Load 262(f32v2)
+ 266: 27(fvec2) ExtInst 1(GLSL.std.450) 26(Pow) 264 265
+ Store 262(f32v2) 266
+ 267: 27(fvec2) Load 263(f32v1)
+ 268: 27(fvec2) ExtInst 1(GLSL.std.450) 27(Exp) 267
+ Store 262(f32v2) 268
+ 269: 27(fvec2) Load 263(f32v1)
+ 270: 27(fvec2) ExtInst 1(GLSL.std.450) 28(Log) 269
+ Store 262(f32v2) 270
+ 271: 27(fvec2) Load 263(f32v1)
+ 272: 27(fvec2) ExtInst 1(GLSL.std.450) 29(Exp2) 271
+ Store 262(f32v2) 272
+ 273: 27(fvec2) Load 263(f32v1)
+ 274: 27(fvec2) ExtInst 1(GLSL.std.450) 30(Log2) 273
+ Store 262(f32v2) 274
+ 275: 27(fvec2) Load 263(f32v1)
+ 276: 27(fvec2) ExtInst 1(GLSL.std.450) 31(Sqrt) 275
+ Store 262(f32v2) 276
+ 277: 27(fvec2) Load 263(f32v1)
+ 278: 27(fvec2) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 277
+ Store 262(f32v2) 278
Return
FunctionEnd
16(builtinCommonFuncs(): 2 Function None 3
17: Label
- 276(f32v2): 154(ptr) Variable Function
- 277(f32v1): 154(ptr) Variable Function
- 298(f32): 33(ptr) Variable Function
- 302(f32v3): 154(ptr) Variable Function
- 342(bv): 159(ptr) Variable Function
- 363(b): 108(ptr) Variable Function
- 373(iv): 194(ptr) Variable Function
- 278: 153(fvec3) Load 277(f32v1)
- 279: 153(fvec3) ExtInst 1(GLSL.std.450) 4(FAbs) 278
- Store 276(f32v2) 279
- 280: 153(fvec3) Load 277(f32v1)
- 281: 153(fvec3) ExtInst 1(GLSL.std.450) 6(FSign) 280
- Store 276(f32v2) 281
- 282: 153(fvec3) Load 277(f32v1)
- 283: 153(fvec3) ExtInst 1(GLSL.std.450) 8(Floor) 282
- Store 276(f32v2) 283
- 284: 153(fvec3) Load 277(f32v1)
- 285: 153(fvec3) ExtInst 1(GLSL.std.450) 3(Trunc) 284
- Store 276(f32v2) 285
- 286: 153(fvec3) Load 277(f32v1)
- 287: 153(fvec3) ExtInst 1(GLSL.std.450) 1(Round) 286
- Store 276(f32v2) 287
- 288: 153(fvec3) Load 277(f32v1)
- 289: 153(fvec3) ExtInst 1(GLSL.std.450) 2(RoundEven) 288
- Store 276(f32v2) 289
- 290: 153(fvec3) Load 277(f32v1)
- 291: 153(fvec3) ExtInst 1(GLSL.std.450) 9(Ceil) 290
- Store 276(f32v2) 291
- 292: 153(fvec3) Load 277(f32v1)
- 293: 153(fvec3) ExtInst 1(GLSL.std.450) 10(Fract) 292
- Store 276(f32v2) 293
- 294: 153(fvec3) Load 277(f32v1)
- 295: 153(fvec3) Load 276(f32v2)
- 296: 153(fvec3) FMod 294 295
- Store 276(f32v2) 296
- 297: 153(fvec3) Load 277(f32v1)
- 299: 26(float) Load 298(f32)
- 300: 153(fvec3) CompositeConstruct 299 299 299
- 301: 153(fvec3) FMod 297 300
- Store 276(f32v2) 301
- 303: 153(fvec3) Load 277(f32v1)
- 304: 153(fvec3) ExtInst 1(GLSL.std.450) 35(Modf) 303 276(f32v2)
- Store 302(f32v3) 304
- 305: 153(fvec3) Load 277(f32v1)
- 306: 153(fvec3) Load 276(f32v2)
- 307: 153(fvec3) ExtInst 1(GLSL.std.450) 37(FMin) 305 306
- Store 302(f32v3) 307
- 308: 153(fvec3) Load 277(f32v1)
- 309: 26(float) Load 298(f32)
- 310: 153(fvec3) CompositeConstruct 309 309 309
- 311: 153(fvec3) ExtInst 1(GLSL.std.450) 37(FMin) 308 310
- Store 302(f32v3) 311
- 312: 153(fvec3) Load 277(f32v1)
- 313: 153(fvec3) Load 276(f32v2)
- 314: 153(fvec3) ExtInst 1(GLSL.std.450) 40(FMax) 312 313
- Store 302(f32v3) 314
- 315: 153(fvec3) Load 277(f32v1)
- 316: 26(float) Load 298(f32)
- 317: 153(fvec3) CompositeConstruct 316 316 316
- 318: 153(fvec3) ExtInst 1(GLSL.std.450) 40(FMax) 315 317
- Store 302(f32v3) 318
- 319: 153(fvec3) Load 277(f32v1)
- 320: 26(float) Load 298(f32)
- 321: 33(ptr) AccessChain 276(f32v2) 32
- 322: 26(float) Load 321
- 323: 153(fvec3) CompositeConstruct 320 320 320
- 324: 153(fvec3) CompositeConstruct 322 322 322
- 325: 153(fvec3) ExtInst 1(GLSL.std.450) 43(FClamp) 319 323 324
- Store 302(f32v3) 325
- 326: 153(fvec3) Load 277(f32v1)
- 327: 153(fvec3) Load 276(f32v2)
- 328: 26(float) Load 298(f32)
- 329: 153(fvec3) CompositeConstruct 328 328 328
- 330: 153(fvec3) ExtInst 1(GLSL.std.450) 43(FClamp) 326 327 329
- Store 302(f32v3) 330
- 331: 153(fvec3) Load 277(f32v1)
- 332: 153(fvec3) Load 276(f32v2)
- 333: 26(float) Load 298(f32)
- 334: 153(fvec3) CompositeConstruct 333 333 333
- 335: 153(fvec3) ExtInst 1(GLSL.std.450) 46(FMix) 331 332 334
- Store 302(f32v3) 335
- 336: 153(fvec3) Load 277(f32v1)
- 337: 153(fvec3) Load 276(f32v2)
- 338: 153(fvec3) Load 302(f32v3)
- 339: 153(fvec3) ExtInst 1(GLSL.std.450) 46(FMix) 336 337 338
- Store 302(f32v3) 339
- 340: 153(fvec3) Load 277(f32v1)
- 341: 153(fvec3) Load 276(f32v2)
- 343: 158(bvec3) Load 342(bv)
- 344: 153(fvec3) Select 343 341 340
- Store 302(f32v3) 344
- 345: 153(fvec3) Load 277(f32v1)
- 346: 153(fvec3) Load 276(f32v2)
- 347: 153(fvec3) ExtInst 1(GLSL.std.450) 48(Step) 345 346
- Store 302(f32v3) 347
- 348: 26(float) Load 298(f32)
- 349: 153(fvec3) Load 302(f32v3)
- 350: 153(fvec3) CompositeConstruct 348 348 348
- 351: 153(fvec3) ExtInst 1(GLSL.std.450) 48(Step) 350 349
- Store 302(f32v3) 351
- 352: 153(fvec3) Load 277(f32v1)
- 353: 153(fvec3) Load 276(f32v2)
- 354: 153(fvec3) Load 302(f32v3)
- 355: 153(fvec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 352 353 354
- Store 302(f32v3) 355
- 356: 26(float) Load 298(f32)
- 357: 33(ptr) AccessChain 277(f32v1) 32
- 358: 26(float) Load 357
- 359: 153(fvec3) Load 276(f32v2)
- 360: 153(fvec3) CompositeConstruct 356 356 356
- 361: 153(fvec3) CompositeConstruct 358 358 358
- 362: 153(fvec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 360 361 359
- Store 302(f32v3) 362
- 364: 26(float) Load 298(f32)
- 365: 107(bool) IsNan 364
- Store 363(b) 365
- 366: 153(fvec3) Load 277(f32v1)
- 367: 158(bvec3) IsInf 366
- Store 342(bv) 367
- 368: 153(fvec3) Load 277(f32v1)
- 369: 153(fvec3) Load 276(f32v2)
- 370: 153(fvec3) Load 302(f32v3)
- 371: 153(fvec3) ExtInst 1(GLSL.std.450) 50(Fma) 368 369 370
- Store 302(f32v3) 371
- 372: 153(fvec3) Load 277(f32v1)
- 375:374(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 372
- 376: 193(ivec3) CompositeExtract 375 1
- Store 373(iv) 376
- 377: 153(fvec3) CompositeExtract 375 0
- Store 276(f32v2) 377
- 378: 153(fvec3) Load 277(f32v1)
- 379: 193(ivec3) Load 373(iv)
- 380: 153(fvec3) ExtInst 1(GLSL.std.450) 53(Ldexp) 378 379
- Store 276(f32v2) 380
+ 279(f32v2): 154(ptr) Variable Function
+ 280(f32v1): 154(ptr) Variable Function
+ 301(f32): 33(ptr) Variable Function
+ 305(f32v3): 154(ptr) Variable Function
+ 345(bv): 159(ptr) Variable Function
+ 366(b): 108(ptr) Variable Function
+ 376(iv): 194(ptr) Variable Function
+ 281: 153(fvec3) Load 280(f32v1)
+ 282: 153(fvec3) ExtInst 1(GLSL.std.450) 4(FAbs) 281
+ Store 279(f32v2) 282
+ 283: 153(fvec3) Load 280(f32v1)
+ 284: 153(fvec3) ExtInst 1(GLSL.std.450) 6(FSign) 283
+ Store 279(f32v2) 284
+ 285: 153(fvec3) Load 280(f32v1)
+ 286: 153(fvec3) ExtInst 1(GLSL.std.450) 8(Floor) 285
+ Store 279(f32v2) 286
+ 287: 153(fvec3) Load 280(f32v1)
+ 288: 153(fvec3) ExtInst 1(GLSL.std.450) 3(Trunc) 287
+ Store 279(f32v2) 288
+ 289: 153(fvec3) Load 280(f32v1)
+ 290: 153(fvec3) ExtInst 1(GLSL.std.450) 1(Round) 289
+ Store 279(f32v2) 290
+ 291: 153(fvec3) Load 280(f32v1)
+ 292: 153(fvec3) ExtInst 1(GLSL.std.450) 2(RoundEven) 291
+ Store 279(f32v2) 292
+ 293: 153(fvec3) Load 280(f32v1)
+ 294: 153(fvec3) ExtInst 1(GLSL.std.450) 9(Ceil) 293
+ Store 279(f32v2) 294
+ 295: 153(fvec3) Load 280(f32v1)
+ 296: 153(fvec3) ExtInst 1(GLSL.std.450) 10(Fract) 295
+ Store 279(f32v2) 296
+ 297: 153(fvec3) Load 280(f32v1)
+ 298: 153(fvec3) Load 279(f32v2)
+ 299: 153(fvec3) FMod 297 298
+ Store 279(f32v2) 299
+ 300: 153(fvec3) Load 280(f32v1)
+ 302: 26(float) Load 301(f32)
+ 303: 153(fvec3) CompositeConstruct 302 302 302
+ 304: 153(fvec3) FMod 300 303
+ Store 279(f32v2) 304
+ 306: 153(fvec3) Load 280(f32v1)
+ 307: 153(fvec3) ExtInst 1(GLSL.std.450) 35(Modf) 306 279(f32v2)
+ Store 305(f32v3) 307
+ 308: 153(fvec3) Load 280(f32v1)
+ 309: 153(fvec3) Load 279(f32v2)
+ 310: 153(fvec3) ExtInst 1(GLSL.std.450) 37(FMin) 308 309
+ Store 305(f32v3) 310
+ 311: 153(fvec3) Load 280(f32v1)
+ 312: 26(float) Load 301(f32)
+ 313: 153(fvec3) CompositeConstruct 312 312 312
+ 314: 153(fvec3) ExtInst 1(GLSL.std.450) 37(FMin) 311 313
+ Store 305(f32v3) 314
+ 315: 153(fvec3) Load 280(f32v1)
+ 316: 153(fvec3) Load 279(f32v2)
+ 317: 153(fvec3) ExtInst 1(GLSL.std.450) 40(FMax) 315 316
+ Store 305(f32v3) 317
+ 318: 153(fvec3) Load 280(f32v1)
+ 319: 26(float) Load 301(f32)
+ 320: 153(fvec3) CompositeConstruct 319 319 319
+ 321: 153(fvec3) ExtInst 1(GLSL.std.450) 40(FMax) 318 320
+ Store 305(f32v3) 321
+ 322: 153(fvec3) Load 280(f32v1)
+ 323: 26(float) Load 301(f32)
+ 324: 33(ptr) AccessChain 279(f32v2) 32
+ 325: 26(float) Load 324
+ 326: 153(fvec3) CompositeConstruct 323 323 323
+ 327: 153(fvec3) CompositeConstruct 325 325 325
+ 328: 153(fvec3) ExtInst 1(GLSL.std.450) 43(FClamp) 322 326 327
+ Store 305(f32v3) 328
+ 329: 153(fvec3) Load 280(f32v1)
+ 330: 153(fvec3) Load 279(f32v2)
+ 331: 26(float) Load 301(f32)
+ 332: 153(fvec3) CompositeConstruct 331 331 331
+ 333: 153(fvec3) ExtInst 1(GLSL.std.450) 43(FClamp) 329 330 332
+ Store 305(f32v3) 333
+ 334: 153(fvec3) Load 280(f32v1)
+ 335: 153(fvec3) Load 279(f32v2)
+ 336: 26(float) Load 301(f32)
+ 337: 153(fvec3) CompositeConstruct 336 336 336
+ 338: 153(fvec3) ExtInst 1(GLSL.std.450) 46(FMix) 334 335 337
+ Store 305(f32v3) 338
+ 339: 153(fvec3) Load 280(f32v1)
+ 340: 153(fvec3) Load 279(f32v2)
+ 341: 153(fvec3) Load 305(f32v3)
+ 342: 153(fvec3) ExtInst 1(GLSL.std.450) 46(FMix) 339 340 341
+ Store 305(f32v3) 342
+ 343: 153(fvec3) Load 280(f32v1)
+ 344: 153(fvec3) Load 279(f32v2)
+ 346: 158(bvec3) Load 345(bv)
+ 347: 153(fvec3) Select 346 344 343
+ Store 305(f32v3) 347
+ 348: 153(fvec3) Load 280(f32v1)
+ 349: 153(fvec3) Load 279(f32v2)
+ 350: 153(fvec3) ExtInst 1(GLSL.std.450) 48(Step) 348 349
+ Store 305(f32v3) 350
+ 351: 26(float) Load 301(f32)
+ 352: 153(fvec3) Load 305(f32v3)
+ 353: 153(fvec3) CompositeConstruct 351 351 351
+ 354: 153(fvec3) ExtInst 1(GLSL.std.450) 48(Step) 353 352
+ Store 305(f32v3) 354
+ 355: 153(fvec3) Load 280(f32v1)
+ 356: 153(fvec3) Load 279(f32v2)
+ 357: 153(fvec3) Load 305(f32v3)
+ 358: 153(fvec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 355 356 357
+ Store 305(f32v3) 358
+ 359: 26(float) Load 301(f32)
+ 360: 33(ptr) AccessChain 280(f32v1) 32
+ 361: 26(float) Load 360
+ 362: 153(fvec3) Load 279(f32v2)
+ 363: 153(fvec3) CompositeConstruct 359 359 359
+ 364: 153(fvec3) CompositeConstruct 361 361 361
+ 365: 153(fvec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 363 364 362
+ Store 305(f32v3) 365
+ 367: 26(float) Load 301(f32)
+ 368: 107(bool) IsNan 367
+ Store 366(b) 368
+ 369: 153(fvec3) Load 280(f32v1)
+ 370: 158(bvec3) IsInf 369
+ Store 345(bv) 370
+ 371: 153(fvec3) Load 280(f32v1)
+ 372: 153(fvec3) Load 279(f32v2)
+ 373: 153(fvec3) Load 305(f32v3)
+ 374: 153(fvec3) ExtInst 1(GLSL.std.450) 50(Fma) 371 372 373
+ Store 305(f32v3) 374
+ 375: 153(fvec3) Load 280(f32v1)
+ 378:377(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 375
+ 379: 193(ivec3) CompositeExtract 378 1
+ Store 376(iv) 379
+ 380: 153(fvec3) CompositeExtract 378 0
+ Store 279(f32v2) 380
+ 381: 153(fvec3) Load 280(f32v1)
+ 382: 193(ivec3) Load 376(iv)
+ 383: 153(fvec3) ExtInst 1(GLSL.std.450) 53(Ldexp) 381 382
+ Store 279(f32v2) 383
Return
FunctionEnd
18(builtinGeometryFuncs(): 2 Function None 3
19: Label
- 381(f32): 33(ptr) Variable Function
- 382(f32v1): 154(ptr) Variable Function
- 386(f32v2): 154(ptr) Variable Function
- 392(f32v3): 154(ptr) Variable Function
- 383: 153(fvec3) Load 382(f32v1)
- 384: 26(float) ExtInst 1(GLSL.std.450) 66(Length) 383
- Store 381(f32) 384
- 385: 153(fvec3) Load 382(f32v1)
- 387: 153(fvec3) Load 386(f32v2)
- 388: 26(float) ExtInst 1(GLSL.std.450) 67(Distance) 385 387
- Store 381(f32) 388
- 389: 153(fvec3) Load 382(f32v1)
- 390: 153(fvec3) Load 386(f32v2)
- 391: 26(float) Dot 389 390
- Store 381(f32) 391
- 393: 153(fvec3) Load 382(f32v1)
- 394: 153(fvec3) Load 386(f32v2)
- 395: 153(fvec3) ExtInst 1(GLSL.std.450) 68(Cross) 393 394
- Store 392(f32v3) 395
- 396: 153(fvec3) Load 382(f32v1)
- 397: 153(fvec3) ExtInst 1(GLSL.std.450) 69(Normalize) 396
- Store 386(f32v2) 397
- 398: 153(fvec3) Load 382(f32v1)
- 399: 153(fvec3) Load 386(f32v2)
- 400: 153(fvec3) Load 392(f32v3)
- 401: 153(fvec3) ExtInst 1(GLSL.std.450) 70(FaceForward) 398 399 400
- Store 392(f32v3) 401
- 402: 153(fvec3) Load 382(f32v1)
- 403: 153(fvec3) Load 386(f32v2)
- 404: 153(fvec3) ExtInst 1(GLSL.std.450) 71(Reflect) 402 403
- Store 392(f32v3) 404
- 405: 153(fvec3) Load 382(f32v1)
- 406: 153(fvec3) Load 386(f32v2)
- 407: 26(float) Load 381(f32)
- 408: 153(fvec3) ExtInst 1(GLSL.std.450) 72(Refract) 405 406 407
- Store 392(f32v3) 408
+ 384(f32): 33(ptr) Variable Function
+ 385(f32v1): 154(ptr) Variable Function
+ 389(f32v2): 154(ptr) Variable Function
+ 395(f32v3): 154(ptr) Variable Function
+ 386: 153(fvec3) Load 385(f32v1)
+ 387: 26(float) ExtInst 1(GLSL.std.450) 66(Length) 386
+ Store 384(f32) 387
+ 388: 153(fvec3) Load 385(f32v1)
+ 390: 153(fvec3) Load 389(f32v2)
+ 391: 26(float) ExtInst 1(GLSL.std.450) 67(Distance) 388 390
+ Store 384(f32) 391
+ 392: 153(fvec3) Load 385(f32v1)
+ 393: 153(fvec3) Load 389(f32v2)
+ 394: 26(float) Dot 392 393
+ Store 384(f32) 394
+ 396: 153(fvec3) Load 385(f32v1)
+ 397: 153(fvec3) Load 389(f32v2)
+ 398: 153(fvec3) ExtInst 1(GLSL.std.450) 68(Cross) 396 397
+ Store 395(f32v3) 398
+ 399: 153(fvec3) Load 385(f32v1)
+ 400: 153(fvec3) ExtInst 1(GLSL.std.450) 69(Normalize) 399
+ Store 389(f32v2) 400
+ 401: 153(fvec3) Load 385(f32v1)
+ 402: 153(fvec3) Load 389(f32v2)
+ 403: 153(fvec3) Load 395(f32v3)
+ 404: 153(fvec3) ExtInst 1(GLSL.std.450) 70(FaceForward) 401 402 403
+ Store 395(f32v3) 404
+ 405: 153(fvec3) Load 385(f32v1)
+ 406: 153(fvec3) Load 389(f32v2)
+ 407: 153(fvec3) ExtInst 1(GLSL.std.450) 71(Reflect) 405 406
+ Store 395(f32v3) 407
+ 408: 153(fvec3) Load 385(f32v1)
+ 409: 153(fvec3) Load 389(f32v2)
+ 410: 26(float) Load 384(f32)
+ 411: 153(fvec3) ExtInst 1(GLSL.std.450) 72(Refract) 408 409 410
+ Store 395(f32v3) 411
Return
FunctionEnd
20(builtinMatrixFuncs(): 2 Function None 3
21: Label
- 411(f32m3): 410(ptr) Variable Function
- 412(f32m1): 410(ptr) Variable Function
- 414(f32m2): 410(ptr) Variable Function
- 423(f32v1): 154(ptr) Variable Function
- 425(f32v2): 28(ptr) Variable Function
- 430(f32m4): 429(ptr) Variable Function
- 433(f32): 33(ptr) Variable Function
- 436(f32m5): 435(ptr) Variable Function
- 441(f32m6): 440(ptr) Variable Function
- 442(f32m7): 440(ptr) Variable Function
- 413: 409 Load 412(f32m1)
- 415: 409 Load 414(f32m2)
- 416: 153(fvec3) CompositeExtract 413 0
- 417: 153(fvec3) CompositeExtract 415 0
- 418: 153(fvec3) FMul 416 417
- 419: 153(fvec3) CompositeExtract 413 1
- 420: 153(fvec3) CompositeExtract 415 1
+ 414(f32m3): 413(ptr) Variable Function
+ 415(f32m1): 413(ptr) Variable Function
+ 417(f32m2): 413(ptr) Variable Function
+ 426(f32v1): 154(ptr) Variable Function
+ 428(f32v2): 28(ptr) Variable Function
+ 433(f32m4): 432(ptr) Variable Function
+ 436(f32): 33(ptr) Variable Function
+ 439(f32m5): 438(ptr) Variable Function
+ 444(f32m6): 443(ptr) Variable Function
+ 445(f32m7): 443(ptr) Variable Function
+ 416: 412 Load 415(f32m1)
+ 418: 412 Load 417(f32m2)
+ 419: 153(fvec3) CompositeExtract 416 0
+ 420: 153(fvec3) CompositeExtract 418 0
421: 153(fvec3) FMul 419 420
- 422: 409 CompositeConstruct 418 421
- Store 411(f32m3) 422
- 424: 153(fvec3) Load 423(f32v1)
- 426: 27(fvec2) Load 425(f32v2)
- 427: 409 OuterProduct 424 426
- Store 412(f32m1) 427
- 431: 409 Load 412(f32m1)
- 432: 428 Transpose 431
- Store 430(f32m4) 432
- 437: 434 Load 436(f32m5)
- 438: 26(float) ExtInst 1(GLSL.std.450) 33(Determinant) 437
- Store 433(f32) 438
- 443: 439 Load 442(f32m7)
- 444: 439 ExtInst 1(GLSL.std.450) 34(MatrixInverse) 443
- Store 441(f32m6) 444
+ 422: 153(fvec3) CompositeExtract 416 1
+ 423: 153(fvec3) CompositeExtract 418 1
+ 424: 153(fvec3) FMul 422 423
+ 425: 412 CompositeConstruct 421 424
+ Store 414(f32m3) 425
+ 427: 153(fvec3) Load 426(f32v1)
+ 429: 27(fvec2) Load 428(f32v2)
+ 430: 412 OuterProduct 427 429
+ Store 415(f32m1) 430
+ 434: 412 Load 415(f32m1)
+ 435: 431 Transpose 434
+ Store 433(f32m4) 435
+ 440: 437 Load 439(f32m5)
+ 441: 26(float) ExtInst 1(GLSL.std.450) 33(Determinant) 440
+ Store 436(f32) 441
+ 446: 442 Load 445(f32m7)
+ 447: 442 ExtInst 1(GLSL.std.450) 34(MatrixInverse) 446
+ Store 444(f32m6) 447
Return
FunctionEnd
22(builtinVecRelFuncs(): 2 Function None 3
23: Label
- 445(bv): 159(ptr) Variable Function
- 446(f32v1): 154(ptr) Variable Function
- 448(f32v2): 154(ptr) Variable Function
- 447: 153(fvec3) Load 446(f32v1)
- 449: 153(fvec3) Load 448(f32v2)
- 450: 158(bvec3) FOrdLessThan 447 449
- Store 445(bv) 450
- 451: 153(fvec3) Load 446(f32v1)
- 452: 153(fvec3) Load 448(f32v2)
- 453: 158(bvec3) FOrdLessThanEqual 451 452
- Store 445(bv) 453
- 454: 153(fvec3) Load 446(f32v1)
- 455: 153(fvec3) Load 448(f32v2)
- 456: 158(bvec3) FOrdGreaterThan 454 455
- Store 445(bv) 456
- 457: 153(fvec3) Load 446(f32v1)
- 458: 153(fvec3) Load 448(f32v2)
- 459: 158(bvec3) FOrdGreaterThanEqual 457 458
- Store 445(bv) 459
- 460: 153(fvec3) Load 446(f32v1)
- 461: 153(fvec3) Load 448(f32v2)
- 462: 158(bvec3) FOrdEqual 460 461
- Store 445(bv) 462
- 463: 153(fvec3) Load 446(f32v1)
- 464: 153(fvec3) Load 448(f32v2)
- 465: 158(bvec3) FOrdNotEqual 463 464
- Store 445(bv) 465
+ 448(bv): 159(ptr) Variable Function
+ 449(f32v1): 154(ptr) Variable Function
+ 451(f32v2): 154(ptr) Variable Function
+ 450: 153(fvec3) Load 449(f32v1)
+ 452: 153(fvec3) Load 451(f32v2)
+ 453: 158(bvec3) FOrdLessThan 450 452
+ Store 448(bv) 453
+ 454: 153(fvec3) Load 449(f32v1)
+ 455: 153(fvec3) Load 451(f32v2)
+ 456: 158(bvec3) FOrdLessThanEqual 454 455
+ Store 448(bv) 456
+ 457: 153(fvec3) Load 449(f32v1)
+ 458: 153(fvec3) Load 451(f32v2)
+ 459: 158(bvec3) FOrdGreaterThan 457 458
+ Store 448(bv) 459
+ 460: 153(fvec3) Load 449(f32v1)
+ 461: 153(fvec3) Load 451(f32v2)
+ 462: 158(bvec3) FOrdGreaterThanEqual 460 461
+ Store 448(bv) 462
+ 463: 153(fvec3) Load 449(f32v1)
+ 464: 153(fvec3) Load 451(f32v2)
+ 465: 158(bvec3) FOrdEqual 463 464
+ Store 448(bv) 465
+ 466: 153(fvec3) Load 449(f32v1)
+ 467: 153(fvec3) Load 451(f32v2)
+ 468: 158(bvec3) FOrdNotEqual 466 467
+ Store 448(bv) 468
Return
FunctionEnd
24(builtinFragProcFuncs(): 2 Function None 3
25: Label
- 466(f32v): 154(ptr) Variable Function
- 470: 469(ptr) AccessChain 468(if32v) 32
- 471: 26(float) Load 470
- 472: 26(float) DPdx 471
- 473: 33(ptr) AccessChain 466(f32v) 32
- Store 473 472
- 474: 469(ptr) AccessChain 468(if32v) 88
- 475: 26(float) Load 474
- 476: 26(float) DPdy 475
- 477: 33(ptr) AccessChain 466(f32v) 88
- Store 477 476
- 478: 153(fvec3) Load 468(if32v)
- 479: 27(fvec2) VectorShuffle 478 478 0 1
- 480: 27(fvec2) DPdxFine 479
- 481: 153(fvec3) Load 466(f32v)
- 482: 153(fvec3) VectorShuffle 481 480 3 4 2
- Store 466(f32v) 482
- 483: 153(fvec3) Load 468(if32v)
- 484: 27(fvec2) VectorShuffle 483 483 0 1
- 485: 27(fvec2) DPdyFine 484
- 486: 153(fvec3) Load 466(f32v)
- 487: 153(fvec3) VectorShuffle 486 485 3 4 2
- Store 466(f32v) 487
- 488: 153(fvec3) Load 468(if32v)
- 489: 153(fvec3) DPdxCoarse 488
- Store 466(f32v) 489
- 490: 153(fvec3) Load 468(if32v)
- 491: 153(fvec3) DPdxCoarse 490
- Store 466(f32v) 491
- 492: 469(ptr) AccessChain 468(if32v) 32
- 493: 26(float) Load 492
- 494: 26(float) Fwidth 493
- 495: 33(ptr) AccessChain 466(f32v) 32
- Store 495 494
- 496: 153(fvec3) Load 468(if32v)
- 497: 27(fvec2) VectorShuffle 496 496 0 1
- 498: 27(fvec2) FwidthFine 497
- 499: 153(fvec3) Load 466(f32v)
- 500: 153(fvec3) VectorShuffle 499 498 3 4 2
- Store 466(f32v) 500
- 501: 153(fvec3) Load 468(if32v)
- 502: 153(fvec3) FwidthCoarse 501
- Store 466(f32v) 502
- 503: 469(ptr) AccessChain 468(if32v) 32
- 504: 26(float) ExtInst 1(GLSL.std.450) 76(InterpolateAtCentroid) 503
- 505: 33(ptr) AccessChain 466(f32v) 32
- Store 505 504
- 507: 153(fvec3) ExtInst 1(GLSL.std.450) 77(InterpolateAtSample) 468(if32v) 506
- 508: 27(fvec2) VectorShuffle 507 507 0 1
- 509: 153(fvec3) Load 466(f32v)
- 510: 153(fvec3) VectorShuffle 509 508 3 4 2
- Store 466(f32v) 510
- 513: 153(fvec3) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 468(if32v) 512
- Store 466(f32v) 513
+ 469(f32v): 154(ptr) Variable Function
+ 473: 472(ptr) AccessChain 471(if32v) 32
+ 474: 26(float) Load 473
+ 475: 26(float) DPdx 474
+ 476: 33(ptr) AccessChain 469(f32v) 32
+ Store 476 475
+ 477: 472(ptr) AccessChain 471(if32v) 88
+ 478: 26(float) Load 477
+ 479: 26(float) DPdy 478
+ 480: 33(ptr) AccessChain 469(f32v) 88
+ Store 480 479
+ 481: 153(fvec3) Load 471(if32v)
+ 482: 27(fvec2) VectorShuffle 481 481 0 1
+ 483: 27(fvec2) DPdxFine 482
+ 484: 153(fvec3) Load 469(f32v)
+ 485: 153(fvec3) VectorShuffle 484 483 3 4 2
+ Store 469(f32v) 485
+ 486: 153(fvec3) Load 471(if32v)
+ 487: 27(fvec2) VectorShuffle 486 486 0 1
+ 488: 27(fvec2) DPdyFine 487
+ 489: 153(fvec3) Load 469(f32v)
+ 490: 153(fvec3) VectorShuffle 489 488 3 4 2
+ Store 469(f32v) 490
+ 491: 153(fvec3) Load 471(if32v)
+ 492: 153(fvec3) DPdxCoarse 491
+ Store 469(f32v) 492
+ 493: 153(fvec3) Load 471(if32v)
+ 494: 153(fvec3) DPdxCoarse 493
+ Store 469(f32v) 494
+ 495: 472(ptr) AccessChain 471(if32v) 32
+ 496: 26(float) Load 495
+ 497: 26(float) Fwidth 496
+ 498: 33(ptr) AccessChain 469(f32v) 32
+ Store 498 497
+ 499: 153(fvec3) Load 471(if32v)
+ 500: 27(fvec2) VectorShuffle 499 499 0 1
+ 501: 27(fvec2) FwidthFine 500
+ 502: 153(fvec3) Load 469(f32v)
+ 503: 153(fvec3) VectorShuffle 502 501 3 4 2
+ Store 469(f32v) 503
+ 504: 153(fvec3) Load 471(if32v)
+ 505: 153(fvec3) FwidthCoarse 504
+ Store 469(f32v) 505
+ 506: 472(ptr) AccessChain 471(if32v) 32
+ 507: 26(float) ExtInst 1(GLSL.std.450) 76(InterpolateAtCentroid) 506
+ 508: 33(ptr) AccessChain 469(f32v) 32
+ Store 508 507
+ 510: 153(fvec3) ExtInst 1(GLSL.std.450) 77(InterpolateAtSample) 471(if32v) 509
+ 511: 27(fvec2) VectorShuffle 510 510 0 1
+ 512: 153(fvec3) Load 469(f32v)
+ 513: 153(fvec3) VectorShuffle 512 511 3 4 2
+ Store 469(f32v) 513
+ 516: 153(fvec3) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 471(if32v) 515
+ Store 469(f32v) 516
Return
FunctionEnd
spv.float64.frag
// Module Version 10300
// Generated by (magic number): 80007
-// Id's are bound by 521
+// Id's are bound by 524
Capability Shader
Capability Float16
Capability InterpolationFunction
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
- EntryPoint Fragment 4 "main" 458
+ EntryPoint Fragment 4 "main" 461
ExecutionMode 4 OriginUpperLeft
Source GLSL 450
SourceExtension "GL_KHX_shader_explicit_arithmetic_types"
Name 179 "i16v"
Name 185 "i32v"
Name 191 "i64v"
- Name 194 "u8v"
- Name 200 "u16v"
- Name 205 "u32v"
- Name 211 "u64v"
- Name 216 "f64v2"
- Name 217 "f64v1"
- Name 249 "f64v2"
- Name 250 "f64v1"
- Name 266 "f64v2"
- Name 267 "f64v1"
- Name 288 "f64"
- Name 292 "f64v3"
- Name 332 "bv"
- Name 353 "b"
- Name 363 "iv"
- Name 364 "ResType"
- Name 371 "f64"
- Name 372 "f64v1"
- Name 376 "f64v2"
- Name 382 "f64v3"
- Name 401 "f64m3"
- Name 402 "f64m1"
- Name 404 "f64m2"
- Name 413 "f64v1"
- Name 415 "f64v2"
- Name 420 "f64m4"
- Name 423 "f64"
- Name 426 "f64m5"
- Name 431 "f64m6"
- Name 432 "f64m7"
- Name 435 "bv"
- Name 436 "f64v1"
- Name 438 "f64v2"
- Name 456 "f64v"
- Name 458 "if64v"
- Name 507 "S"
- MemberName 507(S) 0 "x"
- MemberName 507(S) 1 "y"
- MemberName 507(S) 2 "z"
- Name 509 "B1"
- MemberName 509(B1) 0 "a"
- MemberName 509(B1) 1 "b"
- MemberName 509(B1) 2 "c"
- MemberName 509(B1) 3 "d"
- MemberName 509(B1) 4 "e"
- MemberName 509(B1) 5 "f"
- MemberName 509(B1) 6 "g"
- MemberName 509(B1) 7 "h"
- Name 511 ""
- Name 512 "sf16"
- Name 514 "sf"
- Name 515 "sd"
- Decorate 458(if64v) Flat
- Decorate 505 ArrayStride 16
- Decorate 506 ArrayStride 64
- MemberDecorate 507(S) 0 Offset 0
- MemberDecorate 507(S) 1 Offset 16
- MemberDecorate 507(S) 2 Offset 32
- Decorate 508 ArrayStride 64
- MemberDecorate 509(B1) 0 Offset 0
- MemberDecorate 509(B1) 1 Offset 16
- MemberDecorate 509(B1) 2 Offset 32
- MemberDecorate 509(B1) 3 Offset 64
- MemberDecorate 509(B1) 4 ColMajor
- MemberDecorate 509(B1) 4 Offset 96
- MemberDecorate 509(B1) 4 MatrixStride 32
- MemberDecorate 509(B1) 5 ColMajor
- MemberDecorate 509(B1) 5 Offset 160
- MemberDecorate 509(B1) 5 MatrixStride 32
- MemberDecorate 509(B1) 6 Offset 288
- MemberDecorate 509(B1) 7 Offset 352
- Decorate 509(B1) Block
- Decorate 511 DescriptorSet 0
- Decorate 512(sf16) SpecId 100
- Decorate 514(sf) SpecId 101
- Decorate 515(sd) SpecId 102
+ Name 197 "u8v"
+ Name 203 "u16v"
+ Name 208 "u32v"
+ Name 214 "u64v"
+ Name 219 "f64v2"
+ Name 220 "f64v1"
+ Name 252 "f64v2"
+ Name 253 "f64v1"
+ Name 269 "f64v2"
+ Name 270 "f64v1"
+ Name 291 "f64"
+ Name 295 "f64v3"
+ Name 335 "bv"
+ Name 356 "b"
+ Name 366 "iv"
+ Name 367 "ResType"
+ Name 374 "f64"
+ Name 375 "f64v1"
+ Name 379 "f64v2"
+ Name 385 "f64v3"
+ Name 404 "f64m3"
+ Name 405 "f64m1"
+ Name 407 "f64m2"
+ Name 416 "f64v1"
+ Name 418 "f64v2"
+ Name 423 "f64m4"
+ Name 426 "f64"
+ Name 429 "f64m5"
+ Name 434 "f64m6"
+ Name 435 "f64m7"
+ Name 438 "bv"
+ Name 439 "f64v1"
+ Name 441 "f64v2"
+ Name 459 "f64v"
+ Name 461 "if64v"
+ Name 510 "S"
+ MemberName 510(S) 0 "x"
+ MemberName 510(S) 1 "y"
+ MemberName 510(S) 2 "z"
+ Name 512 "B1"
+ MemberName 512(B1) 0 "a"
+ MemberName 512(B1) 1 "b"
+ MemberName 512(B1) 2 "c"
+ MemberName 512(B1) 3 "d"
+ MemberName 512(B1) 4 "e"
+ MemberName 512(B1) 5 "f"
+ MemberName 512(B1) 6 "g"
+ MemberName 512(B1) 7 "h"
+ Name 514 ""
+ Name 515 "sf16"
+ Name 517 "sf"
+ Name 518 "sd"
+ Decorate 461(if64v) Flat
+ Decorate 508 ArrayStride 16
+ Decorate 509 ArrayStride 64
+ MemberDecorate 510(S) 0 Offset 0
+ MemberDecorate 510(S) 1 Offset 16
+ MemberDecorate 510(S) 2 Offset 32
+ Decorate 511 ArrayStride 64
+ MemberDecorate 512(B1) 0 Offset 0
+ MemberDecorate 512(B1) 1 Offset 16
+ MemberDecorate 512(B1) 2 Offset 32
+ MemberDecorate 512(B1) 3 Offset 64
+ MemberDecorate 512(B1) 4 ColMajor
+ MemberDecorate 512(B1) 4 Offset 96
+ MemberDecorate 512(B1) 4 MatrixStride 32
+ MemberDecorate 512(B1) 5 ColMajor
+ MemberDecorate 512(B1) 5 Offset 160
+ MemberDecorate 512(B1) 5 MatrixStride 32
+ MemberDecorate 512(B1) 6 Offset 288
+ MemberDecorate 512(B1) 7 Offset 352
+ Decorate 512(B1) Block
+ Decorate 514 DescriptorSet 0
+ Decorate 515(sf16) SpecId 100
+ Decorate 517(sf) SpecId 101
+ Decorate 518(sd) SpecId 102
2: TypeVoid
3: TypeFunction 2
26: TypeFloat 64
188: TypeInt 64 1
189: TypeVector 188(int64_t) 3
190: TypePointer Function 189(i64vec3)
- 197: TypeInt 16 0
- 198: TypeVector 197(int16_t) 3
- 199: TypePointer Function 198(i16vec3)
- 203: TypeVector 31(int) 3
- 204: TypePointer Function 203(ivec3)
- 208: TypeInt 64 0
- 209: TypeVector 208(int64_t) 3
- 210: TypePointer Function 209(i64vec3)
- 214: TypeVector 26(float64_t) 4
- 215: TypePointer Function 214(f64vec4)
- 364(ResType): TypeStruct 149(f64vec3) 183(ivec3)
- 399: TypeMatrix 149(f64vec3) 2
- 400: TypePointer Function 399
- 418: TypeMatrix 27(f64vec2) 3
- 419: TypePointer Function 418
- 424: TypeMatrix 149(f64vec3) 3
- 425: TypePointer Function 424
- 429: TypeMatrix 214(f64vec4) 4
- 430: TypePointer Function 429
- 457: TypePointer Input 149(f64vec3)
- 458(if64v): 457(ptr) Variable Input
- 459: TypePointer Input 26(float64_t)
- 496: 182(int) Constant 1
- 501:26(float64_t) Constant 0 1071644672
- 502: 27(f64vec2) ConstantComposite 501 501
- 504: 31(int) Constant 2
- 505: TypeArray 26(float64_t) 504
- 506: TypeArray 399 504
- 507(S): TypeStruct 26(float64_t) 27(f64vec2) 149(f64vec3)
- 508: TypeArray 507(S) 504
- 509(B1): TypeStruct 26(float64_t) 27(f64vec2) 149(f64vec3) 505 399 506 507(S) 508
- 510: TypePointer Uniform 509(B1)
- 511: 510(ptr) Variable Uniform
- 512(sf16):162(float16_t) SpecConstant 12288
- 513: TypeFloat 32
- 514(sf): 513(float) SpecConstant 1048576000
- 515(sd):26(float64_t) SpecConstant 0 1071644672
- 516: 513(float) SpecConstantOp 115 512(sf16)
- 517: 513(float) SpecConstantOp 115 512(sf16)
- 518:26(float64_t) SpecConstantOp 115 517
- 519:162(float16_t) SpecConstantOp 115 514(sf)
- 520:162(float16_t) SpecConstantOp 115 515(sd)
+ 194: TypeInt 8 0
+ 195: TypeVector 194(int8_t) 3
+ 196: TypePointer Function 195(i8vec3)
+ 200: TypeInt 16 0
+ 201: TypeVector 200(int16_t) 3
+ 202: TypePointer Function 201(i16vec3)
+ 206: TypeVector 31(int) 3
+ 207: TypePointer Function 206(ivec3)
+ 211: TypeInt 64 0
+ 212: TypeVector 211(int64_t) 3
+ 213: TypePointer Function 212(i64vec3)
+ 217: TypeVector 26(float64_t) 4
+ 218: TypePointer Function 217(f64vec4)
+ 367(ResType): TypeStruct 149(f64vec3) 183(ivec3)
+ 402: TypeMatrix 149(f64vec3) 2
+ 403: TypePointer Function 402
+ 421: TypeMatrix 27(f64vec2) 3
+ 422: TypePointer Function 421
+ 427: TypeMatrix 149(f64vec3) 3
+ 428: TypePointer Function 427
+ 432: TypeMatrix 217(f64vec4) 4
+ 433: TypePointer Function 432
+ 460: TypePointer Input 149(f64vec3)
+ 461(if64v): 460(ptr) Variable Input
+ 462: TypePointer Input 26(float64_t)
+ 499: 182(int) Constant 1
+ 504:26(float64_t) Constant 0 1071644672
+ 505: 27(f64vec2) ConstantComposite 504 504
+ 507: 31(int) Constant 2
+ 508: TypeArray 26(float64_t) 507
+ 509: TypeArray 402 507
+ 510(S): TypeStruct 26(float64_t) 27(f64vec2) 149(f64vec3)
+ 511: TypeArray 510(S) 507
+ 512(B1): TypeStruct 26(float64_t) 27(f64vec2) 149(f64vec3) 508 402 509 510(S) 511
+ 513: TypePointer Uniform 512(B1)
+ 514: 513(ptr) Variable Uniform
+ 515(sf16):162(float16_t) SpecConstant 12288
+ 516: TypeFloat 32
+ 517(sf): 516(float) SpecConstant 1048576000
+ 518(sd):26(float64_t) SpecConstant 0 1071644672
+ 519: 516(float) SpecConstantOp 115 515(sf16)
+ 520: 516(float) SpecConstantOp 115 515(sf16)
+ 521:26(float64_t) SpecConstantOp 115 520
+ 522:162(float16_t) SpecConstantOp 115 517(sf)
+ 523:162(float16_t) SpecConstantOp 115 518(sd)
4(main): 2 Function None 3
5: Label
Return
179(i16v): 178(ptr) Variable Function
185(i32v): 184(ptr) Variable Function
191(i64v): 190(ptr) Variable Function
- 194(u8v): 172(ptr) Variable Function
- 200(u16v): 199(ptr) Variable Function
- 205(u32v): 204(ptr) Variable Function
- 211(u64v): 210(ptr) Variable Function
+ 197(u8v): 196(ptr) Variable Function
+ 203(u16v): 202(ptr) Variable Function
+ 208(u32v): 207(ptr) Variable Function
+ 214(u64v): 213(ptr) Variable Function
155: 152(bvec3) Load 154(bv)
159:149(f64vec3) Select 155 158 157
Store 151(f64v) 159
192:149(f64vec3) Load 151(f64v)
193:189(i64vec3) ConvertFToS 192
Store 191(i64v) 193
- 195:149(f64vec3) Load 151(f64v)
- 196: 171(i8vec3) ConvertFToS 195
- Store 194(u8v) 196
- 201:149(f64vec3) Load 151(f64v)
- 202:198(i16vec3) ConvertFToU 201
- Store 200(u16v) 202
- 206:149(f64vec3) Load 151(f64v)
- 207: 203(ivec3) ConvertFToU 206
- Store 205(u32v) 207
- 212:149(f64vec3) Load 151(f64v)
- 213:209(i64vec3) ConvertFToU 212
- Store 211(u64v) 213
+ 198:149(f64vec3) Load 151(f64v)
+ 199: 195(i8vec3) ConvertFToU 198
+ Store 197(u8v) 199
+ 204:149(f64vec3) Load 151(f64v)
+ 205:201(i16vec3) ConvertFToU 204
+ Store 203(u16v) 205
+ 209:149(f64vec3) Load 151(f64v)
+ 210: 206(ivec3) ConvertFToU 209
+ Store 208(u32v) 210
+ 215:149(f64vec3) Load 151(f64v)
+ 216:212(i64vec3) ConvertFToU 215
+ Store 214(u64v) 216
Return
FunctionEnd
12(builtinAngleTrigFuncs(): 2 Function None 3
13: Label
- 216(f64v2): 215(ptr) Variable Function
- 217(f64v1): 215(ptr) Variable Function
- 218:214(f64vec4) Load 217(f64v1)
- 219:214(f64vec4) ExtInst 1(GLSL.std.450) 11(Radians) 218
- Store 216(f64v2) 219
- 220:214(f64vec4) Load 217(f64v1)
- 221:214(f64vec4) ExtInst 1(GLSL.std.450) 12(Degrees) 220
- Store 216(f64v2) 221
- 222:214(f64vec4) Load 217(f64v1)
- 223:214(f64vec4) ExtInst 1(GLSL.std.450) 13(Sin) 222
- Store 216(f64v2) 223
- 224:214(f64vec4) Load 217(f64v1)
- 225:214(f64vec4) ExtInst 1(GLSL.std.450) 14(Cos) 224
- Store 216(f64v2) 225
- 226:214(f64vec4) Load 217(f64v1)
- 227:214(f64vec4) ExtInst 1(GLSL.std.450) 15(Tan) 226
- Store 216(f64v2) 227
- 228:214(f64vec4) Load 217(f64v1)
- 229:214(f64vec4) ExtInst 1(GLSL.std.450) 16(Asin) 228
- Store 216(f64v2) 229
- 230:214(f64vec4) Load 217(f64v1)
- 231:214(f64vec4) ExtInst 1(GLSL.std.450) 17(Acos) 230
- Store 216(f64v2) 231
- 232:214(f64vec4) Load 217(f64v1)
- 233:214(f64vec4) Load 216(f64v2)
- 234:214(f64vec4) ExtInst 1(GLSL.std.450) 25(Atan2) 232 233
- Store 216(f64v2) 234
- 235:214(f64vec4) Load 217(f64v1)
- 236:214(f64vec4) ExtInst 1(GLSL.std.450) 18(Atan) 235
- Store 216(f64v2) 236
- 237:214(f64vec4) Load 217(f64v1)
- 238:214(f64vec4) ExtInst 1(GLSL.std.450) 19(Sinh) 237
- Store 216(f64v2) 238
- 239:214(f64vec4) Load 217(f64v1)
- 240:214(f64vec4) ExtInst 1(GLSL.std.450) 20(Cosh) 239
- Store 216(f64v2) 240
- 241:214(f64vec4) Load 217(f64v1)
- 242:214(f64vec4) ExtInst 1(GLSL.std.450) 21(Tanh) 241
- Store 216(f64v2) 242
- 243:214(f64vec4) Load 217(f64v1)
- 244:214(f64vec4) ExtInst 1(GLSL.std.450) 22(Asinh) 243
- Store 216(f64v2) 244
- 245:214(f64vec4) Load 217(f64v1)
- 246:214(f64vec4) ExtInst 1(GLSL.std.450) 23(Acosh) 245
- Store 216(f64v2) 246
- 247:214(f64vec4) Load 217(f64v1)
- 248:214(f64vec4) ExtInst 1(GLSL.std.450) 24(Atanh) 247
- Store 216(f64v2) 248
+ 219(f64v2): 218(ptr) Variable Function
+ 220(f64v1): 218(ptr) Variable Function
+ 221:217(f64vec4) Load 220(f64v1)
+ 222:217(f64vec4) ExtInst 1(GLSL.std.450) 11(Radians) 221
+ Store 219(f64v2) 222
+ 223:217(f64vec4) Load 220(f64v1)
+ 224:217(f64vec4) ExtInst 1(GLSL.std.450) 12(Degrees) 223
+ Store 219(f64v2) 224
+ 225:217(f64vec4) Load 220(f64v1)
+ 226:217(f64vec4) ExtInst 1(GLSL.std.450) 13(Sin) 225
+ Store 219(f64v2) 226
+ 227:217(f64vec4) Load 220(f64v1)
+ 228:217(f64vec4) ExtInst 1(GLSL.std.450) 14(Cos) 227
+ Store 219(f64v2) 228
+ 229:217(f64vec4) Load 220(f64v1)
+ 230:217(f64vec4) ExtInst 1(GLSL.std.450) 15(Tan) 229
+ Store 219(f64v2) 230
+ 231:217(f64vec4) Load 220(f64v1)
+ 232:217(f64vec4) ExtInst 1(GLSL.std.450) 16(Asin) 231
+ Store 219(f64v2) 232
+ 233:217(f64vec4) Load 220(f64v1)
+ 234:217(f64vec4) ExtInst 1(GLSL.std.450) 17(Acos) 233
+ Store 219(f64v2) 234
+ 235:217(f64vec4) Load 220(f64v1)
+ 236:217(f64vec4) Load 219(f64v2)
+ 237:217(f64vec4) ExtInst 1(GLSL.std.450) 25(Atan2) 235 236
+ Store 219(f64v2) 237
+ 238:217(f64vec4) Load 220(f64v1)
+ 239:217(f64vec4) ExtInst 1(GLSL.std.450) 18(Atan) 238
+ Store 219(f64v2) 239
+ 240:217(f64vec4) Load 220(f64v1)
+ 241:217(f64vec4) ExtInst 1(GLSL.std.450) 19(Sinh) 240
+ Store 219(f64v2) 241
+ 242:217(f64vec4) Load 220(f64v1)
+ 243:217(f64vec4) ExtInst 1(GLSL.std.450) 20(Cosh) 242
+ Store 219(f64v2) 243
+ 244:217(f64vec4) Load 220(f64v1)
+ 245:217(f64vec4) ExtInst 1(GLSL.std.450) 21(Tanh) 244
+ Store 219(f64v2) 245
+ 246:217(f64vec4) Load 220(f64v1)
+ 247:217(f64vec4) ExtInst 1(GLSL.std.450) 22(Asinh) 246
+ Store 219(f64v2) 247
+ 248:217(f64vec4) Load 220(f64v1)
+ 249:217(f64vec4) ExtInst 1(GLSL.std.450) 23(Acosh) 248
+ Store 219(f64v2) 249
+ 250:217(f64vec4) Load 220(f64v1)
+ 251:217(f64vec4) ExtInst 1(GLSL.std.450) 24(Atanh) 250
+ Store 219(f64v2) 251
Return
FunctionEnd
14(builtinExpFuncs(): 2 Function None 3
15: Label
- 249(f64v2): 28(ptr) Variable Function
- 250(f64v1): 28(ptr) Variable Function
- 251: 27(f64vec2) Load 250(f64v1)
- 252: 27(f64vec2) Load 249(f64v2)
- 253: 27(f64vec2) ExtInst 1(GLSL.std.450) 26(Pow) 251 252
- Store 249(f64v2) 253
- 254: 27(f64vec2) Load 250(f64v1)
- 255: 27(f64vec2) ExtInst 1(GLSL.std.450) 27(Exp) 254
- Store 249(f64v2) 255
- 256: 27(f64vec2) Load 250(f64v1)
- 257: 27(f64vec2) ExtInst 1(GLSL.std.450) 28(Log) 256
- Store 249(f64v2) 257
- 258: 27(f64vec2) Load 250(f64v1)
- 259: 27(f64vec2) ExtInst 1(GLSL.std.450) 29(Exp2) 258
- Store 249(f64v2) 259
- 260: 27(f64vec2) Load 250(f64v1)
- 261: 27(f64vec2) ExtInst 1(GLSL.std.450) 30(Log2) 260
- Store 249(f64v2) 261
- 262: 27(f64vec2) Load 250(f64v1)
- 263: 27(f64vec2) ExtInst 1(GLSL.std.450) 31(Sqrt) 262
- Store 249(f64v2) 263
- 264: 27(f64vec2) Load 250(f64v1)
- 265: 27(f64vec2) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 264
- Store 249(f64v2) 265
+ 252(f64v2): 28(ptr) Variable Function
+ 253(f64v1): 28(ptr) Variable Function
+ 254: 27(f64vec2) Load 253(f64v1)
+ 255: 27(f64vec2) Load 252(f64v2)
+ 256: 27(f64vec2) ExtInst 1(GLSL.std.450) 26(Pow) 254 255
+ Store 252(f64v2) 256
+ 257: 27(f64vec2) Load 253(f64v1)
+ 258: 27(f64vec2) ExtInst 1(GLSL.std.450) 27(Exp) 257
+ Store 252(f64v2) 258
+ 259: 27(f64vec2) Load 253(f64v1)
+ 260: 27(f64vec2) ExtInst 1(GLSL.std.450) 28(Log) 259
+ Store 252(f64v2) 260
+ 261: 27(f64vec2) Load 253(f64v1)
+ 262: 27(f64vec2) ExtInst 1(GLSL.std.450) 29(Exp2) 261
+ Store 252(f64v2) 262
+ 263: 27(f64vec2) Load 253(f64v1)
+ 264: 27(f64vec2) ExtInst 1(GLSL.std.450) 30(Log2) 263
+ Store 252(f64v2) 264
+ 265: 27(f64vec2) Load 253(f64v1)
+ 266: 27(f64vec2) ExtInst 1(GLSL.std.450) 31(Sqrt) 265
+ Store 252(f64v2) 266
+ 267: 27(f64vec2) Load 253(f64v1)
+ 268: 27(f64vec2) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 267
+ Store 252(f64v2) 268
Return
FunctionEnd
16(builtinCommonFuncs(): 2 Function None 3
17: Label
- 266(f64v2): 150(ptr) Variable Function
- 267(f64v1): 150(ptr) Variable Function
- 288(f64): 33(ptr) Variable Function
- 292(f64v3): 150(ptr) Variable Function
- 332(bv): 153(ptr) Variable Function
- 353(b): 108(ptr) Variable Function
- 363(iv): 184(ptr) Variable Function
- 268:149(f64vec3) Load 267(f64v1)
- 269:149(f64vec3) ExtInst 1(GLSL.std.450) 4(FAbs) 268
- Store 266(f64v2) 269
- 270:149(f64vec3) Load 267(f64v1)
- 271:149(f64vec3) ExtInst 1(GLSL.std.450) 6(FSign) 270
- Store 266(f64v2) 271
- 272:149(f64vec3) Load 267(f64v1)
- 273:149(f64vec3) ExtInst 1(GLSL.std.450) 8(Floor) 272
- Store 266(f64v2) 273
- 274:149(f64vec3) Load 267(f64v1)
- 275:149(f64vec3) ExtInst 1(GLSL.std.450) 3(Trunc) 274
- Store 266(f64v2) 275
- 276:149(f64vec3) Load 267(f64v1)
- 277:149(f64vec3) ExtInst 1(GLSL.std.450) 1(Round) 276
- Store 266(f64v2) 277
- 278:149(f64vec3) Load 267(f64v1)
- 279:149(f64vec3) ExtInst 1(GLSL.std.450) 2(RoundEven) 278
- Store 266(f64v2) 279
- 280:149(f64vec3) Load 267(f64v1)
- 281:149(f64vec3) ExtInst 1(GLSL.std.450) 9(Ceil) 280
- Store 266(f64v2) 281
- 282:149(f64vec3) Load 267(f64v1)
- 283:149(f64vec3) ExtInst 1(GLSL.std.450) 10(Fract) 282
- Store 266(f64v2) 283
- 284:149(f64vec3) Load 267(f64v1)
- 285:149(f64vec3) Load 266(f64v2)
- 286:149(f64vec3) FMod 284 285
- Store 266(f64v2) 286
- 287:149(f64vec3) Load 267(f64v1)
- 289:26(float64_t) Load 288(f64)
- 290:149(f64vec3) CompositeConstruct 289 289 289
- 291:149(f64vec3) FMod 287 290
- Store 266(f64v2) 291
- 293:149(f64vec3) Load 267(f64v1)
- 294:149(f64vec3) ExtInst 1(GLSL.std.450) 35(Modf) 293 266(f64v2)
- Store 292(f64v3) 294
- 295:149(f64vec3) Load 267(f64v1)
- 296:149(f64vec3) Load 266(f64v2)
- 297:149(f64vec3) ExtInst 1(GLSL.std.450) 37(FMin) 295 296
- Store 292(f64v3) 297
- 298:149(f64vec3) Load 267(f64v1)
- 299:26(float64_t) Load 288(f64)
- 300:149(f64vec3) CompositeConstruct 299 299 299
- 301:149(f64vec3) ExtInst 1(GLSL.std.450) 37(FMin) 298 300
- Store 292(f64v3) 301
- 302:149(f64vec3) Load 267(f64v1)
- 303:149(f64vec3) Load 266(f64v2)
- 304:149(f64vec3) ExtInst 1(GLSL.std.450) 40(FMax) 302 303
- Store 292(f64v3) 304
- 305:149(f64vec3) Load 267(f64v1)
- 306:26(float64_t) Load 288(f64)
- 307:149(f64vec3) CompositeConstruct 306 306 306
- 308:149(f64vec3) ExtInst 1(GLSL.std.450) 40(FMax) 305 307
- Store 292(f64v3) 308
- 309:149(f64vec3) Load 267(f64v1)
- 310:26(float64_t) Load 288(f64)
- 311: 33(ptr) AccessChain 266(f64v2) 32
- 312:26(float64_t) Load 311
- 313:149(f64vec3) CompositeConstruct 310 310 310
- 314:149(f64vec3) CompositeConstruct 312 312 312
- 315:149(f64vec3) ExtInst 1(GLSL.std.450) 43(FClamp) 309 313 314
- Store 292(f64v3) 315
- 316:149(f64vec3) Load 267(f64v1)
- 317:149(f64vec3) Load 266(f64v2)
- 318:26(float64_t) Load 288(f64)
- 319:149(f64vec3) CompositeConstruct 318 318 318
- 320:149(f64vec3) ExtInst 1(GLSL.std.450) 43(FClamp) 316 317 319
- Store 292(f64v3) 320
- 321:149(f64vec3) Load 267(f64v1)
- 322:149(f64vec3) Load 266(f64v2)
- 323:26(float64_t) Load 288(f64)
- 324:149(f64vec3) CompositeConstruct 323 323 323
- 325:149(f64vec3) ExtInst 1(GLSL.std.450) 46(FMix) 321 322 324
- Store 292(f64v3) 325
- 326:149(f64vec3) Load 267(f64v1)
- 327:149(f64vec3) Load 266(f64v2)
- 328:149(f64vec3) Load 292(f64v3)
- 329:149(f64vec3) ExtInst 1(GLSL.std.450) 46(FMix) 326 327 328
- Store 292(f64v3) 329
- 330:149(f64vec3) Load 267(f64v1)
- 331:149(f64vec3) Load 266(f64v2)
- 333: 152(bvec3) Load 332(bv)
- 334:149(f64vec3) Select 333 331 330
- Store 292(f64v3) 334
- 335:149(f64vec3) Load 267(f64v1)
- 336:149(f64vec3) Load 266(f64v2)
- 337:149(f64vec3) ExtInst 1(GLSL.std.450) 48(Step) 335 336
- Store 292(f64v3) 337
- 338:26(float64_t) Load 288(f64)
- 339:149(f64vec3) Load 292(f64v3)
- 340:149(f64vec3) CompositeConstruct 338 338 338
- 341:149(f64vec3) ExtInst 1(GLSL.std.450) 48(Step) 340 339
- Store 292(f64v3) 341
- 342:149(f64vec3) Load 267(f64v1)
- 343:149(f64vec3) Load 266(f64v2)
- 344:149(f64vec3) Load 292(f64v3)
- 345:149(f64vec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 342 343 344
- Store 292(f64v3) 345
- 346:26(float64_t) Load 288(f64)
- 347: 33(ptr) AccessChain 267(f64v1) 32
- 348:26(float64_t) Load 347
- 349:149(f64vec3) Load 266(f64v2)
- 350:149(f64vec3) CompositeConstruct 346 346 346
- 351:149(f64vec3) CompositeConstruct 348 348 348
- 352:149(f64vec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 350 351 349
- Store 292(f64v3) 352
- 354:26(float64_t) Load 288(f64)
- 355: 107(bool) IsNan 354
- Store 353(b) 355
- 356:149(f64vec3) Load 267(f64v1)
- 357: 152(bvec3) IsInf 356
- Store 332(bv) 357
- 358:149(f64vec3) Load 267(f64v1)
- 359:149(f64vec3) Load 266(f64v2)
- 360:149(f64vec3) Load 292(f64v3)
- 361:149(f64vec3) ExtInst 1(GLSL.std.450) 50(Fma) 358 359 360
- Store 292(f64v3) 361
- 362:149(f64vec3) Load 267(f64v1)
- 365:364(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 362
- 366: 183(ivec3) CompositeExtract 365 1
- Store 363(iv) 366
- 367:149(f64vec3) CompositeExtract 365 0
- Store 266(f64v2) 367
- 368:149(f64vec3) Load 267(f64v1)
- 369: 183(ivec3) Load 363(iv)
- 370:149(f64vec3) ExtInst 1(GLSL.std.450) 53(Ldexp) 368 369
- Store 266(f64v2) 370
+ 269(f64v2): 150(ptr) Variable Function
+ 270(f64v1): 150(ptr) Variable Function
+ 291(f64): 33(ptr) Variable Function
+ 295(f64v3): 150(ptr) Variable Function
+ 335(bv): 153(ptr) Variable Function
+ 356(b): 108(ptr) Variable Function
+ 366(iv): 184(ptr) Variable Function
+ 271:149(f64vec3) Load 270(f64v1)
+ 272:149(f64vec3) ExtInst 1(GLSL.std.450) 4(FAbs) 271
+ Store 269(f64v2) 272
+ 273:149(f64vec3) Load 270(f64v1)
+ 274:149(f64vec3) ExtInst 1(GLSL.std.450) 6(FSign) 273
+ Store 269(f64v2) 274
+ 275:149(f64vec3) Load 270(f64v1)
+ 276:149(f64vec3) ExtInst 1(GLSL.std.450) 8(Floor) 275
+ Store 269(f64v2) 276
+ 277:149(f64vec3) Load 270(f64v1)
+ 278:149(f64vec3) ExtInst 1(GLSL.std.450) 3(Trunc) 277
+ Store 269(f64v2) 278
+ 279:149(f64vec3) Load 270(f64v1)
+ 280:149(f64vec3) ExtInst 1(GLSL.std.450) 1(Round) 279
+ Store 269(f64v2) 280
+ 281:149(f64vec3) Load 270(f64v1)
+ 282:149(f64vec3) ExtInst 1(GLSL.std.450) 2(RoundEven) 281
+ Store 269(f64v2) 282
+ 283:149(f64vec3) Load 270(f64v1)
+ 284:149(f64vec3) ExtInst 1(GLSL.std.450) 9(Ceil) 283
+ Store 269(f64v2) 284
+ 285:149(f64vec3) Load 270(f64v1)
+ 286:149(f64vec3) ExtInst 1(GLSL.std.450) 10(Fract) 285
+ Store 269(f64v2) 286
+ 287:149(f64vec3) Load 270(f64v1)
+ 288:149(f64vec3) Load 269(f64v2)
+ 289:149(f64vec3) FMod 287 288
+ Store 269(f64v2) 289
+ 290:149(f64vec3) Load 270(f64v1)
+ 292:26(float64_t) Load 291(f64)
+ 293:149(f64vec3) CompositeConstruct 292 292 292
+ 294:149(f64vec3) FMod 290 293
+ Store 269(f64v2) 294
+ 296:149(f64vec3) Load 270(f64v1)
+ 297:149(f64vec3) ExtInst 1(GLSL.std.450) 35(Modf) 296 269(f64v2)
+ Store 295(f64v3) 297
+ 298:149(f64vec3) Load 270(f64v1)
+ 299:149(f64vec3) Load 269(f64v2)
+ 300:149(f64vec3) ExtInst 1(GLSL.std.450) 37(FMin) 298 299
+ Store 295(f64v3) 300
+ 301:149(f64vec3) Load 270(f64v1)
+ 302:26(float64_t) Load 291(f64)
+ 303:149(f64vec3) CompositeConstruct 302 302 302
+ 304:149(f64vec3) ExtInst 1(GLSL.std.450) 37(FMin) 301 303
+ Store 295(f64v3) 304
+ 305:149(f64vec3) Load 270(f64v1)
+ 306:149(f64vec3) Load 269(f64v2)
+ 307:149(f64vec3) ExtInst 1(GLSL.std.450) 40(FMax) 305 306
+ Store 295(f64v3) 307
+ 308:149(f64vec3) Load 270(f64v1)
+ 309:26(float64_t) Load 291(f64)
+ 310:149(f64vec3) CompositeConstruct 309 309 309
+ 311:149(f64vec3) ExtInst 1(GLSL.std.450) 40(FMax) 308 310
+ Store 295(f64v3) 311
+ 312:149(f64vec3) Load 270(f64v1)
+ 313:26(float64_t) Load 291(f64)
+ 314: 33(ptr) AccessChain 269(f64v2) 32
+ 315:26(float64_t) Load 314
+ 316:149(f64vec3) CompositeConstruct 313 313 313
+ 317:149(f64vec3) CompositeConstruct 315 315 315
+ 318:149(f64vec3) ExtInst 1(GLSL.std.450) 43(FClamp) 312 316 317
+ Store 295(f64v3) 318
+ 319:149(f64vec3) Load 270(f64v1)
+ 320:149(f64vec3) Load 269(f64v2)
+ 321:26(float64_t) Load 291(f64)
+ 322:149(f64vec3) CompositeConstruct 321 321 321
+ 323:149(f64vec3) ExtInst 1(GLSL.std.450) 43(FClamp) 319 320 322
+ Store 295(f64v3) 323
+ 324:149(f64vec3) Load 270(f64v1)
+ 325:149(f64vec3) Load 269(f64v2)
+ 326:26(float64_t) Load 291(f64)
+ 327:149(f64vec3) CompositeConstruct 326 326 326
+ 328:149(f64vec3) ExtInst 1(GLSL.std.450) 46(FMix) 324 325 327
+ Store 295(f64v3) 328
+ 329:149(f64vec3) Load 270(f64v1)
+ 330:149(f64vec3) Load 269(f64v2)
+ 331:149(f64vec3) Load 295(f64v3)
+ 332:149(f64vec3) ExtInst 1(GLSL.std.450) 46(FMix) 329 330 331
+ Store 295(f64v3) 332
+ 333:149(f64vec3) Load 270(f64v1)
+ 334:149(f64vec3) Load 269(f64v2)
+ 336: 152(bvec3) Load 335(bv)
+ 337:149(f64vec3) Select 336 334 333
+ Store 295(f64v3) 337
+ 338:149(f64vec3) Load 270(f64v1)
+ 339:149(f64vec3) Load 269(f64v2)
+ 340:149(f64vec3) ExtInst 1(GLSL.std.450) 48(Step) 338 339
+ Store 295(f64v3) 340
+ 341:26(float64_t) Load 291(f64)
+ 342:149(f64vec3) Load 295(f64v3)
+ 343:149(f64vec3) CompositeConstruct 341 341 341
+ 344:149(f64vec3) ExtInst 1(GLSL.std.450) 48(Step) 343 342
+ Store 295(f64v3) 344
+ 345:149(f64vec3) Load 270(f64v1)
+ 346:149(f64vec3) Load 269(f64v2)
+ 347:149(f64vec3) Load 295(f64v3)
+ 348:149(f64vec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 345 346 347
+ Store 295(f64v3) 348
+ 349:26(float64_t) Load 291(f64)
+ 350: 33(ptr) AccessChain 270(f64v1) 32
+ 351:26(float64_t) Load 350
+ 352:149(f64vec3) Load 269(f64v2)
+ 353:149(f64vec3) CompositeConstruct 349 349 349
+ 354:149(f64vec3) CompositeConstruct 351 351 351
+ 355:149(f64vec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 353 354 352
+ Store 295(f64v3) 355
+ 357:26(float64_t) Load 291(f64)
+ 358: 107(bool) IsNan 357
+ Store 356(b) 358
+ 359:149(f64vec3) Load 270(f64v1)
+ 360: 152(bvec3) IsInf 359
+ Store 335(bv) 360
+ 361:149(f64vec3) Load 270(f64v1)
+ 362:149(f64vec3) Load 269(f64v2)
+ 363:149(f64vec3) Load 295(f64v3)
+ 364:149(f64vec3) ExtInst 1(GLSL.std.450) 50(Fma) 361 362 363
+ Store 295(f64v3) 364
+ 365:149(f64vec3) Load 270(f64v1)
+ 368:367(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 365
+ 369: 183(ivec3) CompositeExtract 368 1
+ Store 366(iv) 369
+ 370:149(f64vec3) CompositeExtract 368 0
+ Store 269(f64v2) 370
+ 371:149(f64vec3) Load 270(f64v1)
+ 372: 183(ivec3) Load 366(iv)
+ 373:149(f64vec3) ExtInst 1(GLSL.std.450) 53(Ldexp) 371 372
+ Store 269(f64v2) 373
Return
FunctionEnd
18(builtinGeometryFuncs(): 2 Function None 3
19: Label
- 371(f64): 33(ptr) Variable Function
- 372(f64v1): 150(ptr) Variable Function
- 376(f64v2): 150(ptr) Variable Function
- 382(f64v3): 150(ptr) Variable Function
- 373:149(f64vec3) Load 372(f64v1)
- 374:26(float64_t) ExtInst 1(GLSL.std.450) 66(Length) 373
- Store 371(f64) 374
- 375:149(f64vec3) Load 372(f64v1)
- 377:149(f64vec3) Load 376(f64v2)
- 378:26(float64_t) ExtInst 1(GLSL.std.450) 67(Distance) 375 377
- Store 371(f64) 378
- 379:149(f64vec3) Load 372(f64v1)
- 380:149(f64vec3) Load 376(f64v2)
- 381:26(float64_t) Dot 379 380
- Store 371(f64) 381
- 383:149(f64vec3) Load 372(f64v1)
- 384:149(f64vec3) Load 376(f64v2)
- 385:149(f64vec3) ExtInst 1(GLSL.std.450) 68(Cross) 383 384
- Store 382(f64v3) 385
- 386:149(f64vec3) Load 372(f64v1)
- 387:149(f64vec3) ExtInst 1(GLSL.std.450) 69(Normalize) 386
- Store 376(f64v2) 387
- 388:149(f64vec3) Load 372(f64v1)
- 389:149(f64vec3) Load 376(f64v2)
- 390:149(f64vec3) Load 382(f64v3)
- 391:149(f64vec3) ExtInst 1(GLSL.std.450) 70(FaceForward) 388 389 390
- Store 382(f64v3) 391
- 392:149(f64vec3) Load 372(f64v1)
- 393:149(f64vec3) Load 376(f64v2)
- 394:149(f64vec3) ExtInst 1(GLSL.std.450) 71(Reflect) 392 393
- Store 382(f64v3) 394
- 395:149(f64vec3) Load 372(f64v1)
- 396:149(f64vec3) Load 376(f64v2)
- 397:26(float64_t) Load 371(f64)
- 398:149(f64vec3) ExtInst 1(GLSL.std.450) 72(Refract) 395 396 397
- Store 382(f64v3) 398
+ 374(f64): 33(ptr) Variable Function
+ 375(f64v1): 150(ptr) Variable Function
+ 379(f64v2): 150(ptr) Variable Function
+ 385(f64v3): 150(ptr) Variable Function
+ 376:149(f64vec3) Load 375(f64v1)
+ 377:26(float64_t) ExtInst 1(GLSL.std.450) 66(Length) 376
+ Store 374(f64) 377
+ 378:149(f64vec3) Load 375(f64v1)
+ 380:149(f64vec3) Load 379(f64v2)
+ 381:26(float64_t) ExtInst 1(GLSL.std.450) 67(Distance) 378 380
+ Store 374(f64) 381
+ 382:149(f64vec3) Load 375(f64v1)
+ 383:149(f64vec3) Load 379(f64v2)
+ 384:26(float64_t) Dot 382 383
+ Store 374(f64) 384
+ 386:149(f64vec3) Load 375(f64v1)
+ 387:149(f64vec3) Load 379(f64v2)
+ 388:149(f64vec3) ExtInst 1(GLSL.std.450) 68(Cross) 386 387
+ Store 385(f64v3) 388
+ 389:149(f64vec3) Load 375(f64v1)
+ 390:149(f64vec3) ExtInst 1(GLSL.std.450) 69(Normalize) 389
+ Store 379(f64v2) 390
+ 391:149(f64vec3) Load 375(f64v1)
+ 392:149(f64vec3) Load 379(f64v2)
+ 393:149(f64vec3) Load 385(f64v3)
+ 394:149(f64vec3) ExtInst 1(GLSL.std.450) 70(FaceForward) 391 392 393
+ Store 385(f64v3) 394
+ 395:149(f64vec3) Load 375(f64v1)
+ 396:149(f64vec3) Load 379(f64v2)
+ 397:149(f64vec3) ExtInst 1(GLSL.std.450) 71(Reflect) 395 396
+ Store 385(f64v3) 397
+ 398:149(f64vec3) Load 375(f64v1)
+ 399:149(f64vec3) Load 379(f64v2)
+ 400:26(float64_t) Load 374(f64)
+ 401:149(f64vec3) ExtInst 1(GLSL.std.450) 72(Refract) 398 399 400
+ Store 385(f64v3) 401
Return
FunctionEnd
20(builtinMatrixFuncs(): 2 Function None 3
21: Label
- 401(f64m3): 400(ptr) Variable Function
- 402(f64m1): 400(ptr) Variable Function
- 404(f64m2): 400(ptr) Variable Function
- 413(f64v1): 150(ptr) Variable Function
- 415(f64v2): 28(ptr) Variable Function
- 420(f64m4): 419(ptr) Variable Function
- 423(f64): 33(ptr) Variable Function
- 426(f64m5): 425(ptr) Variable Function
- 431(f64m6): 430(ptr) Variable Function
- 432(f64m7): 430(ptr) Variable Function
- 403: 399 Load 402(f64m1)
- 405: 399 Load 404(f64m2)
- 406:149(f64vec3) CompositeExtract 403 0
- 407:149(f64vec3) CompositeExtract 405 0
- 408:149(f64vec3) FMul 406 407
- 409:149(f64vec3) CompositeExtract 403 1
- 410:149(f64vec3) CompositeExtract 405 1
+ 404(f64m3): 403(ptr) Variable Function
+ 405(f64m1): 403(ptr) Variable Function
+ 407(f64m2): 403(ptr) Variable Function
+ 416(f64v1): 150(ptr) Variable Function
+ 418(f64v2): 28(ptr) Variable Function
+ 423(f64m4): 422(ptr) Variable Function
+ 426(f64): 33(ptr) Variable Function
+ 429(f64m5): 428(ptr) Variable Function
+ 434(f64m6): 433(ptr) Variable Function
+ 435(f64m7): 433(ptr) Variable Function
+ 406: 402 Load 405(f64m1)
+ 408: 402 Load 407(f64m2)
+ 409:149(f64vec3) CompositeExtract 406 0
+ 410:149(f64vec3) CompositeExtract 408 0
411:149(f64vec3) FMul 409 410
- 412: 399 CompositeConstruct 408 411
- Store 401(f64m3) 412
- 414:149(f64vec3) Load 413(f64v1)
- 416: 27(f64vec2) Load 415(f64v2)
- 417: 399 OuterProduct 414 416
- Store 402(f64m1) 417
- 421: 399 Load 402(f64m1)
- 422: 418 Transpose 421
- Store 420(f64m4) 422
- 427: 424 Load 426(f64m5)
- 428:26(float64_t) ExtInst 1(GLSL.std.450) 33(Determinant) 427
- Store 423(f64) 428
- 433: 429 Load 432(f64m7)
- 434: 429 ExtInst 1(GLSL.std.450) 34(MatrixInverse) 433
- Store 431(f64m6) 434
+ 412:149(f64vec3) CompositeExtract 406 1
+ 413:149(f64vec3) CompositeExtract 408 1
+ 414:149(f64vec3) FMul 412 413
+ 415: 402 CompositeConstruct 411 414
+ Store 404(f64m3) 415
+ 417:149(f64vec3) Load 416(f64v1)
+ 419: 27(f64vec2) Load 418(f64v2)
+ 420: 402 OuterProduct 417 419
+ Store 405(f64m1) 420
+ 424: 402 Load 405(f64m1)
+ 425: 421 Transpose 424
+ Store 423(f64m4) 425
+ 430: 427 Load 429(f64m5)
+ 431:26(float64_t) ExtInst 1(GLSL.std.450) 33(Determinant) 430
+ Store 426(f64) 431
+ 436: 432 Load 435(f64m7)
+ 437: 432 ExtInst 1(GLSL.std.450) 34(MatrixInverse) 436
+ Store 434(f64m6) 437
Return
FunctionEnd
22(builtinVecRelFuncs(): 2 Function None 3
23: Label
- 435(bv): 153(ptr) Variable Function
- 436(f64v1): 150(ptr) Variable Function
- 438(f64v2): 150(ptr) Variable Function
- 437:149(f64vec3) Load 436(f64v1)
- 439:149(f64vec3) Load 438(f64v2)
- 440: 152(bvec3) FOrdLessThan 437 439
- Store 435(bv) 440
- 441:149(f64vec3) Load 436(f64v1)
- 442:149(f64vec3) Load 438(f64v2)
- 443: 152(bvec3) FOrdLessThanEqual 441 442
- Store 435(bv) 443
- 444:149(f64vec3) Load 436(f64v1)
- 445:149(f64vec3) Load 438(f64v2)
- 446: 152(bvec3) FOrdGreaterThan 444 445
- Store 435(bv) 446
- 447:149(f64vec3) Load 436(f64v1)
- 448:149(f64vec3) Load 438(f64v2)
- 449: 152(bvec3) FOrdGreaterThanEqual 447 448
- Store 435(bv) 449
- 450:149(f64vec3) Load 436(f64v1)
- 451:149(f64vec3) Load 438(f64v2)
- 452: 152(bvec3) FOrdEqual 450 451
- Store 435(bv) 452
- 453:149(f64vec3) Load 436(f64v1)
- 454:149(f64vec3) Load 438(f64v2)
- 455: 152(bvec3) FOrdNotEqual 453 454
- Store 435(bv) 455
+ 438(bv): 153(ptr) Variable Function
+ 439(f64v1): 150(ptr) Variable Function
+ 441(f64v2): 150(ptr) Variable Function
+ 440:149(f64vec3) Load 439(f64v1)
+ 442:149(f64vec3) Load 441(f64v2)
+ 443: 152(bvec3) FOrdLessThan 440 442
+ Store 438(bv) 443
+ 444:149(f64vec3) Load 439(f64v1)
+ 445:149(f64vec3) Load 441(f64v2)
+ 446: 152(bvec3) FOrdLessThanEqual 444 445
+ Store 438(bv) 446
+ 447:149(f64vec3) Load 439(f64v1)
+ 448:149(f64vec3) Load 441(f64v2)
+ 449: 152(bvec3) FOrdGreaterThan 447 448
+ Store 438(bv) 449
+ 450:149(f64vec3) Load 439(f64v1)
+ 451:149(f64vec3) Load 441(f64v2)
+ 452: 152(bvec3) FOrdGreaterThanEqual 450 451
+ Store 438(bv) 452
+ 453:149(f64vec3) Load 439(f64v1)
+ 454:149(f64vec3) Load 441(f64v2)
+ 455: 152(bvec3) FOrdEqual 453 454
+ Store 438(bv) 455
+ 456:149(f64vec3) Load 439(f64v1)
+ 457:149(f64vec3) Load 441(f64v2)
+ 458: 152(bvec3) FOrdNotEqual 456 457
+ Store 438(bv) 458
Return
FunctionEnd
24(builtinFragProcFuncs(): 2 Function None 3
25: Label
- 456(f64v): 150(ptr) Variable Function
- 460: 459(ptr) AccessChain 458(if64v) 32
- 461:26(float64_t) Load 460
- 462:26(float64_t) DPdx 461
- 463: 33(ptr) AccessChain 456(f64v) 32
- Store 463 462
- 464: 459(ptr) AccessChain 458(if64v) 88
- 465:26(float64_t) Load 464
- 466:26(float64_t) DPdy 465
- 467: 33(ptr) AccessChain 456(f64v) 88
- Store 467 466
- 468:149(f64vec3) Load 458(if64v)
- 469: 27(f64vec2) VectorShuffle 468 468 0 1
- 470: 27(f64vec2) DPdxFine 469
- 471:149(f64vec3) Load 456(f64v)
- 472:149(f64vec3) VectorShuffle 471 470 3 4 2
- Store 456(f64v) 472
- 473:149(f64vec3) Load 458(if64v)
- 474: 27(f64vec2) VectorShuffle 473 473 0 1
- 475: 27(f64vec2) DPdyFine 474
- 476:149(f64vec3) Load 456(f64v)
- 477:149(f64vec3) VectorShuffle 476 475 3 4 2
- Store 456(f64v) 477
- 478:149(f64vec3) Load 458(if64v)
- 479:149(f64vec3) DPdxCoarse 478
- Store 456(f64v) 479
- 480:149(f64vec3) Load 458(if64v)
- 481:149(f64vec3) DPdxCoarse 480
- Store 456(f64v) 481
- 482: 459(ptr) AccessChain 458(if64v) 32
- 483:26(float64_t) Load 482
- 484:26(float64_t) Fwidth 483
- 485: 33(ptr) AccessChain 456(f64v) 32
- Store 485 484
- 486:149(f64vec3) Load 458(if64v)
- 487: 27(f64vec2) VectorShuffle 486 486 0 1
- 488: 27(f64vec2) FwidthFine 487
- 489:149(f64vec3) Load 456(f64v)
- 490:149(f64vec3) VectorShuffle 489 488 3 4 2
- Store 456(f64v) 490
- 491:149(f64vec3) Load 458(if64v)
- 492:149(f64vec3) FwidthCoarse 491
- Store 456(f64v) 492
- 493: 459(ptr) AccessChain 458(if64v) 32
- 494:26(float64_t) ExtInst 1(GLSL.std.450) 76(InterpolateAtCentroid) 493
- 495: 33(ptr) AccessChain 456(f64v) 32
- Store 495 494
- 497:149(f64vec3) ExtInst 1(GLSL.std.450) 77(InterpolateAtSample) 458(if64v) 496
- 498: 27(f64vec2) VectorShuffle 497 497 0 1
- 499:149(f64vec3) Load 456(f64v)
- 500:149(f64vec3) VectorShuffle 499 498 3 4 2
- Store 456(f64v) 500
- 503:149(f64vec3) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 458(if64v) 502
- Store 456(f64v) 503
+ 459(f64v): 150(ptr) Variable Function
+ 463: 462(ptr) AccessChain 461(if64v) 32
+ 464:26(float64_t) Load 463
+ 465:26(float64_t) DPdx 464
+ 466: 33(ptr) AccessChain 459(f64v) 32
+ Store 466 465
+ 467: 462(ptr) AccessChain 461(if64v) 88
+ 468:26(float64_t) Load 467
+ 469:26(float64_t) DPdy 468
+ 470: 33(ptr) AccessChain 459(f64v) 88
+ Store 470 469
+ 471:149(f64vec3) Load 461(if64v)
+ 472: 27(f64vec2) VectorShuffle 471 471 0 1
+ 473: 27(f64vec2) DPdxFine 472
+ 474:149(f64vec3) Load 459(f64v)
+ 475:149(f64vec3) VectorShuffle 474 473 3 4 2
+ Store 459(f64v) 475
+ 476:149(f64vec3) Load 461(if64v)
+ 477: 27(f64vec2) VectorShuffle 476 476 0 1
+ 478: 27(f64vec2) DPdyFine 477
+ 479:149(f64vec3) Load 459(f64v)
+ 480:149(f64vec3) VectorShuffle 479 478 3 4 2
+ Store 459(f64v) 480
+ 481:149(f64vec3) Load 461(if64v)
+ 482:149(f64vec3) DPdxCoarse 481
+ Store 459(f64v) 482
+ 483:149(f64vec3) Load 461(if64v)
+ 484:149(f64vec3) DPdxCoarse 483
+ Store 459(f64v) 484
+ 485: 462(ptr) AccessChain 461(if64v) 32
+ 486:26(float64_t) Load 485
+ 487:26(float64_t) Fwidth 486
+ 488: 33(ptr) AccessChain 459(f64v) 32
+ Store 488 487
+ 489:149(f64vec3) Load 461(if64v)
+ 490: 27(f64vec2) VectorShuffle 489 489 0 1
+ 491: 27(f64vec2) FwidthFine 490
+ 492:149(f64vec3) Load 459(f64v)
+ 493:149(f64vec3) VectorShuffle 492 491 3 4 2
+ Store 459(f64v) 493
+ 494:149(f64vec3) Load 461(if64v)
+ 495:149(f64vec3) FwidthCoarse 494
+ Store 459(f64v) 495
+ 496: 462(ptr) AccessChain 461(if64v) 32
+ 497:26(float64_t) ExtInst 1(GLSL.std.450) 76(InterpolateAtCentroid) 496
+ 498: 33(ptr) AccessChain 459(f64v) 32
+ Store 498 497
+ 500:149(f64vec3) ExtInst 1(GLSL.std.450) 77(InterpolateAtSample) 461(if64v) 499
+ 501: 27(f64vec2) VectorShuffle 500 500 0 1
+ 502:149(f64vec3) Load 459(f64v)
+ 503:149(f64vec3) VectorShuffle 502 501 3 4 2
+ Store 459(f64v) 503
+ 506:149(f64vec3) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 461(if64v) 505
+ Store 459(f64v) 506
Return
FunctionEnd
spv.int8.frag
// Module Version 10300
// Generated by (magic number): 80007
-// Id's are bound by 531
+// Id's are bound by 518
Capability Shader
Capability Float16
Capability Int64
Capability Int16
Capability Int8
+ Capability CapabilityUniformAndStorageBuffer8BitAccess
+ Extension "SPV_KHR_8bit_storage"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main"
Name 144 "u16v"
Name 174 "bv"
Name 192 "u8v"
- Name 196 "i8"
- Name 216 "i"
- Name 223 "uv"
- Name 242 "i16"
- Name 279 "b"
- Name 341 "i8v"
- Name 344 "i8"
- Name 354 "u8v"
- Name 356 "u8"
- Name 430 "i16"
- Name 433 "i32"
- Name 436 "i8v4"
- Name 440 "u16"
- Name 441 "u8v2"
- Name 444 "u32"
- Name 447 "u8v4"
- Name 459 "bv"
- Name 526 "Block"
- MemberName 526(Block) 0 "i8"
- MemberName 526(Block) 1 "i8v2"
- MemberName 526(Block) 2 "i8v3"
- MemberName 526(Block) 3 "i8v4"
- MemberName 526(Block) 4 "u8"
- MemberName 526(Block) 5 "u8v2"
- MemberName 526(Block) 6 "u8v3"
- MemberName 526(Block) 7 "u8v4"
- Name 528 "block"
- Name 529 "si8"
- Name 530 "su8"
+ Name 197 "i8"
+ Name 217 "i"
+ Name 224 "uv"
+ Name 240 "i16"
+ Name 276 "b"
+ Name 338 "i8v"
+ Name 341 "i8"
+ Name 351 "u8v"
+ Name 353 "u8"
+ Name 423 "i16"
+ Name 426 "i32"
+ Name 429 "i8v4"
+ Name 433 "u16"
+ Name 434 "u8v2"
+ Name 437 "u32"
+ Name 440 "u8v4"
+ Name 452 "bv"
+ Name 513 "Block"
+ MemberName 513(Block) 0 "i8"
+ MemberName 513(Block) 1 "i8v2"
+ MemberName 513(Block) 2 "i8v3"
+ MemberName 513(Block) 3 "i8v4"
+ MemberName 513(Block) 4 "u8"
+ MemberName 513(Block) 5 "u8v2"
+ MemberName 513(Block) 6 "u8v3"
+ MemberName 513(Block) 7 "u8v4"
+ Name 515 "block"
+ Name 516 "si8"
+ Name 517 "su8"
MemberDecorate 24(Uniforms) 0 Offset 0
Decorate 24(Uniforms) Block
Decorate 26 DescriptorSet 0
Decorate 26 Binding 0
- MemberDecorate 526(Block) 0 Offset 0
- MemberDecorate 526(Block) 1 Offset 2
- MemberDecorate 526(Block) 2 Offset 4
- MemberDecorate 526(Block) 3 Offset 8
- MemberDecorate 526(Block) 4 Offset 12
- MemberDecorate 526(Block) 5 Offset 14
- MemberDecorate 526(Block) 6 Offset 16
- MemberDecorate 526(Block) 7 Offset 20
- Decorate 526(Block) Block
- Decorate 528(block) DescriptorSet 0
- Decorate 528(block) Binding 1
- Decorate 529(si8) SpecId 100
- Decorate 530(su8) SpecId 101
+ MemberDecorate 513(Block) 0 Offset 0
+ MemberDecorate 513(Block) 1 Offset 2
+ MemberDecorate 513(Block) 2 Offset 4
+ MemberDecorate 513(Block) 3 Offset 8
+ MemberDecorate 513(Block) 4 Offset 12
+ MemberDecorate 513(Block) 5 Offset 14
+ MemberDecorate 513(Block) 6 Offset 16
+ MemberDecorate 513(Block) 7 Offset 20
+ Decorate 513(Block) Block
+ Decorate 515(block) DescriptorSet 0
+ Decorate 515(block) Binding 1
+ Decorate 516(si8) SpecId 100
+ Decorate 517(su8) SpecId 101
2: TypeVoid
3: TypeFunction 2
14: TypeInt 8 1
182: 36(int8_t) Constant 1
183: 49(i8vec2) ConstantComposite 181 181
184: 49(i8vec2) ConstantComposite 182 182
- 190: TypeVector 14(int8_t) 3
+ 190: TypeVector 36(int8_t) 3
191: TypePointer Function 190(i8vec3)
- 215: TypePointer Function 27(int)
- 221: TypeVector 17(int) 3
- 222: TypePointer Function 221(ivec3)
- 225: TypeVector 27(int) 3
- 241: TypePointer Function 57(int16_t)
- 264: 17(int) Constant 1
- 270: 17(int) Constant 2
- 278: TypePointer Function 171(bool)
- 280: 17(int) Constant 0
- 293: TypePointer Function 17(int)
- 352: 52(i8vec2) ConstantComposite 21 21
- 358: TypeVector 36(int8_t) 3
- 362: 190(i8vec3) ConstantComposite 22 22 22
- 404: 171(bool) ConstantTrue
- 411: 171(bool) ConstantFalse
- 412: 172(bvec2) ConstantComposite 411 411
- 427: TypeVector 171(bool) 3
- 428: 427(bvec3) ConstantComposite 411 411 411
- 434: TypeVector 14(int8_t) 4
- 435: TypePointer Function 434(i8vec4)
- 439: TypePointer Function 64(int16_t)
- 445: TypeVector 36(int8_t) 4
- 446: TypePointer Function 445(i8vec4)
- 458: TypePointer Function 427(bvec3)
- 526(Block): TypeStruct 14(int8_t) 52(i8vec2) 190(i8vec3) 434(i8vec4) 36(int8_t) 49(i8vec2) 190(i8vec3) 445(i8vec4)
- 527: TypePointer Uniform 526(Block)
- 528(block): 527(ptr) Variable Uniform
- 529(si8): 14(int8_t) SpecConstant 4294967286
- 530(su8): 36(int8_t) SpecConstant 20
+ 194: TypeVector 14(int8_t) 3
+ 216: TypePointer Function 27(int)
+ 222: TypeVector 17(int) 3
+ 223: TypePointer Function 222(ivec3)
+ 239: TypePointer Function 57(int16_t)
+ 261: 17(int) Constant 1
+ 267: 17(int) Constant 2
+ 275: TypePointer Function 171(bool)
+ 277: 17(int) Constant 0
+ 291: TypePointer Function 17(int)
+ 349: 52(i8vec2) ConstantComposite 21 21
+ 358: 190(i8vec3) ConstantComposite 181 181 181
+ 400: 171(bool) ConstantTrue
+ 407: 171(bool) ConstantFalse
+ 408: 172(bvec2) ConstantComposite 407 407
+ 420: TypeVector 171(bool) 3
+ 421: 420(bvec3) ConstantComposite 407 407 407
+ 427: TypeVector 14(int8_t) 4
+ 428: TypePointer Function 427(i8vec4)
+ 432: TypePointer Function 64(int16_t)
+ 438: TypeVector 36(int8_t) 4
+ 439: TypePointer Function 438(i8vec4)
+ 451: TypePointer Function 420(bvec3)
+ 513(Block): TypeStruct 14(int8_t) 52(i8vec2) 194(i8vec3) 427(i8vec4) 36(int8_t) 49(i8vec2) 190(i8vec3) 438(i8vec4)
+ 514: TypePointer Uniform 513(Block)
+ 515(block): 514(ptr) Variable Uniform
+ 516(si8): 14(int8_t) SpecConstant 4294967286
+ 517(su8): 36(int8_t) SpecConstant 20
4(main): 2 Function None 3
5: Label
Return
10(operators(): 2 Function None 3
11: Label
192(u8v): 191(ptr) Variable Function
- 196(i8): 15(ptr) Variable Function
- 216(i): 215(ptr) Variable Function
- 223(uv): 222(ptr) Variable Function
- 242(i16): 241(ptr) Variable Function
- 279(b): 278(ptr) Variable Function
+ 197(i8): 15(ptr) Variable Function
+ 217(i): 216(ptr) Variable Function
+ 224(uv): 223(ptr) Variable Function
+ 240(i16): 239(ptr) Variable Function
+ 276(b): 275(ptr) Variable Function
193: 190(i8vec3) Load 192(u8v)
- 194: 190(i8vec3) CompositeConstruct 176 176 176
- 195: 190(i8vec3) IAdd 193 194
- Store 192(u8v) 195
- 197: 14(int8_t) Load 196(i8)
- 198: 14(int8_t) ISub 197 176
- Store 196(i8) 198
- 199: 14(int8_t) Load 196(i8)
- 200: 14(int8_t) IAdd 199 176
- Store 196(i8) 200
- 201: 190(i8vec3) Load 192(u8v)
- 202: 190(i8vec3) CompositeConstruct 176 176 176
- 203: 190(i8vec3) ISub 201 202
- Store 192(u8v) 203
- 204: 190(i8vec3) Load 192(u8v)
- 205: 190(i8vec3) Not 204
- Store 192(u8v) 205
- 206: 14(int8_t) Load 196(i8)
- Store 196(i8) 206
- 207: 190(i8vec3) Load 192(u8v)
- 208: 190(i8vec3) SNegate 207
- Store 192(u8v) 208
- 209: 14(int8_t) Load 196(i8)
- 210: 14(int8_t) Load 196(i8)
- 211: 14(int8_t) IAdd 210 209
- Store 196(i8) 211
- 212: 190(i8vec3) Load 192(u8v)
+ 195: 194(i8vec3) CompositeConstruct 176 176 176
+ 196: 190(i8vec3) IAdd 193 195
+ Store 192(u8v) 196
+ 198: 14(int8_t) Load 197(i8)
+ 199: 14(int8_t) ISub 198 176
+ Store 197(i8) 199
+ 200: 14(int8_t) Load 197(i8)
+ 201: 14(int8_t) IAdd 200 176
+ Store 197(i8) 201
+ 202: 190(i8vec3) Load 192(u8v)
+ 203: 194(i8vec3) CompositeConstruct 176 176 176
+ 204: 190(i8vec3) ISub 202 203
+ Store 192(u8v) 204
+ 205: 190(i8vec3) Load 192(u8v)
+ 206: 190(i8vec3) Not 205
+ Store 192(u8v) 206
+ 207: 14(int8_t) Load 197(i8)
+ Store 197(i8) 207
+ 208: 190(i8vec3) Load 192(u8v)
+ 209: 190(i8vec3) SNegate 208
+ Store 192(u8v) 209
+ 210: 14(int8_t) Load 197(i8)
+ 211: 14(int8_t) Load 197(i8)
+ 212: 14(int8_t) IAdd 211 210
+ Store 197(i8) 212
213: 190(i8vec3) Load 192(u8v)
- 214: 190(i8vec3) ISub 213 212
- Store 192(u8v) 214
- 217: 14(int8_t) Load 196(i8)
- 218: 27(int) SConvert 217
- 219: 27(int) Load 216(i)
- 220: 27(int) IMul 219 218
- Store 216(i) 220
- 224: 190(i8vec3) Load 192(u8v)
- 226: 225(ivec3) SConvert 224
- 227: 221(ivec3) Bitcast 226
- 228: 221(ivec3) Load 223(uv)
- 229: 221(ivec3) UDiv 228 227
- Store 223(uv) 229
- 230: 14(int8_t) Load 196(i8)
- 231: 27(int) SConvert 230
- 232: 17(int) Bitcast 231
- 233: 221(ivec3) Load 223(uv)
- 234: 221(ivec3) CompositeConstruct 232 232 232
- 235: 221(ivec3) UMod 233 234
- Store 223(uv) 235
- 236: 190(i8vec3) Load 192(u8v)
- 237: 225(ivec3) SConvert 236
- 238: 221(ivec3) Bitcast 237
- 239: 221(ivec3) Load 223(uv)
- 240: 221(ivec3) IAdd 238 239
- Store 223(uv) 240
- 243: 14(int8_t) Load 196(i8)
- 244: 57(int16_t) SConvert 243
- 245: 57(int16_t) Load 242(i16)
- 246: 57(int16_t) ISub 244 245
- Store 242(i16) 246
- 247: 190(i8vec3) Load 192(u8v)
- 248: 225(ivec3) SConvert 247
- 249: 221(ivec3) Bitcast 248
- 250: 221(ivec3) Load 223(uv)
- 251: 221(ivec3) IMul 249 250
- Store 223(uv) 251
- 252: 14(int8_t) Load 196(i8)
- 253: 57(int16_t) SConvert 252
- 254: 57(int16_t) Load 242(i16)
- 255: 57(int16_t) IMul 253 254
- Store 242(i16) 255
- 256: 14(int8_t) Load 196(i8)
- 257: 27(int) SConvert 256
- 258: 27(int) Load 216(i)
- 259: 27(int) SMod 257 258
- Store 216(i) 259
- 260: 14(int8_t) Load 196(i8)
- 261: 190(i8vec3) Load 192(u8v)
- 262: 190(i8vec3) CompositeConstruct 260 260 260
- 263: 190(i8vec3) ShiftLeftLogical 261 262
- Store 192(u8v) 263
- 265: 15(ptr) AccessChain 192(u8v) 264
- 266: 14(int8_t) Load 265
- 267: 14(int8_t) Load 196(i8)
- 268: 14(int8_t) ShiftRightArithmetic 267 266
- Store 196(i8) 268
- 269: 14(int8_t) Load 196(i8)
- 271: 15(ptr) AccessChain 192(u8v) 270
- 272: 14(int8_t) Load 271
- 273: 14(int8_t) ShiftLeftLogical 269 272
- Store 196(i8) 273
- 274: 190(i8vec3) Load 192(u8v)
- 275: 14(int8_t) Load 196(i8)
- 276: 190(i8vec3) CompositeConstruct 275 275 275
- 277: 190(i8vec3) ShiftLeftLogical 274 276
- Store 192(u8v) 277
- 281: 15(ptr) AccessChain 192(u8v) 280
- 282: 14(int8_t) Load 281
- 283: 14(int8_t) Load 196(i8)
- 284: 171(bool) INotEqual 282 283
- Store 279(b) 284
- 285: 14(int8_t) Load 196(i8)
- 286: 15(ptr) AccessChain 192(u8v) 280
- 287: 14(int8_t) Load 286
- 288: 171(bool) IEqual 285 287
- Store 279(b) 288
- 289: 15(ptr) AccessChain 192(u8v) 280
- 290: 14(int8_t) Load 289
- 291: 27(int) SConvert 290
- 292: 17(int) Bitcast 291
- 294: 293(ptr) AccessChain 223(uv) 264
- 295: 17(int) Load 294
- 296: 171(bool) UGreaterThan 292 295
- Store 279(b) 296
- 297: 14(int8_t) Load 196(i8)
- 298: 27(int) SConvert 297
- 299: 27(int) Load 216(i)
- 300: 171(bool) SLessThan 298 299
- Store 279(b) 300
- 301: 15(ptr) AccessChain 192(u8v) 264
- 302: 14(int8_t) Load 301
- 303: 27(int) SConvert 302
- 304: 17(int) Bitcast 303
- 305: 293(ptr) AccessChain 223(uv) 280
- 306: 17(int) Load 305
- 307: 171(bool) UGreaterThanEqual 304 306
- Store 279(b) 307
- 308: 14(int8_t) Load 196(i8)
- 309: 27(int) SConvert 308
- 310: 27(int) Load 216(i)
- 311: 171(bool) SLessThanEqual 309 310
- Store 279(b) 311
- 312: 14(int8_t) Load 196(i8)
- 313: 27(int) SConvert 312
- 314: 17(int) Bitcast 313
- 315: 221(ivec3) Load 223(uv)
- 316: 221(ivec3) CompositeConstruct 314 314 314
- 317: 221(ivec3) BitwiseOr 315 316
- Store 223(uv) 317
- 318: 14(int8_t) Load 196(i8)
- 319: 27(int) SConvert 318
- 320: 27(int) Load 216(i)
- 321: 27(int) BitwiseOr 319 320
- Store 216(i) 321
- 322: 14(int8_t) Load 196(i8)
- 323: 57(int16_t) SConvert 322
- 324: 57(int16_t) Load 242(i16)
- 325: 57(int16_t) BitwiseAnd 324 323
- Store 242(i16) 325
- 326: 190(i8vec3) Load 192(u8v)
- 327: 225(ivec3) SConvert 326
- 328: 221(ivec3) Bitcast 327
- 329: 221(ivec3) Load 223(uv)
- 330: 221(ivec3) BitwiseAnd 328 329
- Store 223(uv) 330
- 331: 14(int8_t) Load 196(i8)
- 332: 27(int) SConvert 331
- 333: 17(int) Bitcast 332
- 334: 221(ivec3) Load 223(uv)
- 335: 221(ivec3) CompositeConstruct 333 333 333
- 336: 221(ivec3) BitwiseXor 334 335
- Store 223(uv) 336
- 337: 190(i8vec3) Load 192(u8v)
- 338: 14(int8_t) Load 196(i8)
- 339: 190(i8vec3) CompositeConstruct 338 338 338
- 340: 190(i8vec3) BitwiseXor 337 339
- Store 192(u8v) 340
+ 214: 190(i8vec3) Load 192(u8v)
+ 215: 190(i8vec3) ISub 214 213
+ Store 192(u8v) 215
+ 218: 14(int8_t) Load 197(i8)
+ 219: 27(int) SConvert 218
+ 220: 27(int) Load 217(i)
+ 221: 27(int) IMul 220 219
+ Store 217(i) 221
+ 225: 190(i8vec3) Load 192(u8v)
+ 226: 222(ivec3) UConvert 225
+ 227: 222(ivec3) Load 224(uv)
+ 228: 222(ivec3) UDiv 227 226
+ Store 224(uv) 228
+ 229: 14(int8_t) Load 197(i8)
+ 230: 27(int) SConvert 229
+ 231: 17(int) Bitcast 230
+ 232: 222(ivec3) Load 224(uv)
+ 233: 222(ivec3) CompositeConstruct 231 231 231
+ 234: 222(ivec3) UMod 232 233
+ Store 224(uv) 234
+ 235: 190(i8vec3) Load 192(u8v)
+ 236: 222(ivec3) UConvert 235
+ 237: 222(ivec3) Load 224(uv)
+ 238: 222(ivec3) IAdd 236 237
+ Store 224(uv) 238
+ 241: 14(int8_t) Load 197(i8)
+ 242: 57(int16_t) SConvert 241
+ 243: 57(int16_t) Load 240(i16)
+ 244: 57(int16_t) ISub 242 243
+ Store 240(i16) 244
+ 245: 190(i8vec3) Load 192(u8v)
+ 246: 222(ivec3) UConvert 245
+ 247: 222(ivec3) Load 224(uv)
+ 248: 222(ivec3) IMul 246 247
+ Store 224(uv) 248
+ 249: 14(int8_t) Load 197(i8)
+ 250: 57(int16_t) SConvert 249
+ 251: 57(int16_t) Load 240(i16)
+ 252: 57(int16_t) IMul 250 251
+ Store 240(i16) 252
+ 253: 14(int8_t) Load 197(i8)
+ 254: 27(int) SConvert 253
+ 255: 27(int) Load 217(i)
+ 256: 27(int) SMod 254 255
+ Store 217(i) 256
+ 257: 14(int8_t) Load 197(i8)
+ 258: 190(i8vec3) Load 192(u8v)
+ 259: 194(i8vec3) CompositeConstruct 257 257 257
+ 260: 190(i8vec3) ShiftLeftLogical 258 259
+ Store 192(u8v) 260
+ 262: 37(ptr) AccessChain 192(u8v) 261
+ 263: 36(int8_t) Load 262
+ 264: 14(int8_t) Load 197(i8)
+ 265: 14(int8_t) ShiftRightArithmetic 264 263
+ Store 197(i8) 265
+ 266: 14(int8_t) Load 197(i8)
+ 268: 37(ptr) AccessChain 192(u8v) 267
+ 269: 36(int8_t) Load 268
+ 270: 14(int8_t) ShiftLeftLogical 266 269
+ Store 197(i8) 270
+ 271: 190(i8vec3) Load 192(u8v)
+ 272: 14(int8_t) Load 197(i8)
+ 273: 194(i8vec3) CompositeConstruct 272 272 272
+ 274: 190(i8vec3) ShiftLeftLogical 271 273
+ Store 192(u8v) 274
+ 278: 37(ptr) AccessChain 192(u8v) 277
+ 279: 36(int8_t) Load 278
+ 280: 14(int8_t) Load 197(i8)
+ 281: 36(int8_t) Bitcast 280
+ 282: 171(bool) INotEqual 279 281
+ Store 276(b) 282
+ 283: 14(int8_t) Load 197(i8)
+ 284: 36(int8_t) Bitcast 283
+ 285: 37(ptr) AccessChain 192(u8v) 277
+ 286: 36(int8_t) Load 285
+ 287: 171(bool) IEqual 284 286
+ Store 276(b) 287
+ 288: 37(ptr) AccessChain 192(u8v) 277
+ 289: 36(int8_t) Load 288
+ 290: 17(int) UConvert 289
+ 292: 291(ptr) AccessChain 224(uv) 261
+ 293: 17(int) Load 292
+ 294: 171(bool) UGreaterThan 290 293
+ Store 276(b) 294
+ 295: 14(int8_t) Load 197(i8)
+ 296: 27(int) SConvert 295
+ 297: 27(int) Load 217(i)
+ 298: 171(bool) SLessThan 296 297
+ Store 276(b) 298
+ 299: 37(ptr) AccessChain 192(u8v) 261
+ 300: 36(int8_t) Load 299
+ 301: 17(int) UConvert 300
+ 302: 291(ptr) AccessChain 224(uv) 277
+ 303: 17(int) Load 302
+ 304: 171(bool) UGreaterThanEqual 301 303
+ Store 276(b) 304
+ 305: 14(int8_t) Load 197(i8)
+ 306: 27(int) SConvert 305
+ 307: 27(int) Load 217(i)
+ 308: 171(bool) SLessThanEqual 306 307
+ Store 276(b) 308
+ 309: 14(int8_t) Load 197(i8)
+ 310: 27(int) SConvert 309
+ 311: 17(int) Bitcast 310
+ 312: 222(ivec3) Load 224(uv)
+ 313: 222(ivec3) CompositeConstruct 311 311 311
+ 314: 222(ivec3) BitwiseOr 312 313
+ Store 224(uv) 314
+ 315: 14(int8_t) Load 197(i8)
+ 316: 27(int) SConvert 315
+ 317: 27(int) Load 217(i)
+ 318: 27(int) BitwiseOr 316 317
+ Store 217(i) 318
+ 319: 14(int8_t) Load 197(i8)
+ 320: 57(int16_t) SConvert 319
+ 321: 57(int16_t) Load 240(i16)
+ 322: 57(int16_t) BitwiseAnd 321 320
+ Store 240(i16) 322
+ 323: 190(i8vec3) Load 192(u8v)
+ 324: 222(ivec3) UConvert 323
+ 325: 222(ivec3) Load 224(uv)
+ 326: 222(ivec3) BitwiseAnd 324 325
+ Store 224(uv) 326
+ 327: 14(int8_t) Load 197(i8)
+ 328: 27(int) SConvert 327
+ 329: 17(int) Bitcast 328
+ 330: 222(ivec3) Load 224(uv)
+ 331: 222(ivec3) CompositeConstruct 329 329 329
+ 332: 222(ivec3) BitwiseXor 330 331
+ Store 224(uv) 332
+ 333: 190(i8vec3) Load 192(u8v)
+ 334: 14(int8_t) Load 197(i8)
+ 335: 36(int8_t) Bitcast 334
+ 336: 190(i8vec3) CompositeConstruct 335 335 335
+ 337: 190(i8vec3) BitwiseXor 333 336
+ Store 192(u8v) 337
Return
FunctionEnd
12(builtinFuncs(): 2 Function None 3
13: Label
- 341(i8v): 53(ptr) Variable Function
- 344(i8): 15(ptr) Variable Function
- 354(u8v): 191(ptr) Variable Function
- 356(u8): 37(ptr) Variable Function
- 430(i16): 241(ptr) Variable Function
- 433(i32): 215(ptr) Variable Function
- 436(i8v4): 435(ptr) Variable Function
- 440(u16): 439(ptr) Variable Function
- 441(u8v2): 50(ptr) Variable Function
- 444(u32): 293(ptr) Variable Function
- 447(u8v4): 446(ptr) Variable Function
- 459(bv): 458(ptr) Variable Function
- 342: 52(i8vec2) Load 341(i8v)
- 343: 52(i8vec2) ExtInst 1(GLSL.std.450) 5(SAbs) 342
- Store 341(i8v) 343
- 345: 14(int8_t) Load 344(i8)
- 346: 14(int8_t) ExtInst 1(GLSL.std.450) 7(SSign) 345
- Store 344(i8) 346
- 347: 52(i8vec2) Load 341(i8v)
- 348: 14(int8_t) Load 344(i8)
- 349: 52(i8vec2) CompositeConstruct 348 348
- 350: 52(i8vec2) ExtInst 1(GLSL.std.450) 39(SMin) 347 349
- Store 341(i8v) 350
- 351: 52(i8vec2) Load 341(i8v)
- 353: 52(i8vec2) ExtInst 1(GLSL.std.450) 39(SMin) 351 352
- Store 341(i8v) 353
- 355: 190(i8vec3) Load 354(u8v)
- 357: 36(int8_t) Load 356(u8)
- 359: 358(i8vec3) CompositeConstruct 357 357 357
- 360: 190(i8vec3) ExtInst 1(GLSL.std.450) 39(SMin) 355 359
- Store 354(u8v) 360
- 361: 190(i8vec3) Load 354(u8v)
- 363: 190(i8vec3) ExtInst 1(GLSL.std.450) 39(SMin) 361 362
- Store 354(u8v) 363
- 364: 52(i8vec2) Load 341(i8v)
- 365: 14(int8_t) Load 344(i8)
- 366: 52(i8vec2) CompositeConstruct 365 365
- 367: 52(i8vec2) ExtInst 1(GLSL.std.450) 42(SMax) 364 366
- Store 341(i8v) 367
- 368: 52(i8vec2) Load 341(i8v)
- 369: 52(i8vec2) ExtInst 1(GLSL.std.450) 42(SMax) 368 352
- Store 341(i8v) 369
- 370: 190(i8vec3) Load 354(u8v)
- 371: 36(int8_t) Load 356(u8)
- 372: 358(i8vec3) CompositeConstruct 371 371 371
- 373: 190(i8vec3) ExtInst 1(GLSL.std.450) 42(SMax) 370 372
- Store 354(u8v) 373
- 374: 190(i8vec3) Load 354(u8v)
- 375: 190(i8vec3) ExtInst 1(GLSL.std.450) 42(SMax) 374 362
- Store 354(u8v) 375
- 376: 52(i8vec2) Load 341(i8v)
- 377: 14(int8_t) Load 344(i8)
- 378: 14(int8_t) SNegate 377
- 379: 14(int8_t) Load 344(i8)
- 380: 52(i8vec2) CompositeConstruct 378 378
- 381: 52(i8vec2) CompositeConstruct 379 379
- 382: 52(i8vec2) ExtInst 1(GLSL.std.450) 45(SClamp) 376 380 381
- Store 341(i8v) 382
- 383: 52(i8vec2) Load 341(i8v)
- 384: 52(i8vec2) Load 341(i8v)
- 385: 52(i8vec2) SNegate 384
- 386: 52(i8vec2) Load 341(i8v)
- 387: 52(i8vec2) ExtInst 1(GLSL.std.450) 45(SClamp) 383 385 386
- Store 341(i8v) 387
- 388: 190(i8vec3) Load 354(u8v)
- 389: 36(int8_t) Load 356(u8)
- 390: 36(int8_t) SNegate 389
- 391: 36(int8_t) Load 356(u8)
- 392: 358(i8vec3) CompositeConstruct 390 390 390
- 393: 358(i8vec3) CompositeConstruct 391 391 391
- 394: 190(i8vec3) ExtInst 1(GLSL.std.450) 45(SClamp) 388 392 393
- Store 354(u8v) 394
- 395: 190(i8vec3) Load 354(u8v)
- 396: 190(i8vec3) Load 354(u8v)
- 397: 190(i8vec3) SNegate 396
- 398: 190(i8vec3) Load 354(u8v)
- 399: 190(i8vec3) ExtInst 1(GLSL.std.450) 45(SClamp) 395 397 398
- Store 354(u8v) 399
- 400: 15(ptr) AccessChain 341(i8v) 280
- 401: 14(int8_t) Load 400
- 402: 15(ptr) AccessChain 341(i8v) 264
- 403: 14(int8_t) Load 402
- 405: 14(int8_t) Select 404 403 401
- Store 344(i8) 405
- 406: 14(int8_t) Load 344(i8)
- 407: 52(i8vec2) CompositeConstruct 406 406
- 408: 14(int8_t) Load 344(i8)
- 409: 14(int8_t) SNegate 408
- 410: 52(i8vec2) CompositeConstruct 409 409
- 413: 52(i8vec2) Select 412 410 407
- Store 341(i8v) 413
- 414: 15(ptr) AccessChain 354(u8v) 280
- 415: 14(int8_t) Load 414
- 416: 15(ptr) AccessChain 354(u8v) 264
- 417: 14(int8_t) Load 416
- 418: 14(int8_t) Select 404 417 415
- 419: 36(int8_t) Bitcast 418
- Store 356(u8) 419
- 420: 36(int8_t) Load 356(u8)
- 421: 14(int8_t) Bitcast 420
- 422: 190(i8vec3) CompositeConstruct 421 421 421
- 423: 36(int8_t) Load 356(u8)
- 424: 36(int8_t) SNegate 423
- 425: 14(int8_t) Bitcast 424
- 426: 190(i8vec3) CompositeConstruct 425 425 425
- 429: 190(i8vec3) Select 428 426 422
- Store 354(u8v) 429
- 431: 52(i8vec2) Load 341(i8v)
- 432: 57(int16_t) Bitcast 431
- Store 430(i16) 432
- 437: 434(i8vec4) Load 436(i8v4)
- 438: 27(int) Bitcast 437
- Store 433(i32) 438
- 442: 49(i8vec2) Load 441(u8v2)
- 443: 64(int16_t) Bitcast 442
- Store 440(u16) 443
- 448: 445(i8vec4) Load 447(u8v4)
- 449: 17(int) Bitcast 448
- Store 444(u32) 449
- 450: 57(int16_t) Load 430(i16)
- 451: 52(i8vec2) Bitcast 450
- Store 341(i8v) 451
- 452: 27(int) Load 433(i32)
- 453: 434(i8vec4) Bitcast 452
- Store 436(i8v4) 453
- 454: 64(int16_t) Load 440(u16)
- 455: 49(i8vec2) Bitcast 454
- Store 441(u8v2) 455
- 456: 17(int) Load 444(u32)
- 457: 445(i8vec4) Bitcast 456
- Store 447(u8v4) 457
- 460: 190(i8vec3) Load 354(u8v)
- 461: 36(int8_t) Load 356(u8)
- 462: 14(int8_t) Bitcast 461
- 463: 190(i8vec3) CompositeConstruct 462 462 462
- 464: 427(bvec3) SLessThan 460 463
- Store 459(bv) 464
- 465: 52(i8vec2) Load 341(i8v)
- 466: 14(int8_t) Load 344(i8)
- 467: 52(i8vec2) CompositeConstruct 466 466
- 468: 172(bvec2) SLessThan 465 467
- 469: 427(bvec3) Load 459(bv)
- 470: 427(bvec3) VectorShuffle 469 468 3 4 2
- Store 459(bv) 470
- 471: 190(i8vec3) Load 354(u8v)
- 472: 36(int8_t) Load 356(u8)
- 473: 14(int8_t) Bitcast 472
- 474: 190(i8vec3) CompositeConstruct 473 473 473
- 475: 427(bvec3) SLessThanEqual 471 474
- Store 459(bv) 475
- 476: 52(i8vec2) Load 341(i8v)
- 477: 14(int8_t) Load 344(i8)
- 478: 52(i8vec2) CompositeConstruct 477 477
- 479: 172(bvec2) SLessThanEqual 476 478
- 480: 427(bvec3) Load 459(bv)
- 481: 427(bvec3) VectorShuffle 480 479 3 4 2
- Store 459(bv) 481
- 482: 190(i8vec3) Load 354(u8v)
- 483: 36(int8_t) Load 356(u8)
- 484: 14(int8_t) Bitcast 483
+ 338(i8v): 53(ptr) Variable Function
+ 341(i8): 15(ptr) Variable Function
+ 351(u8v): 191(ptr) Variable Function
+ 353(u8): 37(ptr) Variable Function
+ 423(i16): 239(ptr) Variable Function
+ 426(i32): 216(ptr) Variable Function
+ 429(i8v4): 428(ptr) Variable Function
+ 433(u16): 432(ptr) Variable Function
+ 434(u8v2): 50(ptr) Variable Function
+ 437(u32): 291(ptr) Variable Function
+ 440(u8v4): 439(ptr) Variable Function
+ 452(bv): 451(ptr) Variable Function
+ 339: 52(i8vec2) Load 338(i8v)
+ 340: 52(i8vec2) ExtInst 1(GLSL.std.450) 5(SAbs) 339
+ Store 338(i8v) 340
+ 342: 14(int8_t) Load 341(i8)
+ 343: 14(int8_t) ExtInst 1(GLSL.std.450) 7(SSign) 342
+ Store 341(i8) 343
+ 344: 52(i8vec2) Load 338(i8v)
+ 345: 14(int8_t) Load 341(i8)
+ 346: 52(i8vec2) CompositeConstruct 345 345
+ 347: 52(i8vec2) ExtInst 1(GLSL.std.450) 39(SMin) 344 346
+ Store 338(i8v) 347
+ 348: 52(i8vec2) Load 338(i8v)
+ 350: 52(i8vec2) ExtInst 1(GLSL.std.450) 39(SMin) 348 349
+ Store 338(i8v) 350
+ 352: 190(i8vec3) Load 351(u8v)
+ 354: 36(int8_t) Load 353(u8)
+ 355: 190(i8vec3) CompositeConstruct 354 354 354
+ 356: 190(i8vec3) ExtInst 1(GLSL.std.450) 38(UMin) 352 355
+ Store 351(u8v) 356
+ 357: 190(i8vec3) Load 351(u8v)
+ 359: 190(i8vec3) ExtInst 1(GLSL.std.450) 38(UMin) 357 358
+ Store 351(u8v) 359
+ 360: 52(i8vec2) Load 338(i8v)
+ 361: 14(int8_t) Load 341(i8)
+ 362: 52(i8vec2) CompositeConstruct 361 361
+ 363: 52(i8vec2) ExtInst 1(GLSL.std.450) 42(SMax) 360 362
+ Store 338(i8v) 363
+ 364: 52(i8vec2) Load 338(i8v)
+ 365: 52(i8vec2) ExtInst 1(GLSL.std.450) 42(SMax) 364 349
+ Store 338(i8v) 365
+ 366: 190(i8vec3) Load 351(u8v)
+ 367: 36(int8_t) Load 353(u8)
+ 368: 190(i8vec3) CompositeConstruct 367 367 367
+ 369: 190(i8vec3) ExtInst 1(GLSL.std.450) 41(UMax) 366 368
+ Store 351(u8v) 369
+ 370: 190(i8vec3) Load 351(u8v)
+ 371: 190(i8vec3) ExtInst 1(GLSL.std.450) 41(UMax) 370 358
+ Store 351(u8v) 371
+ 372: 52(i8vec2) Load 338(i8v)
+ 373: 14(int8_t) Load 341(i8)
+ 374: 14(int8_t) SNegate 373
+ 375: 14(int8_t) Load 341(i8)
+ 376: 52(i8vec2) CompositeConstruct 374 374
+ 377: 52(i8vec2) CompositeConstruct 375 375
+ 378: 52(i8vec2) ExtInst 1(GLSL.std.450) 45(SClamp) 372 376 377
+ Store 338(i8v) 378
+ 379: 52(i8vec2) Load 338(i8v)
+ 380: 52(i8vec2) Load 338(i8v)
+ 381: 52(i8vec2) SNegate 380
+ 382: 52(i8vec2) Load 338(i8v)
+ 383: 52(i8vec2) ExtInst 1(GLSL.std.450) 45(SClamp) 379 381 382
+ Store 338(i8v) 383
+ 384: 190(i8vec3) Load 351(u8v)
+ 385: 36(int8_t) Load 353(u8)
+ 386: 36(int8_t) SNegate 385
+ 387: 36(int8_t) Load 353(u8)
+ 388: 190(i8vec3) CompositeConstruct 386 386 386
+ 389: 190(i8vec3) CompositeConstruct 387 387 387
+ 390: 190(i8vec3) ExtInst 1(GLSL.std.450) 44(UClamp) 384 388 389
+ Store 351(u8v) 390
+ 391: 190(i8vec3) Load 351(u8v)
+ 392: 190(i8vec3) Load 351(u8v)
+ 393: 190(i8vec3) SNegate 392
+ 394: 190(i8vec3) Load 351(u8v)
+ 395: 190(i8vec3) ExtInst 1(GLSL.std.450) 44(UClamp) 391 393 394
+ Store 351(u8v) 395
+ 396: 15(ptr) AccessChain 338(i8v) 277
+ 397: 14(int8_t) Load 396
+ 398: 15(ptr) AccessChain 338(i8v) 261
+ 399: 14(int8_t) Load 398
+ 401: 14(int8_t) Select 400 399 397
+ Store 341(i8) 401
+ 402: 14(int8_t) Load 341(i8)
+ 403: 52(i8vec2) CompositeConstruct 402 402
+ 404: 14(int8_t) Load 341(i8)
+ 405: 14(int8_t) SNegate 404
+ 406: 52(i8vec2) CompositeConstruct 405 405
+ 409: 52(i8vec2) Select 408 406 403
+ Store 338(i8v) 409
+ 410: 37(ptr) AccessChain 351(u8v) 277
+ 411: 36(int8_t) Load 410
+ 412: 37(ptr) AccessChain 351(u8v) 261
+ 413: 36(int8_t) Load 412
+ 414: 36(int8_t) Select 400 413 411
+ Store 353(u8) 414
+ 415: 36(int8_t) Load 353(u8)
+ 416: 190(i8vec3) CompositeConstruct 415 415 415
+ 417: 36(int8_t) Load 353(u8)
+ 418: 36(int8_t) SNegate 417
+ 419: 190(i8vec3) CompositeConstruct 418 418 418
+ 422: 190(i8vec3) Select 421 419 416
+ Store 351(u8v) 422
+ 424: 52(i8vec2) Load 338(i8v)
+ 425: 57(int16_t) Bitcast 424
+ Store 423(i16) 425
+ 430: 427(i8vec4) Load 429(i8v4)
+ 431: 27(int) Bitcast 430
+ Store 426(i32) 431
+ 435: 49(i8vec2) Load 434(u8v2)
+ 436: 64(int16_t) Bitcast 435
+ Store 433(u16) 436
+ 441: 438(i8vec4) Load 440(u8v4)
+ 442: 17(int) Bitcast 441
+ Store 437(u32) 442
+ 443: 57(int16_t) Load 423(i16)
+ 444: 52(i8vec2) Bitcast 443
+ Store 338(i8v) 444
+ 445: 27(int) Load 426(i32)
+ 446: 427(i8vec4) Bitcast 445
+ Store 429(i8v4) 446
+ 447: 64(int16_t) Load 433(u16)
+ 448: 49(i8vec2) Bitcast 447
+ Store 434(u8v2) 448
+ 449: 17(int) Load 437(u32)
+ 450: 438(i8vec4) Bitcast 449
+ Store 440(u8v4) 450
+ 453: 190(i8vec3) Load 351(u8v)
+ 454: 36(int8_t) Load 353(u8)
+ 455: 190(i8vec3) CompositeConstruct 454 454 454
+ 456: 420(bvec3) ULessThan 453 455
+ Store 452(bv) 456
+ 457: 52(i8vec2) Load 338(i8v)
+ 458: 14(int8_t) Load 341(i8)
+ 459: 52(i8vec2) CompositeConstruct 458 458
+ 460: 172(bvec2) SLessThan 457 459
+ 461: 420(bvec3) Load 452(bv)
+ 462: 420(bvec3) VectorShuffle 461 460 3 4 2
+ Store 452(bv) 462
+ 463: 190(i8vec3) Load 351(u8v)
+ 464: 36(int8_t) Load 353(u8)
+ 465: 190(i8vec3) CompositeConstruct 464 464 464
+ 466: 420(bvec3) ULessThanEqual 463 465
+ Store 452(bv) 466
+ 467: 52(i8vec2) Load 338(i8v)
+ 468: 14(int8_t) Load 341(i8)
+ 469: 52(i8vec2) CompositeConstruct 468 468
+ 470: 172(bvec2) SLessThanEqual 467 469
+ 471: 420(bvec3) Load 452(bv)
+ 472: 420(bvec3) VectorShuffle 471 470 3 4 2
+ Store 452(bv) 472
+ 473: 190(i8vec3) Load 351(u8v)
+ 474: 36(int8_t) Load 353(u8)
+ 475: 190(i8vec3) CompositeConstruct 474 474 474
+ 476: 420(bvec3) UGreaterThan 473 475
+ Store 452(bv) 476
+ 477: 52(i8vec2) Load 338(i8v)
+ 478: 14(int8_t) Load 341(i8)
+ 479: 52(i8vec2) CompositeConstruct 478 478
+ 480: 172(bvec2) SGreaterThan 477 479
+ 481: 420(bvec3) Load 452(bv)
+ 482: 420(bvec3) VectorShuffle 481 480 3 4 2
+ Store 452(bv) 482
+ 483: 190(i8vec3) Load 351(u8v)
+ 484: 36(int8_t) Load 353(u8)
485: 190(i8vec3) CompositeConstruct 484 484 484
- 486: 427(bvec3) SGreaterThan 482 485
- Store 459(bv) 486
- 487: 52(i8vec2) Load 341(i8v)
- 488: 14(int8_t) Load 344(i8)
+ 486: 420(bvec3) UGreaterThanEqual 483 485
+ Store 452(bv) 486
+ 487: 52(i8vec2) Load 338(i8v)
+ 488: 14(int8_t) Load 341(i8)
489: 52(i8vec2) CompositeConstruct 488 488
- 490: 172(bvec2) SGreaterThan 487 489
- 491: 427(bvec3) Load 459(bv)
- 492: 427(bvec3) VectorShuffle 491 490 3 4 2
- Store 459(bv) 492
- 493: 190(i8vec3) Load 354(u8v)
- 494: 36(int8_t) Load 356(u8)
- 495: 14(int8_t) Bitcast 494
- 496: 190(i8vec3) CompositeConstruct 495 495 495
- 497: 427(bvec3) SGreaterThanEqual 493 496
- Store 459(bv) 497
- 498: 52(i8vec2) Load 341(i8v)
- 499: 14(int8_t) Load 344(i8)
- 500: 52(i8vec2) CompositeConstruct 499 499
- 501: 172(bvec2) SGreaterThanEqual 498 500
- 502: 427(bvec3) Load 459(bv)
- 503: 427(bvec3) VectorShuffle 502 501 3 4 2
- Store 459(bv) 503
- 504: 190(i8vec3) Load 354(u8v)
- 505: 36(int8_t) Load 356(u8)
- 506: 14(int8_t) Bitcast 505
- 507: 190(i8vec3) CompositeConstruct 506 506 506
- 508: 427(bvec3) IEqual 504 507
- Store 459(bv) 508
- 509: 52(i8vec2) Load 341(i8v)
- 510: 14(int8_t) Load 344(i8)
- 511: 52(i8vec2) CompositeConstruct 510 510
- 512: 172(bvec2) IEqual 509 511
- 513: 427(bvec3) Load 459(bv)
- 514: 427(bvec3) VectorShuffle 513 512 3 4 2
- Store 459(bv) 514
- 515: 190(i8vec3) Load 354(u8v)
- 516: 36(int8_t) Load 356(u8)
- 517: 14(int8_t) Bitcast 516
- 518: 190(i8vec3) CompositeConstruct 517 517 517
- 519: 427(bvec3) INotEqual 515 518
- Store 459(bv) 519
- 520: 52(i8vec2) Load 341(i8v)
- 521: 14(int8_t) Load 344(i8)
- 522: 52(i8vec2) CompositeConstruct 521 521
- 523: 172(bvec2) INotEqual 520 522
- 524: 427(bvec3) Load 459(bv)
- 525: 427(bvec3) VectorShuffle 524 523 3 4 2
- Store 459(bv) 525
+ 490: 172(bvec2) SGreaterThanEqual 487 489
+ 491: 420(bvec3) Load 452(bv)
+ 492: 420(bvec3) VectorShuffle 491 490 3 4 2
+ Store 452(bv) 492
+ 493: 190(i8vec3) Load 351(u8v)
+ 494: 36(int8_t) Load 353(u8)
+ 495: 190(i8vec3) CompositeConstruct 494 494 494
+ 496: 420(bvec3) IEqual 493 495
+ Store 452(bv) 496
+ 497: 52(i8vec2) Load 338(i8v)
+ 498: 14(int8_t) Load 341(i8)
+ 499: 52(i8vec2) CompositeConstruct 498 498
+ 500: 172(bvec2) IEqual 497 499
+ 501: 420(bvec3) Load 452(bv)
+ 502: 420(bvec3) VectorShuffle 501 500 3 4 2
+ Store 452(bv) 502
+ 503: 190(i8vec3) Load 351(u8v)
+ 504: 36(int8_t) Load 353(u8)
+ 505: 190(i8vec3) CompositeConstruct 504 504 504
+ 506: 420(bvec3) INotEqual 503 505
+ Store 452(bv) 506
+ 507: 52(i8vec2) Load 338(i8v)
+ 508: 14(int8_t) Load 341(i8)
+ 509: 52(i8vec2) CompositeConstruct 508 508
+ 510: 172(bvec2) INotEqual 507 509
+ 511: 420(bvec3) Load 452(bv)
+ 512: 420(bvec3) VectorShuffle 511 510 3 4 2
+ Store 452(bv) 512
Return
FunctionEnd
--- /dev/null
+#version 450 core\r
+\r
+#extension GL_EXT_shader_16bit_storage : enable\r
+\r
+struct S\r
+{\r
+ int16_t x;\r
+ i16vec2 y;\r
+ i16vec3 z;\r
+};\r
+\r
+layout(column_major, std140) uniform B1\r
+{\r
+ int16_t a;\r
+ i16vec2 b;\r
+ i16vec3 c;\r
+ int16_t d[2];\r
+ S g;\r
+ S h[2];\r
+ int j;\r
+} b1;\r
+\r
+layout(row_major, std430) buffer B2\r
+{\r
+ int16_t o;\r
+ i16vec2 p;\r
+ i16vec3 q;\r
+ int16_t r[2];\r
+ S u;\r
+ S v[2];\r
+ i16vec2 x[100];\r
+ int16_t w[];\r
+} b2;\r
+\r
+layout(row_major, std140) uniform B5\r
+{\r
+ int16_t o;\r
+ i16vec2 p;\r
+ i16vec3 q;\r
+ int16_t r[2];\r
+ S u;\r
+ S v[2];\r
+ i16vec2 x[100];\r
+ int16_t w[100];\r
+} b5;\r
+\r
+struct S2 {\r
+ mat4x4 x;\r
+ int16_t y;\r
+ int z;\r
+};\r
+\r
+struct S3 {\r
+ S2 x;\r
+};\r
+\r
+layout(row_major, std430) buffer B3\r
+{\r
+ S2 x;\r
+} b3;\r
+\r
+layout(column_major, std430) buffer B4\r
+{\r
+ S2 x;\r
+ S3 y;\r
+} b4;\r
+\r
+void main()\r
+{\r
+ b2.o = b1.a;\r
+ b2.p = i16vec2(ivec3(b2.q).xy);\r
+ b2.p = i16vec2(ivec3(b5.q).xy);\r
+ b2.r[0] = b2.r[0];\r
+ b2.r[1] = b5.r[1];\r
+ b2.p = b2.p;\r
+ int x0 = int(b1.a);\r
+ ivec4 x1 = ivec4(b1.a, b2.p, 1);\r
+ b4.x.x = b3.x.x;\r
+ b2.o = int16_t(ivec2(b2.p).x);\r
+ b2.p = b2.v[1].y;\r
+ ivec3 v3 = ivec3(b2.w[b1.j], b2.w[b1.j+1], b2.w[b1.j+2]);\r
+ ivec3 u3 = ivec3(b5.w[b1.j], b5.w[b1.j+1], b5.w[b1.j+2]);\r
+ b2.x[0] = b2.x[0];\r
+ b2.x[1] = b5.x[1];\r
+ b2.p.x = b1.a;\r
+ b2.o = b2.p.x;\r
+ b2.p = i16vec2(ivec2(1, 2));\r
+ b2.o = int16_t(3);\r
+}\r
+\r
--- /dev/null
+#version 450 core\r
+\r
+#extension GL_EXT_shader_16bit_storage : enable\r
+\r
+struct S\r
+{\r
+ uint16_t x;\r
+ u16vec2 y;\r
+ u16vec3 z;\r
+};\r
+\r
+layout(column_major, std140) uniform B1\r
+{\r
+ uint16_t a;\r
+ u16vec2 b;\r
+ u16vec3 c;\r
+ uint16_t d[2];\r
+ S g;\r
+ S h[2];\r
+ uint j;\r
+} b1;\r
+\r
+layout(row_major, std430) buffer B2\r
+{\r
+ uint16_t o;\r
+ u16vec2 p;\r
+ u16vec3 q;\r
+ uint16_t r[2];\r
+ S u;\r
+ S v[2];\r
+ u16vec2 x[100];\r
+ uint16_t w[];\r
+} b2;\r
+\r
+layout(row_major, std140) uniform B5\r
+{\r
+ uint16_t o;\r
+ u16vec2 p;\r
+ u16vec3 q;\r
+ uint16_t r[2];\r
+ S u;\r
+ S v[2];\r
+ u16vec2 x[100];\r
+ uint16_t w[100];\r
+} b5;\r
+\r
+struct S2 {\r
+ mat4x4 x;\r
+ uint16_t y;\r
+ uint z;\r
+};\r
+\r
+struct S3 {\r
+ S2 x;\r
+};\r
+\r
+layout(row_major, std430) buffer B3\r
+{\r
+ S2 x;\r
+} b3;\r
+\r
+layout(column_major, std430) buffer B4\r
+{\r
+ S2 x;\r
+ S3 y;\r
+} b4;\r
+\r
+void main()\r
+{\r
+ b2.o = b1.a;\r
+ b2.p = u16vec2(uvec3(b2.q).xy);\r
+ b2.p = u16vec2(uvec3(b5.q).xy);\r
+ b2.r[0] = b2.r[0];\r
+ b2.r[1] = b5.r[1];\r
+ b2.p = b2.p;\r
+ uint x0 = uint(b1.a);\r
+ uvec4 x1 = uvec4(b1.a, b2.p, 1);\r
+ b4.x.x = b3.x.x;\r
+ b2.o = uint16_t(uvec2(b2.p).x);\r
+ b2.p = b2.v[1].y;\r
+ uvec3 v3 = uvec3(b2.w[b1.j], b2.w[b1.j+1], b2.w[b1.j+2]);\r
+ uvec3 u3 = uvec3(b5.w[b1.j], b5.w[b1.j+1], b5.w[b1.j+2]);\r
+ b2.x[0] = b2.x[0];\r
+ b2.x[1] = b5.x[1];\r
+ b2.p.x = b1.a;\r
+ b2.o = b2.p.x;\r
+ b2.p = u16vec2(uvec2(1, 2));\r
+ b2.o = uint16_t(3u);\r
+}\r
+\r
--- /dev/null
+#version 450 core\r
+\r
+#extension GL_EXT_shader_16bit_storage : enable\r
+\r
+struct S\r
+{\r
+ float16_t x;\r
+ f16vec2 y;\r
+ f16vec3 z;\r
+};\r
+\r
+layout(column_major, std140) uniform B1\r
+{\r
+ float16_t a;\r
+ f16vec2 b;\r
+ f16vec3 c;\r
+ float16_t d[2];\r
+ S g;\r
+ S h[2];\r
+ int j;\r
+} b1;\r
+\r
+layout(row_major, std430) buffer B2\r
+{\r
+ float16_t o;\r
+ f16vec2 p;\r
+ f16vec3 q;\r
+ float16_t r[2];\r
+ S u;\r
+ S v[2];\r
+ f16vec2 x[100];\r
+ float16_t w[];\r
+} b2;\r
+\r
+layout(row_major, std140) uniform B5\r
+{\r
+ float16_t o;\r
+ f16vec2 p;\r
+ f16vec3 q;\r
+ float16_t r[2];\r
+ S u;\r
+ S v[2];\r
+ f16vec2 x[100];\r
+ float16_t w[100];\r
+} b5;\r
+\r
+struct S2 {\r
+ mat4x4 x;\r
+ float16_t y;\r
+ float z;\r
+};\r
+\r
+struct S3 {\r
+ S2 x;\r
+};\r
+\r
+layout(row_major, std430) buffer B3\r
+{\r
+ S2 x;\r
+} b3;\r
+\r
+layout(column_major, std430) buffer B4\r
+{\r
+ S2 x;\r
+ S3 y;\r
+} b4;\r
+\r
+void main()\r
+{\r
+ b2.o = b1.a;\r
+ b2.p = f16vec2(vec3(b2.q).xy);\r
+ b2.p = f16vec2(vec3(b5.q).xy);\r
+ b2.r[0] = b2.r[0];\r
+ b2.r[1] = b5.r[1];\r
+ b2.p = b2.p;\r
+ float x0 = float(b1.a);\r
+ vec4 x1 = vec4(b1.a, b2.p, 1.0);\r
+ b4.x.x = b3.x.x;\r
+ b2.o = float16_t(vec2(b2.p).x);\r
+ b2.p = b2.v[1].y;\r
+ vec3 v3 = vec3(b2.w[b1.j], b2.w[b1.j+1], b2.w[b1.j+2]);\r
+ vec3 u3 = vec3(b5.w[b1.j], b5.w[b1.j+1], b5.w[b1.j+2]);\r
+ b2.x[0] = b2.x[0];\r
+ b2.x[1] = b5.x[1];\r
+ b2.p.x = b1.a;\r
+ b2.o = b2.p.x;\r
+ b2.p = f16vec2(vec2(1.0, 2.0));\r
+ b2.o = float16_t(3.0);\r
+}\r
+\r
--- /dev/null
+#version 450 core\r
+\r
+#extension GL_EXT_shader_16bit_storage : enable\r
+\r
+struct S\r
+{\r
+ int16_t x;\r
+ i16vec2 y;\r
+ i16vec3 z;\r
+};\r
+\r
+layout(column_major, std140) uniform B1\r
+{\r
+ int16_t a;\r
+ i16vec2 b;\r
+ i16vec3 c;\r
+ int16_t d[2];\r
+ S g;\r
+ S h[2];\r
+ int j;\r
+} b1;\r
+\r
+layout(row_major, std430) buffer B2\r
+{\r
+ int16_t o;\r
+ i16vec2 p;\r
+ i16vec3 q;\r
+ int16_t r[2];\r
+ S u;\r
+ S v[2];\r
+ int16_t w[];\r
+} b2;\r
+\r
+struct S2 {\r
+ mat4x4 x;\r
+ int16_t y;\r
+ int z;\r
+};\r
+\r
+struct S3 {\r
+ S2 x;\r
+};\r
+\r
+layout(row_major, std430) buffer B3\r
+{\r
+ S2 x;\r
+} b3;\r
+\r
+layout(column_major, std430) buffer B4\r
+{\r
+ S2 x;\r
+} b4;\r
+\r
+void func3(S2 x) {\r
+}\r
+\r
+S2 func4() {\r
+ return b4.x;\r
+}\r
+\r
+int func(int16_t a) {\r
+ return 0;\r
+}\r
+\r
+struct S4 {\r
+ int x;\r
+ int16_t y;\r
+};\r
+\r
+int func2(int a) { return 0; }\r
+\r
+void main()\r
+{\r
+ b2.o = b2.q[1];\r
+ b2.p = b2.q.xy;\r
+ b2.o = max(b1.a, b1.a);\r
+ bvec2 bv = lessThan(b2.p, b2.p);\r
+ b2.o = b1.a + b1.a;\r
+ b2.o = -b1.a;\r
+ b2.o = b1.a + 1;\r
+ b2.p = b2.p.yx;\r
+ b4.x = b3.x;\r
+ int16_t f0;\r
+ S2 f1;\r
+ S3 f2;\r
+ if (b1.a == b1.a) {}\r
+ b2.r = b2.r;\r
+ b2.p = i16vec2(3, 4);\r
+ i16vec2[2](i16vec2(ivec2(1,2)), i16vec2(ivec2(3,4)));\r
+ // NOT ERRORING YET\r
+ b3.x;\r
+ S4(0, int16_t(0));\r
+ func2(b1.a);\r
+}\r
+\r
+\r
+layout(column_major, std140) uniform B6\r
+{\r
+ i16mat2x3 e;\r
+} b6;\r
+\r
--- /dev/null
+#version 450 core\r
+\r
+#extension GL_EXT_shader_16bit_storage : enable\r
+\r
+struct S\r
+{\r
+ uint16_t x;\r
+ u16vec2 y;\r
+ u16vec3 z;\r
+};\r
+\r
+layout(column_major, std140) uniform B1\r
+{\r
+ uint16_t a;\r
+ u16vec2 b;\r
+ u16vec3 c;\r
+ uint16_t d[2];\r
+ S g;\r
+ S h[2];\r
+ uint j;\r
+} b1;\r
+\r
+layout(row_major, std430) buffer B2\r
+{\r
+ uint16_t o;\r
+ u16vec2 p;\r
+ u16vec3 q;\r
+ uint16_t r[2];\r
+ S u;\r
+ S v[2];\r
+ uint16_t w[];\r
+} b2;\r
+\r
+struct S2 {\r
+ mat4x4 x;\r
+ uint16_t y;\r
+ uint z;\r
+};\r
+\r
+struct S3 {\r
+ S2 x;\r
+};\r
+\r
+layout(row_major, std430) buffer B3\r
+{\r
+ S2 x;\r
+} b3;\r
+\r
+layout(column_major, std430) buffer B4\r
+{\r
+ S2 x;\r
+} b4;\r
+\r
+void func3(S2 x) {\r
+}\r
+\r
+S2 func4() {\r
+ return b4.x;\r
+}\r
+\r
+uint func(uint16_t a) {\r
+ return 0;\r
+}\r
+\r
+struct S4 {\r
+ uint x;\r
+ uint16_t y;\r
+};\r
+\r
+uint func2(uint a) { return 0; }\r
+\r
+void main()\r
+{\r
+ b2.o = b2.q[1];\r
+ b2.p = b2.q.xy;\r
+ b2.o = max(b1.a, b1.a);\r
+ bvec2 bv = lessThan(b2.p, b2.p);\r
+ b2.o = b1.a + b1.a;\r
+ b2.o = -b1.a;\r
+ b2.o = b1.a + 1;\r
+ b2.p = b2.p.yx;\r
+ b4.x = b3.x;\r
+ uint16_t f0;\r
+ S2 f1;\r
+ S3 f2;\r
+ if (b1.a == b1.a) {}\r
+ b2.r = b2.r;\r
+ b2.p = u16vec2(3, 4);\r
+ u16vec2[2](u16vec2(uvec2(1,2)), u16vec2(uvec2(3,4)));\r
+ // NOT ERRORING YET\r
+ b3.x;\r
+ S4(0u, uint16_t(0u));\r
+ func2(b1.a);\r
+}\r
+\r
+\r
+layout(column_major, std140) uniform B6\r
+{\r
+ u16mat2x3 e;\r
+} b6;\r
+\r
--- /dev/null
+#version 450 core\r
+\r
+#extension GL_EXT_shader_16bit_storage : enable\r
+\r
+struct S\r
+{\r
+ float16_t x;\r
+ f16vec2 y;\r
+ f16vec3 z;\r
+};\r
+\r
+layout(column_major, std140) uniform B1\r
+{\r
+ float16_t a;\r
+ f16vec2 b;\r
+ f16vec3 c;\r
+ float16_t d[2];\r
+ S g;\r
+ S h[2];\r
+ int j;\r
+} b1;\r
+\r
+layout(row_major, std430) buffer B2\r
+{\r
+ float16_t o;\r
+ f16vec2 p;\r
+ f16vec3 q;\r
+ float16_t r[2];\r
+ S u;\r
+ S v[2];\r
+ float16_t w[];\r
+} b2;\r
+\r
+struct S2 {\r
+ mat4x4 x;\r
+ float16_t y;\r
+ float z;\r
+};\r
+\r
+struct S3 {\r
+ S2 x;\r
+};\r
+\r
+layout(row_major, std430) buffer B3\r
+{\r
+ S2 x;\r
+} b3;\r
+\r
+layout(column_major, std430) buffer B4\r
+{\r
+ S2 x;\r
+} b4;\r
+\r
+void func3(S2 x) {\r
+}\r
+\r
+S2 func4() {\r
+ return b4.x;\r
+}\r
+\r
+float func(float16_t a) {\r
+ return 0.0;\r
+}\r
+\r
+struct S4 {\r
+ float x;\r
+ float16_t y;\r
+};\r
+\r
+float func2(float a) { return 0.0; }\r
+\r
+void main()\r
+{\r
+ b2.o = b2.q[1];\r
+ b2.p = b2.q.xy;\r
+ b2.o = max(b1.a, b1.a);\r
+ bvec2 bv = lessThan(b2.p, b2.p);\r
+ b2.o = b1.a + b1.a;\r
+ b2.o = -b1.a;\r
+ b2.o = b1.a + 1.0;\r
+ b2.p = b2.p.yx;\r
+ b4.x = b3.x;\r
+ float16_t f0;\r
+ S2 f1;\r
+ S3 f2;\r
+ if (b1.a == b1.a) {}\r
+ b2.r = b2.r;\r
+ b2.o = 1.0HF;\r
+ b2.p = f16vec2(3.0, 4.0);\r
+ f16vec2[2](f16vec2(vec2(1.0,2.0)), f16vec2(vec2(3.0,4.0)));\r
+ // NOT ERRORING YET\r
+ b3.x;\r
+ S4(0.0, float16_t(0.0));\r
+ func2(b1.a);\r
+}\r
+\r
+\r
+layout(column_major, std140) uniform B6\r
+{\r
+ f16mat2x3 e;\r
+} b6;\r
+\r
--- /dev/null
+#version 450 core\r
+\r
+#extension GL_EXT_shader_8bit_storage : enable\r
+\r
+struct S\r
+{\r
+ int8_t x;\r
+ i8vec2 y;\r
+ i8vec3 z;\r
+};\r
+\r
+layout(column_major, std140) uniform B1\r
+{\r
+ int8_t a;\r
+ i8vec2 b;\r
+ i8vec3 c;\r
+ int8_t d[2];\r
+ S g;\r
+ S h[2];\r
+ int j;\r
+} b1;\r
+\r
+layout(row_major, std430) buffer B2\r
+{\r
+ int8_t o;\r
+ i8vec2 p;\r
+ i8vec3 q;\r
+ int8_t r[2];\r
+ S u;\r
+ S v[2];\r
+ i8vec2 x[100];\r
+ int8_t w[];\r
+} b2;\r
+\r
+layout(row_major, std140) uniform B5\r
+{\r
+ int8_t o;\r
+ i8vec2 p;\r
+ i8vec3 q;\r
+ int8_t r[2];\r
+ S u;\r
+ S v[2];\r
+ i8vec2 x[100];\r
+ int8_t w[100];\r
+} b5;\r
+\r
+struct S2 {\r
+ mat4x4 x;\r
+ int8_t y;\r
+ int z;\r
+};\r
+\r
+struct S3 {\r
+ S2 x;\r
+};\r
+\r
+layout(row_major, std430) buffer B3\r
+{\r
+ S2 x;\r
+} b3;\r
+\r
+layout(column_major, std430) buffer B4\r
+{\r
+ S2 x;\r
+ S3 y;\r
+} b4;\r
+\r
+void main()\r
+{\r
+ b2.o = b1.a;\r
+ b2.p = i8vec2(ivec3(b2.q).xy);\r
+ b2.p = i8vec2(ivec3(b5.q).xy);\r
+ b2.r[0] = b2.r[0];\r
+ b2.r[1] = b5.r[1];\r
+ b2.p = b2.p;\r
+ int x0 = int(b1.a);\r
+ ivec4 x1 = ivec4(b1.a, b2.p, 1);\r
+ b4.x.x = b3.x.x;\r
+ b2.o = int8_t(ivec2(b2.p).x);\r
+ b2.p = b2.v[1].y;\r
+ ivec3 v3 = ivec3(b2.w[b1.j], b2.w[b1.j+1], b2.w[b1.j+2]);\r
+ ivec3 u3 = ivec3(b5.w[b1.j], b5.w[b1.j+1], b5.w[b1.j+2]);\r
+ b2.x[0] = b2.x[0];\r
+ b2.x[1] = b5.x[1];\r
+ b2.p.x = b1.a;\r
+ b2.o = b2.p.x;\r
+ b2.p = i8vec2(ivec2(1, 2));\r
+ b2.o = int8_t(3);\r
+}\r
+\r
--- /dev/null
+#version 450 core\r
+\r
+#extension GL_EXT_shader_8bit_storage : enable\r
+\r
+struct S\r
+{\r
+ uint8_t x;\r
+ u8vec2 y;\r
+ u8vec3 z;\r
+};\r
+\r
+layout(column_major, std140) uniform B1\r
+{\r
+ uint8_t a;\r
+ u8vec2 b;\r
+ u8vec3 c;\r
+ uint8_t d[2];\r
+ S g;\r
+ S h[2];\r
+ uint j;\r
+} b1;\r
+\r
+layout(row_major, std430) buffer B2\r
+{\r
+ uint8_t o;\r
+ u8vec2 p;\r
+ u8vec3 q;\r
+ uint8_t r[2];\r
+ S u;\r
+ S v[2];\r
+ u8vec2 x[100];\r
+ uint8_t w[];\r
+} b2;\r
+\r
+layout(row_major, std140) uniform B5\r
+{\r
+ uint8_t o;\r
+ u8vec2 p;\r
+ u8vec3 q;\r
+ uint8_t r[2];\r
+ S u;\r
+ S v[2];\r
+ u8vec2 x[100];\r
+ uint8_t w[100];\r
+} b5;\r
+\r
+struct S2 {\r
+ mat4x4 x;\r
+ uint8_t y;\r
+ uint z;\r
+};\r
+\r
+struct S3 {\r
+ S2 x;\r
+};\r
+\r
+layout(row_major, std430) buffer B3\r
+{\r
+ S2 x;\r
+} b3;\r
+\r
+layout(column_major, std430) buffer B4\r
+{\r
+ S2 x;\r
+ S3 y;\r
+} b4;\r
+\r
+void main()\r
+{\r
+ b2.o = b1.a;\r
+ b2.p = u8vec2(uvec3(b2.q).xy);\r
+ b2.p = u8vec2(uvec3(b5.q).xy);\r
+ b2.r[0] = b2.r[0];\r
+ b2.r[1] = b5.r[1];\r
+ b2.p = b2.p;\r
+ uint x0 = uint(b1.a);\r
+ uvec4 x1 = uvec4(b1.a, b2.p, 1);\r
+ b4.x.x = b3.x.x;\r
+ b2.o = uint8_t(uvec2(b2.p).x);\r
+ b2.p = b2.v[1].y;\r
+ uvec3 v3 = uvec3(b2.w[b1.j], b2.w[b1.j+1], b2.w[b1.j+2]);\r
+ uvec3 u3 = uvec3(b5.w[b1.j], b5.w[b1.j+1], b5.w[b1.j+2]);\r
+ b2.x[0] = b2.x[0];\r
+ b2.x[1] = b5.x[1];\r
+ b2.p.x = b1.a;\r
+ b2.o = b2.p.x;\r
+ b2.p = u8vec2(uvec2(1, 2));\r
+ b2.o = uint8_t(3u);\r
+}\r
+\r
--- /dev/null
+#version 450 core\r
+\r
+#extension GL_EXT_shader_8bit_storage : enable\r
+\r
+struct S\r
+{\r
+ int8_t x;\r
+ i8vec2 y;\r
+ i8vec3 z;\r
+};\r
+\r
+layout(column_major, std140) uniform B1\r
+{\r
+ int8_t a;\r
+ i8vec2 b;\r
+ i8vec3 c;\r
+ int8_t d[2];\r
+ S g;\r
+ S h[2];\r
+ int j;\r
+} b1;\r
+\r
+layout(row_major, std430) buffer B2\r
+{\r
+ int8_t o;\r
+ i8vec2 p;\r
+ i8vec3 q;\r
+ int8_t r[2];\r
+ S u;\r
+ S v[2];\r
+ int8_t w[];\r
+} b2;\r
+\r
+struct S2 {\r
+ mat4x4 x;\r
+ int8_t y;\r
+ int z;\r
+};\r
+\r
+struct S3 {\r
+ S2 x;\r
+};\r
+\r
+layout(row_major, std430) buffer B3\r
+{\r
+ S2 x;\r
+} b3;\r
+\r
+layout(column_major, std430) buffer B4\r
+{\r
+ S2 x;\r
+} b4;\r
+\r
+void func3(S2 x) {\r
+}\r
+\r
+S2 func4() {\r
+ return b4.x;\r
+}\r
+\r
+int func(int8_t a) {\r
+ return 0;\r
+}\r
+\r
+struct S4 {\r
+ int x;\r
+ int8_t y;\r
+};\r
+\r
+int func2(int a) { return 0; }\r
+\r
+void main()\r
+{\r
+ b2.o = b2.q[1];\r
+ b2.p = b2.q.xy;\r
+ b2.o = max(b1.a, b1.a);\r
+ bvec2 bv = lessThan(b2.p, b2.p);\r
+ b2.o = b1.a + b1.a;\r
+ b2.o = -b1.a;\r
+ b2.o = b1.a + 1;\r
+ b2.p = b2.p.yx;\r
+ b4.x = b3.x;\r
+ int8_t f0;\r
+ S2 f1;\r
+ S3 f2;\r
+ if (b1.a == b1.a) {}\r
+ b2.r = b2.r;\r
+ b2.p = i8vec2(3, 4);\r
+ i8vec2[2](i8vec2(ivec2(1,2)), i8vec2(ivec2(3,4)));\r
+ // NOT ERRORING YET\r
+ b3.x;\r
+ S4(0, int8_t(0));\r
+ func2(b1.a);\r
+}\r
+\r
+\r
+layout(column_major, std140) uniform B6\r
+{\r
+ i8mat2x3 e;\r
+} b6;\r
+\r
--- /dev/null
+#version 450 core\r
+\r
+#extension GL_EXT_shader_8bit_storage : enable\r
+\r
+struct S\r
+{\r
+ uint8_t x;\r
+ u8vec2 y;\r
+ u8vec3 z;\r
+};\r
+\r
+layout(column_major, std140) uniform B1\r
+{\r
+ uint8_t a;\r
+ u8vec2 b;\r
+ u8vec3 c;\r
+ uint8_t d[2];\r
+ S g;\r
+ S h[2];\r
+ uint j;\r
+} b1;\r
+\r
+layout(row_major, std430) buffer B2\r
+{\r
+ uint8_t o;\r
+ u8vec2 p;\r
+ u8vec3 q;\r
+ uint8_t r[2];\r
+ S u;\r
+ S v[2];\r
+ uint8_t w[];\r
+} b2;\r
+\r
+struct S2 {\r
+ mat4x4 x;\r
+ uint8_t y;\r
+ uint z;\r
+};\r
+\r
+struct S3 {\r
+ S2 x;\r
+};\r
+\r
+layout(row_major, std430) buffer B3\r
+{\r
+ S2 x;\r
+} b3;\r
+\r
+layout(column_major, std430) buffer B4\r
+{\r
+ S2 x;\r
+} b4;\r
+\r
+void func3(S2 x) {\r
+}\r
+\r
+S2 func4() {\r
+ return b4.x;\r
+}\r
+\r
+uint func(uint8_t a) {\r
+ return 0;\r
+}\r
+\r
+struct S4 {\r
+ uint x;\r
+ uint8_t y;\r
+};\r
+\r
+uint func2(uint a) { return 0; }\r
+\r
+void main()\r
+{\r
+ b2.o = b2.q[1];\r
+ b2.p = b2.q.xy;\r
+ b2.o = max(b1.a, b1.a);\r
+ bvec2 bv = lessThan(b2.p, b2.p);\r
+ b2.o = b1.a + b1.a;\r
+ b2.o = -b1.a;\r
+ b2.o = b1.a + 1;\r
+ b2.p = b2.p.yx;\r
+ b4.x = b3.x;\r
+ uint8_t f0;\r
+ S2 f1;\r
+ S3 f2;\r
+ if (b1.a == b1.a) {}\r
+ b2.r = b2.r;\r
+ b2.p = u8vec2(3, 4);\r
+ u8vec2[2](u8vec2(uvec2(1,2)), u8vec2(uvec2(3,4)));\r
+ // NOT ERRORING YET\r
+ b3.x;\r
+ S4(0u, uint8_t(0u));\r
+ func2(b1.a);\r
+}\r
+\r
+\r
+layout(column_major, std140) uniform B6\r
+{\r
+ u8mat2x3 e;\r
+} b6;\r
+\r
return contains([](const TType* t) { return t->isArray() && t->arraySizes->isOuterSpecialization(); } );
}
+ virtual bool contains16BitInt() const
+ {
+ return containsBasicType(EbtInt16) || containsBasicType(EbtUint16);
+ }
+
+ virtual bool contains8BitInt() const
+ {
+ return containsBasicType(EbtInt8) || containsBasicType(EbtUint8);
+ }
+
// Array editing methods. Array descriptors can be shared across
// type instances. This allows all uses of the same array
// to be updated at once. E.g., all nodes can be explicitly sized
// This header is generated by the make-revision script.
-#define GLSLANG_PATCH_LEVEL 2796
+#define GLSLANG_PATCH_LEVEL 2797
// like vector and matrix sizes.
TBasicType promoteTo;
+ // GL_EXT_shader_16bit_storage can't do OpConstantComposite with
+ // 16-bit types, so disable promotion for those types.
+ bool canPromoteConstant = true;
switch (op) {
//
break;
case EOpConstructFloat16:
promoteTo = EbtFloat16;
+ canPromoteConstant = extensionRequested(E_GL_KHX_shader_explicit_arithmetic_types) ||
+ extensionRequested(E_GL_KHX_shader_explicit_arithmetic_types_float16);
break;
case EOpConstructInt8:
promoteTo = EbtInt8;
+ canPromoteConstant = extensionRequested(E_GL_KHX_shader_explicit_arithmetic_types) ||
+ extensionRequested(E_GL_KHX_shader_explicit_arithmetic_types_int8);
break;
case EOpConstructUint8:
promoteTo = EbtUint8;
+ canPromoteConstant = extensionRequested(E_GL_KHX_shader_explicit_arithmetic_types) ||
+ extensionRequested(E_GL_KHX_shader_explicit_arithmetic_types_int8);
break;
case EOpConstructInt16:
promoteTo = EbtInt16;
+ canPromoteConstant = extensionRequested(E_GL_KHX_shader_explicit_arithmetic_types) ||
+ extensionRequested(E_GL_KHX_shader_explicit_arithmetic_types_int16);
break;
case EOpConstructUint16:
promoteTo = EbtUint16;
+ canPromoteConstant = extensionRequested(E_GL_KHX_shader_explicit_arithmetic_types) ||
+ extensionRequested(E_GL_KHX_shader_explicit_arithmetic_types_int16);
break;
case EOpConstructInt:
promoteTo = EbtInt;
return nullptr;
}
- if (node->getAsConstantUnion())
+ if (canPromoteConstant && node->getAsConstantUnion())
return promoteConstantUnion(promoteTo, node->getAsConstantUnion());
//
case EbtUint:
case EbtInt64:
case EbtUint64:
+ case EbtFloat:
+ case EbtDouble:
+ return true;
#ifdef AMD_EXTENSIONS
case EbtInt16:
case EbtUint16:
+ return extensionRequested(E_GL_AMD_gpu_shader_int16);
+ case EbtFloat16:
+ return extensionRequested(E_GL_AMD_gpu_shader_half_float);
#endif
- case EbtFloat:
- case EbtDouble:
-#ifdef AMD_EXTENSIONS
- case EbtFloat16:
-#endif
- return true;
default:
return false;
}
switch (from) {
case EbtInt:
case EbtUint:
+ case EbtFloat:
+ return true;
+ case EbtBool:
+ return (source == EShSourceHlsl);
#ifdef AMD_EXTENSIONS
case EbtInt16:
case EbtUint16:
+ return extensionRequested(E_GL_AMD_gpu_shader_int16);
#endif
- case EbtFloat:
-#ifdef AMD_EXTENSIONS
case EbtFloat16:
+ return
+#ifdef AMD_EXTENSIONS
+ extensionRequested(E_GL_AMD_gpu_shader_half_float) ||
#endif
- return true;
- case EbtBool:
- return (source == EShSourceHlsl);
+ (source == EShSourceHlsl);
default:
return false;
}
case EbtInt:
return version >= 400 || (source == EShSourceHlsl);
case EbtUint:
+ return true;
+ case EbtBool:
+ return (source == EShSourceHlsl);
#ifdef AMD_EXTENSIONS
case EbtInt16:
case EbtUint16:
+ return extensionRequested(E_GL_AMD_gpu_shader_int16);
#endif
- return true;
- case EbtBool:
- return (source == EShSourceHlsl);
default:
return false;
}
case EbtInt:
switch (from) {
case EbtInt:
-#ifdef AMD_EXTENSIONS
- case EbtInt16:
-#endif
return true;
case EbtBool:
return (source == EShSourceHlsl);
+#ifdef AMD_EXTENSIONS
+ case EbtInt16:
+ return extensionRequested(E_GL_AMD_gpu_shader_int16);
+#endif
default:
return false;
}
case EbtUint:
case EbtInt64:
case EbtUint64:
+ return true;
#ifdef AMD_EXTENSIONS
case EbtInt16:
case EbtUint16:
+ return extensionRequested(E_GL_AMD_gpu_shader_int16);
#endif
- return true;
default:
return false;
}
switch (from) {
case EbtInt:
case EbtInt64:
+ return true;
#ifdef AMD_EXTENSIONS
case EbtInt16:
+ return extensionRequested(E_GL_AMD_gpu_shader_int16);
#endif
- return true;
default:
return false;
}
-#ifdef AMD_EXTENSIONS
case EbtFloat16:
switch (from) {
+#ifdef AMD_EXTENSIONS
case EbtInt16:
case EbtUint16:
+ return extensionRequested(E_GL_AMD_gpu_shader_int16);
case EbtFloat16:
- return true;
+ return extensionRequested(E_GL_AMD_gpu_shader_half_float);
+#endif
default:
return false;
}
case EbtUint16:
switch (from) {
+#ifdef AMD_EXTENSIONS
case EbtInt16:
case EbtUint16:
- return true;
+ return extensionRequested(E_GL_AMD_gpu_shader_int16);
+#endif
default:
return false;
}
-#endif
default:
return false;
}
//
TIntermTyped* TParseContext::handleBracketDereference(const TSourceLoc& loc, TIntermTyped* base, TIntermTyped* index)
{
- TIntermTyped* result = nullptr;
-
int indexValue = 0;
if (index->getQualifier().isFrontEndConstant())
indexValue = index->getAsConstantUnion()->getConstArray()[0].getIConst();
+ // basic type checks...
variableCheck(base);
+
if (! base->isArray() && ! base->isMatrix() && ! base->isVector()) {
if (base->getAsSymbolNode())
error(loc, " left of '[' is not of type array, matrix, or vector ", base->getAsSymbolNode()->getName().c_str(), "");
else
error(loc, " left of '[' is not of type array, matrix, or vector ", "expression", "");
- } else if (base->getType().getQualifier().isFrontEndConstant() && index->getQualifier().isFrontEndConstant()) {
+
+ // Insert dummy error-recovery result
+ return intermediate.addConstantUnion(0.0, EbtFloat, loc);
+ }
+
+ if (!base->isArray() && base->isVector()) {
+ if (base->getType().containsBasicType(EbtFloat16)) {
+ requireFloat16Arithmetic(loc, "'[' does not operate on types containing float16");
+ }
+ if (base->getType().contains16BitInt()) {
+ requireInt16Arithmetic(loc, "'[' does not operate on types containing (u)int16");
+ }
+ if (base->getType().contains8BitInt()) {
+ requireInt8Arithmetic(loc, "'[' does not operate on types containing (u)int8");
+ }
+ }
+
+ // check for constant folding
+ if (base->getType().getQualifier().isFrontEndConstant() && index->getQualifier().isFrontEndConstant()) {
// both base and index are front-end constants
checkIndex(loc, base->getType(), indexValue);
return intermediate.foldDereference(base, indexValue, loc);
- } else {
- // at least one of base and index is not a front-end constant variable...
+ }
- if (index->getQualifier().isFrontEndConstant())
- checkIndex(loc, base->getType(), indexValue);
+ // at least one of base and index is not a front-end constant variable...
+ TIntermTyped* result = nullptr;
+ if (index->getQualifier().isFrontEndConstant())
+ checkIndex(loc, base->getType(), indexValue);
- if (base->getAsSymbolNode() && isIoResizeArray(base->getType()))
- handleIoResizeArrayAccess(loc, base);
+ if (base->getAsSymbolNode() && isIoResizeArray(base->getType()))
+ handleIoResizeArrayAccess(loc, base);
- if (index->getQualifier().isFrontEndConstant()) {
- if (base->getType().isUnsizedArray())
- base->getWritableType().updateImplicitArraySize(indexValue + 1);
- else
- checkIndex(loc, base->getType(), indexValue);
- result = intermediate.addIndex(EOpIndexDirect, base, index, loc);
- } else {
- if (base->getType().isUnsizedArray()) {
- // we have a variable index into an unsized array, which is okay,
- // depending on the situation
- if (base->getAsSymbolNode() && isIoResizeArray(base->getType()))
- error(loc, "", "[", "array must be sized by a redeclaration or layout qualifier before being indexed with a variable");
- else {
- // it is okay for a run-time sized array
- checkRuntimeSizable(loc, *base);
- }
- base->getWritableType().setArrayVariablyIndexed();
+ if (index->getQualifier().isFrontEndConstant()) {
+ if (base->getType().isUnsizedArray())
+ base->getWritableType().updateImplicitArraySize(indexValue + 1);
+ else
+ checkIndex(loc, base->getType(), indexValue);
+ result = intermediate.addIndex(EOpIndexDirect, base, index, loc);
+ } else {
+ if (base->getType().isUnsizedArray()) {
+ // we have a variable index into an unsized array, which is okay,
+ // depending on the situation
+ if (base->getAsSymbolNode() && isIoResizeArray(base->getType()))
+ error(loc, "", "[", "array must be sized by a redeclaration or layout qualifier before being indexed with a variable");
+ else {
+ // it is okay for a run-time sized array
+ checkRuntimeSizable(loc, *base);
}
- if (base->getBasicType() == EbtBlock) {
- if (base->getQualifier().storage == EvqBuffer)
- requireProfile(base->getLoc(), ~EEsProfile, "variable indexing buffer block array");
- else if (base->getQualifier().storage == EvqUniform)
- profileRequires(base->getLoc(), EEsProfile, 320, Num_AEP_gpu_shader5, AEP_gpu_shader5,
- "variable indexing uniform block array");
- else {
- // input/output blocks either don't exist or can be variable indexed
- }
- } else if (language == EShLangFragment && base->getQualifier().isPipeOutput())
- requireProfile(base->getLoc(), ~EEsProfile, "variable indexing fragment shader output array");
- else if (base->getBasicType() == EbtSampler && version >= 130) {
- const char* explanation = "variable indexing sampler array";
- requireProfile(base->getLoc(), EEsProfile | ECoreProfile | ECompatibilityProfile, explanation);
- profileRequires(base->getLoc(), EEsProfile, 320, Num_AEP_gpu_shader5, AEP_gpu_shader5, explanation);
- profileRequires(base->getLoc(), ECoreProfile | ECompatibilityProfile, 400, nullptr, explanation);
+ base->getWritableType().setArrayVariablyIndexed();
+ }
+ if (base->getBasicType() == EbtBlock) {
+ if (base->getQualifier().storage == EvqBuffer)
+ requireProfile(base->getLoc(), ~EEsProfile, "variable indexing buffer block array");
+ else if (base->getQualifier().storage == EvqUniform)
+ profileRequires(base->getLoc(), EEsProfile, 320, Num_AEP_gpu_shader5, AEP_gpu_shader5,
+ "variable indexing uniform block array");
+ else {
+ // input/output blocks either don't exist or can be variable indexed
}
-
- result = intermediate.addIndex(EOpIndexIndirect, base, index, loc);
+ } else if (language == EShLangFragment && base->getQualifier().isPipeOutput())
+ requireProfile(base->getLoc(), ~EEsProfile, "variable indexing fragment shader output array");
+ else if (base->getBasicType() == EbtSampler && version >= 130) {
+ const char* explanation = "variable indexing sampler array";
+ requireProfile(base->getLoc(), EEsProfile | ECoreProfile | ECompatibilityProfile, explanation);
+ profileRequires(base->getLoc(), EEsProfile, 320, Num_AEP_gpu_shader5, AEP_gpu_shader5, explanation);
+ profileRequires(base->getLoc(), ECoreProfile | ECompatibilityProfile, 400, nullptr, explanation);
}
+
+ result = intermediate.addIndex(EOpIndexIndirect, base, index, loc);
}
- if (result == nullptr) {
- // Insert dummy error-recovery result
- result = intermediate.addConstantUnion(0.0, EbtFloat, loc);
- } else {
- // Insert valid dereferenced result
- TType newType(base->getType(), 0); // dereferenced type
- if (base->getType().getQualifier().isConstant() && index->getQualifier().isConstant()) {
- newType.getQualifier().storage = EvqConst;
- // If base or index is a specialization constant, the result should also be a specialization constant.
- if (base->getType().getQualifier().isSpecConstant() || index->getQualifier().isSpecConstant()) {
- newType.getQualifier().makeSpecConstant();
- }
- } else {
- newType.getQualifier().makePartialTemporary();
+ // Insert valid dereferenced result
+ TType newType(base->getType(), 0); // dereferenced type
+ if (base->getType().getQualifier().isConstant() && index->getQualifier().isConstant()) {
+ newType.getQualifier().storage = EvqConst;
+ // If base or index is a specialization constant, the result should also be a specialization constant.
+ if (base->getType().getQualifier().isSpecConstant() || index->getQualifier().isSpecConstant()) {
+ newType.getQualifier().makeSpecConstant();
}
- result->setType(newType);
+ } else {
+ newType.getQualifier().makePartialTemporary();
+ }
+ result->setType(newType);
- // Propagate nonuniform
- if (base->getQualifier().isNonUniform() || index->getQualifier().isNonUniform())
- result->getWritableType().getQualifier().nonUniform = true;
+ // Propagate nonuniform
+ if (base->getQualifier().isNonUniform() || index->getQualifier().isNonUniform())
+ result->getWritableType().getQualifier().nonUniform = true;
- if (anyIndexLimits)
- handleIndexLimits(loc, base, index);
- }
+ if (anyIndexLimits)
+ handleIndexLimits(loc, base, index);
return result;
}
break;
}
+ if (((left->getType().containsBasicType(EbtFloat16) || right->getType().containsBasicType(EbtFloat16)) && !float16Arithmetic()) ||
+ ((left->getType().contains16BitInt() || right->getType().contains16BitInt()) && !int16Arithmetic()) ||
+ ((left->getType().contains8BitInt() || right->getType().contains8BitInt()) && !int8Arithmetic())) {
+ allowed = false;
+ }
+
TIntermTyped* result = nullptr;
if (allowed)
result = intermediate.addBinaryMath(op, left, right, loc);
{
rValueErrorCheck(loc, str, childNode);
- TIntermTyped* result = intermediate.addUnaryMath(op, childNode, loc);
+ bool allowed = true;
+ if ((childNode->getType().containsBasicType(EbtFloat16) && !float16Arithmetic()) ||
+ (childNode->getType().contains16BitInt() && !int16Arithmetic()) ||
+ (childNode->getType().contains8BitInt() && !int8Arithmetic())) {
+ allowed = false;
+ }
+
+ TIntermTyped* result = nullptr;
+
+ if (allowed)
+ result = intermediate.addUnaryMath(op, childNode, loc);
if (result)
return result;
TSwizzleSelectors<TVectorSelector> selectors;
parseSwizzleSelector(loc, field, base->getVectorSize(), selectors);
+ if (base->isVector() && selectors.size() != 1 && base->getType().containsBasicType(EbtFloat16)) {
+ requireFloat16Arithmetic(loc, "can't swizzle types containing float16");
+ }
+ if (base->isVector() && selectors.size() != 1 && base->getType().contains16BitInt()) {
+ requireInt16Arithmetic(loc, "can't swizzle types containing (u)int16");
+ }
+ if (base->isVector() && selectors.size() != 1 && base->getType().contains8BitInt()) {
+ requireInt8Arithmetic(loc, "can't swizzle types containing (u)int8");
+ }
+
if (base->isScalar()) {
if (selectors.size() == 1)
return result;
if (builtIn && fnCandidate->getNumExtensions())
requireExtensions(loc, fnCandidate->getNumExtensions(), fnCandidate->getExtensions(), fnCandidate->getName().c_str());
+ if (builtIn && fnCandidate->getType().containsBasicType(EbtFloat16)) {
+ requireFloat16Arithmetic(loc, "float16 types can only be in uniform block or buffer storage");
+ }
+ if (builtIn && fnCandidate->getType().contains16BitInt()) {
+ requireInt16Arithmetic(loc, "(u)int16 types can only be in uniform block or buffer storage");
+ }
+ if (builtIn && fnCandidate->getType().contains8BitInt()) {
+ requireInt8Arithmetic(loc, "(u)int8 types can only be in uniform block or buffer storage");
+ }
+
if (arguments != nullptr) {
// Make sure qualifications work for these arguments.
TIntermAggregate* aggregate = arguments->getAsAggregate();
if (argQualifier.writeonly && ! formalQualifier.writeonly)
error(arguments->getLoc(), message, "writeonly", "");
}
+
+ if (builtIn && arg->getAsTyped()->getType().containsBasicType(EbtFloat16)) {
+ requireFloat16Arithmetic(arguments->getLoc(), "float16 types can only be in uniform block or buffer storage");
+ }
+ if (builtIn && arg->getAsTyped()->getType().contains16BitInt()) {
+ requireInt16Arithmetic(arguments->getLoc(), "(u)int16 types can only be in uniform block or buffer storage");
+ }
+ if (builtIn && arg->getAsTyped()->getType().contains8BitInt()) {
+ requireInt8Arithmetic(arguments->getLoc(), "(u)int8 types can only be in uniform block or buffer storage");
+ }
+
// TODO 4.5 functionality: A shader will fail to compile
// if the value passed to the memargument of an atomic memory function does not correspond to a buffer or
// shared variable. It is acceptable to pass an element of an array or a single component of a vector to the
TIntermNode* TParseContext::handleReturnValue(const TSourceLoc& loc, TIntermTyped* value)
{
+ storage16BitAssignmentCheck(loc, value->getType(), "return");
+
functionReturnsValue = true;
if (currentFunctionType->getBasicType() == EbtVoid) {
error(loc, "void function cannot return a value", "return", "");
specConstType = true;
if (function[arg].type->isFloatingDomain())
floatArgument = true;
+ if (type.isStruct()) {
+ if (function[arg].type->containsBasicType(EbtFloat16)) {
+ requireFloat16Arithmetic(loc, "Can't construct structure containing 16-bit type");
+ }
+ if (function[arg].type->containsBasicType(EbtUint16) ||
+ function[arg].type->containsBasicType(EbtInt16)) {
+ requireInt16Arithmetic(loc, "Can't construct structure containing 16-bit type");
+ }
+ if (function[arg].type->containsBasicType(EbtUint8) ||
+ function[arg].type->containsBasicType(EbtInt8)) {
+ requireInt8Arithmetic(loc, "Can't construct structure containing 8-bit type");
+ }
+ }
+ }
+
+ switch (op) {
+ case EOpConstructFloat16:
+ case EOpConstructF16Vec2:
+ case EOpConstructF16Vec3:
+ case EOpConstructF16Vec4:
+ if (type.isArray()) {
+ requireFloat16Arithmetic(loc, "16-bit array constructors not supported");
+ }
+
+ if (type.isVector() && function.getParamCount() != 1) {
+ requireFloat16Arithmetic(loc, "16-bit vector constructors only take vector types");
+ }
+ break;
+ case EOpConstructUint16:
+ case EOpConstructU16Vec2:
+ case EOpConstructU16Vec3:
+ case EOpConstructU16Vec4:
+ case EOpConstructInt16:
+ case EOpConstructI16Vec2:
+ case EOpConstructI16Vec3:
+ case EOpConstructI16Vec4:
+ if (type.isArray()) {
+ requireInt16Arithmetic(loc, "16-bit array constructors not supported");
+ }
+
+ if (type.isVector() && function.getParamCount() != 1) {
+ requireInt16Arithmetic(loc, "16-bit vector constructors only take vector types");
+ }
+ break;
+ case EOpConstructUint8:
+ case EOpConstructU8Vec2:
+ case EOpConstructU8Vec3:
+ case EOpConstructU8Vec4:
+ case EOpConstructInt8:
+ case EOpConstructI8Vec2:
+ case EOpConstructI8Vec3:
+ case EOpConstructI8Vec4:
+ if (type.isArray()) {
+ requireInt8Arithmetic(loc, "8-bit array constructors not supported");
+ }
+
+ if (type.isVector() && function.getParamCount() != 1) {
+ requireInt8Arithmetic(loc, "8-bit vector constructors only take vector types");
+ }
+ break;
+ default:
+ break;
}
// inherit constness from children
{
if ((qualifier == EvqOut || qualifier == EvqInOut) && type.isOpaque())
error(loc, "samplers and atomic_uints cannot be output parameters", type.getBasicTypeString().c_str(), "");
+
+ if (!parsingBuiltins && type.containsBasicType(EbtFloat16)) {
+ requireFloat16Arithmetic(loc, "float16 types can only be in uniform block or buffer storage");
+ }
+ if (!parsingBuiltins && type.contains16BitInt()) {
+ requireInt16Arithmetic(loc, "(u)int16 types can only be in uniform block or buffer storage");
+ }
+ if (!parsingBuiltins && type.contains8BitInt()) {
+ requireInt8Arithmetic(loc, "(u)int8 types can only be in uniform block or buffer storage");
+ }
}
bool TParseContext::containsFieldWithBasicType(const TType& type, TBasicType basicType)
error(loc, "can't use with samplers or structs containing samplers", op, "");
}
+void TParseContext::storage16BitAssignmentCheck(const TSourceLoc& loc, const TType& type, const char* op)
+{
+ if (type.getBasicType() == EbtStruct && containsFieldWithBasicType(type, EbtFloat16))
+ requireFloat16Arithmetic(loc, "can't use with structs containing float16");
+
+ if (type.isArray() && type.getBasicType() == EbtFloat16)
+ requireFloat16Arithmetic(loc, "can't use with arrays containing float16");
+
+ if (type.getBasicType() == EbtStruct && containsFieldWithBasicType(type, EbtInt16))
+ requireInt16Arithmetic(loc, "can't use with structs containing int16");
+
+ if (type.isArray() && type.getBasicType() == EbtInt16)
+ requireInt16Arithmetic(loc, "can't use with arrays containing int16");
+
+ if (type.getBasicType() == EbtStruct && containsFieldWithBasicType(type, EbtUint16))
+ requireInt16Arithmetic(loc, "can't use with structs containing uint16");
+
+ if (type.isArray() && type.getBasicType() == EbtUint16)
+ requireInt16Arithmetic(loc, "can't use with arrays containing uint16");
+
+ if (type.getBasicType() == EbtStruct && containsFieldWithBasicType(type, EbtInt8))
+ requireInt8Arithmetic(loc, "can't use with structs containing int8");
+
+ if (type.isArray() && type.getBasicType() == EbtInt8)
+ requireInt8Arithmetic(loc, "can't use with arrays containing int8");
+
+ if (type.getBasicType() == EbtStruct && containsFieldWithBasicType(type, EbtUint8))
+ requireInt8Arithmetic(loc, "can't use with structs containing uint8");
+
+ if (type.isArray() && type.getBasicType() == EbtUint8)
+ requireInt8Arithmetic(loc, "can't use with arrays containing uint8");
+}
+
void TParseContext::specializationCheck(const TSourceLoc& loc, const TType& type, const char* op)
{
if (type.containsSpecializationSize())
atomicUintCheck(loc, type, identifier);
transparentOpaqueCheck(loc, type, identifier);
+ if (type.getQualifier().storage != EvqUniform && type.getQualifier().storage != EvqBuffer) {
+ if (type.containsBasicType(EbtFloat16)) {
+ requireFloat16Arithmetic(loc, "float16 types can only be in uniform block or buffer storage");
+ }
+ if (type.contains16BitInt()) {
+ requireInt16Arithmetic(loc, "(u)int16 types can only be in uniform block or buffer storage");
+ }
+ if (type.contains8BitInt()) {
+ requireInt8Arithmetic(loc, "(u)int8 types can only be in uniform block or buffer storage");
+ }
+ }
+
if (identifier != "gl_FragCoord" && (publicType.shaderQualifiers.originUpperLeft || publicType.shaderQualifiers.pixelCenterInteger))
error(loc, "can only apply origin_upper_left and pixel_center_origin to gl_FragCoord", "layout qualifier", "");
if (identifier != "gl_FragDepth" && publicType.shaderQualifiers.layoutDepth != EldNone)
void nestedStructCheck(const TSourceLoc&);
void arrayObjectCheck(const TSourceLoc&, const TType&, const char* op);
void opaqueCheck(const TSourceLoc&, const TType&, const char* op);
+ void storage16BitAssignmentCheck(const TSourceLoc&, const TType&, const char* op);
void specializationCheck(const TSourceLoc&, const TType&, const char* op);
void structTypeCheck(const TSourceLoc&, TPublicType&);
void inductiveLoopCheck(const TSourceLoc&, TIntermNode* init, TIntermLoop* loop);
afterType = true;
if (parseContext.symbolTable.atBuiltInLevel() ||
((parseContext.extensionTurnedOn(E_GL_KHX_shader_explicit_arithmetic_types) ||
+ parseContext.extensionTurnedOn(E_GL_EXT_shader_8bit_storage) ||
parseContext.extensionTurnedOn(E_GL_KHX_shader_explicit_arithmetic_types_int8)) &&
parseContext.profile != EEsProfile && parseContext.version >= 450))
return keyword;
#ifdef AMD_EXTENSIONS
parseContext.extensionTurnedOn(E_GL_AMD_gpu_shader_int16) ||
#endif
+ parseContext.extensionTurnedOn(E_GL_EXT_shader_16bit_storage) ||
parseContext.extensionTurnedOn(E_GL_KHX_shader_explicit_arithmetic_types) ||
parseContext.extensionTurnedOn(E_GL_KHX_shader_explicit_arithmetic_types_int16))))
return keyword;
case F16VEC2:
case F16VEC3:
case F16VEC4:
+ afterType = true;
+ if (parseContext.symbolTable.atBuiltInLevel() ||
+ (parseContext.profile != EEsProfile && parseContext.version >= 450 &&
+ (
+#ifdef AMD_EXTENSIONS
+ parseContext.extensionTurnedOn(E_GL_AMD_gpu_shader_half_float) ||
+#endif
+ parseContext.extensionTurnedOn(E_GL_EXT_shader_16bit_storage) ||
+ parseContext.extensionTurnedOn(E_GL_KHX_shader_explicit_arithmetic_types) ||
+ parseContext.extensionTurnedOn(E_GL_KHX_shader_explicit_arithmetic_types_float16))))
+ return keyword;
+
+ return identifierOrType();
+
case F16MAT2:
case F16MAT3:
case F16MAT4:
extensionBehavior[E_GL_EXT_nonuniform_qualifier] = EBhDisable;
extensionBehavior[E_GL_EXT_samplerless_texture_functions] = EBhDisable;
+ extensionBehavior[E_GL_EXT_shader_16bit_storage] = EBhDisable;
+ extensionBehavior[E_GL_EXT_shader_8bit_storage] = EBhDisable;
+
// #line and #include
extensionBehavior[E_GL_GOOGLE_cpp_style_line_directive] = EBhDisable;
extensionBehavior[E_GL_GOOGLE_include_directive] = EBhDisable;
"#define GL_EXT_post_depth_coverage 1\n"
"#define GL_EXT_control_flow_attributes 1\n"
"#define GL_EXT_nonuniform_qualifier 1\n"
+ "#define GL_EXT_shader_16bit_storage 1\n"
+ "#define GL_EXT_shader_8bit_storage 1\n"
"#define GL_EXT_samplerless_texture_functions 1\n"
// GL_KHR_shader_subgroup
void TParseVersions::doubleCheck(const TSourceLoc& loc, const char* op)
{
requireProfile(loc, ECoreProfile | ECompatibilityProfile, op);
- profileRequires(loc, ECoreProfile, 400, nullptr, op);
- profileRequires(loc, ECompatibilityProfile, 400, nullptr, op);
+ profileRequires(loc, ECoreProfile | ECompatibilityProfile, 400, nullptr, op);
}
// Call for any operation needing GLSL float16 data-type support.
void TParseVersions::float16Check(const TSourceLoc& loc, const char* op, bool builtIn)
{
if (!builtIn) {
+ const char* const extensions[] = {
#if AMD_EXTENSIONS
- const char* const extensions[3] = {E_GL_AMD_gpu_shader_half_float,
+ E_GL_AMD_gpu_shader_half_float,
+#endif
E_GL_KHX_shader_explicit_arithmetic_types,
E_GL_KHX_shader_explicit_arithmetic_types_float16};
+ requireExtensions(loc, sizeof(extensions)/sizeof(extensions[0]), extensions, "explicit types");
+ }
+}
-#else
- const char* const extensions[2] = {E_GL_KHX_shader_explicit_arithmetic_types,
- E_GL_KHX_shader_explicit_arithmetic_types_float16};
+bool TParseVersions::float16Arithmetic()
+{
+ const char* const extensions[] = {
+#if AMD_EXTENSIONS
+ E_GL_AMD_gpu_shader_half_float,
+#endif
+ E_GL_KHX_shader_explicit_arithmetic_types,
+ E_GL_KHX_shader_explicit_arithmetic_types_float16};
+ return extensionsTurnedOn(sizeof(extensions)/sizeof(extensions[0]), extensions);
+}
+
+bool TParseVersions::int16Arithmetic()
+{
+ const char* const extensions[] = {
+#if AMD_EXTENSIONS
+ E_GL_AMD_gpu_shader_int16,
+#endif
+ E_GL_KHX_shader_explicit_arithmetic_types,
+ E_GL_KHX_shader_explicit_arithmetic_types_int16};
+ return extensionsTurnedOn(sizeof(extensions)/sizeof(extensions[0]), extensions);
+}
+
+bool TParseVersions::int8Arithmetic()
+{
+ const char* const extensions[] = {
+ E_GL_KHX_shader_explicit_arithmetic_types,
+ E_GL_KHX_shader_explicit_arithmetic_types_int8};
+ return extensionsTurnedOn(sizeof(extensions)/sizeof(extensions[0]), extensions);
+}
+
+void TParseVersions::requireFloat16Arithmetic(const TSourceLoc& loc, const char* featureDesc)
+{
+ const char* const extensions[] = {
+#if AMD_EXTENSIONS
+ E_GL_AMD_gpu_shader_half_float,
+#endif
+ E_GL_KHX_shader_explicit_arithmetic_types,
+ E_GL_KHX_shader_explicit_arithmetic_types_float16};
+ requireExtensions(loc, sizeof(extensions)/sizeof(extensions[0]), extensions, featureDesc);
+}
+
+void TParseVersions::requireInt16Arithmetic(const TSourceLoc& loc, const char* featureDesc)
+{
+ const char* const extensions[] = {
+#if AMD_EXTENSIONS
+ E_GL_AMD_gpu_shader_int16,
+#endif
+ E_GL_KHX_shader_explicit_arithmetic_types,
+ E_GL_KHX_shader_explicit_arithmetic_types_int16};
+ requireExtensions(loc, sizeof(extensions)/sizeof(extensions[0]), extensions, featureDesc);
+}
+
+void TParseVersions::requireInt8Arithmetic(const TSourceLoc& loc, const char* featureDesc)
+{
+ const char* const extensions[] = {
+ E_GL_KHX_shader_explicit_arithmetic_types,
+ E_GL_KHX_shader_explicit_arithmetic_types_int8};
+ requireExtensions(loc, sizeof(extensions)/sizeof(extensions[0]), extensions, featureDesc);
+}
+
+void TParseVersions::float16ScalarVectorCheck(const TSourceLoc& loc, const char* op, bool builtIn)
+{
+ if (!builtIn) {
+ const char* const extensions[] = {
+#if AMD_EXTENSIONS
+ E_GL_AMD_gpu_shader_half_float,
#endif
+ E_GL_EXT_shader_16bit_storage,
+ E_GL_KHX_shader_explicit_arithmetic_types,
+ E_GL_KHX_shader_explicit_arithmetic_types_float16};
requireExtensions(loc, sizeof(extensions)/sizeof(extensions[0]), extensions, "explicit types");
- requireProfile(loc, ECoreProfile | ECompatibilityProfile, op);
- profileRequires(loc, ECoreProfile, 450, nullptr, op);
- profileRequires(loc, ECompatibilityProfile, 450, nullptr, op);
}
}
const char* const extensions[2] = {E_GL_KHX_shader_explicit_arithmetic_types,
E_GL_KHX_shader_explicit_arithmetic_types_float32};
requireExtensions(loc, 2, extensions, "explicit types");
- requireProfile(loc, ECoreProfile | ECompatibilityProfile, op);
- profileRequires(loc, ECoreProfile, 450, nullptr, op);
- profileRequires(loc, ECompatibilityProfile, 450, nullptr, op);
}
}
E_GL_KHX_shader_explicit_arithmetic_types_float64};
requireExtensions(loc, 2, extensions, "explicit types");
requireProfile(loc, ECoreProfile | ECompatibilityProfile, op);
- profileRequires(loc, ECoreProfile, 450, nullptr, op);
- profileRequires(loc, ECompatibilityProfile, 450, nullptr, op);
+ profileRequires(loc, ECoreProfile | ECompatibilityProfile, 400, nullptr, op);
}
}
const char* const extensions[2] = {E_GL_KHX_shader_explicit_arithmetic_types,
E_GL_KHX_shader_explicit_arithmetic_types_int8};
requireExtensions(loc, 2, extensions, "explicit types");
- requireProfile(loc, ECoreProfile | ECompatibilityProfile, op);
- profileRequires(loc, ECoreProfile, 450, nullptr, op);
- profileRequires(loc, ECompatibilityProfile, 450, nullptr, op);
}
}
if (! builtIn) {
requireExtensions(loc, 1, &E_GL_AMD_gpu_shader_half_float_fetch, op);
requireProfile(loc, ECoreProfile | ECompatibilityProfile, op);
- profileRequires(loc, ECoreProfile, 450, nullptr, op);
- profileRequires(loc, ECompatibilityProfile, 450, nullptr, op);
+ profileRequires(loc, ECoreProfile | ECompatibilityProfile, 400, nullptr, op);
}
}
#endif
void TParseVersions::explicitInt16Check(const TSourceLoc& loc, const char* op, bool builtIn)
{
if (! builtIn) {
+ const char* const extensions[] = {
#if AMD_EXTENSIONS
- const char* const extensions[3] = {E_GL_AMD_gpu_shader_int16,
- E_GL_KHX_shader_explicit_arithmetic_types,
- E_GL_KHX_shader_explicit_arithmetic_types_int16};
-#else
- const char* const extensions[2] = {E_GL_KHX_shader_explicit_arithmetic_types,
- E_GL_KHX_shader_explicit_arithmetic_types_int16};
+ E_GL_AMD_gpu_shader_int16,
#endif
+ E_GL_KHX_shader_explicit_arithmetic_types,
+ E_GL_KHX_shader_explicit_arithmetic_types_int16};
+ requireExtensions(loc, sizeof(extensions)/sizeof(extensions[0]), extensions, "explicit types");
+ }
+}
+
+void TParseVersions::int16ScalarVectorCheck(const TSourceLoc& loc, const char* op, bool builtIn)
+{
+ if (! builtIn) {
+ const char* const extensions[] = {
+#if AMD_EXTENSIONS
+ E_GL_AMD_gpu_shader_int16,
+#endif
+ E_GL_EXT_shader_16bit_storage,
+ E_GL_KHX_shader_explicit_arithmetic_types,
+ E_GL_KHX_shader_explicit_arithmetic_types_int16};
+ requireExtensions(loc, sizeof(extensions)/sizeof(extensions[0]), extensions, "explicit types");
+ }
+}
+
+void TParseVersions::int8ScalarVectorCheck(const TSourceLoc& loc, const char* op, bool builtIn)
+{
+ if (! builtIn) {
+ const char* const extensions[] = {
+ E_GL_EXT_shader_8bit_storage,
+ E_GL_KHX_shader_explicit_arithmetic_types,
+ E_GL_KHX_shader_explicit_arithmetic_types_int8};
requireExtensions(loc, sizeof(extensions)/sizeof(extensions[0]), extensions, "explicit types");
- requireProfile(loc, ECoreProfile | ECompatibilityProfile, op);
- profileRequires(loc, ECoreProfile, 450, nullptr, op);
- profileRequires(loc, ECompatibilityProfile, 450, nullptr, op);
}
}
const char* const extensions[2] = {E_GL_KHX_shader_explicit_arithmetic_types,
E_GL_KHX_shader_explicit_arithmetic_types_int32};
requireExtensions(loc, 2, extensions, "explicit types");
- requireProfile(loc, ECoreProfile | ECompatibilityProfile, op);
- profileRequires(loc, ECoreProfile, 450, nullptr, op);
- profileRequires(loc, ECompatibilityProfile, 450, nullptr, op);
}
}
E_GL_KHX_shader_explicit_arithmetic_types_int64};
requireExtensions(loc, 3, extensions, "shader int64");
requireProfile(loc, ECoreProfile | ECompatibilityProfile, op);
- profileRequires(loc, ECoreProfile, 450, nullptr, op);
- profileRequires(loc, ECompatibilityProfile, 450, nullptr, op);
+ profileRequires(loc, ECoreProfile | ECompatibilityProfile, 400, nullptr, op);
}
}
const char* const E_GL_EXT_shader_non_constant_global_initializers = "GL_EXT_shader_non_constant_global_initializers";
const char* const E_GL_EXT_shader_image_load_formatted = "GL_EXT_shader_image_load_formatted";
+const char* const E_GL_EXT_shader_16bit_storage = "GL_EXT_shader_16bit_storage";
+const char* const E_GL_EXT_shader_8bit_storage = "GL_EXT_shader_8bit_storage";
+
+
// EXT extensions
const char* const E_GL_EXT_device_group = "GL_EXT_device_group";
const char* const E_GL_EXT_multiview = "GL_EXT_multiview";
| unary_expression assignment_operator assignment_expression {
parseContext.arrayObjectCheck($2.loc, $1->getType(), "array assignment");
parseContext.opaqueCheck($2.loc, $1->getType(), "=");
+ parseContext.storage16BitAssignmentCheck($2.loc, $1->getType(), "=");
parseContext.specializationCheck($2.loc, $1->getType(), "=");
parseContext.lValueErrorCheck($2.loc, "assign", $1);
parseContext.rValueErrorCheck($2.loc, "assign", $3);
$$.basicType = EbtDouble;
}
| FLOAT16_T {
- parseContext.float16Check($1.loc, "float16_t", parseContext.symbolTable.atBuiltInLevel());
+ parseContext.float16ScalarVectorCheck($1.loc, "float16_t", parseContext.symbolTable.atBuiltInLevel());
$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
$$.basicType = EbtFloat16;
}
$$.basicType = EbtUint;
}
| INT8_T {
- parseContext.explicitInt8Check($1.loc, "8-bit signed integer", parseContext.symbolTable.atBuiltInLevel());
+ parseContext.int8ScalarVectorCheck($1.loc, "8-bit signed integer", parseContext.symbolTable.atBuiltInLevel());
$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
$$.basicType = EbtInt8;
}
| UINT8_T {
- parseContext.explicitInt8Check($1.loc, "8-bit unsigned integer", parseContext.symbolTable.atBuiltInLevel());
+ parseContext.int8ScalarVectorCheck($1.loc, "8-bit unsigned integer", parseContext.symbolTable.atBuiltInLevel());
$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
$$.basicType = EbtUint8;
}
| INT16_T {
- parseContext.explicitInt16Check($1.loc, "16-bit signed integer", parseContext.symbolTable.atBuiltInLevel());
+ parseContext.int16ScalarVectorCheck($1.loc, "16-bit signed integer", parseContext.symbolTable.atBuiltInLevel());
$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
$$.basicType = EbtInt16;
}
| UINT16_T {
- parseContext.explicitInt16Check($1.loc, "16-bit unsigned integer", parseContext.symbolTable.atBuiltInLevel());
+ parseContext.int16ScalarVectorCheck($1.loc, "16-bit unsigned integer", parseContext.symbolTable.atBuiltInLevel());
$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
$$.basicType = EbtUint16;
}
$$.setVector(4);
}
| F16VEC2 {
- parseContext.float16Check($1.loc, "half float vector", parseContext.symbolTable.atBuiltInLevel());
+ parseContext.float16ScalarVectorCheck($1.loc, "half float vector", parseContext.symbolTable.atBuiltInLevel());
$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
$$.basicType = EbtFloat16;
$$.setVector(2);
}
| F16VEC3 {
- parseContext.float16Check($1.loc, "half float vector", parseContext.symbolTable.atBuiltInLevel());
+ parseContext.float16ScalarVectorCheck($1.loc, "half float vector", parseContext.symbolTable.atBuiltInLevel());
$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
$$.basicType = EbtFloat16;
$$.setVector(3);
}
| F16VEC4 {
- parseContext.float16Check($1.loc, "half float vector", parseContext.symbolTable.atBuiltInLevel());
+ parseContext.float16ScalarVectorCheck($1.loc, "half float vector", parseContext.symbolTable.atBuiltInLevel());
$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
$$.basicType = EbtFloat16;
$$.setVector(4);
$$.setVector(4);
}
| I8VEC2 {
- parseContext.explicitInt8Check($1.loc, "8-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
- $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
- $$.basicType = EbtInt8;
- $$.setVector(2);
+ parseContext.int8ScalarVectorCheck($1.loc, "8-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
+ $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+ $$.basicType = EbtInt8;
+ $$.setVector(2);
}
| I8VEC3 {
- parseContext.explicitInt8Check($1.loc, "8-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
- $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
- $$.basicType = EbtInt8;
- $$.setVector(3);
+ parseContext.int8ScalarVectorCheck($1.loc, "8-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
+ $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+ $$.basicType = EbtInt8;
+ $$.setVector(3);
}
| I8VEC4 {
- parseContext.explicitInt8Check($1.loc, "8-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
- $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
- $$.basicType = EbtInt8;
- $$.setVector(4);
+ parseContext.int8ScalarVectorCheck($1.loc, "8-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
+ $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+ $$.basicType = EbtInt8;
+ $$.setVector(4);
}
| I16VEC2 {
- parseContext.explicitInt16Check($1.loc, "16-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
- $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
- $$.basicType = EbtInt16;
- $$.setVector(2);
+ parseContext.int16ScalarVectorCheck($1.loc, "16-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
+ $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+ $$.basicType = EbtInt16;
+ $$.setVector(2);
}
| I16VEC3 {
- parseContext.explicitInt16Check($1.loc, "16-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
- $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
- $$.basicType = EbtInt16;
- $$.setVector(3);
+ parseContext.int16ScalarVectorCheck($1.loc, "16-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
+ $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+ $$.basicType = EbtInt16;
+ $$.setVector(3);
}
| I16VEC4 {
- parseContext.explicitInt16Check($1.loc, "16-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
- $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
- $$.basicType = EbtInt16;
- $$.setVector(4);
+ parseContext.int16ScalarVectorCheck($1.loc, "16-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
+ $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+ $$.basicType = EbtInt16;
+ $$.setVector(4);
}
| I32VEC2 {
parseContext.explicitInt32Check($1.loc, "32-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
$$.setVector(4);
}
| U8VEC2 {
- parseContext.explicitInt8Check($1.loc, "8-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
+ parseContext.int8ScalarVectorCheck($1.loc, "8-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
$$.basicType = EbtUint8;
$$.setVector(2);
}
| U8VEC3 {
- parseContext.explicitInt8Check($1.loc, "8-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
+ parseContext.int8ScalarVectorCheck($1.loc, "8-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
- $$.basicType = EbtInt8;
+ $$.basicType = EbtUint8;
$$.setVector(3);
}
| U8VEC4 {
- parseContext.explicitInt8Check($1.loc, "8-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
+ parseContext.int8ScalarVectorCheck($1.loc, "8-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
$$.basicType = EbtUint8;
$$.setVector(4);
}
| U16VEC2 {
- parseContext.explicitInt16Check($1.loc, "16-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
+ parseContext.int16ScalarVectorCheck($1.loc, "16-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
$$.basicType = EbtUint16;
$$.setVector(2);
}
| U16VEC3 {
- parseContext.explicitInt16Check($1.loc, "16-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
+ parseContext.int16ScalarVectorCheck($1.loc, "16-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
$$.basicType = EbtUint16;
$$.setVector(3);
}
| U16VEC4 {
- parseContext.explicitInt16Check($1.loc, "16-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
+ parseContext.int16ScalarVectorCheck($1.loc, "16-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
$$.basicType = EbtUint16;
$$.setVector(4);
519, 520, 521, 522, 528, 529, 534, 539, 548, 549,
554, 562, 563, 569, 578, 579, 584, 589, 594, 602,
603, 611, 622, 623, 632, 633, 642, 643, 652, 653,
- 661, 662, 670, 671, 679, 680, 680, 698, 699, 714,
- 718, 722, 726, 731, 735, 739, 743, 747, 751, 755,
- 762, 765, 776, 783, 788, 793, 801, 805, 809, 813,
- 818, 823, 832, 832, 843, 847, 854, 861, 864, 871,
- 879, 899, 922, 937, 962, 973, 983, 993, 1003, 1012,
- 1015, 1019, 1023, 1028, 1036, 1041, 1046, 1051, 1056, 1065,
- 1076, 1103, 1112, 1119, 1126, 1137, 1149, 1155, 1158, 1165,
- 1169, 1173, 1181, 1190, 1193, 1204, 1207, 1210, 1214, 1218,
- 1222, 1226, 1232, 1236, 1248, 1262, 1267, 1273, 1279, 1286,
- 1292, 1297, 1302, 1307, 1315, 1319, 1323, 1327, 1331, 1335,
- 1341, 1350, 1357, 1360, 1368, 1372, 1381, 1386, 1394, 1398,
- 1408, 1412, 1416, 1421, 1426, 1431, 1436, 1440, 1445, 1450,
- 1455, 1460, 1465, 1470, 1475, 1480, 1485, 1489, 1494, 1499,
- 1504, 1510, 1516, 1522, 1528, 1534, 1540, 1546, 1552, 1558,
- 1564, 1570, 1576, 1581, 1586, 1591, 1596, 1601, 1606, 1612,
- 1618, 1624, 1630, 1636, 1642, 1648, 1654, 1660, 1666, 1672,
- 1678, 1684, 1690, 1696, 1702, 1708, 1714, 1720, 1726, 1732,
- 1738, 1744, 1750, 1756, 1762, 1768, 1773, 1778, 1783, 1788,
- 1793, 1798, 1803, 1808, 1813, 1818, 1823, 1828, 1834, 1840,
- 1846, 1852, 1858, 1864, 1870, 1876, 1882, 1888, 1894, 1900,
- 1906, 1912, 1918, 1924, 1930, 1936, 1942, 1948, 1954, 1960,
- 1966, 1972, 1978, 1984, 1990, 1996, 2002, 2008, 2014, 2020,
- 2026, 2032, 2038, 2044, 2050, 2056, 2062, 2068, 2074, 2080,
- 2086, 2092, 2098, 2104, 2110, 2116, 2121, 2126, 2131, 2136,
- 2141, 2146, 2151, 2156, 2161, 2166, 2171, 2176, 2181, 2186,
- 2194, 2202, 2210, 2218, 2226, 2234, 2242, 2250, 2258, 2266,
- 2274, 2282, 2290, 2295, 2300, 2305, 2310, 2315, 2320, 2325,
- 2330, 2335, 2340, 2345, 2350, 2355, 2360, 2365, 2370, 2378,
- 2386, 2391, 2396, 2401, 2409, 2414, 2419, 2424, 2432, 2437,
- 2442, 2447, 2455, 2460, 2465, 2470, 2475, 2480, 2488, 2493,
- 2501, 2506, 2514, 2519, 2527, 2532, 2540, 2545, 2553, 2558,
- 2566, 2571, 2576, 2581, 2586, 2591, 2596, 2601, 2606, 2611,
- 2616, 2621, 2626, 2631, 2636, 2641, 2649, 2654, 2659, 2664,
- 2672, 2677, 2682, 2687, 2695, 2700, 2705, 2710, 2718, 2723,
- 2728, 2733, 2741, 2746, 2751, 2756, 2764, 2769, 2774, 2779,
- 2787, 2792, 2797, 2802, 2810, 2815, 2820, 2825, 2833, 2838,
- 2843, 2848, 2856, 2861, 2866, 2871, 2879, 2884, 2889, 2894,
- 2902, 2907, 2912, 2917, 2925, 2930, 2935, 2940, 2948, 2953,
- 2958, 2963, 2971, 2976, 2981, 2987, 2993, 2999, 3008, 3017,
- 3023, 3029, 3035, 3041, 3046, 3062, 3067, 3072, 3080, 3080,
- 3091, 3091, 3101, 3104, 3117, 3139, 3166, 3170, 3176, 3181,
- 3192, 3195, 3201, 3210, 3213, 3219, 3223, 3224, 3230, 3231,
- 3232, 3233, 3234, 3235, 3236, 3240, 3241, 3245, 3241, 3257,
- 3258, 3262, 3262, 3269, 3269, 3283, 3286, 3294, 3302, 3313,
- 3314, 3318, 3321, 3327, 3334, 3338, 3346, 3350, 3363, 3366,
- 3372, 3372, 3392, 3395, 3401, 3413, 3425, 3428, 3434, 3434,
- 3449, 3449, 3465, 3465, 3486, 3489, 3495, 3498, 3504, 3508,
- 3515, 3520, 3525, 3532, 3535, 3544, 3548, 3557, 3560, 3563,
- 3571, 3571, 3593, 3599, 3602, 3607, 3610
+ 661, 662, 670, 671, 679, 680, 680, 698, 699, 715,
+ 719, 723, 727, 732, 736, 740, 744, 748, 752, 756,
+ 763, 766, 777, 784, 789, 794, 802, 806, 810, 814,
+ 819, 824, 833, 833, 844, 848, 855, 862, 865, 872,
+ 880, 900, 923, 938, 963, 974, 984, 994, 1004, 1013,
+ 1016, 1020, 1024, 1029, 1037, 1042, 1047, 1052, 1057, 1066,
+ 1077, 1104, 1113, 1120, 1127, 1138, 1150, 1156, 1159, 1166,
+ 1170, 1174, 1182, 1191, 1194, 1205, 1208, 1211, 1215, 1219,
+ 1223, 1227, 1233, 1237, 1249, 1263, 1268, 1274, 1280, 1287,
+ 1293, 1298, 1303, 1308, 1316, 1320, 1324, 1328, 1332, 1336,
+ 1342, 1351, 1358, 1361, 1369, 1373, 1382, 1387, 1395, 1399,
+ 1409, 1413, 1417, 1422, 1427, 1432, 1437, 1441, 1446, 1451,
+ 1456, 1461, 1466, 1471, 1476, 1481, 1486, 1490, 1495, 1500,
+ 1505, 1511, 1517, 1523, 1529, 1535, 1541, 1547, 1553, 1559,
+ 1565, 1571, 1577, 1582, 1587, 1592, 1597, 1602, 1607, 1613,
+ 1619, 1625, 1631, 1637, 1643, 1649, 1655, 1661, 1667, 1673,
+ 1679, 1685, 1691, 1697, 1703, 1709, 1715, 1721, 1727, 1733,
+ 1739, 1745, 1751, 1757, 1763, 1769, 1774, 1779, 1784, 1789,
+ 1794, 1799, 1804, 1809, 1814, 1819, 1824, 1829, 1835, 1841,
+ 1847, 1853, 1859, 1865, 1871, 1877, 1883, 1889, 1895, 1901,
+ 1907, 1913, 1919, 1925, 1931, 1937, 1943, 1949, 1955, 1961,
+ 1967, 1973, 1979, 1985, 1991, 1997, 2003, 2009, 2015, 2021,
+ 2027, 2033, 2039, 2045, 2051, 2057, 2063, 2069, 2075, 2081,
+ 2087, 2093, 2099, 2105, 2111, 2117, 2122, 2127, 2132, 2137,
+ 2142, 2147, 2152, 2157, 2162, 2167, 2172, 2177, 2182, 2187,
+ 2195, 2203, 2211, 2219, 2227, 2235, 2243, 2251, 2259, 2267,
+ 2275, 2283, 2291, 2296, 2301, 2306, 2311, 2316, 2321, 2326,
+ 2331, 2336, 2341, 2346, 2351, 2356, 2361, 2366, 2371, 2379,
+ 2387, 2392, 2397, 2402, 2410, 2415, 2420, 2425, 2433, 2438,
+ 2443, 2448, 2456, 2461, 2466, 2471, 2476, 2481, 2489, 2494,
+ 2502, 2507, 2515, 2520, 2528, 2533, 2541, 2546, 2554, 2559,
+ 2567, 2572, 2577, 2582, 2587, 2592, 2597, 2602, 2607, 2612,
+ 2617, 2622, 2627, 2632, 2637, 2642, 2650, 2655, 2660, 2665,
+ 2673, 2678, 2683, 2688, 2696, 2701, 2706, 2711, 2719, 2724,
+ 2729, 2734, 2742, 2747, 2752, 2757, 2765, 2770, 2775, 2780,
+ 2788, 2793, 2798, 2803, 2811, 2816, 2821, 2826, 2834, 2839,
+ 2844, 2849, 2857, 2862, 2867, 2872, 2880, 2885, 2890, 2895,
+ 2903, 2908, 2913, 2918, 2926, 2931, 2936, 2941, 2949, 2954,
+ 2959, 2964, 2972, 2977, 2982, 2988, 2994, 3000, 3009, 3018,
+ 3024, 3030, 3036, 3042, 3047, 3063, 3068, 3073, 3081, 3081,
+ 3092, 3092, 3102, 3105, 3118, 3140, 3167, 3171, 3177, 3182,
+ 3193, 3196, 3202, 3211, 3214, 3220, 3224, 3225, 3231, 3232,
+ 3233, 3234, 3235, 3236, 3237, 3241, 3242, 3246, 3242, 3258,
+ 3259, 3263, 3263, 3270, 3270, 3284, 3287, 3295, 3303, 3314,
+ 3315, 3319, 3322, 3328, 3335, 3339, 3347, 3351, 3364, 3367,
+ 3373, 3373, 3393, 3396, 3402, 3414, 3426, 3429, 3435, 3435,
+ 3450, 3450, 3466, 3466, 3487, 3490, 3496, 3499, 3505, 3509,
+ 3516, 3521, 3526, 3533, 3536, 3545, 3549, 3558, 3561, 3564,
+ 3572, 3572, 3594, 3600, 3603, 3608, 3611
};
#endif
{
parseContext.arrayObjectCheck((yyvsp[-1].interm).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "array assignment");
parseContext.opaqueCheck((yyvsp[-1].interm).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "=");
+ parseContext.storage16BitAssignmentCheck((yyvsp[-1].interm).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "=");
parseContext.specializationCheck((yyvsp[-1].interm).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "=");
parseContext.lValueErrorCheck((yyvsp[-1].interm).loc, "assign", (yyvsp[-2].interm.intermTypedNode));
parseContext.rValueErrorCheck((yyvsp[-1].interm).loc, "assign", (yyvsp[0].interm.intermTypedNode));
(yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
}
}
-#line 4732 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 4733 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 79:
-#line 714 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 715 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm).loc = (yyvsp[0].lex).loc;
(yyval.interm).op = EOpAssign;
}
-#line 4741 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 4742 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 80:
-#line 718 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 719 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm).loc = (yyvsp[0].lex).loc;
(yyval.interm).op = EOpMulAssign;
}
-#line 4750 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 4751 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 81:
-#line 722 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 723 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm).loc = (yyvsp[0].lex).loc;
(yyval.interm).op = EOpDivAssign;
}
-#line 4759 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 4760 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 82:
-#line 726 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 727 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "%=");
(yyval.interm).loc = (yyvsp[0].lex).loc;
(yyval.interm).op = EOpModAssign;
}
-#line 4769 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 4770 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 83:
-#line 731 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 732 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm).loc = (yyvsp[0].lex).loc;
(yyval.interm).op = EOpAddAssign;
}
-#line 4778 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 4779 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 84:
-#line 735 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 736 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm).loc = (yyvsp[0].lex).loc;
(yyval.interm).op = EOpSubAssign;
}
-#line 4787 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 4788 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 85:
-#line 739 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 740 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "bit-shift left assign");
(yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpLeftShiftAssign;
}
-#line 4796 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 4797 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 86:
-#line 743 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 744 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "bit-shift right assign");
(yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpRightShiftAssign;
}
-#line 4805 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 4806 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 87:
-#line 747 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 748 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "bitwise-and assign");
(yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpAndAssign;
}
-#line 4814 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 4815 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 88:
-#line 751 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 752 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "bitwise-xor assign");
(yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpExclusiveOrAssign;
}
-#line 4823 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 4824 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 89:
-#line 755 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 756 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "bitwise-or assign");
(yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpInclusiveOrAssign;
}
-#line 4832 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 4833 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 90:
-#line 762 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 763 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
}
-#line 4840 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 4841 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 91:
-#line 765 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 766 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.samplerConstructorLocationCheck((yyvsp[-1].lex).loc, ",", (yyvsp[0].interm.intermTypedNode));
(yyval.interm.intermTypedNode) = parseContext.intermediate.addComma((yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode), (yyvsp[-1].lex).loc);
(yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
}
}
-#line 4853 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 4854 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 92:
-#line 776 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 777 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.constantValueCheck((yyvsp[0].interm.intermTypedNode), "");
(yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
}
-#line 4862 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 4863 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 93:
-#line 783 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 784 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.handleFunctionDeclarator((yyvsp[-1].interm).loc, *(yyvsp[-1].interm).function, true /* prototype */);
(yyval.interm.intermNode) = 0;
// TODO: 4.0 functionality: subroutines: make the identifier a user type for this signature
}
-#line 4872 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 4873 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 94:
-#line 788 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 789 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
if ((yyvsp[-1].interm).intermNode && (yyvsp[-1].interm).intermNode->getAsAggregate())
(yyvsp[-1].interm).intermNode->getAsAggregate()->setOperator(EOpSequence);
(yyval.interm.intermNode) = (yyvsp[-1].interm).intermNode;
}
-#line 4882 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 4883 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 95:
-#line 793 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 794 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.profileRequires((yyvsp[-3].lex).loc, ENoProfile, 130, 0, "precision statement");
parseContext.setDefaultPrecision((yyvsp[-3].lex).loc, (yyvsp[-1].interm.type), (yyvsp[-2].interm.type).qualifier.precision);
(yyval.interm.intermNode) = 0;
}
-#line 4895 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 4896 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 96:
-#line 801 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 802 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.declareBlock((yyvsp[-1].interm).loc, *(yyvsp[-1].interm).typeList);
(yyval.interm.intermNode) = 0;
}
-#line 4904 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 4905 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 97:
-#line 805 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 806 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.declareBlock((yyvsp[-2].interm).loc, *(yyvsp[-2].interm).typeList, (yyvsp[-1].lex).string);
(yyval.interm.intermNode) = 0;
}
-#line 4913 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 4914 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 98:
-#line 809 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 810 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.declareBlock((yyvsp[-3].interm).loc, *(yyvsp[-3].interm).typeList, (yyvsp[-2].lex).string, (yyvsp[-1].interm).arraySizes);
(yyval.interm.intermNode) = 0;
}
-#line 4922 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 4923 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 99:
-#line 813 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 814 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.globalQualifierFixCheck((yyvsp[-1].interm.type).loc, (yyvsp[-1].interm.type).qualifier);
parseContext.updateStandaloneQualifierDefaults((yyvsp[-1].interm.type).loc, (yyvsp[-1].interm.type));
(yyval.interm.intermNode) = 0;
}
-#line 4932 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 4933 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 100:
-#line 818 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 819 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.checkNoShaderLayouts((yyvsp[-2].interm.type).loc, (yyvsp[-2].interm.type).shaderQualifiers);
parseContext.addQualifierToExisting((yyvsp[-2].interm.type).loc, (yyvsp[-2].interm.type).qualifier, *(yyvsp[-1].lex).string);
(yyval.interm.intermNode) = 0;
}
-#line 4942 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 4943 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 101:
-#line 823 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 824 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.checkNoShaderLayouts((yyvsp[-3].interm.type).loc, (yyvsp[-3].interm.type).shaderQualifiers);
(yyvsp[-1].interm.identifierList)->push_back((yyvsp[-2].lex).string);
parseContext.addQualifierToExisting((yyvsp[-3].interm.type).loc, (yyvsp[-3].interm.type).qualifier, *(yyvsp[-1].interm.identifierList));
(yyval.interm.intermNode) = 0;
}
-#line 4953 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 4954 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 102:
-#line 832 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 833 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{ parseContext.nestedBlockCheck((yyvsp[-2].interm.type).loc); }
-#line 4959 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 4960 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 103:
-#line 832 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 833 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
--parseContext.structNestingLevel;
parseContext.blockName = (yyvsp[-4].lex).string;
(yyval.interm).loc = (yyvsp[-5].interm.type).loc;
(yyval.interm).typeList = (yyvsp[-1].interm.typeList);
}
-#line 4973 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 4974 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 104:
-#line 843 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 844 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.identifierList) = new TIdentifierList;
(yyval.interm.identifierList)->push_back((yyvsp[0].lex).string);
}
-#line 4982 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 4983 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 105:
-#line 847 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 848 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.identifierList) = (yyvsp[-2].interm.identifierList);
(yyval.interm.identifierList)->push_back((yyvsp[0].lex).string);
}
-#line 4991 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 4992 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 106:
-#line 854 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 855 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm).function = (yyvsp[-1].interm.function);
(yyval.interm).loc = (yyvsp[0].lex).loc;
}
-#line 5000 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 5001 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 107:
-#line 861 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 862 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.function) = (yyvsp[0].interm.function);
}
-#line 5008 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 5009 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 108:
-#line 864 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 865 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.function) = (yyvsp[0].interm.function);
}
-#line 5016 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 5017 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 109:
-#line 871 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 872 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
// Add the parameter
(yyval.interm.function) = (yyvsp[-1].interm.function);
else
delete (yyvsp[0].interm).param.type;
}
-#line 5029 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 5030 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 110:
-#line 879 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 880 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
//
// Only first parameter of one-parameter functions can be void
(yyvsp[-2].interm.function)->addParameter((yyvsp[0].interm).param);
}
}
-#line 5051 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 5052 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 111:
-#line 899 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 900 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
if ((yyvsp[-2].interm.type).qualifier.storage != EvqGlobal && (yyvsp[-2].interm.type).qualifier.storage != EvqTemporary) {
parseContext.error((yyvsp[-1].lex).loc, "no qualifiers allowed for function return",
function = new TFunction((yyvsp[-1].lex).string, type);
(yyval.interm.function) = function;
}
-#line 5075 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 5076 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 112:
-#line 922 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 923 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
if ((yyvsp[-1].interm.type).arraySizes) {
parseContext.profileRequires((yyvsp[-1].interm.type).loc, ENoProfile, 120, E_GL_3DL_array_objects, "arrayed type");
(yyval.interm).loc = (yyvsp[0].lex).loc;
(yyval.interm).param = param;
}
-#line 5095 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 5096 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 113:
-#line 937 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 938 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
if ((yyvsp[-2].interm.type).arraySizes) {
parseContext.profileRequires((yyvsp[-2].interm.type).loc, ENoProfile, 120, E_GL_3DL_array_objects, "arrayed type");
(yyval.interm).loc = (yyvsp[-1].lex).loc;
(yyval.interm).param = param;
}
-#line 5119 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 5120 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 114:
-#line 962 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 963 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm) = (yyvsp[0].interm);
if ((yyvsp[-1].interm.type).qualifier.precision != EpqNone)
parseContext.paramCheckFix((yyvsp[-1].interm.type).loc, (yyvsp[-1].interm.type).qualifier, *(yyval.interm).param.type);
}
-#line 5135 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 5136 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 115:
-#line 973 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 974 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm) = (yyvsp[0].interm);
parseContext.paramCheckFixStorage((yyvsp[0].interm).loc, EvqTemporary, *(yyval.interm).param.type);
parseContext.precisionQualifierCheck((yyval.interm).loc, (yyval.interm).param.type->getBasicType(), (yyval.interm).param.type->getQualifier());
}
-#line 5147 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 5148 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 116:
-#line 983 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 984 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm) = (yyvsp[0].interm);
if ((yyvsp[-1].interm.type).qualifier.precision != EpqNone)
parseContext.parameterTypeCheck((yyvsp[0].interm).loc, (yyvsp[-1].interm.type).qualifier.storage, *(yyval.interm).param.type);
parseContext.paramCheckFix((yyvsp[-1].interm.type).loc, (yyvsp[-1].interm.type).qualifier, *(yyval.interm).param.type);
}
-#line 5162 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 5163 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 117:
-#line 993 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 994 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm) = (yyvsp[0].interm);
parseContext.paramCheckFixStorage((yyvsp[0].interm).loc, EvqTemporary, *(yyval.interm).param.type);
parseContext.precisionQualifierCheck((yyval.interm).loc, (yyval.interm).param.type->getBasicType(), (yyval.interm).param.type->getQualifier());
}
-#line 5174 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 5175 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 118:
-#line 1003 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1004 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
TParameter param = { 0, new TType((yyvsp[0].interm.type)) };
(yyval.interm).param = param;
if ((yyvsp[0].interm.type).arraySizes)
parseContext.arraySizeRequiredCheck((yyvsp[0].interm.type).loc, *(yyvsp[0].interm.type).arraySizes);
}
-#line 5185 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 5186 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 119:
-#line 1012 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1013 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm) = (yyvsp[0].interm);
}
-#line 5193 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 5194 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 120:
-#line 1015 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1016 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm) = (yyvsp[-2].interm);
parseContext.declareVariable((yyvsp[0].lex).loc, *(yyvsp[0].lex).string, (yyvsp[-2].interm).type);
}
-#line 5202 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 5203 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 121:
-#line 1019 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1020 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm) = (yyvsp[-3].interm);
parseContext.declareVariable((yyvsp[-1].lex).loc, *(yyvsp[-1].lex).string, (yyvsp[-3].interm).type, (yyvsp[0].interm).arraySizes);
}
-#line 5211 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 5212 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 122:
-#line 1023 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1024 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm).type = (yyvsp[-5].interm).type;
TIntermNode* initNode = parseContext.declareVariable((yyvsp[-3].lex).loc, *(yyvsp[-3].lex).string, (yyvsp[-5].interm).type, (yyvsp[-2].interm).arraySizes, (yyvsp[0].interm.intermTypedNode));
(yyval.interm).intermNode = parseContext.intermediate.growAggregate((yyvsp[-5].interm).intermNode, initNode, (yyvsp[-1].lex).loc);
}
-#line 5221 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 5222 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 123:
-#line 1028 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1029 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm).type = (yyvsp[-4].interm).type;
TIntermNode* initNode = parseContext.declareVariable((yyvsp[-2].lex).loc, *(yyvsp[-2].lex).string, (yyvsp[-4].interm).type, 0, (yyvsp[0].interm.intermTypedNode));
(yyval.interm).intermNode = parseContext.intermediate.growAggregate((yyvsp[-4].interm).intermNode, initNode, (yyvsp[-1].lex).loc);
}
-#line 5231 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 5232 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 124:
-#line 1036 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1037 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm).type = (yyvsp[0].interm.type);
(yyval.interm).intermNode = 0;
parseContext.declareTypeDefaults((yyval.interm).loc, (yyval.interm).type);
}
-#line 5241 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 5242 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 125:
-#line 1041 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1042 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm).type = (yyvsp[-1].interm.type);
(yyval.interm).intermNode = 0;
parseContext.declareVariable((yyvsp[0].lex).loc, *(yyvsp[0].lex).string, (yyvsp[-1].interm.type));
}
-#line 5251 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 5252 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 126:
-#line 1046 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1047 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm).type = (yyvsp[-2].interm.type);
(yyval.interm).intermNode = 0;
parseContext.declareVariable((yyvsp[-1].lex).loc, *(yyvsp[-1].lex).string, (yyvsp[-2].interm.type), (yyvsp[0].interm).arraySizes);
}
-#line 5261 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 5262 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 127:
-#line 1051 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1052 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm).type = (yyvsp[-4].interm.type);
TIntermNode* initNode = parseContext.declareVariable((yyvsp[-3].lex).loc, *(yyvsp[-3].lex).string, (yyvsp[-4].interm.type), (yyvsp[-2].interm).arraySizes, (yyvsp[0].interm.intermTypedNode));
(yyval.interm).intermNode = parseContext.intermediate.growAggregate(0, initNode, (yyvsp[-1].lex).loc);
}
-#line 5271 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 5272 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 128:
-#line 1056 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1057 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm).type = (yyvsp[-3].interm.type);
TIntermNode* initNode = parseContext.declareVariable((yyvsp[-2].lex).loc, *(yyvsp[-2].lex).string, (yyvsp[-3].interm.type), 0, (yyvsp[0].interm.intermTypedNode));
(yyval.interm).intermNode = parseContext.intermediate.growAggregate(0, initNode, (yyvsp[-1].lex).loc);
}
-#line 5281 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 5282 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 129:
-#line 1065 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1066 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type) = (yyvsp[0].interm.type);
parseContext.precisionQualifierCheck((yyval.interm.type).loc, (yyval.interm.type).basicType, (yyval.interm.type).qualifier);
}
-#line 5297 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 5298 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 130:
-#line 1076 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1077 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.globalQualifierFixCheck((yyvsp[-1].interm.type).loc, (yyvsp[-1].interm.type).qualifier);
parseContext.globalQualifierTypeCheck((yyvsp[-1].interm.type).loc, (yyvsp[-1].interm.type).qualifier, (yyvsp[0].interm.type));
(parseContext.language == EShLangFragment && (yyval.interm.type).qualifier.storage == EvqVaryingIn)))
(yyval.interm.type).qualifier.smooth = true;
}
-#line 5326 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 5327 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 131:
-#line 1103 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1104 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.globalCheck((yyvsp[0].lex).loc, "invariant");
parseContext.profileRequires((yyval.interm.type).loc, ENoProfile, 120, 0, "invariant");
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.invariant = true;
}
-#line 5337 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 5338 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 132:
-#line 1112 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1113 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.globalCheck((yyvsp[0].lex).loc, "smooth");
parseContext.profileRequires((yyvsp[0].lex).loc, ENoProfile, 130, 0, "smooth");
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.smooth = true;
}
-#line 5349 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 5350 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 133:
-#line 1119 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1120 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.globalCheck((yyvsp[0].lex).loc, "flat");
parseContext.profileRequires((yyvsp[0].lex).loc, ENoProfile, 130, 0, "flat");
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.flat = true;
}
-#line 5361 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 5362 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 134:
-#line 1126 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1127 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.globalCheck((yyvsp[0].lex).loc, "noperspective");
#ifdef NV_EXTENSIONS
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.nopersp = true;
}
-#line 5377 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 5378 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 135:
-#line 1137 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1138 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
#ifdef AMD_EXTENSIONS
parseContext.globalCheck((yyvsp[0].lex).loc, "__explicitInterpAMD");
(yyval.interm.type).qualifier.explicitInterp = true;
#endif
}
-#line 5391 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 5392 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 136:
-#line 1149 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1150 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type) = (yyvsp[-1].interm.type);
}
-#line 5399 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 5400 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 137:
-#line 1155 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1156 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type) = (yyvsp[0].interm.type);
}
-#line 5407 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 5408 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 138:
-#line 1158 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1159 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type) = (yyvsp[-2].interm.type);
(yyval.interm.type).shaderQualifiers.merge((yyvsp[0].interm.type).shaderQualifiers);
parseContext.mergeObjectLayoutQualifiers((yyval.interm.type).qualifier, (yyvsp[0].interm.type).qualifier, false);
}
-#line 5417 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 5418 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 139:
-#line 1165 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1166 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc);
parseContext.setLayoutQualifier((yyvsp[0].lex).loc, (yyval.interm.type), *(yyvsp[0].lex).string);
}
-#line 5426 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 5427 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 140:
-#line 1169 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1170 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[-2].lex).loc);
parseContext.setLayoutQualifier((yyvsp[-2].lex).loc, (yyval.interm.type), *(yyvsp[-2].lex).string, (yyvsp[0].interm.intermTypedNode));
}
-#line 5435 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 5436 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 141:
-#line 1173 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1174 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{ // because "shared" is both an identifier and a keyword
(yyval.interm.type).init((yyvsp[0].lex).loc);
TString strShared("shared");
parseContext.setLayoutQualifier((yyvsp[0].lex).loc, (yyval.interm.type), strShared);
}
-#line 5445 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 5446 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 142:
-#line 1181 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1182 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.profileRequires((yyval.interm.type).loc, ECoreProfile | ECompatibilityProfile, 400, E_GL_ARB_gpu_shader5, "precise");
parseContext.profileRequires((yyvsp[0].lex).loc, EEsProfile, 320, Num_AEP_gpu_shader5, AEP_gpu_shader5, "precise");
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.noContraction = true;
}
-#line 5456 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 5457 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 143:
-#line 1190 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1191 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type) = (yyvsp[0].interm.type);
}
-#line 5464 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 5465 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 144:
-#line 1193 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1194 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type) = (yyvsp[-1].interm.type);
if ((yyval.interm.type).basicType == EbtVoid)
(yyval.interm.type).shaderQualifiers.merge((yyvsp[0].interm.type).shaderQualifiers);
parseContext.mergeQualifiers((yyval.interm.type).loc, (yyval.interm.type).qualifier, (yyvsp[0].interm.type).qualifier, false);
}
-#line 5477 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 5478 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 145:
-#line 1204 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1205 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type) = (yyvsp[0].interm.type);
}
-#line 5485 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 5486 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 146:
-#line 1207 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1208 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type) = (yyvsp[0].interm.type);
}
-#line 5493 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 5494 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 147:
-#line 1210 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1211 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.checkPrecisionQualifier((yyvsp[0].interm.type).loc, (yyvsp[0].interm.type).qualifier.precision);
(yyval.interm.type) = (yyvsp[0].interm.type);
}
-#line 5502 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 5503 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 148:
-#line 1214 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1215 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
// allow inheritance of storage qualifier from block declaration
(yyval.interm.type) = (yyvsp[0].interm.type);
}
-#line 5511 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 5512 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 149:
-#line 1218 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1219 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
// allow inheritance of storage qualifier from block declaration
(yyval.interm.type) = (yyvsp[0].interm.type);
}
-#line 5520 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 5521 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 150:
-#line 1222 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1223 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
// allow inheritance of storage qualifier from block declaration
(yyval.interm.type) = (yyvsp[0].interm.type);
}
-#line 5529 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 5530 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 151:
-#line 1226 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1227 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type) = (yyvsp[0].interm.type);
}
-#line 5537 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 5538 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 152:
-#line 1232 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1233 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.storage = EvqConst; // will later turn into EvqConstReadOnly, if the initializer is not constant
}
-#line 5546 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 5547 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 153:
-#line 1236 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1237 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.requireStage((yyvsp[0].lex).loc, EShLangVertex, "attribute");
parseContext.checkDeprecated((yyvsp[0].lex).loc, ECoreProfile, 130, "attribute");
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.storage = EvqVaryingIn;
}
-#line 5563 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 5564 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 154:
-#line 1248 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1249 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.checkDeprecated((yyvsp[0].lex).loc, ENoProfile, 130, "varying");
parseContext.checkDeprecated((yyvsp[0].lex).loc, ECoreProfile, 130, "varying");
else
(yyval.interm.type).qualifier.storage = EvqVaryingIn;
}
-#line 5582 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 5583 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 155:
-#line 1262 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1263 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.globalCheck((yyvsp[0].lex).loc, "inout");
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.storage = EvqInOut;
}
-#line 5592 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 5593 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 156:
-#line 1267 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1268 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.globalCheck((yyvsp[0].lex).loc, "in");
(yyval.interm.type).init((yyvsp[0].lex).loc);
// whether this is a parameter "in" or a pipeline "in" will get sorted out a bit later
(yyval.interm.type).qualifier.storage = EvqIn;
}
-#line 5603 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 5604 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 157:
-#line 1273 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1274 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.globalCheck((yyvsp[0].lex).loc, "out");
(yyval.interm.type).init((yyvsp[0].lex).loc);
// whether this is a parameter "out" or a pipeline "out" will get sorted out a bit later
(yyval.interm.type).qualifier.storage = EvqOut;
}
-#line 5614 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 5615 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 158:
-#line 1279 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1280 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.profileRequires((yyvsp[0].lex).loc, ENoProfile, 120, 0, "centroid");
parseContext.profileRequires((yyvsp[0].lex).loc, EEsProfile, 300, 0, "centroid");
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.centroid = true;
}
-#line 5626 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 5627 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 159:
-#line 1286 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1287 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.globalCheck((yyvsp[0].lex).loc, "patch");
parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangTessControlMask | EShLangTessEvaluationMask), "patch");
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.patch = true;
}
-#line 5637 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 5638 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 160:
-#line 1292 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1293 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.globalCheck((yyvsp[0].lex).loc, "sample");
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.sample = true;
}
-#line 5647 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 5648 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 161:
-#line 1297 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1298 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.globalCheck((yyvsp[0].lex).loc, "uniform");
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.storage = EvqUniform;
}
-#line 5657 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 5658 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 162:
-#line 1302 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1303 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.globalCheck((yyvsp[0].lex).loc, "buffer");
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.storage = EvqBuffer;
}
-#line 5667 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 5668 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 163:
-#line 1307 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1308 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.globalCheck((yyvsp[0].lex).loc, "shared");
parseContext.profileRequires((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, 430, E_GL_ARB_compute_shader, "shared");
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.storage = EvqShared;
}
-#line 5680 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 5681 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 164:
-#line 1315 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1316 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.coherent = true;
}
-#line 5689 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 5690 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 165:
-#line 1319 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1320 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.volatil = true;
}
-#line 5698 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 5699 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 166:
-#line 1323 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1324 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.restrict = true;
}
-#line 5707 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 5708 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 167:
-#line 1327 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1328 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.readonly = true;
}
-#line 5716 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 5717 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 168:
-#line 1331 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1332 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.writeonly = true;
}
-#line 5725 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 5726 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 169:
-#line 1335 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1336 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.spvRemoved((yyvsp[0].lex).loc, "subroutine");
parseContext.globalCheck((yyvsp[0].lex).loc, "subroutine");
parseContext.unimplemented((yyvsp[0].lex).loc, "subroutine");
(yyval.interm.type).init((yyvsp[0].lex).loc);
}
-#line 5736 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 5737 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 170:
-#line 1341 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1342 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.spvRemoved((yyvsp[-3].lex).loc, "subroutine");
parseContext.globalCheck((yyvsp[-3].lex).loc, "subroutine");
parseContext.unimplemented((yyvsp[-3].lex).loc, "subroutine");
(yyval.interm.type).init((yyvsp[-3].lex).loc);
}
-#line 5747 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 5748 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 171:
-#line 1350 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1351 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc);
(yyval.interm.type).qualifier.nonUniform = true;
}
-#line 5756 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 5757 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 172:
-#line 1357 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1358 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
// TODO
}
-#line 5764 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 5765 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 173:
-#line 1360 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1361 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
// TODO: 4.0 semantics: subroutines
// 1) make sure each identifier is a type declared earlier with SUBROUTINE
// 2) save all of the identifiers for future comparison with the declared function
}
-#line 5774 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 5775 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 174:
-#line 1368 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1369 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type) = (yyvsp[0].interm.type);
(yyval.interm.type).qualifier.precision = parseContext.getDefaultPrecision((yyval.interm.type));
}
-#line 5783 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 5784 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 175:
-#line 1372 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1373 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.arrayOfArrayVersionCheck((yyvsp[0].interm).loc, (yyvsp[0].interm).arraySizes);
(yyval.interm.type) = (yyvsp[-1].interm.type);
(yyval.interm.type).qualifier.precision = parseContext.getDefaultPrecision((yyval.interm.type));
(yyval.interm.type).arraySizes = (yyvsp[0].interm).arraySizes;
}
-#line 5794 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 5795 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 176:
-#line 1381 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1382 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm).loc = (yyvsp[-1].lex).loc;
(yyval.interm).arraySizes = new TArraySizes;
(yyval.interm).arraySizes->addInnerSize();
}
-#line 5804 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 5805 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 177:
-#line 1386 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1387 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm).loc = (yyvsp[-2].lex).loc;
(yyval.interm).arraySizes = new TArraySizes;
parseContext.arraySizeCheck((yyvsp[-1].interm.intermTypedNode)->getLoc(), (yyvsp[-1].interm.intermTypedNode), size);
(yyval.interm).arraySizes->addInnerSize(size);
}
-#line 5817 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 5818 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 178:
-#line 1394 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1395 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm) = (yyvsp[-2].interm);
(yyval.interm).arraySizes->addInnerSize();
}
-#line 5826 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 5827 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 179:
-#line 1398 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1399 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm) = (yyvsp[-3].interm);
parseContext.arraySizeCheck((yyvsp[-1].interm.intermTypedNode)->getLoc(), (yyvsp[-1].interm.intermTypedNode), size);
(yyval.interm).arraySizes->addInnerSize(size);
}
-#line 5838 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 5839 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 180:
-#line 1408 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1409 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtVoid;
}
-#line 5847 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 5848 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 181:
-#line 1412 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1413 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
}
-#line 5856 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 5857 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 182:
-#line 1416 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1417 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.doubleCheck((yyvsp[0].lex).loc, "double");
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtDouble;
}
-#line 5866 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 5867 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 183:
-#line 1421 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1422 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
- parseContext.float16Check((yyvsp[0].lex).loc, "float16_t", parseContext.symbolTable.atBuiltInLevel());
+ parseContext.float16ScalarVectorCheck((yyvsp[0].lex).loc, "float16_t", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat16;
}
-#line 5876 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 5877 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 184:
-#line 1426 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1427 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
}
-#line 5886 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 5887 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 185:
-#line 1431 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1432 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtDouble;
}
-#line 5896 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 5897 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 186:
-#line 1436 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1437 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtInt;
}
-#line 5905 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 5906 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 187:
-#line 1440 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1441 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "unsigned integer");
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtUint;
}
-#line 5915 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 5916 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 188:
-#line 1445 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1446 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
- parseContext.explicitInt8Check((yyvsp[0].lex).loc, "8-bit signed integer", parseContext.symbolTable.atBuiltInLevel());
+ parseContext.int8ScalarVectorCheck((yyvsp[0].lex).loc, "8-bit signed integer", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtInt8;
}
-#line 5925 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 5926 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 189:
-#line 1450 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1451 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
- parseContext.explicitInt8Check((yyvsp[0].lex).loc, "8-bit unsigned integer", parseContext.symbolTable.atBuiltInLevel());
+ parseContext.int8ScalarVectorCheck((yyvsp[0].lex).loc, "8-bit unsigned integer", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtUint8;
}
-#line 5935 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 5936 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 190:
-#line 1455 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1456 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
- parseContext.explicitInt16Check((yyvsp[0].lex).loc, "16-bit signed integer", parseContext.symbolTable.atBuiltInLevel());
+ parseContext.int16ScalarVectorCheck((yyvsp[0].lex).loc, "16-bit signed integer", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtInt16;
}
-#line 5945 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 5946 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 191:
-#line 1460 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1461 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
- parseContext.explicitInt16Check((yyvsp[0].lex).loc, "16-bit unsigned integer", parseContext.symbolTable.atBuiltInLevel());
+ parseContext.int16ScalarVectorCheck((yyvsp[0].lex).loc, "16-bit unsigned integer", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtUint16;
}
-#line 5955 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 5956 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 192:
-#line 1465 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1466 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit signed integer", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtInt;
}
-#line 5965 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 5966 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 193:
-#line 1470 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1471 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit unsigned integer", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtUint;
}
-#line 5975 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 5976 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 194:
-#line 1475 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1476 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.int64Check((yyvsp[0].lex).loc, "64-bit integer", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtInt64;
}
-#line 5985 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 5986 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 195:
-#line 1480 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1481 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.int64Check((yyvsp[0].lex).loc, "64-bit unsigned integer", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtUint64;
}
-#line 5995 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 5996 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 196:
-#line 1485 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1486 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtBool;
}
-#line 6004 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 6005 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 197:
-#line 1489 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1490 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
(yyval.interm.type).setVector(2);
}
-#line 6014 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 6015 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 198:
-#line 1494 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1495 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
(yyval.interm.type).setVector(3);
}
-#line 6024 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 6025 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 199:
-#line 1499 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1500 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
(yyval.interm.type).setVector(4);
}
-#line 6034 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 6035 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 200:
-#line 1504 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1505 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.doubleCheck((yyvsp[0].lex).loc, "double vector");
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setVector(2);
}
-#line 6045 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 6046 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 201:
-#line 1510 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1511 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.doubleCheck((yyvsp[0].lex).loc, "double vector");
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setVector(3);
}
-#line 6056 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 6057 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 202:
-#line 1516 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1517 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.doubleCheck((yyvsp[0].lex).loc, "double vector");
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setVector(4);
}
-#line 6067 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 6068 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 203:
-#line 1522 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1523 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
- parseContext.float16Check((yyvsp[0].lex).loc, "half float vector", parseContext.symbolTable.atBuiltInLevel());
+ parseContext.float16ScalarVectorCheck((yyvsp[0].lex).loc, "half float vector", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat16;
(yyval.interm.type).setVector(2);
}
-#line 6078 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 6079 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 204:
-#line 1528 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1529 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
- parseContext.float16Check((yyvsp[0].lex).loc, "half float vector", parseContext.symbolTable.atBuiltInLevel());
+ parseContext.float16ScalarVectorCheck((yyvsp[0].lex).loc, "half float vector", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat16;
(yyval.interm.type).setVector(3);
}
-#line 6089 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 6090 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 205:
-#line 1534 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1535 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
- parseContext.float16Check((yyvsp[0].lex).loc, "half float vector", parseContext.symbolTable.atBuiltInLevel());
+ parseContext.float16ScalarVectorCheck((yyvsp[0].lex).loc, "half float vector", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat16;
(yyval.interm.type).setVector(4);
}
-#line 6100 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 6101 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 206:
-#line 1540 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1541 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t vector", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
(yyval.interm.type).setVector(2);
}
-#line 6111 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 6112 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 207:
-#line 1546 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1547 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t vector", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
(yyval.interm.type).setVector(3);
}
-#line 6122 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 6123 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 208:
-#line 1552 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1553 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t vector", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
(yyval.interm.type).setVector(4);
}
-#line 6133 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 6134 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 209:
-#line 1558 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1559 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t vector", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setVector(2);
}
-#line 6144 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 6145 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 210:
-#line 1564 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1565 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t vector", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setVector(3);
}
-#line 6155 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 6156 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 211:
-#line 1570 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1571 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t vector", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setVector(4);
}
-#line 6166 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 6167 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 212:
-#line 1576 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1577 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtBool;
(yyval.interm.type).setVector(2);
}
-#line 6176 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 6177 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 213:
-#line 1581 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1582 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtBool;
(yyval.interm.type).setVector(3);
}
-#line 6186 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 6187 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 214:
-#line 1586 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1587 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtBool;
(yyval.interm.type).setVector(4);
}
-#line 6196 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 6197 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 215:
-#line 1591 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1592 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtInt;
(yyval.interm.type).setVector(2);
}
-#line 6206 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 6207 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 216:
-#line 1596 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1597 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtInt;
(yyval.interm.type).setVector(3);
}
-#line 6216 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 6217 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 217:
-#line 1601 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1602 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtInt;
(yyval.interm.type).setVector(4);
}
-#line 6226 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 6227 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 218:
-#line 1606 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1607 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
- parseContext.explicitInt8Check((yyvsp[0].lex).loc, "8-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
- (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
- (yyval.interm.type).basicType = EbtInt8;
- (yyval.interm.type).setVector(2);
+ parseContext.int8ScalarVectorCheck((yyvsp[0].lex).loc, "8-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
+ (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+ (yyval.interm.type).basicType = EbtInt8;
+ (yyval.interm.type).setVector(2);
}
-#line 6237 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 6238 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 219:
-#line 1612 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1613 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
- parseContext.explicitInt8Check((yyvsp[0].lex).loc, "8-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
- (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
- (yyval.interm.type).basicType = EbtInt8;
- (yyval.interm.type).setVector(3);
+ parseContext.int8ScalarVectorCheck((yyvsp[0].lex).loc, "8-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
+ (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+ (yyval.interm.type).basicType = EbtInt8;
+ (yyval.interm.type).setVector(3);
}
-#line 6248 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 6249 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 220:
-#line 1618 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1619 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
- parseContext.explicitInt8Check((yyvsp[0].lex).loc, "8-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
- (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
- (yyval.interm.type).basicType = EbtInt8;
- (yyval.interm.type).setVector(4);
+ parseContext.int8ScalarVectorCheck((yyvsp[0].lex).loc, "8-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
+ (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+ (yyval.interm.type).basicType = EbtInt8;
+ (yyval.interm.type).setVector(4);
}
-#line 6259 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 6260 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 221:
-#line 1624 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1625 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
- parseContext.explicitInt16Check((yyvsp[0].lex).loc, "16-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
- (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
- (yyval.interm.type).basicType = EbtInt16;
- (yyval.interm.type).setVector(2);
+ parseContext.int16ScalarVectorCheck((yyvsp[0].lex).loc, "16-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
+ (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+ (yyval.interm.type).basicType = EbtInt16;
+ (yyval.interm.type).setVector(2);
}
-#line 6270 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 6271 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 222:
-#line 1630 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1631 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
- parseContext.explicitInt16Check((yyvsp[0].lex).loc, "16-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
- (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
- (yyval.interm.type).basicType = EbtInt16;
- (yyval.interm.type).setVector(3);
+ parseContext.int16ScalarVectorCheck((yyvsp[0].lex).loc, "16-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
+ (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+ (yyval.interm.type).basicType = EbtInt16;
+ (yyval.interm.type).setVector(3);
}
-#line 6281 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 6282 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 223:
-#line 1636 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1637 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
- parseContext.explicitInt16Check((yyvsp[0].lex).loc, "16-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
- (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
- (yyval.interm.type).basicType = EbtInt16;
- (yyval.interm.type).setVector(4);
+ parseContext.int16ScalarVectorCheck((yyvsp[0].lex).loc, "16-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
+ (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+ (yyval.interm.type).basicType = EbtInt16;
+ (yyval.interm.type).setVector(4);
}
-#line 6292 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 6293 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 224:
-#line 1642 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1643 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtInt;
(yyval.interm.type).setVector(2);
}
-#line 6303 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 6304 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 225:
-#line 1648 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1649 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtInt;
(yyval.interm.type).setVector(3);
}
-#line 6314 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 6315 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 226:
-#line 1654 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1655 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtInt;
(yyval.interm.type).setVector(4);
}
-#line 6325 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 6326 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 227:
-#line 1660 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1661 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.int64Check((yyvsp[0].lex).loc, "64-bit integer vector", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtInt64;
(yyval.interm.type).setVector(2);
}
-#line 6336 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 6337 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 228:
-#line 1666 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1667 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.int64Check((yyvsp[0].lex).loc, "64-bit integer vector", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtInt64;
(yyval.interm.type).setVector(3);
}
-#line 6347 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 6348 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 229:
-#line 1672 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1673 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.int64Check((yyvsp[0].lex).loc, "64-bit integer vector", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtInt64;
(yyval.interm.type).setVector(4);
}
-#line 6358 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 6359 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 230:
-#line 1678 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1679 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "unsigned integer vector");
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtUint;
(yyval.interm.type).setVector(2);
}
-#line 6369 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 6370 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 231:
-#line 1684 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1685 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "unsigned integer vector");
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtUint;
(yyval.interm.type).setVector(3);
}
-#line 6380 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 6381 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 232:
-#line 1690 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1691 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "unsigned integer vector");
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtUint;
(yyval.interm.type).setVector(4);
}
-#line 6391 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 6392 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 233:
-#line 1696 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1697 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
- parseContext.explicitInt8Check((yyvsp[0].lex).loc, "8-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
+ parseContext.int8ScalarVectorCheck((yyvsp[0].lex).loc, "8-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtUint8;
(yyval.interm.type).setVector(2);
}
-#line 6402 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 6403 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 234:
-#line 1702 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1703 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
- parseContext.explicitInt8Check((yyvsp[0].lex).loc, "8-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
+ parseContext.int8ScalarVectorCheck((yyvsp[0].lex).loc, "8-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
- (yyval.interm.type).basicType = EbtInt8;
+ (yyval.interm.type).basicType = EbtUint8;
(yyval.interm.type).setVector(3);
}
-#line 6413 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 6414 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 235:
-#line 1708 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1709 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
- parseContext.explicitInt8Check((yyvsp[0].lex).loc, "8-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
+ parseContext.int8ScalarVectorCheck((yyvsp[0].lex).loc, "8-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtUint8;
(yyval.interm.type).setVector(4);
}
-#line 6424 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 6425 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 236:
-#line 1714 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1715 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
- parseContext.explicitInt16Check((yyvsp[0].lex).loc, "16-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
+ parseContext.int16ScalarVectorCheck((yyvsp[0].lex).loc, "16-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtUint16;
(yyval.interm.type).setVector(2);
}
-#line 6435 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 6436 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 237:
-#line 1720 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1721 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
- parseContext.explicitInt16Check((yyvsp[0].lex).loc, "16-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
+ parseContext.int16ScalarVectorCheck((yyvsp[0].lex).loc, "16-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtUint16;
(yyval.interm.type).setVector(3);
}
-#line 6446 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 6447 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 238:
-#line 1726 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1727 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
- parseContext.explicitInt16Check((yyvsp[0].lex).loc, "16-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
+ parseContext.int16ScalarVectorCheck((yyvsp[0].lex).loc, "16-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtUint16;
(yyval.interm.type).setVector(4);
}
-#line 6457 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 6458 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 239:
-#line 1732 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1733 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtUint;
(yyval.interm.type).setVector(2);
}
-#line 6468 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 6469 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 240:
-#line 1738 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1739 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtUint;
(yyval.interm.type).setVector(3);
}
-#line 6479 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 6480 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 241:
-#line 1744 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1745 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtUint;
(yyval.interm.type).setVector(4);
}
-#line 6490 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 6491 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 242:
-#line 1750 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1751 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.int64Check((yyvsp[0].lex).loc, "64-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtUint64;
(yyval.interm.type).setVector(2);
}
-#line 6501 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 6502 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 243:
-#line 1756 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1757 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.int64Check((yyvsp[0].lex).loc, "64-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtUint64;
(yyval.interm.type).setVector(3);
}
-#line 6512 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 6513 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 244:
-#line 1762 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1763 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.int64Check((yyvsp[0].lex).loc, "64-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtUint64;
(yyval.interm.type).setVector(4);
}
-#line 6523 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 6524 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 245:
-#line 1768 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1769 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
(yyval.interm.type).setMatrix(2, 2);
}
-#line 6533 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 6534 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 246:
-#line 1773 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1774 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
(yyval.interm.type).setMatrix(3, 3);
}
-#line 6543 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 6544 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 247:
-#line 1778 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1779 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
(yyval.interm.type).setMatrix(4, 4);
}
-#line 6553 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 6554 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 248:
-#line 1783 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1784 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
(yyval.interm.type).setMatrix(2, 2);
}
-#line 6563 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 6564 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 249:
-#line 1788 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1789 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
(yyval.interm.type).setMatrix(2, 3);
}
-#line 6573 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 6574 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 250:
-#line 1793 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1794 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
(yyval.interm.type).setMatrix(2, 4);
}
-#line 6583 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 6584 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 251:
-#line 1798 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1799 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
(yyval.interm.type).setMatrix(3, 2);
}
-#line 6593 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 6594 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 252:
-#line 1803 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1804 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
(yyval.interm.type).setMatrix(3, 3);
}
-#line 6603 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 6604 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 253:
-#line 1808 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1809 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
(yyval.interm.type).setMatrix(3, 4);
}
-#line 6613 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 6614 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 254:
-#line 1813 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1814 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
(yyval.interm.type).setMatrix(4, 2);
}
-#line 6623 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 6624 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 255:
-#line 1818 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1819 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
(yyval.interm.type).setMatrix(4, 3);
}
-#line 6633 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 6634 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 256:
-#line 1823 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1824 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
(yyval.interm.type).setMatrix(4, 4);
}
-#line 6643 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 6644 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 257:
-#line 1828 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1829 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setMatrix(2, 2);
}
-#line 6654 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 6655 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 258:
-#line 1834 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1835 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setMatrix(3, 3);
}
-#line 6665 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 6666 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 259:
-#line 1840 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1841 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setMatrix(4, 4);
}
-#line 6676 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 6677 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 260:
-#line 1846 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1847 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setMatrix(2, 2);
}
-#line 6687 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 6688 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 261:
-#line 1852 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1853 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setMatrix(2, 3);
}
-#line 6698 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 6699 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 262:
-#line 1858 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1859 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setMatrix(2, 4);
}
-#line 6709 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 6710 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 263:
-#line 1864 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1865 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setMatrix(3, 2);
}
-#line 6720 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 6721 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 264:
-#line 1870 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1871 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setMatrix(3, 3);
}
-#line 6731 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 6732 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 265:
-#line 1876 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1877 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setMatrix(3, 4);
}
-#line 6742 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 6743 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 266:
-#line 1882 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1883 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setMatrix(4, 2);
}
-#line 6753 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 6754 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 267:
-#line 1888 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1889 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setMatrix(4, 3);
}
-#line 6764 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 6765 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 268:
-#line 1894 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1895 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setMatrix(4, 4);
}
-#line 6775 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 6776 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 269:
-#line 1900 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1901 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat16;
(yyval.interm.type).setMatrix(2, 2);
}
-#line 6786 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 6787 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 270:
-#line 1906 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1907 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat16;
(yyval.interm.type).setMatrix(3, 3);
}
-#line 6797 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 6798 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 271:
-#line 1912 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1913 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat16;
(yyval.interm.type).setMatrix(4, 4);
}
-#line 6808 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 6809 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 272:
-#line 1918 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1919 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat16;
(yyval.interm.type).setMatrix(2, 2);
}
-#line 6819 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 6820 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 273:
-#line 1924 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1925 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat16;
(yyval.interm.type).setMatrix(2, 3);
}
-#line 6830 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 6831 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 274:
-#line 1930 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1931 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat16;
(yyval.interm.type).setMatrix(2, 4);
}
-#line 6841 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 6842 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 275:
-#line 1936 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1937 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat16;
(yyval.interm.type).setMatrix(3, 2);
}
-#line 6852 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 6853 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 276:
-#line 1942 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1943 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat16;
(yyval.interm.type).setMatrix(3, 3);
}
-#line 6863 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 6864 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 277:
-#line 1948 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1949 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat16;
(yyval.interm.type).setMatrix(3, 4);
}
-#line 6874 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 6875 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 278:
-#line 1954 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1955 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat16;
(yyval.interm.type).setMatrix(4, 2);
}
-#line 6885 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 6886 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 279:
-#line 1960 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1961 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat16;
(yyval.interm.type).setMatrix(4, 3);
}
-#line 6896 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 6897 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 280:
-#line 1966 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1967 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat16;
(yyval.interm.type).setMatrix(4, 4);
}
-#line 6907 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 6908 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 281:
-#line 1972 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1973 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
(yyval.interm.type).setMatrix(2, 2);
}
-#line 6918 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 6919 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 282:
-#line 1978 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1979 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
(yyval.interm.type).setMatrix(3, 3);
}
-#line 6929 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 6930 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 283:
-#line 1984 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1985 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
(yyval.interm.type).setMatrix(4, 4);
}
-#line 6940 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 6941 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 284:
-#line 1990 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1991 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
(yyval.interm.type).setMatrix(2, 2);
}
-#line 6951 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 6952 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 285:
-#line 1996 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 1997 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
(yyval.interm.type).setMatrix(2, 3);
}
-#line 6962 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 6963 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 286:
-#line 2002 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2003 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
(yyval.interm.type).setMatrix(2, 4);
}
-#line 6973 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 6974 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 287:
-#line 2008 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2009 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
(yyval.interm.type).setMatrix(3, 2);
}
-#line 6984 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 6985 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 288:
-#line 2014 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2015 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
(yyval.interm.type).setMatrix(3, 3);
}
-#line 6995 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 6996 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 289:
-#line 2020 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2021 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
(yyval.interm.type).setMatrix(3, 4);
}
-#line 7006 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7007 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 290:
-#line 2026 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2027 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
(yyval.interm.type).setMatrix(4, 2);
}
-#line 7017 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7018 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 291:
-#line 2032 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2033 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
(yyval.interm.type).setMatrix(4, 3);
}
-#line 7028 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7029 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 292:
-#line 2038 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2039 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtFloat;
(yyval.interm.type).setMatrix(4, 4);
}
-#line 7039 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7040 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 293:
-#line 2044 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2045 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setMatrix(2, 2);
}
-#line 7050 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7051 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 294:
-#line 2050 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2051 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setMatrix(3, 3);
}
-#line 7061 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7062 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 295:
-#line 2056 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2057 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setMatrix(4, 4);
}
-#line 7072 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7073 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 296:
-#line 2062 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2063 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setMatrix(2, 2);
}
-#line 7083 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7084 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 297:
-#line 2068 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2069 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setMatrix(2, 3);
}
-#line 7094 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7095 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 298:
-#line 2074 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2075 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setMatrix(2, 4);
}
-#line 7105 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7106 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 299:
-#line 2080 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2081 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setMatrix(3, 2);
}
-#line 7116 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7117 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 300:
-#line 2086 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2087 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setMatrix(3, 3);
}
-#line 7127 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7128 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 301:
-#line 2092 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2093 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setMatrix(3, 4);
}
-#line 7138 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7139 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 302:
-#line 2098 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2099 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setMatrix(4, 2);
}
-#line 7149 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7150 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 303:
-#line 2104 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2105 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setMatrix(4, 3);
}
-#line 7160 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7161 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 304:
-#line 2110 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2111 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtDouble;
(yyval.interm.type).setMatrix(4, 4);
}
-#line 7171 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7172 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 305:
-#line 2116 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2117 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.vulkanRemoved((yyvsp[0].lex).loc, "atomic counter types");
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtAtomicUint;
}
-#line 7181 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7182 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 306:
-#line 2121 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2122 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat, Esd1D);
}
-#line 7191 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7192 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 307:
-#line 2126 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2127 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat, Esd2D);
}
-#line 7201 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7202 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 308:
-#line 2131 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2132 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat, Esd3D);
}
-#line 7211 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7212 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 309:
-#line 2136 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2137 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat, EsdCube);
}
-#line 7221 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7222 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 310:
-#line 2141 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2142 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat, Esd1D, false, true);
}
-#line 7231 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7232 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 311:
-#line 2146 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2147 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat, Esd2D, false, true);
}
-#line 7241 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7242 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 312:
-#line 2151 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2152 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat, EsdCube, false, true);
}
-#line 7251 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7252 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 313:
-#line 2156 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2157 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat, Esd1D, true);
}
-#line 7261 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7262 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 314:
-#line 2161 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2162 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat, Esd2D, true);
}
-#line 7271 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7272 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 315:
-#line 2166 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2167 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat, Esd1D, true, true);
}
-#line 7281 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7282 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 316:
-#line 2171 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2172 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat, Esd2D, true, true);
}
-#line 7291 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7292 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 317:
-#line 2176 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2177 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat, EsdCube, true);
}
-#line 7301 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7302 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 318:
-#line 2181 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2182 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat, EsdCube, true, true);
}
-#line 7311 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7312 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 319:
-#line 2186 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2187 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
#ifdef AMD_EXTENSIONS
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).sampler.set(EbtFloat16, Esd1D);
#endif
}
-#line 7324 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7325 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 320:
-#line 2194 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2195 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
#ifdef AMD_EXTENSIONS
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).sampler.set(EbtFloat16, Esd2D);
#endif
}
-#line 7337 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7338 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 321:
-#line 2202 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2203 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
#ifdef AMD_EXTENSIONS
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).sampler.set(EbtFloat16, Esd3D);
#endif
}
-#line 7350 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7351 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 322:
-#line 2210 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2211 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
#ifdef AMD_EXTENSIONS
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).sampler.set(EbtFloat16, EsdCube);
#endif
}
-#line 7363 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7364 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 323:
-#line 2218 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2219 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
#ifdef AMD_EXTENSIONS
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).sampler.set(EbtFloat16, Esd1D, false, true);
#endif
}
-#line 7376 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7377 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 324:
-#line 2226 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2227 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
#ifdef AMD_EXTENSIONS
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).sampler.set(EbtFloat16, Esd2D, false, true);
#endif
}
-#line 7389 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7390 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 325:
-#line 2234 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2235 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
#ifdef AMD_EXTENSIONS
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).sampler.set(EbtFloat16, EsdCube, false, true);
#endif
}
-#line 7402 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7403 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 326:
-#line 2242 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2243 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
#ifdef AMD_EXTENSIONS
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).sampler.set(EbtFloat16, Esd1D, true);
#endif
}
-#line 7415 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7416 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 327:
-#line 2250 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2251 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
#ifdef AMD_EXTENSIONS
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).sampler.set(EbtFloat16, Esd2D, true);
#endif
}
-#line 7428 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7429 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 328:
-#line 2258 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2259 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
#ifdef AMD_EXTENSIONS
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).sampler.set(EbtFloat16, Esd1D, true, true);
#endif
}
-#line 7441 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7442 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 329:
-#line 2266 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2267 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
#ifdef AMD_EXTENSIONS
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).sampler.set(EbtFloat16, Esd2D, true, true);
#endif
}
-#line 7454 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7455 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 330:
-#line 2274 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2275 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
#ifdef AMD_EXTENSIONS
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).sampler.set(EbtFloat16, EsdCube, true);
#endif
}
-#line 7467 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7468 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 331:
-#line 2282 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2283 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
#ifdef AMD_EXTENSIONS
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).sampler.set(EbtFloat16, EsdCube, true, true);
#endif
}
-#line 7480 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7481 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 332:
-#line 2290 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2291 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtInt, Esd1D);
}
-#line 7490 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7491 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 333:
-#line 2295 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2296 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtInt, Esd2D);
}
-#line 7500 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7501 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 334:
-#line 2300 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2301 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtInt, Esd3D);
}
-#line 7510 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7511 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 335:
-#line 2305 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2306 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtInt, EsdCube);
}
-#line 7520 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7521 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 336:
-#line 2310 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2311 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtInt, Esd1D, true);
}
-#line 7530 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7531 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 337:
-#line 2315 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2316 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtInt, Esd2D, true);
}
-#line 7540 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7541 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 338:
-#line 2320 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2321 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtInt, EsdCube, true);
}
-#line 7550 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7551 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 339:
-#line 2325 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2326 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtUint, Esd1D);
}
-#line 7560 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7561 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 340:
-#line 2330 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2331 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtUint, Esd2D);
}
-#line 7570 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7571 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 341:
-#line 2335 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2336 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtUint, Esd3D);
}
-#line 7580 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7581 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 342:
-#line 2340 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2341 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtUint, EsdCube);
}
-#line 7590 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7591 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 343:
-#line 2345 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2346 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtUint, Esd1D, true);
}
-#line 7600 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7601 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 344:
-#line 2350 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2351 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtUint, Esd2D, true);
}
-#line 7610 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7611 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 345:
-#line 2355 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2356 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtUint, EsdCube, true);
}
-#line 7620 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7621 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 346:
-#line 2360 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2361 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat, EsdRect);
}
-#line 7630 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7631 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 347:
-#line 2365 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2366 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat, EsdRect, false, true);
}
-#line 7640 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7641 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 348:
-#line 2370 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2371 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
#ifdef AMD_EXTENSIONS
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).sampler.set(EbtFloat16, EsdRect);
#endif
}
-#line 7653 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7654 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 349:
-#line 2378 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2379 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
#ifdef AMD_EXTENSIONS
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).sampler.set(EbtFloat16, EsdRect, false, true);
#endif
}
-#line 7666 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7667 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 350:
-#line 2386 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2387 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtInt, EsdRect);
}
-#line 7676 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7677 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 351:
-#line 2391 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2392 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtUint, EsdRect);
}
-#line 7686 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7687 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 352:
-#line 2396 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2397 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat, EsdBuffer);
}
-#line 7696 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7697 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 353:
-#line 2401 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2402 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
#ifdef AMD_EXTENSIONS
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).sampler.set(EbtFloat16, EsdBuffer);
#endif
}
-#line 7709 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7710 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 354:
-#line 2409 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2410 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtInt, EsdBuffer);
}
-#line 7719 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7720 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 355:
-#line 2414 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2415 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtUint, EsdBuffer);
}
-#line 7729 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7730 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 356:
-#line 2419 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2420 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat, Esd2D, false, false, true);
}
-#line 7739 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7740 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 357:
-#line 2424 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2425 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
#ifdef AMD_EXTENSIONS
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).sampler.set(EbtFloat16, Esd2D, false, false, true);
#endif
}
-#line 7752 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7753 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 358:
-#line 2432 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2433 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtInt, Esd2D, false, false, true);
}
-#line 7762 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7763 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 359:
-#line 2437 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2438 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtUint, Esd2D, false, false, true);
}
-#line 7772 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7773 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 360:
-#line 2442 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2443 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat, Esd2D, true, false, true);
}
-#line 7782 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7783 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 361:
-#line 2447 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2448 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
#ifdef AMD_EXTENSIONS
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).sampler.set(EbtFloat16, Esd2D, true, false, true);
#endif
}
-#line 7795 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7796 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 362:
-#line 2455 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2456 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtInt, Esd2D, true, false, true);
}
-#line 7805 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7806 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 363:
-#line 2460 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2461 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtUint, Esd2D, true, false, true);
}
-#line 7815 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7816 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 364:
-#line 2465 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2466 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setPureSampler(false);
}
-#line 7825 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7826 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 365:
-#line 2470 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2471 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setPureSampler(true);
}
-#line 7835 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7836 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 366:
-#line 2475 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2476 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtFloat, Esd1D);
}
-#line 7845 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7846 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 367:
-#line 2480 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2481 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
#ifdef AMD_EXTENSIONS
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).sampler.setTexture(EbtFloat16, Esd1D);
#endif
}
-#line 7858 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7859 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 368:
-#line 2488 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2489 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtFloat, Esd2D);
}
-#line 7868 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7869 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 369:
-#line 2493 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2494 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
#ifdef AMD_EXTENSIONS
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).sampler.setTexture(EbtFloat16, Esd2D);
#endif
}
-#line 7881 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7882 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 370:
-#line 2501 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2502 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtFloat, Esd3D);
}
-#line 7891 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7892 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 371:
-#line 2506 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2507 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
#ifdef AMD_EXTENSIONS
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).sampler.setTexture(EbtFloat16, Esd3D);
#endif
}
-#line 7904 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7905 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 372:
-#line 2514 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2515 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtFloat, EsdCube);
}
-#line 7914 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7915 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 373:
-#line 2519 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2520 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
#ifdef AMD_EXTENSIONS
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).sampler.setTexture(EbtFloat16, EsdCube);
#endif
}
-#line 7927 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7928 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 374:
-#line 2527 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2528 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtFloat, Esd1D, true);
}
-#line 7937 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7938 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 375:
-#line 2532 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2533 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
#ifdef AMD_EXTENSIONS
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).sampler.setTexture(EbtFloat16, Esd1D, true);
#endif
}
-#line 7950 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7951 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 376:
-#line 2540 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2541 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtFloat, Esd2D, true);
}
-#line 7960 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7961 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 377:
-#line 2545 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2546 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
#ifdef AMD_EXTENSIONS
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).sampler.setTexture(EbtFloat16, Esd2D, true);
#endif
}
-#line 7973 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7974 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 378:
-#line 2553 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2554 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtFloat, EsdCube, true);
}
-#line 7983 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7984 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 379:
-#line 2558 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2559 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
#ifdef AMD_EXTENSIONS
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).sampler.setTexture(EbtFloat16, EsdCube, true);
#endif
}
-#line 7996 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7997 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 380:
-#line 2566 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2567 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtInt, Esd1D);
}
-#line 8006 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 8007 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 381:
-#line 2571 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2572 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtInt, Esd2D);
}
-#line 8016 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 8017 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 382:
-#line 2576 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2577 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtInt, Esd3D);
}
-#line 8026 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 8027 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 383:
-#line 2581 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2582 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtInt, EsdCube);
}
-#line 8036 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 8037 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 384:
-#line 2586 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2587 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtInt, Esd1D, true);
}
-#line 8046 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 8047 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 385:
-#line 2591 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2592 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtInt, Esd2D, true);
}
-#line 8056 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 8057 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 386:
-#line 2596 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2597 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtInt, EsdCube, true);
}
-#line 8066 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 8067 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 387:
-#line 2601 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2602 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtUint, Esd1D);
}
-#line 8076 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 8077 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 388:
-#line 2606 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2607 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtUint, Esd2D);
}
-#line 8086 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 8087 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 389:
-#line 2611 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2612 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtUint, Esd3D);
}
-#line 8096 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 8097 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 390:
-#line 2616 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2617 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtUint, EsdCube);
}
-#line 8106 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 8107 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 391:
-#line 2621 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2622 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtUint, Esd1D, true);
}
-#line 8116 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 8117 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 392:
-#line 2626 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2627 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtUint, Esd2D, true);
}
-#line 8126 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 8127 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 393:
-#line 2631 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2632 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtUint, EsdCube, true);
}
-#line 8136 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 8137 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 394:
-#line 2636 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2637 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtFloat, EsdRect);
}
-#line 8146 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 8147 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 395:
-#line 2641 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2642 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
#ifdef AMD_EXTENSIONS
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).sampler.setTexture(EbtFloat16, EsdRect);
#endif
}
-#line 8159 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 8160 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 396:
-#line 2649 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2650 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtInt, EsdRect);
}
-#line 8169 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 8170 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 397:
-#line 2654 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2655 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtUint, EsdRect);
}
-#line 8179 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 8180 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 398:
-#line 2659 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2660 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtFloat, EsdBuffer);
}
-#line 8189 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 8190 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 399:
-#line 2664 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2665 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
#ifdef AMD_EXTENSIONS
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).sampler.setTexture(EbtFloat16, EsdBuffer);
#endif
}
-#line 8202 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 8203 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 400:
-#line 2672 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2673 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtInt, EsdBuffer);
}
-#line 8212 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 8213 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 401:
-#line 2677 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2678 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtUint, EsdBuffer);
}
-#line 8222 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 8223 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 402:
-#line 2682 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2683 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtFloat, Esd2D, false, false, true);
}
-#line 8232 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 8233 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 403:
-#line 2687 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2688 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
#ifdef AMD_EXTENSIONS
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).sampler.setTexture(EbtFloat16, Esd2D, false, false, true);
#endif
}
-#line 8245 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 8246 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 404:
-#line 2695 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2696 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtInt, Esd2D, false, false, true);
}
-#line 8255 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 8256 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 405:
-#line 2700 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2701 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtUint, Esd2D, false, false, true);
}
-#line 8265 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 8266 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 406:
-#line 2705 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2706 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtFloat, Esd2D, true, false, true);
}
-#line 8275 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 8276 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 407:
-#line 2710 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2711 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
#ifdef AMD_EXTENSIONS
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).sampler.setTexture(EbtFloat16, Esd2D, true, false, true);
#endif
}
-#line 8288 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 8289 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 408:
-#line 2718 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2719 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtInt, Esd2D, true, false, true);
}
-#line 8298 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 8299 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 409:
-#line 2723 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2724 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setTexture(EbtUint, Esd2D, true, false, true);
}
-#line 8308 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 8309 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 410:
-#line 2728 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2729 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtFloat, Esd1D);
}
-#line 8318 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 8319 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 411:
-#line 2733 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2734 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
#ifdef AMD_EXTENSIONS
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).sampler.setImage(EbtFloat16, Esd1D);
#endif
}
-#line 8331 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 8332 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 412:
-#line 2741 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2742 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtInt, Esd1D);
}
-#line 8341 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 8342 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 413:
-#line 2746 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2747 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtUint, Esd1D);
}
-#line 8351 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 8352 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 414:
-#line 2751 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2752 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtFloat, Esd2D);
}
-#line 8361 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 8362 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 415:
-#line 2756 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2757 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
#ifdef AMD_EXTENSIONS
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).sampler.setImage(EbtFloat16, Esd2D);
#endif
}
-#line 8374 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 8375 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 416:
-#line 2764 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2765 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtInt, Esd2D);
}
-#line 8384 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 8385 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 417:
-#line 2769 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2770 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtUint, Esd2D);
}
-#line 8394 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 8395 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 418:
-#line 2774 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2775 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtFloat, Esd3D);
}
-#line 8404 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 8405 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 419:
-#line 2779 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2780 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
#ifdef AMD_EXTENSIONS
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).sampler.setImage(EbtFloat16, Esd3D);
#endif
}
-#line 8417 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 8418 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 420:
-#line 2787 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2788 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtInt, Esd3D);
}
-#line 8427 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 8428 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 421:
-#line 2792 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2793 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtUint, Esd3D);
}
-#line 8437 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 8438 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 422:
-#line 2797 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2798 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtFloat, EsdRect);
}
-#line 8447 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 8448 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 423:
-#line 2802 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2803 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
#ifdef AMD_EXTENSIONS
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).sampler.setImage(EbtFloat16, EsdRect);
#endif
}
-#line 8460 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 8461 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 424:
-#line 2810 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2811 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtInt, EsdRect);
}
-#line 8470 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 8471 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 425:
-#line 2815 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2816 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtUint, EsdRect);
}
-#line 8480 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 8481 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 426:
-#line 2820 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2821 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtFloat, EsdCube);
}
-#line 8490 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 8491 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 427:
-#line 2825 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2826 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
#ifdef AMD_EXTENSIONS
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).sampler.setImage(EbtFloat16, EsdCube);
#endif
}
-#line 8503 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 8504 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 428:
-#line 2833 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2834 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtInt, EsdCube);
}
-#line 8513 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 8514 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 429:
-#line 2838 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2839 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtUint, EsdCube);
}
-#line 8523 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 8524 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 430:
-#line 2843 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2844 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtFloat, EsdBuffer);
}
-#line 8533 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 8534 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 431:
-#line 2848 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2849 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
#ifdef AMD_EXTENSIONS
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).sampler.setImage(EbtFloat16, EsdBuffer);
#endif
}
-#line 8546 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 8547 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 432:
-#line 2856 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2857 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtInt, EsdBuffer);
}
-#line 8556 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 8557 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 433:
-#line 2861 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2862 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtUint, EsdBuffer);
}
-#line 8566 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 8567 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 434:
-#line 2866 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2867 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtFloat, Esd1D, true);
}
-#line 8576 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 8577 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 435:
-#line 2871 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2872 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
#ifdef AMD_EXTENSIONS
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).sampler.setImage(EbtFloat16, Esd1D, true);
#endif
}
-#line 8589 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 8590 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 436:
-#line 2879 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2880 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtInt, Esd1D, true);
}
-#line 8599 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 8600 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 437:
-#line 2884 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2885 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtUint, Esd1D, true);
}
-#line 8609 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 8610 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 438:
-#line 2889 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2890 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtFloat, Esd2D, true);
}
-#line 8619 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 8620 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 439:
-#line 2894 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2895 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
#ifdef AMD_EXTENSIONS
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).sampler.setImage(EbtFloat16, Esd2D, true);
#endif
}
-#line 8632 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 8633 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 440:
-#line 2902 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2903 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtInt, Esd2D, true);
}
-#line 8642 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 8643 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 441:
-#line 2907 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2908 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtUint, Esd2D, true);
}
-#line 8652 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 8653 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 442:
-#line 2912 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2913 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtFloat, EsdCube, true);
}
-#line 8662 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 8663 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 443:
-#line 2917 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2918 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
#ifdef AMD_EXTENSIONS
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).sampler.setImage(EbtFloat16, EsdCube, true);
#endif
}
-#line 8675 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 8676 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 444:
-#line 2925 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2926 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtInt, EsdCube, true);
}
-#line 8685 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 8686 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 445:
-#line 2930 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2931 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtUint, EsdCube, true);
}
-#line 8695 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 8696 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 446:
-#line 2935 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2936 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtFloat, Esd2D, false, false, true);
}
-#line 8705 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 8706 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 447:
-#line 2940 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2941 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
#ifdef AMD_EXTENSIONS
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).sampler.setImage(EbtFloat16, Esd2D, false, false, true);
#endif
}
-#line 8718 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 8719 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 448:
-#line 2948 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2949 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtInt, Esd2D, false, false, true);
}
-#line 8728 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 8729 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 449:
-#line 2953 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2954 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtUint, Esd2D, false, false, true);
}
-#line 8738 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 8739 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 450:
-#line 2958 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2959 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtFloat, Esd2D, true, false, true);
}
-#line 8748 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 8749 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 451:
-#line 2963 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2964 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
#ifdef AMD_EXTENSIONS
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).sampler.setImage(EbtFloat16, Esd2D, true, false, true);
#endif
}
-#line 8761 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 8762 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 452:
-#line 2971 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2972 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtInt, Esd2D, true, false, true);
}
-#line 8771 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 8772 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 453:
-#line 2976 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2977 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setImage(EbtUint, Esd2D, true, false, true);
}
-#line 8781 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 8782 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 454:
-#line 2981 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2982 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{ // GL_OES_EGL_image_external
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.set(EbtFloat, Esd2D);
(yyval.interm.type).sampler.external = true;
}
-#line 8792 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 8793 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 455:
-#line 2987 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2988 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.requireStage((yyvsp[0].lex).loc, EShLangFragment, "subpass input");
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setSubpass(EbtFloat);
}
-#line 8803 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 8804 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 456:
-#line 2993 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2994 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.requireStage((yyvsp[0].lex).loc, EShLangFragment, "subpass input");
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setSubpass(EbtFloat, true);
}
-#line 8814 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 8815 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 457:
-#line 2999 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3000 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
#ifdef AMD_EXTENSIONS
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float subpass input", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).sampler.setSubpass(EbtFloat16);
#endif
}
-#line 8828 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 8829 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 458:
-#line 3008 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3009 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
#ifdef AMD_EXTENSIONS
parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float subpass input", parseContext.symbolTable.atBuiltInLevel());
(yyval.interm.type).sampler.setSubpass(EbtFloat16, true);
#endif
}
-#line 8842 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 8843 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 459:
-#line 3017 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3018 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.requireStage((yyvsp[0].lex).loc, EShLangFragment, "subpass input");
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setSubpass(EbtInt);
}
-#line 8853 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 8854 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 460:
-#line 3023 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3024 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.requireStage((yyvsp[0].lex).loc, EShLangFragment, "subpass input");
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setSubpass(EbtInt, true);
}
-#line 8864 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 8865 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 461:
-#line 3029 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3030 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.requireStage((yyvsp[0].lex).loc, EShLangFragment, "subpass input");
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setSubpass(EbtUint);
}
-#line 8875 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 8876 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 462:
-#line 3035 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3036 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.requireStage((yyvsp[0].lex).loc, EShLangFragment, "subpass input");
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).basicType = EbtSampler;
(yyval.interm.type).sampler.setSubpass(EbtUint, true);
}
-#line 8886 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 8887 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 463:
-#line 3041 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3042 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.type) = (yyvsp[0].interm.type);
(yyval.interm.type).qualifier.storage = parseContext.symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
parseContext.structTypeCheck((yyval.interm.type).loc, (yyval.interm.type));
}
-#line 8896 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 8897 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 464:
-#line 3046 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3047 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
//
// This is for user defined type names. The lexical phase looked up the
} else
parseContext.error((yyvsp[0].lex).loc, "expected type name", (yyvsp[0].lex).string->c_str(), "");
}
-#line 8914 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 8915 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 465:
-#line 3062 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3063 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.profileRequires((yyvsp[0].lex).loc, ENoProfile, 130, 0, "highp precision qualifier");
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
parseContext.handlePrecisionQualifier((yyvsp[0].lex).loc, (yyval.interm.type).qualifier, EpqHigh);
}
-#line 8924 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 8925 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 466:
-#line 3067 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3068 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.profileRequires((yyvsp[0].lex).loc, ENoProfile, 130, 0, "mediump precision qualifier");
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
parseContext.handlePrecisionQualifier((yyvsp[0].lex).loc, (yyval.interm.type).qualifier, EpqMedium);
}
-#line 8934 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 8935 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 467:
-#line 3072 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3073 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.profileRequires((yyvsp[0].lex).loc, ENoProfile, 130, 0, "lowp precision qualifier");
(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
parseContext.handlePrecisionQualifier((yyvsp[0].lex).loc, (yyval.interm.type).qualifier, EpqLow);
}
-#line 8944 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 8945 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 468:
-#line 3080 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3081 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{ parseContext.nestedStructCheck((yyvsp[-2].lex).loc); }
-#line 8950 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 8951 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 469:
-#line 3080 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3081 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
TType* structure = new TType((yyvsp[-1].interm.typeList), *(yyvsp[-4].lex).string);
parseContext.structArrayCheck((yyvsp[-4].lex).loc, *structure);
(yyval.interm.type).userDef = structure;
--parseContext.structNestingLevel;
}
-#line 8966 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 8967 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 470:
-#line 3091 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3092 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{ parseContext.nestedStructCheck((yyvsp[-1].lex).loc); }
-#line 8972 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 8973 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 471:
-#line 3091 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3092 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
TType* structure = new TType((yyvsp[-1].interm.typeList), TString(""));
(yyval.interm.type).init((yyvsp[-4].lex).loc);
(yyval.interm.type).userDef = structure;
--parseContext.structNestingLevel;
}
-#line 8984 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 8985 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 472:
-#line 3101 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3102 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.typeList) = (yyvsp[0].interm.typeList);
}
-#line 8992 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 8993 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 473:
-#line 3104 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3105 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.typeList) = (yyvsp[-1].interm.typeList);
for (unsigned int i = 0; i < (yyvsp[0].interm.typeList)->size(); ++i) {
(yyval.interm.typeList)->push_back((*(yyvsp[0].interm.typeList))[i]);
}
}
-#line 9007 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 9008 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 474:
-#line 3117 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3118 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
if ((yyvsp[-2].interm.type).arraySizes) {
parseContext.profileRequires((yyvsp[-2].interm.type).loc, ENoProfile, 120, E_GL_3DL_array_objects, "arrayed type");
(*(yyval.interm.typeList))[i].type->shallowCopy(type);
}
}
-#line 9034 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 9035 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 475:
-#line 3139 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3140 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
if ((yyvsp[-2].interm.type).arraySizes) {
parseContext.profileRequires((yyvsp[-2].interm.type).loc, ENoProfile, 120, E_GL_3DL_array_objects, "arrayed type");
(*(yyval.interm.typeList))[i].type->shallowCopy(type);
}
}
-#line 9063 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 9064 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 476:
-#line 3166 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3167 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.typeList) = new TTypeList;
(yyval.interm.typeList)->push_back((yyvsp[0].interm.typeLine));
}
-#line 9072 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 9073 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 477:
-#line 3170 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3171 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.typeList)->push_back((yyvsp[0].interm.typeLine));
}
-#line 9080 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 9081 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 478:
-#line 3176 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3177 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.typeLine).type = new TType(EbtVoid);
(yyval.interm.typeLine).loc = (yyvsp[0].lex).loc;
(yyval.interm.typeLine).type->setFieldName(*(yyvsp[0].lex).string);
}
-#line 9090 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 9091 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 479:
-#line 3181 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3182 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.arrayOfArrayVersionCheck((yyvsp[-1].lex).loc, (yyvsp[0].interm).arraySizes);
(yyval.interm.typeLine).type->setFieldName(*(yyvsp[-1].lex).string);
(yyval.interm.typeLine).type->transferArraySizes((yyvsp[0].interm).arraySizes);
}
-#line 9103 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 9104 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 480:
-#line 3192 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3193 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
}
-#line 9111 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 9112 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 481:
-#line 3195 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3196 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
const char* initFeature = "{ } style initializers";
parseContext.requireProfile((yyvsp[-2].lex).loc, ~EEsProfile, initFeature);
parseContext.profileRequires((yyvsp[-2].lex).loc, ~EEsProfile, 420, E_GL_ARB_shading_language_420pack, initFeature);
(yyval.interm.intermTypedNode) = (yyvsp[-1].interm.intermTypedNode);
}
-#line 9122 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 9123 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 482:
-#line 3201 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3202 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
const char* initFeature = "{ } style initializers";
parseContext.requireProfile((yyvsp[-3].lex).loc, ~EEsProfile, initFeature);
parseContext.profileRequires((yyvsp[-3].lex).loc, ~EEsProfile, 420, E_GL_ARB_shading_language_420pack, initFeature);
(yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
}
-#line 9133 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 9134 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 483:
-#line 3210 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3211 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.intermTypedNode) = parseContext.intermediate.growAggregate(0, (yyvsp[0].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode)->getLoc());
}
-#line 9141 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 9142 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 484:
-#line 3213 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3214 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.intermTypedNode) = parseContext.intermediate.growAggregate((yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
}
-#line 9149 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 9150 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 485:
-#line 3219 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3220 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{ (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 9155 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 9156 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 486:
-#line 3223 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3224 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{ (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 9161 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 9162 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 487:
-#line 3224 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3225 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{ (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 9167 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 9168 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 488:
-#line 3230 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3231 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{ (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 9173 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 9174 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 489:
-#line 3231 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3232 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{ (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 9179 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 9180 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 490:
-#line 3232 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3233 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{ (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 9185 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 9186 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 491:
-#line 3233 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3234 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{ (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 9191 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 9192 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 492:
-#line 3234 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3235 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{ (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 9197 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 9198 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 493:
-#line 3235 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3236 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{ (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 9203 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 9204 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 494:
-#line 3236 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3237 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{ (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 9209 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 9210 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 495:
-#line 3240 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3241 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{ (yyval.interm.intermNode) = 0; }
-#line 9215 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 9216 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 496:
-#line 3241 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3242 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.symbolTable.push();
++parseContext.statementNestingLevel;
}
-#line 9224 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 9225 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 497:
-#line 3245 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3246 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]);
--parseContext.statementNestingLevel;
}
-#line 9233 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 9234 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 498:
-#line 3249 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3250 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
if ((yyvsp[-2].interm.intermNode) && (yyvsp[-2].interm.intermNode)->getAsAggregate())
(yyvsp[-2].interm.intermNode)->getAsAggregate()->setOperator(EOpSequence);
(yyval.interm.intermNode) = (yyvsp[-2].interm.intermNode);
}
-#line 9243 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 9244 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 499:
-#line 3257 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3258 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{ (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 9249 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 9250 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 500:
-#line 3258 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3259 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{ (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 9255 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 9256 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 501:
-#line 3262 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3263 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
++parseContext.controlFlowNestingLevel;
}
-#line 9263 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 9264 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 502:
-#line 3265 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3266 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
--parseContext.controlFlowNestingLevel;
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
}
-#line 9272 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 9273 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 503:
-#line 3269 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3270 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.symbolTable.push();
++parseContext.statementNestingLevel;
++parseContext.controlFlowNestingLevel;
}
-#line 9282 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 9283 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 504:
-#line 3274 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3275 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]);
--parseContext.statementNestingLevel;
--parseContext.controlFlowNestingLevel;
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
}
-#line 9293 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 9294 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 505:
-#line 3283 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3284 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.intermNode) = 0;
}
-#line 9301 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 9302 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 506:
-#line 3286 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3287 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
if ((yyvsp[-1].interm.intermNode) && (yyvsp[-1].interm.intermNode)->getAsAggregate())
(yyvsp[-1].interm.intermNode)->getAsAggregate()->setOperator(EOpSequence);
(yyval.interm.intermNode) = (yyvsp[-1].interm.intermNode);
}
-#line 9311 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 9312 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 507:
-#line 3294 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3295 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.intermNode) = parseContext.intermediate.makeAggregate((yyvsp[0].interm.intermNode));
if ((yyvsp[0].interm.intermNode) && (yyvsp[0].interm.intermNode)->getAsBranchNode() && ((yyvsp[0].interm.intermNode)->getAsBranchNode()->getFlowOp() == EOpCase ||
(yyval.interm.intermNode) = 0; // start a fresh subsequence for what's after this case
}
}
-#line 9324 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 9325 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 508:
-#line 3302 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3303 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
if ((yyvsp[0].interm.intermNode) && (yyvsp[0].interm.intermNode)->getAsBranchNode() && ((yyvsp[0].interm.intermNode)->getAsBranchNode()->getFlowOp() == EOpCase ||
(yyvsp[0].interm.intermNode)->getAsBranchNode()->getFlowOp() == EOpDefault)) {
} else
(yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyvsp[-1].interm.intermNode), (yyvsp[0].interm.intermNode));
}
-#line 9337 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 9338 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 509:
-#line 3313 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3314 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{ (yyval.interm.intermNode) = 0; }
-#line 9343 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 9344 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 510:
-#line 3314 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3315 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{ (yyval.interm.intermNode) = static_cast<TIntermNode*>((yyvsp[-1].interm.intermTypedNode)); }
-#line 9349 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 9350 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 511:
-#line 3318 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3319 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
}
-#line 9357 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 9358 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 512:
-#line 3321 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3322 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.handleSelectionAttributes(*(yyvsp[-1].interm.attributes), (yyvsp[0].interm.intermNode));
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
}
-#line 9366 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 9367 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 513:
-#line 3327 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3328 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.boolCheck((yyvsp[-4].lex).loc, (yyvsp[-2].interm.intermTypedNode));
(yyval.interm.intermNode) = parseContext.intermediate.addSelection((yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.nodePair), (yyvsp[-4].lex).loc);
}
-#line 9375 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 9376 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 514:
-#line 3334 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3335 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.nodePair).node1 = (yyvsp[-2].interm.intermNode);
(yyval.interm.nodePair).node2 = (yyvsp[0].interm.intermNode);
}
-#line 9384 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 9385 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 515:
-#line 3338 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3339 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.nodePair).node1 = (yyvsp[0].interm.intermNode);
(yyval.interm.nodePair).node2 = 0;
}
-#line 9393 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 9394 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 516:
-#line 3346 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3347 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
parseContext.boolCheck((yyvsp[0].interm.intermTypedNode)->getLoc(), (yyvsp[0].interm.intermTypedNode));
}
-#line 9402 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 9403 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 517:
-#line 3350 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3351 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.boolCheck((yyvsp[-2].lex).loc, (yyvsp[-3].interm.type));
else
(yyval.interm.intermTypedNode) = 0;
}
-#line 9417 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 9418 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 518:
-#line 3363 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3364 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
}
-#line 9425 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 9426 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 519:
-#line 3366 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3367 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.handleSwitchAttributes(*(yyvsp[-1].interm.attributes), (yyvsp[0].interm.intermNode));
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
}
-#line 9434 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 9435 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 520:
-#line 3372 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3373 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
// start new switch sequence on the switch stack
++parseContext.controlFlowNestingLevel;
parseContext.switchLevel.push_back(parseContext.statementNestingLevel);
parseContext.symbolTable.push();
}
-#line 9447 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 9448 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 521:
-#line 3380 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3381 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.intermNode) = parseContext.addSwitch((yyvsp[-7].lex).loc, (yyvsp[-5].interm.intermTypedNode), (yyvsp[-1].interm.intermNode) ? (yyvsp[-1].interm.intermNode)->getAsAggregate() : 0);
delete parseContext.switchSequenceStack.back();
--parseContext.statementNestingLevel;
--parseContext.controlFlowNestingLevel;
}
-#line 9461 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 9462 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 522:
-#line 3392 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3393 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.intermNode) = 0;
}
-#line 9469 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 9470 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 523:
-#line 3395 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3396 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
}
-#line 9477 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 9478 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 524:
-#line 3401 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3402 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.intermNode) = 0;
if (parseContext.switchLevel.size() == 0)
(yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpCase, (yyvsp[-1].interm.intermTypedNode), (yyvsp[-2].lex).loc);
}
}
-#line 9494 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 9495 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 525:
-#line 3413 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3414 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.intermNode) = 0;
if (parseContext.switchLevel.size() == 0)
else
(yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpDefault, (yyvsp[-1].lex).loc);
}
-#line 9508 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 9509 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 526:
-#line 3425 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3426 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
}
-#line 9516 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 9517 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 527:
-#line 3428 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3429 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.handleLoopAttributes(*(yyvsp[-1].interm.attributes), (yyvsp[0].interm.intermNode));
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
}
-#line 9525 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 9526 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 528:
-#line 3434 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3435 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
if (! parseContext.limits.whileLoops)
parseContext.error((yyvsp[-1].lex).loc, "while loops not available", "limitation", "");
++parseContext.statementNestingLevel;
++parseContext.controlFlowNestingLevel;
}
-#line 9538 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 9539 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 529:
-#line 3442 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3443 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]);
(yyval.interm.intermNode) = parseContext.intermediate.addLoop((yyvsp[0].interm.intermNode), (yyvsp[-2].interm.intermTypedNode), 0, true, (yyvsp[-5].lex).loc);
--parseContext.statementNestingLevel;
--parseContext.controlFlowNestingLevel;
}
-#line 9550 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 9551 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 530:
-#line 3449 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3450 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
++parseContext.loopNestingLevel;
++parseContext.statementNestingLevel;
++parseContext.controlFlowNestingLevel;
}
-#line 9560 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 9561 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 531:
-#line 3454 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3455 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
if (! parseContext.limits.whileLoops)
parseContext.error((yyvsp[-7].lex).loc, "do-while loops not available", "limitation", "");
--parseContext.statementNestingLevel;
--parseContext.controlFlowNestingLevel;
}
-#line 9576 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 9577 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 532:
-#line 3465 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3466 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.symbolTable.push();
++parseContext.loopNestingLevel;
++parseContext.statementNestingLevel;
++parseContext.controlFlowNestingLevel;
}
-#line 9587 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 9588 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 533:
-#line 3471 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3472 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]);
(yyval.interm.intermNode) = parseContext.intermediate.makeAggregate((yyvsp[-3].interm.intermNode), (yyvsp[-5].lex).loc);
--parseContext.statementNestingLevel;
--parseContext.controlFlowNestingLevel;
}
-#line 9604 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 9605 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 534:
-#line 3486 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3487 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
}
-#line 9612 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 9613 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 535:
-#line 3489 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3490 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
}
-#line 9620 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 9621 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 536:
-#line 3495 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3496 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
}
-#line 9628 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 9629 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 537:
-#line 3498 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3499 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.intermTypedNode) = 0;
}
-#line 9636 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 9637 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 538:
-#line 3504 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3505 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.nodePair).node1 = (yyvsp[-1].interm.intermTypedNode);
(yyval.interm.nodePair).node2 = 0;
}
-#line 9645 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 9646 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 539:
-#line 3508 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3509 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.nodePair).node1 = (yyvsp[-2].interm.intermTypedNode);
(yyval.interm.nodePair).node2 = (yyvsp[0].interm.intermTypedNode);
}
-#line 9654 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 9655 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 540:
-#line 3515 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3516 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
if (parseContext.loopNestingLevel <= 0)
parseContext.error((yyvsp[-1].lex).loc, "continue statement only allowed in loops", "", "");
(yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpContinue, (yyvsp[-1].lex).loc);
}
-#line 9664 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 9665 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 541:
-#line 3520 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3521 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
if (parseContext.loopNestingLevel + parseContext.switchSequenceStack.size() <= 0)
parseContext.error((yyvsp[-1].lex).loc, "break statement only allowed in switch and loops", "", "");
(yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpBreak, (yyvsp[-1].lex).loc);
}
-#line 9674 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 9675 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 542:
-#line 3525 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3526 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpReturn, (yyvsp[-1].lex).loc);
if (parseContext.currentFunctionType->getBasicType() != EbtVoid)
if (parseContext.inMain)
parseContext.postEntryPointReturn = true;
}
-#line 9686 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 9687 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 543:
-#line 3532 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3533 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.intermNode) = parseContext.handleReturnValue((yyvsp[-2].lex).loc, (yyvsp[-1].interm.intermTypedNode));
}
-#line 9694 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 9695 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 544:
-#line 3535 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3536 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.requireStage((yyvsp[-1].lex).loc, EShLangFragment, "discard");
(yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpKill, (yyvsp[-1].lex).loc);
}
-#line 9703 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 9704 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 545:
-#line 3544 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3545 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
parseContext.intermediate.setTreeRoot((yyval.interm.intermNode));
}
-#line 9712 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 9713 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 546:
-#line 3548 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3549 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
if ((yyvsp[0].interm.intermNode) != nullptr) {
(yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyvsp[-1].interm.intermNode), (yyvsp[0].interm.intermNode));
parseContext.intermediate.setTreeRoot((yyval.interm.intermNode));
}
}
-#line 9723 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 9724 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 547:
-#line 3557 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3558 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
}
-#line 9731 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 9732 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 548:
-#line 3560 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3561 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
}
-#line 9739 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 9740 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 549:
-#line 3563 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3564 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.requireProfile((yyvsp[0].lex).loc, ~EEsProfile, "extraneous semicolon");
parseContext.profileRequires((yyvsp[0].lex).loc, ~EEsProfile, 460, nullptr, "extraneous semicolon");
(yyval.interm.intermNode) = nullptr;
}
-#line 9749 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 9750 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 550:
-#line 3571 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3572 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyvsp[0].interm).function = parseContext.handleFunctionDeclarator((yyvsp[0].interm).loc, *(yyvsp[0].interm).function, false /* not prototype */);
(yyvsp[0].interm).intermNode = parseContext.handleFunctionDefinition((yyvsp[0].interm).loc, *(yyvsp[0].interm).function);
}
-#line 9758 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 9759 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 551:
-#line 3575 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3576 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
// May be best done as post process phase on intermediate code
if (parseContext.currentFunctionType->getBasicType() != EbtVoid && ! parseContext.functionReturnsValue)
(yyval.interm.intermNode)->getAsAggregate()->setDebug(parseContext.contextPragma.debug);
(yyval.interm.intermNode)->getAsAggregate()->setPragmaTable(parseContext.contextPragma.pragmaTable);
}
-#line 9778 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 9779 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 552:
-#line 3593 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3594 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.attributes) = (yyvsp[-2].interm.attributes);
parseContext.requireExtensions((yyvsp[-4].lex).loc, 1, &E_GL_EXT_control_flow_attributes, "attribute");
}
-#line 9787 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 9788 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 553:
-#line 3599 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3600 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.attributes) = (yyvsp[0].interm.attributes);
}
-#line 9795 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 9796 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 554:
-#line 3602 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3603 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.attributes) = parseContext.mergeAttributes((yyvsp[-2].interm.attributes), (yyvsp[0].interm.attributes));
}
-#line 9803 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 9804 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 555:
-#line 3607 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3608 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.attributes) = parseContext.makeAttributes(*(yyvsp[0].lex).string);
}
-#line 9811 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 9812 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 556:
-#line 3610 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 3611 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.attributes) = parseContext.makeAttributes(*(yyvsp[-3].lex).string, (yyvsp[-1].interm.intermTypedNode));
}
-#line 9819 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 9820 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
-#line 9823 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 9824 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
default: break;
}
/* User semantic actions sometimes alter yychar, and that requires
#endif
return yyresult;
}
-#line 3614 "MachineIndependent/glslang.y" /* yacc.c:1906 */
+#line 3615 "MachineIndependent/glslang.y" /* yacc.c:1906 */
virtual void fullIntegerCheck(const TSourceLoc&, const char* op);
virtual void doubleCheck(const TSourceLoc&, const char* op);
virtual void float16Check(const TSourceLoc&, const char* op, bool builtIn = false);
+ virtual void float16ScalarVectorCheck(const TSourceLoc&, const char* op, bool builtIn = false);
+ virtual bool float16Arithmetic();
+ virtual void requireFloat16Arithmetic(const TSourceLoc& loc, const char* featureDesc);
+ virtual void int16ScalarVectorCheck(const TSourceLoc&, const char* op, bool builtIn = false);
+ virtual bool int16Arithmetic();
+ virtual void requireInt16Arithmetic(const TSourceLoc& loc, const char* featureDesc);
+ virtual void int8ScalarVectorCheck(const TSourceLoc&, const char* op, bool builtIn = false);
+ virtual bool int8Arithmetic();
+ virtual void requireInt8Arithmetic(const TSourceLoc& loc, const char* featureDesc);
#ifdef AMD_EXTENSIONS
virtual void float16OpaqueCheck(const TSourceLoc&, const char* op, bool builtIn = false);
#endif
// This should always increase, as some paths to do not consume
// a more major number.
// It should increment by one when new functionality is added.
-#define GLSLANG_MINOR_VERSION 7
+#define GLSLANG_MINOR_VERSION 8
//
// Call before doing any other compiler/linker operations.
"spv.140.frag",
"spv.150.geom",
"spv.150.vert",
+ "spv.16bitstorage.frag",
+ "spv.16bitstorage_Error.frag",
+ "spv.16bitstorage-int.frag",
+ "spv.16bitstorage_Error-int.frag",
+ "spv.16bitstorage-uint.frag",
+ "spv.16bitstorage_Error-uint.frag",
"spv.300BuiltIns.vert",
"spv.300layout.frag",
"spv.300layout.vert",
"spv.450.tesc",
"spv.450.geom",
"spv.450.noRedecl.tesc",
+ "spv.8bitstorage-int.frag",
+ "spv.8bitstorage_Error-int.frag",
+ "spv.8bitstorage-uint.frag",
+ "spv.8bitstorage_Error-uint.frag",
"spv.accessChain.frag",
"spv.aggOps.frag",
"spv.always-discard.frag",
"site" : "gitlab",
"subrepo" : "spirv/SPIRV-Headers",
"subdir" : "External/spirv-tools/external/spirv-headers",
- "commit" : "4082a777bd5df31ed45acf40e64263094e85ed2e"
+ "commit" : "gitlab-prelim-rc4"
}
]
}