Web: Use isEsProfile() instead of run-time testing; remove more atomics

Saves 2.5K, and design is better.
This commit is contained in:
John Kessenich 2019-08-09 03:49:15 -06:00
parent 155d351f86
commit fb4f2333da
17 changed files with 168 additions and 154 deletions

View file

@ -6166,14 +6166,14 @@ void TBuiltIns::add2ndGenerationSamplingImaging(int version, EProfile profile, c
// enumerate all the types
#ifdef GLSLANG_WEB
const TBasicType bTypes[] = { EbtFloat, EbtInt, EbtUint };
const int image = 0;
bool skipBuffer = true;
bool skipCubeArrayed = true;
const int image = 0;
#else
const TBasicType bTypes[] = { EbtFloat, EbtInt, EbtUint, EbtFloat16 };
for (int image = 0; image <= 1; ++image) // loop over "bool" image vs sampler
bool skipBuffer = (profile == EEsProfile && version < 310) || (profile != EEsProfile && version < 140);
bool skipCubeArrayed = (profile == EEsProfile && version < 310) || (profile != EEsProfile && version < 130);
for (int image = 0; image <= 1; ++image) // loop over "bool" image vs sampler
#endif
{
for (int shadow = 0; shadow <= 1; ++shadow) { // loop over "bool" shadow or not