diff options
author | Ethan Nicholas <ethannicholas@google.com> | 2017-09-11 13:50:14 -0700 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2017-09-11 21:45:20 +0000 |
commit | 5b5f096a038259b8d9084834f877588a0db80250 (patch) | |
tree | 1b78aa591c578a09012b1f8f8533c3fc3d9c1372 /src/sksl/SkSLContext.h | |
parent | 9194706e8cf1ed72f07b2ed9207d81120f2135ad (diff) |
Revert "Revert "Switch to the new SkSL lexer.""
This reverts commit 358515491a0d6891e6a709688a30ad087df1beb1.
Bug: skia:
Change-Id: I013fac0ed83774d8ae7c6ee6819045cab37f5e97
Reviewed-on: https://skia-review.googlesource.com/45180
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Diffstat (limited to 'src/sksl/SkSLContext.h')
-rw-r--r-- | src/sksl/SkSLContext.h | 290 |
1 files changed, 145 insertions, 145 deletions
diff --git a/src/sksl/SkSLContext.h b/src/sksl/SkSLContext.h index b132cec33d..e421695f11 100644 --- a/src/sksl/SkSLContext.h +++ b/src/sksl/SkSLContext.h @@ -19,172 +19,172 @@ namespace SkSL { class Context { public: Context() - : fInvalid_Type(new Type(String("<INVALID>"))) - , fVoid_Type(new Type(String("void"))) - , fDouble_Type(new Type(String("double"), Type::kFloat_NumberKind)) - , fDouble2_Type(new Type(String("double2"), *fDouble_Type, 2)) - , fDouble3_Type(new Type(String("double3"), *fDouble_Type, 3)) - , fDouble4_Type(new Type(String("double4"), *fDouble_Type, 4)) - , fFloat_Type(new Type(String("float"), Type::kFloat_NumberKind)) - , fFloat2_Type(new Type(String("float2"), *fFloat_Type, 2)) - , fFloat3_Type(new Type(String("float3"), *fFloat_Type, 3)) - , fFloat4_Type(new Type(String("float4"), *fFloat_Type, 4)) - , fHalf_Type(new Type(String("half"), Type::kFloat_NumberKind)) - , fHalf2_Type(new Type(String("half2"), *fHalf_Type, 2)) - , fHalf3_Type(new Type(String("half3"), *fHalf_Type, 3)) - , fHalf4_Type(new Type(String("half4"), *fHalf_Type, 4)) - , fUInt_Type(new Type(String("uint"), Type::kUnsigned_NumberKind)) - , fUInt2_Type(new Type(String("uint2"), *fUInt_Type, 2)) - , fUInt3_Type(new Type(String("uint3"), *fUInt_Type, 3)) - , fUInt4_Type(new Type(String("uint4"), *fUInt_Type, 4)) - , fInt_Type(new Type(String("int"), Type::kSigned_NumberKind)) - , fInt2_Type(new Type(String("int2"), *fInt_Type, 2)) - , fInt3_Type(new Type(String("int3"), *fInt_Type, 3)) - , fInt4_Type(new Type(String("int4"), *fInt_Type, 4)) - , fUShort_Type(new Type(String("ushort"), Type::kUnsigned_NumberKind)) - , fUShort2_Type(new Type(String("ushort2"), *fUShort_Type, 2)) - , fUShort3_Type(new Type(String("ushort3"), *fUShort_Type, 3)) - , fUShort4_Type(new Type(String("ushort4"), *fUShort_Type, 4)) - , fShort_Type(new Type(String("short"), Type::kSigned_NumberKind)) - , fShort2_Type(new Type(String("short2"), *fShort_Type, 2)) - , fShort3_Type(new Type(String("short3"), *fShort_Type, 3)) - , fShort4_Type(new Type(String("short4"), *fShort_Type, 4)) - , fBool_Type(new Type(String("bool"), Type::kNonnumeric_NumberKind)) - , fBool2_Type(new Type(String("bool2"), *fBool_Type, 2)) - , fBool3_Type(new Type(String("bool3"), *fBool_Type, 3)) - , fBool4_Type(new Type(String("bool4"), *fBool_Type, 4)) - , fFloat2x2_Type(new Type(String("float2x2"), *fFloat_Type, 2, 2)) - , fFloat2x3_Type(new Type(String("float2x3"), *fFloat_Type, 2, 3)) - , fFloat2x4_Type(new Type(String("float2x4"), *fFloat_Type, 2, 4)) - , fFloat3x2_Type(new Type(String("float3x2"), *fFloat_Type, 3, 2)) - , fFloat3x3_Type(new Type(String("float3x3"), *fFloat_Type, 3, 3)) - , fFloat3x4_Type(new Type(String("float3x4"), *fFloat_Type, 3, 4)) - , fFloat4x2_Type(new Type(String("float4x2"), *fFloat_Type, 4, 2)) - , fFloat4x3_Type(new Type(String("float4x3"), *fFloat_Type, 4, 3)) - , fFloat4x4_Type(new Type(String("float4x4"), *fFloat_Type, 4, 4)) - , fHalf2x2_Type(new Type(String("half2x2"), *fHalf_Type, 2, 2)) - , fHalf2x3_Type(new Type(String("half2x3"), *fHalf_Type, 2, 3)) - , fHalf2x4_Type(new Type(String("half2x4"), *fHalf_Type, 2, 4)) - , fHalf3x2_Type(new Type(String("half3x2"), *fHalf_Type, 3, 2)) - , fHalf3x3_Type(new Type(String("half3x3"), *fHalf_Type, 3, 3)) - , fHalf3x4_Type(new Type(String("half3x4"), *fHalf_Type, 3, 4)) - , fHalf4x2_Type(new Type(String("half4x2"), *fHalf_Type, 4, 2)) - , fHalf4x3_Type(new Type(String("half4x3"), *fHalf_Type, 4, 3)) - , fHalf4x4_Type(new Type(String("half4x4"), *fHalf_Type, 4, 4)) - , fDouble2x2_Type(new Type(String("double2x2"), *fDouble_Type, 2, 2)) - , fDouble2x3_Type(new Type(String("double2x3"), *fDouble_Type, 2, 3)) - , fDouble2x4_Type(new Type(String("double2x4"), *fDouble_Type, 2, 4)) - , fDouble3x2_Type(new Type(String("double3x2"), *fDouble_Type, 3, 2)) - , fDouble3x3_Type(new Type(String("double3x3"), *fDouble_Type, 3, 3)) - , fDouble3x4_Type(new Type(String("double3x4"), *fDouble_Type, 3, 4)) - , fDouble4x2_Type(new Type(String("double4x2"), *fDouble_Type, 4, 2)) - , fDouble4x3_Type(new Type(String("double4x3"), *fDouble_Type, 4, 3)) - , fDouble4x4_Type(new Type(String("double4x4"), *fDouble_Type, 4, 4)) - , fSampler1D_Type(new Type(String("sampler1D"), SpvDim1D, false, false, false, true)) - , fSampler2D_Type(new Type(String("sampler2D"), SpvDim2D, false, false, false, true)) - , fSampler3D_Type(new Type(String("sampler3D"), SpvDim3D, false, false, false, true)) - , fSamplerExternalOES_Type(new Type(String("samplerExternalOES"), SpvDim2D, false, false, + : fInvalid_Type(new Type("<INVALID>")) + , fVoid_Type(new Type("void")) + , fDouble_Type(new Type("double", Type::kFloat_NumberKind)) + , fDouble2_Type(new Type("double2", *fDouble_Type, 2)) + , fDouble3_Type(new Type("double3", *fDouble_Type, 3)) + , fDouble4_Type(new Type("double4", *fDouble_Type, 4)) + , fFloat_Type(new Type("float", Type::kFloat_NumberKind)) + , fFloat2_Type(new Type("float2", *fFloat_Type, 2)) + , fFloat3_Type(new Type("float3", *fFloat_Type, 3)) + , fFloat4_Type(new Type("float4", *fFloat_Type, 4)) + , fHalf_Type(new Type("half", Type::kFloat_NumberKind)) + , fHalf2_Type(new Type("half2", *fHalf_Type, 2)) + , fHalf3_Type(new Type("half3", *fHalf_Type, 3)) + , fHalf4_Type(new Type("half4", *fHalf_Type, 4)) + , fUInt_Type(new Type("uint", Type::kUnsigned_NumberKind)) + , fUInt2_Type(new Type("uint2", *fUInt_Type, 2)) + , fUInt3_Type(new Type("uint3", *fUInt_Type, 3)) + , fUInt4_Type(new Type("uint4", *fUInt_Type, 4)) + , fInt_Type(new Type("int", Type::kSigned_NumberKind)) + , fInt2_Type(new Type("int2", *fInt_Type, 2)) + , fInt3_Type(new Type("int3", *fInt_Type, 3)) + , fInt4_Type(new Type("int4", *fInt_Type, 4)) + , fUShort_Type(new Type("ushort", Type::kUnsigned_NumberKind)) + , fUShort2_Type(new Type("ushort2", *fUShort_Type, 2)) + , fUShort3_Type(new Type("ushort3", *fUShort_Type, 3)) + , fUShort4_Type(new Type("ushort4", *fUShort_Type, 4)) + , fShort_Type(new Type("short", Type::kSigned_NumberKind)) + , fShort2_Type(new Type("short2", *fShort_Type, 2)) + , fShort3_Type(new Type("short3", *fShort_Type, 3)) + , fShort4_Type(new Type("short4", *fShort_Type, 4)) + , fBool_Type(new Type("bool", Type::kNonnumeric_NumberKind)) + , fBool2_Type(new Type("bool2", *fBool_Type, 2)) + , fBool3_Type(new Type("bool3", *fBool_Type, 3)) + , fBool4_Type(new Type("bool4", *fBool_Type, 4)) + , fFloat2x2_Type(new Type("float2x2", *fFloat_Type, 2, 2)) + , fFloat2x3_Type(new Type("float2x3", *fFloat_Type, 2, 3)) + , fFloat2x4_Type(new Type("float2x4", *fFloat_Type, 2, 4)) + , fFloat3x2_Type(new Type("float3x2", *fFloat_Type, 3, 2)) + , fFloat3x3_Type(new Type("float3x3", *fFloat_Type, 3, 3)) + , fFloat3x4_Type(new Type("float3x4", *fFloat_Type, 3, 4)) + , fFloat4x2_Type(new Type("float4x2", *fFloat_Type, 4, 2)) + , fFloat4x3_Type(new Type("float4x3", *fFloat_Type, 4, 3)) + , fFloat4x4_Type(new Type("float4x4", *fFloat_Type, 4, 4)) + , fHalf2x2_Type(new Type("half2x2", *fHalf_Type, 2, 2)) + , fHalf2x3_Type(new Type("half2x3", *fHalf_Type, 2, 3)) + , fHalf2x4_Type(new Type("half2x4", *fHalf_Type, 2, 4)) + , fHalf3x2_Type(new Type("half3x2", *fHalf_Type, 3, 2)) + , fHalf3x3_Type(new Type("half3x3", *fHalf_Type, 3, 3)) + , fHalf3x4_Type(new Type("half3x4", *fHalf_Type, 3, 4)) + , fHalf4x2_Type(new Type("half4x2", *fHalf_Type, 4, 2)) + , fHalf4x3_Type(new Type("half4x3", *fHalf_Type, 4, 3)) + , fHalf4x4_Type(new Type("half4x4", *fHalf_Type, 4, 4)) + , fDouble2x2_Type(new Type("double2x2", *fDouble_Type, 2, 2)) + , fDouble2x3_Type(new Type("double2x3", *fDouble_Type, 2, 3)) + , fDouble2x4_Type(new Type("double2x4", *fDouble_Type, 2, 4)) + , fDouble3x2_Type(new Type("double3x2", *fDouble_Type, 3, 2)) + , fDouble3x3_Type(new Type("double3x3", *fDouble_Type, 3, 3)) + , fDouble3x4_Type(new Type("double3x4", *fDouble_Type, 3, 4)) + , fDouble4x2_Type(new Type("double4x2", *fDouble_Type, 4, 2)) + , fDouble4x3_Type(new Type("double4x3", *fDouble_Type, 4, 3)) + , fDouble4x4_Type(new Type("double4x4", *fDouble_Type, 4, 4)) + , fSampler1D_Type(new Type("sampler1D", SpvDim1D, false, false, false, true)) + , fSampler2D_Type(new Type("sampler2D", SpvDim2D, false, false, false, true)) + , fSampler3D_Type(new Type("sampler3D", SpvDim3D, false, false, false, true)) + , fSamplerExternalOES_Type(new Type("samplerExternalOES", SpvDim2D, false, false, false, true)) - , fSamplerCube_Type(new Type(String("samplerCube"), SpvDimCube, false, false, false, true)) - , fSampler2DRect_Type(new Type(String("sampler2DRect"), SpvDimRect, false, false, false, true)) - , fSampler1DArray_Type(new Type(String("sampler1DArray"))) - , fSampler2DArray_Type(new Type(String("sampler2DArray"))) - , fSamplerCubeArray_Type(new Type(String("samplerCubeArray"))) - , fSamplerBuffer_Type(new Type(String("samplerBuffer"), SpvDimBuffer, false, false, false, + , fSamplerCube_Type(new Type("samplerCube", SpvDimCube, false, false, false, true)) + , fSampler2DRect_Type(new Type("sampler2DRect", SpvDimRect, false, false, false, true)) + , fSampler1DArray_Type(new Type("sampler1DArray")) + , fSampler2DArray_Type(new Type("sampler2DArray")) + , fSamplerCubeArray_Type(new Type("samplerCubeArray")) + , fSamplerBuffer_Type(new Type("samplerBuffer", SpvDimBuffer, false, false, false, true)) - , fSampler2DMS_Type(new Type(String("sampler2DMS"))) - , fSampler2DMSArray_Type(new Type(String("sampler2DMSArray"))) - , fSampler1DShadow_Type(new Type(String("sampler1DShadow"))) - , fSampler2DShadow_Type(new Type(String("sampler2DShadow"))) - , fSamplerCubeShadow_Type(new Type(String("samplerCubeShadow"))) - , fSampler2DRectShadow_Type(new Type(String("sampler2DRectShadow"))) - , fSampler1DArrayShadow_Type(new Type(String("sampler1DArrayShadow"))) - , fSampler2DArrayShadow_Type(new Type(String("sampler2DArrayShadow"))) - , fSamplerCubeArrayShadow_Type(new Type(String("samplerCubeArrayShadow"))) + , fSampler2DMS_Type(new Type("sampler2DMS")) + , fSampler2DMSArray_Type(new Type("sampler2DMSArray")) + , fSampler1DShadow_Type(new Type("sampler1DShadow")) + , fSampler2DShadow_Type(new Type("sampler2DShadow")) + , fSamplerCubeShadow_Type(new Type("samplerCubeShadow")) + , fSampler2DRectShadow_Type(new Type("sampler2DRectShadow")) + , fSampler1DArrayShadow_Type(new Type("sampler1DArrayShadow")) + , fSampler2DArrayShadow_Type(new Type("sampler2DArrayShadow")) + , fSamplerCubeArrayShadow_Type(new Type("samplerCubeArrayShadow")) // Related to below FIXME, gsampler*s don't currently expand to cover integer case. - , fISampler2D_Type(new Type(String("isampler2D"), SpvDim2D, false, false, false, true)) + , fISampler2D_Type(new Type("isampler2D", SpvDim2D, false, false, false, true)) // FIXME express these as "gimage2D" that expand to image2D, iimage2D, and uimage2D. - , fImage2D_Type(new Type(String("image2D"), SpvDim2D, false, false, false, true)) - , fIImage2D_Type(new Type(String("iimage2D"), SpvDim2D, false, false, false, true)) + , fImage2D_Type(new Type("image2D", SpvDim2D, false, false, false, true)) + , fIImage2D_Type(new Type("iimage2D", SpvDim2D, false, false, false, true)) // FIXME express these as "gsubpassInput" that expand to subpassInput, isubpassInput, // and usubpassInput. - , fSubpassInput_Type(new Type(String("subpassInput"), SpvDimSubpassData, false, false, - false, false)) - , fSubpassInputMS_Type(new Type(String("subpassInputMS"), SpvDimSubpassData, false, false, - true, false)) + , fSubpassInput_Type(new Type("subpassInput", SpvDimSubpassData, false, false, + false, false)) + , fSubpassInputMS_Type(new Type("subpassInputMS", SpvDimSubpassData, false, false, + true, false)) // FIXME figure out what we're supposed to do with the gsampler et al. types) - , fGSampler1D_Type(new Type(String("$gsampler1D"), static_type(*fSampler1D_Type))) - , fGSampler2D_Type(new Type(String("$gsampler2D"), static_type(*fSampler2D_Type))) - , fGSampler3D_Type(new Type(String("$gsampler3D"), static_type(*fSampler3D_Type))) - , fGSamplerCube_Type(new Type(String("$gsamplerCube"), static_type(*fSamplerCube_Type))) - , fGSampler2DRect_Type(new Type(String("$gsampler2DRect"), static_type(*fSampler2DRect_Type))) - , fGSampler1DArray_Type(new Type(String("$gsampler1DArray"), + , fGSampler1D_Type(new Type("$gsampler1D", static_type(*fSampler1D_Type))) + , fGSampler2D_Type(new Type("$gsampler2D", static_type(*fSampler2D_Type))) + , fGSampler3D_Type(new Type("$gsampler3D", static_type(*fSampler3D_Type))) + , fGSamplerCube_Type(new Type("$gsamplerCube", static_type(*fSamplerCube_Type))) + , fGSampler2DRect_Type(new Type("$gsampler2DRect", static_type(*fSampler2DRect_Type))) + , fGSampler1DArray_Type(new Type("$gsampler1DArray", static_type(*fSampler1DArray_Type))) - , fGSampler2DArray_Type(new Type(String("$gsampler2DArray"), + , fGSampler2DArray_Type(new Type("$gsampler2DArray", static_type(*fSampler2DArray_Type))) - , fGSamplerCubeArray_Type(new Type(String("$gsamplerCubeArray"), + , fGSamplerCubeArray_Type(new Type("$gsamplerCubeArray", static_type(*fSamplerCubeArray_Type))) - , fGSamplerBuffer_Type(new Type(String("$gsamplerBuffer"), static_type(*fSamplerBuffer_Type))) - , fGSampler2DMS_Type(new Type(String("$gsampler2DMS"), static_type(*fSampler2DMS_Type))) - , fGSampler2DMSArray_Type(new Type(String("$gsampler2DMSArray"), + , fGSamplerBuffer_Type(new Type("$gsamplerBuffer", static_type(*fSamplerBuffer_Type))) + , fGSampler2DMS_Type(new Type("$gsampler2DMS", static_type(*fSampler2DMS_Type))) + , fGSampler2DMSArray_Type(new Type("$gsampler2DMSArray", static_type(*fSampler2DMSArray_Type))) - , fGSampler2DArrayShadow_Type(new Type(String("$gsampler2DArrayShadow"), + , fGSampler2DArrayShadow_Type(new Type("$gsampler2DArrayShadow", static_type(*fSampler2DArrayShadow_Type))) - , fGSamplerCubeArrayShadow_Type(new Type(String("$gsamplerCubeArrayShadow"), + , fGSamplerCubeArrayShadow_Type(new Type("$gsamplerCubeArrayShadow", static_type(*fSamplerCubeArrayShadow_Type))) - , fGenType_Type(new Type(String("$genType"), { fFloat_Type.get(), fFloat2_Type.get(), - fFloat3_Type.get(), fFloat4_Type.get() })) - , fGenHType_Type(new Type(String("$genHType"), { fHalf_Type.get(), fHalf2_Type.get(), - fHalf3_Type.get(), fHalf4_Type.get() })) - , fGenDType_Type(new Type(String("$genDType"), { fDouble_Type.get(), fDouble2_Type.get(), - fDouble3_Type.get(), fDouble4_Type.get() })) - , fGenIType_Type(new Type(String("$genIType"), { fInt_Type.get(), fInt2_Type.get(), - fInt3_Type.get(), fInt4_Type.get() })) - , fGenUType_Type(new Type(String("$genUType"), { fUInt_Type.get(), fUInt2_Type.get(), - fUInt3_Type.get(), fUInt4_Type.get() })) - , fGenBType_Type(new Type(String("$genBType"), { fBool_Type.get(), fBool2_Type.get(), - fBool3_Type.get(), fBool4_Type.get() })) - , fMat_Type(new Type(String("$mat"), { fFloat2x2_Type.get(), fFloat2x3_Type.get(), - fFloat2x4_Type.get(), fFloat3x2_Type.get(), - fFloat3x3_Type.get(), fFloat3x4_Type.get(), - fFloat4x2_Type.get(), fFloat4x3_Type.get(), - fFloat4x4_Type.get(), fHalf2x2_Type.get(), - fHalf2x3_Type.get(), fHalf2x4_Type.get(), - fHalf3x2_Type.get(), fHalf3x3_Type.get(), - fHalf3x4_Type.get(), fHalf4x2_Type.get(), - fHalf4x3_Type.get(), fHalf4x4_Type.get(), - fDouble2x2_Type.get(), fDouble2x3_Type.get(), - fDouble2x4_Type.get(), fDouble3x2_Type.get(), - fDouble3x3_Type.get(), fDouble3x4_Type.get(), - fDouble4x2_Type.get(), fDouble4x3_Type.get(), - fDouble4x4_Type.get() })) - , fVec_Type(new Type(String("$vec"), { fInvalid_Type.get(), fFloat2_Type.get(), + , fGenType_Type(new Type("$genType", { fFloat_Type.get(), fFloat2_Type.get(), fFloat3_Type.get(), fFloat4_Type.get() })) - , fGVec_Type(new Type(String("$gvec"))) - , fGVec2_Type(new Type(String("$gfloat2"))) - , fGVec3_Type(new Type(String("$gfloat3"))) - , fGVec4_Type(new Type(String("$gfloat4"), static_type(*fFloat4_Type))) - , fHVec_Type(new Type(String("$hvec"), { fInvalid_Type.get(), fHalf2_Type.get(), + , fGenHType_Type(new Type("$genHType", { fHalf_Type.get(), fHalf2_Type.get(), fHalf3_Type.get(), fHalf4_Type.get() })) - , fDVec_Type(new Type(String("$dvec"), { fInvalid_Type.get(), fDouble2_Type.get(), + , fGenDType_Type(new Type("$genDType", { fDouble_Type.get(), fDouble2_Type.get(), fDouble3_Type.get(), fDouble4_Type.get() })) - , fIVec_Type(new Type(String("$ivec"), { fInvalid_Type.get(), fInt2_Type.get(), + , fGenIType_Type(new Type("$genIType", { fInt_Type.get(), fInt2_Type.get(), fInt3_Type.get(), fInt4_Type.get() })) - , fUVec_Type(new Type(String("$uvec"), { fInvalid_Type.get(), fUInt2_Type.get(), + , fGenUType_Type(new Type("$genUType", { fUInt_Type.get(), fUInt2_Type.get(), fUInt3_Type.get(), fUInt4_Type.get() })) - , fSVec_Type(new Type(String("$svec"), { fInvalid_Type.get(), fShort2_Type.get(), - fShort3_Type.get(), fShort4_Type.get() })) - , fUSVec_Type(new Type(String("$usvec"), { fInvalid_Type.get(), fUShort2_Type.get(), - fUShort3_Type.get(), fUShort4_Type.get() })) - , fBVec_Type(new Type(String("$bvec"), { fInvalid_Type.get(), fBool2_Type.get(), + , fGenBType_Type(new Type("$genBType", { fBool_Type.get(), fBool2_Type.get(), fBool3_Type.get(), fBool4_Type.get() })) - , fSkCaps_Type(new Type(String("$sk_Caps"))) - , fSkArgs_Type(new Type(String("$sk_Args"))) - , fColorSpaceXform_Type(new Type(String("colorSpaceXform"), *fFloat_Type, 4, 4)) + , fMat_Type(new Type("$mat", { fFloat2x2_Type.get(), fFloat2x3_Type.get(), + fFloat2x4_Type.get(), fFloat3x2_Type.get(), + fFloat3x3_Type.get(), fFloat3x4_Type.get(), + fFloat4x2_Type.get(), fFloat4x3_Type.get(), + fFloat4x4_Type.get(), fHalf2x2_Type.get(), + fHalf2x3_Type.get(), fHalf2x4_Type.get(), + fHalf3x2_Type.get(), fHalf3x3_Type.get(), + fHalf3x4_Type.get(), fHalf4x2_Type.get(), + fHalf4x3_Type.get(), fHalf4x4_Type.get(), + fDouble2x2_Type.get(), fDouble2x3_Type.get(), + fDouble2x4_Type.get(), fDouble3x2_Type.get(), + fDouble3x3_Type.get(), fDouble3x4_Type.get(), + fDouble4x2_Type.get(), fDouble4x3_Type.get(), + fDouble4x4_Type.get() })) + , fVec_Type(new Type("$vec", { fInvalid_Type.get(), fFloat2_Type.get(), + fFloat3_Type.get(), fFloat4_Type.get() })) + , fGVec_Type(new Type("$gvec")) + , fGVec2_Type(new Type("$gfloat2")) + , fGVec3_Type(new Type("$gfloat3")) + , fGVec4_Type(new Type("$gfloat4", static_type(*fFloat4_Type))) + , fHVec_Type(new Type("$hvec", { fInvalid_Type.get(), fHalf2_Type.get(), + fHalf3_Type.get(), fHalf4_Type.get() })) + , fDVec_Type(new Type("$dvec", { fInvalid_Type.get(), fDouble2_Type.get(), + fDouble3_Type.get(), fDouble4_Type.get() })) + , fIVec_Type(new Type("$ivec", { fInvalid_Type.get(), fInt2_Type.get(), + fInt3_Type.get(), fInt4_Type.get() })) + , fUVec_Type(new Type("$uvec", { fInvalid_Type.get(), fUInt2_Type.get(), + fUInt3_Type.get(), fUInt4_Type.get() })) + , fSVec_Type(new Type("$svec", { fInvalid_Type.get(), fShort2_Type.get(), + fShort3_Type.get(), fShort4_Type.get() })) + , fUSVec_Type(new Type("$usvec", { fInvalid_Type.get(), fUShort2_Type.get(), + fUShort3_Type.get(), fUShort4_Type.get() })) + , fBVec_Type(new Type("$bvec", { fInvalid_Type.get(), fBool2_Type.get(), + fBool3_Type.get(), fBool4_Type.get() })) + , fSkCaps_Type(new Type("$sk_Caps")) + , fSkArgs_Type(new Type("$sk_Args")) + , fColorSpaceXform_Type(new Type("colorSpaceXform", *fFloat_Type, 4, 4)) , fDefined_Expression(new Defined(*fInvalid_Type)) {} static std::vector<const Type*> static_type(const Type& t) { @@ -343,14 +343,14 @@ private: class Defined : public Expression { public: Defined(const Type& type) - : INHERITED(Position(), kDefined_Kind, type) {} + : INHERITED(-1, kDefined_Kind, type) {} bool hasSideEffects() const override { return false; } String description() const override { - return String("<defined>"); + return "<defined>"; } typedef Expression INHERITED; |