123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375 |
- //
- // Copyright (C) 2016 Google, Inc.
- // Copyright (C) 2016 LunarG, Inc.
- //
- // All rights reserved.
- //
- // Redistribution and use in source and binary forms, with or without
- // modification, are permitted provided that the following conditions
- // are met:
- //
- // Redistributions of source code must retain the above copyright
- // notice, this list of conditions and the following disclaimer.
- //
- // Redistributions in binary form must reproduce the above
- // copyright notice, this list of conditions and the following
- // disclaimer in the documentation and/or other materials provided
- // with the distribution.
- //
- // Neither the name of Google, Inc., nor the names of its
- // contributors may be used to endorse or promote products derived
- // from this software without specific prior written permission.
- //
- // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- // FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- // COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- // BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- // LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- // CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- // ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- // POSSIBILITY OF SUCH DAMAGE.
- //
- #ifndef EHLSLTOKENS_H_
- #define EHLSLTOKENS_H_
- namespace glslang {
- enum EHlslTokenClass {
- EHTokNone = 0,
- // qualifiers
- EHTokStatic,
- EHTokConst,
- EHTokSNorm,
- EHTokUnorm,
- EHTokExtern,
- EHTokUniform,
- EHTokVolatile,
- EHTokPrecise,
- EHTokShared,
- EHTokGroupShared,
- EHTokLinear,
- EHTokCentroid,
- EHTokNointerpolation,
- EHTokNoperspective,
- EHTokSample,
- EHTokRowMajor,
- EHTokColumnMajor,
- EHTokPackOffset,
- EHTokIn,
- EHTokOut,
- EHTokInOut,
- EHTokLayout,
- EHTokGloballyCoherent,
- EHTokInline,
- // primitive types
- EHTokPoint,
- EHTokLine,
- EHTokTriangle,
- EHTokLineAdj,
- EHTokTriangleAdj,
- // stream out types
- EHTokPointStream,
- EHTokLineStream,
- EHTokTriangleStream,
- // Tessellation patches
- EHTokInputPatch,
- EHTokOutputPatch,
- // template types
- EHTokBuffer,
- EHTokVector,
- EHTokMatrix,
- // scalar types
- EHTokVoid,
- EHTokString,
- EHTokBool,
- EHTokInt,
- EHTokUint,
- EHTokUint64,
- EHTokDword,
- EHTokHalf,
- EHTokFloat,
- EHTokDouble,
- EHTokMin16float,
- EHTokMin10float,
- EHTokMin16int,
- EHTokMin12int,
- EHTokMin16uint,
- // vector types
- EHTokBool1,
- EHTokBool2,
- EHTokBool3,
- EHTokBool4,
- EHTokFloat1,
- EHTokFloat2,
- EHTokFloat3,
- EHTokFloat4,
- EHTokInt1,
- EHTokInt2,
- EHTokInt3,
- EHTokInt4,
- EHTokDouble1,
- EHTokDouble2,
- EHTokDouble3,
- EHTokDouble4,
- EHTokUint1,
- EHTokUint2,
- EHTokUint3,
- EHTokUint4,
- EHTokHalf1,
- EHTokHalf2,
- EHTokHalf3,
- EHTokHalf4,
- EHTokMin16float1,
- EHTokMin16float2,
- EHTokMin16float3,
- EHTokMin16float4,
- EHTokMin10float1,
- EHTokMin10float2,
- EHTokMin10float3,
- EHTokMin10float4,
- EHTokMin16int1,
- EHTokMin16int2,
- EHTokMin16int3,
- EHTokMin16int4,
- EHTokMin12int1,
- EHTokMin12int2,
- EHTokMin12int3,
- EHTokMin12int4,
- EHTokMin16uint1,
- EHTokMin16uint2,
- EHTokMin16uint3,
- EHTokMin16uint4,
- // matrix types
- EHTokInt1x1,
- EHTokInt1x2,
- EHTokInt1x3,
- EHTokInt1x4,
- EHTokInt2x1,
- EHTokInt2x2,
- EHTokInt2x3,
- EHTokInt2x4,
- EHTokInt3x1,
- EHTokInt3x2,
- EHTokInt3x3,
- EHTokInt3x4,
- EHTokInt4x1,
- EHTokInt4x2,
- EHTokInt4x3,
- EHTokInt4x4,
- EHTokUint1x1,
- EHTokUint1x2,
- EHTokUint1x3,
- EHTokUint1x4,
- EHTokUint2x1,
- EHTokUint2x2,
- EHTokUint2x3,
- EHTokUint2x4,
- EHTokUint3x1,
- EHTokUint3x2,
- EHTokUint3x3,
- EHTokUint3x4,
- EHTokUint4x1,
- EHTokUint4x2,
- EHTokUint4x3,
- EHTokUint4x4,
- EHTokBool1x1,
- EHTokBool1x2,
- EHTokBool1x3,
- EHTokBool1x4,
- EHTokBool2x1,
- EHTokBool2x2,
- EHTokBool2x3,
- EHTokBool2x4,
- EHTokBool3x1,
- EHTokBool3x2,
- EHTokBool3x3,
- EHTokBool3x4,
- EHTokBool4x1,
- EHTokBool4x2,
- EHTokBool4x3,
- EHTokBool4x4,
- EHTokFloat1x1,
- EHTokFloat1x2,
- EHTokFloat1x3,
- EHTokFloat1x4,
- EHTokFloat2x1,
- EHTokFloat2x2,
- EHTokFloat2x3,
- EHTokFloat2x4,
- EHTokFloat3x1,
- EHTokFloat3x2,
- EHTokFloat3x3,
- EHTokFloat3x4,
- EHTokFloat4x1,
- EHTokFloat4x2,
- EHTokFloat4x3,
- EHTokFloat4x4,
- EHTokHalf1x1,
- EHTokHalf1x2,
- EHTokHalf1x3,
- EHTokHalf1x4,
- EHTokHalf2x1,
- EHTokHalf2x2,
- EHTokHalf2x3,
- EHTokHalf2x4,
- EHTokHalf3x1,
- EHTokHalf3x2,
- EHTokHalf3x3,
- EHTokHalf3x4,
- EHTokHalf4x1,
- EHTokHalf4x2,
- EHTokHalf4x3,
- EHTokHalf4x4,
- EHTokDouble1x1,
- EHTokDouble1x2,
- EHTokDouble1x3,
- EHTokDouble1x4,
- EHTokDouble2x1,
- EHTokDouble2x2,
- EHTokDouble2x3,
- EHTokDouble2x4,
- EHTokDouble3x1,
- EHTokDouble3x2,
- EHTokDouble3x3,
- EHTokDouble3x4,
- EHTokDouble4x1,
- EHTokDouble4x2,
- EHTokDouble4x3,
- EHTokDouble4x4,
- // texturing types
- EHTokSampler,
- EHTokSampler1d,
- EHTokSampler2d,
- EHTokSampler3d,
- EHTokSamplerCube,
- EHTokSamplerState,
- EHTokSamplerComparisonState,
- EHTokTexture,
- EHTokTexture1d,
- EHTokTexture1darray,
- EHTokTexture2d,
- EHTokTexture2darray,
- EHTokTexture3d,
- EHTokTextureCube,
- EHTokTextureCubearray,
- EHTokTexture2DMS,
- EHTokTexture2DMSarray,
- EHTokRWTexture1d,
- EHTokRWTexture1darray,
- EHTokRWTexture2d,
- EHTokRWTexture2darray,
- EHTokRWTexture3d,
- EHTokRWBuffer,
- EHTokSubpassInput,
- EHTokSubpassInputMS,
- // Structure buffer variants
- EHTokAppendStructuredBuffer,
- EHTokByteAddressBuffer,
- EHTokConsumeStructuredBuffer,
- EHTokRWByteAddressBuffer,
- EHTokRWStructuredBuffer,
- EHTokStructuredBuffer,
- EHTokTextureBuffer,
- // variable, user type, ...
- EHTokIdentifier,
- EHTokClass,
- EHTokStruct,
- EHTokCBuffer,
- EHTokTBuffer,
- EHTokTypedef,
- EHTokThis,
- EHTokNamespace,
- EHTokConstantBuffer,
- // constant
- EHTokFloat16Constant,
- EHTokFloatConstant,
- EHTokDoubleConstant,
- EHTokIntConstant,
- EHTokUintConstant,
- EHTokBoolConstant,
- EHTokStringConstant,
- // control flow
- EHTokFor,
- EHTokDo,
- EHTokWhile,
- EHTokBreak,
- EHTokContinue,
- EHTokIf,
- EHTokElse,
- EHTokDiscard,
- EHTokReturn,
- EHTokSwitch,
- EHTokCase,
- EHTokDefault,
- // expressions
- EHTokLeftOp,
- EHTokRightOp,
- EHTokIncOp,
- EHTokDecOp,
- EHTokLeOp,
- EHTokGeOp,
- EHTokEqOp,
- EHTokNeOp,
- EHTokAndOp,
- EHTokOrOp,
- EHTokXorOp,
- EHTokAssign,
- EHTokMulAssign,
- EHTokDivAssign,
- EHTokAddAssign,
- EHTokModAssign,
- EHTokLeftAssign,
- EHTokRightAssign,
- EHTokAndAssign,
- EHTokXorAssign,
- EHTokOrAssign,
- EHTokSubAssign,
- EHTokLeftParen,
- EHTokRightParen,
- EHTokLeftBracket,
- EHTokRightBracket,
- EHTokLeftBrace,
- EHTokRightBrace,
- EHTokDot,
- EHTokComma,
- EHTokColon,
- EHTokColonColon,
- EHTokSemicolon,
- EHTokBang,
- EHTokDash,
- EHTokTilde,
- EHTokPlus,
- EHTokStar,
- EHTokSlash,
- EHTokPercent,
- EHTokLeftAngle,
- EHTokRightAngle,
- EHTokVerticalBar,
- EHTokCaret,
- EHTokAmpersand,
- EHTokQuestion,
- };
- } // end namespace glslang
- #endif // EHLSLTOKENS_H_
|