Add more TOperator: fma/frexp/ldexp, AddCarry/SubBorrow/MulExtended/Bit*/Find*, (un)pack4x8/2x32, ftransform.

Also corrects some existing ones missing the "Op" part of their name.
This commit is contained in:
John Kessenich 2015-08-18 17:00:37 -06:00
parent f5b2c06b32
commit e88217b7d8
11 changed files with 326 additions and 241 deletions

View file

@ -268,6 +268,13 @@ bool TOutputTraverser::visitUnary(TVisit /* visit */, TIntermUnary* node)
case EOpPackHalf2x16: out.debug << "packHalf2x16"; break;
case EOpUnpackHalf2x16: out.debug << "unpackHalf2x16"; break;
case EOpPackSnorm4x8: out.debug << "PackSnorm4x8"; break;
case EOpUnpackSnorm4x8: out.debug << "UnpackSnorm4x8"; break;
case EOpPackUnorm4x8: out.debug << "PackUnorm4x8"; break;
case EOpUnpackUnorm4x8: out.debug << "UnpackUnorm4x8"; break;
case EOpPackDouble2x32: out.debug << "PackDouble2x32"; break;
case EOpUnpackDouble2x32: out.debug << "UnpackDouble2x32"; break;
case EOpLength: out.debug << "length"; break;
case EOpNormalize: out.debug << "normalize"; break;
case EOpDPdx: out.debug << "dPdx"; break;
@ -295,6 +302,19 @@ bool TOutputTraverser::visitUnary(TVisit /* visit */, TIntermUnary* node)
case EOpAtomicCounterDecrement: out.debug << "AtomicCounterDecrement";break;
case EOpAtomicCounter: out.debug << "AtomicCounter"; break;
case EOpTextureQuerySize: out.debug << "textureSize"; break;
case EOpTextureQueryLod: out.debug << "textureQueryLod"; break;
case EOpTextureQueryLevels: out.debug << "textureQueryLevels"; break;
case EOpTextureQuerySamples: out.debug << "textureSamples"; break;
case EOpImageQuerySize: out.debug << "imageQuerySize"; break;
case EOpImageQuerySamples: out.debug << "imageQuerySamples"; break;
case EOpImageLoad: out.debug << "imageLoad"; break;
case EOpBitFieldReverse: out.debug << "bitFieldReverse"; break;
case EOpBitCount: out.debug << "bitCount"; break;
case EOpFindLSB: out.debug << "findLSB"; break;
case EOpFindMSB: out.debug << "findMSB"; break;
default: out.debug.message(EPrefixError, "Bad unary op");
}
@ -410,40 +430,51 @@ bool TOutputTraverser::visitAggregate(TVisit /* visit */, TIntermAggregate* node
case EOpAtomicExchange: out.debug << "AtomicExchange"; break;
case EOpAtomicCompSwap: out.debug << "AtomicCompSwap"; break;
case EImageQuerySize: out.debug << "imageQuerySize"; break;
case EImageQuerySamples: out.debug << "imageQuerySamples"; break;
case EImageLoad: out.debug << "imageLoad"; break;
case EImageStore: out.debug << "imageStore"; break;
case EImageAtomicAdd: out.debug << "imageAtomicAdd"; break;
case EImageAtomicMin: out.debug << "imageAtomicMin"; break;
case EImageAtomicMax: out.debug << "imageAtomicMax"; break;
case EImageAtomicAnd: out.debug << "imageAtomicAnd"; break;
case EImageAtomicOr: out.debug << "imageAtomicOr"; break;
case EImageAtomicXor: out.debug << "imageAtomicXor"; break;
case EImageAtomicExchange: out.debug << "imageAtomicExchange"; break;
case EImageAtomicCompSwap: out.debug << "imageAtomicCompSwap"; break;
case EOpImageQuerySize: out.debug << "imageQuerySize"; break;
case EOpImageQuerySamples: out.debug << "imageQuerySamples"; break;
case EOpImageLoad: out.debug << "imageLoad"; break;
case EOpImageStore: out.debug << "imageStore"; break;
case EOpImageAtomicAdd: out.debug << "imageAtomicAdd"; break;
case EOpImageAtomicMin: out.debug << "imageAtomicMin"; break;
case EOpImageAtomicMax: out.debug << "imageAtomicMax"; break;
case EOpImageAtomicAnd: out.debug << "imageAtomicAnd"; break;
case EOpImageAtomicOr: out.debug << "imageAtomicOr"; break;
case EOpImageAtomicXor: out.debug << "imageAtomicXor"; break;
case EOpImageAtomicExchange: out.debug << "imageAtomicExchange"; break;
case EOpImageAtomicCompSwap: out.debug << "imageAtomicCompSwap"; break;
case ETextureQuerySize: out.debug << "textureSize"; break;
case ETextureQueryLod: out.debug << "textureQueryLod"; break;
case ETextureQueryLevels: out.debug << "textureQueryLevels"; break;
case ETextureQuerySamples: out.debug << "textureSamples"; break;
case ETexture: out.debug << "texture"; break;
case ETextureProj: out.debug << "textureProj"; break;
case ETextureLod: out.debug << "textureLod"; break;
case ETextureOffset: out.debug << "textureOffset"; break;
case ETextureFetch: out.debug << "textureFetch"; break;
case ETextureFetchOffset: out.debug << "textureFetchOffset"; break;
case ETextureProjOffset: out.debug << "textureProjOffset"; break;
case ETextureLodOffset: out.debug << "textureLodOffset"; break;
case ETextureProjLod: out.debug << "textureProjLod"; break;
case ETextureProjLodOffset: out.debug << "textureProjLodOffset"; break;
case ETextureGrad: out.debug << "textureGrad"; break;
case ETextureGradOffset: out.debug << "textureGradOffset"; break;
case ETextureProjGrad: out.debug << "textureProjGrad"; break;
case ETextureProjGradOffset: out.debug << "textureProjGradOffset"; break;
case ETextureGather: out.debug << "textureGather"; break;
case ETextureGatherOffset: out.debug << "textureGatherOffset"; break;
case ETextureGatherOffsets: out.debug << "textureGatherOffsets"; break;
case EOpTextureQuerySize: out.debug << "textureSize"; break;
case EOpTextureQueryLod: out.debug << "textureQueryLod"; break;
case EOpTextureQueryLevels: out.debug << "textureQueryLevels"; break;
case EOpTextureQuerySamples: out.debug << "textureSamples"; break;
case EOpTexture: out.debug << "texture"; break;
case EOpTextureProj: out.debug << "textureProj"; break;
case EOpTextureLod: out.debug << "textureLod"; break;
case EOpTextureOffset: out.debug << "textureOffset"; break;
case EOpTextureFetch: out.debug << "textureFetch"; break;
case EOpTextureFetchOffset: out.debug << "textureFetchOffset"; break;
case EOpTextureProjOffset: out.debug << "textureProjOffset"; break;
case EOpTextureLodOffset: out.debug << "textureLodOffset"; break;
case EOpTextureProjLod: out.debug << "textureProjLod"; break;
case EOpTextureProjLodOffset: out.debug << "textureProjLodOffset"; break;
case EOpTextureGrad: out.debug << "textureGrad"; break;
case EOpTextureGradOffset: out.debug << "textureGradOffset"; break;
case EOpTextureProjGrad: out.debug << "textureProjGrad"; break;
case EOpTextureProjGradOffset: out.debug << "textureProjGradOffset"; break;
case EOpTextureGather: out.debug << "textureGather"; break;
case EOpTextureGatherOffset: out.debug << "textureGatherOffset"; break;
case EOpTextureGatherOffsets: out.debug << "textureGatherOffsets"; break;
case EOpAddCarry: out.debug << "addCarry"; break;
case EOpSubBorrow: out.debug << "subBorrow"; break;
case EOpUMulExtended: out.debug << "uMulExtended"; break;
case EOpIMulExtended: out.debug << "iMulExtended"; break;
case EOpBitfieldExtract: out.debug << "bitfieldExtract"; break;
case EOpBitfieldInsert: out.debug << "bitfieldInsert"; break;
case EOpFma: out.debug << "fma"; break;
case EFrexp: out.debug << "frexp"; break;
case ELdexp: out.debug << "ldexp"; break;
default: out.debug.message(EPrefixError, "Bad aggregation op");
}