+
GLSL
-
+
diff --git a/glsl_spec.py b/glsl_spec.py
index eabd13eb..56c60cb0 100644
--- a/glsl_spec.py
+++ b/glsl_spec.py
@@ -1,5 +1,72 @@
version_commands = {
- 'sl4.3': {
+ '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': 'dFdx',
+ 'dFdyCoarse': 'dFdx',
+ 'dFdyFine': 'dFdx',
+ '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',
@@ -9,17 +76,6 @@
'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',
@@ -63,14 +119,10 @@
'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',
@@ -86,22 +138,8 @@
'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',
@@ -120,10 +158,6 @@
'matrixCompMult': 'matrixCompMult',
'max': 'max',
'memoryBarrier': 'memoryBarrier',
- 'memoryBarrierAtomicCounter': 'memoryBarrierAtomicCounter',
- 'memoryBarrierBuffer': 'memoryBarrierBuffer',
- 'memoryBarrierImage': 'memoryBarrierImage',
- 'memoryBarrierShared': 'memoryBarrierShared',
'min': 'min',
'mix': 'mix',
'mod': 'mod',
@@ -138,7 +172,6 @@
'notEqual': 'notEqual',
'outerProduct': 'outerProduct',
'packDouble2x32': 'packDouble2x32',
- 'packHalf2x16': 'packHalf2x16',
'packSnorm2x16': 'packUnorm',
'packSnorm4x8': 'packUnorm',
'packUnorm': 'packUnorm',
@@ -175,7 +208,6 @@
'textureProjLod': 'textureProjLod',
'textureProjLodOffset': 'textureProjLodOffset',
'textureProjOffset': 'textureProjOffset',
- 'textureQueryLevels': 'textureQueryLevels',
'textureQueryLod': 'textureQueryLod',
'textureSize': 'textureSize',
'transpose': 'transpose',
@@ -184,7 +216,6 @@
'uintBitsToFloat': 'intBitsToFloat',
'umulExtended': 'umulExtended',
'unpackDouble2x32': 'unpackDouble2x32',
- 'unpackHalf2x16': 'unpackHalf2x16',
'unpackSnorm2x16': 'unpackUnorm',
'unpackSnorm4x8': 'unpackUnorm',
'unpackUnorm': 'unpackUnorm',
@@ -192,7 +223,7 @@
'unpackUnorm4x8': 'unpackUnorm',
'usubBorrow': 'usubBorrow',
},
- 'sl1.5': {
+ 'sl4.2': {
'abs': 'abs',
'acos': 'acos',
'acosh': 'acosh',
@@ -202,6 +233,14 @@
'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',
@@ -217,14 +256,22 @@
'dFdyFine': 'dFdx',
'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',
@@ -235,19 +282,44 @@
'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',
@@ -255,6 +327,7 @@
'log2': 'log2',
'matrixCompMult': 'matrixCompMult',
'max': 'max',
+ 'memoryBarrier': 'memoryBarrier',
'min': 'min',
'mix': 'mix',
'mod': 'mod',
@@ -268,6 +341,13 @@
'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',
@@ -285,6 +365,9 @@
'texelFetch': 'texelFetch',
'texelFetchOffset': 'texelFetchOffset',
'texture': 'texture',
+ 'textureGather': 'textureGather',
+ 'textureGatherOffset': 'textureGatherOffset',
+ 'textureGatherOffsets': 'textureGatherOffsets',
'textureGrad': 'textureGrad',
'textureGradOffset': 'textureGradOffset',
'textureLod': 'textureLod',
@@ -296,11 +379,23 @@
'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',
},
- 'sl1.4': {
+ 'el3.1': {
'abs': 'abs',
'acos': 'acos',
'acosh': 'acosh',
@@ -310,12 +405,29 @@
'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',
@@ -328,26 +440,52 @@
'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_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',
@@ -355,19 +493,25 @@
'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',
+ 'packHalf2x16': 'packHalf2x16',
+ 'packSnorm2x16': 'packUnorm',
+ 'packSnorm4x8': 'packUnorm',
+ 'packUnorm': 'packUnorm',
+ 'packUnorm2x16': 'packUnorm',
+ 'packUnorm4x8': 'packUnorm',
'pow': 'pow',
'radians': 'radians',
'reflect': 'reflect',
@@ -385,6 +529,8 @@
'texelFetch': 'texelFetch',
'texelFetchOffset': 'texelFetchOffset',
'texture': 'texture',
+ 'textureGather': 'textureGather',
+ 'textureGatherOffset': 'textureGatherOffset',
'textureGrad': 'textureGrad',
'textureGradOffset': 'textureGradOffset',
'textureLod': 'textureLod',
@@ -399,20 +545,34 @@
'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',
},
- 'sl1.1': {
+ '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',
@@ -425,6 +585,8 @@
'exp': 'exp',
'exp2': 'exp2',
'faceforward': 'faceforward',
+ 'floatBitsToInt': 'floatBitsToInt',
+ 'floatBitsToUint': 'floatBitsToint',
'floor': 'floor',
'fract': 'fract',
'fwidth': 'fwidth',
@@ -433,13 +595,18 @@
'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',
@@ -450,24 +617,57 @@
'min': 'min',
'mix': 'mix',
'mod': 'mod',
- 'noise': 'noise',
- 'noise1': 'noise',
- 'noise2': 'noise',
- 'noise3': 'noise',
- 'noise4': 'noise',
+ '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.1': {
+ 'sl4.0': {
'abs': 'abs',
'acos': 'acos',
'acosh': 'acosh',
@@ -573,11 +773,6 @@
'notEqual': 'notEqual',
'outerProduct': 'outerProduct',
'packDouble2x32': 'packDouble2x32',
- 'packSnorm2x16': 'packUnorm',
- 'packSnorm4x8': 'packUnorm',
- 'packUnorm': 'packUnorm',
- 'packUnorm2x16': 'packUnorm',
- 'packUnorm4x8': 'packUnorm',
'pow': 'pow',
'radians': 'radians',
'reflect': 'reflect',
@@ -617,14 +812,9 @@
'uintBitsToFloat': 'intBitsToFloat',
'umulExtended': 'umulExtended',
'unpackDouble2x32': 'unpackDouble2x32',
- 'unpackSnorm2x16': 'unpackUnorm',
- 'unpackSnorm4x8': 'unpackUnorm',
- 'unpackUnorm': 'unpackUnorm',
- 'unpackUnorm2x16': 'unpackUnorm',
- 'unpackUnorm4x8': 'unpackUnorm',
'usubBorrow': 'usubBorrow',
},
- 'sl4.2': {
+ 'sl4.3': {
'abs': 'abs',
'acos': 'acos',
'acosh': 'acosh',
@@ -634,9 +824,17 @@
'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',
@@ -680,10 +878,14 @@
'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',
@@ -699,8 +901,11 @@
'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',
@@ -710,6 +915,7 @@
'imageAtomicOr': 'imageAtomicOr',
'imageAtomicXor': 'imageAtomicXor',
'imageLoad': 'imageLoad',
+ 'imageSize': 'imageSize',
'imageStore': 'imageStore',
'imulExtended': 'umulExtended',
'intBitsToFloat': 'intBitsToFloat',
@@ -729,6 +935,10 @@
'matrixCompMult': 'matrixCompMult',
'max': 'max',
'memoryBarrier': 'memoryBarrier',
+ 'memoryBarrierAtomicCounter': 'memoryBarrierAtomicCounter',
+ 'memoryBarrierBuffer': 'memoryBarrierBuffer',
+ 'memoryBarrierImage': 'memoryBarrierImage',
+ 'memoryBarrierShared': 'memoryBarrierShared',
'min': 'min',
'mix': 'mix',
'mod': 'mod',
@@ -780,6 +990,7 @@
'textureProjLod': 'textureProjLod',
'textureProjLodOffset': 'textureProjLodOffset',
'textureProjOffset': 'textureProjOffset',
+ 'textureQueryLevels': 'textureQueryLevels',
'textureQueryLod': 'textureQueryLod',
'textureSize': 'textureSize',
'transpose': 'transpose',
@@ -796,7 +1007,7 @@
'unpackUnorm4x8': 'unpackUnorm',
'usubBorrow': 'usubBorrow',
},
- 'sl4.0': {
+ 'sl1.3': {
'abs': 'abs',
'acos': 'acos',
'acosh': 'acosh',
@@ -806,18 +1017,12 @@
'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',
@@ -826,22 +1031,12 @@
'dFdyFine': 'dFdx',
'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',
@@ -849,37 +1044,15 @@
'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',
@@ -887,7 +1060,6 @@
'log2': 'log2',
'matrixCompMult': 'matrixCompMult',
'max': 'max',
- 'memoryBarrier': 'memoryBarrier',
'min': 'min',
'mix': 'mix',
'mod': 'mod',
@@ -901,7 +1073,6 @@
'not': 'not',
'notEqual': 'notEqual',
'outerProduct': 'outerProduct',
- 'packDouble2x32': 'packDouble2x32',
'pow': 'pow',
'radians': 'radians',
'reflect': 'reflect',
@@ -919,9 +1090,6 @@
'texelFetch': 'texelFetch',
'texelFetchOffset': 'texelFetchOffset',
'texture': 'texture',
- 'textureGather': 'textureGather',
- 'textureGatherOffset': 'textureGatherOffset',
- 'textureGatherOffsets': 'textureGatherOffsets',
'textureGrad': 'textureGrad',
'textureGradOffset': 'textureGradOffset',
'textureLod': 'textureLod',
@@ -933,15 +1101,9 @@
'textureProjLod': 'textureProjLod',
'textureProjLodOffset': 'textureProjLodOffset',
'textureProjOffset': 'textureProjOffset',
- 'textureQueryLod': 'textureQueryLod',
'textureSize': 'textureSize',
'transpose': 'transpose',
'trunc': 'trunc',
- 'uaddCarry': 'uaddCarry',
- 'uintBitsToFloat': 'intBitsToFloat',
- 'umulExtended': 'umulExtended',
- 'unpackDouble2x32': 'unpackDouble2x32',
- 'usubBorrow': 'usubBorrow',
},
'sl1.2': {
'abs': 'abs',
@@ -1012,7 +1174,7 @@
'tan': 'tan',
'transpose': 'transpose',
},
- 'sl1.3': {
+ 'sl4.4': {
'abs': 'abs',
'acos': 'acos',
'acosh': 'acosh',
@@ -1022,12 +1184,29 @@
'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',
@@ -1036,12 +1215,22 @@
'dFdyFine': 'dFdx',
'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',
@@ -1049,15 +1238,55 @@
'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',
@@ -1065,6 +1294,11 @@
'log2': 'log2',
'matrixCompMult': 'matrixCompMult',
'max': 'max',
+ 'memoryBarrier': 'memoryBarrier',
+ 'memoryBarrierAtomicCounter': 'memoryBarrierAtomicCounter',
+ 'memoryBarrierBuffer': 'memoryBarrierBuffer',
+ 'memoryBarrierImage': 'memoryBarrierImage',
+ 'memoryBarrierShared': 'memoryBarrierShared',
'min': 'min',
'mix': 'mix',
'mod': 'mod',
@@ -1078,6 +1312,13 @@
'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',
@@ -1095,6 +1336,9 @@
'texelFetch': 'texelFetch',
'texelFetchOffset': 'texelFetchOffset',
'texture': 'texture',
+ 'textureGather': 'textureGather',
+ 'textureGatherOffset': 'textureGatherOffset',
+ 'textureGatherOffsets': 'textureGatherOffsets',
'textureGrad': 'textureGrad',
'textureGradOffset': 'textureGradOffset',
'textureLod': 'textureLod',
@@ -1106,9 +1350,22 @@
'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',
@@ -1419,7 +1676,7 @@
'unpackUnorm4x8': 'unpackUnorm',
'usubBorrow': 'usubBorrow',
},
- 'sl4.4': {
+ 'sl1.5': {
'abs': 'abs',
'acos': 'acos',
'acosh': 'acosh',
@@ -1429,22 +1686,6 @@
'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',
@@ -1460,22 +1701,14 @@
'dFdyFine': 'dFdx',
'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',
@@ -1483,55 +1716,22 @@
'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',
@@ -1539,11 +1739,6 @@
'log2': 'log2',
'matrixCompMult': 'matrixCompMult',
'max': 'max',
- 'memoryBarrier': 'memoryBarrier',
- 'memoryBarrierAtomicCounter': 'memoryBarrierAtomicCounter',
- 'memoryBarrierBuffer': 'memoryBarrierBuffer',
- 'memoryBarrierImage': 'memoryBarrierImage',
- 'memoryBarrierShared': 'memoryBarrierShared',
'min': 'min',
'mix': 'mix',
'mod': 'mod',
@@ -1557,13 +1752,6 @@
'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',
@@ -1581,9 +1769,6 @@
'texelFetch': 'texelFetch',
'texelFetchOffset': 'texelFetchOffset',
'texture': 'texture',
- 'textureGather': 'textureGather',
- 'textureGatherOffset': 'textureGatherOffset',
- 'textureGatherOffsets': 'textureGatherOffsets',
'textureGrad': 'textureGrad',
'textureGradOffset': 'textureGradOffset',
'textureLod': 'textureLod',
@@ -1595,21 +1780,160 @@
'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.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': 'dFdx',
+ 'dFdyCoarse': 'dFdx',
+ 'dFdyFine': 'dFdx',
+ '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',
},
}
diff --git a/read_glsl_spec.py b/read_glsl_spec.py
index d44149a8..cd2c8ce9 100644
--- a/read_glsl_spec.py
+++ b/read_glsl_spec.py
@@ -17,7 +17,8 @@
# imul : umul , packSnorm4x8 : packUnorm , unpackSnorm4x8 : unpackUnorm
#The table displayed versions
-version_check = ['','v1.10' , 'v1.20' , 'v1.30' , 'v1.40' , 'v1.50' , 'v3.30' , 'v4.00' , 'v4.10' ,'v4.20' ,'v4.30' ,'v4.40' ,'v4.50' ]
+version_check = ['','sl1.10' , 'sl1.20' , 'sl1.30' , 'sl1.40' , 'sl1.50' , 'sl3.30' , 'sl4.00' , 'sl4.10' ,'sl4.20' ,'sl4.30' ,'sl4.40' ,'sl4.50' ]
+version_check_el = ['','el1.10' , 'el3.00' , 'el3.10' ]
def get_versions( path_file ):
@@ -33,6 +34,21 @@ def get_versions( path_file ):
#print "got it in version " + version_check[x]
return versions
+def get_el_versions( path_file ):
+ xtree = ET.parse(path_file)
+ element = xtree.find('.//div[@id="versions"]')
+ table = element[1][0][2]
+ test = u'\u2714'; #this is the check symbol
+ versions = []
+ for x in range(1, 4):
+ text = table[0][x].text
+ if text == test:
+ versions.append(version_check_el[x])
+ #print "got it in version " + version_check[x]
+ return versions
+
+
+
def test_extensions(gldir, command):
# See if removing an extension gives us a real entry
for extension in sl_extensions:
@@ -50,6 +66,15 @@ def test_replacements(gldir, command):
return command_docs
+
+ #GLSL ES tests
+
+ #dfdx
+ command_test = command.replace("", "x")
+ if not shared_glsl.find_command_file(gldir, command_test) == False:
+ return command_test
+
+
#GLSL tests
#dfdx
@@ -195,46 +220,63 @@ def test_replacements(gldir, command):
for x in version_check:
stored_version_commands[x] = [ {'':''} ,];
-
+for x in version_check_el:
+ stored_version_commands[x] = [ {'':''} ,];
+
+
#dic list dic
for command in commads:
if command.tag != 'command':
continue
current_command_list.append(command[0][0].text);
-
-for command_name in current_command_list:
- path_file = path+"\\sl4\\"+command_name+".xhtml"
- if(os.path.isfile(path_file)):
- #print command_name + " exists"
- versions = get_versions(path_file)
- for x in xrange(len(versions)):
- #stored_version_commands[x] = {command_name : command_name}
- stored_version_commands[versions[x]].append({command_name : command_name})
-
-
- #Open File and rack up versions!
- else:
- #print "looking for " +command_name+ "..."
- if os.path.exists("sl4"):
- test_extensions("sl4" , command_name )
- command_file = shared_glsl.find_command_file("sl4", command_name)
- if command_file == False:
- command_docs = test_replacements("sl4", command_name)
- command_file = shared_glsl.find_command_file("sl4", command_docs)
-
+ support_API = {'el3' , 'sl4' }
+
+# go over all supported API
+for api in support_API:
+ for command_name in current_command_list:
+ path_file = path+"\\"+api+"\\"+command_name+".xhtml"
+ if(os.path.isfile(path_file)):
+ #print command_name + " exists"
+ versions = []
+ if api[0:2] == 'sl':
+ versions = get_versions(path_file)
+ if api[0:2] == 'el':
+ versions = get_el_versions(path_file)
+ for x in xrange(len(versions)):
+ #stored_version_commands[x] = {command_name : command_name}
+ print command_name
+ stored_version_commands[versions[x]].append({command_name : command_name})
+
+
+ #Open File and rack up versions!
+ else:
+ #print "looking for " +command_name+ "..."
+ if os.path.exists(api):
+ test_extensions(api , command_name )
+ command_file = shared_glsl.find_command_file(api, command_name)
if command_file == False:
- print "No command docs file found for " + command_name + " (" + "sl" + "4" + ")"
- print command_name + " does not exist"
- assert(False)
- #add Test by removing extensions
- else:
- #print "!found " + command_name + " as " +command_docs
- versions = get_versions(path+"\\sl4\\"+command_docs+".xhtml")
- for x in xrange(len(versions)):
- #stored_version_commands[x] = {command_name : command_name}
- stored_version_commands[versions[x]].append({command_name : command_docs})
-
+ command_docs = test_replacements(api, command_name)
+ command_file = shared_glsl.find_command_file(api, command_docs)
+
+ if command_file == False:
+ print "No command docs file found for " + command_name + " (" + api + ")"
+ print command_name + " does not exist"
+ #Todo: Skip ES for now
+ if api[0:2] != 'el':
+ assert(False)
+ #add Test by removing extensions
+ else:
+ #print "!found " + command_name + " as " +command_docs
+ versions = []
+ if api[0:2] == 'sl':
+ versions = get_versions(path+"\\"+api+"\\"+command_docs+".xhtml")
+ if api[0:2] == 'el':
+ versions = get_el_versions(path+"\\"+api+"\\"+command_docs+".xhtml")
+ for x in xrange(len(versions)):
+ #stored_version_commands[x] = {command_name : command_name}
+ stored_version_commands[versions[x]].append({command_name : command_docs})
+ #print "done with " + command_name
#print stored_version_commands
@@ -248,7 +290,7 @@ def test_replacements(gldir, command):
#print stored_version_commands
-#print stored_version_commands
+print stored_version_commands
output = open("glsl_spec.py", "w")
output.write("version_commands = {\n")
@@ -261,15 +303,14 @@ def test_replacements(gldir, command):
-
-last_api = ""
for version in stored_version_commands:
- print version
-
+ #print version
+ if version == "":
+ continue
#print version
- output.write(" '" + "sl" + version[1:4] + "': {\n")
- #print " '" + "sl" + version[1:4] + "': {\n"
+ output.write(" '" + version[0:5] + "': {\n")
+ #print " '" + version[1:4] + "': {\n"
for x in stored_version_commands[version]:
#output.write(" '" + command + "': '" + command_docs + "',\n")
#output.write(" },\n")
@@ -281,9 +322,13 @@ def test_replacements(gldir, command):
output.write(" " +mstring+ ",\n")
#print " '" + stored_version_commands[version] + "': '" + stored_version_commands[version] + "',\n"
output.write(" },\n")
+
+
+
output.write("}\n")
output.close()
+
# if feature.attrib['api'] == 'gl' or feature.attrib['api'][0:4] == 'gles':
# gles = feature.attrib['api'][0:4] == 'gles'
diff --git a/shared_glsl.py b/shared_glsl.py
index 6a509868..fff4fa39 100644
--- a/shared_glsl.py
+++ b/shared_glsl.py
@@ -4,14 +4,14 @@ def find_command_file(gl_version, command):
command_file = gl_version + "/" + command + ".xhtml"
while not os.path.isfile(command_file):
- if gl_version[:2] == 'sl' and int(gl_version[2]) <= 2:
+ if gl_version[:2] == 'sl' and int(gl_version[2]) < 4:
return False
- if gl_version[:2] == 'el' and int(gl_version[2]) < 1:
+ if gl_version[:2] == 'el' and int(gl_version[2]) < 3:
return False
gl_version = gl_version[:2] + str(int(gl_version[2]) - 1)
command_file = gl_version + "/" + command + ".xhtml"
-
+ print command_file
return command_file