mirror of
https://github.com/KhronosGroup/glslang
synced 2024-09-18 19:59:54 +00:00
Web: Add separate texture/sampler, exclude *CubeArray*.
Looks like will add about 1K compressed size to executable footprint.
This commit is contained in:
parent
5e634c8999
commit
61c22e255d
178
Test/baseResults/web.separate.frag.out
Normal file
178
Test/baseResults/web.separate.frag.out
Normal file
@ -0,0 +1,178 @@
|
||||
; SPIR-V
|
||||
; Version: 1.0
|
||||
; Generator: Khronos Glslang Reference Front End; 7
|
||||
; Bound: 99
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
%1 = OpExtInstImport "GLSL.std.450"
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Fragment %main "main" %color %i
|
||||
OpExecutionMode %main OriginUpperLeft
|
||||
OpSource ESSL 310
|
||||
OpName %main "main"
|
||||
OpName %color "color"
|
||||
OpName %t2d "t2d"
|
||||
OpName %s "s"
|
||||
OpName %t3d "t3d"
|
||||
OpName %sA "sA"
|
||||
OpName %sShadow "sShadow"
|
||||
OpName %i "i"
|
||||
OpName %tex2D "tex2D"
|
||||
OpName %texCube "texCube"
|
||||
OpName %tex2DArray "tex2DArray"
|
||||
OpName %itex2D "itex2D"
|
||||
OpName %itex3D "itex3D"
|
||||
OpName %itexCube "itexCube"
|
||||
OpName %itex2DArray "itex2DArray"
|
||||
OpName %utex2D "utex2D"
|
||||
OpName %utex3D "utex3D"
|
||||
OpName %utexCube "utexCube"
|
||||
OpName %utex2DArray "utex2DArray"
|
||||
OpName %tex3D "tex3D"
|
||||
OpDecorate %color Location 0
|
||||
OpDecorate %t2d RelaxedPrecision
|
||||
OpDecorate %t2d DescriptorSet 0
|
||||
OpDecorate %t2d Binding 3
|
||||
OpDecorate %14 RelaxedPrecision
|
||||
OpDecorate %s DescriptorSet 0
|
||||
OpDecorate %s Binding 0
|
||||
OpDecorate %23 RelaxedPrecision
|
||||
OpDecorate %t3d DescriptorSet 0
|
||||
OpDecorate %t3d Binding 4
|
||||
OpDecorate %sA DescriptorSet 0
|
||||
OpDecorate %sA Binding 2
|
||||
OpDecorate %48 RelaxedPrecision
|
||||
OpDecorate %51 RelaxedPrecision
|
||||
OpDecorate %sShadow DescriptorSet 0
|
||||
OpDecorate %sShadow Binding 1
|
||||
OpDecorate %i RelaxedPrecision
|
||||
OpDecorate %i Flat
|
||||
OpDecorate %i Location 0
|
||||
OpDecorate %tex2D RelaxedPrecision
|
||||
OpDecorate %tex2D DescriptorSet 0
|
||||
OpDecorate %tex2D Binding 5
|
||||
OpDecorate %texCube RelaxedPrecision
|
||||
OpDecorate %texCube DescriptorSet 0
|
||||
OpDecorate %texCube Binding 6
|
||||
OpDecorate %tex2DArray DescriptorSet 0
|
||||
OpDecorate %tex2DArray Binding 15
|
||||
OpDecorate %itex2D DescriptorSet 0
|
||||
OpDecorate %itex2D Binding 16
|
||||
OpDecorate %itex3D DescriptorSet 0
|
||||
OpDecorate %itex3D Binding 17
|
||||
OpDecorate %itexCube DescriptorSet 0
|
||||
OpDecorate %itexCube Binding 18
|
||||
OpDecorate %itex2DArray DescriptorSet 0
|
||||
OpDecorate %itex2DArray Binding 19
|
||||
OpDecorate %utex2D DescriptorSet 0
|
||||
OpDecorate %utex2D Binding 20
|
||||
OpDecorate %utex3D DescriptorSet 0
|
||||
OpDecorate %utex3D Binding 21
|
||||
OpDecorate %utexCube DescriptorSet 0
|
||||
OpDecorate %utexCube Binding 22
|
||||
OpDecorate %utex2DArray DescriptorSet 0
|
||||
OpDecorate %utex2DArray Binding 23
|
||||
OpDecorate %tex3D DescriptorSet 0
|
||||
OpDecorate %tex3D Binding 36
|
||||
%void = OpTypeVoid
|
||||
%3 = OpTypeFunction %void
|
||||
%float = OpTypeFloat 32
|
||||
%v4float = OpTypeVector %float 4
|
||||
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||
%color = OpVariable %_ptr_Output_v4float Output
|
||||
%10 = OpTypeImage %float 2D 0 0 0 1 Unknown
|
||||
%11 = OpTypeSampledImage %10
|
||||
%_ptr_UniformConstant_11 = OpTypePointer UniformConstant %11
|
||||
%t2d = OpVariable %_ptr_UniformConstant_11 UniformConstant
|
||||
%15 = OpTypeSampler
|
||||
%_ptr_UniformConstant_15 = OpTypePointer UniformConstant %15
|
||||
%s = OpVariable %_ptr_UniformConstant_15 UniformConstant
|
||||
%v2float = OpTypeVector %float 2
|
||||
%float_0_5 = OpConstant %float 0.5
|
||||
%22 = OpConstantComposite %v2float %float_0_5 %float_0_5
|
||||
%24 = OpTypeImage %float 3D 0 0 0 1 Unknown
|
||||
%25 = OpTypeSampledImage %24
|
||||
%uint = OpTypeInt 32 0
|
||||
%uint_4 = OpConstant %uint 4
|
||||
%_arr_25_uint_4 = OpTypeArray %25 %uint_4
|
||||
%_ptr_UniformConstant__arr_25_uint_4 = OpTypePointer UniformConstant %_arr_25_uint_4
|
||||
%t3d = OpVariable %_ptr_UniformConstant__arr_25_uint_4 UniformConstant
|
||||
%int = OpTypeInt 32 1
|
||||
%int_1 = OpConstant %int 1
|
||||
%_ptr_UniformConstant_25 = OpTypePointer UniformConstant %25
|
||||
%_arr_15_uint_4 = OpTypeArray %15 %uint_4
|
||||
%_ptr_UniformConstant__arr_15_uint_4 = OpTypePointer UniformConstant %_arr_15_uint_4
|
||||
%sA = OpVariable %_ptr_UniformConstant__arr_15_uint_4 UniformConstant
|
||||
%int_2 = OpConstant %int 2
|
||||
%v3float = OpTypeVector %float 3
|
||||
%44 = OpConstantComposite %v3float %float_0_5 %float_0_5 %float_0_5
|
||||
%sShadow = OpVariable %_ptr_UniformConstant_15 UniformConstant
|
||||
%_ptr_Input_int = OpTypePointer Input %int
|
||||
%i = OpVariable %_ptr_Input_int Input
|
||||
%tex2D = OpVariable %_ptr_UniformConstant_11 UniformConstant
|
||||
%58 = OpTypeImage %float Cube 0 0 0 1 Unknown
|
||||
%59 = OpTypeSampledImage %58
|
||||
%_ptr_UniformConstant_59 = OpTypePointer UniformConstant %59
|
||||
%texCube = OpVariable %_ptr_UniformConstant_59 UniformConstant
|
||||
%62 = OpTypeImage %float 2D 0 1 0 1 Unknown
|
||||
%63 = OpTypeSampledImage %62
|
||||
%_ptr_UniformConstant_63 = OpTypePointer UniformConstant %63
|
||||
%tex2DArray = OpVariable %_ptr_UniformConstant_63 UniformConstant
|
||||
%66 = OpTypeImage %int 2D 0 0 0 1 Unknown
|
||||
%67 = OpTypeSampledImage %66
|
||||
%_ptr_UniformConstant_67 = OpTypePointer UniformConstant %67
|
||||
%itex2D = OpVariable %_ptr_UniformConstant_67 UniformConstant
|
||||
%70 = OpTypeImage %int 3D 0 0 0 1 Unknown
|
||||
%71 = OpTypeSampledImage %70
|
||||
%_ptr_UniformConstant_71 = OpTypePointer UniformConstant %71
|
||||
%itex3D = OpVariable %_ptr_UniformConstant_71 UniformConstant
|
||||
%74 = OpTypeImage %int Cube 0 0 0 1 Unknown
|
||||
%75 = OpTypeSampledImage %74
|
||||
%_ptr_UniformConstant_75 = OpTypePointer UniformConstant %75
|
||||
%itexCube = OpVariable %_ptr_UniformConstant_75 UniformConstant
|
||||
%78 = OpTypeImage %int 2D 0 1 0 1 Unknown
|
||||
%79 = OpTypeSampledImage %78
|
||||
%_ptr_UniformConstant_79 = OpTypePointer UniformConstant %79
|
||||
%itex2DArray = OpVariable %_ptr_UniformConstant_79 UniformConstant
|
||||
%82 = OpTypeImage %uint 2D 0 0 0 1 Unknown
|
||||
%83 = OpTypeSampledImage %82
|
||||
%_ptr_UniformConstant_83 = OpTypePointer UniformConstant %83
|
||||
%utex2D = OpVariable %_ptr_UniformConstant_83 UniformConstant
|
||||
%86 = OpTypeImage %uint 3D 0 0 0 1 Unknown
|
||||
%87 = OpTypeSampledImage %86
|
||||
%_ptr_UniformConstant_87 = OpTypePointer UniformConstant %87
|
||||
%utex3D = OpVariable %_ptr_UniformConstant_87 UniformConstant
|
||||
%90 = OpTypeImage %uint Cube 0 0 0 1 Unknown
|
||||
%91 = OpTypeSampledImage %90
|
||||
%_ptr_UniformConstant_91 = OpTypePointer UniformConstant %91
|
||||
%utexCube = OpVariable %_ptr_UniformConstant_91 UniformConstant
|
||||
%94 = OpTypeImage %uint 2D 0 1 0 1 Unknown
|
||||
%95 = OpTypeSampledImage %94
|
||||
%_ptr_UniformConstant_95 = OpTypePointer UniformConstant %95
|
||||
%utex2DArray = OpVariable %_ptr_UniformConstant_95 UniformConstant
|
||||
%tex3D = OpVariable %_ptr_UniformConstant_25 UniformConstant
|
||||
%main = OpFunction %void None %3
|
||||
%5 = OpLabel
|
||||
%14 = OpLoad %11 %t2d
|
||||
%18 = OpLoad %15 %s
|
||||
%19 = OpSampledImage %11 %14 %18
|
||||
%23 = OpImageSampleImplicitLod %v4float %19 %22
|
||||
OpStore %color %23
|
||||
%34 = OpAccessChain %_ptr_UniformConstant_25 %t3d %int_1
|
||||
%35 = OpLoad %25 %34
|
||||
%40 = OpAccessChain %_ptr_UniformConstant_15 %sA %int_2
|
||||
%41 = OpLoad %15 %40
|
||||
%42 = OpSampledImage %25 %35 %41
|
||||
%45 = OpImageSampleImplicitLod %v4float %42 %44
|
||||
%46 = OpLoad %v4float %color
|
||||
%47 = OpFAdd %v4float %46 %45
|
||||
OpStore %color %47
|
||||
%48 = OpLoad %11 %t2d
|
||||
%49 = OpLoad %15 %s
|
||||
%50 = OpSampledImage %11 %48 %49
|
||||
%51 = OpImageSampleImplicitLod %v4float %50 %22
|
||||
%52 = OpLoad %v4float %color
|
||||
%53 = OpFAdd %v4float %52 %51
|
||||
OpStore %color %53
|
||||
OpReturn
|
||||
OpFunctionEnd
|
63
Test/web.separate.frag
Normal file
63
Test/web.separate.frag
Normal file
@ -0,0 +1,63 @@
|
||||
#version 310 es
|
||||
|
||||
precision highp sampler;
|
||||
precision highp samplerShadow;
|
||||
precision highp texture2DArray;
|
||||
precision highp itexture2D;
|
||||
precision highp itexture3D;
|
||||
precision highp itextureCube;
|
||||
precision highp itexture2DArray;
|
||||
precision highp utexture2D;
|
||||
precision highp utexture3D;
|
||||
precision highp utextureCube;
|
||||
precision highp utexture2DArray;
|
||||
precision highp texture3D;
|
||||
precision highp float;
|
||||
|
||||
layout(binding = 0) uniform sampler s;
|
||||
layout(binding = 1) uniform samplerShadow sShadow;
|
||||
layout(binding = 2) uniform sampler sA[4];
|
||||
layout(binding = 3) uniform texture2D t2d;
|
||||
layout(binding = 4) uniform texture3D t3d[4];
|
||||
layout(location = 0) flat in int i;
|
||||
|
||||
layout(location = 0) out vec4 color;
|
||||
|
||||
void main()
|
||||
{
|
||||
color = texture(sampler2D(t2d, s), vec2(0.5));
|
||||
color += texture(sampler3D(t3d[1], sA[2]), vec3(0.5));
|
||||
color += texture(sampler2D(t2d, s), vec2(0.5));
|
||||
}
|
||||
|
||||
layout(binding = 5) uniform texture2D tex2D;
|
||||
layout(binding = 6) uniform textureCube texCube;
|
||||
layout(binding = 15) uniform texture2DArray tex2DArray;
|
||||
layout(binding = 16) uniform itexture2D itex2D;
|
||||
layout(binding = 17) uniform itexture3D itex3D;
|
||||
layout(binding = 18) uniform itextureCube itexCube;
|
||||
layout(binding = 19) uniform itexture2DArray itex2DArray;
|
||||
layout(binding = 20) uniform utexture2D utex2D;
|
||||
layout(binding = 21) uniform utexture3D utex3D;
|
||||
layout(binding = 22) uniform utextureCube utexCube;
|
||||
layout(binding = 23) uniform utexture2DArray utex2DArray;
|
||||
layout(binding = 36) uniform texture3D tex3D;
|
||||
|
||||
void foo()
|
||||
{
|
||||
sampler2D (tex2D, s);
|
||||
samplerCube (texCube, s);
|
||||
samplerCubeShadow (texCube, sShadow);
|
||||
sampler2DArray (tex2DArray, s);
|
||||
sampler2DArrayShadow (tex2DArray, sShadow);
|
||||
isampler2D (itex2D, s);
|
||||
isampler3D (itex3D, s);
|
||||
isamplerCube (itexCube, s);
|
||||
isampler2DArray (itex2DArray, s);
|
||||
usampler2D (utex2D, s);
|
||||
usampler3D (utex3D, s);
|
||||
usamplerCube (utexCube, s);
|
||||
usampler2DArray (utex2DArray, s);
|
||||
sampler3D (tex3D, s);
|
||||
sampler2DShadow (tex2D, sShadow);
|
||||
}
|
@ -5,3 +5,4 @@ web.controlFlow.frag
|
||||
web.operations.frag
|
||||
web.texture.frag
|
||||
web.array.frag
|
||||
web.separate.frag
|
||||
|
@ -79,6 +79,7 @@ struct TSampler { // misnomer now; includes images, textures without sampler,
|
||||
bool ms : 1;
|
||||
bool image : 1; // image, combined should be false
|
||||
bool combined : 1; // true means texture is combined with a sampler, false means texture with no sampler
|
||||
bool sampler : 1; // true means a pure sampler, other fields should be clear()
|
||||
#ifdef ENABLE_HLSL
|
||||
unsigned int vectorSize : 3; // vector return type size.
|
||||
unsigned int getVectorSize() const { return vectorSize; }
|
||||
@ -105,8 +106,6 @@ struct TSampler { // misnomer now; includes images, textures without sampler,
|
||||
bool isRect() const { return false; }
|
||||
bool isSubpass() const { return false; }
|
||||
bool isCombined() const { return true; }
|
||||
bool isPureSampler() const { return false; }
|
||||
bool isTexture() const { return false; }
|
||||
bool isImage() const { return false; }
|
||||
bool isImageClass() const { return false; }
|
||||
bool isMultiSample() const { return false; }
|
||||
@ -114,7 +113,6 @@ struct TSampler { // misnomer now; includes images, textures without sampler,
|
||||
void setExternal(bool e) { }
|
||||
bool isYuv() const { return false; }
|
||||
#else
|
||||
bool sampler : 1; // true means a pure sampler, other fields should be clear()
|
||||
bool external : 1; // GL_OES_EGL_image_external
|
||||
bool yuv : 1; // GL_EXT_YUV_target
|
||||
// Some languages support structures as sample results. Storing the whole structure in the
|
||||
@ -125,8 +123,6 @@ struct TSampler { // misnomer now; includes images, textures without sampler,
|
||||
bool isRect() const { return dim == EsdRect; }
|
||||
bool isSubpass() const { return dim == EsdSubpass; }
|
||||
bool isCombined() const { return combined; }
|
||||
bool isPureSampler() const { return sampler; }
|
||||
bool isTexture() const { return !sampler && !image; }
|
||||
bool isImage() const { return image && !isSubpass(); }
|
||||
bool isImageClass() const { return image; }
|
||||
bool isMultiSample() const { return ms; }
|
||||
@ -134,6 +130,9 @@ struct TSampler { // misnomer now; includes images, textures without sampler,
|
||||
void setExternal(bool e) { external = e; }
|
||||
bool isYuv() const { return yuv; }
|
||||
#endif
|
||||
bool isTexture() const { return !sampler && !image; }
|
||||
bool isPureSampler() const { return sampler; }
|
||||
|
||||
void setCombined(bool c) { combined = c; }
|
||||
void setBasicType(TBasicType t) { type = t; }
|
||||
TBasicType getBasicType() const { return type; }
|
||||
@ -149,8 +148,8 @@ struct TSampler { // misnomer now; includes images, textures without sampler,
|
||||
ms = false;
|
||||
image = false;
|
||||
combined = false;
|
||||
#ifndef GLSLANG_WEB
|
||||
sampler = false;
|
||||
#ifndef GLSLANG_WEB
|
||||
external = false;
|
||||
yuv = false;
|
||||
#endif
|
||||
@ -197,6 +196,14 @@ struct TSampler { // misnomer now; includes images, textures without sampler,
|
||||
ms = m;
|
||||
}
|
||||
|
||||
// make a pure sampler, no texture, no image, nothing combined, the 'sampler' keyword
|
||||
void setPureSampler(bool s)
|
||||
{
|
||||
clear();
|
||||
sampler = true;
|
||||
shadow = s;
|
||||
}
|
||||
|
||||
#ifndef GLSLANG_WEB
|
||||
// make a subpass input attachment
|
||||
void setSubpass(TBasicType t, bool m = false)
|
||||
@ -207,14 +214,6 @@ struct TSampler { // misnomer now; includes images, textures without sampler,
|
||||
dim = EsdSubpass;
|
||||
ms = m;
|
||||
}
|
||||
|
||||
// make a pure sampler, no texture, no image, nothing combined, the 'sampler' keyword
|
||||
void setPureSampler(bool s)
|
||||
{
|
||||
clear();
|
||||
sampler = true;
|
||||
shadow = s;
|
||||
}
|
||||
#endif
|
||||
|
||||
bool operator==(const TSampler& right) const
|
||||
@ -1922,6 +1921,7 @@ public:
|
||||
case EbtFloat: return "float";
|
||||
case EbtInt: return "int";
|
||||
case EbtUint: return "uint";
|
||||
case EbtSampler: return "sampler/image";
|
||||
#ifndef GLSLANG_WEB
|
||||
case EbtVoid: return "void";
|
||||
case EbtDouble: return "double";
|
||||
@ -1934,7 +1934,6 @@ public:
|
||||
case EbtUint64: return "uint64_t";
|
||||
case EbtBool: return "bool";
|
||||
case EbtAtomicUint: return "atomic_uint";
|
||||
case EbtSampler: return "sampler/image";
|
||||
case EbtStruct: return "structure";
|
||||
case EbtBlock: return "block";
|
||||
case EbtAccStructNV: return "accelerationStructureNV";
|
||||
|
@ -5314,7 +5314,7 @@ void TBuiltIns::add2ndGenerationSamplingImaging(int version, EProfile profile, c
|
||||
#ifdef GLSLANG_WEB
|
||||
const int ms = 0;
|
||||
#else
|
||||
for (int ms = 0; ms <= 1; ++ms)
|
||||
for (int ms = 0; ms <= 1; ++ms) // loop over "bool" multisample or not
|
||||
#endif
|
||||
{
|
||||
#ifndef GLSLANG_WEB
|
||||
|
@ -2794,10 +2794,8 @@ bool TParseContext::constructorError(const TSourceLoc& loc, TIntermNode* node, T
|
||||
// See if it's a matrix
|
||||
bool constructingMatrix = false;
|
||||
switch (op) {
|
||||
#ifndef GLSLANG_WEB
|
||||
case EOpConstructTextureSampler:
|
||||
return constructorTextureSamplerError(loc, function);
|
||||
#endif
|
||||
case EOpConstructMat2x2:
|
||||
case EOpConstructMat2x3:
|
||||
case EOpConstructMat2x4:
|
||||
|
@ -564,10 +564,6 @@ void TScanContext::fillInKeywordMap()
|
||||
|
||||
(*KeywordMap)["sampler2D"] = SAMPLER2D;
|
||||
(*KeywordMap)["samplerCube"] = SAMPLERCUBE;
|
||||
(*KeywordMap)["samplerCubeArray"] = SAMPLERCUBEARRAY;
|
||||
(*KeywordMap)["samplerCubeArrayShadow"] = SAMPLERCUBEARRAYSHADOW;
|
||||
(*KeywordMap)["isamplerCubeArray"] = ISAMPLERCUBEARRAY;
|
||||
(*KeywordMap)["usamplerCubeArray"] = USAMPLERCUBEARRAY;
|
||||
(*KeywordMap)["samplerCubeShadow"] = SAMPLERCUBESHADOW;
|
||||
(*KeywordMap)["sampler2DArray"] = SAMPLER2DARRAY;
|
||||
(*KeywordMap)["sampler2DArrayShadow"] = SAMPLER2DARRAYSHADOW;
|
||||
@ -582,7 +578,30 @@ void TScanContext::fillInKeywordMap()
|
||||
(*KeywordMap)["sampler3D"] = SAMPLER3D;
|
||||
(*KeywordMap)["sampler2DShadow"] = SAMPLER2DSHADOW;
|
||||
|
||||
(*KeywordMap)["texture2D"] = TEXTURE2D;
|
||||
(*KeywordMap)["textureCube"] = TEXTURECUBE;
|
||||
(*KeywordMap)["texture2DArray"] = TEXTURE2DARRAY;
|
||||
(*KeywordMap)["itexture2D"] = ITEXTURE2D;
|
||||
(*KeywordMap)["itexture3D"] = ITEXTURE3D;
|
||||
(*KeywordMap)["itextureCube"] = ITEXTURECUBE;
|
||||
(*KeywordMap)["itexture2DArray"] = ITEXTURE2DARRAY;
|
||||
(*KeywordMap)["utexture2D"] = UTEXTURE2D;
|
||||
(*KeywordMap)["utexture3D"] = UTEXTURE3D;
|
||||
(*KeywordMap)["utextureCube"] = UTEXTURECUBE;
|
||||
(*KeywordMap)["utexture2DArray"] = UTEXTURE2DARRAY;
|
||||
(*KeywordMap)["texture3D"] = TEXTURE3D;
|
||||
|
||||
(*KeywordMap)["sampler"] = SAMPLER;
|
||||
(*KeywordMap)["samplerShadow"] = SAMPLERSHADOW;
|
||||
|
||||
#ifndef GLSLANG_WEB
|
||||
(*KeywordMap)["textureCubeArray"] = TEXTURECUBEARRAY;
|
||||
(*KeywordMap)["itextureCubeArray"] = ITEXTURECUBEARRAY;
|
||||
(*KeywordMap)["utextureCubeArray"] = UTEXTURECUBEARRAY;
|
||||
(*KeywordMap)["samplerCubeArray"] = SAMPLERCUBEARRAY;
|
||||
(*KeywordMap)["samplerCubeArrayShadow"] = SAMPLERCUBEARRAYSHADOW;
|
||||
(*KeywordMap)["isamplerCubeArray"] = ISAMPLERCUBEARRAY;
|
||||
(*KeywordMap)["usamplerCubeArray"] = USAMPLERCUBEARRAY;
|
||||
(*KeywordMap)["sampler1DArrayShadow"] = SAMPLER1DARRAYSHADOW;
|
||||
(*KeywordMap)["isampler1DArray"] = ISAMPLER1DARRAY;
|
||||
(*KeywordMap)["usampler1D"] = USAMPLER1D;
|
||||
@ -609,28 +628,11 @@ void TScanContext::fillInKeywordMap()
|
||||
|
||||
(*KeywordMap)["__samplerExternal2DY2YEXT"] = SAMPLEREXTERNAL2DY2YEXT; // GL_EXT_YUV_target
|
||||
|
||||
(*KeywordMap)["sampler"] = SAMPLER;
|
||||
(*KeywordMap)["samplerShadow"] = SAMPLERSHADOW;
|
||||
|
||||
(*KeywordMap)["texture2D"] = TEXTURE2D;
|
||||
(*KeywordMap)["textureCube"] = TEXTURECUBE;
|
||||
(*KeywordMap)["textureCubeArray"] = TEXTURECUBEARRAY;
|
||||
(*KeywordMap)["itextureCubeArray"] = ITEXTURECUBEARRAY;
|
||||
(*KeywordMap)["utextureCubeArray"] = UTEXTURECUBEARRAY;
|
||||
(*KeywordMap)["itexture1DArray"] = ITEXTURE1DARRAY;
|
||||
(*KeywordMap)["utexture1D"] = UTEXTURE1D;
|
||||
(*KeywordMap)["itexture1D"] = ITEXTURE1D;
|
||||
(*KeywordMap)["utexture1DArray"] = UTEXTURE1DARRAY;
|
||||
(*KeywordMap)["textureBuffer"] = TEXTUREBUFFER;
|
||||
(*KeywordMap)["texture2DArray"] = TEXTURE2DARRAY;
|
||||
(*KeywordMap)["itexture2D"] = ITEXTURE2D;
|
||||
(*KeywordMap)["itexture3D"] = ITEXTURE3D;
|
||||
(*KeywordMap)["itextureCube"] = ITEXTURECUBE;
|
||||
(*KeywordMap)["itexture2DArray"] = ITEXTURE2DARRAY;
|
||||
(*KeywordMap)["utexture2D"] = UTEXTURE2D;
|
||||
(*KeywordMap)["utexture3D"] = UTEXTURE3D;
|
||||
(*KeywordMap)["utextureCube"] = UTEXTURECUBE;
|
||||
(*KeywordMap)["utexture2DArray"] = UTEXTURE2DARRAY;
|
||||
(*KeywordMap)["itexture2DRect"] = ITEXTURE2DRECT;
|
||||
(*KeywordMap)["utexture2DRect"] = UTEXTURE2DRECT;
|
||||
(*KeywordMap)["itextureBuffer"] = ITEXTUREBUFFER;
|
||||
@ -642,7 +644,6 @@ void TScanContext::fillInKeywordMap()
|
||||
(*KeywordMap)["itexture2DMSArray"] = ITEXTURE2DMSARRAY;
|
||||
(*KeywordMap)["utexture2DMSArray"] = UTEXTURE2DMSARRAY;
|
||||
(*KeywordMap)["texture1D"] = TEXTURE1D;
|
||||
(*KeywordMap)["texture3D"] = TEXTURE3D;
|
||||
(*KeywordMap)["texture2DRect"] = TEXTURE2DRECT;
|
||||
(*KeywordMap)["texture1DArray"] = TEXTURE1DARRAY;
|
||||
|
||||
@ -1321,7 +1322,6 @@ int TScanContext::tokenizeIdentifier()
|
||||
return keyword;
|
||||
|
||||
return identifierOrType();
|
||||
#endif
|
||||
|
||||
case SAMPLERCUBEARRAY:
|
||||
case SAMPLERCUBEARRAYSHADOW:
|
||||
@ -1335,6 +1335,15 @@ int TScanContext::tokenizeIdentifier()
|
||||
reservedWord();
|
||||
return keyword;
|
||||
|
||||
case TEXTURECUBEARRAY:
|
||||
case ITEXTURECUBEARRAY:
|
||||
case UTEXTURECUBEARRAY:
|
||||
if (parseContext.spvVersion.vulkan > 0)
|
||||
return keyword;
|
||||
else
|
||||
return identifierOrType();
|
||||
#endif
|
||||
|
||||
case UINT:
|
||||
case UVEC2:
|
||||
case UVEC3:
|
||||
@ -1369,6 +1378,25 @@ int TScanContext::tokenizeIdentifier()
|
||||
}
|
||||
return keyword;
|
||||
|
||||
case TEXTURE2D:
|
||||
case TEXTURECUBE:
|
||||
case TEXTURE2DARRAY:
|
||||
case ITEXTURE2D:
|
||||
case ITEXTURE3D:
|
||||
case ITEXTURECUBE:
|
||||
case ITEXTURE2DARRAY:
|
||||
case UTEXTURE2D:
|
||||
case UTEXTURE3D:
|
||||
case UTEXTURECUBE:
|
||||
case UTEXTURE2DARRAY:
|
||||
case TEXTURE3D:
|
||||
case SAMPLER:
|
||||
case SAMPLERSHADOW:
|
||||
if (parseContext.spvVersion.vulkan > 0)
|
||||
return keyword;
|
||||
else
|
||||
return identifierOrType();
|
||||
|
||||
#ifndef GLSLANG_WEB
|
||||
case ISAMPLER1D:
|
||||
case ISAMPLER1DARRAY:
|
||||
@ -1458,25 +1486,11 @@ int TScanContext::tokenizeIdentifier()
|
||||
return keyword;
|
||||
return identifierOrType();
|
||||
|
||||
case TEXTURE2D:
|
||||
case TEXTURECUBE:
|
||||
case TEXTURECUBEARRAY:
|
||||
case ITEXTURECUBEARRAY:
|
||||
case UTEXTURECUBEARRAY:
|
||||
case ITEXTURE1DARRAY:
|
||||
case UTEXTURE1D:
|
||||
case ITEXTURE1D:
|
||||
case UTEXTURE1DARRAY:
|
||||
case TEXTUREBUFFER:
|
||||
case TEXTURE2DARRAY:
|
||||
case ITEXTURE2D:
|
||||
case ITEXTURE3D:
|
||||
case ITEXTURECUBE:
|
||||
case ITEXTURE2DARRAY:
|
||||
case UTEXTURE2D:
|
||||
case UTEXTURE3D:
|
||||
case UTEXTURECUBE:
|
||||
case UTEXTURE2DARRAY:
|
||||
case ITEXTURE2DRECT:
|
||||
case UTEXTURE2DRECT:
|
||||
case ITEXTUREBUFFER:
|
||||
@ -1488,11 +1502,8 @@ int TScanContext::tokenizeIdentifier()
|
||||
case ITEXTURE2DMSARRAY:
|
||||
case UTEXTURE2DMSARRAY:
|
||||
case TEXTURE1D:
|
||||
case TEXTURE3D:
|
||||
case TEXTURE2DRECT:
|
||||
case TEXTURE1DARRAY:
|
||||
case SAMPLER:
|
||||
case SAMPLERSHADOW:
|
||||
if (parseContext.spvVersion.vulkan > 0)
|
||||
return keyword;
|
||||
else
|
||||
|
@ -166,8 +166,12 @@ extern int yylex(YYSTYPE*, TParseContext&);
|
||||
%token <lex> SAMPLER2DARRAYSHADOW ISAMPLER2D ISAMPLER3D ISAMPLERCUBE
|
||||
%token <lex> ISAMPLER2DARRAY USAMPLER2D USAMPLER3D
|
||||
%token <lex> USAMPLERCUBE USAMPLER2DARRAY
|
||||
%token <lex> SAMPLERCUBEARRAY SAMPLERCUBEARRAYSHADOW
|
||||
%token <lex> ISAMPLERCUBEARRAY USAMPLERCUBEARRAY
|
||||
|
||||
// separate image/sampler
|
||||
%token <lex> SAMPLER SAMPLERSHADOW
|
||||
%token <lex> TEXTURE2D TEXTURE3D TEXTURECUBE TEXTURE2DARRAY
|
||||
%token <lex> ITEXTURE2D ITEXTURE3D ITEXTURECUBE ITEXTURE2DARRAY
|
||||
%token <lex> UTEXTURE2D UTEXTURE3D UTEXTURECUBE UTEXTURE2DARRAY
|
||||
|
||||
GLSLANG_WEB_EXCLUDE_ON
|
||||
|
||||
@ -203,6 +207,8 @@ GLSLANG_WEB_EXCLUDE_ON
|
||||
%token <lex> FCOOPMATNV ICOOPMATNV UCOOPMATNV
|
||||
|
||||
// combined image/sampler
|
||||
%token <lex> SAMPLERCUBEARRAY SAMPLERCUBEARRAYSHADOW
|
||||
%token <lex> ISAMPLERCUBEARRAY USAMPLERCUBEARRAY
|
||||
%token <lex> SAMPLER1D SAMPLER1DARRAY SAMPLER1DARRAYSHADOW ISAMPLER1D SAMPLER1DSHADOW
|
||||
%token <lex> SAMPLER2DRECT SAMPLER2DRECTSHADOW ISAMPLER2DRECT USAMPLER2DRECT
|
||||
%token <lex> SAMPLERBUFFER ISAMPLERBUFFER USAMPLERBUFFER
|
||||
@ -233,18 +239,12 @@ GLSLANG_WEB_EXCLUDE_ON
|
||||
%token <lex> F16IMAGECUBE F16IMAGE1DARRAY F16IMAGE2DARRAY F16IMAGECUBEARRAY
|
||||
%token <lex> F16IMAGEBUFFER F16IMAGE2DMS F16IMAGE2DMSARRAY
|
||||
|
||||
// pure sampler
|
||||
%token <lex> SAMPLER SAMPLERSHADOW
|
||||
|
||||
// texture without sampler
|
||||
%token <lex> TEXTURE1D TEXTURE2D TEXTURE3D TEXTURECUBE
|
||||
%token <lex> TEXTURE1DARRAY TEXTURE2DARRAY
|
||||
%token <lex> ITEXTURE1D ITEXTURE2D ITEXTURE3D ITEXTURECUBE
|
||||
%token <lex> ITEXTURE1DARRAY ITEXTURE2DARRAY UTEXTURE1D UTEXTURE2D UTEXTURE3D
|
||||
%token <lex> UTEXTURECUBE UTEXTURE1DARRAY UTEXTURE2DARRAY
|
||||
%token <lex> TEXTURECUBEARRAY ITEXTURECUBEARRAY UTEXTURECUBEARRAY
|
||||
%token <lex> TEXTURE1D ITEXTURE1D UTEXTURE1D
|
||||
%token <lex> TEXTURE1DARRAY ITEXTURE1DARRAY UTEXTURE1DARRAY
|
||||
%token <lex> TEXTURE2DRECT ITEXTURE2DRECT UTEXTURE2DRECT
|
||||
%token <lex> TEXTUREBUFFER ITEXTUREBUFFER UTEXTUREBUFFER
|
||||
%token <lex> TEXTURECUBEARRAY ITEXTURECUBEARRAY UTEXTURECUBEARRAY
|
||||
%token <lex> TEXTURE2DMS ITEXTURE2DMS UTEXTURE2DMS
|
||||
%token <lex> TEXTURE2DMSARRAY ITEXTURE2DMSARRAY UTEXTURE2DMSARRAY
|
||||
|
||||
@ -2354,6 +2354,16 @@ GLSLANG_WEB_EXCLUDE_OFF
|
||||
$$.basicType = EbtSampler;
|
||||
$$.sampler.set(EbtFloat, EsdCube, false, true);
|
||||
}
|
||||
| SAMPLER2DARRAY {
|
||||
$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
|
||||
$$.basicType = EbtSampler;
|
||||
$$.sampler.set(EbtFloat, Esd2D, true);
|
||||
}
|
||||
| SAMPLER2DARRAYSHADOW {
|
||||
$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
|
||||
$$.basicType = EbtSampler;
|
||||
$$.sampler.set(EbtFloat, Esd2D, true, true);
|
||||
}
|
||||
GLSLANG_WEB_EXCLUDE_ON
|
||||
| SAMPLER1DSHADOW {
|
||||
$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
|
||||
@ -2370,17 +2380,6 @@ GLSLANG_WEB_EXCLUDE_ON
|
||||
$$.basicType = EbtSampler;
|
||||
$$.sampler.set(EbtFloat, Esd1D, true, true);
|
||||
}
|
||||
GLSLANG_WEB_EXCLUDE_OFF
|
||||
| SAMPLER2DARRAY {
|
||||
$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
|
||||
$$.basicType = EbtSampler;
|
||||
$$.sampler.set(EbtFloat, Esd2D, true);
|
||||
}
|
||||
| SAMPLER2DARRAYSHADOW {
|
||||
$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
|
||||
$$.basicType = EbtSampler;
|
||||
$$.sampler.set(EbtFloat, Esd2D, true, true);
|
||||
}
|
||||
| SAMPLERCUBEARRAY {
|
||||
$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
|
||||
$$.basicType = EbtSampler;
|
||||
@ -2391,7 +2390,6 @@ GLSLANG_WEB_EXCLUDE_OFF
|
||||
$$.basicType = EbtSampler;
|
||||
$$.sampler.set(EbtFloat, EsdCube, true, true);
|
||||
}
|
||||
GLSLANG_WEB_EXCLUDE_ON
|
||||
| F16SAMPLER1D {
|
||||
parseContext.float16OpaqueCheck($1.loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
|
||||
$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
|
||||
@ -2491,30 +2489,11 @@ GLSLANG_WEB_EXCLUDE_OFF
|
||||
$$.basicType = EbtSampler;
|
||||
$$.sampler.set(EbtInt, EsdCube);
|
||||
}
|
||||
GLSLANG_WEB_EXCLUDE_ON
|
||||
| ISAMPLER1DARRAY {
|
||||
$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
|
||||
$$.basicType = EbtSampler;
|
||||
$$.sampler.set(EbtInt, Esd1D, true);
|
||||
}
|
||||
GLSLANG_WEB_EXCLUDE_OFF
|
||||
| ISAMPLER2DARRAY {
|
||||
$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
|
||||
$$.basicType = EbtSampler;
|
||||
$$.sampler.set(EbtInt, Esd2D, true);
|
||||
}
|
||||
| ISAMPLERCUBEARRAY {
|
||||
$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
|
||||
$$.basicType = EbtSampler;
|
||||
$$.sampler.set(EbtInt, EsdCube, true);
|
||||
}
|
||||
GLSLANG_WEB_EXCLUDE_ON
|
||||
| USAMPLER1D {
|
||||
$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
|
||||
$$.basicType = EbtSampler;
|
||||
$$.sampler.set(EbtUint, Esd1D);
|
||||
}
|
||||
GLSLANG_WEB_EXCLUDE_OFF
|
||||
| USAMPLER2D {
|
||||
$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
|
||||
$$.basicType = EbtSampler;
|
||||
@ -2531,21 +2510,121 @@ GLSLANG_WEB_EXCLUDE_OFF
|
||||
$$.sampler.set(EbtUint, EsdCube);
|
||||
}
|
||||
GLSLANG_WEB_EXCLUDE_ON
|
||||
| ISAMPLER1DARRAY {
|
||||
$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
|
||||
$$.basicType = EbtSampler;
|
||||
$$.sampler.set(EbtInt, Esd1D, true);
|
||||
}
|
||||
| ISAMPLERCUBEARRAY {
|
||||
$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
|
||||
$$.basicType = EbtSampler;
|
||||
$$.sampler.set(EbtInt, EsdCube, true);
|
||||
}
|
||||
| USAMPLER1D {
|
||||
$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
|
||||
$$.basicType = EbtSampler;
|
||||
$$.sampler.set(EbtUint, Esd1D);
|
||||
}
|
||||
| USAMPLER1DARRAY {
|
||||
$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
|
||||
$$.basicType = EbtSampler;
|
||||
$$.sampler.set(EbtUint, Esd1D, true);
|
||||
}
|
||||
| USAMPLERCUBEARRAY {
|
||||
$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
|
||||
$$.basicType = EbtSampler;
|
||||
$$.sampler.set(EbtUint, EsdCube, true);
|
||||
}
|
||||
| TEXTURECUBEARRAY {
|
||||
$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
|
||||
$$.basicType = EbtSampler;
|
||||
$$.sampler.setTexture(EbtFloat, EsdCube, true);
|
||||
}
|
||||
| ITEXTURECUBEARRAY {
|
||||
$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
|
||||
$$.basicType = EbtSampler;
|
||||
$$.sampler.setTexture(EbtInt, EsdCube, true);
|
||||
}
|
||||
| UTEXTURECUBEARRAY {
|
||||
$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
|
||||
$$.basicType = EbtSampler;
|
||||
$$.sampler.setTexture(EbtUint, EsdCube, true);
|
||||
}
|
||||
GLSLANG_WEB_EXCLUDE_OFF
|
||||
| USAMPLER2DARRAY {
|
||||
$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
|
||||
$$.basicType = EbtSampler;
|
||||
$$.sampler.set(EbtUint, Esd2D, true);
|
||||
}
|
||||
| USAMPLERCUBEARRAY {
|
||||
| TEXTURE2D {
|
||||
$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
|
||||
$$.basicType = EbtSampler;
|
||||
$$.sampler.set(EbtUint, EsdCube, true);
|
||||
$$.sampler.setTexture(EbtFloat, Esd2D);
|
||||
}
|
||||
| TEXTURE3D {
|
||||
$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
|
||||
$$.basicType = EbtSampler;
|
||||
$$.sampler.setTexture(EbtFloat, Esd3D);
|
||||
}
|
||||
| TEXTURE2DARRAY {
|
||||
$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
|
||||
$$.basicType = EbtSampler;
|
||||
$$.sampler.setTexture(EbtFloat, Esd2D, true);
|
||||
}
|
||||
| TEXTURECUBE {
|
||||
$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
|
||||
$$.basicType = EbtSampler;
|
||||
$$.sampler.setTexture(EbtFloat, EsdCube);
|
||||
}
|
||||
| ITEXTURE2D {
|
||||
$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
|
||||
$$.basicType = EbtSampler;
|
||||
$$.sampler.setTexture(EbtInt, Esd2D);
|
||||
}
|
||||
| ITEXTURE3D {
|
||||
$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
|
||||
$$.basicType = EbtSampler;
|
||||
$$.sampler.setTexture(EbtInt, Esd3D);
|
||||
}
|
||||
| ITEXTURECUBE {
|
||||
$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
|
||||
$$.basicType = EbtSampler;
|
||||
$$.sampler.setTexture(EbtInt, EsdCube);
|
||||
}
|
||||
| ITEXTURE2DARRAY {
|
||||
$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
|
||||
$$.basicType = EbtSampler;
|
||||
$$.sampler.setTexture(EbtInt, Esd2D, true);
|
||||
}
|
||||
| UTEXTURE2D {
|
||||
$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
|
||||
$$.basicType = EbtSampler;
|
||||
$$.sampler.setTexture(EbtUint, Esd2D);
|
||||
}
|
||||
| UTEXTURE3D {
|
||||
$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
|
||||
$$.basicType = EbtSampler;
|
||||
$$.sampler.setTexture(EbtUint, Esd3D);
|
||||
}
|
||||
| UTEXTURECUBE {
|
||||
$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
|
||||
$$.basicType = EbtSampler;
|
||||
$$.sampler.setTexture(EbtUint, EsdCube);
|
||||
}
|
||||
| UTEXTURE2DARRAY {
|
||||
$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
|
||||
$$.basicType = EbtSampler;
|
||||
$$.sampler.setTexture(EbtUint, Esd2D, true);
|
||||
}
|
||||
| SAMPLER {
|
||||
$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
|
||||
$$.basicType = EbtSampler;
|
||||
$$.sampler.setPureSampler(false);
|
||||
}
|
||||
| SAMPLERSHADOW {
|
||||
$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
|
||||
$$.basicType = EbtSampler;
|
||||
$$.sampler.setPureSampler(true);
|
||||
}
|
||||
GLSLANG_WEB_EXCLUDE_ON
|
||||
| SAMPLER2DRECT {
|
||||
@ -2643,16 +2722,6 @@ GLSLANG_WEB_EXCLUDE_ON
|
||||
$$.basicType = EbtSampler;
|
||||
$$.sampler.set(EbtUint, Esd2D, true, false, true);
|
||||
}
|
||||
| SAMPLER {
|
||||
$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
|
||||
$$.basicType = EbtSampler;
|
||||
$$.sampler.setPureSampler(false);
|
||||
}
|
||||
| SAMPLERSHADOW {
|
||||
$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
|
||||
$$.basicType = EbtSampler;
|
||||
$$.sampler.setPureSampler(true);
|
||||
}
|
||||
| TEXTURE1D {
|
||||
$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
|
||||
$$.basicType = EbtSampler;
|
||||
@ -2664,33 +2733,18 @@ GLSLANG_WEB_EXCLUDE_ON
|
||||
$$.basicType = EbtSampler;
|
||||
$$.sampler.setTexture(EbtFloat16, Esd1D);
|
||||
}
|
||||
| TEXTURE2D {
|
||||
$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
|
||||
$$.basicType = EbtSampler;
|
||||
$$.sampler.setTexture(EbtFloat, Esd2D);
|
||||
}
|
||||
| F16TEXTURE2D {
|
||||
parseContext.float16OpaqueCheck($1.loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());
|
||||
$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
|
||||
$$.basicType = EbtSampler;
|
||||
$$.sampler.setTexture(EbtFloat16, Esd2D);
|
||||
}
|
||||
| TEXTURE3D {
|
||||
$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
|
||||
$$.basicType = EbtSampler;
|
||||
$$.sampler.setTexture(EbtFloat, Esd3D);
|
||||
}
|
||||
| F16TEXTURE3D {
|
||||
parseContext.float16OpaqueCheck($1.loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());
|
||||
$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
|
||||
$$.basicType = EbtSampler;
|
||||
$$.sampler.setTexture(EbtFloat16, Esd3D);
|
||||
}
|
||||
| TEXTURECUBE {
|
||||
$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
|
||||
$$.basicType = EbtSampler;
|
||||
$$.sampler.setTexture(EbtFloat, EsdCube);
|
||||
}
|
||||
| F16TEXTURECUBE {
|
||||
parseContext.float16OpaqueCheck($1.loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());
|
||||
$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
|
||||
@ -2708,22 +2762,12 @@ GLSLANG_WEB_EXCLUDE_ON
|
||||
$$.basicType = EbtSampler;
|
||||
$$.sampler.setTexture(EbtFloat16, Esd1D, true);
|
||||
}
|
||||
| TEXTURE2DARRAY {
|
||||
$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
|
||||
$$.basicType = EbtSampler;
|
||||
$$.sampler.setTexture(EbtFloat, Esd2D, true);
|
||||
}
|
||||
| F16TEXTURE2DARRAY {
|
||||
parseContext.float16OpaqueCheck($1.loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());
|
||||
$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
|
||||
$$.basicType = EbtSampler;
|
||||
$$.sampler.setTexture(EbtFloat16, Esd2D, true);
|
||||
}
|
||||
| TEXTURECUBEARRAY {
|
||||
$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
|
||||
$$.basicType = EbtSampler;
|
||||
$$.sampler.setTexture(EbtFloat, EsdCube, true);
|
||||
}
|
||||
| F16TEXTURECUBEARRAY {
|
||||
parseContext.float16OpaqueCheck($1.loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());
|
||||
$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
|
||||
@ -2735,71 +2779,21 @@ GLSLANG_WEB_EXCLUDE_ON
|
||||
$$.basicType = EbtSampler;
|
||||
$$.sampler.setTexture(EbtInt, Esd1D);
|
||||
}
|
||||
| ITEXTURE2D {
|
||||
$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
|
||||
$$.basicType = EbtSampler;
|
||||
$$.sampler.setTexture(EbtInt, Esd2D);
|
||||
}
|
||||
| ITEXTURE3D {
|
||||
$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
|
||||
$$.basicType = EbtSampler;
|
||||
$$.sampler.setTexture(EbtInt, Esd3D);
|
||||
}
|
||||
| ITEXTURECUBE {
|
||||
$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
|
||||
$$.basicType = EbtSampler;
|
||||
$$.sampler.setTexture(EbtInt, EsdCube);
|
||||
}
|
||||
| ITEXTURE1DARRAY {
|
||||
$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
|
||||
$$.basicType = EbtSampler;
|
||||
$$.sampler.setTexture(EbtInt, Esd1D, true);
|
||||
}
|
||||
| ITEXTURE2DARRAY {
|
||||
$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
|
||||
$$.basicType = EbtSampler;
|
||||
$$.sampler.setTexture(EbtInt, Esd2D, true);
|
||||
}
|
||||
| ITEXTURECUBEARRAY {
|
||||
$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
|
||||
$$.basicType = EbtSampler;
|
||||
$$.sampler.setTexture(EbtInt, EsdCube, true);
|
||||
}
|
||||
| UTEXTURE1D {
|
||||
$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
|
||||
$$.basicType = EbtSampler;
|
||||
$$.sampler.setTexture(EbtUint, Esd1D);
|
||||
}
|
||||
| UTEXTURE2D {
|
||||
$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
|
||||
$$.basicType = EbtSampler;
|
||||
$$.sampler.setTexture(EbtUint, Esd2D);
|
||||
}
|
||||
| UTEXTURE3D {
|
||||
$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
|
||||
$$.basicType = EbtSampler;
|
||||
$$.sampler.setTexture(EbtUint, Esd3D);
|
||||
}
|
||||
| UTEXTURECUBE {
|
||||
$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
|
||||
$$.basicType = EbtSampler;
|
||||
$$.sampler.setTexture(EbtUint, EsdCube);
|
||||
}
|
||||
| UTEXTURE1DARRAY {
|
||||
$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
|
||||
$$.basicType = EbtSampler;
|
||||
$$.sampler.setTexture(EbtUint, Esd1D, true);
|
||||
}
|
||||
| UTEXTURE2DARRAY {
|
||||
$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
|
||||
$$.basicType = EbtSampler;
|
||||
$$.sampler.setTexture(EbtUint, Esd2D, true);
|
||||
}
|
||||
| UTEXTURECUBEARRAY {
|
||||
$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
|
||||
$$.basicType = EbtSampler;
|
||||
$$.sampler.setTexture(EbtUint, EsdCube, true);
|
||||
}
|
||||
| TEXTURE2DRECT {
|
||||
$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
|
||||
$$.basicType = EbtSampler;
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -89,370 +89,102 @@ extern int yydebug;
|
||||
USAMPLER3D = 299,
|
||||
USAMPLERCUBE = 300,
|
||||
USAMPLER2DARRAY = 301,
|
||||
SAMPLERCUBEARRAY = 302,
|
||||
SAMPLERCUBEARRAYSHADOW = 303,
|
||||
ISAMPLERCUBEARRAY = 304,
|
||||
USAMPLERCUBEARRAY = 305,
|
||||
ATTRIBUTE = 306,
|
||||
VARYING = 307,
|
||||
FLOAT16_T = 308,
|
||||
FLOAT32_T = 309,
|
||||
DOUBLE = 310,
|
||||
FLOAT64_T = 311,
|
||||
INT64_T = 312,
|
||||
UINT64_T = 313,
|
||||
INT32_T = 314,
|
||||
UINT32_T = 315,
|
||||
INT16_T = 316,
|
||||
UINT16_T = 317,
|
||||
INT8_T = 318,
|
||||
UINT8_T = 319,
|
||||
I64VEC2 = 320,
|
||||
I64VEC3 = 321,
|
||||
I64VEC4 = 322,
|
||||
U64VEC2 = 323,
|
||||
U64VEC3 = 324,
|
||||
U64VEC4 = 325,
|
||||
I32VEC2 = 326,
|
||||
I32VEC3 = 327,
|
||||
I32VEC4 = 328,
|
||||
U32VEC2 = 329,
|
||||
U32VEC3 = 330,
|
||||
U32VEC4 = 331,
|
||||
I16VEC2 = 332,
|
||||
I16VEC3 = 333,
|
||||
I16VEC4 = 334,
|
||||
U16VEC2 = 335,
|
||||
U16VEC3 = 336,
|
||||
U16VEC4 = 337,
|
||||
I8VEC2 = 338,
|
||||
I8VEC3 = 339,
|
||||
I8VEC4 = 340,
|
||||
U8VEC2 = 341,
|
||||
U8VEC3 = 342,
|
||||
U8VEC4 = 343,
|
||||
DVEC2 = 344,
|
||||
DVEC3 = 345,
|
||||
DVEC4 = 346,
|
||||
DMAT2 = 347,
|
||||
DMAT3 = 348,
|
||||
DMAT4 = 349,
|
||||
F16VEC2 = 350,
|
||||
F16VEC3 = 351,
|
||||
F16VEC4 = 352,
|
||||
F16MAT2 = 353,
|
||||
F16MAT3 = 354,
|
||||
F16MAT4 = 355,
|
||||
F32VEC2 = 356,
|
||||
F32VEC3 = 357,
|
||||
F32VEC4 = 358,
|
||||
F32MAT2 = 359,
|
||||
F32MAT3 = 360,
|
||||
F32MAT4 = 361,
|
||||
F64VEC2 = 362,
|
||||
F64VEC3 = 363,
|
||||
F64VEC4 = 364,
|
||||
F64MAT2 = 365,
|
||||
F64MAT3 = 366,
|
||||
F64MAT4 = 367,
|
||||
DMAT2X2 = 368,
|
||||
DMAT2X3 = 369,
|
||||
DMAT2X4 = 370,
|
||||
DMAT3X2 = 371,
|
||||
DMAT3X3 = 372,
|
||||
DMAT3X4 = 373,
|
||||
DMAT4X2 = 374,
|
||||
DMAT4X3 = 375,
|
||||
DMAT4X4 = 376,
|
||||
F16MAT2X2 = 377,
|
||||
F16MAT2X3 = 378,
|
||||
F16MAT2X4 = 379,
|
||||
F16MAT3X2 = 380,
|
||||
F16MAT3X3 = 381,
|
||||
F16MAT3X4 = 382,
|
||||
F16MAT4X2 = 383,
|
||||
F16MAT4X3 = 384,
|
||||
F16MAT4X4 = 385,
|
||||
F32MAT2X2 = 386,
|
||||
F32MAT2X3 = 387,
|
||||
F32MAT2X4 = 388,
|
||||
F32MAT3X2 = 389,
|
||||
F32MAT3X3 = 390,
|
||||
F32MAT3X4 = 391,
|
||||
F32MAT4X2 = 392,
|
||||
F32MAT4X3 = 393,
|
||||
F32MAT4X4 = 394,
|
||||
F64MAT2X2 = 395,
|
||||
F64MAT2X3 = 396,
|
||||
F64MAT2X4 = 397,
|
||||
F64MAT3X2 = 398,
|
||||
F64MAT3X3 = 399,
|
||||
F64MAT3X4 = 400,
|
||||
F64MAT4X2 = 401,
|
||||
F64MAT4X3 = 402,
|
||||
F64MAT4X4 = 403,
|
||||
ATOMIC_UINT = 404,
|
||||
ACCSTRUCTNV = 405,
|
||||
FCOOPMATNV = 406,
|
||||
ICOOPMATNV = 407,
|
||||
UCOOPMATNV = 408,
|
||||
SAMPLER1D = 409,
|
||||
SAMPLER1DARRAY = 410,
|
||||
SAMPLER1DARRAYSHADOW = 411,
|
||||
ISAMPLER1D = 412,
|
||||
SAMPLER1DSHADOW = 413,
|
||||
SAMPLER2DRECT = 414,
|
||||
SAMPLER2DRECTSHADOW = 415,
|
||||
ISAMPLER2DRECT = 416,
|
||||
USAMPLER2DRECT = 417,
|
||||
SAMPLERBUFFER = 418,
|
||||
ISAMPLERBUFFER = 419,
|
||||
USAMPLERBUFFER = 420,
|
||||
SAMPLER2DMS = 421,
|
||||
ISAMPLER2DMS = 422,
|
||||
USAMPLER2DMS = 423,
|
||||
SAMPLER2DMSARRAY = 424,
|
||||
ISAMPLER2DMSARRAY = 425,
|
||||
USAMPLER2DMSARRAY = 426,
|
||||
SAMPLEREXTERNALOES = 427,
|
||||
SAMPLEREXTERNAL2DY2YEXT = 428,
|
||||
ISAMPLER1DARRAY = 429,
|
||||
USAMPLER1D = 430,
|
||||
USAMPLER1DARRAY = 431,
|
||||
F16SAMPLER1D = 432,
|
||||
F16SAMPLER2D = 433,
|
||||
F16SAMPLER3D = 434,
|
||||
F16SAMPLER2DRECT = 435,
|
||||
F16SAMPLERCUBE = 436,
|
||||
F16SAMPLER1DARRAY = 437,
|
||||
F16SAMPLER2DARRAY = 438,
|
||||
F16SAMPLERCUBEARRAY = 439,
|
||||
F16SAMPLERBUFFER = 440,
|
||||
F16SAMPLER2DMS = 441,
|
||||
F16SAMPLER2DMSARRAY = 442,
|
||||
F16SAMPLER1DSHADOW = 443,
|
||||
F16SAMPLER2DSHADOW = 444,
|
||||
F16SAMPLER1DARRAYSHADOW = 445,
|
||||
F16SAMPLER2DARRAYSHADOW = 446,
|
||||
F16SAMPLER2DRECTSHADOW = 447,
|
||||
F16SAMPLERCUBESHADOW = 448,
|
||||
F16SAMPLERCUBEARRAYSHADOW = 449,
|
||||
IMAGE1D = 450,
|
||||
IIMAGE1D = 451,
|
||||
UIMAGE1D = 452,
|
||||
IMAGE2D = 453,
|
||||
IIMAGE2D = 454,
|
||||
UIMAGE2D = 455,
|
||||
IMAGE3D = 456,
|
||||
IIMAGE3D = 457,
|
||||
UIMAGE3D = 458,
|
||||
IMAGE2DRECT = 459,
|
||||
IIMAGE2DRECT = 460,
|
||||
UIMAGE2DRECT = 461,
|
||||
IMAGECUBE = 462,
|
||||
IIMAGECUBE = 463,
|
||||
UIMAGECUBE = 464,
|
||||
IMAGEBUFFER = 465,
|
||||
IIMAGEBUFFER = 466,
|
||||
UIMAGEBUFFER = 467,
|
||||
IMAGE1DARRAY = 468,
|
||||
IIMAGE1DARRAY = 469,
|
||||
UIMAGE1DARRAY = 470,
|
||||
IMAGE2DARRAY = 471,
|
||||
IIMAGE2DARRAY = 472,
|
||||
UIMAGE2DARRAY = 473,
|
||||
IMAGECUBEARRAY = 474,
|
||||
IIMAGECUBEARRAY = 475,
|
||||
UIMAGECUBEARRAY = 476,
|
||||
IMAGE2DMS = 477,
|
||||
IIMAGE2DMS = 478,
|
||||
UIMAGE2DMS = 479,
|
||||
IMAGE2DMSARRAY = 480,
|
||||
IIMAGE2DMSARRAY = 481,
|
||||
UIMAGE2DMSARRAY = 482,
|
||||
F16IMAGE1D = 483,
|
||||
F16IMAGE2D = 484,
|
||||
F16IMAGE3D = 485,
|
||||
F16IMAGE2DRECT = 486,
|
||||
F16IMAGECUBE = 487,
|
||||
F16IMAGE1DARRAY = 488,
|
||||
F16IMAGE2DARRAY = 489,
|
||||
F16IMAGECUBEARRAY = 490,
|
||||
F16IMAGEBUFFER = 491,
|
||||
F16IMAGE2DMS = 492,
|
||||
F16IMAGE2DMSARRAY = 493,
|
||||
SAMPLER = 494,
|
||||
SAMPLERSHADOW = 495,
|
||||
TEXTURE1D = 496,
|
||||
TEXTURE2D = 497,
|
||||
TEXTURE3D = 498,
|
||||
TEXTURECUBE = 499,
|
||||
TEXTURE1DARRAY = 500,
|
||||
TEXTURE2DARRAY = 501,
|
||||
ITEXTURE1D = 502,
|
||||
ITEXTURE2D = 503,
|
||||
ITEXTURE3D = 504,
|
||||
ITEXTURECUBE = 505,
|
||||
ITEXTURE1DARRAY = 506,
|
||||
ITEXTURE2DARRAY = 507,
|
||||
UTEXTURE1D = 508,
|
||||
UTEXTURE2D = 509,
|
||||
UTEXTURE3D = 510,
|
||||
UTEXTURECUBE = 511,
|
||||
UTEXTURE1DARRAY = 512,
|
||||
UTEXTURE2DARRAY = 513,
|
||||
TEXTURE2DRECT = 514,
|
||||
ITEXTURE2DRECT = 515,
|
||||
UTEXTURE2DRECT = 516,
|
||||
TEXTUREBUFFER = 517,
|
||||
ITEXTUREBUFFER = 518,
|
||||
UTEXTUREBUFFER = 519,
|
||||
TEXTURECUBEARRAY = 520,
|
||||
ITEXTURECUBEARRAY = 521,
|
||||
UTEXTURECUBEARRAY = 522,
|
||||
TEXTURE2DMS = 523,
|
||||
ITEXTURE2DMS = 524,
|
||||
UTEXTURE2DMS = 525,
|
||||
TEXTURE2DMSARRAY = 526,
|
||||
ITEXTURE2DMSARRAY = 527,
|
||||
UTEXTURE2DMSARRAY = 528,
|
||||
F16TEXTURE1D = 529,
|
||||
F16TEXTURE2D = 530,
|
||||
F16TEXTURE3D = 531,
|
||||
F16TEXTURE2DRECT = 532,
|
||||
F16TEXTURECUBE = 533,
|
||||
F16TEXTURE1DARRAY = 534,
|
||||
F16TEXTURE2DARRAY = 535,
|
||||
F16TEXTURECUBEARRAY = 536,
|
||||
F16TEXTUREBUFFER = 537,
|
||||
F16TEXTURE2DMS = 538,
|
||||
F16TEXTURE2DMSARRAY = 539,
|
||||
SUBPASSINPUT = 540,
|
||||
SUBPASSINPUTMS = 541,
|
||||
ISUBPASSINPUT = 542,
|
||||
ISUBPASSINPUTMS = 543,
|
||||
USUBPASSINPUT = 544,
|
||||
USUBPASSINPUTMS = 545,
|
||||
F16SUBPASSINPUT = 546,
|
||||
F16SUBPASSINPUTMS = 547,
|
||||
LEFT_OP = 548,
|
||||
RIGHT_OP = 549,
|
||||
INC_OP = 550,
|
||||
DEC_OP = 551,
|
||||
LE_OP = 552,
|
||||
GE_OP = 553,
|
||||
EQ_OP = 554,
|
||||
NE_OP = 555,
|
||||
AND_OP = 556,
|
||||
OR_OP = 557,
|
||||
XOR_OP = 558,
|
||||
MUL_ASSIGN = 559,
|
||||
DIV_ASSIGN = 560,
|
||||
ADD_ASSIGN = 561,
|
||||
MOD_ASSIGN = 562,
|
||||
LEFT_ASSIGN = 563,
|
||||
RIGHT_ASSIGN = 564,
|
||||
AND_ASSIGN = 565,
|
||||
XOR_ASSIGN = 566,
|
||||
OR_ASSIGN = 567,
|
||||
SUB_ASSIGN = 568,
|
||||
LEFT_PAREN = 569,
|
||||
RIGHT_PAREN = 570,
|
||||
LEFT_BRACKET = 571,
|
||||
RIGHT_BRACKET = 572,
|
||||
LEFT_BRACE = 573,
|
||||
RIGHT_BRACE = 574,
|
||||
DOT = 575,
|
||||
COMMA = 576,
|
||||
COLON = 577,
|
||||
EQUAL = 578,
|
||||
SEMICOLON = 579,
|
||||
BANG = 580,
|
||||
DASH = 581,
|
||||
TILDE = 582,
|
||||
PLUS = 583,
|
||||
STAR = 584,
|
||||
SLASH = 585,
|
||||
PERCENT = 586,
|
||||
LEFT_ANGLE = 587,
|
||||
RIGHT_ANGLE = 588,
|
||||
VERTICAL_BAR = 589,
|
||||
CARET = 590,
|
||||
AMPERSAND = 591,
|
||||
QUESTION = 592,
|
||||
INVARIANT = 593,
|
||||
HIGH_PRECISION = 594,
|
||||
MEDIUM_PRECISION = 595,
|
||||
LOW_PRECISION = 596,
|
||||
PRECISION = 597,
|
||||
PACKED = 598,
|
||||
RESOURCE = 599,
|
||||
SUPERP = 600,
|
||||
FLOATCONSTANT = 601,
|
||||
INTCONSTANT = 602,
|
||||
UINTCONSTANT = 603,
|
||||
BOOLCONSTANT = 604,
|
||||
IDENTIFIER = 605,
|
||||
TYPE_NAME = 606,
|
||||
CENTROID = 607,
|
||||
IN = 608,
|
||||
OUT = 609,
|
||||
INOUT = 610,
|
||||
STRUCT = 611,
|
||||
VOID = 612,
|
||||
WHILE = 613,
|
||||
BREAK = 614,
|
||||
CONTINUE = 615,
|
||||
DO = 616,
|
||||
ELSE = 617,
|
||||
FOR = 618,
|
||||
IF = 619,
|
||||
DISCARD = 620,
|
||||
RETURN = 621,
|
||||
SWITCH = 622,
|
||||
CASE = 623,
|
||||
DEFAULT = 624,
|
||||
UNIFORM = 625,
|
||||
SHARED = 626,
|
||||
FLAT = 627,
|
||||
SMOOTH = 628,
|
||||
LAYOUT = 629,
|
||||
DOUBLECONSTANT = 630,
|
||||
INT16CONSTANT = 631,
|
||||
UINT16CONSTANT = 632,
|
||||
FLOAT16CONSTANT = 633,
|
||||
INT32CONSTANT = 634,
|
||||
UINT32CONSTANT = 635,
|
||||
INT64CONSTANT = 636,
|
||||
UINT64CONSTANT = 637,
|
||||
SUBROUTINE = 638,
|
||||
DEMOTE = 639,
|
||||
PAYLOADNV = 640,
|
||||
PAYLOADINNV = 641,
|
||||
HITATTRNV = 642,
|
||||
CALLDATANV = 643,
|
||||
CALLDATAINNV = 644,
|
||||
PATCH = 645,
|
||||
SAMPLE = 646,
|
||||
BUFFER = 647,
|
||||
NONUNIFORM = 648,
|
||||
COHERENT = 649,
|
||||
VOLATILE = 650,
|
||||
RESTRICT = 651,
|
||||
READONLY = 652,
|
||||
WRITEONLY = 653,
|
||||
DEVICECOHERENT = 654,
|
||||
QUEUEFAMILYCOHERENT = 655,
|
||||
WORKGROUPCOHERENT = 656,
|
||||
SUBGROUPCOHERENT = 657,
|
||||
NONPRIVATE = 658,
|
||||
NOPERSPECTIVE = 659,
|
||||
EXPLICITINTERPAMD = 660,
|
||||
PERVERTEXNV = 661,
|
||||
PERPRIMITIVENV = 662,
|
||||
PERVIEWNV = 663,
|
||||
PERTASKNV = 664,
|
||||
PRECISE = 665
|
||||
SAMPLER = 302,
|
||||
SAMPLERSHADOW = 303,
|
||||
TEXTURE2D = 304,
|
||||
TEXTURE3D = 305,
|
||||
TEXTURECUBE = 306,
|
||||
TEXTURE2DARRAY = 307,
|
||||
ITEXTURE2D = 308,
|
||||
ITEXTURE3D = 309,
|
||||
ITEXTURECUBE = 310,
|
||||
ITEXTURE2DARRAY = 311,
|
||||
UTEXTURE2D = 312,
|
||||
UTEXTURE3D = 313,
|
||||
UTEXTURECUBE = 314,
|
||||
UTEXTURE2DARRAY = 315,
|
||||
LEFT_OP = 316,
|
||||
RIGHT_OP = 317,
|
||||
INC_OP = 318,
|
||||
DEC_OP = 319,
|
||||
LE_OP = 320,
|
||||
GE_OP = 321,
|
||||
EQ_OP = 322,
|
||||
NE_OP = 323,
|
||||
AND_OP = 324,
|
||||
OR_OP = 325,
|
||||
XOR_OP = 326,
|
||||
MUL_ASSIGN = 327,
|
||||
DIV_ASSIGN = 328,
|
||||
ADD_ASSIGN = 329,
|
||||
MOD_ASSIGN = 330,
|
||||
LEFT_ASSIGN = 331,
|
||||
RIGHT_ASSIGN = 332,
|
||||
AND_ASSIGN = 333,
|
||||
XOR_ASSIGN = 334,
|
||||
OR_ASSIGN = 335,
|
||||
SUB_ASSIGN = 336,
|
||||
LEFT_PAREN = 337,
|
||||
RIGHT_PAREN = 338,
|
||||
LEFT_BRACKET = 339,
|
||||
RIGHT_BRACKET = 340,
|
||||
LEFT_BRACE = 341,
|
||||
RIGHT_BRACE = 342,
|
||||
DOT = 343,
|
||||
COMMA = 344,
|
||||
COLON = 345,
|
||||
EQUAL = 346,
|
||||
SEMICOLON = 347,
|
||||
BANG = 348,
|
||||
DASH = 349,
|
||||
TILDE = 350,
|
||||
PLUS = 351,
|
||||
STAR = 352,
|
||||
SLASH = 353,
|
||||
PERCENT = 354,
|
||||
LEFT_ANGLE = 355,
|
||||
RIGHT_ANGLE = 356,
|
||||
VERTICAL_BAR = 357,
|
||||
CARET = 358,
|
||||
AMPERSAND = 359,
|
||||
QUESTION = 360,
|
||||
INVARIANT = 361,
|
||||
HIGH_PRECISION = 362,
|
||||
MEDIUM_PRECISION = 363,
|
||||
LOW_PRECISION = 364,
|
||||
PRECISION = 365,
|
||||
PACKED = 366,
|
||||
RESOURCE = 367,
|
||||
SUPERP = 368,
|
||||
FLOATCONSTANT = 369,
|
||||
INTCONSTANT = 370,
|
||||
UINTCONSTANT = 371,
|
||||
BOOLCONSTANT = 372,
|
||||
IDENTIFIER = 373,
|
||||
TYPE_NAME = 374,
|
||||
CENTROID = 375,
|
||||
IN = 376,
|
||||
OUT = 377,
|
||||
INOUT = 378,
|
||||
STRUCT = 379,
|
||||
VOID = 380,
|
||||
WHILE = 381,
|
||||
BREAK = 382,
|
||||
CONTINUE = 383,
|
||||
DO = 384,
|
||||
ELSE = 385,
|
||||
FOR = 386,
|
||||
IF = 387,
|
||||
DISCARD = 388,
|
||||
RETURN = 389,
|
||||
SWITCH = 390,
|
||||
CASE = 391,
|
||||
DEFAULT = 392,
|
||||
UNIFORM = 393,
|
||||
SHARED = 394,
|
||||
FLAT = 395,
|
||||
SMOOTH = 396,
|
||||
LAYOUT = 397
|
||||
};
|
||||
#endif
|
||||
|
||||
@ -497,7 +229,7 @@ union YYSTYPE
|
||||
glslang::TArraySizes* typeParameters;
|
||||
} interm;
|
||||
|
||||
#line 501 "MachineIndependent/glslang_tab.cpp.h" /* yacc.c:1909 */
|
||||
#line 233 "MachineIndependent/glslang_tab.cpp.h" /* yacc.c:1909 */
|
||||
};
|
||||
|
||||
typedef union YYSTYPE YYSTYPE;
|
||||
|
Loading…
Reference in New Issue
Block a user