version_commands = { 'sl1.1': { 'abs': 'abs', 'acos': 'acos', 'all': 'all', 'any': 'any', 'asin': 'asin', 'atan': 'atan', 'atanh': 'atanh', 'ceil': 'ceil', 'clamp': 'clamp', 'cos': 'cos', 'cross': 'cross', 'degrees': 'degrees', 'dFdx': 'dFdx', 'dFdxCoarse': 'dFdx', 'dFdxFine': 'dFdx', 'dFdy': 'dFdy', 'dFdyCoarse': 'dFdy', 'dFdyFine': 'dFdy', 'distance': 'distance', 'dot': 'dot', 'equal': 'equal', 'exp': 'exp', 'exp2': 'exp2', 'faceforward': 'faceforward', 'floor': 'floor', 'fract': 'fract', 'fwidth': 'fwidth', 'fwidthCoarse': 'fwidth', 'fwidthFine': 'fwidth', 'gl_FragCoord': 'gl_FragCoord', 'gl_FragDepth': 'gl_FragDepth', 'gl_FrontFacing': 'gl_FrontFacing', 'gl_PointCoord': 'gl_PointCoord', 'gl_PointSize': 'gl_PointSize', 'gl_Position': 'gl_Position', 'gl_VertexID': 'gl_VertexID', 'greaterThan': 'greaterThan', 'greaterThanEqual': 'greaterThanEqual', 'isinf': 'isinf', 'length': 'length', 'lessThan': 'lessThan', 'lessThanEqual': 'lessThanEqual', 'log': 'log', 'log2': 'log2', 'matrixCompMult': 'matrixCompMult', 'max': 'max', 'min': 'min', 'mix': 'mix', 'mod': 'mod', 'noise': 'noise', 'noise1': 'noise', 'noise2': 'noise', 'noise3': 'noise', 'noise4': 'noise', 'normalize': 'normalize', 'not': 'not', 'notEqual': 'notEqual', 'pow': 'pow', 'radians': 'radians', 'reflect': 'reflect', 'refract': 'refract', 'sin': 'sin', 'sqrt': 'sqrt', 'step': 'step', 'tan': 'tan', }, 'sl4.1': { 'abs': 'abs', 'acos': 'acos', 'acosh': 'acosh', 'all': 'all', 'any': 'any', 'asin': 'asin', 'asinh': 'asinh', 'atan': 'atan', 'atanh': 'atanh', 'barrier': 'barrier', 'bitCount': 'bitCount', 'bitfieldExtract': 'bitfieldExtract', 'bitfieldInsert': 'bitfieldInsert', 'bitfieldReverse': 'bitfieldReverse', 'ceil': 'ceil', 'clamp': 'clamp', 'cos': 'cos', 'cosh': 'cosh', 'cross': 'cross', 'degrees': 'degrees', 'determinant': 'determinant', 'dFdx': 'dFdx', 'dFdxCoarse': 'dFdx', 'dFdxFine': 'dFdx', 'dFdy': 'dFdy', 'dFdyCoarse': 'dFdy', 'dFdyFine': 'dFdy', 'distance': 'distance', 'dot': 'dot', 'EmitStreamVertex': 'EmitStreamVertex', 'EmitVertex': 'EmitVertex', 'EndPrimitive': 'EndPrimitive', 'EndStreamPrimitive': 'EndStreamPrimitive', 'equal': 'equal', 'exp': 'exp', 'exp2': 'exp2', 'faceforward': 'faceforward', 'findLSB': 'findLSB', 'findMSB': 'findMSB', 'floatBitsToInt': 'floatBitsToInt', 'floatBitsToUint': 'floatBitsToInt', 'floor': 'floor', 'fma': 'fma', 'fract': 'fract', 'frexp': 'frexp', 'fwidth': 'fwidth', 'fwidthCoarse': 'fwidth', 'fwidthFine': 'fwidth', 'gl_ClipDistance': 'gl_ClipDistance', 'gl_FragCoord': 'gl_FragCoord', 'gl_FragDepth': 'gl_FragDepth', 'gl_FrontFacing': 'gl_FrontFacing', 'gl_InstanceID': 'gl_InstanceID', 'gl_InvocationID': 'gl_InvocationID', 'gl_Layer': 'gl_Layer', 'gl_NumSamples': 'gl_NumSamples', 'gl_PatchVerticesIn': 'gl_PatchVerticesIn', 'gl_PointCoord': 'gl_PointCoord', 'gl_PointSize': 'gl_PointSize', 'gl_Position': 'gl_Position', 'gl_PrimitiveID': 'gl_PrimitiveID', 'gl_PrimitiveIDIn': 'gl_PrimitiveIDIn', 'gl_SampleID': 'gl_SampleID', 'gl_SampleMask': 'gl_SampleMask', 'gl_SampleMaskIn': 'gl_SampleMaskIn', 'gl_SamplePosition': 'gl_SamplePosition', 'gl_TessCoord': 'gl_TessCoord', 'gl_TessLevelInner': 'gl_TessLevelInner', 'gl_TessLevelOuter': 'gl_TessLevelOuter', 'gl_VertexID': 'gl_VertexID', 'gl_ViewportIndex': 'gl_ViewportIndex', 'greaterThan': 'greaterThan', 'greaterThanEqual': 'greaterThanEqual', 'imulExtended': 'umulExtended', 'intBitsToFloat': 'intBitsToFloat', 'interpolateAtCentroid': 'interpolateAtCentroid', 'interpolateAtOffset': 'interpolateAtOffset', 'interpolateAtSample': 'interpolateAtSample', 'inverse': 'inverse', 'inversesqrt': 'inversesqrt', 'isinf': 'isinf', 'isnan': 'isnan', 'ldexp': 'ldexp', 'length': 'length', 'lessThan': 'lessThan', 'lessThanEqual': 'lessThanEqual', 'log': 'log', 'log2': 'log2', 'matrixCompMult': 'matrixCompMult', 'max': 'max', 'memoryBarrier': 'memoryBarrier', 'min': 'min', 'mix': 'mix', 'mod': 'mod', 'modf': 'modf', 'noise': 'noise', 'noise1': 'noise', 'noise2': 'noise', 'noise3': 'noise', 'noise4': 'noise', 'normalize': 'normalize', 'not': 'not', 'notEqual': 'notEqual', 'outerProduct': 'outerProduct', 'packDouble2x32': 'packDouble2x32', 'packSnorm2x16': 'packUnorm', 'packSnorm4x8': 'packUnorm', 'packUnorm': 'packUnorm', 'packUnorm2x16': 'packUnorm', 'packUnorm4x8': 'packUnorm', 'pow': 'pow', 'radians': 'radians', 'reflect': 'reflect', 'refract': 'refract', 'round': 'round', 'roundEven': 'roundEven', 'sign': 'sign', 'sin': 'sin', 'sinh': 'sinh', 'smoothstep': 'smoothstep', 'sqrt': 'sqrt', 'step': 'step', 'tan': 'tan', 'tanh': 'tanh', 'texelFetch': 'texelFetch', 'texelFetchOffset': 'texelFetchOffset', 'texture': 'texture', 'textureGather': 'textureGather', 'textureGatherOffset': 'textureGatherOffset', 'textureGatherOffsets': 'textureGatherOffsets', 'textureGrad': 'textureGrad', 'textureGradOffset': 'textureGradOffset', 'textureLod': 'textureLod', 'textureLodOffset': 'textureLodOffset', 'textureOffset': 'textureOffset', 'textureProj': 'textureProj', 'textureProjGrad': 'textureProjGrad', 'textureProjGradOffset': 'textureProjGradOffset', 'textureProjLod': 'textureProjLod', 'textureProjLodOffset': 'textureProjLodOffset', 'textureProjOffset': 'textureProjOffset', 'textureQueryLod': 'textureQueryLod', 'textureSize': 'textureSize', 'transpose': 'transpose', 'trunc': 'trunc', 'uaddCarry': 'uaddCarry', 'uintBitsToFloat': 'intBitsToFloat', 'umulExtended': 'umulExtended', 'unpackDouble2x32': 'unpackDouble2x32', 'unpackSnorm2x16': 'unpackUnorm', 'unpackSnorm4x8': 'unpackUnorm', 'unpackUnorm': 'unpackUnorm', 'unpackUnorm2x16': 'unpackUnorm', 'unpackUnorm4x8': 'unpackUnorm', 'usubBorrow': 'usubBorrow', }, 'sl4.2': { 'abs': 'abs', 'acos': 'acos', 'acosh': 'acosh', 'all': 'all', 'any': 'any', 'asin': 'asin', 'asinh': 'asinh', 'atan': 'atan', 'atanh': 'atanh', 'atomicCounter': 'atomicCounter', 'atomicCounterDecrement': 'atomicCounterDecrement', 'atomicCounterIncrement': 'atomicCounterIncrement', 'barrier': 'barrier', 'bitCount': 'bitCount', 'bitfieldExtract': 'bitfieldExtract', 'bitfieldInsert': 'bitfieldInsert', 'bitfieldReverse': 'bitfieldReverse', 'ceil': 'ceil', 'clamp': 'clamp', 'cos': 'cos', 'cosh': 'cosh', 'cross': 'cross', 'degrees': 'degrees', 'determinant': 'determinant', 'dFdx': 'dFdx', 'dFdxCoarse': 'dFdx', 'dFdxFine': 'dFdx', 'dFdy': 'dFdy', 'dFdyCoarse': 'dFdy', 'dFdyFine': 'dFdy', 'distance': 'distance', 'dot': 'dot', 'EmitStreamVertex': 'EmitStreamVertex', 'EmitVertex': 'EmitVertex', 'EndPrimitive': 'EndPrimitive', 'EndStreamPrimitive': 'EndStreamPrimitive', 'equal': 'equal', 'exp': 'exp', 'exp2': 'exp2', 'faceforward': 'faceforward', 'findLSB': 'findLSB', 'findMSB': 'findMSB', 'floatBitsToInt': 'floatBitsToInt', 'floatBitsToUint': 'floatBitsToInt', 'floor': 'floor', 'fma': 'fma', 'fract': 'fract', 'frexp': 'frexp', 'fwidth': 'fwidth', 'fwidthCoarse': 'fwidth', 'fwidthFine': 'fwidth', 'gl_ClipDistance': 'gl_ClipDistance', 'gl_FragCoord': 'gl_FragCoord', 'gl_FragDepth': 'gl_FragDepth', 'gl_FrontFacing': 'gl_FrontFacing', 'gl_InstanceID': 'gl_InstanceID', 'gl_InvocationID': 'gl_InvocationID', 'gl_Layer': 'gl_Layer', 'gl_NumSamples': 'gl_NumSamples', 'gl_PatchVerticesIn': 'gl_PatchVerticesIn', 'gl_PointCoord': 'gl_PointCoord', 'gl_PointSize': 'gl_PointSize', 'gl_Position': 'gl_Position', 'gl_PrimitiveID': 'gl_PrimitiveID', 'gl_PrimitiveIDIn': 'gl_PrimitiveIDIn', 'gl_SampleID': 'gl_SampleID', 'gl_SampleMask': 'gl_SampleMask', 'gl_SampleMaskIn': 'gl_SampleMaskIn', 'gl_SamplePosition': 'gl_SamplePosition', 'gl_TessCoord': 'gl_TessCoord', 'gl_TessLevelInner': 'gl_TessLevelInner', 'gl_TessLevelOuter': 'gl_TessLevelOuter', 'gl_VertexID': 'gl_VertexID', 'gl_ViewportIndex': 'gl_ViewportIndex', 'greaterThan': 'greaterThan', 'greaterThanEqual': 'greaterThanEqual', 'imageAtomicAdd': 'imageAtomicAdd', 'imageAtomicAnd': 'imageAtomicAnd', 'imageAtomicCompSwap': 'imageAtomicCompSwap', 'imageAtomicExchange': 'imageAtomicExchange', 'imageAtomicMax': 'imageAtomicMax', 'imageAtomicMin': 'imageAtomicMin', 'imageAtomicOr': 'imageAtomicOr', 'imageAtomicXor': 'imageAtomicXor', 'imageLoad': 'imageLoad', 'imageStore': 'imageStore', 'imulExtended': 'umulExtended', 'intBitsToFloat': 'intBitsToFloat', 'interpolateAtCentroid': 'interpolateAtCentroid', 'interpolateAtOffset': 'interpolateAtOffset', 'interpolateAtSample': 'interpolateAtSample', 'inverse': 'inverse', 'inversesqrt': 'inversesqrt', 'isinf': 'isinf', 'isnan': 'isnan', 'ldexp': 'ldexp', 'length': 'length', 'lessThan': 'lessThan', 'lessThanEqual': 'lessThanEqual', 'log': 'log', 'log2': 'log2', 'matrixCompMult': 'matrixCompMult', 'max': 'max', 'memoryBarrier': 'memoryBarrier', 'min': 'min', 'mix': 'mix', 'mod': 'mod', 'modf': 'modf', 'noise': 'noise', 'noise1': 'noise', 'noise2': 'noise', 'noise3': 'noise', 'noise4': 'noise', 'normalize': 'normalize', 'not': 'not', 'notEqual': 'notEqual', 'outerProduct': 'outerProduct', 'packDouble2x32': 'packDouble2x32', 'packHalf2x16': 'packHalf2x16', 'packSnorm2x16': 'packUnorm', 'packSnorm4x8': 'packUnorm', 'packUnorm': 'packUnorm', 'packUnorm2x16': 'packUnorm', 'packUnorm4x8': 'packUnorm', 'pow': 'pow', 'radians': 'radians', 'reflect': 'reflect', 'refract': 'refract', 'round': 'round', 'roundEven': 'roundEven', 'sign': 'sign', 'sin': 'sin', 'sinh': 'sinh', 'smoothstep': 'smoothstep', 'sqrt': 'sqrt', 'step': 'step', 'tan': 'tan', 'tanh': 'tanh', 'texelFetch': 'texelFetch', 'texelFetchOffset': 'texelFetchOffset', 'texture': 'texture', 'textureGather': 'textureGather', 'textureGatherOffset': 'textureGatherOffset', 'textureGatherOffsets': 'textureGatherOffsets', 'textureGrad': 'textureGrad', 'textureGradOffset': 'textureGradOffset', 'textureLod': 'textureLod', 'textureLodOffset': 'textureLodOffset', 'textureOffset': 'textureOffset', 'textureProj': 'textureProj', 'textureProjGrad': 'textureProjGrad', 'textureProjGradOffset': 'textureProjGradOffset', 'textureProjLod': 'textureProjLod', 'textureProjLodOffset': 'textureProjLodOffset', 'textureProjOffset': 'textureProjOffset', 'textureQueryLod': 'textureQueryLod', 'textureSize': 'textureSize', 'transpose': 'transpose', 'trunc': 'trunc', 'uaddCarry': 'uaddCarry', 'uintBitsToFloat': 'intBitsToFloat', 'umulExtended': 'umulExtended', 'unpackDouble2x32': 'unpackDouble2x32', 'unpackHalf2x16': 'unpackHalf2x16', 'unpackSnorm2x16': 'unpackUnorm', 'unpackSnorm4x8': 'unpackUnorm', 'unpackUnorm': 'unpackUnorm', 'unpackUnorm2x16': 'unpackUnorm', 'unpackUnorm4x8': 'unpackUnorm', 'usubBorrow': 'usubBorrow', }, 'el3.1': { 'abs': 'abs', 'acos': 'acos', 'acosh': 'acosh', 'all': 'all', 'any': 'any', 'asin': 'asin', 'asinh': 'asinh', 'atan': 'atan', 'atanh': 'atanh', 'atomicAdd': 'atomicAdd', 'atomicAnd': 'atomicAnd', 'atomicCompSwap': 'atomicCompSwap', 'atomicCounter': 'atomicCounter', 'atomicCounterDecrement': 'atomicCounterDecrement', 'atomicCounterIncrement': 'atomicCounterIncrement', 'atomicExchange': 'atomicExchange', 'atomicMax': 'atomicMax', 'atomicMin': 'atomicMin', 'atomicOr': 'atomicOr', 'atomicXor': 'atomicXor', 'barrier': 'barrier', 'bitCount': 'bitCount', 'bitfieldExtract': 'bitfieldExtract', 'bitfieldInsert': 'bitfieldInsert', 'bitfieldReverse': 'bitfieldReverse', 'ceil': 'ceil', 'clamp': 'clamp', 'cos': 'cos', 'cosh': 'cosh', 'cross': 'cross', 'degrees': 'degrees', 'determinant': 'determinant', 'dFdx': 'dFdx', 'dFdxCoarse': 'dFdx', 'dFdxFine': 'dFdx', 'dFdy': 'dFdy', 'dFdyCoarse': 'dFdy', 'dFdyFine': 'dFdy', 'distance': 'distance', 'dot': 'dot', 'equal': 'equal', 'exp': 'exp', 'exp2': 'exp2', 'faceforward': 'faceforward', 'findLSB': 'findLSB', 'findMSB': 'findMSB', 'floatBitsToInt': 'floatBitsToInt', 'floatBitsToUint': 'floatBitsToInt', 'floor': 'floor', 'fma': 'fma', 'fract': 'fract', 'frexp': 'frexp', 'fwidth': 'fwidth', 'fwidthCoarse': 'fwidth', 'fwidthFine': 'fwidth', 'gl_FragCoord': 'gl_FragCoord', 'gl_FragDepth': 'gl_FragDepth', 'gl_FrontFacing': 'gl_FrontFacing', 'gl_GlobalInvocationID': 'gl_GlobalInvocationID', 'gl_InstanceID': 'gl_InstanceID', 'gl_LocalInvocationID': 'gl_LocalInvocationID', 'gl_LocalInvocationIndex': 'gl_LocalInvocationIndex', 'gl_NumWorkGroups': 'gl_NumWorkGroups', 'gl_PointCoord': 'gl_PointCoord', 'gl_PointSize': 'gl_PointSize', 'gl_Position': 'gl_Position', 'gl_VertexID': 'gl_VertexID', 'gl_WorkGroupID': 'gl_WorkGroupID', 'gl_WorkGroupSize': 'gl_WorkGroupSize', 'greaterThan': 'greaterThan', 'greaterThanEqual': 'greaterThanEqual', 'groupMemoryBarrier': 'groupMemoryBarrier', 'imageAtomicAdd': 'imageAtomicAdd', 'imageAtomicAnd': 'imageAtomicAnd', 'imageAtomicCompSwap': 'imageAtomicCompSwap', 'imageAtomicExchange': 'imageAtomicExchange', 'imageAtomicMax': 'imageAtomicMax', 'imageAtomicMin': 'imageAtomicMin', 'imageAtomicOr': 'imageAtomicOr', 'imageAtomicXor': 'imageAtomicXor', 'imageLoad': 'imageLoad', 'imageSize': 'imageSize', 'imageStore': 'imageStore', 'imulExtended': 'umulExtended', 'intBitsToFloat': 'intBitsToFloat', 'inverse': 'inverse', 'inversesqrt': 'inversesqrt', 'isinf': 'isinf', 'isnan': 'isnan', 'ldexp': 'ldexp', 'length': 'length', 'lessThan': 'lessThan', 'lessThanEqual': 'lessThanEqual', 'log': 'log', 'log2': 'log2', 'matrixCompMult': 'matrixCompMult', 'max': 'max', 'memoryBarrier': 'memoryBarrier', 'memoryBarrierAtomicCounter': 'memoryBarrierAtomicCounter', 'memoryBarrierBuffer': 'memoryBarrierBuffer', 'memoryBarrierImage': 'memoryBarrierImage', 'memoryBarrierShared': 'memoryBarrierShared', 'min': 'min', 'mix': 'mix', 'mod': 'mod', 'modf': 'modf', 'normalize': 'normalize', 'not': 'not', 'notEqual': 'notEqual', 'outerProduct': 'outerProduct', 'packHalf2x16': 'packHalf2x16', 'packSnorm2x16': 'packUnorm', 'packSnorm4x8': 'packUnorm', 'packUnorm': 'packUnorm', 'packUnorm2x16': 'packUnorm', 'packUnorm4x8': 'packUnorm', 'pow': 'pow', 'radians': 'radians', 'reflect': 'reflect', 'refract': 'refract', 'round': 'round', 'roundEven': 'roundEven', 'sign': 'sign', 'sin': 'sin', 'sinh': 'sinh', 'smoothstep': 'smoothstep', 'sqrt': 'sqrt', 'step': 'step', 'tan': 'tan', 'tanh': 'tanh', 'texelFetch': 'texelFetch', 'texelFetchOffset': 'texelFetchOffset', 'texture': 'texture', 'textureGather': 'textureGather', 'textureGatherOffset': 'textureGatherOffset', 'textureGrad': 'textureGrad', 'textureGradOffset': 'textureGradOffset', 'textureLod': 'textureLod', 'textureLodOffset': 'textureLodOffset', 'textureOffset': 'textureOffset', 'textureProj': 'textureProj', 'textureProjGrad': 'textureProjGrad', 'textureProjGradOffset': 'textureProjGradOffset', 'textureProjLod': 'textureProjLod', 'textureProjLodOffset': 'textureProjLodOffset', 'textureProjOffset': 'textureProjOffset', 'textureSize': 'textureSize', 'transpose': 'transpose', 'trunc': 'trunc', 'uaddCarry': 'uaddCarry', 'uintBitsToFloat': 'intBitsToFloat', 'umulExtended': 'umulExtended', 'unpackHalf2x16': 'unpackHalf2x16', 'unpackSnorm2x16': 'unpackUnorm', 'unpackSnorm4x8': 'unpackUnorm', 'unpackUnorm': 'unpackUnorm', 'unpackUnorm2x16': 'unpackUnorm', 'unpackUnorm4x8': 'unpackUnorm', 'usubBorrow': 'usubBorrow', }, 'el3.0': { 'abs': 'abs', 'acos': 'acos', 'acosh': 'acosh', 'all': 'all', 'any': 'any', 'asin': 'asin', 'asinh': 'asinh', 'atan': 'atan', 'atanh': 'atanh', 'ceil': 'ceil', 'clamp': 'clamp', 'cos': 'cos', 'cosh': 'cosh', 'cross': 'cross', 'degrees': 'degrees', 'determinant': 'determinant', 'dFdx': 'dFdx', 'dFdxCoarse': 'dFdx', 'dFdxFine': 'dFdx', 'dFdy': 'dFdy', 'dFdyCoarse': 'dFdy', 'dFdyFine': 'dFdy', 'distance': 'distance', 'dot': 'dot', 'equal': 'equal', 'exp': 'exp', 'exp2': 'exp2', 'faceforward': 'faceforward', 'floatBitsToInt': 'floatBitsToInt', 'floatBitsToUint': 'floatBitsToInt', 'floor': 'floor', 'fract': 'fract', 'fwidth': 'fwidth', 'fwidthCoarse': 'fwidth', 'fwidthFine': 'fwidth', 'gl_FragCoord': 'gl_FragCoord', 'gl_FragDepth': 'gl_FragDepth', 'gl_FrontFacing': 'gl_FrontFacing', 'gl_InstanceID': 'gl_InstanceID', 'gl_PointCoord': 'gl_PointCoord', 'gl_PointSize': 'gl_PointSize', 'gl_Position': 'gl_Position', 'gl_VertexID': 'gl_VertexID', 'greaterThan': 'greaterThan', 'greaterThanEqual': 'greaterThanEqual', 'intBitsToFloat': 'intBitsToFloat', 'inverse': 'inverse', 'inversesqrt': 'inversesqrt', 'isinf': 'isinf', 'isnan': 'isnan', 'length': 'length', 'lessThan': 'lessThan', 'lessThanEqual': 'lessThanEqual', 'log': 'log', 'log2': 'log2', 'matrixCompMult': 'matrixCompMult', 'max': 'max', 'min': 'min', 'mix': 'mix', 'mod': 'mod', 'modf': 'modf', 'normalize': 'normalize', 'not': 'not', 'notEqual': 'notEqual', 'outerProduct': 'outerProduct', 'packHalf2x16': 'packHalf2x16', 'packSnorm2x16': 'packUnorm', 'packSnorm4x8': 'packUnorm', 'packUnorm': 'packUnorm', 'packUnorm2x16': 'packUnorm', 'packUnorm4x8': 'packUnorm', 'pow': 'pow', 'radians': 'radians', 'reflect': 'reflect', 'refract': 'refract', 'round': 'round', 'roundEven': 'roundEven', 'sign': 'sign', 'sin': 'sin', 'sinh': 'sinh', 'smoothstep': 'smoothstep', 'sqrt': 'sqrt', 'step': 'step', 'tan': 'tan', 'tanh': 'tanh', 'texelFetch': 'texelFetch', 'texelFetchOffset': 'texelFetchOffset', 'texture': 'texture', 'textureGrad': 'textureGrad', 'textureGradOffset': 'textureGradOffset', 'textureLod': 'textureLod', 'textureLodOffset': 'textureLodOffset', 'textureOffset': 'textureOffset', 'textureProj': 'textureProj', 'textureProjGrad': 'textureProjGrad', 'textureProjGradOffset': 'textureProjGradOffset', 'textureProjLod': 'textureProjLod', 'textureProjLodOffset': 'textureProjLodOffset', 'textureProjOffset': 'textureProjOffset', 'textureSize': 'textureSize', 'transpose': 'transpose', 'trunc': 'trunc', 'uintBitsToFloat': 'intBitsToFloat', 'unpackHalf2x16': 'unpackHalf2x16', 'unpackSnorm2x16': 'unpackUnorm', 'unpackSnorm4x8': 'unpackUnorm', 'unpackUnorm': 'unpackUnorm', 'unpackUnorm2x16': 'unpackUnorm', 'unpackUnorm4x8': 'unpackUnorm', }, 'sl4.0': { 'abs': 'abs', 'acos': 'acos', 'acosh': 'acosh', 'all': 'all', 'any': 'any', 'asin': 'asin', 'asinh': 'asinh', 'atan': 'atan', 'atanh': 'atanh', 'barrier': 'barrier', 'bitCount': 'bitCount', 'bitfieldExtract': 'bitfieldExtract', 'bitfieldInsert': 'bitfieldInsert', 'bitfieldReverse': 'bitfieldReverse', 'ceil': 'ceil', 'clamp': 'clamp', 'cos': 'cos', 'cosh': 'cosh', 'cross': 'cross', 'degrees': 'degrees', 'determinant': 'determinant', 'dFdx': 'dFdx', 'dFdxCoarse': 'dFdx', 'dFdxFine': 'dFdx', 'dFdy': 'dFdy', 'dFdyCoarse': 'dFdy', 'dFdyFine': 'dFdy', 'distance': 'distance', 'dot': 'dot', 'EmitStreamVertex': 'EmitStreamVertex', 'EmitVertex': 'EmitVertex', 'EndPrimitive': 'EndPrimitive', 'EndStreamPrimitive': 'EndStreamPrimitive', 'equal': 'equal', 'exp': 'exp', 'exp2': 'exp2', 'faceforward': 'faceforward', 'findLSB': 'findLSB', 'findMSB': 'findMSB', 'floatBitsToInt': 'floatBitsToInt', 'floatBitsToUint': 'floatBitsToInt', 'floor': 'floor', 'fma': 'fma', 'fract': 'fract', 'frexp': 'frexp', 'fwidth': 'fwidth', 'fwidthCoarse': 'fwidth', 'fwidthFine': 'fwidth', 'gl_ClipDistance': 'gl_ClipDistance', 'gl_FragCoord': 'gl_FragCoord', 'gl_FragDepth': 'gl_FragDepth', 'gl_FrontFacing': 'gl_FrontFacing', 'gl_InstanceID': 'gl_InstanceID', 'gl_InvocationID': 'gl_InvocationID', 'gl_Layer': 'gl_Layer', 'gl_NumSamples': 'gl_NumSamples', 'gl_PatchVerticesIn': 'gl_PatchVerticesIn', 'gl_PointCoord': 'gl_PointCoord', 'gl_PointSize': 'gl_PointSize', 'gl_Position': 'gl_Position', 'gl_PrimitiveID': 'gl_PrimitiveID', 'gl_PrimitiveIDIn': 'gl_PrimitiveIDIn', 'gl_SampleID': 'gl_SampleID', 'gl_SampleMask': 'gl_SampleMask', 'gl_SampleMaskIn': 'gl_SampleMaskIn', 'gl_SamplePosition': 'gl_SamplePosition', 'gl_TessCoord': 'gl_TessCoord', 'gl_TessLevelInner': 'gl_TessLevelInner', 'gl_TessLevelOuter': 'gl_TessLevelOuter', 'gl_VertexID': 'gl_VertexID', 'gl_ViewportIndex': 'gl_ViewportIndex', 'greaterThan': 'greaterThan', 'greaterThanEqual': 'greaterThanEqual', 'imulExtended': 'umulExtended', 'intBitsToFloat': 'intBitsToFloat', 'interpolateAtCentroid': 'interpolateAtCentroid', 'interpolateAtOffset': 'interpolateAtOffset', 'interpolateAtSample': 'interpolateAtSample', 'inverse': 'inverse', 'inversesqrt': 'inversesqrt', 'isinf': 'isinf', 'isnan': 'isnan', 'ldexp': 'ldexp', 'length': 'length', 'lessThan': 'lessThan', 'lessThanEqual': 'lessThanEqual', 'log': 'log', 'log2': 'log2', 'matrixCompMult': 'matrixCompMult', 'max': 'max', 'memoryBarrier': 'memoryBarrier', 'min': 'min', 'mix': 'mix', 'mod': 'mod', 'modf': 'modf', 'noise': 'noise', 'noise1': 'noise', 'noise2': 'noise', 'noise3': 'noise', 'noise4': 'noise', 'normalize': 'normalize', 'not': 'not', 'notEqual': 'notEqual', 'outerProduct': 'outerProduct', 'packDouble2x32': 'packDouble2x32', 'pow': 'pow', 'radians': 'radians', 'reflect': 'reflect', 'refract': 'refract', 'round': 'round', 'roundEven': 'roundEven', 'sign': 'sign', 'sin': 'sin', 'sinh': 'sinh', 'smoothstep': 'smoothstep', 'sqrt': 'sqrt', 'step': 'step', 'tan': 'tan', 'tanh': 'tanh', 'texelFetch': 'texelFetch', 'texelFetchOffset': 'texelFetchOffset', 'texture': 'texture', 'textureGather': 'textureGather', 'textureGatherOffset': 'textureGatherOffset', 'textureGatherOffsets': 'textureGatherOffsets', 'textureGrad': 'textureGrad', 'textureGradOffset': 'textureGradOffset', 'textureLod': 'textureLod', 'textureLodOffset': 'textureLodOffset', 'textureOffset': 'textureOffset', 'textureProj': 'textureProj', 'textureProjGrad': 'textureProjGrad', 'textureProjGradOffset': 'textureProjGradOffset', 'textureProjLod': 'textureProjLod', 'textureProjLodOffset': 'textureProjLodOffset', 'textureProjOffset': 'textureProjOffset', 'textureQueryLod': 'textureQueryLod', 'textureSize': 'textureSize', 'transpose': 'transpose', 'trunc': 'trunc', 'uaddCarry': 'uaddCarry', 'uintBitsToFloat': 'intBitsToFloat', 'umulExtended': 'umulExtended', 'unpackDouble2x32': 'unpackDouble2x32', 'usubBorrow': 'usubBorrow', }, 'sl4.3': { 'abs': 'abs', 'acos': 'acos', 'acosh': 'acosh', 'all': 'all', 'any': 'any', 'asin': 'asin', 'asinh': 'asinh', 'atan': 'atan', 'atanh': 'atanh', 'atomicAdd': 'atomicAdd', 'atomicAnd': 'atomicAnd', 'atomicCompSwap': 'atomicCompSwap', 'atomicCounter': 'atomicCounter', 'atomicCounterDecrement': 'atomicCounterDecrement', 'atomicCounterIncrement': 'atomicCounterIncrement', 'atomicExchange': 'atomicExchange', 'atomicMax': 'atomicMax', 'atomicMin': 'atomicMin', 'atomicOr': 'atomicOr', 'atomicXor': 'atomicXor', 'barrier': 'barrier', 'bitCount': 'bitCount', 'bitfieldExtract': 'bitfieldExtract', 'bitfieldInsert': 'bitfieldInsert', 'bitfieldReverse': 'bitfieldReverse', 'ceil': 'ceil', 'clamp': 'clamp', 'cos': 'cos', 'cosh': 'cosh', 'cross': 'cross', 'degrees': 'degrees', 'determinant': 'determinant', 'dFdx': 'dFdx', 'dFdxCoarse': 'dFdx', 'dFdxFine': 'dFdx', 'dFdy': 'dFdy', 'dFdyCoarse': 'dFdy', 'dFdyFine': 'dFdy', 'distance': 'distance', 'dot': 'dot', 'EmitStreamVertex': 'EmitStreamVertex', 'EmitVertex': 'EmitVertex', 'EndPrimitive': 'EndPrimitive', 'EndStreamPrimitive': 'EndStreamPrimitive', 'equal': 'equal', 'exp': 'exp', 'exp2': 'exp2', 'faceforward': 'faceforward', 'findLSB': 'findLSB', 'findMSB': 'findMSB', 'floatBitsToInt': 'floatBitsToInt', 'floatBitsToUint': 'floatBitsToInt', 'floor': 'floor', 'fma': 'fma', 'fract': 'fract', 'frexp': 'frexp', 'fwidth': 'fwidth', 'fwidthCoarse': 'fwidth', 'fwidthFine': 'fwidth', 'gl_ClipDistance': 'gl_ClipDistance', 'gl_FragCoord': 'gl_FragCoord', 'gl_FragDepth': 'gl_FragDepth', 'gl_FrontFacing': 'gl_FrontFacing', 'gl_GlobalInvocationID': 'gl_GlobalInvocationID', 'gl_InstanceID': 'gl_InstanceID', 'gl_InvocationID': 'gl_InvocationID', 'gl_Layer': 'gl_Layer', 'gl_LocalInvocationID': 'gl_LocalInvocationID', 'gl_LocalInvocationIndex': 'gl_LocalInvocationIndex', 'gl_NumSamples': 'gl_NumSamples', 'gl_NumWorkGroups': 'gl_NumWorkGroups', 'gl_PatchVerticesIn': 'gl_PatchVerticesIn', 'gl_PointCoord': 'gl_PointCoord', 'gl_PointSize': 'gl_PointSize', 'gl_Position': 'gl_Position', 'gl_PrimitiveID': 'gl_PrimitiveID', 'gl_PrimitiveIDIn': 'gl_PrimitiveIDIn', 'gl_SampleID': 'gl_SampleID', 'gl_SampleMask': 'gl_SampleMask', 'gl_SampleMaskIn': 'gl_SampleMaskIn', 'gl_SamplePosition': 'gl_SamplePosition', 'gl_TessCoord': 'gl_TessCoord', 'gl_TessLevelInner': 'gl_TessLevelInner', 'gl_TessLevelOuter': 'gl_TessLevelOuter', 'gl_VertexID': 'gl_VertexID', 'gl_ViewportIndex': 'gl_ViewportIndex', 'gl_WorkGroupID': 'gl_WorkGroupID', 'gl_WorkGroupSize': 'gl_WorkGroupSize', 'greaterThan': 'greaterThan', 'greaterThanEqual': 'greaterThanEqual', 'groupMemoryBarrier': 'groupMemoryBarrier', 'imageAtomicAdd': 'imageAtomicAdd', 'imageAtomicAnd': 'imageAtomicAnd', 'imageAtomicCompSwap': 'imageAtomicCompSwap', 'imageAtomicExchange': 'imageAtomicExchange', 'imageAtomicMax': 'imageAtomicMax', 'imageAtomicMin': 'imageAtomicMin', 'imageAtomicOr': 'imageAtomicOr', 'imageAtomicXor': 'imageAtomicXor', 'imageLoad': 'imageLoad', 'imageSize': 'imageSize', 'imageStore': 'imageStore', 'imulExtended': 'umulExtended', 'intBitsToFloat': 'intBitsToFloat', 'interpolateAtCentroid': 'interpolateAtCentroid', 'interpolateAtOffset': 'interpolateAtOffset', 'interpolateAtSample': 'interpolateAtSample', 'inverse': 'inverse', 'inversesqrt': 'inversesqrt', 'isinf': 'isinf', 'isnan': 'isnan', 'ldexp': 'ldexp', 'length': 'length', 'lessThan': 'lessThan', 'lessThanEqual': 'lessThanEqual', 'log': 'log', 'log2': 'log2', 'matrixCompMult': 'matrixCompMult', 'max': 'max', 'memoryBarrier': 'memoryBarrier', 'memoryBarrierAtomicCounter': 'memoryBarrierAtomicCounter', 'memoryBarrierBuffer': 'memoryBarrierBuffer', 'memoryBarrierImage': 'memoryBarrierImage', 'memoryBarrierShared': 'memoryBarrierShared', 'min': 'min', 'mix': 'mix', 'mod': 'mod', 'modf': 'modf', 'noise': 'noise', 'noise1': 'noise', 'noise2': 'noise', 'noise3': 'noise', 'noise4': 'noise', 'normalize': 'normalize', 'not': 'not', 'notEqual': 'notEqual', 'outerProduct': 'outerProduct', 'packDouble2x32': 'packDouble2x32', 'packHalf2x16': 'packHalf2x16', 'packSnorm2x16': 'packUnorm', 'packSnorm4x8': 'packUnorm', 'packUnorm': 'packUnorm', 'packUnorm2x16': 'packUnorm', 'packUnorm4x8': 'packUnorm', 'pow': 'pow', 'radians': 'radians', 'reflect': 'reflect', 'refract': 'refract', 'round': 'round', 'roundEven': 'roundEven', 'sign': 'sign', 'sin': 'sin', 'sinh': 'sinh', 'smoothstep': 'smoothstep', 'sqrt': 'sqrt', 'step': 'step', 'tan': 'tan', 'tanh': 'tanh', 'texelFetch': 'texelFetch', 'texelFetchOffset': 'texelFetchOffset', 'texture': 'texture', 'textureGather': 'textureGather', 'textureGatherOffset': 'textureGatherOffset', 'textureGatherOffsets': 'textureGatherOffsets', 'textureGrad': 'textureGrad', 'textureGradOffset': 'textureGradOffset', 'textureLod': 'textureLod', 'textureLodOffset': 'textureLodOffset', 'textureOffset': 'textureOffset', 'textureProj': 'textureProj', 'textureProjGrad': 'textureProjGrad', 'textureProjGradOffset': 'textureProjGradOffset', 'textureProjLod': 'textureProjLod', 'textureProjLodOffset': 'textureProjLodOffset', 'textureProjOffset': 'textureProjOffset', 'textureQueryLevels': 'textureQueryLevels', 'textureQueryLod': 'textureQueryLod', 'textureSize': 'textureSize', 'transpose': 'transpose', 'trunc': 'trunc', 'uaddCarry': 'uaddCarry', 'uintBitsToFloat': 'intBitsToFloat', 'umulExtended': 'umulExtended', 'unpackDouble2x32': 'unpackDouble2x32', 'unpackHalf2x16': 'unpackHalf2x16', 'unpackSnorm2x16': 'unpackUnorm', 'unpackSnorm4x8': 'unpackUnorm', 'unpackUnorm': 'unpackUnorm', 'unpackUnorm2x16': 'unpackUnorm', 'unpackUnorm4x8': 'unpackUnorm', 'usubBorrow': 'usubBorrow', }, 'sl1.3': { 'abs': 'abs', 'acos': 'acos', 'acosh': 'acosh', 'all': 'all', 'any': 'any', 'asin': 'asin', 'asinh': 'asinh', 'atan': 'atan', 'atanh': 'atanh', 'ceil': 'ceil', 'clamp': 'clamp', 'cos': 'cos', 'cosh': 'cosh', 'cross': 'cross', 'degrees': 'degrees', 'dFdx': 'dFdx', 'dFdxCoarse': 'dFdx', 'dFdxFine': 'dFdx', 'dFdy': 'dFdy', 'dFdyCoarse': 'dFdy', 'dFdyFine': 'dFdy', 'distance': 'distance', 'dot': 'dot', 'equal': 'equal', 'exp': 'exp', 'exp2': 'exp2', 'faceforward': 'faceforward', 'floor': 'floor', 'fract': 'fract', 'fwidth': 'fwidth', 'fwidthCoarse': 'fwidth', 'fwidthFine': 'fwidth', 'gl_ClipDistance': 'gl_ClipDistance', 'gl_FragCoord': 'gl_FragCoord', 'gl_FragDepth': 'gl_FragDepth', 'gl_FrontFacing': 'gl_FrontFacing', 'gl_PointCoord': 'gl_PointCoord', 'gl_PointSize': 'gl_PointSize', 'gl_Position': 'gl_Position', 'gl_VertexID': 'gl_VertexID', 'greaterThan': 'greaterThan', 'greaterThanEqual': 'greaterThanEqual', 'inversesqrt': 'inversesqrt', 'isinf': 'isinf', 'isnan': 'isnan', 'length': 'length', 'lessThan': 'lessThan', 'lessThanEqual': 'lessThanEqual', 'log': 'log', 'log2': 'log2', 'matrixCompMult': 'matrixCompMult', 'max': 'max', 'min': 'min', 'mix': 'mix', 'mod': 'mod', 'modf': 'modf', 'noise': 'noise', 'noise1': 'noise', 'noise2': 'noise', 'noise3': 'noise', 'noise4': 'noise', 'normalize': 'normalize', 'not': 'not', 'notEqual': 'notEqual', 'outerProduct': 'outerProduct', 'pow': 'pow', 'radians': 'radians', 'reflect': 'reflect', 'refract': 'refract', 'round': 'round', 'roundEven': 'roundEven', 'sign': 'sign', 'sin': 'sin', 'sinh': 'sinh', 'smoothstep': 'smoothstep', 'sqrt': 'sqrt', 'step': 'step', 'tan': 'tan', 'tanh': 'tanh', 'texelFetch': 'texelFetch', 'texelFetchOffset': 'texelFetchOffset', 'texture': 'texture', 'textureGrad': 'textureGrad', 'textureGradOffset': 'textureGradOffset', 'textureLod': 'textureLod', 'textureLodOffset': 'textureLodOffset', 'textureOffset': 'textureOffset', 'textureProj': 'textureProj', 'textureProjGrad': 'textureProjGrad', 'textureProjGradOffset': 'textureProjGradOffset', 'textureProjLod': 'textureProjLod', 'textureProjLodOffset': 'textureProjLodOffset', 'textureProjOffset': 'textureProjOffset', 'textureSize': 'textureSize', 'transpose': 'transpose', 'trunc': 'trunc', }, 'sl1.2': { 'abs': 'abs', 'acos': 'acos', 'all': 'all', 'any': 'any', 'asin': 'asin', 'atan': 'atan', 'atanh': 'atanh', 'ceil': 'ceil', 'clamp': 'clamp', 'cos': 'cos', 'cross': 'cross', 'degrees': 'degrees', 'dFdx': 'dFdx', 'dFdxCoarse': 'dFdx', 'dFdxFine': 'dFdx', 'dFdy': 'dFdy', 'dFdyCoarse': 'dFdy', 'dFdyFine': 'dFdy', 'distance': 'distance', 'dot': 'dot', 'equal': 'equal', 'exp': 'exp', 'exp2': 'exp2', 'faceforward': 'faceforward', 'floor': 'floor', 'fract': 'fract', 'fwidth': 'fwidth', 'fwidthCoarse': 'fwidth', 'fwidthFine': 'fwidth', 'gl_FragCoord': 'gl_FragCoord', 'gl_FragDepth': 'gl_FragDepth', 'gl_FrontFacing': 'gl_FrontFacing', 'gl_PointCoord': 'gl_PointCoord', 'gl_PointSize': 'gl_PointSize', 'gl_Position': 'gl_Position', 'gl_VertexID': 'gl_VertexID', 'greaterThan': 'greaterThan', 'greaterThanEqual': 'greaterThanEqual', 'isinf': 'isinf', 'length': 'length', 'lessThan': 'lessThan', 'lessThanEqual': 'lessThanEqual', 'log': 'log', 'log2': 'log2', 'matrixCompMult': 'matrixCompMult', 'max': 'max', 'min': 'min', 'mix': 'mix', 'mod': 'mod', 'noise': 'noise', 'noise1': 'noise', 'noise2': 'noise', 'noise3': 'noise', 'noise4': 'noise', 'normalize': 'normalize', 'not': 'not', 'notEqual': 'notEqual', 'outerProduct': 'outerProduct', 'pow': 'pow', 'radians': 'radians', 'reflect': 'reflect', 'refract': 'refract', 'sin': 'sin', 'sqrt': 'sqrt', 'step': 'step', 'tan': 'tan', 'transpose': 'transpose', }, 'sl4.4': { 'abs': 'abs', 'acos': 'acos', 'acosh': 'acosh', 'all': 'all', 'any': 'any', 'asin': 'asin', 'asinh': 'asinh', 'atan': 'atan', 'atanh': 'atanh', 'atomicAdd': 'atomicAdd', 'atomicAnd': 'atomicAnd', 'atomicCompSwap': 'atomicCompSwap', 'atomicCounter': 'atomicCounter', 'atomicCounterDecrement': 'atomicCounterDecrement', 'atomicCounterIncrement': 'atomicCounterIncrement', 'atomicExchange': 'atomicExchange', 'atomicMax': 'atomicMax', 'atomicMin': 'atomicMin', 'atomicOr': 'atomicOr', 'atomicXor': 'atomicXor', 'barrier': 'barrier', 'bitCount': 'bitCount', 'bitfieldExtract': 'bitfieldExtract', 'bitfieldInsert': 'bitfieldInsert', 'bitfieldReverse': 'bitfieldReverse', 'ceil': 'ceil', 'clamp': 'clamp', 'cos': 'cos', 'cosh': 'cosh', 'cross': 'cross', 'degrees': 'degrees', 'determinant': 'determinant', 'dFdx': 'dFdx', 'dFdxCoarse': 'dFdx', 'dFdxFine': 'dFdx', 'dFdy': 'dFdy', 'dFdyCoarse': 'dFdy', 'dFdyFine': 'dFdy', 'distance': 'distance', 'dot': 'dot', 'EmitStreamVertex': 'EmitStreamVertex', 'EmitVertex': 'EmitVertex', 'EndPrimitive': 'EndPrimitive', 'EndStreamPrimitive': 'EndStreamPrimitive', 'equal': 'equal', 'exp': 'exp', 'exp2': 'exp2', 'faceforward': 'faceforward', 'findLSB': 'findLSB', 'findMSB': 'findMSB', 'floatBitsToInt': 'floatBitsToInt', 'floatBitsToUint': 'floatBitsToInt', 'floor': 'floor', 'fma': 'fma', 'fract': 'fract', 'frexp': 'frexp', 'fwidth': 'fwidth', 'fwidthCoarse': 'fwidth', 'fwidthFine': 'fwidth', 'gl_ClipDistance': 'gl_ClipDistance', 'gl_FragCoord': 'gl_FragCoord', 'gl_FragDepth': 'gl_FragDepth', 'gl_FrontFacing': 'gl_FrontFacing', 'gl_GlobalInvocationID': 'gl_GlobalInvocationID', 'gl_InstanceID': 'gl_InstanceID', 'gl_InvocationID': 'gl_InvocationID', 'gl_Layer': 'gl_Layer', 'gl_LocalInvocationID': 'gl_LocalInvocationID', 'gl_LocalInvocationIndex': 'gl_LocalInvocationIndex', 'gl_NumSamples': 'gl_NumSamples', 'gl_NumWorkGroups': 'gl_NumWorkGroups', 'gl_PatchVerticesIn': 'gl_PatchVerticesIn', 'gl_PointCoord': 'gl_PointCoord', 'gl_PointSize': 'gl_PointSize', 'gl_Position': 'gl_Position', 'gl_PrimitiveID': 'gl_PrimitiveID', 'gl_PrimitiveIDIn': 'gl_PrimitiveIDIn', 'gl_SampleID': 'gl_SampleID', 'gl_SampleMask': 'gl_SampleMask', 'gl_SampleMaskIn': 'gl_SampleMaskIn', 'gl_SamplePosition': 'gl_SamplePosition', 'gl_TessCoord': 'gl_TessCoord', 'gl_TessLevelInner': 'gl_TessLevelInner', 'gl_TessLevelOuter': 'gl_TessLevelOuter', 'gl_VertexID': 'gl_VertexID', 'gl_ViewportIndex': 'gl_ViewportIndex', 'gl_WorkGroupID': 'gl_WorkGroupID', 'gl_WorkGroupSize': 'gl_WorkGroupSize', 'greaterThan': 'greaterThan', 'greaterThanEqual': 'greaterThanEqual', 'groupMemoryBarrier': 'groupMemoryBarrier', 'imageAtomicAdd': 'imageAtomicAdd', 'imageAtomicAnd': 'imageAtomicAnd', 'imageAtomicCompSwap': 'imageAtomicCompSwap', 'imageAtomicExchange': 'imageAtomicExchange', 'imageAtomicMax': 'imageAtomicMax', 'imageAtomicMin': 'imageAtomicMin', 'imageAtomicOr': 'imageAtomicOr', 'imageAtomicXor': 'imageAtomicXor', 'imageLoad': 'imageLoad', 'imageSize': 'imageSize', 'imageStore': 'imageStore', 'imulExtended': 'umulExtended', 'intBitsToFloat': 'intBitsToFloat', 'interpolateAtCentroid': 'interpolateAtCentroid', 'interpolateAtOffset': 'interpolateAtOffset', 'interpolateAtSample': 'interpolateAtSample', 'inverse': 'inverse', 'inversesqrt': 'inversesqrt', 'isinf': 'isinf', 'isnan': 'isnan', 'ldexp': 'ldexp', 'length': 'length', 'lessThan': 'lessThan', 'lessThanEqual': 'lessThanEqual', 'log': 'log', 'log2': 'log2', 'matrixCompMult': 'matrixCompMult', 'max': 'max', 'memoryBarrier': 'memoryBarrier', 'memoryBarrierAtomicCounter': 'memoryBarrierAtomicCounter', 'memoryBarrierBuffer': 'memoryBarrierBuffer', 'memoryBarrierImage': 'memoryBarrierImage', 'memoryBarrierShared': 'memoryBarrierShared', 'min': 'min', 'mix': 'mix', 'mod': 'mod', 'modf': 'modf', 'noise': 'noise', 'noise1': 'noise', 'noise2': 'noise', 'noise3': 'noise', 'noise4': 'noise', 'normalize': 'normalize', 'not': 'not', 'notEqual': 'notEqual', 'outerProduct': 'outerProduct', 'packDouble2x32': 'packDouble2x32', 'packHalf2x16': 'packHalf2x16', 'packSnorm2x16': 'packUnorm', 'packSnorm4x8': 'packUnorm', 'packUnorm': 'packUnorm', 'packUnorm2x16': 'packUnorm', 'packUnorm4x8': 'packUnorm', 'pow': 'pow', 'radians': 'radians', 'reflect': 'reflect', 'refract': 'refract', 'round': 'round', 'roundEven': 'roundEven', 'sign': 'sign', 'sin': 'sin', 'sinh': 'sinh', 'smoothstep': 'smoothstep', 'sqrt': 'sqrt', 'step': 'step', 'tan': 'tan', 'tanh': 'tanh', 'texelFetch': 'texelFetch', 'texelFetchOffset': 'texelFetchOffset', 'texture': 'texture', 'textureGather': 'textureGather', 'textureGatherOffset': 'textureGatherOffset', 'textureGatherOffsets': 'textureGatherOffsets', 'textureGrad': 'textureGrad', 'textureGradOffset': 'textureGradOffset', 'textureLod': 'textureLod', 'textureLodOffset': 'textureLodOffset', 'textureOffset': 'textureOffset', 'textureProj': 'textureProj', 'textureProjGrad': 'textureProjGrad', 'textureProjGradOffset': 'textureProjGradOffset', 'textureProjLod': 'textureProjLod', 'textureProjLodOffset': 'textureProjLodOffset', 'textureProjOffset': 'textureProjOffset', 'textureQueryLevels': 'textureQueryLevels', 'textureQueryLod': 'textureQueryLod', 'textureSize': 'textureSize', 'transpose': 'transpose', 'trunc': 'trunc', 'uaddCarry': 'uaddCarry', 'uintBitsToFloat': 'intBitsToFloat', 'umulExtended': 'umulExtended', 'unpackDouble2x32': 'unpackDouble2x32', 'unpackHalf2x16': 'unpackHalf2x16', 'unpackSnorm2x16': 'unpackUnorm', 'unpackSnorm4x8': 'unpackUnorm', 'unpackUnorm': 'unpackUnorm', 'unpackUnorm2x16': 'unpackUnorm', 'unpackUnorm4x8': 'unpackUnorm', 'usubBorrow': 'usubBorrow', }, 'sl3.3': { 'abs': 'abs', 'acos': 'acos', 'acosh': 'acosh', 'all': 'all', 'any': 'any', 'asin': 'asin', 'asinh': 'asinh', 'atan': 'atan', 'atanh': 'atanh', 'ceil': 'ceil', 'clamp': 'clamp', 'cos': 'cos', 'cosh': 'cosh', 'cross': 'cross', 'degrees': 'degrees', 'determinant': 'determinant', 'dFdx': 'dFdx', 'dFdxCoarse': 'dFdx', 'dFdxFine': 'dFdx', 'dFdy': 'dFdy', 'dFdyCoarse': 'dFdy', 'dFdyFine': 'dFdy', 'distance': 'distance', 'dot': 'dot', 'EmitVertex': 'EmitVertex', 'EndPrimitive': 'EndPrimitive', 'equal': 'equal', 'exp': 'exp', 'exp2': 'exp2', 'faceforward': 'faceforward', 'floatBitsToInt': 'floatBitsToInt', 'floatBitsToUint': 'floatBitsToInt', 'floor': 'floor', 'fract': 'fract', 'fwidth': 'fwidth', 'fwidthCoarse': 'fwidth', 'fwidthFine': 'fwidth', 'gl_ClipDistance': 'gl_ClipDistance', 'gl_FragCoord': 'gl_FragCoord', 'gl_FragDepth': 'gl_FragDepth', 'gl_FrontFacing': 'gl_FrontFacing', 'gl_InstanceID': 'gl_InstanceID', 'gl_InvocationID': 'gl_InvocationID', 'gl_Layer': 'gl_Layer', 'gl_PointCoord': 'gl_PointCoord', 'gl_PointSize': 'gl_PointSize', 'gl_Position': 'gl_Position', 'gl_PrimitiveID': 'gl_PrimitiveID', 'gl_PrimitiveIDIn': 'gl_PrimitiveIDIn', 'gl_VertexID': 'gl_VertexID', 'gl_ViewportIndex': 'gl_ViewportIndex', 'greaterThan': 'greaterThan', 'greaterThanEqual': 'greaterThanEqual', 'intBitsToFloat': 'intBitsToFloat', 'inverse': 'inverse', 'inversesqrt': 'inversesqrt', 'isinf': 'isinf', 'isnan': 'isnan', 'length': 'length', 'lessThan': 'lessThan', 'lessThanEqual': 'lessThanEqual', 'log': 'log', 'log2': 'log2', 'matrixCompMult': 'matrixCompMult', 'max': 'max', 'min': 'min', 'mix': 'mix', 'mod': 'mod', 'modf': 'modf', 'noise': 'noise', 'noise1': 'noise', 'noise2': 'noise', 'noise3': 'noise', 'noise4': 'noise', 'normalize': 'normalize', 'not': 'not', 'notEqual': 'notEqual', 'outerProduct': 'outerProduct', 'pow': 'pow', 'radians': 'radians', 'reflect': 'reflect', 'refract': 'refract', 'round': 'round', 'roundEven': 'roundEven', 'sign': 'sign', 'sin': 'sin', 'sinh': 'sinh', 'smoothstep': 'smoothstep', 'sqrt': 'sqrt', 'step': 'step', 'tan': 'tan', 'tanh': 'tanh', 'texelFetch': 'texelFetch', 'texelFetchOffset': 'texelFetchOffset', 'texture': 'texture', 'textureGrad': 'textureGrad', 'textureGradOffset': 'textureGradOffset', 'textureLod': 'textureLod', 'textureLodOffset': 'textureLodOffset', 'textureOffset': 'textureOffset', 'textureProj': 'textureProj', 'textureProjGrad': 'textureProjGrad', 'textureProjGradOffset': 'textureProjGradOffset', 'textureProjLod': 'textureProjLod', 'textureProjLodOffset': 'textureProjLodOffset', 'textureProjOffset': 'textureProjOffset', 'textureSize': 'textureSize', 'transpose': 'transpose', 'trunc': 'trunc', 'uintBitsToFloat': 'intBitsToFloat', }, 'sl4.5': { 'abs': 'abs', 'acos': 'acos', 'acosh': 'acosh', 'all': 'all', 'any': 'any', 'asin': 'asin', 'asinh': 'asinh', 'atan': 'atan', 'atanh': 'atanh', 'atomicAdd': 'atomicAdd', 'atomicAnd': 'atomicAnd', 'atomicCompSwap': 'atomicCompSwap', 'atomicCounter': 'atomicCounter', 'atomicCounterDecrement': 'atomicCounterDecrement', 'atomicCounterIncrement': 'atomicCounterIncrement', 'atomicExchange': 'atomicExchange', 'atomicMax': 'atomicMax', 'atomicMin': 'atomicMin', 'atomicOr': 'atomicOr', 'atomicXor': 'atomicXor', 'barrier': 'barrier', 'bitCount': 'bitCount', 'bitfieldExtract': 'bitfieldExtract', 'bitfieldInsert': 'bitfieldInsert', 'bitfieldReverse': 'bitfieldReverse', 'ceil': 'ceil', 'clamp': 'clamp', 'cos': 'cos', 'cosh': 'cosh', 'cross': 'cross', 'degrees': 'degrees', 'determinant': 'determinant', 'dFdx': 'dFdx', 'dFdxCoarse': 'dFdx', 'dFdxFine': 'dFdx', 'dFdy': 'dFdy', 'dFdyCoarse': 'dFdy', 'dFdyFine': 'dFdy', 'distance': 'distance', 'dot': 'dot', 'EmitStreamVertex': 'EmitStreamVertex', 'EmitVertex': 'EmitVertex', 'EndPrimitive': 'EndPrimitive', 'EndStreamPrimitive': 'EndStreamPrimitive', 'equal': 'equal', 'exp': 'exp', 'exp2': 'exp2', 'faceforward': 'faceforward', 'findLSB': 'findLSB', 'findMSB': 'findMSB', 'floatBitsToInt': 'floatBitsToInt', 'floatBitsToUint': 'floatBitsToInt', 'floor': 'floor', 'fma': 'fma', 'fract': 'fract', 'frexp': 'frexp', 'fwidth': 'fwidth', 'fwidthCoarse': 'fwidth', 'fwidthFine': 'fwidth', 'gl_ClipDistance': 'gl_ClipDistance', 'gl_CullDistance': 'gl_CullDistance', 'gl_FragCoord': 'gl_FragCoord', 'gl_FragDepth': 'gl_FragDepth', 'gl_FrontFacing': 'gl_FrontFacing', 'gl_GlobalInvocationID': 'gl_GlobalInvocationID', 'gl_HelperInvocation': 'gl_HelperInvocation', 'gl_InstanceID': 'gl_InstanceID', 'gl_InvocationID': 'gl_InvocationID', 'gl_Layer': 'gl_Layer', 'gl_LocalInvocationID': 'gl_LocalInvocationID', 'gl_LocalInvocationIndex': 'gl_LocalInvocationIndex', 'gl_NumSamples': 'gl_NumSamples', 'gl_NumWorkGroups': 'gl_NumWorkGroups', 'gl_PatchVerticesIn': 'gl_PatchVerticesIn', 'gl_PointCoord': 'gl_PointCoord', 'gl_PointSize': 'gl_PointSize', 'gl_Position': 'gl_Position', 'gl_PrimitiveID': 'gl_PrimitiveID', 'gl_PrimitiveIDIn': 'gl_PrimitiveIDIn', 'gl_SampleID': 'gl_SampleID', 'gl_SampleMask': 'gl_SampleMask', 'gl_SampleMaskIn': 'gl_SampleMaskIn', 'gl_SamplePosition': 'gl_SamplePosition', 'gl_TessCoord': 'gl_TessCoord', 'gl_TessLevelInner': 'gl_TessLevelInner', 'gl_TessLevelOuter': 'gl_TessLevelOuter', 'gl_VertexID': 'gl_VertexID', 'gl_ViewportIndex': 'gl_ViewportIndex', 'gl_WorkGroupID': 'gl_WorkGroupID', 'gl_WorkGroupSize': 'gl_WorkGroupSize', 'greaterThan': 'greaterThan', 'greaterThanEqual': 'greaterThanEqual', 'groupMemoryBarrier': 'groupMemoryBarrier', 'imageAtomicAdd': 'imageAtomicAdd', 'imageAtomicAnd': 'imageAtomicAnd', 'imageAtomicCompSwap': 'imageAtomicCompSwap', 'imageAtomicExchange': 'imageAtomicExchange', 'imageAtomicMax': 'imageAtomicMax', 'imageAtomicMin': 'imageAtomicMin', 'imageAtomicOr': 'imageAtomicOr', 'imageAtomicXor': 'imageAtomicXor', 'imageLoad': 'imageLoad', 'imageSamples': 'imageSamples', 'imageSize': 'imageSize', 'imageStore': 'imageStore', 'imulExtended': 'umulExtended', 'intBitsToFloat': 'intBitsToFloat', 'interpolateAtCentroid': 'interpolateAtCentroid', 'interpolateAtOffset': 'interpolateAtOffset', 'interpolateAtSample': 'interpolateAtSample', 'inverse': 'inverse', 'inversesqrt': 'inversesqrt', 'isinf': 'isinf', 'isnan': 'isnan', 'ldexp': 'ldexp', 'length': 'length', 'lessThan': 'lessThan', 'lessThanEqual': 'lessThanEqual', 'log': 'log', 'log2': 'log2', 'matrixCompMult': 'matrixCompMult', 'max': 'max', 'memoryBarrier': 'memoryBarrier', 'memoryBarrierAtomicCounter': 'memoryBarrierAtomicCounter', 'memoryBarrierBuffer': 'memoryBarrierBuffer', 'memoryBarrierImage': 'memoryBarrierImage', 'memoryBarrierShared': 'memoryBarrierShared', 'min': 'min', 'mix': 'mix', 'mod': 'mod', 'modf': 'modf', 'noise': 'noise', 'noise1': 'noise', 'noise2': 'noise', 'noise3': 'noise', 'noise4': 'noise', 'normalize': 'normalize', 'not': 'not', 'notEqual': 'notEqual', 'outerProduct': 'outerProduct', 'packDouble2x32': 'packDouble2x32', 'packHalf2x16': 'packHalf2x16', 'packSnorm2x16': 'packUnorm', 'packSnorm4x8': 'packUnorm', 'packUnorm': 'packUnorm', 'packUnorm2x16': 'packUnorm', 'packUnorm4x8': 'packUnorm', 'pow': 'pow', 'radians': 'radians', 'reflect': 'reflect', 'refract': 'refract', 'round': 'round', 'roundEven': 'roundEven', 'sign': 'sign', 'sin': 'sin', 'sinh': 'sinh', 'smoothstep': 'smoothstep', 'sqrt': 'sqrt', 'step': 'step', 'tan': 'tan', 'tanh': 'tanh', 'texelFetch': 'texelFetch', 'texelFetchOffset': 'texelFetchOffset', 'texture': 'texture', 'textureGather': 'textureGather', 'textureGatherOffset': 'textureGatherOffset', 'textureGatherOffsets': 'textureGatherOffsets', 'textureGrad': 'textureGrad', 'textureGradOffset': 'textureGradOffset', 'textureLod': 'textureLod', 'textureLodOffset': 'textureLodOffset', 'textureOffset': 'textureOffset', 'textureProj': 'textureProj', 'textureProjGrad': 'textureProjGrad', 'textureProjGradOffset': 'textureProjGradOffset', 'textureProjLod': 'textureProjLod', 'textureProjLodOffset': 'textureProjLodOffset', 'textureProjOffset': 'textureProjOffset', 'textureQueryLevels': 'textureQueryLevels', 'textureQueryLod': 'textureQueryLod', 'textureSamples': 'textureSamples', 'textureSize': 'textureSize', 'transpose': 'transpose', 'trunc': 'trunc', 'uaddCarry': 'uaddCarry', 'uintBitsToFloat': 'intBitsToFloat', 'umulExtended': 'umulExtended', 'unpackDouble2x32': 'unpackDouble2x32', 'unpackHalf2x16': 'unpackHalf2x16', 'unpackSnorm2x16': 'unpackUnorm', 'unpackSnorm4x8': 'unpackUnorm', 'unpackUnorm': 'unpackUnorm', 'unpackUnorm2x16': 'unpackUnorm', 'unpackUnorm4x8': 'unpackUnorm', 'usubBorrow': 'usubBorrow', }, 'sl1.5': { 'abs': 'abs', 'acos': 'acos', 'acosh': 'acosh', 'all': 'all', 'any': 'any', 'asin': 'asin', 'asinh': 'asinh', 'atan': 'atan', 'atanh': 'atanh', 'ceil': 'ceil', 'clamp': 'clamp', 'cos': 'cos', 'cosh': 'cosh', 'cross': 'cross', 'degrees': 'degrees', 'determinant': 'determinant', 'dFdx': 'dFdx', 'dFdxCoarse': 'dFdx', 'dFdxFine': 'dFdx', 'dFdy': 'dFdy', 'dFdyCoarse': 'dFdy', 'dFdyFine': 'dFdy', 'distance': 'distance', 'dot': 'dot', 'EmitVertex': 'EmitVertex', 'EndPrimitive': 'EndPrimitive', 'equal': 'equal', 'exp': 'exp', 'exp2': 'exp2', 'faceforward': 'faceforward', 'floor': 'floor', 'fract': 'fract', 'fwidth': 'fwidth', 'fwidthCoarse': 'fwidth', 'fwidthFine': 'fwidth', 'gl_ClipDistance': 'gl_ClipDistance', 'gl_FragCoord': 'gl_FragCoord', 'gl_FragDepth': 'gl_FragDepth', 'gl_FrontFacing': 'gl_FrontFacing', 'gl_InstanceID': 'gl_InstanceID', 'gl_InvocationID': 'gl_InvocationID', 'gl_Layer': 'gl_Layer', 'gl_PointCoord': 'gl_PointCoord', 'gl_PointSize': 'gl_PointSize', 'gl_Position': 'gl_Position', 'gl_PrimitiveID': 'gl_PrimitiveID', 'gl_PrimitiveIDIn': 'gl_PrimitiveIDIn', 'gl_VertexID': 'gl_VertexID', 'gl_ViewportIndex': 'gl_ViewportIndex', 'greaterThan': 'greaterThan', 'greaterThanEqual': 'greaterThanEqual', 'inverse': 'inverse', 'inversesqrt': 'inversesqrt', 'isinf': 'isinf', 'isnan': 'isnan', 'length': 'length', 'lessThan': 'lessThan', 'lessThanEqual': 'lessThanEqual', 'log': 'log', 'log2': 'log2', 'matrixCompMult': 'matrixCompMult', 'max': 'max', 'min': 'min', 'mix': 'mix', 'mod': 'mod', 'modf': 'modf', 'noise': 'noise', 'noise1': 'noise', 'noise2': 'noise', 'noise3': 'noise', 'noise4': 'noise', 'normalize': 'normalize', 'not': 'not', 'notEqual': 'notEqual', 'outerProduct': 'outerProduct', 'pow': 'pow', 'radians': 'radians', 'reflect': 'reflect', 'refract': 'refract', 'round': 'round', 'roundEven': 'roundEven', 'sign': 'sign', 'sin': 'sin', 'sinh': 'sinh', 'smoothstep': 'smoothstep', 'sqrt': 'sqrt', 'step': 'step', 'tan': 'tan', 'tanh': 'tanh', 'texelFetch': 'texelFetch', 'texelFetchOffset': 'texelFetchOffset', 'texture': 'texture', 'textureGrad': 'textureGrad', 'textureGradOffset': 'textureGradOffset', 'textureLod': 'textureLod', 'textureLodOffset': 'textureLodOffset', 'textureOffset': 'textureOffset', 'textureProj': 'textureProj', 'textureProjGrad': 'textureProjGrad', 'textureProjGradOffset': 'textureProjGradOffset', 'textureProjLod': 'textureProjLod', 'textureProjLodOffset': 'textureProjLodOffset', 'textureProjOffset': 'textureProjOffset', 'textureSize': 'textureSize', 'transpose': 'transpose', 'trunc': 'trunc', }, 'sl1.4': { 'abs': 'abs', 'acos': 'acos', 'acosh': 'acosh', 'all': 'all', 'any': 'any', 'asin': 'asin', 'asinh': 'asinh', 'atan': 'atan', 'atanh': 'atanh', 'ceil': 'ceil', 'clamp': 'clamp', 'cos': 'cos', 'cosh': 'cosh', 'cross': 'cross', 'degrees': 'degrees', 'dFdx': 'dFdx', 'dFdxCoarse': 'dFdx', 'dFdxFine': 'dFdx', 'dFdy': 'dFdy', 'dFdyCoarse': 'dFdy', 'dFdyFine': 'dFdy', 'distance': 'distance', 'dot': 'dot', 'equal': 'equal', 'exp': 'exp', 'exp2': 'exp2', 'faceforward': 'faceforward', 'floor': 'floor', 'fract': 'fract', 'fwidth': 'fwidth', 'fwidthCoarse': 'fwidth', 'fwidthFine': 'fwidth', 'gl_ClipDistance': 'gl_ClipDistance', 'gl_FragCoord': 'gl_FragCoord', 'gl_FragDepth': 'gl_FragDepth', 'gl_FrontFacing': 'gl_FrontFacing', 'gl_InstanceID': 'gl_InstanceID', 'gl_PointCoord': 'gl_PointCoord', 'gl_PointSize': 'gl_PointSize', 'gl_Position': 'gl_Position', 'gl_VertexID': 'gl_VertexID', 'greaterThan': 'greaterThan', 'greaterThanEqual': 'greaterThanEqual', 'inverse': 'inverse', 'inversesqrt': 'inversesqrt', 'isinf': 'isinf', 'isnan': 'isnan', 'length': 'length', 'lessThan': 'lessThan', 'lessThanEqual': 'lessThanEqual', 'log': 'log', 'log2': 'log2', 'matrixCompMult': 'matrixCompMult', 'max': 'max', 'min': 'min', 'mix': 'mix', 'mod': 'mod', 'modf': 'modf', 'noise': 'noise', 'noise1': 'noise', 'noise2': 'noise', 'noise3': 'noise', 'noise4': 'noise', 'normalize': 'normalize', 'not': 'not', 'notEqual': 'notEqual', 'outerProduct': 'outerProduct', 'pow': 'pow', 'radians': 'radians', 'reflect': 'reflect', 'refract': 'refract', 'round': 'round', 'roundEven': 'roundEven', 'sign': 'sign', 'sin': 'sin', 'sinh': 'sinh', 'smoothstep': 'smoothstep', 'sqrt': 'sqrt', 'step': 'step', 'tan': 'tan', 'tanh': 'tanh', 'texelFetch': 'texelFetch', 'texelFetchOffset': 'texelFetchOffset', 'texture': 'texture', 'textureGrad': 'textureGrad', 'textureGradOffset': 'textureGradOffset', 'textureLod': 'textureLod', 'textureLodOffset': 'textureLodOffset', 'textureOffset': 'textureOffset', 'textureProj': 'textureProj', 'textureProjGrad': 'textureProjGrad', 'textureProjGradOffset': 'textureProjGradOffset', 'textureProjLod': 'textureProjLod', 'textureProjLodOffset': 'textureProjLodOffset', 'textureProjOffset': 'textureProjOffset', 'textureSize': 'textureSize', 'transpose': 'transpose', 'trunc': 'trunc', }, 'el1.1': { 'abs': 'abs', 'acos': 'acos', 'all': 'all', 'any': 'any', 'asin': 'asin', 'atan': 'atan', 'ceil': 'ceil', 'clamp': 'clamp', 'cos': 'cos', 'cross': 'cross', 'degrees': 'degrees', 'distance': 'distance', 'dot': 'dot', 'equal': 'equal', 'exp': 'exp', 'exp2': 'exp2', 'faceforward': 'faceforward', 'floor': 'floor', 'fract': 'fract', 'gl_FragCoord': 'gl_FragCoord', 'gl_FrontFacing': 'gl_FrontFacing', 'gl_PointCoord': 'gl_PointCoord', 'gl_PointSize': 'gl_PointSize', 'gl_Position': 'gl_Position', 'greaterThan': 'greaterThan', 'greaterThanEqual': 'greaterThanEqual', 'inversesqrt': 'inversesqrt', 'length': 'length', 'lessThan': 'lessThan', 'lessThanEqual': 'lessThanEqual', 'log': 'log', 'log2': 'log2', 'matrixCompMult': 'matrixCompMult', 'max': 'max', 'min': 'min', 'mix': 'mix', 'mod': 'mod', 'normalize': 'normalize', 'not': 'not', 'notEqual': 'notEqual', 'pow': 'pow', 'radians': 'radians', 'reflect': 'reflect', 'refract': 'refract', 'sign': 'sign', 'sin': 'sin', 'smoothstep': 'smoothstep', 'sqrt': 'sqrt', 'step': 'step', 'tan': 'tan', }, }