Commit 24180607 by Corentin Wallez Committed by Commit Bot

Allow rectangle textures to be sample with texture() in ESSL3

This makes them consistent with the other texture types. Also adds a test for using texture(sampler2DRect, ...). BUG=chromium:757974 BUG=angleproject:1650 Change-Id: Ie966da928ae0c83850da1e530e72c0d501909394 Reviewed-on: https://chromium-review.googlesource.com/946675 Commit-Queue: Corentin Wallez <cwallez@chromium.org> Reviewed-by: 's avatarOlli Etuaho <oetuaho@nvidia.com>
parent 7618eaf9
......@@ -94,8 +94,8 @@ ImmutableString TOutputGLSL::translateTextureFunction(const ImmutableString &nam
nullptr};
static const char *legacyToCoreRename[] = {
"texture2D", "texture", "texture2DProj", "textureProj", "texture2DLod", "textureLod",
"texture2DProjLod", "textureProjLod", "texture2DRect", "texture", "textureCube", "texture",
"textureCubeLod", "textureLod",
"texture2DProjLod", "textureProjLod", "texture2DRect", "texture", "texture2DRectProj",
"textureProj", "textureCube", "texture", "textureCubeLod", "textureLod",
// Extensions
"texture2DLodEXT", "textureLod", "texture2DProjLodEXT", "textureProjLod",
"textureCubeLodEXT", "textureLod", "texture2DGradEXT", "textureGrad",
......
......@@ -499,404 +499,407 @@ class BuiltInId
static constexpr const TSymbolUniqueId texture2DRect_sR_2f_ = TSymbolUniqueId(471);
static constexpr const TSymbolUniqueId texture2DRectProj_sR_3f_ = TSymbolUniqueId(472);
static constexpr const TSymbolUniqueId texture2DRectProj_sR_4f_ = TSymbolUniqueId(473);
static constexpr const TSymbolUniqueId texture2DGradEXT_s2_2f_2f_2f_ = TSymbolUniqueId(474);
static constexpr const TSymbolUniqueId texture2DProjGradEXT_s2_3f_2f_2f_ = TSymbolUniqueId(475);
static constexpr const TSymbolUniqueId texture2DProjGradEXT_s2_4f_2f_2f_ = TSymbolUniqueId(476);
static constexpr const TSymbolUniqueId textureCubeGradEXT_sC_3f_3f_3f_ = TSymbolUniqueId(477);
static constexpr const TSymbolUniqueId texture2D_s2_2f_f_ = TSymbolUniqueId(478);
static constexpr const TSymbolUniqueId texture2DProj_s2_3f_f_ = TSymbolUniqueId(479);
static constexpr const TSymbolUniqueId texture2DProj_s2_4f_f_ = TSymbolUniqueId(480);
static constexpr const TSymbolUniqueId textureCube_sC_3f_f_ = TSymbolUniqueId(481);
static constexpr const TSymbolUniqueId dFdxExt_f_ = TSymbolUniqueId(482);
static constexpr const TSymbolUniqueId dFdxExt_2f_ = TSymbolUniqueId(483);
static constexpr const TSymbolUniqueId dFdxExt_3f_ = TSymbolUniqueId(484);
static constexpr const TSymbolUniqueId dFdxExt_4f_ = TSymbolUniqueId(485);
static constexpr const TSymbolUniqueId dFdyExt_f_ = TSymbolUniqueId(486);
static constexpr const TSymbolUniqueId dFdyExt_2f_ = TSymbolUniqueId(487);
static constexpr const TSymbolUniqueId dFdyExt_3f_ = TSymbolUniqueId(488);
static constexpr const TSymbolUniqueId dFdyExt_4f_ = TSymbolUniqueId(489);
static constexpr const TSymbolUniqueId fwidthExt_f_ = TSymbolUniqueId(490);
static constexpr const TSymbolUniqueId fwidthExt_2f_ = TSymbolUniqueId(491);
static constexpr const TSymbolUniqueId fwidthExt_3f_ = TSymbolUniqueId(492);
static constexpr const TSymbolUniqueId fwidthExt_4f_ = TSymbolUniqueId(493);
static constexpr const TSymbolUniqueId texture2DLodEXT_s2_2f_f_ = TSymbolUniqueId(494);
static constexpr const TSymbolUniqueId texture2DProjLodEXT_s2_3f_f_ = TSymbolUniqueId(495);
static constexpr const TSymbolUniqueId texture2DProjLodEXT_s2_4f_f_ = TSymbolUniqueId(496);
static constexpr const TSymbolUniqueId textureCubeLodEXT_sC_3f_f_ = TSymbolUniqueId(497);
static constexpr const TSymbolUniqueId texture2DLod_s2_2f_f_ = TSymbolUniqueId(498);
static constexpr const TSymbolUniqueId texture2DProjLod_s2_3f_f_ = TSymbolUniqueId(499);
static constexpr const TSymbolUniqueId texture2DProjLod_s2_4f_f_ = TSymbolUniqueId(500);
static constexpr const TSymbolUniqueId textureCubeLod_sC_3f_f_ = TSymbolUniqueId(501);
static constexpr const TSymbolUniqueId texture_s2_2f_ = TSymbolUniqueId(502);
static constexpr const TSymbolUniqueId texture_is2_2f_ = TSymbolUniqueId(503);
static constexpr const TSymbolUniqueId texture_us2_2f_ = TSymbolUniqueId(504);
static constexpr const TSymbolUniqueId texture_s3_3f_ = TSymbolUniqueId(505);
static constexpr const TSymbolUniqueId texture_is3_3f_ = TSymbolUniqueId(506);
static constexpr const TSymbolUniqueId texture_us3_3f_ = TSymbolUniqueId(507);
static constexpr const TSymbolUniqueId texture_sC_3f_ = TSymbolUniqueId(508);
static constexpr const TSymbolUniqueId texture_isC_3f_ = TSymbolUniqueId(509);
static constexpr const TSymbolUniqueId texture_usC_3f_ = TSymbolUniqueId(510);
static constexpr const TSymbolUniqueId texture_sA_3f_ = TSymbolUniqueId(511);
static constexpr const TSymbolUniqueId texture_isA_3f_ = TSymbolUniqueId(512);
static constexpr const TSymbolUniqueId texture_usA_3f_ = TSymbolUniqueId(513);
static constexpr const TSymbolUniqueId textureProj_s2_3f_ = TSymbolUniqueId(514);
static constexpr const TSymbolUniqueId textureProj_is2_3f_ = TSymbolUniqueId(515);
static constexpr const TSymbolUniqueId textureProj_us2_3f_ = TSymbolUniqueId(516);
static constexpr const TSymbolUniqueId textureProj_s2_4f_ = TSymbolUniqueId(517);
static constexpr const TSymbolUniqueId textureProj_is2_4f_ = TSymbolUniqueId(518);
static constexpr const TSymbolUniqueId textureProj_us2_4f_ = TSymbolUniqueId(519);
static constexpr const TSymbolUniqueId textureProj_s3_4f_ = TSymbolUniqueId(520);
static constexpr const TSymbolUniqueId textureProj_is3_4f_ = TSymbolUniqueId(521);
static constexpr const TSymbolUniqueId textureProj_us3_4f_ = TSymbolUniqueId(522);
static constexpr const TSymbolUniqueId textureLod_s2_2f_f_ = TSymbolUniqueId(523);
static constexpr const TSymbolUniqueId textureLod_is2_2f_f_ = TSymbolUniqueId(524);
static constexpr const TSymbolUniqueId textureLod_us2_2f_f_ = TSymbolUniqueId(525);
static constexpr const TSymbolUniqueId textureLod_s3_3f_f_ = TSymbolUniqueId(526);
static constexpr const TSymbolUniqueId textureLod_is3_3f_f_ = TSymbolUniqueId(527);
static constexpr const TSymbolUniqueId textureLod_us3_3f_f_ = TSymbolUniqueId(528);
static constexpr const TSymbolUniqueId textureLod_sC_3f_f_ = TSymbolUniqueId(529);
static constexpr const TSymbolUniqueId textureLod_isC_3f_f_ = TSymbolUniqueId(530);
static constexpr const TSymbolUniqueId textureLod_usC_3f_f_ = TSymbolUniqueId(531);
static constexpr const TSymbolUniqueId textureLod_sA_3f_f_ = TSymbolUniqueId(532);
static constexpr const TSymbolUniqueId textureLod_isA_3f_f_ = TSymbolUniqueId(533);
static constexpr const TSymbolUniqueId textureLod_usA_3f_f_ = TSymbolUniqueId(534);
static constexpr const TSymbolUniqueId texture_s2s_3f_ = TSymbolUniqueId(535);
static constexpr const TSymbolUniqueId texture_sCs_4f_ = TSymbolUniqueId(536);
static constexpr const TSymbolUniqueId texture_sAs_4f_ = TSymbolUniqueId(537);
static constexpr const TSymbolUniqueId textureProj_s2s_4f_ = TSymbolUniqueId(538);
static constexpr const TSymbolUniqueId textureLod_s2s_3f_f_ = TSymbolUniqueId(539);
static constexpr const TSymbolUniqueId textureSize_s2_i_ = TSymbolUniqueId(540);
static constexpr const TSymbolUniqueId textureSize_is2_i_ = TSymbolUniqueId(541);
static constexpr const TSymbolUniqueId textureSize_us2_i_ = TSymbolUniqueId(542);
static constexpr const TSymbolUniqueId textureSize_s3_i_ = TSymbolUniqueId(543);
static constexpr const TSymbolUniqueId textureSize_is3_i_ = TSymbolUniqueId(544);
static constexpr const TSymbolUniqueId textureSize_us3_i_ = TSymbolUniqueId(545);
static constexpr const TSymbolUniqueId textureSize_sC_i_ = TSymbolUniqueId(546);
static constexpr const TSymbolUniqueId textureSize_isC_i_ = TSymbolUniqueId(547);
static constexpr const TSymbolUniqueId textureSize_usC_i_ = TSymbolUniqueId(548);
static constexpr const TSymbolUniqueId textureSize_sA_i_ = TSymbolUniqueId(549);
static constexpr const TSymbolUniqueId textureSize_isA_i_ = TSymbolUniqueId(550);
static constexpr const TSymbolUniqueId textureSize_usA_i_ = TSymbolUniqueId(551);
static constexpr const TSymbolUniqueId textureSize_s2s_i_ = TSymbolUniqueId(552);
static constexpr const TSymbolUniqueId textureSize_sCs_i_ = TSymbolUniqueId(553);
static constexpr const TSymbolUniqueId textureSize_sAs_i_ = TSymbolUniqueId(554);
static constexpr const TSymbolUniqueId textureSize_sM_ = TSymbolUniqueId(555);
static constexpr const TSymbolUniqueId textureSize_isM_ = TSymbolUniqueId(556);
static constexpr const TSymbolUniqueId textureSize_usM_ = TSymbolUniqueId(557);
static constexpr const TSymbolUniqueId textureProjLod_s2_3f_f_ = TSymbolUniqueId(558);
static constexpr const TSymbolUniqueId textureProjLod_is2_3f_f_ = TSymbolUniqueId(559);
static constexpr const TSymbolUniqueId textureProjLod_us2_3f_f_ = TSymbolUniqueId(560);
static constexpr const TSymbolUniqueId textureProjLod_s2_4f_f_ = TSymbolUniqueId(561);
static constexpr const TSymbolUniqueId textureProjLod_is2_4f_f_ = TSymbolUniqueId(562);
static constexpr const TSymbolUniqueId textureProjLod_us2_4f_f_ = TSymbolUniqueId(563);
static constexpr const TSymbolUniqueId textureProjLod_s3_4f_f_ = TSymbolUniqueId(564);
static constexpr const TSymbolUniqueId textureProjLod_is3_4f_f_ = TSymbolUniqueId(565);
static constexpr const TSymbolUniqueId textureProjLod_us3_4f_f_ = TSymbolUniqueId(566);
static constexpr const TSymbolUniqueId textureProjLod_s2s_4f_f_ = TSymbolUniqueId(567);
static constexpr const TSymbolUniqueId texelFetch_s2_2i_i_ = TSymbolUniqueId(568);
static constexpr const TSymbolUniqueId texelFetch_is2_2i_i_ = TSymbolUniqueId(569);
static constexpr const TSymbolUniqueId texelFetch_us2_2i_i_ = TSymbolUniqueId(570);
static constexpr const TSymbolUniqueId texelFetch_s3_3i_i_ = TSymbolUniqueId(571);
static constexpr const TSymbolUniqueId texelFetch_is3_3i_i_ = TSymbolUniqueId(572);
static constexpr const TSymbolUniqueId texelFetch_us3_3i_i_ = TSymbolUniqueId(573);
static constexpr const TSymbolUniqueId texelFetch_sA_3i_i_ = TSymbolUniqueId(574);
static constexpr const TSymbolUniqueId texelFetch_isA_3i_i_ = TSymbolUniqueId(575);
static constexpr const TSymbolUniqueId texelFetch_usA_3i_i_ = TSymbolUniqueId(576);
static constexpr const TSymbolUniqueId textureGrad_s2_2f_2f_2f_ = TSymbolUniqueId(577);
static constexpr const TSymbolUniqueId textureGrad_is2_2f_2f_2f_ = TSymbolUniqueId(578);
static constexpr const TSymbolUniqueId textureGrad_us2_2f_2f_2f_ = TSymbolUniqueId(579);
static constexpr const TSymbolUniqueId textureGrad_s3_3f_3f_3f_ = TSymbolUniqueId(580);
static constexpr const TSymbolUniqueId textureGrad_is3_3f_3f_3f_ = TSymbolUniqueId(581);
static constexpr const TSymbolUniqueId textureGrad_us3_3f_3f_3f_ = TSymbolUniqueId(582);
static constexpr const TSymbolUniqueId textureGrad_sC_3f_3f_3f_ = TSymbolUniqueId(583);
static constexpr const TSymbolUniqueId textureGrad_isC_3f_3f_3f_ = TSymbolUniqueId(584);
static constexpr const TSymbolUniqueId textureGrad_usC_3f_3f_3f_ = TSymbolUniqueId(585);
static constexpr const TSymbolUniqueId textureGrad_s2s_3f_2f_2f_ = TSymbolUniqueId(586);
static constexpr const TSymbolUniqueId textureGrad_sCs_4f_3f_3f_ = TSymbolUniqueId(587);
static constexpr const TSymbolUniqueId textureGrad_sA_3f_2f_2f_ = TSymbolUniqueId(588);
static constexpr const TSymbolUniqueId textureGrad_isA_3f_2f_2f_ = TSymbolUniqueId(589);
static constexpr const TSymbolUniqueId textureGrad_usA_3f_2f_2f_ = TSymbolUniqueId(590);
static constexpr const TSymbolUniqueId textureGrad_sAs_4f_2f_2f_ = TSymbolUniqueId(591);
static constexpr const TSymbolUniqueId textureProjGrad_s2_3f_2f_2f_ = TSymbolUniqueId(592);
static constexpr const TSymbolUniqueId textureProjGrad_is2_3f_2f_2f_ = TSymbolUniqueId(593);
static constexpr const TSymbolUniqueId textureProjGrad_us2_3f_2f_2f_ = TSymbolUniqueId(594);
static constexpr const TSymbolUniqueId textureProjGrad_s2_4f_2f_2f_ = TSymbolUniqueId(595);
static constexpr const TSymbolUniqueId textureProjGrad_is2_4f_2f_2f_ = TSymbolUniqueId(596);
static constexpr const TSymbolUniqueId textureProjGrad_us2_4f_2f_2f_ = TSymbolUniqueId(597);
static constexpr const TSymbolUniqueId textureProjGrad_s3_4f_3f_3f_ = TSymbolUniqueId(598);
static constexpr const TSymbolUniqueId textureProjGrad_is3_4f_3f_3f_ = TSymbolUniqueId(599);
static constexpr const TSymbolUniqueId textureProjGrad_us3_4f_3f_3f_ = TSymbolUniqueId(600);
static constexpr const TSymbolUniqueId textureProjGrad_s2s_4f_2f_2f_ = TSymbolUniqueId(601);
static constexpr const TSymbolUniqueId textureOffset_s2_2f_2i_ = TSymbolUniqueId(602);
static constexpr const TSymbolUniqueId textureOffset_is2_2f_2i_ = TSymbolUniqueId(603);
static constexpr const TSymbolUniqueId textureOffset_us2_2f_2i_ = TSymbolUniqueId(604);
static constexpr const TSymbolUniqueId textureOffset_s3_3f_3i_ = TSymbolUniqueId(605);
static constexpr const TSymbolUniqueId textureOffset_is3_3f_3i_ = TSymbolUniqueId(606);
static constexpr const TSymbolUniqueId textureOffset_us3_3f_3i_ = TSymbolUniqueId(607);
static constexpr const TSymbolUniqueId textureOffset_s2s_3f_2i_ = TSymbolUniqueId(608);
static constexpr const TSymbolUniqueId textureOffset_sA_3f_2i_ = TSymbolUniqueId(609);
static constexpr const TSymbolUniqueId textureOffset_isA_3f_2i_ = TSymbolUniqueId(610);
static constexpr const TSymbolUniqueId textureOffset_usA_3f_2i_ = TSymbolUniqueId(611);
static constexpr const TSymbolUniqueId textureProjOffset_s2_3f_2i_ = TSymbolUniqueId(612);
static constexpr const TSymbolUniqueId textureProjOffset_is2_3f_2i_ = TSymbolUniqueId(613);
static constexpr const TSymbolUniqueId textureProjOffset_us2_3f_2i_ = TSymbolUniqueId(614);
static constexpr const TSymbolUniqueId textureProjOffset_s2_4f_2i_ = TSymbolUniqueId(615);
static constexpr const TSymbolUniqueId textureProjOffset_is2_4f_2i_ = TSymbolUniqueId(616);
static constexpr const TSymbolUniqueId textureProjOffset_us2_4f_2i_ = TSymbolUniqueId(617);
static constexpr const TSymbolUniqueId textureProjOffset_s3_4f_3i_ = TSymbolUniqueId(618);
static constexpr const TSymbolUniqueId textureProjOffset_is3_4f_3i_ = TSymbolUniqueId(619);
static constexpr const TSymbolUniqueId textureProjOffset_us3_4f_3i_ = TSymbolUniqueId(620);
static constexpr const TSymbolUniqueId textureProjOffset_s2s_4f_2i_ = TSymbolUniqueId(621);
static constexpr const TSymbolUniqueId textureLodOffset_s2_2f_f_2i_ = TSymbolUniqueId(622);
static constexpr const TSymbolUniqueId textureLodOffset_is2_2f_f_2i_ = TSymbolUniqueId(623);
static constexpr const TSymbolUniqueId textureLodOffset_us2_2f_f_2i_ = TSymbolUniqueId(624);
static constexpr const TSymbolUniqueId textureLodOffset_s3_3f_f_3i_ = TSymbolUniqueId(625);
static constexpr const TSymbolUniqueId textureLodOffset_is3_3f_f_3i_ = TSymbolUniqueId(626);
static constexpr const TSymbolUniqueId textureLodOffset_us3_3f_f_3i_ = TSymbolUniqueId(627);
static constexpr const TSymbolUniqueId textureLodOffset_s2s_3f_f_2i_ = TSymbolUniqueId(628);
static constexpr const TSymbolUniqueId textureLodOffset_sA_3f_f_2i_ = TSymbolUniqueId(629);
static constexpr const TSymbolUniqueId textureLodOffset_isA_3f_f_2i_ = TSymbolUniqueId(630);
static constexpr const TSymbolUniqueId textureLodOffset_usA_3f_f_2i_ = TSymbolUniqueId(631);
static constexpr const TSymbolUniqueId textureProjLodOffset_s2_3f_f_2i_ = TSymbolUniqueId(632);
static constexpr const TSymbolUniqueId textureProjLodOffset_is2_3f_f_2i_ = TSymbolUniqueId(633);
static constexpr const TSymbolUniqueId textureProjLodOffset_us2_3f_f_2i_ = TSymbolUniqueId(634);
static constexpr const TSymbolUniqueId textureProjLodOffset_s2_4f_f_2i_ = TSymbolUniqueId(635);
static constexpr const TSymbolUniqueId textureProjLodOffset_is2_4f_f_2i_ = TSymbolUniqueId(636);
static constexpr const TSymbolUniqueId textureProjLodOffset_us2_4f_f_2i_ = TSymbolUniqueId(637);
static constexpr const TSymbolUniqueId textureProjLodOffset_s3_4f_f_3i_ = TSymbolUniqueId(638);
static constexpr const TSymbolUniqueId textureProjLodOffset_is3_4f_f_3i_ = TSymbolUniqueId(639);
static constexpr const TSymbolUniqueId textureProjLodOffset_us3_4f_f_3i_ = TSymbolUniqueId(640);
static constexpr const TSymbolUniqueId textureProjLodOffset_s2s_4f_f_2i_ = TSymbolUniqueId(641);
static constexpr const TSymbolUniqueId texelFetchOffset_s2_2i_i_2i_ = TSymbolUniqueId(642);
static constexpr const TSymbolUniqueId texelFetchOffset_is2_2i_i_2i_ = TSymbolUniqueId(643);
static constexpr const TSymbolUniqueId texelFetchOffset_us2_2i_i_2i_ = TSymbolUniqueId(644);
static constexpr const TSymbolUniqueId texelFetchOffset_s3_3i_i_3i_ = TSymbolUniqueId(645);
static constexpr const TSymbolUniqueId texelFetchOffset_is3_3i_i_3i_ = TSymbolUniqueId(646);
static constexpr const TSymbolUniqueId texelFetchOffset_us3_3i_i_3i_ = TSymbolUniqueId(647);
static constexpr const TSymbolUniqueId texelFetchOffset_sA_3i_i_2i_ = TSymbolUniqueId(648);
static constexpr const TSymbolUniqueId texelFetchOffset_isA_3i_i_2i_ = TSymbolUniqueId(649);
static constexpr const TSymbolUniqueId texelFetchOffset_usA_3i_i_2i_ = TSymbolUniqueId(650);
static constexpr const TSymbolUniqueId textureGradOffset_s2_2f_2f_2f_2i_ = TSymbolUniqueId(651);
static constexpr const TSymbolUniqueId texture_sR_2f_ = TSymbolUniqueId(474);
static constexpr const TSymbolUniqueId textureProj_sR_3f_ = TSymbolUniqueId(475);
static constexpr const TSymbolUniqueId textureProj_sR_4f_ = TSymbolUniqueId(476);
static constexpr const TSymbolUniqueId texture2DGradEXT_s2_2f_2f_2f_ = TSymbolUniqueId(477);
static constexpr const TSymbolUniqueId texture2DProjGradEXT_s2_3f_2f_2f_ = TSymbolUniqueId(478);
static constexpr const TSymbolUniqueId texture2DProjGradEXT_s2_4f_2f_2f_ = TSymbolUniqueId(479);
static constexpr const TSymbolUniqueId textureCubeGradEXT_sC_3f_3f_3f_ = TSymbolUniqueId(480);
static constexpr const TSymbolUniqueId texture2D_s2_2f_f_ = TSymbolUniqueId(481);
static constexpr const TSymbolUniqueId texture2DProj_s2_3f_f_ = TSymbolUniqueId(482);
static constexpr const TSymbolUniqueId texture2DProj_s2_4f_f_ = TSymbolUniqueId(483);
static constexpr const TSymbolUniqueId textureCube_sC_3f_f_ = TSymbolUniqueId(484);
static constexpr const TSymbolUniqueId dFdxExt_f_ = TSymbolUniqueId(485);
static constexpr const TSymbolUniqueId dFdxExt_2f_ = TSymbolUniqueId(486);
static constexpr const TSymbolUniqueId dFdxExt_3f_ = TSymbolUniqueId(487);
static constexpr const TSymbolUniqueId dFdxExt_4f_ = TSymbolUniqueId(488);
static constexpr const TSymbolUniqueId dFdyExt_f_ = TSymbolUniqueId(489);
static constexpr const TSymbolUniqueId dFdyExt_2f_ = TSymbolUniqueId(490);
static constexpr const TSymbolUniqueId dFdyExt_3f_ = TSymbolUniqueId(491);
static constexpr const TSymbolUniqueId dFdyExt_4f_ = TSymbolUniqueId(492);
static constexpr const TSymbolUniqueId fwidthExt_f_ = TSymbolUniqueId(493);
static constexpr const TSymbolUniqueId fwidthExt_2f_ = TSymbolUniqueId(494);
static constexpr const TSymbolUniqueId fwidthExt_3f_ = TSymbolUniqueId(495);
static constexpr const TSymbolUniqueId fwidthExt_4f_ = TSymbolUniqueId(496);
static constexpr const TSymbolUniqueId texture2DLodEXT_s2_2f_f_ = TSymbolUniqueId(497);
static constexpr const TSymbolUniqueId texture2DProjLodEXT_s2_3f_f_ = TSymbolUniqueId(498);
static constexpr const TSymbolUniqueId texture2DProjLodEXT_s2_4f_f_ = TSymbolUniqueId(499);
static constexpr const TSymbolUniqueId textureCubeLodEXT_sC_3f_f_ = TSymbolUniqueId(500);
static constexpr const TSymbolUniqueId texture2DLod_s2_2f_f_ = TSymbolUniqueId(501);
static constexpr const TSymbolUniqueId texture2DProjLod_s2_3f_f_ = TSymbolUniqueId(502);
static constexpr const TSymbolUniqueId texture2DProjLod_s2_4f_f_ = TSymbolUniqueId(503);
static constexpr const TSymbolUniqueId textureCubeLod_sC_3f_f_ = TSymbolUniqueId(504);
static constexpr const TSymbolUniqueId texture_s2_2f_ = TSymbolUniqueId(505);
static constexpr const TSymbolUniqueId texture_is2_2f_ = TSymbolUniqueId(506);
static constexpr const TSymbolUniqueId texture_us2_2f_ = TSymbolUniqueId(507);
static constexpr const TSymbolUniqueId texture_s3_3f_ = TSymbolUniqueId(508);
static constexpr const TSymbolUniqueId texture_is3_3f_ = TSymbolUniqueId(509);
static constexpr const TSymbolUniqueId texture_us3_3f_ = TSymbolUniqueId(510);
static constexpr const TSymbolUniqueId texture_sC_3f_ = TSymbolUniqueId(511);
static constexpr const TSymbolUniqueId texture_isC_3f_ = TSymbolUniqueId(512);
static constexpr const TSymbolUniqueId texture_usC_3f_ = TSymbolUniqueId(513);
static constexpr const TSymbolUniqueId texture_sA_3f_ = TSymbolUniqueId(514);
static constexpr const TSymbolUniqueId texture_isA_3f_ = TSymbolUniqueId(515);
static constexpr const TSymbolUniqueId texture_usA_3f_ = TSymbolUniqueId(516);
static constexpr const TSymbolUniqueId textureProj_s2_3f_ = TSymbolUniqueId(517);
static constexpr const TSymbolUniqueId textureProj_is2_3f_ = TSymbolUniqueId(518);
static constexpr const TSymbolUniqueId textureProj_us2_3f_ = TSymbolUniqueId(519);
static constexpr const TSymbolUniqueId textureProj_s2_4f_ = TSymbolUniqueId(520);
static constexpr const TSymbolUniqueId textureProj_is2_4f_ = TSymbolUniqueId(521);
static constexpr const TSymbolUniqueId textureProj_us2_4f_ = TSymbolUniqueId(522);
static constexpr const TSymbolUniqueId textureProj_s3_4f_ = TSymbolUniqueId(523);
static constexpr const TSymbolUniqueId textureProj_is3_4f_ = TSymbolUniqueId(524);
static constexpr const TSymbolUniqueId textureProj_us3_4f_ = TSymbolUniqueId(525);
static constexpr const TSymbolUniqueId textureLod_s2_2f_f_ = TSymbolUniqueId(526);
static constexpr const TSymbolUniqueId textureLod_is2_2f_f_ = TSymbolUniqueId(527);
static constexpr const TSymbolUniqueId textureLod_us2_2f_f_ = TSymbolUniqueId(528);
static constexpr const TSymbolUniqueId textureLod_s3_3f_f_ = TSymbolUniqueId(529);
static constexpr const TSymbolUniqueId textureLod_is3_3f_f_ = TSymbolUniqueId(530);
static constexpr const TSymbolUniqueId textureLod_us3_3f_f_ = TSymbolUniqueId(531);
static constexpr const TSymbolUniqueId textureLod_sC_3f_f_ = TSymbolUniqueId(532);
static constexpr const TSymbolUniqueId textureLod_isC_3f_f_ = TSymbolUniqueId(533);
static constexpr const TSymbolUniqueId textureLod_usC_3f_f_ = TSymbolUniqueId(534);
static constexpr const TSymbolUniqueId textureLod_sA_3f_f_ = TSymbolUniqueId(535);
static constexpr const TSymbolUniqueId textureLod_isA_3f_f_ = TSymbolUniqueId(536);
static constexpr const TSymbolUniqueId textureLod_usA_3f_f_ = TSymbolUniqueId(537);
static constexpr const TSymbolUniqueId texture_s2s_3f_ = TSymbolUniqueId(538);
static constexpr const TSymbolUniqueId texture_sCs_4f_ = TSymbolUniqueId(539);
static constexpr const TSymbolUniqueId texture_sAs_4f_ = TSymbolUniqueId(540);
static constexpr const TSymbolUniqueId textureProj_s2s_4f_ = TSymbolUniqueId(541);
static constexpr const TSymbolUniqueId textureLod_s2s_3f_f_ = TSymbolUniqueId(542);
static constexpr const TSymbolUniqueId textureSize_s2_i_ = TSymbolUniqueId(543);
static constexpr const TSymbolUniqueId textureSize_is2_i_ = TSymbolUniqueId(544);
static constexpr const TSymbolUniqueId textureSize_us2_i_ = TSymbolUniqueId(545);
static constexpr const TSymbolUniqueId textureSize_s3_i_ = TSymbolUniqueId(546);
static constexpr const TSymbolUniqueId textureSize_is3_i_ = TSymbolUniqueId(547);
static constexpr const TSymbolUniqueId textureSize_us3_i_ = TSymbolUniqueId(548);
static constexpr const TSymbolUniqueId textureSize_sC_i_ = TSymbolUniqueId(549);
static constexpr const TSymbolUniqueId textureSize_isC_i_ = TSymbolUniqueId(550);
static constexpr const TSymbolUniqueId textureSize_usC_i_ = TSymbolUniqueId(551);
static constexpr const TSymbolUniqueId textureSize_sA_i_ = TSymbolUniqueId(552);
static constexpr const TSymbolUniqueId textureSize_isA_i_ = TSymbolUniqueId(553);
static constexpr const TSymbolUniqueId textureSize_usA_i_ = TSymbolUniqueId(554);
static constexpr const TSymbolUniqueId textureSize_s2s_i_ = TSymbolUniqueId(555);
static constexpr const TSymbolUniqueId textureSize_sCs_i_ = TSymbolUniqueId(556);
static constexpr const TSymbolUniqueId textureSize_sAs_i_ = TSymbolUniqueId(557);
static constexpr const TSymbolUniqueId textureSize_sM_ = TSymbolUniqueId(558);
static constexpr const TSymbolUniqueId textureSize_isM_ = TSymbolUniqueId(559);
static constexpr const TSymbolUniqueId textureSize_usM_ = TSymbolUniqueId(560);
static constexpr const TSymbolUniqueId textureProjLod_s2_3f_f_ = TSymbolUniqueId(561);
static constexpr const TSymbolUniqueId textureProjLod_is2_3f_f_ = TSymbolUniqueId(562);
static constexpr const TSymbolUniqueId textureProjLod_us2_3f_f_ = TSymbolUniqueId(563);
static constexpr const TSymbolUniqueId textureProjLod_s2_4f_f_ = TSymbolUniqueId(564);
static constexpr const TSymbolUniqueId textureProjLod_is2_4f_f_ = TSymbolUniqueId(565);
static constexpr const TSymbolUniqueId textureProjLod_us2_4f_f_ = TSymbolUniqueId(566);
static constexpr const TSymbolUniqueId textureProjLod_s3_4f_f_ = TSymbolUniqueId(567);
static constexpr const TSymbolUniqueId textureProjLod_is3_4f_f_ = TSymbolUniqueId(568);
static constexpr const TSymbolUniqueId textureProjLod_us3_4f_f_ = TSymbolUniqueId(569);
static constexpr const TSymbolUniqueId textureProjLod_s2s_4f_f_ = TSymbolUniqueId(570);
static constexpr const TSymbolUniqueId texelFetch_s2_2i_i_ = TSymbolUniqueId(571);
static constexpr const TSymbolUniqueId texelFetch_is2_2i_i_ = TSymbolUniqueId(572);
static constexpr const TSymbolUniqueId texelFetch_us2_2i_i_ = TSymbolUniqueId(573);
static constexpr const TSymbolUniqueId texelFetch_s3_3i_i_ = TSymbolUniqueId(574);
static constexpr const TSymbolUniqueId texelFetch_is3_3i_i_ = TSymbolUniqueId(575);
static constexpr const TSymbolUniqueId texelFetch_us3_3i_i_ = TSymbolUniqueId(576);
static constexpr const TSymbolUniqueId texelFetch_sA_3i_i_ = TSymbolUniqueId(577);
static constexpr const TSymbolUniqueId texelFetch_isA_3i_i_ = TSymbolUniqueId(578);
static constexpr const TSymbolUniqueId texelFetch_usA_3i_i_ = TSymbolUniqueId(579);
static constexpr const TSymbolUniqueId textureGrad_s2_2f_2f_2f_ = TSymbolUniqueId(580);
static constexpr const TSymbolUniqueId textureGrad_is2_2f_2f_2f_ = TSymbolUniqueId(581);
static constexpr const TSymbolUniqueId textureGrad_us2_2f_2f_2f_ = TSymbolUniqueId(582);
static constexpr const TSymbolUniqueId textureGrad_s3_3f_3f_3f_ = TSymbolUniqueId(583);
static constexpr const TSymbolUniqueId textureGrad_is3_3f_3f_3f_ = TSymbolUniqueId(584);
static constexpr const TSymbolUniqueId textureGrad_us3_3f_3f_3f_ = TSymbolUniqueId(585);
static constexpr const TSymbolUniqueId textureGrad_sC_3f_3f_3f_ = TSymbolUniqueId(586);
static constexpr const TSymbolUniqueId textureGrad_isC_3f_3f_3f_ = TSymbolUniqueId(587);
static constexpr const TSymbolUniqueId textureGrad_usC_3f_3f_3f_ = TSymbolUniqueId(588);
static constexpr const TSymbolUniqueId textureGrad_s2s_3f_2f_2f_ = TSymbolUniqueId(589);
static constexpr const TSymbolUniqueId textureGrad_sCs_4f_3f_3f_ = TSymbolUniqueId(590);
static constexpr const TSymbolUniqueId textureGrad_sA_3f_2f_2f_ = TSymbolUniqueId(591);
static constexpr const TSymbolUniqueId textureGrad_isA_3f_2f_2f_ = TSymbolUniqueId(592);
static constexpr const TSymbolUniqueId textureGrad_usA_3f_2f_2f_ = TSymbolUniqueId(593);
static constexpr const TSymbolUniqueId textureGrad_sAs_4f_2f_2f_ = TSymbolUniqueId(594);
static constexpr const TSymbolUniqueId textureProjGrad_s2_3f_2f_2f_ = TSymbolUniqueId(595);
static constexpr const TSymbolUniqueId textureProjGrad_is2_3f_2f_2f_ = TSymbolUniqueId(596);
static constexpr const TSymbolUniqueId textureProjGrad_us2_3f_2f_2f_ = TSymbolUniqueId(597);
static constexpr const TSymbolUniqueId textureProjGrad_s2_4f_2f_2f_ = TSymbolUniqueId(598);
static constexpr const TSymbolUniqueId textureProjGrad_is2_4f_2f_2f_ = TSymbolUniqueId(599);
static constexpr const TSymbolUniqueId textureProjGrad_us2_4f_2f_2f_ = TSymbolUniqueId(600);
static constexpr const TSymbolUniqueId textureProjGrad_s3_4f_3f_3f_ = TSymbolUniqueId(601);
static constexpr const TSymbolUniqueId textureProjGrad_is3_4f_3f_3f_ = TSymbolUniqueId(602);
static constexpr const TSymbolUniqueId textureProjGrad_us3_4f_3f_3f_ = TSymbolUniqueId(603);
static constexpr const TSymbolUniqueId textureProjGrad_s2s_4f_2f_2f_ = TSymbolUniqueId(604);
static constexpr const TSymbolUniqueId textureOffset_s2_2f_2i_ = TSymbolUniqueId(605);
static constexpr const TSymbolUniqueId textureOffset_is2_2f_2i_ = TSymbolUniqueId(606);
static constexpr const TSymbolUniqueId textureOffset_us2_2f_2i_ = TSymbolUniqueId(607);
static constexpr const TSymbolUniqueId textureOffset_s3_3f_3i_ = TSymbolUniqueId(608);
static constexpr const TSymbolUniqueId textureOffset_is3_3f_3i_ = TSymbolUniqueId(609);
static constexpr const TSymbolUniqueId textureOffset_us3_3f_3i_ = TSymbolUniqueId(610);
static constexpr const TSymbolUniqueId textureOffset_s2s_3f_2i_ = TSymbolUniqueId(611);
static constexpr const TSymbolUniqueId textureOffset_sA_3f_2i_ = TSymbolUniqueId(612);
static constexpr const TSymbolUniqueId textureOffset_isA_3f_2i_ = TSymbolUniqueId(613);
static constexpr const TSymbolUniqueId textureOffset_usA_3f_2i_ = TSymbolUniqueId(614);
static constexpr const TSymbolUniqueId textureProjOffset_s2_3f_2i_ = TSymbolUniqueId(615);
static constexpr const TSymbolUniqueId textureProjOffset_is2_3f_2i_ = TSymbolUniqueId(616);
static constexpr const TSymbolUniqueId textureProjOffset_us2_3f_2i_ = TSymbolUniqueId(617);
static constexpr const TSymbolUniqueId textureProjOffset_s2_4f_2i_ = TSymbolUniqueId(618);
static constexpr const TSymbolUniqueId textureProjOffset_is2_4f_2i_ = TSymbolUniqueId(619);
static constexpr const TSymbolUniqueId textureProjOffset_us2_4f_2i_ = TSymbolUniqueId(620);
static constexpr const TSymbolUniqueId textureProjOffset_s3_4f_3i_ = TSymbolUniqueId(621);
static constexpr const TSymbolUniqueId textureProjOffset_is3_4f_3i_ = TSymbolUniqueId(622);
static constexpr const TSymbolUniqueId textureProjOffset_us3_4f_3i_ = TSymbolUniqueId(623);
static constexpr const TSymbolUniqueId textureProjOffset_s2s_4f_2i_ = TSymbolUniqueId(624);
static constexpr const TSymbolUniqueId textureLodOffset_s2_2f_f_2i_ = TSymbolUniqueId(625);
static constexpr const TSymbolUniqueId textureLodOffset_is2_2f_f_2i_ = TSymbolUniqueId(626);
static constexpr const TSymbolUniqueId textureLodOffset_us2_2f_f_2i_ = TSymbolUniqueId(627);
static constexpr const TSymbolUniqueId textureLodOffset_s3_3f_f_3i_ = TSymbolUniqueId(628);
static constexpr const TSymbolUniqueId textureLodOffset_is3_3f_f_3i_ = TSymbolUniqueId(629);
static constexpr const TSymbolUniqueId textureLodOffset_us3_3f_f_3i_ = TSymbolUniqueId(630);
static constexpr const TSymbolUniqueId textureLodOffset_s2s_3f_f_2i_ = TSymbolUniqueId(631);
static constexpr const TSymbolUniqueId textureLodOffset_sA_3f_f_2i_ = TSymbolUniqueId(632);
static constexpr const TSymbolUniqueId textureLodOffset_isA_3f_f_2i_ = TSymbolUniqueId(633);
static constexpr const TSymbolUniqueId textureLodOffset_usA_3f_f_2i_ = TSymbolUniqueId(634);
static constexpr const TSymbolUniqueId textureProjLodOffset_s2_3f_f_2i_ = TSymbolUniqueId(635);
static constexpr const TSymbolUniqueId textureProjLodOffset_is2_3f_f_2i_ = TSymbolUniqueId(636);
static constexpr const TSymbolUniqueId textureProjLodOffset_us2_3f_f_2i_ = TSymbolUniqueId(637);
static constexpr const TSymbolUniqueId textureProjLodOffset_s2_4f_f_2i_ = TSymbolUniqueId(638);
static constexpr const TSymbolUniqueId textureProjLodOffset_is2_4f_f_2i_ = TSymbolUniqueId(639);
static constexpr const TSymbolUniqueId textureProjLodOffset_us2_4f_f_2i_ = TSymbolUniqueId(640);
static constexpr const TSymbolUniqueId textureProjLodOffset_s3_4f_f_3i_ = TSymbolUniqueId(641);
static constexpr const TSymbolUniqueId textureProjLodOffset_is3_4f_f_3i_ = TSymbolUniqueId(642);
static constexpr const TSymbolUniqueId textureProjLodOffset_us3_4f_f_3i_ = TSymbolUniqueId(643);
static constexpr const TSymbolUniqueId textureProjLodOffset_s2s_4f_f_2i_ = TSymbolUniqueId(644);
static constexpr const TSymbolUniqueId texelFetchOffset_s2_2i_i_2i_ = TSymbolUniqueId(645);
static constexpr const TSymbolUniqueId texelFetchOffset_is2_2i_i_2i_ = TSymbolUniqueId(646);
static constexpr const TSymbolUniqueId texelFetchOffset_us2_2i_i_2i_ = TSymbolUniqueId(647);
static constexpr const TSymbolUniqueId texelFetchOffset_s3_3i_i_3i_ = TSymbolUniqueId(648);
static constexpr const TSymbolUniqueId texelFetchOffset_is3_3i_i_3i_ = TSymbolUniqueId(649);
static constexpr const TSymbolUniqueId texelFetchOffset_us3_3i_i_3i_ = TSymbolUniqueId(650);
static constexpr const TSymbolUniqueId texelFetchOffset_sA_3i_i_2i_ = TSymbolUniqueId(651);
static constexpr const TSymbolUniqueId texelFetchOffset_isA_3i_i_2i_ = TSymbolUniqueId(652);
static constexpr const TSymbolUniqueId texelFetchOffset_usA_3i_i_2i_ = TSymbolUniqueId(653);
static constexpr const TSymbolUniqueId textureGradOffset_s2_2f_2f_2f_2i_ = TSymbolUniqueId(654);
static constexpr const TSymbolUniqueId textureGradOffset_is2_2f_2f_2f_2i_ =
TSymbolUniqueId(652);
TSymbolUniqueId(655);
static constexpr const TSymbolUniqueId textureGradOffset_us2_2f_2f_2f_2i_ =
TSymbolUniqueId(653);
static constexpr const TSymbolUniqueId textureGradOffset_s3_3f_3f_3f_3i_ = TSymbolUniqueId(654);
TSymbolUniqueId(656);
static constexpr const TSymbolUniqueId textureGradOffset_s3_3f_3f_3f_3i_ = TSymbolUniqueId(657);
static constexpr const TSymbolUniqueId textureGradOffset_is3_3f_3f_3f_3i_ =
TSymbolUniqueId(655);
TSymbolUniqueId(658);
static constexpr const TSymbolUniqueId textureGradOffset_us3_3f_3f_3f_3i_ =
TSymbolUniqueId(656);
TSymbolUniqueId(659);
static constexpr const TSymbolUniqueId textureGradOffset_s2s_3f_2f_2f_2i_ =
TSymbolUniqueId(657);
static constexpr const TSymbolUniqueId textureGradOffset_sA_3f_2f_2f_2i_ = TSymbolUniqueId(658);
TSymbolUniqueId(660);
static constexpr const TSymbolUniqueId textureGradOffset_sA_3f_2f_2f_2i_ = TSymbolUniqueId(661);
static constexpr const TSymbolUniqueId textureGradOffset_isA_3f_2f_2f_2i_ =
TSymbolUniqueId(659);
TSymbolUniqueId(662);
static constexpr const TSymbolUniqueId textureGradOffset_usA_3f_2f_2f_2i_ =
TSymbolUniqueId(660);
TSymbolUniqueId(663);
static constexpr const TSymbolUniqueId textureGradOffset_sAs_4f_2f_2f_2i_ =
TSymbolUniqueId(661);
TSymbolUniqueId(664);
static constexpr const TSymbolUniqueId textureProjGradOffset_s2_3f_2f_2f_2i_ =
TSymbolUniqueId(662);
TSymbolUniqueId(665);
static constexpr const TSymbolUniqueId textureProjGradOffset_is2_3f_2f_2f_2i_ =
TSymbolUniqueId(663);
TSymbolUniqueId(666);
static constexpr const TSymbolUniqueId textureProjGradOffset_us2_3f_2f_2f_2i_ =
TSymbolUniqueId(664);
TSymbolUniqueId(667);
static constexpr const TSymbolUniqueId textureProjGradOffset_s2_4f_2f_2f_2i_ =
TSymbolUniqueId(665);
TSymbolUniqueId(668);
static constexpr const TSymbolUniqueId textureProjGradOffset_is2_4f_2f_2f_2i_ =
TSymbolUniqueId(666);
TSymbolUniqueId(669);
static constexpr const TSymbolUniqueId textureProjGradOffset_us2_4f_2f_2f_2i_ =
TSymbolUniqueId(667);
TSymbolUniqueId(670);
static constexpr const TSymbolUniqueId textureProjGradOffset_s3_4f_3f_3f_3i_ =
TSymbolUniqueId(668);
TSymbolUniqueId(671);
static constexpr const TSymbolUniqueId textureProjGradOffset_is3_4f_3f_3f_3i_ =
TSymbolUniqueId(669);
TSymbolUniqueId(672);
static constexpr const TSymbolUniqueId textureProjGradOffset_us3_4f_3f_3f_3i_ =
TSymbolUniqueId(670);
TSymbolUniqueId(673);
static constexpr const TSymbolUniqueId textureProjGradOffset_s2s_4f_2f_2f_2i_ =
TSymbolUniqueId(671);
static constexpr const TSymbolUniqueId textureOffset_s2_2f_2i_f_ = TSymbolUniqueId(672);
static constexpr const TSymbolUniqueId textureOffset_is2_2f_2i_f_ = TSymbolUniqueId(673);
static constexpr const TSymbolUniqueId textureOffset_us2_2f_2i_f_ = TSymbolUniqueId(674);
static constexpr const TSymbolUniqueId textureOffset_s3_3f_3i_f_ = TSymbolUniqueId(675);
static constexpr const TSymbolUniqueId textureOffset_is3_3f_3i_f_ = TSymbolUniqueId(676);
static constexpr const TSymbolUniqueId textureOffset_us3_3f_3i_f_ = TSymbolUniqueId(677);
static constexpr const TSymbolUniqueId textureOffset_s2s_3f_2i_f_ = TSymbolUniqueId(678);
static constexpr const TSymbolUniqueId textureOffset_sA_3f_2i_f_ = TSymbolUniqueId(679);
static constexpr const TSymbolUniqueId textureOffset_isA_3f_2i_f_ = TSymbolUniqueId(680);
static constexpr const TSymbolUniqueId textureOffset_usA_3f_2i_f_ = TSymbolUniqueId(681);
static constexpr const TSymbolUniqueId textureProjOffset_s2_3f_2i_f_ = TSymbolUniqueId(682);
static constexpr const TSymbolUniqueId textureProjOffset_is2_3f_2i_f_ = TSymbolUniqueId(683);
static constexpr const TSymbolUniqueId textureProjOffset_us2_3f_2i_f_ = TSymbolUniqueId(684);
static constexpr const TSymbolUniqueId textureProjOffset_s2_4f_2i_f_ = TSymbolUniqueId(685);
static constexpr const TSymbolUniqueId textureProjOffset_is2_4f_2i_f_ = TSymbolUniqueId(686);
static constexpr const TSymbolUniqueId textureProjOffset_us2_4f_2i_f_ = TSymbolUniqueId(687);
static constexpr const TSymbolUniqueId textureProjOffset_s3_4f_3i_f_ = TSymbolUniqueId(688);
static constexpr const TSymbolUniqueId textureProjOffset_is3_4f_3i_f_ = TSymbolUniqueId(689);
static constexpr const TSymbolUniqueId textureProjOffset_us3_4f_3i_f_ = TSymbolUniqueId(690);
static constexpr const TSymbolUniqueId textureProjOffset_s2s_4f_2i_f_ = TSymbolUniqueId(691);
static constexpr const TSymbolUniqueId texture_sX_2f_ = TSymbolUniqueId(692);
static constexpr const TSymbolUniqueId textureProj_sX_3f_ = TSymbolUniqueId(693);
static constexpr const TSymbolUniqueId textureProj_sX_4f_ = TSymbolUniqueId(694);
static constexpr const TSymbolUniqueId textureSize_sX_i_ = TSymbolUniqueId(695);
static constexpr const TSymbolUniqueId texelFetch_sX_2i_i_ = TSymbolUniqueId(696);
static constexpr const TSymbolUniqueId texture_sY_2f_ = TSymbolUniqueId(697);
static constexpr const TSymbolUniqueId textureProj_sY_3f_ = TSymbolUniqueId(698);
static constexpr const TSymbolUniqueId textureProj_sY_4f_ = TSymbolUniqueId(699);
static constexpr const TSymbolUniqueId rgb_2_yuv_3f_y_ = TSymbolUniqueId(700);
static constexpr const TSymbolUniqueId yuv_2_rgb_3f_y_ = TSymbolUniqueId(701);
static constexpr const TSymbolUniqueId textureSize_sY_i_ = TSymbolUniqueId(702);
static constexpr const TSymbolUniqueId texelFetch_sY_2i_i_ = TSymbolUniqueId(703);
static constexpr const TSymbolUniqueId texture_s2_2f_f_ = TSymbolUniqueId(704);
static constexpr const TSymbolUniqueId texture_is2_2f_f_ = TSymbolUniqueId(705);
static constexpr const TSymbolUniqueId texture_us2_2f_f_ = TSymbolUniqueId(706);
static constexpr const TSymbolUniqueId texture_s3_3f_f_ = TSymbolUniqueId(707);
static constexpr const TSymbolUniqueId texture_is3_3f_f_ = TSymbolUniqueId(708);
static constexpr const TSymbolUniqueId texture_us3_3f_f_ = TSymbolUniqueId(709);
static constexpr const TSymbolUniqueId texture_sC_3f_f_ = TSymbolUniqueId(710);
static constexpr const TSymbolUniqueId texture_isC_3f_f_ = TSymbolUniqueId(711);
static constexpr const TSymbolUniqueId texture_usC_3f_f_ = TSymbolUniqueId(712);
static constexpr const TSymbolUniqueId texture_sA_3f_f_ = TSymbolUniqueId(713);
static constexpr const TSymbolUniqueId texture_isA_3f_f_ = TSymbolUniqueId(714);
static constexpr const TSymbolUniqueId texture_usA_3f_f_ = TSymbolUniqueId(715);
static constexpr const TSymbolUniqueId textureProj_s2_3f_f_ = TSymbolUniqueId(716);
static constexpr const TSymbolUniqueId textureProj_is2_3f_f_ = TSymbolUniqueId(717);
static constexpr const TSymbolUniqueId textureProj_us2_3f_f_ = TSymbolUniqueId(718);
static constexpr const TSymbolUniqueId textureProj_s2_4f_f_ = TSymbolUniqueId(719);
static constexpr const TSymbolUniqueId textureProj_is2_4f_f_ = TSymbolUniqueId(720);
static constexpr const TSymbolUniqueId textureProj_us2_4f_f_ = TSymbolUniqueId(721);
static constexpr const TSymbolUniqueId textureProj_s3_4f_f_ = TSymbolUniqueId(722);
static constexpr const TSymbolUniqueId textureProj_is3_4f_f_ = TSymbolUniqueId(723);
static constexpr const TSymbolUniqueId textureProj_us3_4f_f_ = TSymbolUniqueId(724);
static constexpr const TSymbolUniqueId texture_s2s_3f_f_ = TSymbolUniqueId(725);
static constexpr const TSymbolUniqueId texture_sCs_4f_f_ = TSymbolUniqueId(726);
static constexpr const TSymbolUniqueId textureProj_s2s_4f_f_ = TSymbolUniqueId(727);
static constexpr const TSymbolUniqueId texture_sX_2f_f_ = TSymbolUniqueId(728);
static constexpr const TSymbolUniqueId textureProj_sX_3f_f_ = TSymbolUniqueId(729);
static constexpr const TSymbolUniqueId textureProj_sX_4f_f_ = TSymbolUniqueId(730);
static constexpr const TSymbolUniqueId texture_sY_2f_f_ = TSymbolUniqueId(731);
static constexpr const TSymbolUniqueId textureProj_sY_3f_f_ = TSymbolUniqueId(732);
static constexpr const TSymbolUniqueId textureProj_sY_4f_f_ = TSymbolUniqueId(733);
static constexpr const TSymbolUniqueId texelFetch_sM_2i_i_ = TSymbolUniqueId(734);
static constexpr const TSymbolUniqueId texelFetch_isM_2i_i_ = TSymbolUniqueId(735);
static constexpr const TSymbolUniqueId texelFetch_usM_2i_i_ = TSymbolUniqueId(736);
static constexpr const TSymbolUniqueId textureGather_s2_2f_ = TSymbolUniqueId(737);
static constexpr const TSymbolUniqueId textureGather_is2_2f_ = TSymbolUniqueId(738);
static constexpr const TSymbolUniqueId textureGather_us2_2f_ = TSymbolUniqueId(739);
static constexpr const TSymbolUniqueId textureGather_s2_2f_i_ = TSymbolUniqueId(740);
static constexpr const TSymbolUniqueId textureGather_is2_2f_i_ = TSymbolUniqueId(741);
static constexpr const TSymbolUniqueId textureGather_us2_2f_i_ = TSymbolUniqueId(742);
static constexpr const TSymbolUniqueId textureGather_sA_3f_ = TSymbolUniqueId(743);
static constexpr const TSymbolUniqueId textureGather_isA_3f_ = TSymbolUniqueId(744);
static constexpr const TSymbolUniqueId textureGather_usA_3f_ = TSymbolUniqueId(745);
static constexpr const TSymbolUniqueId textureGather_sA_3f_i_ = TSymbolUniqueId(746);
static constexpr const TSymbolUniqueId textureGather_isA_3f_i_ = TSymbolUniqueId(747);
static constexpr const TSymbolUniqueId textureGather_usA_3f_i_ = TSymbolUniqueId(748);
static constexpr const TSymbolUniqueId textureGather_sC_3f_ = TSymbolUniqueId(749);
static constexpr const TSymbolUniqueId textureGather_isC_3f_ = TSymbolUniqueId(750);
static constexpr const TSymbolUniqueId textureGather_usC_3f_ = TSymbolUniqueId(751);
static constexpr const TSymbolUniqueId textureGather_sC_3f_i_ = TSymbolUniqueId(752);
static constexpr const TSymbolUniqueId textureGather_isC_3f_i_ = TSymbolUniqueId(753);
static constexpr const TSymbolUniqueId textureGather_usC_3f_i_ = TSymbolUniqueId(754);
static constexpr const TSymbolUniqueId textureGather_s2s_2f_ = TSymbolUniqueId(755);
static constexpr const TSymbolUniqueId textureGather_s2s_2f_f_ = TSymbolUniqueId(756);
static constexpr const TSymbolUniqueId textureGather_sAs_3f_ = TSymbolUniqueId(757);
static constexpr const TSymbolUniqueId textureGather_sAs_3f_f_ = TSymbolUniqueId(758);
static constexpr const TSymbolUniqueId textureGather_sCs_3f_ = TSymbolUniqueId(759);
static constexpr const TSymbolUniqueId textureGather_sCs_3f_f_ = TSymbolUniqueId(760);
static constexpr const TSymbolUniqueId textureGatherOffset_s2_2f_2i_ = TSymbolUniqueId(761);
static constexpr const TSymbolUniqueId textureGatherOffset_is2_2f_2i_ = TSymbolUniqueId(762);
static constexpr const TSymbolUniqueId textureGatherOffset_us2_2f_2i_ = TSymbolUniqueId(763);
static constexpr const TSymbolUniqueId textureGatherOffset_s2_2f_2i_i_ = TSymbolUniqueId(764);
static constexpr const TSymbolUniqueId textureGatherOffset_is2_2f_2i_i_ = TSymbolUniqueId(765);
static constexpr const TSymbolUniqueId textureGatherOffset_us2_2f_2i_i_ = TSymbolUniqueId(766);
static constexpr const TSymbolUniqueId textureGatherOffset_sA_3f_2i_ = TSymbolUniqueId(767);
static constexpr const TSymbolUniqueId textureGatherOffset_isA_3f_2i_ = TSymbolUniqueId(768);
static constexpr const TSymbolUniqueId textureGatherOffset_usA_3f_2i_ = TSymbolUniqueId(769);
static constexpr const TSymbolUniqueId textureGatherOffset_sA_3f_2i_i_ = TSymbolUniqueId(770);
static constexpr const TSymbolUniqueId textureGatherOffset_isA_3f_2i_i_ = TSymbolUniqueId(771);
static constexpr const TSymbolUniqueId textureGatherOffset_usA_3f_2i_i_ = TSymbolUniqueId(772);
static constexpr const TSymbolUniqueId textureGatherOffset_s2s_2f_f_2i_ = TSymbolUniqueId(773);
static constexpr const TSymbolUniqueId textureGatherOffset_sAs_3f_f_2i_ = TSymbolUniqueId(774);
static constexpr const TSymbolUniqueId dFdx_f_ = TSymbolUniqueId(775);
static constexpr const TSymbolUniqueId dFdx_2f_ = TSymbolUniqueId(776);
static constexpr const TSymbolUniqueId dFdx_3f_ = TSymbolUniqueId(777);
static constexpr const TSymbolUniqueId dFdx_4f_ = TSymbolUniqueId(778);
static constexpr const TSymbolUniqueId dFdy_f_ = TSymbolUniqueId(779);
static constexpr const TSymbolUniqueId dFdy_2f_ = TSymbolUniqueId(780);
static constexpr const TSymbolUniqueId dFdy_3f_ = TSymbolUniqueId(781);
static constexpr const TSymbolUniqueId dFdy_4f_ = TSymbolUniqueId(782);
static constexpr const TSymbolUniqueId fwidth_f_ = TSymbolUniqueId(783);
static constexpr const TSymbolUniqueId fwidth_2f_ = TSymbolUniqueId(784);
static constexpr const TSymbolUniqueId fwidth_3f_ = TSymbolUniqueId(785);
static constexpr const TSymbolUniqueId fwidth_4f_ = TSymbolUniqueId(786);
static constexpr const TSymbolUniqueId atomicCounter_a_ = TSymbolUniqueId(787);
static constexpr const TSymbolUniqueId atomicCounterIncrement_a_ = TSymbolUniqueId(788);
static constexpr const TSymbolUniqueId atomicCounterDecrement_a_ = TSymbolUniqueId(789);
static constexpr const TSymbolUniqueId atomicAdd_u_u_ = TSymbolUniqueId(790);
static constexpr const TSymbolUniqueId atomicAdd_i_i_ = TSymbolUniqueId(791);
static constexpr const TSymbolUniqueId atomicMin_u_u_ = TSymbolUniqueId(792);
static constexpr const TSymbolUniqueId atomicMin_i_i_ = TSymbolUniqueId(793);
static constexpr const TSymbolUniqueId atomicMax_u_u_ = TSymbolUniqueId(794);
static constexpr const TSymbolUniqueId atomicMax_i_i_ = TSymbolUniqueId(795);
static constexpr const TSymbolUniqueId atomicAnd_u_u_ = TSymbolUniqueId(796);
static constexpr const TSymbolUniqueId atomicAnd_i_i_ = TSymbolUniqueId(797);
static constexpr const TSymbolUniqueId atomicOr_u_u_ = TSymbolUniqueId(798);
static constexpr const TSymbolUniqueId atomicOr_i_i_ = TSymbolUniqueId(799);
static constexpr const TSymbolUniqueId atomicXor_u_u_ = TSymbolUniqueId(800);
static constexpr const TSymbolUniqueId atomicXor_i_i_ = TSymbolUniqueId(801);
static constexpr const TSymbolUniqueId atomicExchange_u_u_ = TSymbolUniqueId(802);
static constexpr const TSymbolUniqueId atomicExchange_i_i_ = TSymbolUniqueId(803);
static constexpr const TSymbolUniqueId atomicCompSwap_u_u_u_ = TSymbolUniqueId(804);
static constexpr const TSymbolUniqueId atomicCompSwap_i_i_i_ = TSymbolUniqueId(805);
static constexpr const TSymbolUniqueId imageSize_I2_ = TSymbolUniqueId(806);
static constexpr const TSymbolUniqueId imageSize_iI2_ = TSymbolUniqueId(807);
static constexpr const TSymbolUniqueId imageSize_uI2_ = TSymbolUniqueId(808);
static constexpr const TSymbolUniqueId imageSize_I3_ = TSymbolUniqueId(809);
static constexpr const TSymbolUniqueId imageSize_iI3_ = TSymbolUniqueId(810);
static constexpr const TSymbolUniqueId imageSize_uI3_ = TSymbolUniqueId(811);
static constexpr const TSymbolUniqueId imageSize_IA_ = TSymbolUniqueId(812);
static constexpr const TSymbolUniqueId imageSize_iIA_ = TSymbolUniqueId(813);
static constexpr const TSymbolUniqueId imageSize_uIA_ = TSymbolUniqueId(814);
static constexpr const TSymbolUniqueId imageSize_Ic_ = TSymbolUniqueId(815);
static constexpr const TSymbolUniqueId imageSize_iIc_ = TSymbolUniqueId(816);
static constexpr const TSymbolUniqueId imageSize_uIc_ = TSymbolUniqueId(817);
static constexpr const TSymbolUniqueId imageLoad_I2_2i_ = TSymbolUniqueId(818);
static constexpr const TSymbolUniqueId imageLoad_iI2_2i_ = TSymbolUniqueId(819);
static constexpr const TSymbolUniqueId imageLoad_uI2_2i_ = TSymbolUniqueId(820);
static constexpr const TSymbolUniqueId imageLoad_I3_3i_ = TSymbolUniqueId(821);
static constexpr const TSymbolUniqueId imageLoad_iI3_3i_ = TSymbolUniqueId(822);
static constexpr const TSymbolUniqueId imageLoad_uI3_3i_ = TSymbolUniqueId(823);
static constexpr const TSymbolUniqueId imageLoad_IA_3i_ = TSymbolUniqueId(824);
static constexpr const TSymbolUniqueId imageLoad_iIA_3i_ = TSymbolUniqueId(825);
static constexpr const TSymbolUniqueId imageLoad_uIA_3i_ = TSymbolUniqueId(826);
static constexpr const TSymbolUniqueId imageLoad_Ic_3i_ = TSymbolUniqueId(827);
static constexpr const TSymbolUniqueId imageLoad_iIc_3i_ = TSymbolUniqueId(828);
static constexpr const TSymbolUniqueId imageLoad_uIc_3i_ = TSymbolUniqueId(829);
static constexpr const TSymbolUniqueId imageStore_I2_2i_4f_ = TSymbolUniqueId(830);
static constexpr const TSymbolUniqueId imageStore_iI2_2i_4i_ = TSymbolUniqueId(831);
static constexpr const TSymbolUniqueId imageStore_uI2_2i_4u_ = TSymbolUniqueId(832);
static constexpr const TSymbolUniqueId imageStore_I3_3i_4f_ = TSymbolUniqueId(833);
static constexpr const TSymbolUniqueId imageStore_iI3_3i_4i_ = TSymbolUniqueId(834);
static constexpr const TSymbolUniqueId imageStore_uI3_3i_4u_ = TSymbolUniqueId(835);
static constexpr const TSymbolUniqueId imageStore_IA_3i_4f_ = TSymbolUniqueId(836);
static constexpr const TSymbolUniqueId imageStore_iIA_3i_4i_ = TSymbolUniqueId(837);
static constexpr const TSymbolUniqueId imageStore_uIA_3i_4u_ = TSymbolUniqueId(838);
static constexpr const TSymbolUniqueId imageStore_Ic_3i_4f_ = TSymbolUniqueId(839);
static constexpr const TSymbolUniqueId imageStore_iIc_3i_4i_ = TSymbolUniqueId(840);
static constexpr const TSymbolUniqueId imageStore_uIc_3i_4u_ = TSymbolUniqueId(841);
static constexpr const TSymbolUniqueId memoryBarrier_ = TSymbolUniqueId(842);
static constexpr const TSymbolUniqueId memoryBarrierAtomicCounter_ = TSymbolUniqueId(843);
static constexpr const TSymbolUniqueId memoryBarrierBuffer_ = TSymbolUniqueId(844);
static constexpr const TSymbolUniqueId memoryBarrierImage_ = TSymbolUniqueId(845);
static constexpr const TSymbolUniqueId barrier_ = TSymbolUniqueId(846);
static constexpr const TSymbolUniqueId memoryBarrierShared_ = TSymbolUniqueId(847);
static constexpr const TSymbolUniqueId groupMemoryBarrier_ = TSymbolUniqueId(848);
static constexpr const TSymbolUniqueId EmitVertex_ = TSymbolUniqueId(849);
static constexpr const TSymbolUniqueId EndPrimitive_ = TSymbolUniqueId(850);
TSymbolUniqueId(674);
static constexpr const TSymbolUniqueId textureOffset_s2_2f_2i_f_ = TSymbolUniqueId(675);
static constexpr const TSymbolUniqueId textureOffset_is2_2f_2i_f_ = TSymbolUniqueId(676);
static constexpr const TSymbolUniqueId textureOffset_us2_2f_2i_f_ = TSymbolUniqueId(677);
static constexpr const TSymbolUniqueId textureOffset_s3_3f_3i_f_ = TSymbolUniqueId(678);
static constexpr const TSymbolUniqueId textureOffset_is3_3f_3i_f_ = TSymbolUniqueId(679);
static constexpr const TSymbolUniqueId textureOffset_us3_3f_3i_f_ = TSymbolUniqueId(680);
static constexpr const TSymbolUniqueId textureOffset_s2s_3f_2i_f_ = TSymbolUniqueId(681);
static constexpr const TSymbolUniqueId textureOffset_sA_3f_2i_f_ = TSymbolUniqueId(682);
static constexpr const TSymbolUniqueId textureOffset_isA_3f_2i_f_ = TSymbolUniqueId(683);
static constexpr const TSymbolUniqueId textureOffset_usA_3f_2i_f_ = TSymbolUniqueId(684);
static constexpr const TSymbolUniqueId textureProjOffset_s2_3f_2i_f_ = TSymbolUniqueId(685);
static constexpr const TSymbolUniqueId textureProjOffset_is2_3f_2i_f_ = TSymbolUniqueId(686);
static constexpr const TSymbolUniqueId textureProjOffset_us2_3f_2i_f_ = TSymbolUniqueId(687);
static constexpr const TSymbolUniqueId textureProjOffset_s2_4f_2i_f_ = TSymbolUniqueId(688);
static constexpr const TSymbolUniqueId textureProjOffset_is2_4f_2i_f_ = TSymbolUniqueId(689);
static constexpr const TSymbolUniqueId textureProjOffset_us2_4f_2i_f_ = TSymbolUniqueId(690);
static constexpr const TSymbolUniqueId textureProjOffset_s3_4f_3i_f_ = TSymbolUniqueId(691);
static constexpr const TSymbolUniqueId textureProjOffset_is3_4f_3i_f_ = TSymbolUniqueId(692);
static constexpr const TSymbolUniqueId textureProjOffset_us3_4f_3i_f_ = TSymbolUniqueId(693);
static constexpr const TSymbolUniqueId textureProjOffset_s2s_4f_2i_f_ = TSymbolUniqueId(694);
static constexpr const TSymbolUniqueId texture_sX_2f_ = TSymbolUniqueId(695);
static constexpr const TSymbolUniqueId textureProj_sX_3f_ = TSymbolUniqueId(696);
static constexpr const TSymbolUniqueId textureProj_sX_4f_ = TSymbolUniqueId(697);
static constexpr const TSymbolUniqueId textureSize_sX_i_ = TSymbolUniqueId(698);
static constexpr const TSymbolUniqueId texelFetch_sX_2i_i_ = TSymbolUniqueId(699);
static constexpr const TSymbolUniqueId texture_sY_2f_ = TSymbolUniqueId(700);
static constexpr const TSymbolUniqueId textureProj_sY_3f_ = TSymbolUniqueId(701);
static constexpr const TSymbolUniqueId textureProj_sY_4f_ = TSymbolUniqueId(702);
static constexpr const TSymbolUniqueId rgb_2_yuv_3f_y_ = TSymbolUniqueId(703);
static constexpr const TSymbolUniqueId yuv_2_rgb_3f_y_ = TSymbolUniqueId(704);
static constexpr const TSymbolUniqueId textureSize_sY_i_ = TSymbolUniqueId(705);
static constexpr const TSymbolUniqueId texelFetch_sY_2i_i_ = TSymbolUniqueId(706);
static constexpr const TSymbolUniqueId texture_s2_2f_f_ = TSymbolUniqueId(707);
static constexpr const TSymbolUniqueId texture_is2_2f_f_ = TSymbolUniqueId(708);
static constexpr const TSymbolUniqueId texture_us2_2f_f_ = TSymbolUniqueId(709);
static constexpr const TSymbolUniqueId texture_s3_3f_f_ = TSymbolUniqueId(710);
static constexpr const TSymbolUniqueId texture_is3_3f_f_ = TSymbolUniqueId(711);
static constexpr const TSymbolUniqueId texture_us3_3f_f_ = TSymbolUniqueId(712);
static constexpr const TSymbolUniqueId texture_sC_3f_f_ = TSymbolUniqueId(713);
static constexpr const TSymbolUniqueId texture_isC_3f_f_ = TSymbolUniqueId(714);
static constexpr const TSymbolUniqueId texture_usC_3f_f_ = TSymbolUniqueId(715);
static constexpr const TSymbolUniqueId texture_sA_3f_f_ = TSymbolUniqueId(716);
static constexpr const TSymbolUniqueId texture_isA_3f_f_ = TSymbolUniqueId(717);
static constexpr const TSymbolUniqueId texture_usA_3f_f_ = TSymbolUniqueId(718);
static constexpr const TSymbolUniqueId textureProj_s2_3f_f_ = TSymbolUniqueId(719);
static constexpr const TSymbolUniqueId textureProj_is2_3f_f_ = TSymbolUniqueId(720);
static constexpr const TSymbolUniqueId textureProj_us2_3f_f_ = TSymbolUniqueId(721);
static constexpr const TSymbolUniqueId textureProj_s2_4f_f_ = TSymbolUniqueId(722);
static constexpr const TSymbolUniqueId textureProj_is2_4f_f_ = TSymbolUniqueId(723);
static constexpr const TSymbolUniqueId textureProj_us2_4f_f_ = TSymbolUniqueId(724);
static constexpr const TSymbolUniqueId textureProj_s3_4f_f_ = TSymbolUniqueId(725);
static constexpr const TSymbolUniqueId textureProj_is3_4f_f_ = TSymbolUniqueId(726);
static constexpr const TSymbolUniqueId textureProj_us3_4f_f_ = TSymbolUniqueId(727);
static constexpr const TSymbolUniqueId texture_s2s_3f_f_ = TSymbolUniqueId(728);
static constexpr const TSymbolUniqueId texture_sCs_4f_f_ = TSymbolUniqueId(729);
static constexpr const TSymbolUniqueId textureProj_s2s_4f_f_ = TSymbolUniqueId(730);
static constexpr const TSymbolUniqueId texture_sX_2f_f_ = TSymbolUniqueId(731);
static constexpr const TSymbolUniqueId textureProj_sX_3f_f_ = TSymbolUniqueId(732);
static constexpr const TSymbolUniqueId textureProj_sX_4f_f_ = TSymbolUniqueId(733);
static constexpr const TSymbolUniqueId texture_sY_2f_f_ = TSymbolUniqueId(734);
static constexpr const TSymbolUniqueId textureProj_sY_3f_f_ = TSymbolUniqueId(735);
static constexpr const TSymbolUniqueId textureProj_sY_4f_f_ = TSymbolUniqueId(736);
static constexpr const TSymbolUniqueId texelFetch_sM_2i_i_ = TSymbolUniqueId(737);
static constexpr const TSymbolUniqueId texelFetch_isM_2i_i_ = TSymbolUniqueId(738);
static constexpr const TSymbolUniqueId texelFetch_usM_2i_i_ = TSymbolUniqueId(739);
static constexpr const TSymbolUniqueId textureGather_s2_2f_ = TSymbolUniqueId(740);
static constexpr const TSymbolUniqueId textureGather_is2_2f_ = TSymbolUniqueId(741);
static constexpr const TSymbolUniqueId textureGather_us2_2f_ = TSymbolUniqueId(742);
static constexpr const TSymbolUniqueId textureGather_s2_2f_i_ = TSymbolUniqueId(743);
static constexpr const TSymbolUniqueId textureGather_is2_2f_i_ = TSymbolUniqueId(744);
static constexpr const TSymbolUniqueId textureGather_us2_2f_i_ = TSymbolUniqueId(745);
static constexpr const TSymbolUniqueId textureGather_sA_3f_ = TSymbolUniqueId(746);
static constexpr const TSymbolUniqueId textureGather_isA_3f_ = TSymbolUniqueId(747);
static constexpr const TSymbolUniqueId textureGather_usA_3f_ = TSymbolUniqueId(748);
static constexpr const TSymbolUniqueId textureGather_sA_3f_i_ = TSymbolUniqueId(749);
static constexpr const TSymbolUniqueId textureGather_isA_3f_i_ = TSymbolUniqueId(750);
static constexpr const TSymbolUniqueId textureGather_usA_3f_i_ = TSymbolUniqueId(751);
static constexpr const TSymbolUniqueId textureGather_sC_3f_ = TSymbolUniqueId(752);
static constexpr const TSymbolUniqueId textureGather_isC_3f_ = TSymbolUniqueId(753);
static constexpr const TSymbolUniqueId textureGather_usC_3f_ = TSymbolUniqueId(754);
static constexpr const TSymbolUniqueId textureGather_sC_3f_i_ = TSymbolUniqueId(755);
static constexpr const TSymbolUniqueId textureGather_isC_3f_i_ = TSymbolUniqueId(756);
static constexpr const TSymbolUniqueId textureGather_usC_3f_i_ = TSymbolUniqueId(757);
static constexpr const TSymbolUniqueId textureGather_s2s_2f_ = TSymbolUniqueId(758);
static constexpr const TSymbolUniqueId textureGather_s2s_2f_f_ = TSymbolUniqueId(759);
static constexpr const TSymbolUniqueId textureGather_sAs_3f_ = TSymbolUniqueId(760);
static constexpr const TSymbolUniqueId textureGather_sAs_3f_f_ = TSymbolUniqueId(761);
static constexpr const TSymbolUniqueId textureGather_sCs_3f_ = TSymbolUniqueId(762);
static constexpr const TSymbolUniqueId textureGather_sCs_3f_f_ = TSymbolUniqueId(763);
static constexpr const TSymbolUniqueId textureGatherOffset_s2_2f_2i_ = TSymbolUniqueId(764);
static constexpr const TSymbolUniqueId textureGatherOffset_is2_2f_2i_ = TSymbolUniqueId(765);
static constexpr const TSymbolUniqueId textureGatherOffset_us2_2f_2i_ = TSymbolUniqueId(766);
static constexpr const TSymbolUniqueId textureGatherOffset_s2_2f_2i_i_ = TSymbolUniqueId(767);
static constexpr const TSymbolUniqueId textureGatherOffset_is2_2f_2i_i_ = TSymbolUniqueId(768);
static constexpr const TSymbolUniqueId textureGatherOffset_us2_2f_2i_i_ = TSymbolUniqueId(769);
static constexpr const TSymbolUniqueId textureGatherOffset_sA_3f_2i_ = TSymbolUniqueId(770);
static constexpr const TSymbolUniqueId textureGatherOffset_isA_3f_2i_ = TSymbolUniqueId(771);
static constexpr const TSymbolUniqueId textureGatherOffset_usA_3f_2i_ = TSymbolUniqueId(772);
static constexpr const TSymbolUniqueId textureGatherOffset_sA_3f_2i_i_ = TSymbolUniqueId(773);
static constexpr const TSymbolUniqueId textureGatherOffset_isA_3f_2i_i_ = TSymbolUniqueId(774);
static constexpr const TSymbolUniqueId textureGatherOffset_usA_3f_2i_i_ = TSymbolUniqueId(775);
static constexpr const TSymbolUniqueId textureGatherOffset_s2s_2f_f_2i_ = TSymbolUniqueId(776);
static constexpr const TSymbolUniqueId textureGatherOffset_sAs_3f_f_2i_ = TSymbolUniqueId(777);
static constexpr const TSymbolUniqueId dFdx_f_ = TSymbolUniqueId(778);
static constexpr const TSymbolUniqueId dFdx_2f_ = TSymbolUniqueId(779);
static constexpr const TSymbolUniqueId dFdx_3f_ = TSymbolUniqueId(780);
static constexpr const TSymbolUniqueId dFdx_4f_ = TSymbolUniqueId(781);
static constexpr const TSymbolUniqueId dFdy_f_ = TSymbolUniqueId(782);
static constexpr const TSymbolUniqueId dFdy_2f_ = TSymbolUniqueId(783);
static constexpr const TSymbolUniqueId dFdy_3f_ = TSymbolUniqueId(784);
static constexpr const TSymbolUniqueId dFdy_4f_ = TSymbolUniqueId(785);
static constexpr const TSymbolUniqueId fwidth_f_ = TSymbolUniqueId(786);
static constexpr const TSymbolUniqueId fwidth_2f_ = TSymbolUniqueId(787);
static constexpr const TSymbolUniqueId fwidth_3f_ = TSymbolUniqueId(788);
static constexpr const TSymbolUniqueId fwidth_4f_ = TSymbolUniqueId(789);
static constexpr const TSymbolUniqueId atomicCounter_a_ = TSymbolUniqueId(790);
static constexpr const TSymbolUniqueId atomicCounterIncrement_a_ = TSymbolUniqueId(791);
static constexpr const TSymbolUniqueId atomicCounterDecrement_a_ = TSymbolUniqueId(792);
static constexpr const TSymbolUniqueId atomicAdd_u_u_ = TSymbolUniqueId(793);
static constexpr const TSymbolUniqueId atomicAdd_i_i_ = TSymbolUniqueId(794);
static constexpr const TSymbolUniqueId atomicMin_u_u_ = TSymbolUniqueId(795);
static constexpr const TSymbolUniqueId atomicMin_i_i_ = TSymbolUniqueId(796);
static constexpr const TSymbolUniqueId atomicMax_u_u_ = TSymbolUniqueId(797);
static constexpr const TSymbolUniqueId atomicMax_i_i_ = TSymbolUniqueId(798);
static constexpr const TSymbolUniqueId atomicAnd_u_u_ = TSymbolUniqueId(799);
static constexpr const TSymbolUniqueId atomicAnd_i_i_ = TSymbolUniqueId(800);
static constexpr const TSymbolUniqueId atomicOr_u_u_ = TSymbolUniqueId(801);
static constexpr const TSymbolUniqueId atomicOr_i_i_ = TSymbolUniqueId(802);
static constexpr const TSymbolUniqueId atomicXor_u_u_ = TSymbolUniqueId(803);
static constexpr const TSymbolUniqueId atomicXor_i_i_ = TSymbolUniqueId(804);
static constexpr const TSymbolUniqueId atomicExchange_u_u_ = TSymbolUniqueId(805);
static constexpr const TSymbolUniqueId atomicExchange_i_i_ = TSymbolUniqueId(806);
static constexpr const TSymbolUniqueId atomicCompSwap_u_u_u_ = TSymbolUniqueId(807);
static constexpr const TSymbolUniqueId atomicCompSwap_i_i_i_ = TSymbolUniqueId(808);
static constexpr const TSymbolUniqueId imageSize_I2_ = TSymbolUniqueId(809);
static constexpr const TSymbolUniqueId imageSize_iI2_ = TSymbolUniqueId(810);
static constexpr const TSymbolUniqueId imageSize_uI2_ = TSymbolUniqueId(811);
static constexpr const TSymbolUniqueId imageSize_I3_ = TSymbolUniqueId(812);
static constexpr const TSymbolUniqueId imageSize_iI3_ = TSymbolUniqueId(813);
static constexpr const TSymbolUniqueId imageSize_uI3_ = TSymbolUniqueId(814);
static constexpr const TSymbolUniqueId imageSize_IA_ = TSymbolUniqueId(815);
static constexpr const TSymbolUniqueId imageSize_iIA_ = TSymbolUniqueId(816);
static constexpr const TSymbolUniqueId imageSize_uIA_ = TSymbolUniqueId(817);
static constexpr const TSymbolUniqueId imageSize_Ic_ = TSymbolUniqueId(818);
static constexpr const TSymbolUniqueId imageSize_iIc_ = TSymbolUniqueId(819);
static constexpr const TSymbolUniqueId imageSize_uIc_ = TSymbolUniqueId(820);
static constexpr const TSymbolUniqueId imageLoad_I2_2i_ = TSymbolUniqueId(821);
static constexpr const TSymbolUniqueId imageLoad_iI2_2i_ = TSymbolUniqueId(822);
static constexpr const TSymbolUniqueId imageLoad_uI2_2i_ = TSymbolUniqueId(823);
static constexpr const TSymbolUniqueId imageLoad_I3_3i_ = TSymbolUniqueId(824);
static constexpr const TSymbolUniqueId imageLoad_iI3_3i_ = TSymbolUniqueId(825);
static constexpr const TSymbolUniqueId imageLoad_uI3_3i_ = TSymbolUniqueId(826);
static constexpr const TSymbolUniqueId imageLoad_IA_3i_ = TSymbolUniqueId(827);
static constexpr const TSymbolUniqueId imageLoad_iIA_3i_ = TSymbolUniqueId(828);
static constexpr const TSymbolUniqueId imageLoad_uIA_3i_ = TSymbolUniqueId(829);
static constexpr const TSymbolUniqueId imageLoad_Ic_3i_ = TSymbolUniqueId(830);
static constexpr const TSymbolUniqueId imageLoad_iIc_3i_ = TSymbolUniqueId(831);
static constexpr const TSymbolUniqueId imageLoad_uIc_3i_ = TSymbolUniqueId(832);
static constexpr const TSymbolUniqueId imageStore_I2_2i_4f_ = TSymbolUniqueId(833);
static constexpr const TSymbolUniqueId imageStore_iI2_2i_4i_ = TSymbolUniqueId(834);
static constexpr const TSymbolUniqueId imageStore_uI2_2i_4u_ = TSymbolUniqueId(835);
static constexpr const TSymbolUniqueId imageStore_I3_3i_4f_ = TSymbolUniqueId(836);
static constexpr const TSymbolUniqueId imageStore_iI3_3i_4i_ = TSymbolUniqueId(837);
static constexpr const TSymbolUniqueId imageStore_uI3_3i_4u_ = TSymbolUniqueId(838);
static constexpr const TSymbolUniqueId imageStore_IA_3i_4f_ = TSymbolUniqueId(839);
static constexpr const TSymbolUniqueId imageStore_iIA_3i_4i_ = TSymbolUniqueId(840);
static constexpr const TSymbolUniqueId imageStore_uIA_3i_4u_ = TSymbolUniqueId(841);
static constexpr const TSymbolUniqueId imageStore_Ic_3i_4f_ = TSymbolUniqueId(842);
static constexpr const TSymbolUniqueId imageStore_iIc_3i_4i_ = TSymbolUniqueId(843);
static constexpr const TSymbolUniqueId imageStore_uIc_3i_4u_ = TSymbolUniqueId(844);
static constexpr const TSymbolUniqueId memoryBarrier_ = TSymbolUniqueId(845);
static constexpr const TSymbolUniqueId memoryBarrierAtomicCounter_ = TSymbolUniqueId(846);
static constexpr const TSymbolUniqueId memoryBarrierBuffer_ = TSymbolUniqueId(847);
static constexpr const TSymbolUniqueId memoryBarrierImage_ = TSymbolUniqueId(848);
static constexpr const TSymbolUniqueId barrier_ = TSymbolUniqueId(849);
static constexpr const TSymbolUniqueId memoryBarrierShared_ = TSymbolUniqueId(850);
static constexpr const TSymbolUniqueId groupMemoryBarrier_ = TSymbolUniqueId(851);
static constexpr const TSymbolUniqueId EmitVertex_ = TSymbolUniqueId(852);
static constexpr const TSymbolUniqueId EndPrimitive_ = TSymbolUniqueId(853);
};
const int TSymbolTable::kLastStaticBuiltInId = 850;
const int TSymbolTable::kLastStaticBuiltInId = 853;
namespace BuiltInName
{
......@@ -1825,6 +1828,8 @@ constexpr const ImmutableString textureProj_s2s_4f_("textureProj(s2s;4f;");
constexpr const ImmutableString textureProj_s2s_4f_f_("textureProj(s2s;4f;f;");
constexpr const ImmutableString textureProj_s3_4f_("textureProj(s3;4f;");
constexpr const ImmutableString textureProj_s3_4f_f_("textureProj(s3;4f;f;");
constexpr const ImmutableString textureProj_sR_3f_("textureProj(sR;3f;");
constexpr const ImmutableString textureProj_sR_4f_("textureProj(sR;4f;");
constexpr const ImmutableString textureProj_sX_3f_("textureProj(sX;3f;");
constexpr const ImmutableString textureProj_sX_3f_f_("textureProj(sX;3f;f;");
constexpr const ImmutableString textureProj_sX_4f_("textureProj(sX;4f;");
......@@ -1881,6 +1886,7 @@ constexpr const ImmutableString texture_sC_3f_("texture(sC;3f;");
constexpr const ImmutableString texture_sC_3f_f_("texture(sC;3f;f;");
constexpr const ImmutableString texture_sCs_4f_("texture(sCs;4f;");
constexpr const ImmutableString texture_sCs_4f_f_("texture(sCs;4f;f;");
constexpr const ImmutableString texture_sR_2f_("texture(sR;2f;");
constexpr const ImmutableString texture_sX_2f_("texture(sX;2f;");
constexpr const ImmutableString texture_sX_2f_f_("texture(sX;2f;f;");
constexpr const ImmutableString texture_sY_2f_("texture(sY;2f;");
......@@ -8288,6 +8294,36 @@ constexpr const TFunction kFunction_texture2DRectProj_sR_4f_(
BuiltInName::texture2DRectProj_sR_4f_,
EOpCallBuiltInFunction,
false);
constexpr const TFunction kFunction_texture_sR_2f_(
BuiltInId::texture_sR_2f_,
BuiltInName::texture,
TExtension::ARB_texture_rectangle,
BuiltInParameters::p_sR_2f_,
2,
StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
BuiltInName::texture_sR_2f_,
EOpCallBuiltInFunction,
false);
constexpr const TFunction kFunction_textureProj_sR_3f_(
BuiltInId::textureProj_sR_3f_,
BuiltInName::textureProj,
TExtension::ARB_texture_rectangle,
BuiltInParameters::p_sR_3f_,
2,
StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
BuiltInName::textureProj_sR_3f_,
EOpCallBuiltInFunction,
false);
constexpr const TFunction kFunction_textureProj_sR_4f_(
BuiltInId::textureProj_sR_4f_,
BuiltInName::textureProj,
TExtension::ARB_texture_rectangle,
BuiltInParameters::p_sR_4f_,
2,
StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
BuiltInName::textureProj_sR_4f_,
EOpCallBuiltInFunction,
false);
constexpr const TFunction kFunction_texture2DGradEXT_s2_2f_2f_2f_(
BuiltInId::texture2DGradEXT_s2_2f_2f_2f_,
BuiltInName::texture2DGradEXT,
......@@ -12537,6 +12573,9 @@ void TSymbolTable::insertBuiltInFunctions(sh::GLenum shaderType)
insertBuiltIn(ESSL1_BUILTINS, &BuiltInFunction::kFunction_texture2DRect_sR_2f_);
insertBuiltIn(ESSL1_BUILTINS, &BuiltInFunction::kFunction_texture2DRectProj_sR_3f_);
insertBuiltIn(ESSL1_BUILTINS, &BuiltInFunction::kFunction_texture2DRectProj_sR_4f_);
insertBuiltIn(ESSL3_BUILTINS, &BuiltInFunction::kFunction_texture_sR_2f_);
insertBuiltIn(ESSL3_BUILTINS, &BuiltInFunction::kFunction_textureProj_sR_3f_);
insertBuiltIn(ESSL3_BUILTINS, &BuiltInFunction::kFunction_textureProj_sR_4f_);
insertBuiltIn(ESSL1_BUILTINS, &BuiltInFunction::kFunction_texture2DGradEXT_s2_2f_2f_2f_);
insertBuiltIn(ESSL1_BUILTINS, &BuiltInFunction::kFunction_texture2DProjGradEXT_s2_3f_2f_2f_);
insertBuiltIn(ESSL1_BUILTINS, &BuiltInFunction::kFunction_texture2DProjGradEXT_s2_4f_2f_2f_);
......
......@@ -287,6 +287,13 @@ GROUP BEGIN ARB_texture_rectangle
vec4 texture2DRect(sampler2DRect, vec2);
vec4 texture2DRectProj(sampler2DRect, vec3);
vec4 texture2DRectProj(sampler2DRect, vec4);
DEFAULT METADATA {"level": "ESSL3_BUILTINS", "op": "CallBuiltInFunction", "extension": "ARB_texture_rectangle"}
// We don't have a rectangle texture extension for OpenGL ES however based on the behavior of
// rectangle texture in desktop OpenGL, they should be sampled with a "texture" overload in
// GLSL version that have such an overload. This is the case for ESSL3 and above.
vec4 texture(sampler2DRect, vec2);
vec4 textureProj(sampler2DRect, vec3);
vec4 textureProj(sampler2DRect, vec4);
GROUP END ARB_texture_rectangle
// The *Grad* variants are new to both vertex and fragment shaders; the fragment
......
......@@ -281,8 +281,8 @@ TEST_P(TextureRectangleTest, FramebufferTexture2DLevel)
ASSERT_GL_ERROR(GL_INVALID_VALUE);
}
// Test sampling from a rectangle texture
TEST_P(TextureRectangleTest, SamplingFromRectangle)
// Test sampling from a rectangle texture using texture2DRect in ESSL1
TEST_P(TextureRectangleTest, SamplingFromRectangleESSL1)
{
ANGLE_SKIP_TEST_IF(!checkExtensionSupported());
......@@ -321,6 +321,49 @@ TEST_P(TextureRectangleTest, SamplingFromRectangle)
ASSERT_GL_NO_ERROR();
}
// Test sampling from a rectangle texture using the texture overload in ESSL3
TEST_P(TextureRectangleTestES3, SamplingFromRectangleESSL3)
{
ANGLE_SKIP_TEST_IF(!checkExtensionSupported());
GLTexture tex;
glBindTexture(GL_TEXTURE_RECTANGLE_ANGLE, tex);
glTexImage2D(GL_TEXTURE_RECTANGLE_ANGLE, 0, GL_RGBA, 1, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE,
&GLColor::green);
const std::string vs =
"#version 300 es\n"
"in vec4 position;\n"
"void main()\n"
"{\n"
" gl_Position = vec4(position.xy, 0.0, 1.0);\n"
"}\n";
const std::string fs =
"#version 300 es\n"
"#extension GL_ARB_texture_rectangle : require\n"
"precision mediump float;\n"
"uniform sampler2DRect tex;\n"
"out vec4 fragColor;\n"
"void main()\n"
"{\n"
" fragColor = texture(tex, vec2(0, 0));\n"
"}\n";
ANGLE_GL_PROGRAM(program, vs, fs);
glUseProgram(program);
GLint location = glGetUniformLocation(program, "tex");
ASSERT_NE(-1, location);
glUniform1i(location, 0);
glClearColor(0.0, 0.0, 0.0, 0.0);
glClear(GL_COLOR_BUFFER_BIT);
drawQuad(program, "position", 0.5f, 1.0f, false);
EXPECT_PIXEL_COLOR_EQ(0, 0, GLColor::green);
ASSERT_GL_NO_ERROR();
}
// Test attaching a rectangle texture and rendering to it.
TEST_P(TextureRectangleTest, RenderToRectangle)
{
......
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