Commit 8ca60805 by Olli Etuaho Committed by Commit Bot

Add 2D MS array sampler support to compiler

This also places textureSize(gsampler2DMS) correctly in the ESSL 3.10 builtins instead of ESSL 3.00 builtins. BUG=angleproject:2775 TEST=angle_unittests Change-Id: Ieb0f7a7424a5558a5569af6d4fcbcc9b12ec9840 Reviewed-on: https://chromium-review.googlesource.com/1186466 Commit-Queue: Olli Etuaho <oetuaho@nvidia.com> Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
parent 4285647b
...@@ -71,13 +71,13 @@ enum ShShaderOutput ...@@ -71,13 +71,13 @@ enum ShShaderOutput
// The Compile options type is defined in ShaderVars.h, to allow ANGLE to import the ShaderVars // The Compile options type is defined in ShaderVars.h, to allow ANGLE to import the ShaderVars
// header without needing the ShaderLang header. This avoids some conflicts with glslang. // header without needing the ShaderLang header. This avoids some conflicts with glslang.
const ShCompileOptions SH_VALIDATE = 0; const ShCompileOptions SH_VALIDATE = 0;
const ShCompileOptions SH_VALIDATE_LOOP_INDEXING = UINT64_C(1) << 0; const ShCompileOptions SH_VALIDATE_LOOP_INDEXING = UINT64_C(1) << 0;
const ShCompileOptions SH_INTERMEDIATE_TREE = UINT64_C(1) << 1; const ShCompileOptions SH_INTERMEDIATE_TREE = UINT64_C(1) << 1;
const ShCompileOptions SH_OBJECT_CODE = UINT64_C(1) << 2; const ShCompileOptions SH_OBJECT_CODE = UINT64_C(1) << 2;
const ShCompileOptions SH_VARIABLES = UINT64_C(1) << 3; const ShCompileOptions SH_VARIABLES = UINT64_C(1) << 3;
const ShCompileOptions SH_LINE_DIRECTIVES = UINT64_C(1) << 4; const ShCompileOptions SH_LINE_DIRECTIVES = UINT64_C(1) << 4;
const ShCompileOptions SH_SOURCE_PATH = UINT64_C(1) << 5; const ShCompileOptions SH_SOURCE_PATH = UINT64_C(1) << 5;
// This flag will keep invariant declaration for input in fragment shader for GLSL >=4.20 on AMD. // This flag will keep invariant declaration for input in fragment shader for GLSL >=4.20 on AMD.
// From GLSL >= 4.20, it's optional to add invariant for fragment input, but GPU vendors have // From GLSL >= 4.20, it's optional to add invariant for fragment input, but GPU vendors have
...@@ -313,6 +313,7 @@ struct ShBuiltInResources ...@@ -313,6 +313,7 @@ struct ShBuiltInResources
int OVR_multiview; int OVR_multiview;
int EXT_YUV_target; int EXT_YUV_target;
int EXT_geometry_shader; int EXT_geometry_shader;
int ANGLE_texture_multisample_array;
// Set to 1 to enable replacing GL_EXT_draw_buffers #extension directives // Set to 1 to enable replacing GL_EXT_draw_buffers #extension directives
// with GL_NV_draw_buffers in ESSL output. This flag can be used to emulate // with GL_NV_draw_buffers in ESSL output. This flag can be used to emulate
...@@ -616,4 +617,4 @@ int GetGeometryShaderMaxVertices(const ShHandle handle); ...@@ -616,4 +617,4 @@ int GetGeometryShaderMaxVertices(const ShHandle handle);
} // namespace sh } // namespace sh
#endif // GLSLANG_SHADERLANG_H_ #endif // GLSLANG_SHADERLANG_H_
...@@ -32,11 +32,11 @@ ...@@ -32,11 +32,11 @@
"DXGI format:src/libANGLE/renderer/d3d/d3d11/gen_dxgi_format_table.py": "DXGI format:src/libANGLE/renderer/d3d/d3d11/gen_dxgi_format_table.py":
"2932a5e1c3c846be0169e29a4f9c72e8", "2932a5e1c3c846be0169e29a4f9c72e8",
"ESSL static builtins:src/compiler/translator/builtin_function_declarations.txt": "ESSL static builtins:src/compiler/translator/builtin_function_declarations.txt":
"39b92f5a4d982873d3595b70049d5160", "36f9636dbfbcd6508a4b76143c5e4540",
"ESSL static builtins:src/compiler/translator/builtin_variables.json": "ESSL static builtins:src/compiler/translator/builtin_variables.json":
"2c0e86ff9f92f79ada03f04206e63fba", "2c0e86ff9f92f79ada03f04206e63fba",
"ESSL static builtins:src/compiler/translator/gen_builtin_symbols.py": "ESSL static builtins:src/compiler/translator/gen_builtin_symbols.py":
"51afaa8fc47b537aa4e62552de9cc7c0", "9a5226ee6573650897bdc21e1bb0bfd0",
"Emulated HLSL functions:src/compiler/translator/emulated_builtin_function_data_hlsl.json": "Emulated HLSL functions:src/compiler/translator/emulated_builtin_function_data_hlsl.json":
"002ad46d144c51fe98d73478aa554ba7", "002ad46d144c51fe98d73478aa554ba7",
"Emulated HLSL functions:src/compiler/translator/gen_emulated_builtin_function_tables.py": "Emulated HLSL functions:src/compiler/translator/gen_emulated_builtin_function_tables.py":
...@@ -46,7 +46,7 @@ ...@@ -46,7 +46,7 @@
"GL copy conversion table:src/libANGLE/gen_copy_conversion_table.py": "GL copy conversion table:src/libANGLE/gen_copy_conversion_table.py":
"ac1afe23d9578bd1d2ef74f4a7aa927a", "ac1afe23d9578bd1d2ef74f4a7aa927a",
"GL entry point:scripts/entry_point_packed_gl_enums.json": "GL entry point:scripts/entry_point_packed_gl_enums.json":
"154df93d8af5156b1f434a7a1a84b671", "803930a62d35ed9b83faba037f34e293",
"GL entry point:scripts/generate_entry_points.py": "GL entry point:scripts/generate_entry_points.py":
"c502f05207c8a2eb27ae67e48b5d02c2", "c502f05207c8a2eb27ae67e48b5d02c2",
"GL entry point:scripts/gl.xml": "GL entry point:scripts/gl.xml":
......
...@@ -70,16 +70,19 @@ enum TBasicType ...@@ -70,16 +70,19 @@ enum TBasicType
EbtSamplerExternal2DY2YEXT, // Only valid if GL_EXT_YUV_target exists. EbtSamplerExternal2DY2YEXT, // Only valid if GL_EXT_YUV_target exists.
EbtSampler2DRect, // Only valid if GL_ARB_texture_rectangle exists. EbtSampler2DRect, // Only valid if GL_ARB_texture_rectangle exists.
EbtSampler2DMS, EbtSampler2DMS,
EbtSampler2DMSArray,
EbtISampler2D, EbtISampler2D,
EbtISampler3D, EbtISampler3D,
EbtISamplerCube, EbtISamplerCube,
EbtISampler2DArray, EbtISampler2DArray,
EbtISampler2DMS, EbtISampler2DMS,
EbtISampler2DMSArray,
EbtUSampler2D, EbtUSampler2D,
EbtUSampler3D, EbtUSampler3D,
EbtUSamplerCube, EbtUSamplerCube,
EbtUSampler2DArray, EbtUSampler2DArray,
EbtUSampler2DMS, EbtUSampler2DMS,
EbtUSampler2DMSArray,
EbtSampler2DShadow, EbtSampler2DShadow,
EbtSamplerCubeShadow, EbtSamplerCubeShadow,
EbtSampler2DArrayShadow, EbtSampler2DArrayShadow,
......
...@@ -13,6 +13,7 @@ ...@@ -13,6 +13,7 @@
#include <string.h> #include <string.h>
#define LIST_EXTENSIONS(OP) \ #define LIST_EXTENSIONS(OP) \
OP(ANGLE_texture_multisample_array) \
OP(ARB_texture_rectangle) \ OP(ARB_texture_rectangle) \
OP(ARM_shader_framebuffer_fetch) \ OP(ARM_shader_framebuffer_fetch) \
OP(EXT_blend_func_extended) \ OP(EXT_blend_func_extended) \
......
...@@ -18,6 +18,7 @@ enum class TExtension ...@@ -18,6 +18,7 @@ enum class TExtension
{ {
UNDEFINED, // Special value used to indicate no extension. UNDEFINED, // Special value used to indicate no extension.
ANGLE_texture_multisample_array,
ARB_texture_rectangle, ARB_texture_rectangle,
ARM_shader_framebuffer_fetch, ARM_shader_framebuffer_fetch,
EXT_blend_func_extended, EXT_blend_func_extended,
......
...@@ -73,6 +73,10 @@ void InitExtensionBehavior(const ShBuiltInResources &resources, TExtensionBehavi ...@@ -73,6 +73,10 @@ void InitExtensionBehavior(const ShBuiltInResources &resources, TExtensionBehavi
{ {
extBehavior[TExtension::EXT_geometry_shader] = EBhUndefined; extBehavior[TExtension::EXT_geometry_shader] = EBhUndefined;
} }
if (resources.ANGLE_texture_multisample_array)
{
extBehavior[TExtension::ANGLE_texture_multisample_array] = EBhUndefined;
}
} }
void ResetExtensionBehavior(TExtensionBehavior &extBehavior) void ResetExtensionBehavior(TExtensionBehavior &extBehavior)
......
...@@ -21,42 +21,42 @@ namespace BuiltInGroup ...@@ -21,42 +21,42 @@ namespace BuiltInGroup
bool isTextureOffsetNoBias(const TFunction *func) bool isTextureOffsetNoBias(const TFunction *func)
{ {
int id = func->uniqueId().get(); int id = func->uniqueId().get();
return id >= 662 && id <= 731; return id >= 668 && id <= 737;
} }
bool isTextureOffsetBias(const TFunction *func) bool isTextureOffsetBias(const TFunction *func)
{ {
int id = func->uniqueId().get(); int id = func->uniqueId().get();
return id >= 732 && id <= 751; return id >= 738 && id <= 757;
} }
bool isTextureGatherOffset(const TFunction *func) bool isTextureGatherOffset(const TFunction *func)
{ {
int id = func->uniqueId().get(); int id = func->uniqueId().get();
return id >= 823 && id <= 836; return id >= 832 && id <= 845;
} }
bool isTextureGather(const TFunction *func) bool isTextureGather(const TFunction *func)
{ {
int id = func->uniqueId().get(); int id = func->uniqueId().get();
return id >= 799 && id <= 836; return id >= 808 && id <= 845;
} }
bool isAtomicMemory(const TFunction *func) bool isAtomicMemory(const TFunction *func)
{ {
int id = func->uniqueId().get(); int id = func->uniqueId().get();
return id >= 853 && id <= 870; return id >= 862 && id <= 879;
} }
bool isImageLoad(const TFunction *func) bool isImageLoad(const TFunction *func)
{ {
int id = func->uniqueId().get(); int id = func->uniqueId().get();
return id >= 895 && id <= 906; return id >= 904 && id <= 915;
} }
bool isImageStore(const TFunction *func) bool isImageStore(const TFunction *func)
{ {
int id = func->uniqueId().get(); int id = func->uniqueId().get();
return id >= 907 && id <= 918; return id >= 916 && id <= 927;
} }
bool isImage(const TFunction *func) bool isImage(const TFunction *func)
{ {
int id = func->uniqueId().get(); int id = func->uniqueId().get();
return id >= 871 && id <= 918; return id >= 880 && id <= 927;
} }
} // namespace BuiltInGroup } // namespace BuiltInGroup
......
...@@ -17,8 +17,8 @@ ...@@ -17,8 +17,8 @@
#ifdef ANGLE_ENABLE_HLSL #ifdef ANGLE_ENABLE_HLSL
#include "compiler/translator/TranslatorHLSL.h" #include "compiler/translator/TranslatorHLSL.h"
#endif // ANGLE_ENABLE_HLSL #endif // ANGLE_ENABLE_HLSL
#include "compiler/translator/VariablePacker.h"
#include "angle_gl.h" #include "angle_gl.h"
#include "compiler/translator/VariablePacker.h"
namespace sh namespace sh
{ {
...@@ -202,6 +202,7 @@ void InitBuiltInResources(ShBuiltInResources *resources) ...@@ -202,6 +202,7 @@ void InitBuiltInResources(ShBuiltInResources *resources)
resources->OVR_multiview = 0; resources->OVR_multiview = 0;
resources->EXT_YUV_target = 0; resources->EXT_YUV_target = 0;
resources->EXT_geometry_shader = 0; resources->EXT_geometry_shader = 0;
resources->ANGLE_texture_multisample_array = 0;
resources->NV_draw_buffers = 0; resources->NV_draw_buffers = 0;
...@@ -269,7 +270,7 @@ void InitBuiltInResources(ShBuiltInResources *resources) ...@@ -269,7 +270,7 @@ void InitBuiltInResources(ShBuiltInResources *resources)
resources->MaxCombinedAtomicCounterBuffers = 1; resources->MaxCombinedAtomicCounterBuffers = 1;
resources->MaxAtomicCounterBufferSize = 32; resources->MaxAtomicCounterBufferSize = 32;
resources->MaxUniformBufferBindings = 32; resources->MaxUniformBufferBindings = 32;
resources->MaxShaderStorageBufferBindings = 4; resources->MaxShaderStorageBufferBindings = 4;
resources->MaxGeometryUniformComponents = 1024; resources->MaxGeometryUniformComponents = 1024;
......
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -52,6 +52,8 @@ const char *getBasicString(TBasicType t) ...@@ -52,6 +52,8 @@ const char *getBasicString(TBasicType t)
return "sampler2DArray"; return "sampler2DArray";
case EbtSampler2DMS: case EbtSampler2DMS:
return "sampler2DMS"; return "sampler2DMS";
case EbtSampler2DMSArray:
return "sampler2DMSArray";
case EbtISampler2D: case EbtISampler2D:
return "isampler2D"; return "isampler2D";
case EbtISampler3D: case EbtISampler3D:
...@@ -62,6 +64,8 @@ const char *getBasicString(TBasicType t) ...@@ -62,6 +64,8 @@ const char *getBasicString(TBasicType t)
return "isampler2DArray"; return "isampler2DArray";
case EbtISampler2DMS: case EbtISampler2DMS:
return "isampler2DMS"; return "isampler2DMS";
case EbtISampler2DMSArray:
return "isampler2DMSArray";
case EbtUSampler2D: case EbtUSampler2D:
return "usampler2D"; return "usampler2D";
case EbtUSampler3D: case EbtUSampler3D:
...@@ -72,6 +76,8 @@ const char *getBasicString(TBasicType t) ...@@ -72,6 +76,8 @@ const char *getBasicString(TBasicType t)
return "usampler2DArray"; return "usampler2DArray";
case EbtUSampler2DMS: case EbtUSampler2DMS:
return "usampler2DMS"; return "usampler2DMS";
case EbtUSampler2DMSArray:
return "usampler2DMSArray";
case EbtSampler2DShadow: case EbtSampler2DShadow:
return "sampler2DShadow"; return "sampler2DShadow";
case EbtSamplerCubeShadow: case EbtSamplerCubeShadow:
......
...@@ -356,7 +356,6 @@ GROUP BEGIN TextureESSL300 ...@@ -356,7 +356,6 @@ GROUP BEGIN TextureESSL300
ivec2 textureSize(sampler2DShadow, int); ivec2 textureSize(sampler2DShadow, int);
ivec2 textureSize(samplerCubeShadow, int); ivec2 textureSize(samplerCubeShadow, int);
ivec3 textureSize(sampler2DArrayShadow, int); ivec3 textureSize(sampler2DArrayShadow, int);
ivec2 textureSize(gsampler2DMS);
gvec4 textureProjLod(gsampler2D, vec3, float); gvec4 textureProjLod(gsampler2D, vec3, float);
gvec4 textureProjLod(gsampler2D, vec4, float); gvec4 textureProjLod(gsampler2D, vec4, float);
gvec4 textureProjLod(gsampler3D, vec4, float); gvec4 textureProjLod(gsampler3D, vec4, float);
...@@ -377,6 +376,16 @@ GROUP BEGIN TextureESSL300 ...@@ -377,6 +376,16 @@ GROUP BEGIN TextureESSL300
float textureProjGrad(sampler2DShadow, vec4, vec2, vec2); float textureProjGrad(sampler2DShadow, vec4, vec2, vec2);
GROUP END TextureESSL300 GROUP END TextureESSL300
GROUP BEGIN TextureSizeMS
DEFAULT METADATA {"level": "ESSL3_1_BUILTINS", "op": "CallBuiltInFunction"}
ivec2 textureSize(gsampler2DMS);
GROUP END TextureSizeMS
GROUP BEGIN TextureSizeMSArray
DEFAULT METADATA {"level": "ESSL3_1_BUILTINS", "op": "CallBuiltInFunction", "extension": "ANGLE_texture_multisample_array"}
ivec3 textureSize(gsampler2DMSArray);
GROUP END TextureSizeMSArray
GROUP BEGIN TextureOffsetNoBias {"queryFunction": true} GROUP BEGIN TextureOffsetNoBias {"queryFunction": true}
DEFAULT METADATA {"level": "ESSL3_BUILTINS", "op": "CallBuiltInFunction"} DEFAULT METADATA {"level": "ESSL3_BUILTINS", "op": "CallBuiltInFunction"}
gvec4 textureOffset(gsampler2D, vec2, ivec2); gvec4 textureOffset(gsampler2D, vec2, ivec2);
...@@ -468,6 +477,11 @@ GROUP BEGIN TexelFetchMS ...@@ -468,6 +477,11 @@ GROUP BEGIN TexelFetchMS
gvec4 texelFetch(gsampler2DMS, ivec2, int); gvec4 texelFetch(gsampler2DMS, ivec2, int);
GROUP END TexelFetchMS GROUP END TexelFetchMS
GROUP BEGIN TexelFetchMSArray
DEFAULT METADATA {"level": "ESSL3_1_BUILTINS", "op": "CallBuiltInFunction", "extension": "ANGLE_texture_multisample_array"}
gvec4 texelFetch(gsampler2DMSArray, ivec3, int);
GROUP END TexelFetchMSArray
GROUP BEGIN TextureGather {"queryFunction": true} GROUP BEGIN TextureGather {"queryFunction": true}
DEFAULT METADATA {"level": "ESSL3_1_BUILTINS", "op": "CallBuiltInFunction"} DEFAULT METADATA {"level": "ESSL3_1_BUILTINS", "op": "CallBuiltInFunction"}
gvec4 textureGather(gsampler2D, vec2); gvec4 textureGather(gsampler2D, vec2);
......
fe7f387068b72dc71759198547902721 981c1d80d682250a98834c8c1297e616
\ No newline at end of file \ No newline at end of file
...@@ -298,16 +298,19 @@ basic_types_enumeration = [ ...@@ -298,16 +298,19 @@ basic_types_enumeration = [
'SamplerExternal2DY2YEXT', 'SamplerExternal2DY2YEXT',
'Sampler2DRect', 'Sampler2DRect',
'Sampler2DMS', 'Sampler2DMS',
'Sampler2DMSArray',
'ISampler2D', 'ISampler2D',
'ISampler3D', 'ISampler3D',
'ISamplerCube', 'ISamplerCube',
'ISampler2DArray', 'ISampler2DArray',
'ISampler2DMS', 'ISampler2DMS',
'ISampler2DMSArray',
'USampler2D', 'USampler2D',
'USampler3D', 'USampler3D',
'USamplerCube', 'USamplerCube',
'USampler2DArray', 'USampler2DArray',
'USampler2DMS', 'USampler2DMS',
'USampler2DMSArray',
'Sampler2DShadow', 'Sampler2DShadow',
'SamplerCubeShadow', 'SamplerCubeShadow',
'Sampler2DArrayShadow', 'Sampler2DArrayShadow',
......
...@@ -85,6 +85,7 @@ static int ES2_ident_ES3_reserved_ES3_1_keyword(TParseContext *context, int toke ...@@ -85,6 +85,7 @@ static int ES2_ident_ES3_reserved_ES3_1_keyword(TParseContext *context, int toke
static int ES2_and_ES3_reserved_ES3_1_keyword(TParseContext *context, int token); static int ES2_and_ES3_reserved_ES3_1_keyword(TParseContext *context, int token);
static int ES2_and_ES3_ident_ES3_1_keyword(TParseContext *context, int token); static int ES2_and_ES3_ident_ES3_1_keyword(TParseContext *context, int token);
static int ES3_extension_keyword_else_ident(TParseContext *context, TExtension extension, int token); static int ES3_extension_keyword_else_ident(TParseContext *context, TExtension extension, int token);
static int ES2_ident_ES3_reserved_ES3_1_extension_keyword(TParseContext *context, TExtension extension, int token);
static int uint_constant(TParseContext *context); static int uint_constant(TParseContext *context);
static int int_constant(TParseContext *context); static int int_constant(TParseContext *context);
static int float_constant(yyscan_t yyscanner); static int float_constant(yyscan_t yyscanner);
...@@ -203,6 +204,9 @@ O [0-7] ...@@ -203,6 +204,9 @@ O [0-7]
"samplerCubeShadow" { return ES2_ident_ES3_keyword(context, SAMPLERCUBESHADOW); } "samplerCubeShadow" { return ES2_ident_ES3_keyword(context, SAMPLERCUBESHADOW); }
"sampler2DArrayShadow" { return ES2_ident_ES3_keyword(context, SAMPLER2DARRAYSHADOW); } "sampler2DArrayShadow" { return ES2_ident_ES3_keyword(context, SAMPLER2DARRAYSHADOW); }
"__samplerExternal2DY2YEXT" { return ES3_extension_keyword_else_ident(context, TExtension::EXT_YUV_target, SAMPLEREXTERNAL2DY2YEXT); } "__samplerExternal2DY2YEXT" { return ES3_extension_keyword_else_ident(context, TExtension::EXT_YUV_target, SAMPLEREXTERNAL2DY2YEXT); }
"sampler2DMSArray" { return ES2_ident_ES3_reserved_ES3_1_extension_keyword(context, TExtension::ANGLE_texture_multisample_array, SAMPLER2DMSARRAY); }
"isampler2DMSArray" { return ES2_ident_ES3_reserved_ES3_1_extension_keyword(context, TExtension::ANGLE_texture_multisample_array, ISAMPLER2DMSARRAY); }
"usampler2DMSArray" { return ES2_ident_ES3_reserved_ES3_1_extension_keyword(context, TExtension::ANGLE_texture_multisample_array, USAMPLER2DMSARRAY); }
"struct" { return STRUCT; } "struct" { return STRUCT; }
...@@ -267,10 +271,7 @@ O [0-7] ...@@ -267,10 +271,7 @@ O [0-7]
"usampler2DRect" | "usampler2DRect" |
"samplerBuffer" | "samplerBuffer" |
"isamplerBuffer" | "isamplerBuffer" |
"usamplerBuffer" | "usamplerBuffer" {
"sampler2DMSArray" |
"isampler2DMSArray" |
"usampler2DMSArray" {
if (context->getShaderVersion() < 300) { if (context->getShaderVersion() < 300) {
yylval->lex.string = AllocatePoolCharArray(yytext, yyleng); yylval->lex.string = AllocatePoolCharArray(yytext, yyleng);
return check_type(yyscanner); return check_type(yyscanner);
...@@ -577,6 +578,27 @@ int ES3_extension_keyword_else_ident(TParseContext *context, TExtension extensio ...@@ -577,6 +578,27 @@ int ES3_extension_keyword_else_ident(TParseContext *context, TExtension extensio
return check_type(yyscanner); return check_type(yyscanner);
} }
int ES2_ident_ES3_reserved_ES3_1_extension_keyword(TParseContext *context, TExtension extension, int token)
{
struct yyguts_t* yyg = (struct yyguts_t*) context->getScanner();
yyscan_t yyscanner = (yyscan_t) context->getScanner();
// a keyword in GLSL ES 3.10 with enabled extension
if (context->getShaderVersion() >= 310 && context->isExtensionEnabled(extension))
{
return token;
}
// a reserved word in GLSL ES 3.00+
if (context->getShaderVersion() >= 300)
{
return reserved_word(yyscanner);
}
// Otherwise can be used as an identifier/type name
yylval->lex.string = AllocatePoolCharArray(yytext, yyleng);
return check_type(yyscanner);
}
int uint_constant(TParseContext *context) int uint_constant(TParseContext *context)
{ {
struct yyguts_t* yyg = (struct yyguts_t*) context->getScanner(); struct yyguts_t* yyg = (struct yyguts_t*) context->getScanner();
......
...@@ -173,6 +173,7 @@ extern void yyerror(YYLTYPE* yylloc, TParseContext* context, void *scanner, cons ...@@ -173,6 +173,7 @@ extern void yyerror(YYLTYPE* yylloc, TParseContext* context, void *scanner, cons
%token <lex> ISAMPLER2D ISAMPLER3D ISAMPLERCUBE ISAMPLER2DARRAY %token <lex> ISAMPLER2D ISAMPLER3D ISAMPLERCUBE ISAMPLER2DARRAY
%token <lex> USAMPLER2D USAMPLER3D USAMPLERCUBE USAMPLER2DARRAY %token <lex> USAMPLER2D USAMPLER3D USAMPLERCUBE USAMPLER2DARRAY
%token <lex> SAMPLER2DMS ISAMPLER2DMS USAMPLER2DMS %token <lex> SAMPLER2DMS ISAMPLER2DMS USAMPLER2DMS
%token <lex> SAMPLER2DMSARRAY ISAMPLER2DMSARRAY USAMPLER2DMSARRAY
%token <lex> SAMPLER3D SAMPLER3DRECT SAMPLER2DSHADOW SAMPLERCUBESHADOW SAMPLER2DARRAYSHADOW %token <lex> SAMPLER3D SAMPLER3DRECT SAMPLER2DSHADOW SAMPLERCUBESHADOW SAMPLER2DARRAYSHADOW
%token <lex> SAMPLEREXTERNAL2DY2YEXT %token <lex> SAMPLEREXTERNAL2DY2YEXT
%token <lex> IMAGE2D IIMAGE2D UIMAGE2D IMAGE3D IIMAGE3D UIMAGE3D IMAGE2DARRAY IIMAGE2DARRAY UIMAGE2DARRAY %token <lex> IMAGE2D IIMAGE2D UIMAGE2D IMAGE3D IIMAGE3D UIMAGE3D IMAGE2DARRAY IIMAGE2DARRAY UIMAGE2DARRAY
...@@ -1084,6 +1085,9 @@ type_specifier_nonarray ...@@ -1084,6 +1085,9 @@ type_specifier_nonarray
| SAMPLER2DMS { | SAMPLER2DMS {
$$.initialize(EbtSampler2DMS, @1); $$.initialize(EbtSampler2DMS, @1);
} }
| SAMPLER2DMSARRAY {
$$.initialize(EbtSampler2DMSArray, @1);
}
| ISAMPLER2D { | ISAMPLER2D {
$$.initialize(EbtISampler2D, @1); $$.initialize(EbtISampler2D, @1);
} }
...@@ -1099,6 +1103,9 @@ type_specifier_nonarray ...@@ -1099,6 +1103,9 @@ type_specifier_nonarray
| ISAMPLER2DMS { | ISAMPLER2DMS {
$$.initialize(EbtISampler2DMS, @1); $$.initialize(EbtISampler2DMS, @1);
} }
| ISAMPLER2DMSARRAY {
$$.initialize(EbtISampler2DMSArray, @1);
}
| USAMPLER2D { | USAMPLER2D {
$$.initialize(EbtUSampler2D, @1); $$.initialize(EbtUSampler2D, @1);
} }
...@@ -1114,6 +1121,9 @@ type_specifier_nonarray ...@@ -1114,6 +1121,9 @@ type_specifier_nonarray
| USAMPLER2DMS { | USAMPLER2DMS {
$$.initialize(EbtUSampler2DMS, @1); $$.initialize(EbtUSampler2DMS, @1);
} }
| USAMPLER2DMSARRAY {
$$.initialize(EbtUSampler2DMSArray, @1);
}
| SAMPLER2DSHADOW { | SAMPLER2DSHADOW {
$$.initialize(EbtSampler2DShadow, @1); $$.initialize(EbtSampler2DShadow, @1);
} }
......
...@@ -110,10 +110,10 @@ ...@@ -110,10 +110,10 @@
/* First, we deal with platform-specific or compiler-specific issues. */ /* First, we deal with platform-specific or compiler-specific issues. */
/* begin standard C headers. */ /* begin standard C headers. */
#include <stdio.h>
#include <string.h>
#include <errno.h> #include <errno.h>
#include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#include <string.h>
/* end standard C headers. */ /* end standard C headers. */
...@@ -573,58 +573,58 @@ static const flex_int16_t yy_accept[891] = ...@@ -573,58 +573,58 @@ static const flex_int16_t yy_accept[891] =
169, 170, 184, 184, 184, 26, 166, 184, 184, 184, 169, 170, 184, 184, 184, 26, 166, 184, 184, 184,
184, 184, 52, 53, 54, 184, 184, 184, 184, 184, 184, 184, 52, 53, 54, 184, 184, 184, 184, 184,
184, 184, 184, 184, 184, 184, 109, 184, 184, 184, 184, 184, 184, 184, 184, 184, 112, 184, 184, 184,
184, 184, 184, 184, 184, 160, 184, 184, 184, 184, 184, 184, 184, 184, 184, 160, 184, 184, 184, 184,
184, 184, 184, 184, 184, 184, 184, 146, 184, 184, 184, 184, 184, 184, 184, 184, 184, 146, 184, 184,
183, 58, 59, 60, 184, 184, 15, 184, 184, 184, 183, 58, 59, 60, 184, 184, 15, 184, 184, 184,
114, 184, 184, 9, 184, 184, 112, 184, 184, 184, 117, 184, 184, 9, 184, 184, 115, 184, 184, 184,
161, 156, 115, 184, 184, 184, 184, 184, 184, 152, 161, 156, 118, 184, 184, 184, 184, 184, 184, 152,
184, 184, 184, 184, 184, 84, 40, 43, 45, 44, 184, 184, 184, 184, 184, 87, 40, 43, 45, 44,
41, 47, 46, 48, 42, 184, 184, 184, 184, 167, 41, 47, 46, 48, 42, 184, 184, 184, 184, 167,
143, 184, 184, 154, 184, 184, 184, 36, 110, 27, 143, 184, 184, 154, 184, 184, 184, 36, 113, 27,
180, 23, 155, 83, 184, 165, 18, 184, 184, 184, 180, 23, 155, 86, 184, 165, 18, 184, 184, 184,
184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
184, 184, 184, 20, 35, 184, 184, 184, 184, 184, 184, 184, 184, 20, 35, 184, 184, 184, 184, 184,
184, 116, 89, 95, 184, 184, 184, 184, 184, 86, 184, 119, 92, 98, 184, 184, 184, 184, 184, 89,
88, 3, 184, 184, 184, 184, 184, 184, 184, 184, 91, 3, 184, 184, 184, 184, 184, 184, 184, 184,
184, 184, 184, 148, 184, 184, 184, 184, 184, 8, 184, 184, 184, 148, 184, 184, 184, 184, 184, 8,
184, 184, 10, 184, 184, 184, 184, 184, 184, 21, 184, 184, 10, 184, 184, 184, 184, 184, 184, 21,
103, 12, 157, 117, 90, 97, 184, 184, 184, 184, 106, 12, 157, 120, 93, 100, 184, 184, 184, 184,
184, 184, 184, 184, 184, 184, 184, 184, 184, 153, 184, 184, 184, 184, 184, 184, 184, 184, 184, 153,
184, 184, 184, 101, 107, 104, 184, 184, 184, 184, 184, 184, 184, 104, 110, 107, 184, 184, 184, 184,
184, 184, 184, 149, 118, 91, 96, 184, 184, 164, 184, 184, 184, 149, 121, 94, 99, 184, 184, 164,
184, 105, 184, 184, 184, 184, 6, 184, 184, 184, 184, 108, 184, 184, 184, 184, 6, 184, 184, 184,
184, 184, 184, 184, 184, 184, 100, 158, 1, 184, 184, 184, 184, 184, 184, 184, 103, 158, 1, 184,
184, 184, 184, 184, 184, 182, 184, 113, 5, 177, 184, 184, 184, 184, 184, 182, 184, 116, 5, 177,
61, 64, 184, 184, 184, 184, 184, 184, 184, 184, 61, 64, 184, 184, 184, 184, 184, 184, 184, 184,
184, 184, 184, 184, 184, 102, 184, 184, 184, 184, 184, 184, 184, 184, 184, 105, 184, 184, 184, 184,
184, 184, 98, 184, 184, 184, 184, 184, 131, 69, 184, 184, 101, 184, 184, 184, 184, 184, 134, 69,
70, 184, 184, 184, 184, 184, 184, 184, 184, 184, 70, 184, 184, 184, 184, 184, 184, 184, 184, 184,
184, 184, 184, 184, 184, 111, 184, 184, 184, 99, 184, 184, 184, 184, 184, 114, 184, 184, 184, 102,
133, 74, 75, 184, 184, 184, 184, 106, 184, 184, 136, 74, 75, 184, 184, 184, 184, 109, 184, 184,
184, 184, 184, 184, 184, 126, 184, 184, 184, 184, 184, 184, 184, 184, 184, 129, 184, 184, 184, 184,
184, 184, 184, 184, 184, 184, 184, 68, 184, 184, 184, 184, 184, 184, 184, 184, 184, 68, 184, 184,
184, 184, 62, 184, 184, 184, 184, 184, 184, 184, 184, 184, 62, 184, 184, 184, 184, 184, 184, 184,
184, 184, 184, 184, 184, 184, 184, 127, 119, 184, 184, 184, 184, 184, 184, 184, 184, 130, 122, 184,
92, 184, 184, 184, 73, 184, 184, 71, 184, 184, 95, 184, 184, 184, 73, 184, 184, 71, 184, 184,
184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
184, 184, 128, 184, 184, 78, 184, 184, 76, 184, 184, 184, 131, 184, 184, 78, 184, 184, 76, 184,
184, 120, 93, 184, 122, 184, 123, 184, 184, 184, 184, 123, 96, 184, 125, 184, 126, 184, 184, 184,
184, 184, 184, 108, 184, 184, 184, 184, 66, 184, 184, 184, 184, 111, 184, 184, 184, 184, 66, 184,
65, 137, 184, 184, 121, 94, 184, 184, 184, 184, 65, 140, 184, 184, 124, 97, 184, 184, 184, 184,
184, 184, 184, 184, 184, 184, 184, 184, 135, 138, 184, 184, 184, 184, 184, 184, 184, 184, 138, 141,
184, 129, 184, 67, 184, 184, 184, 184, 184, 184, 184, 132, 184, 67, 184, 184, 184, 184, 184, 184,
184, 184, 136, 139, 184, 184, 184, 184, 132, 72, 184, 184, 139, 142, 184, 184, 184, 184, 135, 72,
184, 184, 184, 178, 184, 184, 184, 79, 184, 184, 184, 184, 184, 178, 184, 184, 184, 79, 184, 184,
134, 77, 184, 184, 184, 184, 184, 184, 184, 184, 137, 77, 184, 184, 184, 184, 184, 184, 184, 184,
184, 140, 184, 184, 184, 184, 184, 184, 184, 184, 184, 83, 184, 184, 184, 184, 184, 184, 184, 184,
141, 184, 184, 184, 184, 80, 184, 142, 85, 184, 84, 184, 184, 184, 184, 80, 184, 85, 88, 184,
124, 125, 87, 184, 184, 184, 63, 184, 184, 184, 127, 128, 90, 184, 184, 184, 63, 184, 184, 184,
179, 184, 130, 81, 184, 184, 184, 184, 82, 0 179, 184, 133, 81, 184, 184, 184, 184, 82, 0
} ; } ;
static const YY_CHAR yy_ec[256] = static const YY_CHAR yy_ec[256] =
...@@ -1183,11 +1183,11 @@ IF YOU MODIFY THIS FILE YOU ALSO NEED TO RUN generate_parser.sh, ...@@ -1183,11 +1183,11 @@ IF YOU MODIFY THIS FILE YOU ALSO NEED TO RUN generate_parser.sh,
WHICH GENERATES THE GLSL ES LEXER (glslang_lex.cpp). WHICH GENERATES THE GLSL ES LEXER (glslang_lex.cpp).
*/ */
#include "compiler/translator/glslang.h"
#include "compiler/translator/ParseContext.h"
#include "compiler/preprocessor/Token.h" #include "compiler/preprocessor/Token.h"
#include "compiler/translator/util.h" #include "compiler/translator/ParseContext.h"
#include "compiler/translator/glslang.h"
#include "compiler/translator/length_limits.h" #include "compiler/translator/length_limits.h"
#include "compiler/translator/util.h"
using namespace sh; using namespace sh;
...@@ -1224,6 +1224,7 @@ static int ES2_ident_ES3_reserved_ES3_1_keyword(TParseContext *context, int toke ...@@ -1224,6 +1224,7 @@ static int ES2_ident_ES3_reserved_ES3_1_keyword(TParseContext *context, int toke
static int ES2_and_ES3_reserved_ES3_1_keyword(TParseContext *context, int token); static int ES2_and_ES3_reserved_ES3_1_keyword(TParseContext *context, int token);
static int ES2_and_ES3_ident_ES3_1_keyword(TParseContext *context, int token); static int ES2_and_ES3_ident_ES3_1_keyword(TParseContext *context, int token);
static int ES3_extension_keyword_else_ident(TParseContext *context, TExtension extension, int token); static int ES3_extension_keyword_else_ident(TParseContext *context, TExtension extension, int token);
static int ES2_ident_ES3_reserved_ES3_1_extension_keyword(TParseContext *context, TExtension extension, int token);
static int uint_constant(TParseContext *context); static int uint_constant(TParseContext *context);
static int int_constant(TParseContext *context); static int int_constant(TParseContext *context);
static int float_constant(yyscan_t yyscanner); static int float_constant(yyscan_t yyscanner);
...@@ -2027,104 +2028,113 @@ YY_RULE_SETUP ...@@ -2027,104 +2028,113 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 83: case 83:
YY_RULE_SETUP YY_RULE_SETUP
{ return STRUCT; } { return ES2_ident_ES3_reserved_ES3_1_extension_keyword(context, TExtension::ANGLE_texture_multisample_array, SAMPLER2DMSARRAY); }
YY_BREAK YY_BREAK
case 84: case 84:
YY_RULE_SETUP YY_RULE_SETUP
{ return ES2_ident_ES3_keyword_multiview_keyword(context, LAYOUT); } { return ES2_ident_ES3_reserved_ES3_1_extension_keyword(context, TExtension::ANGLE_texture_multisample_array, ISAMPLER2DMSARRAY); }
YY_BREAK YY_BREAK
case 85: case 85:
YY_RULE_SETUP YY_RULE_SETUP
{ return ES3_extension_keyword_else_ident(context, TExtension::EXT_YUV_target, YUVCSCSTANDARDEXT); } { return ES2_ident_ES3_reserved_ES3_1_extension_keyword(context, TExtension::ANGLE_texture_multisample_array, USAMPLER2DMSARRAY); }
YY_BREAK YY_BREAK
case 86: case 86:
YY_RULE_SETUP YY_RULE_SETUP
{ return yuvcscstandardext_constant(context); } { return STRUCT; }
YY_BREAK YY_BREAK
case 87: case 87:
YY_RULE_SETUP YY_RULE_SETUP
{ return yuvcscstandardext_constant(context); } { return ES2_ident_ES3_keyword_multiview_keyword(context, LAYOUT); }
YY_BREAK YY_BREAK
case 88: case 88:
YY_RULE_SETUP YY_RULE_SETUP
{ return yuvcscstandardext_constant(context); } { return ES3_extension_keyword_else_ident(context, TExtension::EXT_YUV_target, YUVCSCSTANDARDEXT); }
YY_BREAK YY_BREAK
case 89: case 89:
YY_RULE_SETUP YY_RULE_SETUP
{ return ES2_ident_ES3_reserved_ES3_1_keyword(context, IMAGE2D); } { return yuvcscstandardext_constant(context); }
YY_BREAK YY_BREAK
case 90: case 90:
YY_RULE_SETUP YY_RULE_SETUP
{ return ES2_ident_ES3_reserved_ES3_1_keyword(context, IIMAGE2D); } { return yuvcscstandardext_constant(context); }
YY_BREAK YY_BREAK
case 91: case 91:
YY_RULE_SETUP YY_RULE_SETUP
{ return ES2_ident_ES3_reserved_ES3_1_keyword(context, UIMAGE2D); } { return yuvcscstandardext_constant(context); }
YY_BREAK YY_BREAK
case 92: case 92:
YY_RULE_SETUP YY_RULE_SETUP
{ return ES2_ident_ES3_reserved_ES3_1_keyword(context, IMAGE2DARRAY); } { return ES2_ident_ES3_reserved_ES3_1_keyword(context, IMAGE2D); }
YY_BREAK YY_BREAK
case 93: case 93:
YY_RULE_SETUP YY_RULE_SETUP
{ return ES2_ident_ES3_reserved_ES3_1_keyword(context, IIMAGE2DARRAY); } { return ES2_ident_ES3_reserved_ES3_1_keyword(context, IIMAGE2D); }
YY_BREAK YY_BREAK
case 94: case 94:
YY_RULE_SETUP YY_RULE_SETUP
{ return ES2_ident_ES3_reserved_ES3_1_keyword(context, UIMAGE2DARRAY); } { return ES2_ident_ES3_reserved_ES3_1_keyword(context, UIMAGE2D); }
YY_BREAK YY_BREAK
case 95: case 95:
YY_RULE_SETUP YY_RULE_SETUP
{ return ES2_ident_ES3_reserved_ES3_1_keyword(context, IMAGE3D); } { return ES2_ident_ES3_reserved_ES3_1_keyword(context, IMAGE2DARRAY); }
YY_BREAK YY_BREAK
case 96: case 96:
YY_RULE_SETUP YY_RULE_SETUP
{ return ES2_ident_ES3_reserved_ES3_1_keyword(context, UIMAGE3D); } { return ES2_ident_ES3_reserved_ES3_1_keyword(context, IIMAGE2DARRAY); }
YY_BREAK YY_BREAK
case 97: case 97:
YY_RULE_SETUP YY_RULE_SETUP
{ return ES2_ident_ES3_reserved_ES3_1_keyword(context, IIMAGE3D); } { return ES2_ident_ES3_reserved_ES3_1_keyword(context, UIMAGE2DARRAY); }
YY_BREAK YY_BREAK
case 98: case 98:
YY_RULE_SETUP YY_RULE_SETUP
{ return ES2_ident_ES3_reserved_ES3_1_keyword(context, IIMAGECUBE); } { return ES2_ident_ES3_reserved_ES3_1_keyword(context, IMAGE3D); }
YY_BREAK YY_BREAK
case 99: case 99:
YY_RULE_SETUP YY_RULE_SETUP
{ return ES2_ident_ES3_reserved_ES3_1_keyword(context, UIMAGECUBE); } { return ES2_ident_ES3_reserved_ES3_1_keyword(context, UIMAGE3D); }
YY_BREAK YY_BREAK
case 100: case 100:
YY_RULE_SETUP YY_RULE_SETUP
{ return ES2_ident_ES3_reserved_ES3_1_keyword(context, IMAGECUBE); } { return ES2_ident_ES3_reserved_ES3_1_keyword(context, IIMAGE3D); }
YY_BREAK YY_BREAK
case 101: case 101:
YY_RULE_SETUP YY_RULE_SETUP
{ return ES2_ident_ES3_reserved_ES3_1_keyword(context, READONLY); } { return ES2_ident_ES3_reserved_ES3_1_keyword(context, IIMAGECUBE); }
YY_BREAK YY_BREAK
case 102: case 102:
YY_RULE_SETUP YY_RULE_SETUP
{ return ES2_ident_ES3_reserved_ES3_1_keyword(context, WRITEONLY); } { return ES2_ident_ES3_reserved_ES3_1_keyword(context, UIMAGECUBE); }
YY_BREAK YY_BREAK
case 103: case 103:
YY_RULE_SETUP YY_RULE_SETUP
{ return ES2_ident_ES3_reserved_ES3_1_keyword(context, COHERENT); } { return ES2_ident_ES3_reserved_ES3_1_keyword(context, IMAGECUBE); }
YY_BREAK YY_BREAK
case 104: case 104:
YY_RULE_SETUP YY_RULE_SETUP
{ return ES2_ident_ES3_reserved_ES3_1_keyword(context, RESTRICT); } { return ES2_ident_ES3_reserved_ES3_1_keyword(context, READONLY); }
YY_BREAK YY_BREAK
case 105: case 105:
YY_RULE_SETUP YY_RULE_SETUP
{ return ES2_and_ES3_reserved_ES3_1_keyword(context, VOLATILE); } { return ES2_ident_ES3_reserved_ES3_1_keyword(context, WRITEONLY); }
YY_BREAK YY_BREAK
case 106: case 106:
YY_RULE_SETUP YY_RULE_SETUP
{ return ES2_ident_ES3_reserved_ES3_1_keyword(context, ATOMICUINT); } { return ES2_ident_ES3_reserved_ES3_1_keyword(context, COHERENT); }
YY_BREAK YY_BREAK
/* Reserved keywords for GLSL ES 3.00 that are not reserved for GLSL ES 1.00 */
case 107: case 107:
YY_RULE_SETUP
{ return ES2_ident_ES3_reserved_ES3_1_keyword(context, RESTRICT); }
YY_BREAK
case 108: case 108:
YY_RULE_SETUP
{ return ES2_and_ES3_reserved_ES3_1_keyword(context, VOLATILE); }
YY_BREAK
case 109: case 109:
YY_RULE_SETUP
{ return ES2_ident_ES3_reserved_ES3_1_keyword(context, ATOMICUINT); }
YY_BREAK
/* Reserved keywords for GLSL ES 3.00 that are not reserved for GLSL ES 1.00 */
case 110: case 110:
case 111: case 111:
case 112: case 112:
...@@ -2159,7 +2169,7 @@ case 140: ...@@ -2159,7 +2169,7 @@ case 140:
case 141: case 141:
case 142: case 142:
YY_RULE_SETUP YY_RULE_SETUP
{ {
if (context->getShaderVersion() < 300) { if (context->getShaderVersion() < 300) {
yylval->lex.string = AllocatePoolCharArray(yytext, yyleng); yylval->lex.string = AllocatePoolCharArray(yytext, yyleng);
return check_type(yyscanner); return check_type(yyscanner);
...@@ -3933,6 +3943,27 @@ int ES3_extension_keyword_else_ident(TParseContext *context, TExtension extensio ...@@ -3933,6 +3943,27 @@ int ES3_extension_keyword_else_ident(TParseContext *context, TExtension extensio
return check_type(yyscanner); return check_type(yyscanner);
} }
int ES2_ident_ES3_reserved_ES3_1_extension_keyword(TParseContext *context, TExtension extension, int token)
{
struct yyguts_t* yyg = (struct yyguts_t*) context->getScanner();
yyscan_t yyscanner = (yyscan_t) context->getScanner();
// a keyword in GLSL ES 3.10 with enabled extension
if (context->getShaderVersion() >= 310 && context->isExtensionEnabled(extension))
{
return token;
}
// a reserved word in GLSL ES 3.00+
if (context->getShaderVersion() >= 300)
{
return reserved_word(yyscanner);
}
// Otherwise can be used as an identifier/type name
yylval->lex.string = AllocatePoolCharArray(yytext, yyleng);
return check_type(yyscanner);
}
int uint_constant(TParseContext *context) int uint_constant(TParseContext *context)
{ {
struct yyguts_t* yyg = (struct yyguts_t*) context->getScanner(); struct yyguts_t* yyg = (struct yyguts_t*) context->getScanner();
......
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -31,25 +31,22 @@ ...@@ -31,25 +31,22 @@
version 2.2 of Bison. */ version 2.2 of Bison. */
#ifndef YY_YY_GLSLANG_TAB_H_INCLUDED #ifndef YY_YY_GLSLANG_TAB_H_INCLUDED
# define YY_YY_GLSLANG_TAB_H_INCLUDED #define YY_YY_GLSLANG_TAB_H_INCLUDED
/* Debug traces. */ /* Debug traces. */
#ifndef YYDEBUG #ifndef YYDEBUG
# define YYDEBUG 0 #define YYDEBUG 0
#endif #endif
#if YYDEBUG #if YYDEBUG
extern int yydebug; extern int yydebug;
#endif #endif
/* "%code requires" blocks. */ /* "%code requires" blocks. */
#define YYLTYPE TSourceLoc #define YYLTYPE TSourceLoc
#define YYLTYPE_IS_DECLARED 1 #define YYLTYPE_IS_DECLARED 1
/* Token type. */ /* Token type. */
#ifndef YYTOKENTYPE #ifndef YYTOKENTYPE
# define YYTOKENTYPE #define YYTOKENTYPE
enum yytokentype enum yytokentype
{ {
INVARIANT = 258, INVARIANT = 258,
...@@ -129,91 +126,93 @@ enum yytokentype ...@@ -129,91 +126,93 @@ enum yytokentype
SAMPLER2DMS = 332, SAMPLER2DMS = 332,
ISAMPLER2DMS = 333, ISAMPLER2DMS = 333,
USAMPLER2DMS = 334, USAMPLER2DMS = 334,
SAMPLER3D = 335, SAMPLER2DMSARRAY = 335,
SAMPLER3DRECT = 336, ISAMPLER2DMSARRAY = 336,
SAMPLER2DSHADOW = 337, USAMPLER2DMSARRAY = 337,
SAMPLERCUBESHADOW = 338, SAMPLER3D = 338,
SAMPLER2DARRAYSHADOW = 339, SAMPLER3DRECT = 339,
SAMPLEREXTERNAL2DY2YEXT = 340, SAMPLER2DSHADOW = 340,
IMAGE2D = 341, SAMPLERCUBESHADOW = 341,
IIMAGE2D = 342, SAMPLER2DARRAYSHADOW = 342,
UIMAGE2D = 343, SAMPLEREXTERNAL2DY2YEXT = 343,
IMAGE3D = 344, IMAGE2D = 344,
IIMAGE3D = 345, IIMAGE2D = 345,
UIMAGE3D = 346, UIMAGE2D = 346,
IMAGE2DARRAY = 347, IMAGE3D = 347,
IIMAGE2DARRAY = 348, IIMAGE3D = 348,
UIMAGE2DARRAY = 349, UIMAGE3D = 349,
IMAGECUBE = 350, IMAGE2DARRAY = 350,
IIMAGECUBE = 351, IIMAGE2DARRAY = 351,
UIMAGECUBE = 352, UIMAGE2DARRAY = 352,
ATOMICUINT = 353, IMAGECUBE = 353,
LAYOUT = 354, IIMAGECUBE = 354,
YUVCSCSTANDARDEXT = 355, UIMAGECUBE = 355,
YUVCSCSTANDARDEXTCONSTANT = 356, ATOMICUINT = 356,
IDENTIFIER = 357, LAYOUT = 357,
TYPE_NAME = 358, YUVCSCSTANDARDEXT = 358,
FLOATCONSTANT = 359, YUVCSCSTANDARDEXTCONSTANT = 359,
INTCONSTANT = 360, IDENTIFIER = 360,
UINTCONSTANT = 361, TYPE_NAME = 361,
BOOLCONSTANT = 362, FLOATCONSTANT = 362,
FIELD_SELECTION = 363, INTCONSTANT = 363,
LEFT_OP = 364, UINTCONSTANT = 364,
RIGHT_OP = 365, BOOLCONSTANT = 365,
INC_OP = 366, FIELD_SELECTION = 366,
DEC_OP = 367, LEFT_OP = 367,
LE_OP = 368, RIGHT_OP = 368,
GE_OP = 369, INC_OP = 369,
EQ_OP = 370, DEC_OP = 370,
NE_OP = 371, LE_OP = 371,
AND_OP = 372, GE_OP = 372,
OR_OP = 373, EQ_OP = 373,
XOR_OP = 374, NE_OP = 374,
MUL_ASSIGN = 375, AND_OP = 375,
DIV_ASSIGN = 376, OR_OP = 376,
ADD_ASSIGN = 377, XOR_OP = 377,
MOD_ASSIGN = 378, MUL_ASSIGN = 378,
LEFT_ASSIGN = 379, DIV_ASSIGN = 379,
RIGHT_ASSIGN = 380, ADD_ASSIGN = 380,
AND_ASSIGN = 381, MOD_ASSIGN = 381,
XOR_ASSIGN = 382, LEFT_ASSIGN = 382,
OR_ASSIGN = 383, RIGHT_ASSIGN = 383,
SUB_ASSIGN = 384, AND_ASSIGN = 384,
LEFT_PAREN = 385, XOR_ASSIGN = 385,
RIGHT_PAREN = 386, OR_ASSIGN = 386,
LEFT_BRACKET = 387, SUB_ASSIGN = 387,
RIGHT_BRACKET = 388, LEFT_PAREN = 388,
LEFT_BRACE = 389, RIGHT_PAREN = 389,
RIGHT_BRACE = 390, LEFT_BRACKET = 390,
DOT = 391, RIGHT_BRACKET = 391,
COMMA = 392, LEFT_BRACE = 392,
COLON = 393, RIGHT_BRACE = 393,
EQUAL = 394, DOT = 394,
SEMICOLON = 395, COMMA = 395,
BANG = 396, COLON = 396,
DASH = 397, EQUAL = 397,
TILDE = 398, SEMICOLON = 398,
PLUS = 399, BANG = 399,
STAR = 400, DASH = 400,
SLASH = 401, TILDE = 401,
PERCENT = 402, PLUS = 402,
LEFT_ANGLE = 403, STAR = 403,
RIGHT_ANGLE = 404, SLASH = 404,
VERTICAL_BAR = 405, PERCENT = 405,
CARET = 406, LEFT_ANGLE = 406,
AMPERSAND = 407, RIGHT_ANGLE = 407,
QUESTION = 408 VERTICAL_BAR = 408,
CARET = 409,
AMPERSAND = 410,
QUESTION = 411
}; };
#endif #endif
/* Value type. */ /* Value type. */
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED #if !defined YYSTYPE && !defined YYSTYPE_IS_DECLARED
union YYSTYPE
{
union YYSTYPE {
struct { struct
{
union { union {
const char *string; // pool allocated. const char *string; // pool allocated.
float f; float f;
...@@ -223,7 +222,8 @@ union YYSTYPE ...@@ -223,7 +222,8 @@ union YYSTYPE
}; };
const TSymbol *symbol; const TSymbol *symbol;
} lex; } lex;
struct { struct
{
TOperator op; TOperator op;
union { union {
TIntermNode *intermNode; TIntermNode *intermNode;
...@@ -253,31 +253,27 @@ union YYSTYPE ...@@ -253,31 +253,27 @@ union YYSTYPE
TTypeQualifierBuilder *typeQualifierBuilder; TTypeQualifierBuilder *typeQualifierBuilder;
}; };
} interm; } interm;
}; };
typedef union YYSTYPE YYSTYPE; typedef union YYSTYPE YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1 #define YYSTYPE_IS_TRIVIAL 1
# define YYSTYPE_IS_DECLARED 1 #define YYSTYPE_IS_DECLARED 1
#endif #endif
/* Location type. */ /* Location type. */
#if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED #if !defined YYLTYPE && !defined YYLTYPE_IS_DECLARED
typedef struct YYLTYPE YYLTYPE; typedef struct YYLTYPE YYLTYPE;
struct YYLTYPE struct YYLTYPE
{ {
int first_line; int first_line;
int first_column; int first_column;
int last_line; int last_line;
int last_column; int last_column;
}; };
# define YYLTYPE_IS_DECLARED 1 #define YYLTYPE_IS_DECLARED 1
# define YYLTYPE_IS_TRIVIAL 1 #define YYLTYPE_IS_TRIVIAL 1
#endif #endif
int yyparse(TParseContext *context, void *scanner);
int yyparse (TParseContext* context, void *scanner);
#endif /* !YY_YY_GLSLANG_TAB_H_INCLUDED */ #endif /* !YY_YY_GLSLANG_TAB_H_INCLUDED */
...@@ -604,26 +604,26 @@ class BuiltInId ...@@ -604,26 +604,26 @@ class BuiltInId
TSymbolUniqueId(545); TSymbolUniqueId(545);
static constexpr const TSymbolUniqueId texture_Sampler2D1_Float2 = TSymbolUniqueId(546); static constexpr const TSymbolUniqueId texture_Sampler2D1_Float2 = TSymbolUniqueId(546);
static constexpr const TSymbolUniqueId texture_ISampler2D1_Float2 = TSymbolUniqueId(547); static constexpr const TSymbolUniqueId texture_ISampler2D1_Float2 = TSymbolUniqueId(547);
static constexpr const TSymbolUniqueId pt0P = TSymbolUniqueId(548); static constexpr const TSymbolUniqueId pt0Q = TSymbolUniqueId(548);
static constexpr const TSymbolUniqueId texture_USampler2D1_Float2 = TSymbolUniqueId(549); static constexpr const TSymbolUniqueId texture_USampler2D1_Float2 = TSymbolUniqueId(549);
static constexpr const TSymbolUniqueId pt0U = TSymbolUniqueId(550); static constexpr const TSymbolUniqueId pt0W = TSymbolUniqueId(550);
static constexpr const TSymbolUniqueId texture_Sampler3D1_Float3 = TSymbolUniqueId(551); static constexpr const TSymbolUniqueId texture_Sampler3D1_Float3 = TSymbolUniqueId(551);
static constexpr const TSymbolUniqueId pt0I = TSymbolUniqueId(552); static constexpr const TSymbolUniqueId pt0I = TSymbolUniqueId(552);
static constexpr const TSymbolUniqueId texture_ISampler3D1_Float3 = TSymbolUniqueId(553); static constexpr const TSymbolUniqueId texture_ISampler3D1_Float3 = TSymbolUniqueId(553);
static constexpr const TSymbolUniqueId pt0Q = TSymbolUniqueId(554); static constexpr const TSymbolUniqueId pt0R = TSymbolUniqueId(554);
static constexpr const TSymbolUniqueId texture_USampler3D1_Float3 = TSymbolUniqueId(555); static constexpr const TSymbolUniqueId texture_USampler3D1_Float3 = TSymbolUniqueId(555);
static constexpr const TSymbolUniqueId pt0V = TSymbolUniqueId(556); static constexpr const TSymbolUniqueId pt0X = TSymbolUniqueId(556);
static constexpr const TSymbolUniqueId texture_SamplerCube1_Float3 = TSymbolUniqueId(557); static constexpr const TSymbolUniqueId texture_SamplerCube1_Float3 = TSymbolUniqueId(557);
static constexpr const TSymbolUniqueId texture_ISamplerCube1_Float3 = TSymbolUniqueId(558); static constexpr const TSymbolUniqueId texture_ISamplerCube1_Float3 = TSymbolUniqueId(558);
static constexpr const TSymbolUniqueId pt0R = TSymbolUniqueId(559); static constexpr const TSymbolUniqueId pt0S = TSymbolUniqueId(559);
static constexpr const TSymbolUniqueId texture_USamplerCube1_Float3 = TSymbolUniqueId(560); static constexpr const TSymbolUniqueId texture_USamplerCube1_Float3 = TSymbolUniqueId(560);
static constexpr const TSymbolUniqueId pt0W = TSymbolUniqueId(561); static constexpr const TSymbolUniqueId pt0Y = TSymbolUniqueId(561);
static constexpr const TSymbolUniqueId texture_Sampler2DArray1_Float3 = TSymbolUniqueId(562); static constexpr const TSymbolUniqueId texture_Sampler2DArray1_Float3 = TSymbolUniqueId(562);
static constexpr const TSymbolUniqueId pt0K = TSymbolUniqueId(563); static constexpr const TSymbolUniqueId pt0K = TSymbolUniqueId(563);
static constexpr const TSymbolUniqueId texture_ISampler2DArray1_Float3 = TSymbolUniqueId(564); static constexpr const TSymbolUniqueId texture_ISampler2DArray1_Float3 = TSymbolUniqueId(564);
static constexpr const TSymbolUniqueId pt0S = TSymbolUniqueId(565); static constexpr const TSymbolUniqueId pt0T = TSymbolUniqueId(565);
static constexpr const TSymbolUniqueId texture_USampler2DArray1_Float3 = TSymbolUniqueId(566); static constexpr const TSymbolUniqueId texture_USampler2DArray1_Float3 = TSymbolUniqueId(566);
static constexpr const TSymbolUniqueId pt0X = TSymbolUniqueId(567); static constexpr const TSymbolUniqueId pt0Z = TSymbolUniqueId(567);
static constexpr const TSymbolUniqueId textureProj_Sampler2D1_Float3 = TSymbolUniqueId(568); static constexpr const TSymbolUniqueId textureProj_Sampler2D1_Float3 = TSymbolUniqueId(568);
static constexpr const TSymbolUniqueId textureProj_ISampler2D1_Float3 = TSymbolUniqueId(569); static constexpr const TSymbolUniqueId textureProj_ISampler2D1_Float3 = TSymbolUniqueId(569);
static constexpr const TSymbolUniqueId textureProj_USampler2D1_Float3 = TSymbolUniqueId(570); static constexpr const TSymbolUniqueId textureProj_USampler2D1_Float3 = TSymbolUniqueId(570);
...@@ -658,12 +658,12 @@ class BuiltInId ...@@ -658,12 +658,12 @@ class BuiltInId
static constexpr const TSymbolUniqueId textureLod_USampler2DArray1_Float3_Float1 = static constexpr const TSymbolUniqueId textureLod_USampler2DArray1_Float3_Float1 =
TSymbolUniqueId(588); TSymbolUniqueId(588);
static constexpr const TSymbolUniqueId texture_Sampler2DShadow1_Float3 = TSymbolUniqueId(589); static constexpr const TSymbolUniqueId texture_Sampler2DShadow1_Float3 = TSymbolUniqueId(589);
static constexpr const TSymbolUniqueId pt0Z = TSymbolUniqueId(590); static constexpr const TSymbolUniqueId pt0c = TSymbolUniqueId(590);
static constexpr const TSymbolUniqueId texture_SamplerCubeShadow1_Float4 = TSymbolUniqueId(591); static constexpr const TSymbolUniqueId texture_SamplerCubeShadow1_Float4 = TSymbolUniqueId(591);
static constexpr const TSymbolUniqueId pt0a = TSymbolUniqueId(592); static constexpr const TSymbolUniqueId pt0d = TSymbolUniqueId(592);
static constexpr const TSymbolUniqueId texture_Sampler2DArrayShadow1_Float4 = static constexpr const TSymbolUniqueId texture_Sampler2DArrayShadow1_Float4 =
TSymbolUniqueId(593); TSymbolUniqueId(593);
static constexpr const TSymbolUniqueId pt0b = TSymbolUniqueId(594); static constexpr const TSymbolUniqueId pt0e = TSymbolUniqueId(594);
static constexpr const TSymbolUniqueId textureProj_Sampler2DShadow1_Float4 = static constexpr const TSymbolUniqueId textureProj_Sampler2DShadow1_Float4 =
TSymbolUniqueId(595); TSymbolUniqueId(595);
static constexpr const TSymbolUniqueId textureLod_Sampler2DShadow1_Float3_Float1 = static constexpr const TSymbolUniqueId textureLod_Sampler2DShadow1_Float3_Float1 =
...@@ -685,613 +685,625 @@ class BuiltInId ...@@ -685,613 +685,625 @@ class BuiltInId
TSymbolUniqueId(610); TSymbolUniqueId(610);
static constexpr const TSymbolUniqueId textureSize_Sampler2DArrayShadow1_Int1 = static constexpr const TSymbolUniqueId textureSize_Sampler2DArrayShadow1_Int1 =
TSymbolUniqueId(611); TSymbolUniqueId(611);
static constexpr const TSymbolUniqueId textureSize_Sampler2DMS1 = TSymbolUniqueId(612);
static constexpr const TSymbolUniqueId pt0O = TSymbolUniqueId(613);
static constexpr const TSymbolUniqueId textureSize_ISampler2DMS1 = TSymbolUniqueId(614);
static constexpr const TSymbolUniqueId pt0T = TSymbolUniqueId(615);
static constexpr const TSymbolUniqueId textureSize_USampler2DMS1 = TSymbolUniqueId(616);
static constexpr const TSymbolUniqueId pt0Y = TSymbolUniqueId(617);
static constexpr const TSymbolUniqueId textureProjLod_Sampler2D1_Float3_Float1 = static constexpr const TSymbolUniqueId textureProjLod_Sampler2D1_Float3_Float1 =
TSymbolUniqueId(618); TSymbolUniqueId(612);
static constexpr const TSymbolUniqueId textureProjLod_ISampler2D1_Float3_Float1 = static constexpr const TSymbolUniqueId textureProjLod_ISampler2D1_Float3_Float1 =
TSymbolUniqueId(619); TSymbolUniqueId(613);
static constexpr const TSymbolUniqueId textureProjLod_USampler2D1_Float3_Float1 = static constexpr const TSymbolUniqueId textureProjLod_USampler2D1_Float3_Float1 =
TSymbolUniqueId(620); TSymbolUniqueId(614);
static constexpr const TSymbolUniqueId textureProjLod_Sampler2D1_Float4_Float1 = static constexpr const TSymbolUniqueId textureProjLod_Sampler2D1_Float4_Float1 =
TSymbolUniqueId(621); TSymbolUniqueId(615);
static constexpr const TSymbolUniqueId textureProjLod_ISampler2D1_Float4_Float1 = static constexpr const TSymbolUniqueId textureProjLod_ISampler2D1_Float4_Float1 =
TSymbolUniqueId(622); TSymbolUniqueId(616);
static constexpr const TSymbolUniqueId textureProjLod_USampler2D1_Float4_Float1 = static constexpr const TSymbolUniqueId textureProjLod_USampler2D1_Float4_Float1 =
TSymbolUniqueId(623); TSymbolUniqueId(617);
static constexpr const TSymbolUniqueId textureProjLod_Sampler3D1_Float4_Float1 = static constexpr const TSymbolUniqueId textureProjLod_Sampler3D1_Float4_Float1 =
TSymbolUniqueId(624); TSymbolUniqueId(618);
static constexpr const TSymbolUniqueId textureProjLod_ISampler3D1_Float4_Float1 = static constexpr const TSymbolUniqueId textureProjLod_ISampler3D1_Float4_Float1 =
TSymbolUniqueId(625); TSymbolUniqueId(619);
static constexpr const TSymbolUniqueId textureProjLod_USampler3D1_Float4_Float1 = static constexpr const TSymbolUniqueId textureProjLod_USampler3D1_Float4_Float1 =
TSymbolUniqueId(626); TSymbolUniqueId(620);
static constexpr const TSymbolUniqueId textureProjLod_Sampler2DShadow1_Float4_Float1 = static constexpr const TSymbolUniqueId textureProjLod_Sampler2DShadow1_Float4_Float1 =
TSymbolUniqueId(627); TSymbolUniqueId(621);
static constexpr const TSymbolUniqueId texelFetch_Sampler2D1_Int2_Int1 = TSymbolUniqueId(628); static constexpr const TSymbolUniqueId texelFetch_Sampler2D1_Int2_Int1 = TSymbolUniqueId(622);
static constexpr const TSymbolUniqueId texelFetch_ISampler2D1_Int2_Int1 = TSymbolUniqueId(629); static constexpr const TSymbolUniqueId texelFetch_ISampler2D1_Int2_Int1 = TSymbolUniqueId(623);
static constexpr const TSymbolUniqueId texelFetch_USampler2D1_Int2_Int1 = TSymbolUniqueId(630); static constexpr const TSymbolUniqueId texelFetch_USampler2D1_Int2_Int1 = TSymbolUniqueId(624);
static constexpr const TSymbolUniqueId texelFetch_Sampler3D1_Int3_Int1 = TSymbolUniqueId(631); static constexpr const TSymbolUniqueId texelFetch_Sampler3D1_Int3_Int1 = TSymbolUniqueId(625);
static constexpr const TSymbolUniqueId texelFetch_ISampler3D1_Int3_Int1 = TSymbolUniqueId(632); static constexpr const TSymbolUniqueId texelFetch_ISampler3D1_Int3_Int1 = TSymbolUniqueId(626);
static constexpr const TSymbolUniqueId texelFetch_USampler3D1_Int3_Int1 = TSymbolUniqueId(633); static constexpr const TSymbolUniqueId texelFetch_USampler3D1_Int3_Int1 = TSymbolUniqueId(627);
static constexpr const TSymbolUniqueId texelFetch_Sampler2DArray1_Int3_Int1 = static constexpr const TSymbolUniqueId texelFetch_Sampler2DArray1_Int3_Int1 =
TSymbolUniqueId(634); TSymbolUniqueId(628);
static constexpr const TSymbolUniqueId texelFetch_ISampler2DArray1_Int3_Int1 = static constexpr const TSymbolUniqueId texelFetch_ISampler2DArray1_Int3_Int1 =
TSymbolUniqueId(635); TSymbolUniqueId(629);
static constexpr const TSymbolUniqueId texelFetch_USampler2DArray1_Int3_Int1 = static constexpr const TSymbolUniqueId texelFetch_USampler2DArray1_Int3_Int1 =
TSymbolUniqueId(636); TSymbolUniqueId(630);
static constexpr const TSymbolUniqueId textureGrad_Sampler2D1_Float2_Float2_Float2 = static constexpr const TSymbolUniqueId textureGrad_Sampler2D1_Float2_Float2_Float2 =
TSymbolUniqueId(637); TSymbolUniqueId(631);
static constexpr const TSymbolUniqueId textureGrad_ISampler2D1_Float2_Float2_Float2 = static constexpr const TSymbolUniqueId textureGrad_ISampler2D1_Float2_Float2_Float2 =
TSymbolUniqueId(638); TSymbolUniqueId(632);
static constexpr const TSymbolUniqueId textureGrad_USampler2D1_Float2_Float2_Float2 = static constexpr const TSymbolUniqueId textureGrad_USampler2D1_Float2_Float2_Float2 =
TSymbolUniqueId(639); TSymbolUniqueId(633);
static constexpr const TSymbolUniqueId textureGrad_Sampler3D1_Float3_Float3_Float3 = static constexpr const TSymbolUniqueId textureGrad_Sampler3D1_Float3_Float3_Float3 =
TSymbolUniqueId(640); TSymbolUniqueId(634);
static constexpr const TSymbolUniqueId textureGrad_ISampler3D1_Float3_Float3_Float3 = static constexpr const TSymbolUniqueId textureGrad_ISampler3D1_Float3_Float3_Float3 =
TSymbolUniqueId(641); TSymbolUniqueId(635);
static constexpr const TSymbolUniqueId textureGrad_USampler3D1_Float3_Float3_Float3 = static constexpr const TSymbolUniqueId textureGrad_USampler3D1_Float3_Float3_Float3 =
TSymbolUniqueId(642); TSymbolUniqueId(636);
static constexpr const TSymbolUniqueId textureGrad_SamplerCube1_Float3_Float3_Float3 = static constexpr const TSymbolUniqueId textureGrad_SamplerCube1_Float3_Float3_Float3 =
TSymbolUniqueId(643); TSymbolUniqueId(637);
static constexpr const TSymbolUniqueId textureGrad_ISamplerCube1_Float3_Float3_Float3 = static constexpr const TSymbolUniqueId textureGrad_ISamplerCube1_Float3_Float3_Float3 =
TSymbolUniqueId(644); TSymbolUniqueId(638);
static constexpr const TSymbolUniqueId textureGrad_USamplerCube1_Float3_Float3_Float3 = static constexpr const TSymbolUniqueId textureGrad_USamplerCube1_Float3_Float3_Float3 =
TSymbolUniqueId(645); TSymbolUniqueId(639);
static constexpr const TSymbolUniqueId textureGrad_Sampler2DShadow1_Float3_Float2_Float2 = static constexpr const TSymbolUniqueId textureGrad_Sampler2DShadow1_Float3_Float2_Float2 =
TSymbolUniqueId(646); TSymbolUniqueId(640);
static constexpr const TSymbolUniqueId textureGrad_SamplerCubeShadow1_Float4_Float3_Float3 = static constexpr const TSymbolUniqueId textureGrad_SamplerCubeShadow1_Float4_Float3_Float3 =
TSymbolUniqueId(647); TSymbolUniqueId(641);
static constexpr const TSymbolUniqueId textureGrad_Sampler2DArray1_Float3_Float2_Float2 = static constexpr const TSymbolUniqueId textureGrad_Sampler2DArray1_Float3_Float2_Float2 =
TSymbolUniqueId(648); TSymbolUniqueId(642);
static constexpr const TSymbolUniqueId textureGrad_ISampler2DArray1_Float3_Float2_Float2 = static constexpr const TSymbolUniqueId textureGrad_ISampler2DArray1_Float3_Float2_Float2 =
TSymbolUniqueId(649); TSymbolUniqueId(643);
static constexpr const TSymbolUniqueId textureGrad_USampler2DArray1_Float3_Float2_Float2 = static constexpr const TSymbolUniqueId textureGrad_USampler2DArray1_Float3_Float2_Float2 =
TSymbolUniqueId(650); TSymbolUniqueId(644);
static constexpr const TSymbolUniqueId textureGrad_Sampler2DArrayShadow1_Float4_Float2_Float2 = static constexpr const TSymbolUniqueId textureGrad_Sampler2DArrayShadow1_Float4_Float2_Float2 =
TSymbolUniqueId(651); TSymbolUniqueId(645);
static constexpr const TSymbolUniqueId textureProjGrad_Sampler2D1_Float3_Float2_Float2 = static constexpr const TSymbolUniqueId textureProjGrad_Sampler2D1_Float3_Float2_Float2 =
TSymbolUniqueId(652); TSymbolUniqueId(646);
static constexpr const TSymbolUniqueId textureProjGrad_ISampler2D1_Float3_Float2_Float2 = static constexpr const TSymbolUniqueId textureProjGrad_ISampler2D1_Float3_Float2_Float2 =
TSymbolUniqueId(653); TSymbolUniqueId(647);
static constexpr const TSymbolUniqueId textureProjGrad_USampler2D1_Float3_Float2_Float2 = static constexpr const TSymbolUniqueId textureProjGrad_USampler2D1_Float3_Float2_Float2 =
TSymbolUniqueId(654); TSymbolUniqueId(648);
static constexpr const TSymbolUniqueId textureProjGrad_Sampler2D1_Float4_Float2_Float2 = static constexpr const TSymbolUniqueId textureProjGrad_Sampler2D1_Float4_Float2_Float2 =
TSymbolUniqueId(655); TSymbolUniqueId(649);
static constexpr const TSymbolUniqueId textureProjGrad_ISampler2D1_Float4_Float2_Float2 = static constexpr const TSymbolUniqueId textureProjGrad_ISampler2D1_Float4_Float2_Float2 =
TSymbolUniqueId(656); TSymbolUniqueId(650);
static constexpr const TSymbolUniqueId textureProjGrad_USampler2D1_Float4_Float2_Float2 = static constexpr const TSymbolUniqueId textureProjGrad_USampler2D1_Float4_Float2_Float2 =
TSymbolUniqueId(657); TSymbolUniqueId(651);
static constexpr const TSymbolUniqueId textureProjGrad_Sampler3D1_Float4_Float3_Float3 = static constexpr const TSymbolUniqueId textureProjGrad_Sampler3D1_Float4_Float3_Float3 =
TSymbolUniqueId(658); TSymbolUniqueId(652);
static constexpr const TSymbolUniqueId textureProjGrad_ISampler3D1_Float4_Float3_Float3 = static constexpr const TSymbolUniqueId textureProjGrad_ISampler3D1_Float4_Float3_Float3 =
TSymbolUniqueId(659); TSymbolUniqueId(653);
static constexpr const TSymbolUniqueId textureProjGrad_USampler3D1_Float4_Float3_Float3 = static constexpr const TSymbolUniqueId textureProjGrad_USampler3D1_Float4_Float3_Float3 =
TSymbolUniqueId(660); TSymbolUniqueId(654);
static constexpr const TSymbolUniqueId textureProjGrad_Sampler2DShadow1_Float4_Float2_Float2 = static constexpr const TSymbolUniqueId textureProjGrad_Sampler2DShadow1_Float4_Float2_Float2 =
TSymbolUniqueId(661); TSymbolUniqueId(655);
static constexpr const TSymbolUniqueId textureSize_Sampler2DMS1 = TSymbolUniqueId(656);
static constexpr const TSymbolUniqueId pt0O = TSymbolUniqueId(657);
static constexpr const TSymbolUniqueId textureSize_ISampler2DMS1 = TSymbolUniqueId(658);
static constexpr const TSymbolUniqueId pt0U = TSymbolUniqueId(659);
static constexpr const TSymbolUniqueId textureSize_USampler2DMS1 = TSymbolUniqueId(660);
static constexpr const TSymbolUniqueId pt0a = TSymbolUniqueId(661);
static constexpr const TSymbolUniqueId textureSize_Sampler2DMSArray1 = TSymbolUniqueId(662);
static constexpr const TSymbolUniqueId pt0P = TSymbolUniqueId(663);
static constexpr const TSymbolUniqueId textureSize_ISampler2DMSArray1 = TSymbolUniqueId(664);
static constexpr const TSymbolUniqueId pt0V = TSymbolUniqueId(665);
static constexpr const TSymbolUniqueId textureSize_USampler2DMSArray1 = TSymbolUniqueId(666);
static constexpr const TSymbolUniqueId pt0b = TSymbolUniqueId(667);
static constexpr const TSymbolUniqueId textureOffset_Sampler2D1_Float2_Int2 = static constexpr const TSymbolUniqueId textureOffset_Sampler2D1_Float2_Int2 =
TSymbolUniqueId(662); TSymbolUniqueId(668);
static constexpr const TSymbolUniqueId textureOffset_ISampler2D1_Float2_Int2 = static constexpr const TSymbolUniqueId textureOffset_ISampler2D1_Float2_Int2 =
TSymbolUniqueId(663); TSymbolUniqueId(669);
static constexpr const TSymbolUniqueId textureOffset_USampler2D1_Float2_Int2 = static constexpr const TSymbolUniqueId textureOffset_USampler2D1_Float2_Int2 =
TSymbolUniqueId(664); TSymbolUniqueId(670);
static constexpr const TSymbolUniqueId textureOffset_Sampler3D1_Float3_Int3 = static constexpr const TSymbolUniqueId textureOffset_Sampler3D1_Float3_Int3 =
TSymbolUniqueId(665); TSymbolUniqueId(671);
static constexpr const TSymbolUniqueId textureOffset_ISampler3D1_Float3_Int3 = static constexpr const TSymbolUniqueId textureOffset_ISampler3D1_Float3_Int3 =
TSymbolUniqueId(666); TSymbolUniqueId(672);
static constexpr const TSymbolUniqueId textureOffset_USampler3D1_Float3_Int3 = static constexpr const TSymbolUniqueId textureOffset_USampler3D1_Float3_Int3 =
TSymbolUniqueId(667); TSymbolUniqueId(673);
static constexpr const TSymbolUniqueId textureOffset_Sampler2DShadow1_Float3_Int2 = static constexpr const TSymbolUniqueId textureOffset_Sampler2DShadow1_Float3_Int2 =
TSymbolUniqueId(668); TSymbolUniqueId(674);
static constexpr const TSymbolUniqueId textureOffset_Sampler2DArray1_Float3_Int2 = static constexpr const TSymbolUniqueId textureOffset_Sampler2DArray1_Float3_Int2 =
TSymbolUniqueId(669); TSymbolUniqueId(675);
static constexpr const TSymbolUniqueId textureOffset_ISampler2DArray1_Float3_Int2 = static constexpr const TSymbolUniqueId textureOffset_ISampler2DArray1_Float3_Int2 =
TSymbolUniqueId(670); TSymbolUniqueId(676);
static constexpr const TSymbolUniqueId textureOffset_USampler2DArray1_Float3_Int2 = static constexpr const TSymbolUniqueId textureOffset_USampler2DArray1_Float3_Int2 =
TSymbolUniqueId(671); TSymbolUniqueId(677);
static constexpr const TSymbolUniqueId textureProjOffset_Sampler2D1_Float3_Int2 = static constexpr const TSymbolUniqueId textureProjOffset_Sampler2D1_Float3_Int2 =
TSymbolUniqueId(672); TSymbolUniqueId(678);
static constexpr const TSymbolUniqueId textureProjOffset_ISampler2D1_Float3_Int2 = static constexpr const TSymbolUniqueId textureProjOffset_ISampler2D1_Float3_Int2 =
TSymbolUniqueId(673); TSymbolUniqueId(679);
static constexpr const TSymbolUniqueId textureProjOffset_USampler2D1_Float3_Int2 = static constexpr const TSymbolUniqueId textureProjOffset_USampler2D1_Float3_Int2 =
TSymbolUniqueId(674); TSymbolUniqueId(680);
static constexpr const TSymbolUniqueId textureProjOffset_Sampler2D1_Float4_Int2 = static constexpr const TSymbolUniqueId textureProjOffset_Sampler2D1_Float4_Int2 =
TSymbolUniqueId(675); TSymbolUniqueId(681);
static constexpr const TSymbolUniqueId textureProjOffset_ISampler2D1_Float4_Int2 = static constexpr const TSymbolUniqueId textureProjOffset_ISampler2D1_Float4_Int2 =
TSymbolUniqueId(676); TSymbolUniqueId(682);
static constexpr const TSymbolUniqueId textureProjOffset_USampler2D1_Float4_Int2 = static constexpr const TSymbolUniqueId textureProjOffset_USampler2D1_Float4_Int2 =
TSymbolUniqueId(677); TSymbolUniqueId(683);
static constexpr const TSymbolUniqueId textureProjOffset_Sampler3D1_Float4_Int3 = static constexpr const TSymbolUniqueId textureProjOffset_Sampler3D1_Float4_Int3 =
TSymbolUniqueId(678); TSymbolUniqueId(684);
static constexpr const TSymbolUniqueId textureProjOffset_ISampler3D1_Float4_Int3 = static constexpr const TSymbolUniqueId textureProjOffset_ISampler3D1_Float4_Int3 =
TSymbolUniqueId(679); TSymbolUniqueId(685);
static constexpr const TSymbolUniqueId textureProjOffset_USampler3D1_Float4_Int3 = static constexpr const TSymbolUniqueId textureProjOffset_USampler3D1_Float4_Int3 =
TSymbolUniqueId(680); TSymbolUniqueId(686);
static constexpr const TSymbolUniqueId textureProjOffset_Sampler2DShadow1_Float4_Int2 = static constexpr const TSymbolUniqueId textureProjOffset_Sampler2DShadow1_Float4_Int2 =
TSymbolUniqueId(681); TSymbolUniqueId(687);
static constexpr const TSymbolUniqueId textureLodOffset_Sampler2D1_Float2_Float1_Int2 = static constexpr const TSymbolUniqueId textureLodOffset_Sampler2D1_Float2_Float1_Int2 =
TSymbolUniqueId(682); TSymbolUniqueId(688);
static constexpr const TSymbolUniqueId textureLodOffset_ISampler2D1_Float2_Float1_Int2 = static constexpr const TSymbolUniqueId textureLodOffset_ISampler2D1_Float2_Float1_Int2 =
TSymbolUniqueId(683); TSymbolUniqueId(689);
static constexpr const TSymbolUniqueId textureLodOffset_USampler2D1_Float2_Float1_Int2 = static constexpr const TSymbolUniqueId textureLodOffset_USampler2D1_Float2_Float1_Int2 =
TSymbolUniqueId(684); TSymbolUniqueId(690);
static constexpr const TSymbolUniqueId textureLodOffset_Sampler3D1_Float3_Float1_Int3 = static constexpr const TSymbolUniqueId textureLodOffset_Sampler3D1_Float3_Float1_Int3 =
TSymbolUniqueId(685); TSymbolUniqueId(691);
static constexpr const TSymbolUniqueId textureLodOffset_ISampler3D1_Float3_Float1_Int3 = static constexpr const TSymbolUniqueId textureLodOffset_ISampler3D1_Float3_Float1_Int3 =
TSymbolUniqueId(686); TSymbolUniqueId(692);
static constexpr const TSymbolUniqueId textureLodOffset_USampler3D1_Float3_Float1_Int3 = static constexpr const TSymbolUniqueId textureLodOffset_USampler3D1_Float3_Float1_Int3 =
TSymbolUniqueId(687); TSymbolUniqueId(693);
static constexpr const TSymbolUniqueId textureLodOffset_Sampler2DShadow1_Float3_Float1_Int2 = static constexpr const TSymbolUniqueId textureLodOffset_Sampler2DShadow1_Float3_Float1_Int2 =
TSymbolUniqueId(688); TSymbolUniqueId(694);
static constexpr const TSymbolUniqueId textureLodOffset_Sampler2DArray1_Float3_Float1_Int2 = static constexpr const TSymbolUniqueId textureLodOffset_Sampler2DArray1_Float3_Float1_Int2 =
TSymbolUniqueId(689); TSymbolUniqueId(695);
static constexpr const TSymbolUniqueId textureLodOffset_ISampler2DArray1_Float3_Float1_Int2 = static constexpr const TSymbolUniqueId textureLodOffset_ISampler2DArray1_Float3_Float1_Int2 =
TSymbolUniqueId(690); TSymbolUniqueId(696);
static constexpr const TSymbolUniqueId textureLodOffset_USampler2DArray1_Float3_Float1_Int2 = static constexpr const TSymbolUniqueId textureLodOffset_USampler2DArray1_Float3_Float1_Int2 =
TSymbolUniqueId(691); TSymbolUniqueId(697);
static constexpr const TSymbolUniqueId textureProjLodOffset_Sampler2D1_Float3_Float1_Int2 = static constexpr const TSymbolUniqueId textureProjLodOffset_Sampler2D1_Float3_Float1_Int2 =
TSymbolUniqueId(692); TSymbolUniqueId(698);
static constexpr const TSymbolUniqueId textureProjLodOffset_ISampler2D1_Float3_Float1_Int2 = static constexpr const TSymbolUniqueId textureProjLodOffset_ISampler2D1_Float3_Float1_Int2 =
TSymbolUniqueId(693); TSymbolUniqueId(699);
static constexpr const TSymbolUniqueId textureProjLodOffset_USampler2D1_Float3_Float1_Int2 = static constexpr const TSymbolUniqueId textureProjLodOffset_USampler2D1_Float3_Float1_Int2 =
TSymbolUniqueId(694); TSymbolUniqueId(700);
static constexpr const TSymbolUniqueId textureProjLodOffset_Sampler2D1_Float4_Float1_Int2 = static constexpr const TSymbolUniqueId textureProjLodOffset_Sampler2D1_Float4_Float1_Int2 =
TSymbolUniqueId(695); TSymbolUniqueId(701);
static constexpr const TSymbolUniqueId textureProjLodOffset_ISampler2D1_Float4_Float1_Int2 = static constexpr const TSymbolUniqueId textureProjLodOffset_ISampler2D1_Float4_Float1_Int2 =
TSymbolUniqueId(696); TSymbolUniqueId(702);
static constexpr const TSymbolUniqueId textureProjLodOffset_USampler2D1_Float4_Float1_Int2 = static constexpr const TSymbolUniqueId textureProjLodOffset_USampler2D1_Float4_Float1_Int2 =
TSymbolUniqueId(697); TSymbolUniqueId(703);
static constexpr const TSymbolUniqueId textureProjLodOffset_Sampler3D1_Float4_Float1_Int3 = static constexpr const TSymbolUniqueId textureProjLodOffset_Sampler3D1_Float4_Float1_Int3 =
TSymbolUniqueId(698); TSymbolUniqueId(704);
static constexpr const TSymbolUniqueId textureProjLodOffset_ISampler3D1_Float4_Float1_Int3 = static constexpr const TSymbolUniqueId textureProjLodOffset_ISampler3D1_Float4_Float1_Int3 =
TSymbolUniqueId(699); TSymbolUniqueId(705);
static constexpr const TSymbolUniqueId textureProjLodOffset_USampler3D1_Float4_Float1_Int3 = static constexpr const TSymbolUniqueId textureProjLodOffset_USampler3D1_Float4_Float1_Int3 =
TSymbolUniqueId(700); TSymbolUniqueId(706);
static constexpr const TSymbolUniqueId static constexpr const TSymbolUniqueId
textureProjLodOffset_Sampler2DShadow1_Float4_Float1_Int2 = TSymbolUniqueId(701); textureProjLodOffset_Sampler2DShadow1_Float4_Float1_Int2 = TSymbolUniqueId(707);
static constexpr const TSymbolUniqueId texelFetchOffset_Sampler2D1_Int2_Int1_Int2 = static constexpr const TSymbolUniqueId texelFetchOffset_Sampler2D1_Int2_Int1_Int2 =
TSymbolUniqueId(702); TSymbolUniqueId(708);
static constexpr const TSymbolUniqueId texelFetchOffset_ISampler2D1_Int2_Int1_Int2 = static constexpr const TSymbolUniqueId texelFetchOffset_ISampler2D1_Int2_Int1_Int2 =
TSymbolUniqueId(703); TSymbolUniqueId(709);
static constexpr const TSymbolUniqueId texelFetchOffset_USampler2D1_Int2_Int1_Int2 = static constexpr const TSymbolUniqueId texelFetchOffset_USampler2D1_Int2_Int1_Int2 =
TSymbolUniqueId(704); TSymbolUniqueId(710);
static constexpr const TSymbolUniqueId texelFetchOffset_Sampler3D1_Int3_Int1_Int3 = static constexpr const TSymbolUniqueId texelFetchOffset_Sampler3D1_Int3_Int1_Int3 =
TSymbolUniqueId(705); TSymbolUniqueId(711);
static constexpr const TSymbolUniqueId texelFetchOffset_ISampler3D1_Int3_Int1_Int3 = static constexpr const TSymbolUniqueId texelFetchOffset_ISampler3D1_Int3_Int1_Int3 =
TSymbolUniqueId(706); TSymbolUniqueId(712);
static constexpr const TSymbolUniqueId texelFetchOffset_USampler3D1_Int3_Int1_Int3 = static constexpr const TSymbolUniqueId texelFetchOffset_USampler3D1_Int3_Int1_Int3 =
TSymbolUniqueId(707); TSymbolUniqueId(713);
static constexpr const TSymbolUniqueId texelFetchOffset_Sampler2DArray1_Int3_Int1_Int2 = static constexpr const TSymbolUniqueId texelFetchOffset_Sampler2DArray1_Int3_Int1_Int2 =
TSymbolUniqueId(708); TSymbolUniqueId(714);
static constexpr const TSymbolUniqueId texelFetchOffset_ISampler2DArray1_Int3_Int1_Int2 = static constexpr const TSymbolUniqueId texelFetchOffset_ISampler2DArray1_Int3_Int1_Int2 =
TSymbolUniqueId(709); TSymbolUniqueId(715);
static constexpr const TSymbolUniqueId texelFetchOffset_USampler2DArray1_Int3_Int1_Int2 = static constexpr const TSymbolUniqueId texelFetchOffset_USampler2DArray1_Int3_Int1_Int2 =
TSymbolUniqueId(710); TSymbolUniqueId(716);
static constexpr const TSymbolUniqueId textureGradOffset_Sampler2D1_Float2_Float2_Float2_Int2 = static constexpr const TSymbolUniqueId textureGradOffset_Sampler2D1_Float2_Float2_Float2_Int2 =
TSymbolUniqueId(711); TSymbolUniqueId(717);
static constexpr const TSymbolUniqueId textureGradOffset_ISampler2D1_Float2_Float2_Float2_Int2 = static constexpr const TSymbolUniqueId textureGradOffset_ISampler2D1_Float2_Float2_Float2_Int2 =
TSymbolUniqueId(712); TSymbolUniqueId(718);
static constexpr const TSymbolUniqueId textureGradOffset_USampler2D1_Float2_Float2_Float2_Int2 = static constexpr const TSymbolUniqueId textureGradOffset_USampler2D1_Float2_Float2_Float2_Int2 =
TSymbolUniqueId(713); TSymbolUniqueId(719);
static constexpr const TSymbolUniqueId textureGradOffset_Sampler3D1_Float3_Float3_Float3_Int3 = static constexpr const TSymbolUniqueId textureGradOffset_Sampler3D1_Float3_Float3_Float3_Int3 =
TSymbolUniqueId(714); TSymbolUniqueId(720);
static constexpr const TSymbolUniqueId textureGradOffset_ISampler3D1_Float3_Float3_Float3_Int3 = static constexpr const TSymbolUniqueId textureGradOffset_ISampler3D1_Float3_Float3_Float3_Int3 =
TSymbolUniqueId(715); TSymbolUniqueId(721);
static constexpr const TSymbolUniqueId textureGradOffset_USampler3D1_Float3_Float3_Float3_Int3 = static constexpr const TSymbolUniqueId textureGradOffset_USampler3D1_Float3_Float3_Float3_Int3 =
TSymbolUniqueId(716); TSymbolUniqueId(722);
static constexpr const TSymbolUniqueId static constexpr const TSymbolUniqueId
textureGradOffset_Sampler2DShadow1_Float3_Float2_Float2_Int2 = TSymbolUniqueId(717); textureGradOffset_Sampler2DShadow1_Float3_Float2_Float2_Int2 = TSymbolUniqueId(723);
static constexpr const TSymbolUniqueId static constexpr const TSymbolUniqueId
textureGradOffset_Sampler2DArray1_Float3_Float2_Float2_Int2 = TSymbolUniqueId(718); textureGradOffset_Sampler2DArray1_Float3_Float2_Float2_Int2 = TSymbolUniqueId(724);
static constexpr const TSymbolUniqueId static constexpr const TSymbolUniqueId
textureGradOffset_ISampler2DArray1_Float3_Float2_Float2_Int2 = TSymbolUniqueId(719); textureGradOffset_ISampler2DArray1_Float3_Float2_Float2_Int2 = TSymbolUniqueId(725);
static constexpr const TSymbolUniqueId static constexpr const TSymbolUniqueId
textureGradOffset_USampler2DArray1_Float3_Float2_Float2_Int2 = TSymbolUniqueId(720); textureGradOffset_USampler2DArray1_Float3_Float2_Float2_Int2 = TSymbolUniqueId(726);
static constexpr const TSymbolUniqueId static constexpr const TSymbolUniqueId
textureGradOffset_Sampler2DArrayShadow1_Float4_Float2_Float2_Int2 = TSymbolUniqueId(721); textureGradOffset_Sampler2DArrayShadow1_Float4_Float2_Float2_Int2 = TSymbolUniqueId(727);
static constexpr const TSymbolUniqueId static constexpr const TSymbolUniqueId
textureProjGradOffset_Sampler2D1_Float3_Float2_Float2_Int2 = TSymbolUniqueId(722); textureProjGradOffset_Sampler2D1_Float3_Float2_Float2_Int2 = TSymbolUniqueId(728);
static constexpr const TSymbolUniqueId static constexpr const TSymbolUniqueId
textureProjGradOffset_ISampler2D1_Float3_Float2_Float2_Int2 = TSymbolUniqueId(723); textureProjGradOffset_ISampler2D1_Float3_Float2_Float2_Int2 = TSymbolUniqueId(729);
static constexpr const TSymbolUniqueId static constexpr const TSymbolUniqueId
textureProjGradOffset_USampler2D1_Float3_Float2_Float2_Int2 = TSymbolUniqueId(724); textureProjGradOffset_USampler2D1_Float3_Float2_Float2_Int2 = TSymbolUniqueId(730);
static constexpr const TSymbolUniqueId static constexpr const TSymbolUniqueId
textureProjGradOffset_Sampler2D1_Float4_Float2_Float2_Int2 = TSymbolUniqueId(725); textureProjGradOffset_Sampler2D1_Float4_Float2_Float2_Int2 = TSymbolUniqueId(731);
static constexpr const TSymbolUniqueId static constexpr const TSymbolUniqueId
textureProjGradOffset_ISampler2D1_Float4_Float2_Float2_Int2 = TSymbolUniqueId(726); textureProjGradOffset_ISampler2D1_Float4_Float2_Float2_Int2 = TSymbolUniqueId(732);
static constexpr const TSymbolUniqueId static constexpr const TSymbolUniqueId
textureProjGradOffset_USampler2D1_Float4_Float2_Float2_Int2 = TSymbolUniqueId(727); textureProjGradOffset_USampler2D1_Float4_Float2_Float2_Int2 = TSymbolUniqueId(733);
static constexpr const TSymbolUniqueId static constexpr const TSymbolUniqueId
textureProjGradOffset_Sampler3D1_Float4_Float3_Float3_Int3 = TSymbolUniqueId(728); textureProjGradOffset_Sampler3D1_Float4_Float3_Float3_Int3 = TSymbolUniqueId(734);
static constexpr const TSymbolUniqueId static constexpr const TSymbolUniqueId
textureProjGradOffset_ISampler3D1_Float4_Float3_Float3_Int3 = TSymbolUniqueId(729); textureProjGradOffset_ISampler3D1_Float4_Float3_Float3_Int3 = TSymbolUniqueId(735);
static constexpr const TSymbolUniqueId static constexpr const TSymbolUniqueId
textureProjGradOffset_USampler3D1_Float4_Float3_Float3_Int3 = TSymbolUniqueId(730); textureProjGradOffset_USampler3D1_Float4_Float3_Float3_Int3 = TSymbolUniqueId(736);
static constexpr const TSymbolUniqueId static constexpr const TSymbolUniqueId
textureProjGradOffset_Sampler2DShadow1_Float4_Float2_Float2_Int2 = TSymbolUniqueId(731); textureProjGradOffset_Sampler2DShadow1_Float4_Float2_Float2_Int2 = TSymbolUniqueId(737);
static constexpr const TSymbolUniqueId textureOffset_Sampler2D1_Float2_Int2_Float1 = static constexpr const TSymbolUniqueId textureOffset_Sampler2D1_Float2_Int2_Float1 =
TSymbolUniqueId(732); TSymbolUniqueId(738);
static constexpr const TSymbolUniqueId textureOffset_ISampler2D1_Float2_Int2_Float1 = static constexpr const TSymbolUniqueId textureOffset_ISampler2D1_Float2_Int2_Float1 =
TSymbolUniqueId(733); TSymbolUniqueId(739);
static constexpr const TSymbolUniqueId textureOffset_USampler2D1_Float2_Int2_Float1 = static constexpr const TSymbolUniqueId textureOffset_USampler2D1_Float2_Int2_Float1 =
TSymbolUniqueId(734); TSymbolUniqueId(740);
static constexpr const TSymbolUniqueId textureOffset_Sampler3D1_Float3_Int3_Float1 = static constexpr const TSymbolUniqueId textureOffset_Sampler3D1_Float3_Int3_Float1 =
TSymbolUniqueId(735); TSymbolUniqueId(741);
static constexpr const TSymbolUniqueId textureOffset_ISampler3D1_Float3_Int3_Float1 = static constexpr const TSymbolUniqueId textureOffset_ISampler3D1_Float3_Int3_Float1 =
TSymbolUniqueId(736); TSymbolUniqueId(742);
static constexpr const TSymbolUniqueId textureOffset_USampler3D1_Float3_Int3_Float1 = static constexpr const TSymbolUniqueId textureOffset_USampler3D1_Float3_Int3_Float1 =
TSymbolUniqueId(737); TSymbolUniqueId(743);
static constexpr const TSymbolUniqueId textureOffset_Sampler2DShadow1_Float3_Int2_Float1 = static constexpr const TSymbolUniqueId textureOffset_Sampler2DShadow1_Float3_Int2_Float1 =
TSymbolUniqueId(738); TSymbolUniqueId(744);
static constexpr const TSymbolUniqueId textureOffset_Sampler2DArray1_Float3_Int2_Float1 = static constexpr const TSymbolUniqueId textureOffset_Sampler2DArray1_Float3_Int2_Float1 =
TSymbolUniqueId(739); TSymbolUniqueId(745);
static constexpr const TSymbolUniqueId textureOffset_ISampler2DArray1_Float3_Int2_Float1 = static constexpr const TSymbolUniqueId textureOffset_ISampler2DArray1_Float3_Int2_Float1 =
TSymbolUniqueId(740); TSymbolUniqueId(746);
static constexpr const TSymbolUniqueId textureOffset_USampler2DArray1_Float3_Int2_Float1 = static constexpr const TSymbolUniqueId textureOffset_USampler2DArray1_Float3_Int2_Float1 =
TSymbolUniqueId(741); TSymbolUniqueId(747);
static constexpr const TSymbolUniqueId textureProjOffset_Sampler2D1_Float3_Int2_Float1 = static constexpr const TSymbolUniqueId textureProjOffset_Sampler2D1_Float3_Int2_Float1 =
TSymbolUniqueId(742); TSymbolUniqueId(748);
static constexpr const TSymbolUniqueId textureProjOffset_ISampler2D1_Float3_Int2_Float1 = static constexpr const TSymbolUniqueId textureProjOffset_ISampler2D1_Float3_Int2_Float1 =
TSymbolUniqueId(743); TSymbolUniqueId(749);
static constexpr const TSymbolUniqueId textureProjOffset_USampler2D1_Float3_Int2_Float1 = static constexpr const TSymbolUniqueId textureProjOffset_USampler2D1_Float3_Int2_Float1 =
TSymbolUniqueId(744); TSymbolUniqueId(750);
static constexpr const TSymbolUniqueId textureProjOffset_Sampler2D1_Float4_Int2_Float1 = static constexpr const TSymbolUniqueId textureProjOffset_Sampler2D1_Float4_Int2_Float1 =
TSymbolUniqueId(745); TSymbolUniqueId(751);
static constexpr const TSymbolUniqueId textureProjOffset_ISampler2D1_Float4_Int2_Float1 = static constexpr const TSymbolUniqueId textureProjOffset_ISampler2D1_Float4_Int2_Float1 =
TSymbolUniqueId(746); TSymbolUniqueId(752);
static constexpr const TSymbolUniqueId textureProjOffset_USampler2D1_Float4_Int2_Float1 = static constexpr const TSymbolUniqueId textureProjOffset_USampler2D1_Float4_Int2_Float1 =
TSymbolUniqueId(747); TSymbolUniqueId(753);
static constexpr const TSymbolUniqueId textureProjOffset_Sampler3D1_Float4_Int3_Float1 = static constexpr const TSymbolUniqueId textureProjOffset_Sampler3D1_Float4_Int3_Float1 =
TSymbolUniqueId(748); TSymbolUniqueId(754);
static constexpr const TSymbolUniqueId textureProjOffset_ISampler3D1_Float4_Int3_Float1 = static constexpr const TSymbolUniqueId textureProjOffset_ISampler3D1_Float4_Int3_Float1 =
TSymbolUniqueId(749); TSymbolUniqueId(755);
static constexpr const TSymbolUniqueId textureProjOffset_USampler3D1_Float4_Int3_Float1 = static constexpr const TSymbolUniqueId textureProjOffset_USampler3D1_Float4_Int3_Float1 =
TSymbolUniqueId(750); TSymbolUniqueId(756);
static constexpr const TSymbolUniqueId textureProjOffset_Sampler2DShadow1_Float4_Int2_Float1 = static constexpr const TSymbolUniqueId textureProjOffset_Sampler2DShadow1_Float4_Int2_Float1 =
TSymbolUniqueId(751); TSymbolUniqueId(757);
static constexpr const TSymbolUniqueId texture_SamplerExternalOES1_Float2 = static constexpr const TSymbolUniqueId texture_SamplerExternalOES1_Float2 =
TSymbolUniqueId(752); TSymbolUniqueId(758);
static constexpr const TSymbolUniqueId textureProj_SamplerExternalOES1_Float3 = static constexpr const TSymbolUniqueId textureProj_SamplerExternalOES1_Float3 =
TSymbolUniqueId(753); TSymbolUniqueId(759);
static constexpr const TSymbolUniqueId textureProj_SamplerExternalOES1_Float4 = static constexpr const TSymbolUniqueId textureProj_SamplerExternalOES1_Float4 =
TSymbolUniqueId(754); TSymbolUniqueId(760);
static constexpr const TSymbolUniqueId textureSize_SamplerExternalOES1_Int1 = static constexpr const TSymbolUniqueId textureSize_SamplerExternalOES1_Int1 =
TSymbolUniqueId(755); TSymbolUniqueId(761);
static constexpr const TSymbolUniqueId texelFetch_SamplerExternalOES1_Int2_Int1 = static constexpr const TSymbolUniqueId texelFetch_SamplerExternalOES1_Int2_Int1 =
TSymbolUniqueId(756); TSymbolUniqueId(762);
static constexpr const TSymbolUniqueId texture_SamplerExternal2DY2YEXT1_Float2 = static constexpr const TSymbolUniqueId texture_SamplerExternal2DY2YEXT1_Float2 =
TSymbolUniqueId(757); TSymbolUniqueId(763);
static constexpr const TSymbolUniqueId pt0M = TSymbolUniqueId(758); static constexpr const TSymbolUniqueId pt0M = TSymbolUniqueId(764);
static constexpr const TSymbolUniqueId textureProj_SamplerExternal2DY2YEXT1_Float3 = static constexpr const TSymbolUniqueId textureProj_SamplerExternal2DY2YEXT1_Float3 =
TSymbolUniqueId(759); TSymbolUniqueId(765);
static constexpr const TSymbolUniqueId textureProj_SamplerExternal2DY2YEXT1_Float4 = static constexpr const TSymbolUniqueId textureProj_SamplerExternal2DY2YEXT1_Float4 =
TSymbolUniqueId(760); TSymbolUniqueId(766);
static constexpr const TSymbolUniqueId rgb_2_yuv_Float3_YuvCscStandardEXT1 = static constexpr const TSymbolUniqueId rgb_2_yuv_Float3_YuvCscStandardEXT1 =
TSymbolUniqueId(761); TSymbolUniqueId(767);
static constexpr const TSymbolUniqueId pt0G = TSymbolUniqueId(762); static constexpr const TSymbolUniqueId pt0G = TSymbolUniqueId(768);
static constexpr const TSymbolUniqueId yuv_2_rgb_Float3_YuvCscStandardEXT1 = static constexpr const TSymbolUniqueId yuv_2_rgb_Float3_YuvCscStandardEXT1 =
TSymbolUniqueId(763); TSymbolUniqueId(769);
static constexpr const TSymbolUniqueId textureSize_SamplerExternal2DY2YEXT1_Int1 = static constexpr const TSymbolUniqueId textureSize_SamplerExternal2DY2YEXT1_Int1 =
TSymbolUniqueId(764); TSymbolUniqueId(770);
static constexpr const TSymbolUniqueId texelFetch_SamplerExternal2DY2YEXT1_Int2_Int1 = static constexpr const TSymbolUniqueId texelFetch_SamplerExternal2DY2YEXT1_Int2_Int1 =
TSymbolUniqueId(765); TSymbolUniqueId(771);
static constexpr const TSymbolUniqueId texture_Sampler2D1_Float2_Float1 = TSymbolUniqueId(766); static constexpr const TSymbolUniqueId texture_Sampler2D1_Float2_Float1 = TSymbolUniqueId(772);
static constexpr const TSymbolUniqueId texture_ISampler2D1_Float2_Float1 = TSymbolUniqueId(767); static constexpr const TSymbolUniqueId texture_ISampler2D1_Float2_Float1 = TSymbolUniqueId(773);
static constexpr const TSymbolUniqueId texture_USampler2D1_Float2_Float1 = TSymbolUniqueId(768); static constexpr const TSymbolUniqueId texture_USampler2D1_Float2_Float1 = TSymbolUniqueId(774);
static constexpr const TSymbolUniqueId texture_Sampler3D1_Float3_Float1 = TSymbolUniqueId(769); static constexpr const TSymbolUniqueId texture_Sampler3D1_Float3_Float1 = TSymbolUniqueId(775);
static constexpr const TSymbolUniqueId texture_ISampler3D1_Float3_Float1 = TSymbolUniqueId(770); static constexpr const TSymbolUniqueId texture_ISampler3D1_Float3_Float1 = TSymbolUniqueId(776);
static constexpr const TSymbolUniqueId texture_USampler3D1_Float3_Float1 = TSymbolUniqueId(771); static constexpr const TSymbolUniqueId texture_USampler3D1_Float3_Float1 = TSymbolUniqueId(777);
static constexpr const TSymbolUniqueId texture_SamplerCube1_Float3_Float1 = static constexpr const TSymbolUniqueId texture_SamplerCube1_Float3_Float1 =
TSymbolUniqueId(772); TSymbolUniqueId(778);
static constexpr const TSymbolUniqueId texture_ISamplerCube1_Float3_Float1 = static constexpr const TSymbolUniqueId texture_ISamplerCube1_Float3_Float1 =
TSymbolUniqueId(773); TSymbolUniqueId(779);
static constexpr const TSymbolUniqueId texture_USamplerCube1_Float3_Float1 = static constexpr const TSymbolUniqueId texture_USamplerCube1_Float3_Float1 =
TSymbolUniqueId(774); TSymbolUniqueId(780);
static constexpr const TSymbolUniqueId texture_Sampler2DArray1_Float3_Float1 = static constexpr const TSymbolUniqueId texture_Sampler2DArray1_Float3_Float1 =
TSymbolUniqueId(775); TSymbolUniqueId(781);
static constexpr const TSymbolUniqueId texture_ISampler2DArray1_Float3_Float1 = static constexpr const TSymbolUniqueId texture_ISampler2DArray1_Float3_Float1 =
TSymbolUniqueId(776); TSymbolUniqueId(782);
static constexpr const TSymbolUniqueId texture_USampler2DArray1_Float3_Float1 = static constexpr const TSymbolUniqueId texture_USampler2DArray1_Float3_Float1 =
TSymbolUniqueId(777); TSymbolUniqueId(783);
static constexpr const TSymbolUniqueId textureProj_Sampler2D1_Float3_Float1 = static constexpr const TSymbolUniqueId textureProj_Sampler2D1_Float3_Float1 =
TSymbolUniqueId(778); TSymbolUniqueId(784);
static constexpr const TSymbolUniqueId textureProj_ISampler2D1_Float3_Float1 = static constexpr const TSymbolUniqueId textureProj_ISampler2D1_Float3_Float1 =
TSymbolUniqueId(779); TSymbolUniqueId(785);
static constexpr const TSymbolUniqueId textureProj_USampler2D1_Float3_Float1 = static constexpr const TSymbolUniqueId textureProj_USampler2D1_Float3_Float1 =
TSymbolUniqueId(780); TSymbolUniqueId(786);
static constexpr const TSymbolUniqueId textureProj_Sampler2D1_Float4_Float1 = static constexpr const TSymbolUniqueId textureProj_Sampler2D1_Float4_Float1 =
TSymbolUniqueId(781); TSymbolUniqueId(787);
static constexpr const TSymbolUniqueId textureProj_ISampler2D1_Float4_Float1 = static constexpr const TSymbolUniqueId textureProj_ISampler2D1_Float4_Float1 =
TSymbolUniqueId(782); TSymbolUniqueId(788);
static constexpr const TSymbolUniqueId textureProj_USampler2D1_Float4_Float1 = static constexpr const TSymbolUniqueId textureProj_USampler2D1_Float4_Float1 =
TSymbolUniqueId(783); TSymbolUniqueId(789);
static constexpr const TSymbolUniqueId textureProj_Sampler3D1_Float4_Float1 = static constexpr const TSymbolUniqueId textureProj_Sampler3D1_Float4_Float1 =
TSymbolUniqueId(784); TSymbolUniqueId(790);
static constexpr const TSymbolUniqueId textureProj_ISampler3D1_Float4_Float1 = static constexpr const TSymbolUniqueId textureProj_ISampler3D1_Float4_Float1 =
TSymbolUniqueId(785); TSymbolUniqueId(791);
static constexpr const TSymbolUniqueId textureProj_USampler3D1_Float4_Float1 = static constexpr const TSymbolUniqueId textureProj_USampler3D1_Float4_Float1 =
TSymbolUniqueId(786); TSymbolUniqueId(792);
static constexpr const TSymbolUniqueId texture_Sampler2DShadow1_Float3_Float1 = static constexpr const TSymbolUniqueId texture_Sampler2DShadow1_Float3_Float1 =
TSymbolUniqueId(787); TSymbolUniqueId(793);
static constexpr const TSymbolUniqueId texture_SamplerCubeShadow1_Float4_Float1 = static constexpr const TSymbolUniqueId texture_SamplerCubeShadow1_Float4_Float1 =
TSymbolUniqueId(788); TSymbolUniqueId(794);
static constexpr const TSymbolUniqueId textureProj_Sampler2DShadow1_Float4_Float1 = static constexpr const TSymbolUniqueId textureProj_Sampler2DShadow1_Float4_Float1 =
TSymbolUniqueId(789); TSymbolUniqueId(795);
static constexpr const TSymbolUniqueId texture_SamplerExternalOES1_Float2_Float1 = static constexpr const TSymbolUniqueId texture_SamplerExternalOES1_Float2_Float1 =
TSymbolUniqueId(790); TSymbolUniqueId(796);
static constexpr const TSymbolUniqueId textureProj_SamplerExternalOES1_Float3_Float1 = static constexpr const TSymbolUniqueId textureProj_SamplerExternalOES1_Float3_Float1 =
TSymbolUniqueId(791); TSymbolUniqueId(797);
static constexpr const TSymbolUniqueId textureProj_SamplerExternalOES1_Float4_Float1 = static constexpr const TSymbolUniqueId textureProj_SamplerExternalOES1_Float4_Float1 =
TSymbolUniqueId(792); TSymbolUniqueId(798);
static constexpr const TSymbolUniqueId texture_SamplerExternal2DY2YEXT1_Float2_Float1 = static constexpr const TSymbolUniqueId texture_SamplerExternal2DY2YEXT1_Float2_Float1 =
TSymbolUniqueId(793); TSymbolUniqueId(799);
static constexpr const TSymbolUniqueId textureProj_SamplerExternal2DY2YEXT1_Float3_Float1 = static constexpr const TSymbolUniqueId textureProj_SamplerExternal2DY2YEXT1_Float3_Float1 =
TSymbolUniqueId(794); TSymbolUniqueId(800);
static constexpr const TSymbolUniqueId textureProj_SamplerExternal2DY2YEXT1_Float4_Float1 = static constexpr const TSymbolUniqueId textureProj_SamplerExternal2DY2YEXT1_Float4_Float1 =
TSymbolUniqueId(795); TSymbolUniqueId(801);
static constexpr const TSymbolUniqueId texelFetch_Sampler2DMS1_Int2_Int1 = TSymbolUniqueId(796); static constexpr const TSymbolUniqueId texelFetch_Sampler2DMS1_Int2_Int1 = TSymbolUniqueId(802);
static constexpr const TSymbolUniqueId texelFetch_ISampler2DMS1_Int2_Int1 = static constexpr const TSymbolUniqueId texelFetch_ISampler2DMS1_Int2_Int1 =
TSymbolUniqueId(797); TSymbolUniqueId(803);
static constexpr const TSymbolUniqueId texelFetch_USampler2DMS1_Int2_Int1 = static constexpr const TSymbolUniqueId texelFetch_USampler2DMS1_Int2_Int1 =
TSymbolUniqueId(798); TSymbolUniqueId(804);
static constexpr const TSymbolUniqueId textureGather_Sampler2D1_Float2 = TSymbolUniqueId(799); static constexpr const TSymbolUniqueId texelFetch_Sampler2DMSArray1_Int3_Int1 =
static constexpr const TSymbolUniqueId textureGather_ISampler2D1_Float2 = TSymbolUniqueId(800); TSymbolUniqueId(805);
static constexpr const TSymbolUniqueId textureGather_USampler2D1_Float2 = TSymbolUniqueId(801); static constexpr const TSymbolUniqueId texelFetch_ISampler2DMSArray1_Int3_Int1 =
TSymbolUniqueId(806);
static constexpr const TSymbolUniqueId texelFetch_USampler2DMSArray1_Int3_Int1 =
TSymbolUniqueId(807);
static constexpr const TSymbolUniqueId textureGather_Sampler2D1_Float2 = TSymbolUniqueId(808);
static constexpr const TSymbolUniqueId textureGather_ISampler2D1_Float2 = TSymbolUniqueId(809);
static constexpr const TSymbolUniqueId textureGather_USampler2D1_Float2 = TSymbolUniqueId(810);
static constexpr const TSymbolUniqueId textureGather_Sampler2D1_Float2_Int1 = static constexpr const TSymbolUniqueId textureGather_Sampler2D1_Float2_Int1 =
TSymbolUniqueId(802); TSymbolUniqueId(811);
static constexpr const TSymbolUniqueId textureGather_ISampler2D1_Float2_Int1 = static constexpr const TSymbolUniqueId textureGather_ISampler2D1_Float2_Int1 =
TSymbolUniqueId(803); TSymbolUniqueId(812);
static constexpr const TSymbolUniqueId textureGather_USampler2D1_Float2_Int1 = static constexpr const TSymbolUniqueId textureGather_USampler2D1_Float2_Int1 =
TSymbolUniqueId(804); TSymbolUniqueId(813);
static constexpr const TSymbolUniqueId textureGather_Sampler2DArray1_Float3 = static constexpr const TSymbolUniqueId textureGather_Sampler2DArray1_Float3 =
TSymbolUniqueId(805); TSymbolUniqueId(814);
static constexpr const TSymbolUniqueId textureGather_ISampler2DArray1_Float3 = static constexpr const TSymbolUniqueId textureGather_ISampler2DArray1_Float3 =
TSymbolUniqueId(806); TSymbolUniqueId(815);
static constexpr const TSymbolUniqueId textureGather_USampler2DArray1_Float3 = static constexpr const TSymbolUniqueId textureGather_USampler2DArray1_Float3 =
TSymbolUniqueId(807); TSymbolUniqueId(816);
static constexpr const TSymbolUniqueId textureGather_Sampler2DArray1_Float3_Int1 = static constexpr const TSymbolUniqueId textureGather_Sampler2DArray1_Float3_Int1 =
TSymbolUniqueId(808); TSymbolUniqueId(817);
static constexpr const TSymbolUniqueId textureGather_ISampler2DArray1_Float3_Int1 = static constexpr const TSymbolUniqueId textureGather_ISampler2DArray1_Float3_Int1 =
TSymbolUniqueId(809); TSymbolUniqueId(818);
static constexpr const TSymbolUniqueId textureGather_USampler2DArray1_Float3_Int1 = static constexpr const TSymbolUniqueId textureGather_USampler2DArray1_Float3_Int1 =
TSymbolUniqueId(810); TSymbolUniqueId(819);
static constexpr const TSymbolUniqueId textureGather_SamplerCube1_Float3 = TSymbolUniqueId(811); static constexpr const TSymbolUniqueId textureGather_SamplerCube1_Float3 = TSymbolUniqueId(820);
static constexpr const TSymbolUniqueId textureGather_ISamplerCube1_Float3 = static constexpr const TSymbolUniqueId textureGather_ISamplerCube1_Float3 =
TSymbolUniqueId(812); TSymbolUniqueId(821);
static constexpr const TSymbolUniqueId textureGather_USamplerCube1_Float3 = static constexpr const TSymbolUniqueId textureGather_USamplerCube1_Float3 =
TSymbolUniqueId(813); TSymbolUniqueId(822);
static constexpr const TSymbolUniqueId textureGather_SamplerCube1_Float3_Int1 = static constexpr const TSymbolUniqueId textureGather_SamplerCube1_Float3_Int1 =
TSymbolUniqueId(814); TSymbolUniqueId(823);
static constexpr const TSymbolUniqueId textureGather_ISamplerCube1_Float3_Int1 = static constexpr const TSymbolUniqueId textureGather_ISamplerCube1_Float3_Int1 =
TSymbolUniqueId(815); TSymbolUniqueId(824);
static constexpr const TSymbolUniqueId textureGather_USamplerCube1_Float3_Int1 = static constexpr const TSymbolUniqueId textureGather_USamplerCube1_Float3_Int1 =
TSymbolUniqueId(816); TSymbolUniqueId(825);
static constexpr const TSymbolUniqueId textureGather_Sampler2DShadow1_Float2 = static constexpr const TSymbolUniqueId textureGather_Sampler2DShadow1_Float2 =
TSymbolUniqueId(817); TSymbolUniqueId(826);
static constexpr const TSymbolUniqueId textureGather_Sampler2DShadow1_Float2_Float1 = static constexpr const TSymbolUniqueId textureGather_Sampler2DShadow1_Float2_Float1 =
TSymbolUniqueId(818); TSymbolUniqueId(827);
static constexpr const TSymbolUniqueId textureGather_Sampler2DArrayShadow1_Float3 = static constexpr const TSymbolUniqueId textureGather_Sampler2DArrayShadow1_Float3 =
TSymbolUniqueId(819); TSymbolUniqueId(828);
static constexpr const TSymbolUniqueId textureGather_Sampler2DArrayShadow1_Float3_Float1 = static constexpr const TSymbolUniqueId textureGather_Sampler2DArrayShadow1_Float3_Float1 =
TSymbolUniqueId(820); TSymbolUniqueId(829);
static constexpr const TSymbolUniqueId textureGather_SamplerCubeShadow1_Float3 = static constexpr const TSymbolUniqueId textureGather_SamplerCubeShadow1_Float3 =
TSymbolUniqueId(821); TSymbolUniqueId(830);
static constexpr const TSymbolUniqueId textureGather_SamplerCubeShadow1_Float3_Float1 = static constexpr const TSymbolUniqueId textureGather_SamplerCubeShadow1_Float3_Float1 =
TSymbolUniqueId(822); TSymbolUniqueId(831);
static constexpr const TSymbolUniqueId textureGatherOffset_Sampler2D1_Float2_Int2 = static constexpr const TSymbolUniqueId textureGatherOffset_Sampler2D1_Float2_Int2 =
TSymbolUniqueId(823); TSymbolUniqueId(832);
static constexpr const TSymbolUniqueId textureGatherOffset_ISampler2D1_Float2_Int2 = static constexpr const TSymbolUniqueId textureGatherOffset_ISampler2D1_Float2_Int2 =
TSymbolUniqueId(824); TSymbolUniqueId(833);
static constexpr const TSymbolUniqueId textureGatherOffset_USampler2D1_Float2_Int2 = static constexpr const TSymbolUniqueId textureGatherOffset_USampler2D1_Float2_Int2 =
TSymbolUniqueId(825); TSymbolUniqueId(834);
static constexpr const TSymbolUniqueId textureGatherOffset_Sampler2D1_Float2_Int2_Int1 = static constexpr const TSymbolUniqueId textureGatherOffset_Sampler2D1_Float2_Int2_Int1 =
TSymbolUniqueId(826); TSymbolUniqueId(835);
static constexpr const TSymbolUniqueId textureGatherOffset_ISampler2D1_Float2_Int2_Int1 = static constexpr const TSymbolUniqueId textureGatherOffset_ISampler2D1_Float2_Int2_Int1 =
TSymbolUniqueId(827); TSymbolUniqueId(836);
static constexpr const TSymbolUniqueId textureGatherOffset_USampler2D1_Float2_Int2_Int1 = static constexpr const TSymbolUniqueId textureGatherOffset_USampler2D1_Float2_Int2_Int1 =
TSymbolUniqueId(828); TSymbolUniqueId(837);
static constexpr const TSymbolUniqueId textureGatherOffset_Sampler2DArray1_Float3_Int2 = static constexpr const TSymbolUniqueId textureGatherOffset_Sampler2DArray1_Float3_Int2 =
TSymbolUniqueId(829); TSymbolUniqueId(838);
static constexpr const TSymbolUniqueId textureGatherOffset_ISampler2DArray1_Float3_Int2 = static constexpr const TSymbolUniqueId textureGatherOffset_ISampler2DArray1_Float3_Int2 =
TSymbolUniqueId(830); TSymbolUniqueId(839);
static constexpr const TSymbolUniqueId textureGatherOffset_USampler2DArray1_Float3_Int2 = static constexpr const TSymbolUniqueId textureGatherOffset_USampler2DArray1_Float3_Int2 =
TSymbolUniqueId(831); TSymbolUniqueId(840);
static constexpr const TSymbolUniqueId textureGatherOffset_Sampler2DArray1_Float3_Int2_Int1 = static constexpr const TSymbolUniqueId textureGatherOffset_Sampler2DArray1_Float3_Int2_Int1 =
TSymbolUniqueId(832); TSymbolUniqueId(841);
static constexpr const TSymbolUniqueId textureGatherOffset_ISampler2DArray1_Float3_Int2_Int1 = static constexpr const TSymbolUniqueId textureGatherOffset_ISampler2DArray1_Float3_Int2_Int1 =
TSymbolUniqueId(833); TSymbolUniqueId(842);
static constexpr const TSymbolUniqueId textureGatherOffset_USampler2DArray1_Float3_Int2_Int1 = static constexpr const TSymbolUniqueId textureGatherOffset_USampler2DArray1_Float3_Int2_Int1 =
TSymbolUniqueId(834); TSymbolUniqueId(843);
static constexpr const TSymbolUniqueId textureGatherOffset_Sampler2DShadow1_Float2_Float1_Int2 = static constexpr const TSymbolUniqueId textureGatherOffset_Sampler2DShadow1_Float2_Float1_Int2 =
TSymbolUniqueId(835); TSymbolUniqueId(844);
static constexpr const TSymbolUniqueId static constexpr const TSymbolUniqueId
textureGatherOffset_Sampler2DArrayShadow1_Float3_Float1_Int2 = TSymbolUniqueId(836); textureGatherOffset_Sampler2DArrayShadow1_Float3_Float1_Int2 = TSymbolUniqueId(845);
static constexpr const TSymbolUniqueId dFdx_Float1 = TSymbolUniqueId(837); static constexpr const TSymbolUniqueId dFdx_Float1 = TSymbolUniqueId(846);
static constexpr const TSymbolUniqueId dFdx_Float2 = TSymbolUniqueId(838); static constexpr const TSymbolUniqueId dFdx_Float2 = TSymbolUniqueId(847);
static constexpr const TSymbolUniqueId dFdx_Float3 = TSymbolUniqueId(839); static constexpr const TSymbolUniqueId dFdx_Float3 = TSymbolUniqueId(848);
static constexpr const TSymbolUniqueId dFdx_Float4 = TSymbolUniqueId(840); static constexpr const TSymbolUniqueId dFdx_Float4 = TSymbolUniqueId(849);
static constexpr const TSymbolUniqueId dFdy_Float1 = TSymbolUniqueId(841); static constexpr const TSymbolUniqueId dFdy_Float1 = TSymbolUniqueId(850);
static constexpr const TSymbolUniqueId dFdy_Float2 = TSymbolUniqueId(842); static constexpr const TSymbolUniqueId dFdy_Float2 = TSymbolUniqueId(851);
static constexpr const TSymbolUniqueId dFdy_Float3 = TSymbolUniqueId(843); static constexpr const TSymbolUniqueId dFdy_Float3 = TSymbolUniqueId(852);
static constexpr const TSymbolUniqueId dFdy_Float4 = TSymbolUniqueId(844); static constexpr const TSymbolUniqueId dFdy_Float4 = TSymbolUniqueId(853);
static constexpr const TSymbolUniqueId fwidth_Float1 = TSymbolUniqueId(845); static constexpr const TSymbolUniqueId fwidth_Float1 = TSymbolUniqueId(854);
static constexpr const TSymbolUniqueId fwidth_Float2 = TSymbolUniqueId(846); static constexpr const TSymbolUniqueId fwidth_Float2 = TSymbolUniqueId(855);
static constexpr const TSymbolUniqueId fwidth_Float3 = TSymbolUniqueId(847); static constexpr const TSymbolUniqueId fwidth_Float3 = TSymbolUniqueId(856);
static constexpr const TSymbolUniqueId fwidth_Float4 = TSymbolUniqueId(848); static constexpr const TSymbolUniqueId fwidth_Float4 = TSymbolUniqueId(857);
static constexpr const TSymbolUniqueId atomicCounter_AtomicCounter1 = TSymbolUniqueId(849); static constexpr const TSymbolUniqueId atomicCounter_AtomicCounter1 = TSymbolUniqueId(858);
static constexpr const TSymbolUniqueId pt0F = TSymbolUniqueId(850); static constexpr const TSymbolUniqueId pt0F = TSymbolUniqueId(859);
static constexpr const TSymbolUniqueId atomicCounterIncrement_AtomicCounter1 = static constexpr const TSymbolUniqueId atomicCounterIncrement_AtomicCounter1 =
TSymbolUniqueId(851); TSymbolUniqueId(860);
static constexpr const TSymbolUniqueId atomicCounterDecrement_AtomicCounter1 = static constexpr const TSymbolUniqueId atomicCounterDecrement_AtomicCounter1 =
TSymbolUniqueId(852); TSymbolUniqueId(861);
static constexpr const TSymbolUniqueId atomicAdd_UInt1_UInt1 = TSymbolUniqueId(853); static constexpr const TSymbolUniqueId atomicAdd_UInt1_UInt1 = TSymbolUniqueId(862);
static constexpr const TSymbolUniqueId pt_io_0D = TSymbolUniqueId(854); static constexpr const TSymbolUniqueId pt_io_0D = TSymbolUniqueId(863);
static constexpr const TSymbolUniqueId atomicAdd_Int1_Int1 = TSymbolUniqueId(855); static constexpr const TSymbolUniqueId atomicAdd_Int1_Int1 = TSymbolUniqueId(864);
static constexpr const TSymbolUniqueId pt_io_0C = TSymbolUniqueId(856); static constexpr const TSymbolUniqueId pt_io_0C = TSymbolUniqueId(865);
static constexpr const TSymbolUniqueId atomicMin_UInt1_UInt1 = TSymbolUniqueId(857); static constexpr const TSymbolUniqueId atomicMin_UInt1_UInt1 = TSymbolUniqueId(866);
static constexpr const TSymbolUniqueId atomicMin_Int1_Int1 = TSymbolUniqueId(858); static constexpr const TSymbolUniqueId atomicMin_Int1_Int1 = TSymbolUniqueId(867);
static constexpr const TSymbolUniqueId atomicMax_UInt1_UInt1 = TSymbolUniqueId(859); static constexpr const TSymbolUniqueId atomicMax_UInt1_UInt1 = TSymbolUniqueId(868);
static constexpr const TSymbolUniqueId atomicMax_Int1_Int1 = TSymbolUniqueId(860); static constexpr const TSymbolUniqueId atomicMax_Int1_Int1 = TSymbolUniqueId(869);
static constexpr const TSymbolUniqueId atomicAnd_UInt1_UInt1 = TSymbolUniqueId(861); static constexpr const TSymbolUniqueId atomicAnd_UInt1_UInt1 = TSymbolUniqueId(870);
static constexpr const TSymbolUniqueId atomicAnd_Int1_Int1 = TSymbolUniqueId(862); static constexpr const TSymbolUniqueId atomicAnd_Int1_Int1 = TSymbolUniqueId(871);
static constexpr const TSymbolUniqueId atomicOr_UInt1_UInt1 = TSymbolUniqueId(863); static constexpr const TSymbolUniqueId atomicOr_UInt1_UInt1 = TSymbolUniqueId(872);
static constexpr const TSymbolUniqueId atomicOr_Int1_Int1 = TSymbolUniqueId(864); static constexpr const TSymbolUniqueId atomicOr_Int1_Int1 = TSymbolUniqueId(873);
static constexpr const TSymbolUniqueId atomicXor_UInt1_UInt1 = TSymbolUniqueId(865); static constexpr const TSymbolUniqueId atomicXor_UInt1_UInt1 = TSymbolUniqueId(874);
static constexpr const TSymbolUniqueId atomicXor_Int1_Int1 = TSymbolUniqueId(866); static constexpr const TSymbolUniqueId atomicXor_Int1_Int1 = TSymbolUniqueId(875);
static constexpr const TSymbolUniqueId atomicExchange_UInt1_UInt1 = TSymbolUniqueId(867); static constexpr const TSymbolUniqueId atomicExchange_UInt1_UInt1 = TSymbolUniqueId(876);
static constexpr const TSymbolUniqueId atomicExchange_Int1_Int1 = TSymbolUniqueId(868); static constexpr const TSymbolUniqueId atomicExchange_Int1_Int1 = TSymbolUniqueId(877);
static constexpr const TSymbolUniqueId atomicCompSwap_UInt1_UInt1_UInt1 = TSymbolUniqueId(869); static constexpr const TSymbolUniqueId atomicCompSwap_UInt1_UInt1_UInt1 = TSymbolUniqueId(878);
static constexpr const TSymbolUniqueId atomicCompSwap_Int1_Int1_Int1 = TSymbolUniqueId(870); static constexpr const TSymbolUniqueId atomicCompSwap_Int1_Int1_Int1 = TSymbolUniqueId(879);
static constexpr const TSymbolUniqueId imageSize_Image2D1 = TSymbolUniqueId(871); static constexpr const TSymbolUniqueId imageSize_Image2D1 = TSymbolUniqueId(880);
static constexpr const TSymbolUniqueId pt0c = TSymbolUniqueId(872); static constexpr const TSymbolUniqueId pt0f = TSymbolUniqueId(881);
static constexpr const TSymbolUniqueId imageSize_IImage2D1 = TSymbolUniqueId(873); static constexpr const TSymbolUniqueId imageSize_IImage2D1 = TSymbolUniqueId(882);
static constexpr const TSymbolUniqueId pt0d = TSymbolUniqueId(874); static constexpr const TSymbolUniqueId pt0g = TSymbolUniqueId(883);
static constexpr const TSymbolUniqueId imageSize_UImage2D1 = TSymbolUniqueId(875); static constexpr const TSymbolUniqueId imageSize_UImage2D1 = TSymbolUniqueId(884);
static constexpr const TSymbolUniqueId pt0e = TSymbolUniqueId(876); static constexpr const TSymbolUniqueId pt0h = TSymbolUniqueId(885);
static constexpr const TSymbolUniqueId imageSize_Image3D1 = TSymbolUniqueId(877); static constexpr const TSymbolUniqueId imageSize_Image3D1 = TSymbolUniqueId(886);
static constexpr const TSymbolUniqueId pt0f = TSymbolUniqueId(878); static constexpr const TSymbolUniqueId pt0i = TSymbolUniqueId(887);
static constexpr const TSymbolUniqueId imageSize_IImage3D1 = TSymbolUniqueId(879); static constexpr const TSymbolUniqueId imageSize_IImage3D1 = TSymbolUniqueId(888);
static constexpr const TSymbolUniqueId pt0g = TSymbolUniqueId(880); static constexpr const TSymbolUniqueId pt0j = TSymbolUniqueId(889);
static constexpr const TSymbolUniqueId imageSize_UImage3D1 = TSymbolUniqueId(881); static constexpr const TSymbolUniqueId imageSize_UImage3D1 = TSymbolUniqueId(890);
static constexpr const TSymbolUniqueId pt0h = TSymbolUniqueId(882); static constexpr const TSymbolUniqueId pt0k = TSymbolUniqueId(891);
static constexpr const TSymbolUniqueId imageSize_Image2DArray1 = TSymbolUniqueId(883); static constexpr const TSymbolUniqueId imageSize_Image2DArray1 = TSymbolUniqueId(892);
static constexpr const TSymbolUniqueId pt0i = TSymbolUniqueId(884); static constexpr const TSymbolUniqueId pt0l = TSymbolUniqueId(893);
static constexpr const TSymbolUniqueId imageSize_IImage2DArray1 = TSymbolUniqueId(885); static constexpr const TSymbolUniqueId imageSize_IImage2DArray1 = TSymbolUniqueId(894);
static constexpr const TSymbolUniqueId pt0j = TSymbolUniqueId(886); static constexpr const TSymbolUniqueId pt0m = TSymbolUniqueId(895);
static constexpr const TSymbolUniqueId imageSize_UImage2DArray1 = TSymbolUniqueId(887); static constexpr const TSymbolUniqueId imageSize_UImage2DArray1 = TSymbolUniqueId(896);
static constexpr const TSymbolUniqueId pt0k = TSymbolUniqueId(888); static constexpr const TSymbolUniqueId pt0n = TSymbolUniqueId(897);
static constexpr const TSymbolUniqueId imageSize_ImageCube1 = TSymbolUniqueId(889); static constexpr const TSymbolUniqueId imageSize_ImageCube1 = TSymbolUniqueId(898);
static constexpr const TSymbolUniqueId pt0l = TSymbolUniqueId(890); static constexpr const TSymbolUniqueId pt0o = TSymbolUniqueId(899);
static constexpr const TSymbolUniqueId imageSize_IImageCube1 = TSymbolUniqueId(891); static constexpr const TSymbolUniqueId imageSize_IImageCube1 = TSymbolUniqueId(900);
static constexpr const TSymbolUniqueId pt0m = TSymbolUniqueId(892); static constexpr const TSymbolUniqueId pt0p = TSymbolUniqueId(901);
static constexpr const TSymbolUniqueId imageSize_UImageCube1 = TSymbolUniqueId(893); static constexpr const TSymbolUniqueId imageSize_UImageCube1 = TSymbolUniqueId(902);
static constexpr const TSymbolUniqueId pt0n = TSymbolUniqueId(894); static constexpr const TSymbolUniqueId pt0q = TSymbolUniqueId(903);
static constexpr const TSymbolUniqueId imageLoad_Image2D1_Int2 = TSymbolUniqueId(895); static constexpr const TSymbolUniqueId imageLoad_Image2D1_Int2 = TSymbolUniqueId(904);
static constexpr const TSymbolUniqueId imageLoad_IImage2D1_Int2 = TSymbolUniqueId(896); static constexpr const TSymbolUniqueId imageLoad_IImage2D1_Int2 = TSymbolUniqueId(905);
static constexpr const TSymbolUniqueId imageLoad_UImage2D1_Int2 = TSymbolUniqueId(897); static constexpr const TSymbolUniqueId imageLoad_UImage2D1_Int2 = TSymbolUniqueId(906);
static constexpr const TSymbolUniqueId imageLoad_Image3D1_Int3 = TSymbolUniqueId(898); static constexpr const TSymbolUniqueId imageLoad_Image3D1_Int3 = TSymbolUniqueId(907);
static constexpr const TSymbolUniqueId imageLoad_IImage3D1_Int3 = TSymbolUniqueId(899); static constexpr const TSymbolUniqueId imageLoad_IImage3D1_Int3 = TSymbolUniqueId(908);
static constexpr const TSymbolUniqueId imageLoad_UImage3D1_Int3 = TSymbolUniqueId(900); static constexpr const TSymbolUniqueId imageLoad_UImage3D1_Int3 = TSymbolUniqueId(909);
static constexpr const TSymbolUniqueId imageLoad_Image2DArray1_Int3 = TSymbolUniqueId(901); static constexpr const TSymbolUniqueId imageLoad_Image2DArray1_Int3 = TSymbolUniqueId(910);
static constexpr const TSymbolUniqueId imageLoad_IImage2DArray1_Int3 = TSymbolUniqueId(902); static constexpr const TSymbolUniqueId imageLoad_IImage2DArray1_Int3 = TSymbolUniqueId(911);
static constexpr const TSymbolUniqueId imageLoad_UImage2DArray1_Int3 = TSymbolUniqueId(903); static constexpr const TSymbolUniqueId imageLoad_UImage2DArray1_Int3 = TSymbolUniqueId(912);
static constexpr const TSymbolUniqueId imageLoad_ImageCube1_Int3 = TSymbolUniqueId(904); static constexpr const TSymbolUniqueId imageLoad_ImageCube1_Int3 = TSymbolUniqueId(913);
static constexpr const TSymbolUniqueId imageLoad_IImageCube1_Int3 = TSymbolUniqueId(905); static constexpr const TSymbolUniqueId imageLoad_IImageCube1_Int3 = TSymbolUniqueId(914);
static constexpr const TSymbolUniqueId imageLoad_UImageCube1_Int3 = TSymbolUniqueId(906); static constexpr const TSymbolUniqueId imageLoad_UImageCube1_Int3 = TSymbolUniqueId(915);
static constexpr const TSymbolUniqueId imageStore_Image2D1_Int2_Float4 = TSymbolUniqueId(907); static constexpr const TSymbolUniqueId imageStore_Image2D1_Int2_Float4 = TSymbolUniqueId(916);
static constexpr const TSymbolUniqueId imageStore_IImage2D1_Int2_Int4 = TSymbolUniqueId(908); static constexpr const TSymbolUniqueId imageStore_IImage2D1_Int2_Int4 = TSymbolUniqueId(917);
static constexpr const TSymbolUniqueId imageStore_UImage2D1_Int2_UInt4 = TSymbolUniqueId(909); static constexpr const TSymbolUniqueId imageStore_UImage2D1_Int2_UInt4 = TSymbolUniqueId(918);
static constexpr const TSymbolUniqueId imageStore_Image3D1_Int3_Float4 = TSymbolUniqueId(910); static constexpr const TSymbolUniqueId imageStore_Image3D1_Int3_Float4 = TSymbolUniqueId(919);
static constexpr const TSymbolUniqueId imageStore_IImage3D1_Int3_Int4 = TSymbolUniqueId(911); static constexpr const TSymbolUniqueId imageStore_IImage3D1_Int3_Int4 = TSymbolUniqueId(920);
static constexpr const TSymbolUniqueId imageStore_UImage3D1_Int3_UInt4 = TSymbolUniqueId(912); static constexpr const TSymbolUniqueId imageStore_UImage3D1_Int3_UInt4 = TSymbolUniqueId(921);
static constexpr const TSymbolUniqueId imageStore_Image2DArray1_Int3_Float4 = static constexpr const TSymbolUniqueId imageStore_Image2DArray1_Int3_Float4 =
TSymbolUniqueId(913); TSymbolUniqueId(922);
static constexpr const TSymbolUniqueId imageStore_IImage2DArray1_Int3_Int4 = static constexpr const TSymbolUniqueId imageStore_IImage2DArray1_Int3_Int4 =
TSymbolUniqueId(914); TSymbolUniqueId(923);
static constexpr const TSymbolUniqueId imageStore_UImage2DArray1_Int3_UInt4 = static constexpr const TSymbolUniqueId imageStore_UImage2DArray1_Int3_UInt4 =
TSymbolUniqueId(915); TSymbolUniqueId(924);
static constexpr const TSymbolUniqueId imageStore_ImageCube1_Int3_Float4 = TSymbolUniqueId(916); static constexpr const TSymbolUniqueId imageStore_ImageCube1_Int3_Float4 = TSymbolUniqueId(925);
static constexpr const TSymbolUniqueId imageStore_IImageCube1_Int3_Int4 = TSymbolUniqueId(917); static constexpr const TSymbolUniqueId imageStore_IImageCube1_Int3_Int4 = TSymbolUniqueId(926);
static constexpr const TSymbolUniqueId imageStore_UImageCube1_Int3_UInt4 = TSymbolUniqueId(918); static constexpr const TSymbolUniqueId imageStore_UImageCube1_Int3_UInt4 = TSymbolUniqueId(927);
static constexpr const TSymbolUniqueId memoryBarrier = TSymbolUniqueId(919); static constexpr const TSymbolUniqueId memoryBarrier = TSymbolUniqueId(928);
static constexpr const TSymbolUniqueId memoryBarrierAtomicCounter = TSymbolUniqueId(920); static constexpr const TSymbolUniqueId memoryBarrierAtomicCounter = TSymbolUniqueId(929);
static constexpr const TSymbolUniqueId memoryBarrierBuffer = TSymbolUniqueId(921); static constexpr const TSymbolUniqueId memoryBarrierBuffer = TSymbolUniqueId(930);
static constexpr const TSymbolUniqueId memoryBarrierImage = TSymbolUniqueId(922); static constexpr const TSymbolUniqueId memoryBarrierImage = TSymbolUniqueId(931);
static constexpr const TSymbolUniqueId barrier = TSymbolUniqueId(923); static constexpr const TSymbolUniqueId barrier = TSymbolUniqueId(932);
static constexpr const TSymbolUniqueId memoryBarrierShared = TSymbolUniqueId(924); static constexpr const TSymbolUniqueId memoryBarrierShared = TSymbolUniqueId(933);
static constexpr const TSymbolUniqueId groupMemoryBarrier = TSymbolUniqueId(925); static constexpr const TSymbolUniqueId groupMemoryBarrier = TSymbolUniqueId(934);
static constexpr const TSymbolUniqueId EmitVertex = TSymbolUniqueId(926); static constexpr const TSymbolUniqueId EmitVertex = TSymbolUniqueId(935);
static constexpr const TSymbolUniqueId EndPrimitive = TSymbolUniqueId(927); static constexpr const TSymbolUniqueId EndPrimitive = TSymbolUniqueId(936);
static constexpr const TSymbolUniqueId gl_DepthRangeParameters = TSymbolUniqueId(928); static constexpr const TSymbolUniqueId gl_DepthRangeParameters = TSymbolUniqueId(937);
static constexpr const TSymbolUniqueId gl_DepthRange = TSymbolUniqueId(929); static constexpr const TSymbolUniqueId gl_DepthRange = TSymbolUniqueId(938);
static constexpr const TSymbolUniqueId gl_MaxVertexAttribs = TSymbolUniqueId(930); static constexpr const TSymbolUniqueId gl_MaxVertexAttribs = TSymbolUniqueId(939);
static constexpr const TSymbolUniqueId gl_MaxVertexUniformVectors = TSymbolUniqueId(931); static constexpr const TSymbolUniqueId gl_MaxVertexUniformVectors = TSymbolUniqueId(940);
static constexpr const TSymbolUniqueId gl_MaxVertexTextureImageUnits = TSymbolUniqueId(932); static constexpr const TSymbolUniqueId gl_MaxVertexTextureImageUnits = TSymbolUniqueId(941);
static constexpr const TSymbolUniqueId gl_MaxCombinedTextureImageUnits = TSymbolUniqueId(933); static constexpr const TSymbolUniqueId gl_MaxCombinedTextureImageUnits = TSymbolUniqueId(942);
static constexpr const TSymbolUniqueId gl_MaxTextureImageUnits = TSymbolUniqueId(934); static constexpr const TSymbolUniqueId gl_MaxTextureImageUnits = TSymbolUniqueId(943);
static constexpr const TSymbolUniqueId gl_MaxFragmentUniformVectors = TSymbolUniqueId(935); static constexpr const TSymbolUniqueId gl_MaxFragmentUniformVectors = TSymbolUniqueId(944);
static constexpr const TSymbolUniqueId gl_MaxVaryingVectors = TSymbolUniqueId(936); static constexpr const TSymbolUniqueId gl_MaxVaryingVectors = TSymbolUniqueId(945);
static constexpr const TSymbolUniqueId gl_MaxDrawBuffers = TSymbolUniqueId(937); static constexpr const TSymbolUniqueId gl_MaxDrawBuffers = TSymbolUniqueId(946);
static constexpr const TSymbolUniqueId gl_MaxDualSourceDrawBuffersEXT = TSymbolUniqueId(938); static constexpr const TSymbolUniqueId gl_MaxDualSourceDrawBuffersEXT = TSymbolUniqueId(947);
static constexpr const TSymbolUniqueId gl_MaxVertexOutputVectors = TSymbolUniqueId(939); static constexpr const TSymbolUniqueId gl_MaxVertexOutputVectors = TSymbolUniqueId(948);
static constexpr const TSymbolUniqueId gl_MaxFragmentInputVectors = TSymbolUniqueId(940); static constexpr const TSymbolUniqueId gl_MaxFragmentInputVectors = TSymbolUniqueId(949);
static constexpr const TSymbolUniqueId gl_MinProgramTexelOffset = TSymbolUniqueId(941); static constexpr const TSymbolUniqueId gl_MinProgramTexelOffset = TSymbolUniqueId(950);
static constexpr const TSymbolUniqueId gl_MaxProgramTexelOffset = TSymbolUniqueId(942); static constexpr const TSymbolUniqueId gl_MaxProgramTexelOffset = TSymbolUniqueId(951);
static constexpr const TSymbolUniqueId gl_MaxImageUnits = TSymbolUniqueId(943); static constexpr const TSymbolUniqueId gl_MaxImageUnits = TSymbolUniqueId(952);
static constexpr const TSymbolUniqueId gl_MaxVertexImageUniforms = TSymbolUniqueId(944); static constexpr const TSymbolUniqueId gl_MaxVertexImageUniforms = TSymbolUniqueId(953);
static constexpr const TSymbolUniqueId gl_MaxFragmentImageUniforms = TSymbolUniqueId(945); static constexpr const TSymbolUniqueId gl_MaxFragmentImageUniforms = TSymbolUniqueId(954);
static constexpr const TSymbolUniqueId gl_MaxComputeImageUniforms = TSymbolUniqueId(946); static constexpr const TSymbolUniqueId gl_MaxComputeImageUniforms = TSymbolUniqueId(955);
static constexpr const TSymbolUniqueId gl_MaxCombinedImageUniforms = TSymbolUniqueId(947); static constexpr const TSymbolUniqueId gl_MaxCombinedImageUniforms = TSymbolUniqueId(956);
static constexpr const TSymbolUniqueId gl_MaxCombinedShaderOutputResources = static constexpr const TSymbolUniqueId gl_MaxCombinedShaderOutputResources =
TSymbolUniqueId(948); TSymbolUniqueId(957);
static constexpr const TSymbolUniqueId gl_MaxComputeWorkGroupCount = TSymbolUniqueId(949); static constexpr const TSymbolUniqueId gl_MaxComputeWorkGroupCount = TSymbolUniqueId(958);
static constexpr const TSymbolUniqueId gl_MaxComputeWorkGroupSize = TSymbolUniqueId(950); static constexpr const TSymbolUniqueId gl_MaxComputeWorkGroupSize = TSymbolUniqueId(959);
static constexpr const TSymbolUniqueId gl_MaxComputeUniformComponents = TSymbolUniqueId(951); static constexpr const TSymbolUniqueId gl_MaxComputeUniformComponents = TSymbolUniqueId(960);
static constexpr const TSymbolUniqueId gl_MaxComputeTextureImageUnits = TSymbolUniqueId(952); static constexpr const TSymbolUniqueId gl_MaxComputeTextureImageUnits = TSymbolUniqueId(961);
static constexpr const TSymbolUniqueId gl_MaxComputeAtomicCounters = TSymbolUniqueId(953); static constexpr const TSymbolUniqueId gl_MaxComputeAtomicCounters = TSymbolUniqueId(962);
static constexpr const TSymbolUniqueId gl_MaxComputeAtomicCounterBuffers = TSymbolUniqueId(954); static constexpr const TSymbolUniqueId gl_MaxComputeAtomicCounterBuffers = TSymbolUniqueId(963);
static constexpr const TSymbolUniqueId gl_MaxVertexAtomicCounters = TSymbolUniqueId(955); static constexpr const TSymbolUniqueId gl_MaxVertexAtomicCounters = TSymbolUniqueId(964);
static constexpr const TSymbolUniqueId gl_MaxFragmentAtomicCounters = TSymbolUniqueId(956); static constexpr const TSymbolUniqueId gl_MaxFragmentAtomicCounters = TSymbolUniqueId(965);
static constexpr const TSymbolUniqueId gl_MaxCombinedAtomicCounters = TSymbolUniqueId(957); static constexpr const TSymbolUniqueId gl_MaxCombinedAtomicCounters = TSymbolUniqueId(966);
static constexpr const TSymbolUniqueId gl_MaxAtomicCounterBindings = TSymbolUniqueId(958); static constexpr const TSymbolUniqueId gl_MaxAtomicCounterBindings = TSymbolUniqueId(967);
static constexpr const TSymbolUniqueId gl_MaxVertexAtomicCounterBuffers = TSymbolUniqueId(959); static constexpr const TSymbolUniqueId gl_MaxVertexAtomicCounterBuffers = TSymbolUniqueId(968);
static constexpr const TSymbolUniqueId gl_MaxFragmentAtomicCounterBuffers = static constexpr const TSymbolUniqueId gl_MaxFragmentAtomicCounterBuffers =
TSymbolUniqueId(960); TSymbolUniqueId(969);
static constexpr const TSymbolUniqueId gl_MaxCombinedAtomicCounterBuffers = static constexpr const TSymbolUniqueId gl_MaxCombinedAtomicCounterBuffers =
TSymbolUniqueId(961); TSymbolUniqueId(970);
static constexpr const TSymbolUniqueId gl_MaxAtomicCounterBufferSize = TSymbolUniqueId(962); static constexpr const TSymbolUniqueId gl_MaxAtomicCounterBufferSize = TSymbolUniqueId(971);
static constexpr const TSymbolUniqueId gl_MaxGeometryInputComponents = TSymbolUniqueId(963); static constexpr const TSymbolUniqueId gl_MaxGeometryInputComponents = TSymbolUniqueId(972);
static constexpr const TSymbolUniqueId gl_MaxGeometryOutputComponents = TSymbolUniqueId(964); static constexpr const TSymbolUniqueId gl_MaxGeometryOutputComponents = TSymbolUniqueId(973);
static constexpr const TSymbolUniqueId gl_MaxGeometryImageUniforms = TSymbolUniqueId(965); static constexpr const TSymbolUniqueId gl_MaxGeometryImageUniforms = TSymbolUniqueId(974);
static constexpr const TSymbolUniqueId gl_MaxGeometryTextureImageUnits = TSymbolUniqueId(966); static constexpr const TSymbolUniqueId gl_MaxGeometryTextureImageUnits = TSymbolUniqueId(975);
static constexpr const TSymbolUniqueId gl_MaxGeometryOutputVertices = TSymbolUniqueId(967); static constexpr const TSymbolUniqueId gl_MaxGeometryOutputVertices = TSymbolUniqueId(976);
static constexpr const TSymbolUniqueId gl_MaxGeometryTotalOutputComponents = static constexpr const TSymbolUniqueId gl_MaxGeometryTotalOutputComponents =
TSymbolUniqueId(968); TSymbolUniqueId(977);
static constexpr const TSymbolUniqueId gl_MaxGeometryUniformComponents = TSymbolUniqueId(969); static constexpr const TSymbolUniqueId gl_MaxGeometryUniformComponents = TSymbolUniqueId(978);
static constexpr const TSymbolUniqueId gl_MaxGeometryAtomicCounters = TSymbolUniqueId(970); static constexpr const TSymbolUniqueId gl_MaxGeometryAtomicCounters = TSymbolUniqueId(979);
static constexpr const TSymbolUniqueId gl_MaxGeometryAtomicCounterBuffers = static constexpr const TSymbolUniqueId gl_MaxGeometryAtomicCounterBuffers =
TSymbolUniqueId(971); TSymbolUniqueId(980);
static constexpr const TSymbolUniqueId gl_FragCoord = TSymbolUniqueId(972); static constexpr const TSymbolUniqueId gl_FragCoord = TSymbolUniqueId(981);
static constexpr const TSymbolUniqueId gl_FrontFacing = TSymbolUniqueId(973); static constexpr const TSymbolUniqueId gl_FrontFacing = TSymbolUniqueId(982);
static constexpr const TSymbolUniqueId gl_PointCoord = TSymbolUniqueId(974); static constexpr const TSymbolUniqueId gl_PointCoord = TSymbolUniqueId(983);
static constexpr const TSymbolUniqueId gl_FragColor = TSymbolUniqueId(975); static constexpr const TSymbolUniqueId gl_FragColor = TSymbolUniqueId(984);
static constexpr const TSymbolUniqueId gl_FragData = TSymbolUniqueId(976); static constexpr const TSymbolUniqueId gl_FragData = TSymbolUniqueId(985);
static constexpr const TSymbolUniqueId gl_FragDepth = TSymbolUniqueId(977); static constexpr const TSymbolUniqueId gl_FragDepth = TSymbolUniqueId(986);
static constexpr const TSymbolUniqueId gl_SecondaryFragColorEXT = TSymbolUniqueId(978); static constexpr const TSymbolUniqueId gl_SecondaryFragColorEXT = TSymbolUniqueId(987);
static constexpr const TSymbolUniqueId gl_SecondaryFragDataEXT = TSymbolUniqueId(979); static constexpr const TSymbolUniqueId gl_SecondaryFragDataEXT = TSymbolUniqueId(988);
static constexpr const TSymbolUniqueId gl_FragDepthEXT = TSymbolUniqueId(980); static constexpr const TSymbolUniqueId gl_FragDepthEXT = TSymbolUniqueId(989);
static constexpr const TSymbolUniqueId gl_LastFragData = TSymbolUniqueId(981); static constexpr const TSymbolUniqueId gl_LastFragData = TSymbolUniqueId(990);
static constexpr const TSymbolUniqueId gl_LastFragColor = TSymbolUniqueId(982); static constexpr const TSymbolUniqueId gl_LastFragColor = TSymbolUniqueId(991);
static constexpr const TSymbolUniqueId gl_LastFragDataNV = TSymbolUniqueId(983); static constexpr const TSymbolUniqueId gl_LastFragDataNV = TSymbolUniqueId(992);
static constexpr const TSymbolUniqueId gl_LastFragColorARM = TSymbolUniqueId(984); static constexpr const TSymbolUniqueId gl_LastFragColorARM = TSymbolUniqueId(993);
static constexpr const TSymbolUniqueId gl_PrimitiveID = TSymbolUniqueId(985); static constexpr const TSymbolUniqueId gl_PrimitiveID = TSymbolUniqueId(994);
static constexpr const TSymbolUniqueId gl_Layer = TSymbolUniqueId(986); static constexpr const TSymbolUniqueId gl_Layer = TSymbolUniqueId(995);
static constexpr const TSymbolUniqueId gl_Position = TSymbolUniqueId(987); static constexpr const TSymbolUniqueId gl_Position = TSymbolUniqueId(996);
static constexpr const TSymbolUniqueId gl_PointSize = TSymbolUniqueId(988); static constexpr const TSymbolUniqueId gl_PointSize = TSymbolUniqueId(997);
static constexpr const TSymbolUniqueId gl_InstanceID = TSymbolUniqueId(989); static constexpr const TSymbolUniqueId gl_InstanceID = TSymbolUniqueId(998);
static constexpr const TSymbolUniqueId gl_VertexID = TSymbolUniqueId(990); static constexpr const TSymbolUniqueId gl_VertexID = TSymbolUniqueId(999);
static constexpr const TSymbolUniqueId gl_ViewportIndex = TSymbolUniqueId(991); static constexpr const TSymbolUniqueId gl_ViewportIndex = TSymbolUniqueId(1000);
static constexpr const TSymbolUniqueId gl_LayerVS = TSymbolUniqueId(992); static constexpr const TSymbolUniqueId gl_LayerVS = TSymbolUniqueId(1001);
static constexpr const TSymbolUniqueId gl_NumWorkGroups = TSymbolUniqueId(993); static constexpr const TSymbolUniqueId gl_NumWorkGroups = TSymbolUniqueId(1002);
static constexpr const TSymbolUniqueId gl_WorkGroupSize = TSymbolUniqueId(994); static constexpr const TSymbolUniqueId gl_WorkGroupSize = TSymbolUniqueId(1003);
static constexpr const TSymbolUniqueId gl_WorkGroupID = TSymbolUniqueId(995); static constexpr const TSymbolUniqueId gl_WorkGroupID = TSymbolUniqueId(1004);
static constexpr const TSymbolUniqueId gl_LocalInvocationID = TSymbolUniqueId(996); static constexpr const TSymbolUniqueId gl_LocalInvocationID = TSymbolUniqueId(1005);
static constexpr const TSymbolUniqueId gl_GlobalInvocationID = TSymbolUniqueId(997); static constexpr const TSymbolUniqueId gl_GlobalInvocationID = TSymbolUniqueId(1006);
static constexpr const TSymbolUniqueId gl_LocalInvocationIndex = TSymbolUniqueId(998); static constexpr const TSymbolUniqueId gl_LocalInvocationIndex = TSymbolUniqueId(1007);
static constexpr const TSymbolUniqueId gl_PrimitiveIDIn = TSymbolUniqueId(999); static constexpr const TSymbolUniqueId gl_PrimitiveIDIn = TSymbolUniqueId(1008);
static constexpr const TSymbolUniqueId gl_InvocationID = TSymbolUniqueId(1000); static constexpr const TSymbolUniqueId gl_InvocationID = TSymbolUniqueId(1009);
static constexpr const TSymbolUniqueId gl_PrimitiveIDGS = TSymbolUniqueId(1001); static constexpr const TSymbolUniqueId gl_PrimitiveIDGS = TSymbolUniqueId(1010);
static constexpr const TSymbolUniqueId gl_LayerGS = TSymbolUniqueId(1002); static constexpr const TSymbolUniqueId gl_LayerGS = TSymbolUniqueId(1011);
static constexpr const TSymbolUniqueId gl_PerVertex = TSymbolUniqueId(1003); static constexpr const TSymbolUniqueId gl_PerVertex = TSymbolUniqueId(1012);
static constexpr const TSymbolUniqueId gl_in = TSymbolUniqueId(1004); static constexpr const TSymbolUniqueId gl_in = TSymbolUniqueId(1013);
static constexpr const TSymbolUniqueId gl_PerVertexOutBlock = TSymbolUniqueId(1005); static constexpr const TSymbolUniqueId gl_PerVertexOutBlock = TSymbolUniqueId(1014);
static constexpr const TSymbolUniqueId gl_PositionGS = TSymbolUniqueId(1006); static constexpr const TSymbolUniqueId gl_PositionGS = TSymbolUniqueId(1015);
static constexpr const TSymbolUniqueId gl_ViewID_OVR = TSymbolUniqueId(1007); static constexpr const TSymbolUniqueId gl_ViewID_OVR = TSymbolUniqueId(1016);
static constexpr const TSymbolUniqueId gl_ViewID_OVRESSL1 = TSymbolUniqueId(1008); static constexpr const TSymbolUniqueId gl_ViewID_OVRESSL1 = TSymbolUniqueId(1017);
}; // class BuiltInId }; // class BuiltInId
......
...@@ -523,195 +523,198 @@ TEST(ImmutableStringTest, ScriptGeneratedHashesMatch) ...@@ -523,195 +523,198 @@ TEST(ImmutableStringTest, ScriptGeneratedHashesMatch)
ASSERT_EQ(0x20b8a0c3u, ImmutableString("texture2DProjLod(0H3B0B").mangledNameHash()); ASSERT_EQ(0x20b8a0c3u, ImmutableString("texture2DProjLod(0H3B0B").mangledNameHash());
ASSERT_EQ(0x1cac1f4du, ImmutableString("textureCubeLod(0J2B0B").mangledNameHash()); ASSERT_EQ(0x1cac1f4du, ImmutableString("textureCubeLod(0J2B0B").mangledNameHash());
ASSERT_EQ(0x0e65ea73u, ImmutableString("texture(0H1B").mangledNameHash()); ASSERT_EQ(0x0e65ea73u, ImmutableString("texture(0H1B").mangledNameHash());
ASSERT_EQ(0x0e673fffu, ImmutableString("texture(0P1B").mangledNameHash()); ASSERT_EQ(0x0e60bb56u, ImmutableString("texture(0Q1B").mangledNameHash());
ASSERT_EQ(0x0e66cb64u, ImmutableString("texture(0U1B").mangledNameHash()); ASSERT_EQ(0x0e64ec86u, ImmutableString("texture(0W1B").mangledNameHash());
ASSERT_EQ(0x0e625169u, ImmutableString("texture(0I2B").mangledNameHash()); ASSERT_EQ(0x0e625169u, ImmutableString("texture(0I2B").mangledNameHash());
ASSERT_EQ(0x0e638fabu, ImmutableString("texture(0Q2B").mangledNameHash());
ASSERT_EQ(0x0e61df23u, ImmutableString("texture(0V2B").mangledNameHash());
ASSERT_EQ(0x0e6470f1u, ImmutableString("texture(0J2B").mangledNameHash());
ASSERT_EQ(0x0e67a979u, ImmutableString("texture(0R2B").mangledNameHash()); ASSERT_EQ(0x0e67a979u, ImmutableString("texture(0R2B").mangledNameHash());
ASSERT_EQ(0x0e646500u, ImmutableString("texture(0W2B").mangledNameHash());
ASSERT_EQ(0x0e61222eu, ImmutableString("texture(0K2B").mangledNameHash());
ASSERT_EQ(0x0e60445cu, ImmutableString("texture(0S2B").mangledNameHash());
ASSERT_EQ(0x0e64854cu, ImmutableString("texture(0X2B").mangledNameHash()); ASSERT_EQ(0x0e64854cu, ImmutableString("texture(0X2B").mangledNameHash());
ASSERT_EQ(0x0e6470f1u, ImmutableString("texture(0J2B").mangledNameHash());
ASSERT_EQ(0x0e60445cu, ImmutableString("texture(0S2B").mangledNameHash());
ASSERT_EQ(0x0e67dce5u, ImmutableString("texture(0Y2B").mangledNameHash());
ASSERT_EQ(0x0e61222eu, ImmutableString("texture(0K2B").mangledNameHash());
ASSERT_EQ(0x0e62790eu, ImmutableString("texture(0T2B").mangledNameHash());
ASSERT_EQ(0x0e61e49du, ImmutableString("texture(0Z2B").mangledNameHash());
ASSERT_EQ(0x168178c7u, ImmutableString("textureProj(0H2B").mangledNameHash()); ASSERT_EQ(0x168178c7u, ImmutableString("textureProj(0H2B").mangledNameHash());
ASSERT_EQ(0x1681a77du, ImmutableString("textureProj(0P2B").mangledNameHash()); ASSERT_EQ(0x1685011eu, ImmutableString("textureProj(0Q2B").mangledNameHash());
ASSERT_EQ(0x168705d2u, ImmutableString("textureProj(0U2B").mangledNameHash()); ASSERT_EQ(0x1687d107u, ImmutableString("textureProj(0W2B").mangledNameHash());
ASSERT_EQ(0x16840064u, ImmutableString("textureProj(0H3B").mangledNameHash()); ASSERT_EQ(0x16840064u, ImmutableString("textureProj(0H3B").mangledNameHash());
ASSERT_EQ(0x16807544u, ImmutableString("textureProj(0P3B").mangledNameHash());
ASSERT_EQ(0x168021fbu, ImmutableString("textureProj(0U3B").mangledNameHash());
ASSERT_EQ(0x1685ca01u, ImmutableString("textureProj(0I3B").mangledNameHash());
ASSERT_EQ(0x16860d28u, ImmutableString("textureProj(0Q3B").mangledNameHash()); ASSERT_EQ(0x16860d28u, ImmutableString("textureProj(0Q3B").mangledNameHash());
ASSERT_EQ(0x1681e38fu, ImmutableString("textureProj(0V3B").mangledNameHash()); ASSERT_EQ(0x16812eeeu, ImmutableString("textureProj(0W3B").mangledNameHash());
ASSERT_EQ(0x1685ca01u, ImmutableString("textureProj(0I3B").mangledNameHash());
ASSERT_EQ(0x1687c54du, ImmutableString("textureProj(0R3B").mangledNameHash());
ASSERT_EQ(0x1682b6c4u, ImmutableString("textureProj(0X3B").mangledNameHash());
ASSERT_EQ(0x148b33b6u, ImmutableString("textureLod(0H1B0B").mangledNameHash()); ASSERT_EQ(0x148b33b6u, ImmutableString("textureLod(0H1B0B").mangledNameHash());
ASSERT_EQ(0x148fde6au, ImmutableString("textureLod(0P1B0B").mangledNameHash()); ASSERT_EQ(0x148fa8bbu, ImmutableString("textureLod(0Q1B0B").mangledNameHash());
ASSERT_EQ(0x148f7fe8u, ImmutableString("textureLod(0U1B0B").mangledNameHash()); ASSERT_EQ(0x1488a5bfu, ImmutableString("textureLod(0W1B0B").mangledNameHash());
ASSERT_EQ(0x148d335cu, ImmutableString("textureLod(0I2B0B").mangledNameHash()); ASSERT_EQ(0x148d335cu, ImmutableString("textureLod(0I2B0B").mangledNameHash());
ASSERT_EQ(0x14888557u, ImmutableString("textureLod(0Q2B0B").mangledNameHash());
ASSERT_EQ(0x148999efu, ImmutableString("textureLod(0V2B0B").mangledNameHash());
ASSERT_EQ(0x148b00dbu, ImmutableString("textureLod(0J2B0B").mangledNameHash());
ASSERT_EQ(0x148cccafu, ImmutableString("textureLod(0R2B0B").mangledNameHash()); ASSERT_EQ(0x148cccafu, ImmutableString("textureLod(0R2B0B").mangledNameHash());
ASSERT_EQ(0x148d3512u, ImmutableString("textureLod(0W2B0B").mangledNameHash());
ASSERT_EQ(0x148ed87fu, ImmutableString("textureLod(0K2B0B").mangledNameHash());
ASSERT_EQ(0x148a66beu, ImmutableString("textureLod(0S2B0B").mangledNameHash());
ASSERT_EQ(0x14882ba7u, ImmutableString("textureLod(0X2B0B").mangledNameHash()); ASSERT_EQ(0x14882ba7u, ImmutableString("textureLod(0X2B0B").mangledNameHash());
ASSERT_EQ(0x0e61e49du, ImmutableString("texture(0Z2B").mangledNameHash()); ASSERT_EQ(0x148b00dbu, ImmutableString("textureLod(0J2B0B").mangledNameHash());
ASSERT_EQ(0x0e660d38u, ImmutableString("texture(0a3B").mangledNameHash()); ASSERT_EQ(0x148a66beu, ImmutableString("textureLod(0S2B0B").mangledNameHash());
ASSERT_EQ(0x0e644545u, ImmutableString("texture(0b3B").mangledNameHash()); ASSERT_EQ(0x148e44d3u, ImmutableString("textureLod(0Y2B0B").mangledNameHash());
ASSERT_EQ(0x16842f7du, ImmutableString("textureProj(0Z3B").mangledNameHash()); ASSERT_EQ(0x148ed87fu, ImmutableString("textureLod(0K2B0B").mangledNameHash());
ASSERT_EQ(0x1489e510u, ImmutableString("textureLod(0T2B0B").mangledNameHash());
ASSERT_EQ(0x148fe911u, ImmutableString("textureLod(0Z2B0B").mangledNameHash()); ASSERT_EQ(0x148fe911u, ImmutableString("textureLod(0Z2B0B").mangledNameHash());
ASSERT_EQ(0x0e600d82u, ImmutableString("texture(0c2B").mangledNameHash());
ASSERT_EQ(0x0e67665bu, ImmutableString("texture(0d3B").mangledNameHash());
ASSERT_EQ(0x0e6044aeu, ImmutableString("texture(0e3B").mangledNameHash());
ASSERT_EQ(0x16875a59u, ImmutableString("textureProj(0c3B").mangledNameHash());
ASSERT_EQ(0x148a95e7u, ImmutableString("textureLod(0c2B0B").mangledNameHash());
ASSERT_EQ(0x168434eeu, ImmutableString("textureSize(0H0C").mangledNameHash()); ASSERT_EQ(0x168434eeu, ImmutableString("textureSize(0H0C").mangledNameHash());
ASSERT_EQ(0x16866f5du, ImmutableString("textureSize(0P0C").mangledNameHash());
ASSERT_EQ(0x1680a979u, ImmutableString("textureSize(0U0C").mangledNameHash());
ASSERT_EQ(0x16803d05u, ImmutableString("textureSize(0I0C").mangledNameHash());
ASSERT_EQ(0x16869d00u, ImmutableString("textureSize(0Q0C").mangledNameHash()); ASSERT_EQ(0x16869d00u, ImmutableString("textureSize(0Q0C").mangledNameHash());
ASSERT_EQ(0x168255e2u, ImmutableString("textureSize(0V0C").mangledNameHash());
ASSERT_EQ(0x1681f153u, ImmutableString("textureSize(0J0C").mangledNameHash());
ASSERT_EQ(0x16863c73u, ImmutableString("textureSize(0R0C").mangledNameHash());
ASSERT_EQ(0x16846c6cu, ImmutableString("textureSize(0W0C").mangledNameHash()); ASSERT_EQ(0x16846c6cu, ImmutableString("textureSize(0W0C").mangledNameHash());
ASSERT_EQ(0x16861104u, ImmutableString("textureSize(0K0C").mangledNameHash()); ASSERT_EQ(0x16803d05u, ImmutableString("textureSize(0I0C").mangledNameHash());
ASSERT_EQ(0x168245a4u, ImmutableString("textureSize(0S0C").mangledNameHash()); ASSERT_EQ(0x16863c73u, ImmutableString("textureSize(0R0C").mangledNameHash());
ASSERT_EQ(0x1686a82au, ImmutableString("textureSize(0X0C").mangledNameHash()); ASSERT_EQ(0x1686a82au, ImmutableString("textureSize(0X0C").mangledNameHash());
ASSERT_EQ(0x1681f153u, ImmutableString("textureSize(0J0C").mangledNameHash());
ASSERT_EQ(0x168245a4u, ImmutableString("textureSize(0S0C").mangledNameHash());
ASSERT_EQ(0x1682d660u, ImmutableString("textureSize(0Y0C").mangledNameHash());
ASSERT_EQ(0x16861104u, ImmutableString("textureSize(0K0C").mangledNameHash());
ASSERT_EQ(0x168093aau, ImmutableString("textureSize(0T0C").mangledNameHash());
ASSERT_EQ(0x16849618u, ImmutableString("textureSize(0Z0C").mangledNameHash()); ASSERT_EQ(0x16849618u, ImmutableString("textureSize(0Z0C").mangledNameHash());
ASSERT_EQ(0x1686d6ddu, ImmutableString("textureSize(0a0C").mangledNameHash()); ASSERT_EQ(0x1686aa87u, ImmutableString("textureSize(0c0C").mangledNameHash());
ASSERT_EQ(0x16829c77u, ImmutableString("textureSize(0b0C").mangledNameHash()); ASSERT_EQ(0x1684f1b3u, ImmutableString("textureSize(0d0C").mangledNameHash());
ASSERT_EQ(0x1673f496u, ImmutableString("textureSize(0O").mangledNameHash()); ASSERT_EQ(0x168115fbu, ImmutableString("textureSize(0e0C").mangledNameHash());
ASSERT_EQ(0x1673936bu, ImmutableString("textureSize(0T").mangledNameHash());
ASSERT_EQ(0x1673728cu, ImmutableString("textureSize(0Y").mangledNameHash());
ASSERT_EQ(0x1caa108bu, ImmutableString("textureProjLod(0H2B0B").mangledNameHash()); ASSERT_EQ(0x1caa108bu, ImmutableString("textureProjLod(0H2B0B").mangledNameHash());
ASSERT_EQ(0x1ca8adb6u, ImmutableString("textureProjLod(0P2B0B").mangledNameHash()); ASSERT_EQ(0x1caa957cu, ImmutableString("textureProjLod(0Q2B0B").mangledNameHash());
ASSERT_EQ(0x1cabc05fu, ImmutableString("textureProjLod(0U2B0B").mangledNameHash()); ASSERT_EQ(0x1ca9ff27u, ImmutableString("textureProjLod(0W2B0B").mangledNameHash());
ASSERT_EQ(0x1ca8c89au, ImmutableString("textureProjLod(0H3B0B").mangledNameHash()); ASSERT_EQ(0x1ca8c89au, ImmutableString("textureProjLod(0H3B0B").mangledNameHash());
ASSERT_EQ(0x1cadd758u, ImmutableString("textureProjLod(0P3B0B").mangledNameHash());
ASSERT_EQ(0x1cab218fu, ImmutableString("textureProjLod(0U3B0B").mangledNameHash());
ASSERT_EQ(0x1caf96afu, ImmutableString("textureProjLod(0I3B0B").mangledNameHash());
ASSERT_EQ(0x1ca85d55u, ImmutableString("textureProjLod(0Q3B0B").mangledNameHash()); ASSERT_EQ(0x1ca85d55u, ImmutableString("textureProjLod(0Q3B0B").mangledNameHash());
ASSERT_EQ(0x1cad9ae9u, ImmutableString("textureProjLod(0V3B0B").mangledNameHash()); ASSERT_EQ(0x1cab3a35u, ImmutableString("textureProjLod(0W3B0B").mangledNameHash());
ASSERT_EQ(0x1caef3bcu, ImmutableString("textureProjLod(0Z3B0B").mangledNameHash()); ASSERT_EQ(0x1caf96afu, ImmutableString("textureProjLod(0I3B0B").mangledNameHash());
ASSERT_EQ(0x1cae6ef8u, ImmutableString("textureProjLod(0R3B0B").mangledNameHash());
ASSERT_EQ(0x1cadb5feu, ImmutableString("textureProjLod(0X3B0B").mangledNameHash());
ASSERT_EQ(0x1ca81af6u, ImmutableString("textureProjLod(0c3B0B").mangledNameHash());
ASSERT_EQ(0x148fd5b6u, ImmutableString("texelFetch(0H1C0C").mangledNameHash()); ASSERT_EQ(0x148fd5b6u, ImmutableString("texelFetch(0H1C0C").mangledNameHash());
ASSERT_EQ(0x14894128u, ImmutableString("texelFetch(0P1C0C").mangledNameHash()); ASSERT_EQ(0x148e5d86u, ImmutableString("texelFetch(0Q1C0C").mangledNameHash());
ASSERT_EQ(0x148ed16fu, ImmutableString("texelFetch(0U1C0C").mangledNameHash()); ASSERT_EQ(0x148e6d96u, ImmutableString("texelFetch(0W1C0C").mangledNameHash());
ASSERT_EQ(0x148bab65u, ImmutableString("texelFetch(0I2C0C").mangledNameHash()); ASSERT_EQ(0x148bab65u, ImmutableString("texelFetch(0I2C0C").mangledNameHash());
ASSERT_EQ(0x1488b1e8u, ImmutableString("texelFetch(0Q2C0C").mangledNameHash()); ASSERT_EQ(0x14885983u, ImmutableString("texelFetch(0R2C0C").mangledNameHash());
ASSERT_EQ(0x14880e11u, ImmutableString("texelFetch(0V2C0C").mangledNameHash());
ASSERT_EQ(0x148d0a7bu, ImmutableString("texelFetch(0K2C0C").mangledNameHash());
ASSERT_EQ(0x148a2382u, ImmutableString("texelFetch(0S2C0C").mangledNameHash());
ASSERT_EQ(0x148e100eu, ImmutableString("texelFetch(0X2C0C").mangledNameHash()); ASSERT_EQ(0x148e100eu, ImmutableString("texelFetch(0X2C0C").mangledNameHash());
ASSERT_EQ(0x148d0a7bu, ImmutableString("texelFetch(0K2C0C").mangledNameHash());
ASSERT_EQ(0x148fb13cu, ImmutableString("texelFetch(0T2C0C").mangledNameHash());
ASSERT_EQ(0x14885e67u, ImmutableString("texelFetch(0Z2C0C").mangledNameHash());
ASSERT_EQ(0x16a19c8du, ImmutableString("textureGrad(0H1B1B1B").mangledNameHash()); ASSERT_EQ(0x16a19c8du, ImmutableString("textureGrad(0H1B1B1B").mangledNameHash());
ASSERT_EQ(0x16a47be7u, ImmutableString("textureGrad(0P1B1B1B").mangledNameHash()); ASSERT_EQ(0x16a2ff3du, ImmutableString("textureGrad(0Q1B1B1B").mangledNameHash());
ASSERT_EQ(0x16a735dau, ImmutableString("textureGrad(0U1B1B1B").mangledNameHash()); ASSERT_EQ(0x16a4a66cu, ImmutableString("textureGrad(0W1B1B1B").mangledNameHash());
ASSERT_EQ(0x16a00e04u, ImmutableString("textureGrad(0I2B2B2B").mangledNameHash()); ASSERT_EQ(0x16a00e04u, ImmutableString("textureGrad(0I2B2B2B").mangledNameHash());
ASSERT_EQ(0x16a19158u, ImmutableString("textureGrad(0Q2B2B2B").mangledNameHash());
ASSERT_EQ(0x16a7e88eu, ImmutableString("textureGrad(0V2B2B2B").mangledNameHash());
ASSERT_EQ(0x16a1ec87u, ImmutableString("textureGrad(0J2B2B2B").mangledNameHash());
ASSERT_EQ(0x16a34692u, ImmutableString("textureGrad(0R2B2B2B").mangledNameHash()); ASSERT_EQ(0x16a34692u, ImmutableString("textureGrad(0R2B2B2B").mangledNameHash());
ASSERT_EQ(0x16a11436u, ImmutableString("textureGrad(0W2B2B2B").mangledNameHash()); ASSERT_EQ(0x16a04ad9u, ImmutableString("textureGrad(0X2B2B2B").mangledNameHash());
ASSERT_EQ(0x16a6a742u, ImmutableString("textureGrad(0Z2B1B1B").mangledNameHash()); ASSERT_EQ(0x16a1ec87u, ImmutableString("textureGrad(0J2B2B2B").mangledNameHash());
ASSERT_EQ(0x16a149ecu, ImmutableString("textureGrad(0a3B2B2B").mangledNameHash()); ASSERT_EQ(0x16a68a81u, ImmutableString("textureGrad(0S2B2B2B").mangledNameHash());
ASSERT_EQ(0x16a3b8f6u, ImmutableString("textureGrad(0Y2B2B2B").mangledNameHash());
ASSERT_EQ(0x16a3a842u, ImmutableString("textureGrad(0c2B1B1B").mangledNameHash());
ASSERT_EQ(0x16a4e27cu, ImmutableString("textureGrad(0d3B2B2B").mangledNameHash());
ASSERT_EQ(0x16a71104u, ImmutableString("textureGrad(0K2B1B1B").mangledNameHash()); ASSERT_EQ(0x16a71104u, ImmutableString("textureGrad(0K2B1B1B").mangledNameHash());
ASSERT_EQ(0x16a57654u, ImmutableString("textureGrad(0S2B1B1B").mangledNameHash()); ASSERT_EQ(0x16a66883u, ImmutableString("textureGrad(0T2B1B1B").mangledNameHash());
ASSERT_EQ(0x16a22779u, ImmutableString("textureGrad(0X2B1B1B").mangledNameHash()); ASSERT_EQ(0x16a6a742u, ImmutableString("textureGrad(0Z2B1B1B").mangledNameHash());
ASSERT_EQ(0x16a53465u, ImmutableString("textureGrad(0b3B1B1B").mangledNameHash()); ASSERT_EQ(0x16a1478fu, ImmutableString("textureGrad(0e3B1B1B").mangledNameHash());
ASSERT_EQ(0x1ec5ab9du, ImmutableString("textureProjGrad(0H2B1B1B").mangledNameHash()); ASSERT_EQ(0x1ec5ab9du, ImmutableString("textureProjGrad(0H2B1B1B").mangledNameHash());
ASSERT_EQ(0x1ec374bcu, ImmutableString("textureProjGrad(0P2B1B1B").mangledNameHash()); ASSERT_EQ(0x1ec1a98bu, ImmutableString("textureProjGrad(0Q2B1B1B").mangledNameHash());
ASSERT_EQ(0x1ec71f74u, ImmutableString("textureProjGrad(0U2B1B1B").mangledNameHash()); ASSERT_EQ(0x1ec25826u, ImmutableString("textureProjGrad(0W2B1B1B").mangledNameHash());
ASSERT_EQ(0x1ec323fdu, ImmutableString("textureProjGrad(0H3B1B1B").mangledNameHash()); ASSERT_EQ(0x1ec323fdu, ImmutableString("textureProjGrad(0H3B1B1B").mangledNameHash());
ASSERT_EQ(0x1ec50275u, ImmutableString("textureProjGrad(0P3B1B1B").mangledNameHash()); ASSERT_EQ(0x1ec5fc9fu, ImmutableString("textureProjGrad(0Q3B1B1B").mangledNameHash());
ASSERT_EQ(0x1ec4aa1fu, ImmutableString("textureProjGrad(0U3B1B1B").mangledNameHash()); ASSERT_EQ(0x1ec67b05u, ImmutableString("textureProjGrad(0W3B1B1B").mangledNameHash());
ASSERT_EQ(0x1ec3ee61u, ImmutableString("textureProjGrad(0I3B2B2B").mangledNameHash()); ASSERT_EQ(0x1ec3ee61u, ImmutableString("textureProjGrad(0I3B2B2B").mangledNameHash());
ASSERT_EQ(0x1ec1ecc3u, ImmutableString("textureProjGrad(0Q3B2B2B").mangledNameHash()); ASSERT_EQ(0x1ec578cfu, ImmutableString("textureProjGrad(0R3B2B2B").mangledNameHash());
ASSERT_EQ(0x1ec19613u, ImmutableString("textureProjGrad(0V3B2B2B").mangledNameHash()); ASSERT_EQ(0x1ec2304bu, ImmutableString("textureProjGrad(0X3B2B2B").mangledNameHash());
ASSERT_EQ(0x1ec64714u, ImmutableString("textureProjGrad(0Z3B1B1B").mangledNameHash()); ASSERT_EQ(0x1ec719d1u, ImmutableString("textureProjGrad(0c3B1B1B").mangledNameHash());
ASSERT_EQ(0x1673f496u, ImmutableString("textureSize(0O").mangledNameHash());
ASSERT_EQ(0x167394d8u, ImmutableString("textureSize(0U").mangledNameHash());
ASSERT_EQ(0x16752ab6u, ImmutableString("textureSize(0a").mangledNameHash());
ASSERT_EQ(0x1673b4b7u, ImmutableString("textureSize(0P").mangledNameHash());
ASSERT_EQ(0x1673a791u, ImmutableString("textureSize(0V").mangledNameHash());
ASSERT_EQ(0x1675566fu, ImmutableString("textureSize(0b").mangledNameHash());
ASSERT_EQ(0x1aa11785u, ImmutableString("textureOffset(0H1B1C").mangledNameHash()); ASSERT_EQ(0x1aa11785u, ImmutableString("textureOffset(0H1B1C").mangledNameHash());
ASSERT_EQ(0x1aa0931au, ImmutableString("textureOffset(0P1B1C").mangledNameHash()); ASSERT_EQ(0x1aa01270u, ImmutableString("textureOffset(0Q1B1C").mangledNameHash());
ASSERT_EQ(0x1aa1c620u, ImmutableString("textureOffset(0U1B1C").mangledNameHash()); ASSERT_EQ(0x1aa541b7u, ImmutableString("textureOffset(0W1B1C").mangledNameHash());
ASSERT_EQ(0x1aa64995u, ImmutableString("textureOffset(0I2B2C").mangledNameHash()); ASSERT_EQ(0x1aa64995u, ImmutableString("textureOffset(0I2B2C").mangledNameHash());
ASSERT_EQ(0x1aa3c02eu, ImmutableString("textureOffset(0Q2B2C").mangledNameHash()); ASSERT_EQ(0x1aa7a781u, ImmutableString("textureOffset(0R2B2C").mangledNameHash());
ASSERT_EQ(0x1aa08a7au, ImmutableString("textureOffset(0V2B2C").mangledNameHash()); ASSERT_EQ(0x1aa31637u, ImmutableString("textureOffset(0X2B2C").mangledNameHash());
ASSERT_EQ(0x1aa385c2u, ImmutableString("textureOffset(0Z2B1C").mangledNameHash()); ASSERT_EQ(0x1aa05156u, ImmutableString("textureOffset(0c2B1C").mangledNameHash());
ASSERT_EQ(0x1aa41f4au, ImmutableString("textureOffset(0K2B1C").mangledNameHash()); ASSERT_EQ(0x1aa41f4au, ImmutableString("textureOffset(0K2B1C").mangledNameHash());
ASSERT_EQ(0x1aa2cd54u, ImmutableString("textureOffset(0S2B1C").mangledNameHash()); ASSERT_EQ(0x1aa26095u, ImmutableString("textureOffset(0T2B1C").mangledNameHash());
ASSERT_EQ(0x1aa39cdeu, ImmutableString("textureOffset(0X2B1C").mangledNameHash()); ASSERT_EQ(0x1aa385c2u, ImmutableString("textureOffset(0Z2B1C").mangledNameHash());
ASSERT_EQ(0x22c0a359u, ImmutableString("textureProjOffset(0H2B1C").mangledNameHash()); ASSERT_EQ(0x22c0a359u, ImmutableString("textureProjOffset(0H2B1C").mangledNameHash());
ASSERT_EQ(0x22c4cdaau, ImmutableString("textureProjOffset(0P2B1C").mangledNameHash()); ASSERT_EQ(0x22c29005u, ImmutableString("textureProjOffset(0Q2B1C").mangledNameHash());
ASSERT_EQ(0x22c02df1u, ImmutableString("textureProjOffset(0U2B1C").mangledNameHash()); ASSERT_EQ(0x22c03489u, ImmutableString("textureProjOffset(0W2B1C").mangledNameHash());
ASSERT_EQ(0x22c2da46u, ImmutableString("textureProjOffset(0H3B1C").mangledNameHash()); ASSERT_EQ(0x22c2da46u, ImmutableString("textureProjOffset(0H3B1C").mangledNameHash());
ASSERT_EQ(0x22c6f82eu, ImmutableString("textureProjOffset(0P3B1C").mangledNameHash()); ASSERT_EQ(0x22c246a2u, ImmutableString("textureProjOffset(0Q3B1C").mangledNameHash());
ASSERT_EQ(0x22c0015bu, ImmutableString("textureProjOffset(0U3B1C").mangledNameHash()); ASSERT_EQ(0x22c3e359u, ImmutableString("textureProjOffset(0W3B1C").mangledNameHash());
ASSERT_EQ(0x22c458dcu, ImmutableString("textureProjOffset(0I3B2C").mangledNameHash()); ASSERT_EQ(0x22c458dcu, ImmutableString("textureProjOffset(0I3B2C").mangledNameHash());
ASSERT_EQ(0x22c2db53u, ImmutableString("textureProjOffset(0Q3B2C").mangledNameHash()); ASSERT_EQ(0x22c43880u, ImmutableString("textureProjOffset(0R3B2C").mangledNameHash());
ASSERT_EQ(0x22c528fau, ImmutableString("textureProjOffset(0V3B2C").mangledNameHash()); ASSERT_EQ(0x22c47909u, ImmutableString("textureProjOffset(0X3B2C").mangledNameHash());
ASSERT_EQ(0x22c5ec11u, ImmutableString("textureProjOffset(0Z3B1C").mangledNameHash()); ASSERT_EQ(0x22c19992u, ImmutableString("textureProjOffset(0c3B1C").mangledNameHash());
ASSERT_EQ(0x20cc9477u, ImmutableString("textureLodOffset(0H1B0B1C").mangledNameHash()); ASSERT_EQ(0x20cc9477u, ImmutableString("textureLodOffset(0H1B0B1C").mangledNameHash());
ASSERT_EQ(0x20cbd512u, ImmutableString("textureLodOffset(0P1B0B1C").mangledNameHash()); ASSERT_EQ(0x20ccf3edu, ImmutableString("textureLodOffset(0Q1B0B1C").mangledNameHash());
ASSERT_EQ(0x20cfb2d5u, ImmutableString("textureLodOffset(0U1B0B1C").mangledNameHash()); ASSERT_EQ(0x20cdc61au, ImmutableString("textureLodOffset(0W1B0B1C").mangledNameHash());
ASSERT_EQ(0x20cde748u, ImmutableString("textureLodOffset(0I2B0B2C").mangledNameHash()); ASSERT_EQ(0x20cde748u, ImmutableString("textureLodOffset(0I2B0B2C").mangledNameHash());
ASSERT_EQ(0x20cc8384u, ImmutableString("textureLodOffset(0Q2B0B2C").mangledNameHash()); ASSERT_EQ(0x20ceb3dau, ImmutableString("textureLodOffset(0R2B0B2C").mangledNameHash());
ASSERT_EQ(0x20ca735fu, ImmutableString("textureLodOffset(0V2B0B2C").mangledNameHash()); ASSERT_EQ(0x20cde370u, ImmutableString("textureLodOffset(0X2B0B2C").mangledNameHash());
ASSERT_EQ(0x20ca4914u, ImmutableString("textureLodOffset(0Z2B0B1C").mangledNameHash()); ASSERT_EQ(0x20c9733bu, ImmutableString("textureLodOffset(0c2B0B1C").mangledNameHash());
ASSERT_EQ(0x20cd0de3u, ImmutableString("textureLodOffset(0K2B0B1C").mangledNameHash()); ASSERT_EQ(0x20cd0de3u, ImmutableString("textureLodOffset(0K2B0B1C").mangledNameHash());
ASSERT_EQ(0x20caddbdu, ImmutableString("textureLodOffset(0S2B0B1C").mangledNameHash()); ASSERT_EQ(0x20cd8d8du, ImmutableString("textureLodOffset(0T2B0B1C").mangledNameHash());
ASSERT_EQ(0x20c97fcau, ImmutableString("textureLodOffset(0X2B0B1C").mangledNameHash()); ASSERT_EQ(0x20ca4914u, ImmutableString("textureLodOffset(0Z2B0B1C").mangledNameHash());
ASSERT_EQ(0x28eab462u, ImmutableString("textureProjLodOffset(0H2B0B1C").mangledNameHash()); ASSERT_EQ(0x28eab462u, ImmutableString("textureProjLodOffset(0H2B0B1C").mangledNameHash());
ASSERT_EQ(0x28eeff16u, ImmutableString("textureProjLodOffset(0P2B0B1C").mangledNameHash()); ASSERT_EQ(0x28ef956cu, ImmutableString("textureProjLodOffset(0Q2B0B1C").mangledNameHash());
ASSERT_EQ(0x28ef67d8u, ImmutableString("textureProjLodOffset(0U2B0B1C").mangledNameHash()); ASSERT_EQ(0x28e9a246u, ImmutableString("textureProjLodOffset(0W2B0B1C").mangledNameHash());
ASSERT_EQ(0x28ebf99eu, ImmutableString("textureProjLodOffset(0H3B0B1C").mangledNameHash()); ASSERT_EQ(0x28ebf99eu, ImmutableString("textureProjLodOffset(0H3B0B1C").mangledNameHash());
ASSERT_EQ(0x28ed5e33u, ImmutableString("textureProjLodOffset(0P3B0B1C").mangledNameHash()); ASSERT_EQ(0x28ec29a7u, ImmutableString("textureProjLodOffset(0Q3B0B1C").mangledNameHash());
ASSERT_EQ(0x28efc97eu, ImmutableString("textureProjLodOffset(0U3B0B1C").mangledNameHash()); ASSERT_EQ(0x28e8b7d0u, ImmutableString("textureProjLodOffset(0W3B0B1C").mangledNameHash());
ASSERT_EQ(0x28eb8605u, ImmutableString("textureProjLodOffset(0I3B0B2C").mangledNameHash()); ASSERT_EQ(0x28eb8605u, ImmutableString("textureProjLodOffset(0I3B0B2C").mangledNameHash());
ASSERT_EQ(0x28eaec64u, ImmutableString("textureProjLodOffset(0Q3B0B2C").mangledNameHash()); ASSERT_EQ(0x28e91d51u, ImmutableString("textureProjLodOffset(0R3B0B2C").mangledNameHash());
ASSERT_EQ(0x28eb831cu, ImmutableString("textureProjLodOffset(0V3B0B2C").mangledNameHash()); ASSERT_EQ(0x28eecd92u, ImmutableString("textureProjLodOffset(0X3B0B2C").mangledNameHash());
ASSERT_EQ(0x28e8c0c1u, ImmutableString("textureProjLodOffset(0Z3B0B1C").mangledNameHash()); ASSERT_EQ(0x28efb13bu, ImmutableString("textureProjLodOffset(0c3B0B1C").mangledNameHash());
ASSERT_EQ(0x20cb3102u, ImmutableString("texelFetchOffset(0H1C0C1C").mangledNameHash()); ASSERT_EQ(0x20cb3102u, ImmutableString("texelFetchOffset(0H1C0C1C").mangledNameHash());
ASSERT_EQ(0x20c9c544u, ImmutableString("texelFetchOffset(0P1C0C1C").mangledNameHash()); ASSERT_EQ(0x20cc1a52u, ImmutableString("texelFetchOffset(0Q1C0C1C").mangledNameHash());
ASSERT_EQ(0x20cc7638u, ImmutableString("texelFetchOffset(0U1C0C1C").mangledNameHash()); ASSERT_EQ(0x20cbf8d9u, ImmutableString("texelFetchOffset(0W1C0C1C").mangledNameHash());
ASSERT_EQ(0x20c8fa96u, ImmutableString("texelFetchOffset(0I2C0C2C").mangledNameHash()); ASSERT_EQ(0x20c8fa96u, ImmutableString("texelFetchOffset(0I2C0C2C").mangledNameHash());
ASSERT_EQ(0x20cd911au, ImmutableString("texelFetchOffset(0Q2C0C2C").mangledNameHash()); ASSERT_EQ(0x20cbfefau, ImmutableString("texelFetchOffset(0R2C0C2C").mangledNameHash());
ASSERT_EQ(0x20ce3ec5u, ImmutableString("texelFetchOffset(0V2C0C2C").mangledNameHash()); ASSERT_EQ(0x20c9a178u, ImmutableString("texelFetchOffset(0X2C0C2C").mangledNameHash());
ASSERT_EQ(0x20cac068u, ImmutableString("texelFetchOffset(0K2C0C1C").mangledNameHash()); ASSERT_EQ(0x20cac068u, ImmutableString("texelFetchOffset(0K2C0C1C").mangledNameHash());
ASSERT_EQ(0x20c91b7du, ImmutableString("texelFetchOffset(0S2C0C1C").mangledNameHash()); ASSERT_EQ(0x20cfe609u, ImmutableString("texelFetchOffset(0T2C0C1C").mangledNameHash());
ASSERT_EQ(0x20c863e3u, ImmutableString("texelFetchOffset(0X2C0C1C").mangledNameHash()); ASSERT_EQ(0x20cb952du, ImmutableString("texelFetchOffset(0Z2C0C1C").mangledNameHash());
ASSERT_EQ(0x22e71012u, ImmutableString("textureGradOffset(0H1B1B1B1C").mangledNameHash()); ASSERT_EQ(0x22e71012u, ImmutableString("textureGradOffset(0H1B1B1B1C").mangledNameHash());
ASSERT_EQ(0x22e735f5u, ImmutableString("textureGradOffset(0P1B1B1B1C").mangledNameHash()); ASSERT_EQ(0x22e5c876u, ImmutableString("textureGradOffset(0Q1B1B1B1C").mangledNameHash());
ASSERT_EQ(0x22e059fdu, ImmutableString("textureGradOffset(0U1B1B1B1C").mangledNameHash()); ASSERT_EQ(0x22e0fe8cu, ImmutableString("textureGradOffset(0W1B1B1B1C").mangledNameHash());
ASSERT_EQ(0x22e3e9eau, ImmutableString("textureGradOffset(0I2B2B2B2C").mangledNameHash()); ASSERT_EQ(0x22e3e9eau, ImmutableString("textureGradOffset(0I2B2B2B2C").mangledNameHash());
ASSERT_EQ(0x22e57332u, ImmutableString("textureGradOffset(0Q2B2B2B2C").mangledNameHash()); ASSERT_EQ(0x22e5bb38u, ImmutableString("textureGradOffset(0R2B2B2B2C").mangledNameHash());
ASSERT_EQ(0x22e62421u, ImmutableString("textureGradOffset(0V2B2B2B2C").mangledNameHash()); ASSERT_EQ(0x22e61729u, ImmutableString("textureGradOffset(0X2B2B2B2C").mangledNameHash());
ASSERT_EQ(0x22e68293u, ImmutableString("textureGradOffset(0Z2B1B1B1C").mangledNameHash()); ASSERT_EQ(0x22e7429eu, ImmutableString("textureGradOffset(0c2B1B1B1C").mangledNameHash());
ASSERT_EQ(0x22e165b8u, ImmutableString("textureGradOffset(0K2B1B1B1C").mangledNameHash()); ASSERT_EQ(0x22e165b8u, ImmutableString("textureGradOffset(0K2B1B1B1C").mangledNameHash());
ASSERT_EQ(0x22e54911u, ImmutableString("textureGradOffset(0S2B1B1B1C").mangledNameHash()); ASSERT_EQ(0x22e28d80u, ImmutableString("textureGradOffset(0T2B1B1B1C").mangledNameHash());
ASSERT_EQ(0x22e23b04u, ImmutableString("textureGradOffset(0X2B1B1B1C").mangledNameHash()); ASSERT_EQ(0x22e68293u, ImmutableString("textureGradOffset(0Z2B1B1B1C").mangledNameHash());
ASSERT_EQ(0x22e2defdu, ImmutableString("textureGradOffset(0b3B1B1B1C").mangledNameHash()); ASSERT_EQ(0x22e3ab1cu, ImmutableString("textureGradOffset(0e3B1B1B1C").mangledNameHash());
ASSERT_EQ(0x2b077535u, ImmutableString("textureProjGradOffset(0H2B1B1B1C").mangledNameHash()); ASSERT_EQ(0x2b077535u, ImmutableString("textureProjGradOffset(0H2B1B1B1C").mangledNameHash());
ASSERT_EQ(0x2b02308fu, ImmutableString("textureProjGradOffset(0P2B1B1B1C").mangledNameHash()); ASSERT_EQ(0x2b03ccf9u, ImmutableString("textureProjGradOffset(0Q2B1B1B1C").mangledNameHash());
ASSERT_EQ(0x2b04ab94u, ImmutableString("textureProjGradOffset(0U2B1B1B1C").mangledNameHash()); ASSERT_EQ(0x2b03db51u, ImmutableString("textureProjGradOffset(0W2B1B1B1C").mangledNameHash());
ASSERT_EQ(0x2b022418u, ImmutableString("textureProjGradOffset(0H3B1B1B1C").mangledNameHash()); ASSERT_EQ(0x2b022418u, ImmutableString("textureProjGradOffset(0H3B1B1B1C").mangledNameHash());
ASSERT_EQ(0x2b06523eu, ImmutableString("textureProjGradOffset(0P3B1B1B1C").mangledNameHash()); ASSERT_EQ(0x2b06f874u, ImmutableString("textureProjGradOffset(0Q3B1B1B1C").mangledNameHash());
ASSERT_EQ(0x2b00a086u, ImmutableString("textureProjGradOffset(0U3B1B1B1C").mangledNameHash()); ASSERT_EQ(0x2b07f768u, ImmutableString("textureProjGradOffset(0W3B1B1B1C").mangledNameHash());
ASSERT_EQ(0x2b02af8fu, ImmutableString("textureProjGradOffset(0I3B2B2B2C").mangledNameHash()); ASSERT_EQ(0x2b02af8fu, ImmutableString("textureProjGradOffset(0I3B2B2B2C").mangledNameHash());
ASSERT_EQ(0x2b045d17u, ImmutableString("textureProjGradOffset(0Q3B2B2B2C").mangledNameHash()); ASSERT_EQ(0x2b047dfau, ImmutableString("textureProjGradOffset(0R3B2B2B2C").mangledNameHash());
ASSERT_EQ(0x2b00d555u, ImmutableString("textureProjGradOffset(0V3B2B2B2C").mangledNameHash()); ASSERT_EQ(0x2b0252ccu, ImmutableString("textureProjGradOffset(0X3B2B2B2C").mangledNameHash());
ASSERT_EQ(0x2b0472aau, ImmutableString("textureProjGradOffset(0Z3B1B1B1C").mangledNameHash()); ASSERT_EQ(0x2b00aacdu, ImmutableString("textureProjGradOffset(0c3B1B1B1C").mangledNameHash());
ASSERT_EQ(0x1ab57bbcu, ImmutableString("textureOffset(0H1B1C0B").mangledNameHash()); ASSERT_EQ(0x1ab57bbcu, ImmutableString("textureOffset(0H1B1C0B").mangledNameHash());
ASSERT_EQ(0x1ab6ec2cu, ImmutableString("textureOffset(0P1B1C0B").mangledNameHash()); ASSERT_EQ(0x1ab55c9du, ImmutableString("textureOffset(0Q1B1C0B").mangledNameHash());
ASSERT_EQ(0x1ab2a609u, ImmutableString("textureOffset(0U1B1C0B").mangledNameHash()); ASSERT_EQ(0x1ab5d795u, ImmutableString("textureOffset(0W1B1C0B").mangledNameHash());
ASSERT_EQ(0x1ab59b6cu, ImmutableString("textureOffset(0I2B2C0B").mangledNameHash()); ASSERT_EQ(0x1ab59b6cu, ImmutableString("textureOffset(0I2B2C0B").mangledNameHash());
ASSERT_EQ(0x1ab09555u, ImmutableString("textureOffset(0Q2B2C0B").mangledNameHash()); ASSERT_EQ(0x1ab63f72u, ImmutableString("textureOffset(0R2B2C0B").mangledNameHash());
ASSERT_EQ(0x1ab0d39du, ImmutableString("textureOffset(0V2B2C0B").mangledNameHash()); ASSERT_EQ(0x1ab0a952u, ImmutableString("textureOffset(0X2B2C0B").mangledNameHash());
ASSERT_EQ(0x1ab29724u, ImmutableString("textureOffset(0Z2B1C0B").mangledNameHash()); ASSERT_EQ(0x1ab7e533u, ImmutableString("textureOffset(0c2B1C0B").mangledNameHash());
ASSERT_EQ(0x1ab63ddau, ImmutableString("textureOffset(0K2B1C0B").mangledNameHash()); ASSERT_EQ(0x1ab63ddau, ImmutableString("textureOffset(0K2B1C0B").mangledNameHash());
ASSERT_EQ(0x1ab6f64bu, ImmutableString("textureOffset(0S2B1C0B").mangledNameHash()); ASSERT_EQ(0x1ab5753fu, ImmutableString("textureOffset(0T2B1C0B").mangledNameHash());
ASSERT_EQ(0x1ab1990bu, ImmutableString("textureOffset(0X2B1C0B").mangledNameHash()); ASSERT_EQ(0x1ab29724u, ImmutableString("textureOffset(0Z2B1C0B").mangledNameHash());
ASSERT_EQ(0x22d6ee53u, ImmutableString("textureProjOffset(0H2B1C0B").mangledNameHash()); ASSERT_EQ(0x22d6ee53u, ImmutableString("textureProjOffset(0H2B1C0B").mangledNameHash());
ASSERT_EQ(0x22d76183u, ImmutableString("textureProjOffset(0P2B1C0B").mangledNameHash()); ASSERT_EQ(0x22d60e91u, ImmutableString("textureProjOffset(0Q2B1C0B").mangledNameHash());
ASSERT_EQ(0x22d65c37u, ImmutableString("textureProjOffset(0U2B1C0B").mangledNameHash()); ASSERT_EQ(0x22d1425bu, ImmutableString("textureProjOffset(0W2B1C0B").mangledNameHash());
ASSERT_EQ(0x22d62e81u, ImmutableString("textureProjOffset(0H3B1C0B").mangledNameHash()); ASSERT_EQ(0x22d62e81u, ImmutableString("textureProjOffset(0H3B1C0B").mangledNameHash());
ASSERT_EQ(0x22d3c514u, ImmutableString("textureProjOffset(0P3B1C0B").mangledNameHash()); ASSERT_EQ(0x22d11d67u, ImmutableString("textureProjOffset(0Q3B1C0B").mangledNameHash());
ASSERT_EQ(0x22d2de73u, ImmutableString("textureProjOffset(0U3B1C0B").mangledNameHash()); ASSERT_EQ(0x22d17100u, ImmutableString("textureProjOffset(0W3B1C0B").mangledNameHash());
ASSERT_EQ(0x22d6b2e8u, ImmutableString("textureProjOffset(0I3B2C0B").mangledNameHash()); ASSERT_EQ(0x22d6b2e8u, ImmutableString("textureProjOffset(0I3B2C0B").mangledNameHash());
ASSERT_EQ(0x22d3ece3u, ImmutableString("textureProjOffset(0Q3B2C0B").mangledNameHash()); ASSERT_EQ(0x22d6074cu, ImmutableString("textureProjOffset(0R3B2C0B").mangledNameHash());
ASSERT_EQ(0x22d09aefu, ImmutableString("textureProjOffset(0V3B2C0B").mangledNameHash()); ASSERT_EQ(0x22d60cd3u, ImmutableString("textureProjOffset(0X3B2C0B").mangledNameHash());
ASSERT_EQ(0x22d59e0cu, ImmutableString("textureProjOffset(0Z3B1C0B").mangledNameHash()); ASSERT_EQ(0x22d1ca54u, ImmutableString("textureProjOffset(0c3B1C0B").mangledNameHash());
ASSERT_EQ(0x0e661665u, ImmutableString("texture(0L1B").mangledNameHash()); ASSERT_EQ(0x0e661665u, ImmutableString("texture(0L1B").mangledNameHash());
ASSERT_EQ(0x16838d15u, ImmutableString("textureProj(0L2B").mangledNameHash()); ASSERT_EQ(0x16838d15u, ImmutableString("textureProj(0L2B").mangledNameHash());
ASSERT_EQ(0x16865716u, ImmutableString("textureProj(0L3B").mangledNameHash()); ASSERT_EQ(0x16865716u, ImmutableString("textureProj(0L3B").mangledNameHash());
...@@ -725,29 +728,29 @@ TEST(ImmutableStringTest, ScriptGeneratedHashesMatch) ...@@ -725,29 +728,29 @@ TEST(ImmutableStringTest, ScriptGeneratedHashesMatch)
ASSERT_EQ(0x168046b0u, ImmutableString("textureSize(0M0C").mangledNameHash()); ASSERT_EQ(0x168046b0u, ImmutableString("textureSize(0M0C").mangledNameHash());
ASSERT_EQ(0x148a14a7u, ImmutableString("texelFetch(0M1C0C").mangledNameHash()); ASSERT_EQ(0x148a14a7u, ImmutableString("texelFetch(0M1C0C").mangledNameHash());
ASSERT_EQ(0x0e76e7c1u, ImmutableString("texture(0H1B0B").mangledNameHash()); ASSERT_EQ(0x0e76e7c1u, ImmutableString("texture(0H1B0B").mangledNameHash());
ASSERT_EQ(0x0e71dca8u, ImmutableString("texture(0P1B0B").mangledNameHash()); ASSERT_EQ(0x0e7386b0u, ImmutableString("texture(0Q1B0B").mangledNameHash());
ASSERT_EQ(0x0e70395au, ImmutableString("texture(0U1B0B").mangledNameHash()); ASSERT_EQ(0x0e70d11du, ImmutableString("texture(0W1B0B").mangledNameHash());
ASSERT_EQ(0x0e77d1c8u, ImmutableString("texture(0I2B0B").mangledNameHash()); ASSERT_EQ(0x0e77d1c8u, ImmutableString("texture(0I2B0B").mangledNameHash());
ASSERT_EQ(0x0e737f67u, ImmutableString("texture(0Q2B0B").mangledNameHash());
ASSERT_EQ(0x0e720b77u, ImmutableString("texture(0V2B0B").mangledNameHash());
ASSERT_EQ(0x0e75d15fu, ImmutableString("texture(0J2B0B").mangledNameHash());
ASSERT_EQ(0x0e7720c0u, ImmutableString("texture(0R2B0B").mangledNameHash()); ASSERT_EQ(0x0e7720c0u, ImmutableString("texture(0R2B0B").mangledNameHash());
ASSERT_EQ(0x0e73f4c3u, ImmutableString("texture(0W2B0B").mangledNameHash());
ASSERT_EQ(0x0e742a66u, ImmutableString("texture(0K2B0B").mangledNameHash());
ASSERT_EQ(0x0e75399eu, ImmutableString("texture(0S2B0B").mangledNameHash());
ASSERT_EQ(0x0e70eff9u, ImmutableString("texture(0X2B0B").mangledNameHash()); ASSERT_EQ(0x0e70eff9u, ImmutableString("texture(0X2B0B").mangledNameHash());
ASSERT_EQ(0x0e75d15fu, ImmutableString("texture(0J2B0B").mangledNameHash());
ASSERT_EQ(0x0e75399eu, ImmutableString("texture(0S2B0B").mangledNameHash());
ASSERT_EQ(0x0e755c73u, ImmutableString("texture(0Y2B0B").mangledNameHash());
ASSERT_EQ(0x0e742a66u, ImmutableString("texture(0K2B0B").mangledNameHash());
ASSERT_EQ(0x0e7013d9u, ImmutableString("texture(0T2B0B").mangledNameHash());
ASSERT_EQ(0x0e734ff8u, ImmutableString("texture(0Z2B0B").mangledNameHash());
ASSERT_EQ(0x1696f029u, ImmutableString("textureProj(0H2B0B").mangledNameHash()); ASSERT_EQ(0x1696f029u, ImmutableString("textureProj(0H2B0B").mangledNameHash());
ASSERT_EQ(0x16955fbdu, ImmutableString("textureProj(0P2B0B").mangledNameHash()); ASSERT_EQ(0x16939955u, ImmutableString("textureProj(0Q2B0B").mangledNameHash());
ASSERT_EQ(0x1691d656u, ImmutableString("textureProj(0U2B0B").mangledNameHash()); ASSERT_EQ(0x169465e2u, ImmutableString("textureProj(0W2B0B").mangledNameHash());
ASSERT_EQ(0x16965fd9u, ImmutableString("textureProj(0H3B0B").mangledNameHash()); ASSERT_EQ(0x16965fd9u, ImmutableString("textureProj(0H3B0B").mangledNameHash());
ASSERT_EQ(0x16911478u, ImmutableString("textureProj(0P3B0B").mangledNameHash());
ASSERT_EQ(0x169292f8u, ImmutableString("textureProj(0U3B0B").mangledNameHash());
ASSERT_EQ(0x169350d8u, ImmutableString("textureProj(0I3B0B").mangledNameHash());
ASSERT_EQ(0x16925badu, ImmutableString("textureProj(0Q3B0B").mangledNameHash()); ASSERT_EQ(0x16925badu, ImmutableString("textureProj(0Q3B0B").mangledNameHash());
ASSERT_EQ(0x1695499au, ImmutableString("textureProj(0V3B0B").mangledNameHash()); ASSERT_EQ(0x1690a3cfu, ImmutableString("textureProj(0W3B0B").mangledNameHash());
ASSERT_EQ(0x0e734ff8u, ImmutableString("texture(0Z2B0B").mangledNameHash()); ASSERT_EQ(0x169350d8u, ImmutableString("textureProj(0I3B0B").mangledNameHash());
ASSERT_EQ(0x0e77a0f1u, ImmutableString("texture(0a3B0B").mangledNameHash()); ASSERT_EQ(0x1694622au, ImmutableString("textureProj(0R3B0B").mangledNameHash());
ASSERT_EQ(0x16910ba7u, ImmutableString("textureProj(0Z3B0B").mangledNameHash()); ASSERT_EQ(0x1695f573u, ImmutableString("textureProj(0X3B0B").mangledNameHash());
ASSERT_EQ(0x0e716d8fu, ImmutableString("texture(0c2B0B").mangledNameHash());
ASSERT_EQ(0x0e740087u, ImmutableString("texture(0d3B0B").mangledNameHash());
ASSERT_EQ(0x1692d089u, ImmutableString("textureProj(0c3B0B").mangledNameHash());
ASSERT_EQ(0x0e723219u, ImmutableString("texture(0L1B0B").mangledNameHash()); ASSERT_EQ(0x0e723219u, ImmutableString("texture(0L1B0B").mangledNameHash());
ASSERT_EQ(0x1697e9b9u, ImmutableString("textureProj(0L2B0B").mangledNameHash()); ASSERT_EQ(0x1697e9b9u, ImmutableString("textureProj(0L2B0B").mangledNameHash());
ASSERT_EQ(0x16900558u, ImmutableString("textureProj(0L3B0B").mangledNameHash()); ASSERT_EQ(0x16900558u, ImmutableString("textureProj(0L3B0B").mangledNameHash());
...@@ -755,46 +758,49 @@ TEST(ImmutableStringTest, ScriptGeneratedHashesMatch) ...@@ -755,46 +758,49 @@ TEST(ImmutableStringTest, ScriptGeneratedHashesMatch)
ASSERT_EQ(0x1691c2edu, ImmutableString("textureProj(0M2B0B").mangledNameHash()); ASSERT_EQ(0x1691c2edu, ImmutableString("textureProj(0M2B0B").mangledNameHash());
ASSERT_EQ(0x1690ae9fu, ImmutableString("textureProj(0M3B0B").mangledNameHash()); ASSERT_EQ(0x1690ae9fu, ImmutableString("textureProj(0M3B0B").mangledNameHash());
ASSERT_EQ(0x14896e41u, ImmutableString("texelFetch(0O1C0C").mangledNameHash()); ASSERT_EQ(0x14896e41u, ImmutableString("texelFetch(0O1C0C").mangledNameHash());
ASSERT_EQ(0x148c1ac9u, ImmutableString("texelFetch(0T1C0C").mangledNameHash()); ASSERT_EQ(0x148ed16fu, ImmutableString("texelFetch(0U1C0C").mangledNameHash());
ASSERT_EQ(0x148dd2bdu, ImmutableString("texelFetch(0Y1C0C").mangledNameHash()); ASSERT_EQ(0x148ddb10u, ImmutableString("texelFetch(0a1C0C").mangledNameHash());
ASSERT_EQ(0x148e872bu, ImmutableString("texelFetch(0P2C0C").mangledNameHash());
ASSERT_EQ(0x14880e11u, ImmutableString("texelFetch(0V2C0C").mangledNameHash());
ASSERT_EQ(0x1489244fu, ImmutableString("texelFetch(0b2C0C").mangledNameHash());
ASSERT_EQ(0x1a92a1ceu, ImmutableString("textureGather(0H1B").mangledNameHash()); ASSERT_EQ(0x1a92a1ceu, ImmutableString("textureGather(0H1B").mangledNameHash());
ASSERT_EQ(0x1a907855u, ImmutableString("textureGather(0P1B").mangledNameHash()); ASSERT_EQ(0x1a92c882u, ImmutableString("textureGather(0Q1B").mangledNameHash());
ASSERT_EQ(0x1a90d2c2u, ImmutableString("textureGather(0U1B").mangledNameHash()); ASSERT_EQ(0x1a92a168u, ImmutableString("textureGather(0W1B").mangledNameHash());
ASSERT_EQ(0x1aa4c59du, ImmutableString("textureGather(0H1B0C").mangledNameHash()); ASSERT_EQ(0x1aa4c59du, ImmutableString("textureGather(0H1B0C").mangledNameHash());
ASSERT_EQ(0x1aa086cfu, ImmutableString("textureGather(0P1B0C").mangledNameHash()); ASSERT_EQ(0x1aa133bcu, ImmutableString("textureGather(0Q1B0C").mangledNameHash());
ASSERT_EQ(0x1aa023e1u, ImmutableString("textureGather(0U1B0C").mangledNameHash()); ASSERT_EQ(0x1aa220b0u, ImmutableString("textureGather(0W1B0C").mangledNameHash());
ASSERT_EQ(0x1a94543du, ImmutableString("textureGather(0K2B").mangledNameHash()); ASSERT_EQ(0x1a94543du, ImmutableString("textureGather(0K2B").mangledNameHash());
ASSERT_EQ(0x1a9418e8u, ImmutableString("textureGather(0S2B").mangledNameHash()); ASSERT_EQ(0x1a95f707u, ImmutableString("textureGather(0T2B").mangledNameHash());
ASSERT_EQ(0x1a93b6c9u, ImmutableString("textureGather(0X2B").mangledNameHash()); ASSERT_EQ(0x1a94eb48u, ImmutableString("textureGather(0Z2B").mangledNameHash());
ASSERT_EQ(0x1aa78b86u, ImmutableString("textureGather(0K2B0C").mangledNameHash()); ASSERT_EQ(0x1aa78b86u, ImmutableString("textureGather(0K2B0C").mangledNameHash());
ASSERT_EQ(0x1aa3ef46u, ImmutableString("textureGather(0S2B0C").mangledNameHash()); ASSERT_EQ(0x1aa2aafeu, ImmutableString("textureGather(0T2B0C").mangledNameHash());
ASSERT_EQ(0x1aa1bc4cu, ImmutableString("textureGather(0X2B0C").mangledNameHash()); ASSERT_EQ(0x1aa17115u, ImmutableString("textureGather(0Z2B0C").mangledNameHash());
ASSERT_EQ(0x1a979ae3u, ImmutableString("textureGather(0J2B").mangledNameHash()); ASSERT_EQ(0x1a979ae3u, ImmutableString("textureGather(0J2B").mangledNameHash());
ASSERT_EQ(0x1a973644u, ImmutableString("textureGather(0R2B").mangledNameHash()); ASSERT_EQ(0x1a9418e8u, ImmutableString("textureGather(0S2B").mangledNameHash());
ASSERT_EQ(0x1a93d703u, ImmutableString("textureGather(0W2B").mangledNameHash()); ASSERT_EQ(0x1a910beau, ImmutableString("textureGather(0Y2B").mangledNameHash());
ASSERT_EQ(0x1aa4986bu, ImmutableString("textureGather(0J2B0C").mangledNameHash()); ASSERT_EQ(0x1aa4986bu, ImmutableString("textureGather(0J2B0C").mangledNameHash());
ASSERT_EQ(0x1aa590bdu, ImmutableString("textureGather(0R2B0C").mangledNameHash()); ASSERT_EQ(0x1aa3ef46u, ImmutableString("textureGather(0S2B0C").mangledNameHash());
ASSERT_EQ(0x1aa6c806u, ImmutableString("textureGather(0W2B0C").mangledNameHash()); ASSERT_EQ(0x1aa7fa48u, ImmutableString("textureGather(0Y2B0C").mangledNameHash());
ASSERT_EQ(0x1a960122u, ImmutableString("textureGather(0Z1B").mangledNameHash()); ASSERT_EQ(0x1a926b0du, ImmutableString("textureGather(0c1B").mangledNameHash());
ASSERT_EQ(0x1aa5f0c6u, ImmutableString("textureGather(0Z1B0B").mangledNameHash()); ASSERT_EQ(0x1aa182eeu, ImmutableString("textureGather(0c1B0B").mangledNameHash());
ASSERT_EQ(0x1a96f0e7u, ImmutableString("textureGather(0b2B").mangledNameHash()); ASSERT_EQ(0x1a94d27du, ImmutableString("textureGather(0e2B").mangledNameHash());
ASSERT_EQ(0x1aa1ab43u, ImmutableString("textureGather(0b2B0B").mangledNameHash()); ASSERT_EQ(0x1aa039c7u, ImmutableString("textureGather(0e2B0B").mangledNameHash());
ASSERT_EQ(0x1a92e9e5u, ImmutableString("textureGather(0a2B").mangledNameHash()); ASSERT_EQ(0x1a91963cu, ImmutableString("textureGather(0d2B").mangledNameHash());
ASSERT_EQ(0x1aa573ecu, ImmutableString("textureGather(0a2B0B").mangledNameHash()); ASSERT_EQ(0x1aa353f8u, ImmutableString("textureGather(0d2B0B").mangledNameHash());
ASSERT_EQ(0x26d71952u, ImmutableString("textureGatherOffset(0H1B1C").mangledNameHash()); ASSERT_EQ(0x26d71952u, ImmutableString("textureGatherOffset(0H1B1C").mangledNameHash());
ASSERT_EQ(0x26d1d7a3u, ImmutableString("textureGatherOffset(0P1B1C").mangledNameHash()); ASSERT_EQ(0x26d0b451u, ImmutableString("textureGatherOffset(0Q1B1C").mangledNameHash());
ASSERT_EQ(0x26d7dce7u, ImmutableString("textureGatherOffset(0U1B1C").mangledNameHash()); ASSERT_EQ(0x26d00e91u, ImmutableString("textureGatherOffset(0W1B1C").mangledNameHash());
ASSERT_EQ(0x26e476d0u, ImmutableString("textureGatherOffset(0H1B1C0C").mangledNameHash()); ASSERT_EQ(0x26e476d0u, ImmutableString("textureGatherOffset(0H1B1C0C").mangledNameHash());
ASSERT_EQ(0x26e5b6bdu, ImmutableString("textureGatherOffset(0P1B1C0C").mangledNameHash()); ASSERT_EQ(0x26e567feu, ImmutableString("textureGatherOffset(0Q1B1C0C").mangledNameHash());
ASSERT_EQ(0x26e2cb51u, ImmutableString("textureGatherOffset(0U1B1C0C").mangledNameHash()); ASSERT_EQ(0x26e737a0u, ImmutableString("textureGatherOffset(0W1B1C0C").mangledNameHash());
ASSERT_EQ(0x26d1f440u, ImmutableString("textureGatherOffset(0K2B1C").mangledNameHash()); ASSERT_EQ(0x26d1f440u, ImmutableString("textureGatherOffset(0K2B1C").mangledNameHash());
ASSERT_EQ(0x26d29f74u, ImmutableString("textureGatherOffset(0S2B1C").mangledNameHash()); ASSERT_EQ(0x26d2d875u, ImmutableString("textureGatherOffset(0T2B1C").mangledNameHash());
ASSERT_EQ(0x26d701d7u, ImmutableString("textureGatherOffset(0X2B1C").mangledNameHash()); ASSERT_EQ(0x26d0db41u, ImmutableString("textureGatherOffset(0Z2B1C").mangledNameHash());
ASSERT_EQ(0x26e459f8u, ImmutableString("textureGatherOffset(0K2B1C0C").mangledNameHash()); ASSERT_EQ(0x26e459f8u, ImmutableString("textureGatherOffset(0K2B1C0C").mangledNameHash());
ASSERT_EQ(0x26e015c9u, ImmutableString("textureGatherOffset(0S2B1C0C").mangledNameHash()); ASSERT_EQ(0x26e1982cu, ImmutableString("textureGatherOffset(0T2B1C0C").mangledNameHash());
ASSERT_EQ(0x26e1df8cu, ImmutableString("textureGatherOffset(0X2B1C0C").mangledNameHash()); ASSERT_EQ(0x26e47c82u, ImmutableString("textureGatherOffset(0Z2B1C0C").mangledNameHash());
ASSERT_EQ(0x26e596a4u, ImmutableString("textureGatherOffset(0Z1B0B1C").mangledNameHash()); ASSERT_EQ(0x26e580eau, ImmutableString("textureGatherOffset(0c1B0B1C").mangledNameHash());
ASSERT_EQ(0x26e6991bu, ImmutableString("textureGatherOffset(0b2B0B1C").mangledNameHash()); ASSERT_EQ(0x26e53ca1u, ImmutableString("textureGatherOffset(0e2B0B1C").mangledNameHash());
ASSERT_EQ(0x1a805162u, ImmutableString("atomicCounter(0F").mangledNameHash()); ASSERT_EQ(0x1a805162u, ImmutableString("atomicCounter(0F").mangledNameHash());
ASSERT_EQ(0x2ccf8f34u, ImmutableString("atomicCounterIncrement(0F").mangledNameHash()); ASSERT_EQ(0x2ccf8f34u, ImmutableString("atomicCounterIncrement(0F").mangledNameHash());
ASSERT_EQ(0x2ccfbbbeu, ImmutableString("atomicCounterDecrement(0F").mangledNameHash()); ASSERT_EQ(0x2ccfbbbeu, ImmutableString("atomicCounterDecrement(0F").mangledNameHash());
...@@ -814,9 +820,6 @@ TEST(ImmutableStringTest, ScriptGeneratedHashesMatch) ...@@ -814,9 +820,6 @@ TEST(ImmutableStringTest, ScriptGeneratedHashesMatch)
ASSERT_EQ(0x1c9b5eecu, ImmutableString("atomicExchange(0C0C").mangledNameHash()); ASSERT_EQ(0x1c9b5eecu, ImmutableString("atomicExchange(0C0C").mangledNameHash());
ASSERT_EQ(0x1caa900cu, ImmutableString("atomicCompSwap(0D0D0D").mangledNameHash()); ASSERT_EQ(0x1caa900cu, ImmutableString("atomicCompSwap(0D0D0D").mangledNameHash());
ASSERT_EQ(0x1ca86085u, ImmutableString("atomicCompSwap(0C0C0C").mangledNameHash()); ASSERT_EQ(0x1ca86085u, ImmutableString("atomicCompSwap(0C0C0C").mangledNameHash());
ASSERT_EQ(0x12659f72u, ImmutableString("imageSize(0c").mangledNameHash());
ASSERT_EQ(0x1265c077u, ImmutableString("imageSize(0d").mangledNameHash());
ASSERT_EQ(0x1265c6e0u, ImmutableString("imageSize(0e").mangledNameHash());
ASSERT_EQ(0x1265cc8du, ImmutableString("imageSize(0f").mangledNameHash()); ASSERT_EQ(0x1265cc8du, ImmutableString("imageSize(0f").mangledNameHash());
ASSERT_EQ(0x1265b53eu, ImmutableString("imageSize(0g").mangledNameHash()); ASSERT_EQ(0x1265b53eu, ImmutableString("imageSize(0g").mangledNameHash());
ASSERT_EQ(0x1265e603u, ImmutableString("imageSize(0h").mangledNameHash()); ASSERT_EQ(0x1265e603u, ImmutableString("imageSize(0h").mangledNameHash());
...@@ -826,30 +829,33 @@ TEST(ImmutableStringTest, ScriptGeneratedHashesMatch) ...@@ -826,30 +829,33 @@ TEST(ImmutableStringTest, ScriptGeneratedHashesMatch)
ASSERT_EQ(0x12660ccfu, ImmutableString("imageSize(0l").mangledNameHash()); ASSERT_EQ(0x12660ccfu, ImmutableString("imageSize(0l").mangledNameHash());
ASSERT_EQ(0x12661578u, ImmutableString("imageSize(0m").mangledNameHash()); ASSERT_EQ(0x12661578u, ImmutableString("imageSize(0m").mangledNameHash());
ASSERT_EQ(0x12661be5u, ImmutableString("imageSize(0n").mangledNameHash()); ASSERT_EQ(0x12661be5u, ImmutableString("imageSize(0n").mangledNameHash());
ASSERT_EQ(0x12737e4du, ImmutableString("imageLoad(0c1C").mangledNameHash()); ASSERT_EQ(0x1265e196u, ImmutableString("imageSize(0o").mangledNameHash());
ASSERT_EQ(0x1273b8c5u, ImmutableString("imageLoad(0d1C").mangledNameHash()); ASSERT_EQ(0x126520f8u, ImmutableString("imageSize(0p").mangledNameHash());
ASSERT_EQ(0x12754b32u, ImmutableString("imageLoad(0e1C").mangledNameHash()); ASSERT_EQ(0x12653967u, ImmutableString("imageSize(0q").mangledNameHash());
ASSERT_EQ(0x1274d104u, ImmutableString("imageLoad(0f2C").mangledNameHash()); ASSERT_EQ(0x12739c87u, ImmutableString("imageLoad(0f1C").mangledNameHash());
ASSERT_EQ(0x12701a06u, ImmutableString("imageLoad(0g2C").mangledNameHash()); ASSERT_EQ(0x12755603u, ImmutableString("imageLoad(0g1C").mangledNameHash());
ASSERT_EQ(0x1270829bu, ImmutableString("imageLoad(0h2C").mangledNameHash()); ASSERT_EQ(0x12700109u, ImmutableString("imageLoad(0h1C").mangledNameHash());
ASSERT_EQ(0x127539b2u, ImmutableString("imageLoad(0i2C").mangledNameHash()); ASSERT_EQ(0x127539b2u, ImmutableString("imageLoad(0i2C").mangledNameHash());
ASSERT_EQ(0x12715f47u, ImmutableString("imageLoad(0j2C").mangledNameHash()); ASSERT_EQ(0x12715f47u, ImmutableString("imageLoad(0j2C").mangledNameHash());
ASSERT_EQ(0x127474cau, ImmutableString("imageLoad(0k2C").mangledNameHash()); ASSERT_EQ(0x127474cau, ImmutableString("imageLoad(0k2C").mangledNameHash());
ASSERT_EQ(0x1276656cu, ImmutableString("imageLoad(0l2C").mangledNameHash()); ASSERT_EQ(0x1276656cu, ImmutableString("imageLoad(0l2C").mangledNameHash());
ASSERT_EQ(0x12731984u, ImmutableString("imageLoad(0m2C").mangledNameHash()); ASSERT_EQ(0x12731984u, ImmutableString("imageLoad(0m2C").mangledNameHash());
ASSERT_EQ(0x12712664u, ImmutableString("imageLoad(0n2C").mangledNameHash()); ASSERT_EQ(0x12712664u, ImmutableString("imageLoad(0n2C").mangledNameHash());
ASSERT_EQ(0x148d6aebu, ImmutableString("imageStore(0c1C3B").mangledNameHash()); ASSERT_EQ(0x12744c0du, ImmutableString("imageLoad(0o2C").mangledNameHash());
ASSERT_EQ(0x148aca44u, ImmutableString("imageStore(0d1C3C").mangledNameHash()); ASSERT_EQ(0x1274d54bu, ImmutableString("imageLoad(0p2C").mangledNameHash());
ASSERT_EQ(0x148f334cu, ImmutableString("imageStore(0e1C3D").mangledNameHash()); ASSERT_EQ(0x12737ed6u, ImmutableString("imageLoad(0q2C").mangledNameHash());
ASSERT_EQ(0x148c5f8bu, ImmutableString("imageStore(0f2C3B").mangledNameHash()); ASSERT_EQ(0x148d86dcu, ImmutableString("imageStore(0f1C3B").mangledNameHash());
ASSERT_EQ(0x148d8868u, ImmutableString("imageStore(0g2C3C").mangledNameHash()); ASSERT_EQ(0x148bb1bdu, ImmutableString("imageStore(0g1C3C").mangledNameHash());
ASSERT_EQ(0x148f864bu, ImmutableString("imageStore(0h2C3D").mangledNameHash()); ASSERT_EQ(0x148ffee8u, ImmutableString("imageStore(0h1C3D").mangledNameHash());
ASSERT_EQ(0x148fd5f1u, ImmutableString("imageStore(0i2C3B").mangledNameHash()); ASSERT_EQ(0x148fd5f1u, ImmutableString("imageStore(0i2C3B").mangledNameHash());
ASSERT_EQ(0x148e668au, ImmutableString("imageStore(0j2C3C").mangledNameHash()); ASSERT_EQ(0x148e668au, ImmutableString("imageStore(0j2C3C").mangledNameHash());
ASSERT_EQ(0x1488078cu, ImmutableString("imageStore(0k2C3D").mangledNameHash()); ASSERT_EQ(0x1488078cu, ImmutableString("imageStore(0k2C3D").mangledNameHash());
ASSERT_EQ(0x148dcfd5u, ImmutableString("imageStore(0l2C3B").mangledNameHash()); ASSERT_EQ(0x148dcfd5u, ImmutableString("imageStore(0l2C3B").mangledNameHash());
ASSERT_EQ(0x148e37b8u, ImmutableString("imageStore(0m2C3C").mangledNameHash()); ASSERT_EQ(0x148e37b8u, ImmutableString("imageStore(0m2C3C").mangledNameHash());
ASSERT_EQ(0x148ed534u, ImmutableString("imageStore(0n2C3D").mangledNameHash()); ASSERT_EQ(0x148ed534u, ImmutableString("imageStore(0n2C3D").mangledNameHash());
ASSERT_EQ(0x148f7a82u, ImmutableString("imageStore(0o2C3B").mangledNameHash());
ASSERT_EQ(0x148a0cecu, ImmutableString("imageStore(0p2C3C").mangledNameHash());
ASSERT_EQ(0x148c1e41u, ImmutableString("imageStore(0q2C3D").mangledNameHash());
ASSERT_EQ(0x1a7538dfu, ImmutableString("memoryBarrier(").mangledNameHash()); ASSERT_EQ(0x1a7538dfu, ImmutableString("memoryBarrier(").mangledNameHash());
ASSERT_EQ(0x34ded18du, ImmutableString("memoryBarrierAtomicCounter(").mangledNameHash()); ASSERT_EQ(0x34ded18du, ImmutableString("memoryBarrierAtomicCounter(").mangledNameHash());
ASSERT_EQ(0x26a7e24bu, ImmutableString("memoryBarrierBuffer(").mangledNameHash()); ASSERT_EQ(0x26a7e24bu, ImmutableString("memoryBarrierBuffer(").mangledNameHash());
...@@ -875,6 +881,7 @@ TEST(ImmutableStringTest, ScriptGeneratedHashesMatch) ...@@ -875,6 +881,7 @@ TEST(ImmutableStringTest, ScriptGeneratedHashesMatch)
ASSERT_EQ(0x7e55de86u, ImmutableString("usubBorrow").mangledNameHash()); ASSERT_EQ(0x7e55de86u, ImmutableString("usubBorrow").mangledNameHash());
ASSERT_EQ(0x7e6746f4u, ImmutableString("umulExtended").mangledNameHash()); ASSERT_EQ(0x7e6746f4u, ImmutableString("umulExtended").mangledNameHash());
ASSERT_EQ(0x7e62a9a0u, ImmutableString("imulExtended").mangledNameHash()); ASSERT_EQ(0x7e62a9a0u, ImmutableString("imulExtended").mangledNameHash());
ASSERT_EQ(0x7e5e217eu, ImmutableString("textureSize").mangledNameHash());
ASSERT_EQ(0x7e5237e1u, ImmutableString("texelFetch").mangledNameHash()); ASSERT_EQ(0x7e5237e1u, ImmutableString("texelFetch").mangledNameHash());
ASSERT_EQ(0x7e6d0f32u, ImmutableString("textureGather").mangledNameHash()); ASSERT_EQ(0x7e6d0f32u, ImmutableString("textureGather").mangledNameHash());
ASSERT_EQ(0x7e9d8ad9u, ImmutableString("textureGatherOffset").mangledNameHash()); ASSERT_EQ(0x7e9d8ad9u, ImmutableString("textureGatherOffset").mangledNameHash());
...@@ -943,7 +950,6 @@ TEST(ImmutableStringTest, ScriptGeneratedHashesMatch) ...@@ -943,7 +950,6 @@ TEST(ImmutableStringTest, ScriptGeneratedHashesMatch)
ASSERT_EQ(0x7e39ebd7u, ImmutableString("texture").mangledNameHash()); ASSERT_EQ(0x7e39ebd7u, ImmutableString("texture").mangledNameHash());
ASSERT_EQ(0x7e5caafbu, ImmutableString("textureProj").mangledNameHash()); ASSERT_EQ(0x7e5caafbu, ImmutableString("textureProj").mangledNameHash());
ASSERT_EQ(0x7e501e0cu, ImmutableString("textureLod").mangledNameHash()); ASSERT_EQ(0x7e501e0cu, ImmutableString("textureLod").mangledNameHash());
ASSERT_EQ(0x7e5e217eu, ImmutableString("textureSize").mangledNameHash());
ASSERT_EQ(0x7e75ae2fu, ImmutableString("textureProjLod").mangledNameHash()); ASSERT_EQ(0x7e75ae2fu, ImmutableString("textureProjLod").mangledNameHash());
ASSERT_EQ(0x7e599347u, ImmutableString("textureGrad").mangledNameHash()); ASSERT_EQ(0x7e599347u, ImmutableString("textureGrad").mangledNameHash());
ASSERT_EQ(0x7e7bc1fdu, ImmutableString("textureProjGrad").mangledNameHash()); ASSERT_EQ(0x7e7bc1fdu, ImmutableString("textureProjGrad").mangledNameHash());
......
...@@ -7,9 +7,9 @@ ...@@ -7,9 +7,9 @@
// Tests compiling shaders that use gsampler2DMS types // Tests compiling shaders that use gsampler2DMS types
// //
#include "GLSLANG/ShaderLang.h"
#include "angle_gl.h" #include "angle_gl.h"
#include "gtest/gtest.h" #include "gtest/gtest.h"
#include "GLSLANG/ShaderLang.h"
#include "tests/test_utils/ShaderCompileTreeTest.h" #include "tests/test_utils/ShaderCompileTreeTest.h"
using namespace sh; using namespace sh;
...@@ -24,21 +24,36 @@ class SamplerMultisampleTest : public ShaderCompileTreeTest ...@@ -24,21 +24,36 @@ class SamplerMultisampleTest : public ShaderCompileTreeTest
ShShaderSpec getShaderSpec() const override { return SH_GLES3_1_SPEC; } ShShaderSpec getShaderSpec() const override { return SH_GLES3_1_SPEC; }
}; };
// checks whether compiler has parsed the gsampler2DMS, texelfetch qualifiers correctly class SamplerMultisampleArrayTest : public ShaderCompileTreeTest
TEST_F(SamplerMultisampleTest, TexelFetchSampler2DMSQualifier) {
public:
SamplerMultisampleArrayTest() {}
void initResources(ShBuiltInResources *resources) override
{
resources->ANGLE_texture_multisample_array = 1;
}
protected:
::GLenum getShaderType() const override { return GL_FRAGMENT_SHADER; }
ShShaderSpec getShaderSpec() const override { return SH_GLES3_1_SPEC; }
};
// Checks whether compiler has parsed the gsampler2DMS, texelfetch correctly.
TEST_F(SamplerMultisampleTest, TexelFetchSampler2DMS)
{ {
const std::string &shaderString = const std::string &shaderString =
"#version 310 es\n" R"(#version 310 es
"precision highp float;\n" precision highp float;
"uniform highp sampler2DMS s;\n" uniform highp sampler2DMS s;
"uniform highp isampler2DMS is;\n" uniform highp isampler2DMS is;
"uniform highp usampler2DMS us;\n" uniform highp usampler2DMS us;
""
"void main() {\n" void main() {
" vec4 tex1 = texelFetch(s, ivec2(0, 0), 0);\n" vec4 tex1 = texelFetch(s, ivec2(0, 0), 0);
" ivec4 tex2 = texelFetch(is, ivec2(0, 0), 0);\n" ivec4 tex2 = texelFetch(is, ivec2(0, 0), 0);
" uvec4 tex3 = texelFetch(us, ivec2(0, 0), 0);\n" uvec4 tex3 = texelFetch(us, ivec2(0, 0), 0);
"}\n"; })";
if (!compile(shaderString)) if (!compile(shaderString))
{ {
...@@ -46,21 +61,21 @@ TEST_F(SamplerMultisampleTest, TexelFetchSampler2DMSQualifier) ...@@ -46,21 +61,21 @@ TEST_F(SamplerMultisampleTest, TexelFetchSampler2DMSQualifier)
} }
} }
// checks whether compiler has parsed the gsampler2DMS, texturesize qualifiers correctly // Checks whether compiler has parsed the gsampler2DMS, textureSize correctly.
TEST_F(SamplerMultisampleTest, TextureSizeSampler2DMSQualifier) TEST_F(SamplerMultisampleTest, TextureSizeSampler2DMS)
{ {
const std::string &shaderString = const std::string &shaderString =
"#version 310 es\n" R"(#version 310 es
"precision highp float;\n" precision highp float;
"uniform highp sampler2DMS s;\n" uniform highp sampler2DMS s;
"uniform highp isampler2DMS is;\n" uniform highp isampler2DMS is;
"uniform highp usampler2DMS us;\n" uniform highp usampler2DMS us;
""
"void main() {\n" void main() {
" ivec2 size = textureSize(s);\n" ivec2 size = textureSize(s);
" size = textureSize(is);\n" size = textureSize(is);
" size = textureSize(us);\n" size = textureSize(us);
"}\n"; })";
if (!compile(shaderString)) if (!compile(shaderString))
{ {
...@@ -68,17 +83,246 @@ TEST_F(SamplerMultisampleTest, TextureSizeSampler2DMSQualifier) ...@@ -68,17 +83,246 @@ TEST_F(SamplerMultisampleTest, TextureSizeSampler2DMSQualifier)
} }
} }
// checks gsampler2DMS has no default precision // Check that sampler2DMS has no default precision.
TEST_F(SamplerMultisampleTest, NoPrecisionSampler2DMS) TEST_F(SamplerMultisampleTest, NoPrecisionSampler2DMS)
{ {
const std::string &shaderString = const std::string &shaderString =
"#version 310 es\n" R"(#version 310 es
"precision highp float;\n" precision highp float;
"uniform sampler2DMS s;\n" uniform sampler2DMS s;
"uniform isampler2DMS is;\n"
"uniform usampler2DMS us;\n" void main() {})";
""
"void main() {}\n"; if (compile(shaderString))
{
FAIL() << "Shader compilation succeeded, expecting failure:\n" << mInfoLog;
}
}
// Check that isampler2DMS has no default precision.
TEST_F(SamplerMultisampleTest, NoPrecisionISampler2DMS)
{
const std::string &shaderString =
R"(#version 310 es
precision highp float;
uniform isampler2DMS s;
void main() {})";
if (compile(shaderString))
{
FAIL() << "Shader compilation succeeded, expecting failure:\n" << mInfoLog;
}
}
// Check that usampler2DMS has no default precision.
TEST_F(SamplerMultisampleTest, NoPrecisionUSampler2DMS)
{
const std::string &shaderString =
R"(#version 310 es
precision highp float;
uniform usampler2DMS s;
void main() {})";
if (compile(shaderString))
{
FAIL() << "Shader compilation succeeded, expecting failure:\n" << mInfoLog;
}
}
// Negative test: checks that sampler2DMS is not usable in ESSL 3.00.
TEST_F(SamplerMultisampleTest, Sampler2DMSESSL300)
{
const std::string &shaderString =
R"(#version 300 es
precision highp float;
uniform highp sampler2DMS s;
void main() {
})";
if (compile(shaderString))
{
FAIL() << "Shader compilation succeeded, expecting failure:\n" << mInfoLog;
}
}
// Negative test: checks that isampler2DMS is not usable in ESSL 3.00.
TEST_F(SamplerMultisampleTest, ISampler2DMSESSL300)
{
const std::string &shaderString =
R"(#version 300 es
precision highp float;
uniform highp isampler2DMS s;
void main() {
})";
if (compile(shaderString))
{
FAIL() << "Shader compilation succeeded, expecting failure:\n" << mInfoLog;
}
}
// Negative test: checks that usampler2DMS is not usable in ESSL 3.00.
TEST_F(SamplerMultisampleTest, USampler2DMSESSL300)
{
const std::string &shaderString =
R"(#version 300 es
precision highp float;
uniform highp usampler2DMS s;
void main() {
})";
if (compile(shaderString))
{
FAIL() << "Shader compilation succeeded, expecting failure:\n" << mInfoLog;
}
}
// Negative test: checks that sampler2DMSArray is not usable in ESSL 3.10 without extensions.
TEST_F(SamplerMultisampleTest, Sampler2DMSArrayNotSupported)
{
const std::string &shaderString =
R"(#version 310 es
precision highp float;
uniform highp sampler2DMSArray s;
void main() {
})";
if (compile(shaderString))
{
FAIL() << "Shader compilation succeeded, expecting failure:\n" << mInfoLog;
}
}
// Negative test: checks that isampler2DMSArray is not usable in ESSL 3.10 without extensions.
TEST_F(SamplerMultisampleTest, ISampler2DMSArrayNotSupported)
{
const std::string &shaderString =
R"(#version 310 es
precision highp float;
uniform highp isampler2DMSArray s;
void main() {
})";
if (compile(shaderString))
{
FAIL() << "Shader compilation succeeded, expecting failure:\n" << mInfoLog;
}
}
// Negative test: checks that usampler2DMSArray is not usable in ESSL 3.10 without extensions.
TEST_F(SamplerMultisampleTest, USampler2DMSArrayNotSupported)
{
const std::string &shaderString =
R"(#version 310 es
precision highp float;
uniform highp usampler2DMSArray s;
void main() {
})";
if (compile(shaderString))
{
FAIL() << "Shader compilation succeeded, expecting failure:\n" << mInfoLog;
}
}
// Checks whether compiler has parsed the gsampler2DMSArray, texelfetch correctly.
TEST_F(SamplerMultisampleArrayTest, TexelFetchSampler2DMSArray)
{
const std::string &shaderString =
R"(#version 310 es
#extension GL_ANGLE_texture_multisample_array : require
precision highp float;
uniform highp sampler2DMSArray s;
uniform highp isampler2DMSArray is;
uniform highp usampler2DMSArray us;
void main() {
vec4 tex1 = texelFetch(s, ivec3(0, 0, 0), 0);
ivec4 tex2 = texelFetch(is, ivec3(0, 0, 0), 0);
uvec4 tex3 = texelFetch(us, ivec3(0, 0, 0), 0);
})";
if (!compile(shaderString))
{
FAIL() << "Shader compilation failed, expecting success:\n" << mInfoLog;
}
}
// Checks whether compiler has parsed the gsampler2DMSArray, textureSize correctly.
TEST_F(SamplerMultisampleArrayTest, TextureSizeSampler2DMSArray)
{
const std::string &shaderString =
R"(#version 310 es
#extension GL_ANGLE_texture_multisample_array : require
precision highp float;
uniform highp sampler2DMSArray s;
uniform highp isampler2DMSArray is;
uniform highp usampler2DMSArray us;
void main() {
ivec3 size = textureSize(s);
size = textureSize(is);
size = textureSize(us);
})";
if (!compile(shaderString))
{
FAIL() << "Shader compilation failed, expecting success:\n" << mInfoLog;
}
}
// Check that sampler2DMSArray has no default precision.
TEST_F(SamplerMultisampleArrayTest, NoPrecisionSampler2DMSArray)
{
const std::string &shaderString =
R"(#version 310 es
#extension GL_ANGLE_texture_multisample_array : require
precision highp float;
uniform sampler2DMSArray s;
void main() {})";
if (compile(shaderString))
{
FAIL() << "Shader compilation succeeded, expecting failure:\n" << mInfoLog;
}
}
// Check that isampler2DMSArray has no default precision.
TEST_F(SamplerMultisampleArrayTest, NoPrecisionISampler2DMSArray)
{
const std::string &shaderString =
R"(#version 310 es
#extension GL_ANGLE_texture_multisample_array : require
precision highp float;
uniform isampler2DMSArray s;
void main() {})";
if (compile(shaderString))
{
FAIL() << "Shader compilation succeeded, expecting failure:\n" << mInfoLog;
}
}
// Check that usampler2DMSArray has no default precision.
TEST_F(SamplerMultisampleArrayTest, NoPrecisionUSampler2DMSArray)
{
const std::string &shaderString =
R"(#version 310 es
#extension GL_ANGLE_texture_multisample_array : require
precision highp float;
uniform usampler2DMSArray s;
void main() {})";
if (compile(shaderString)) if (compile(shaderString))
{ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment