Web: First pass of tabling the built-in function declarations.

Doing this much saved about 11.5K, including adding all the infrastructure.
This commit is contained in:
John Kessenich 2019-07-31 03:48:10 -06:00
parent 23d27751e8
commit e66dace97e
4 changed files with 361 additions and 591 deletions

View File

@ -1 +1 @@
1097728 ../build/install/bin/glslangValidator.exe
1085952 ../build/install/bin/glslangValidator.exe

View File

@ -11,7 +11,7 @@ spv.specConstant.vert
Source GLSL 400
Name 4 "main"
Name 9 "arraySize"
Name 14 "foo(vf4[s2769];"
Name 14 "foo(vf4[s2772];"
Name 13 "p"
Name 17 "builtin_spec_constant("
Name 20 "color"
@ -102,10 +102,10 @@ spv.specConstant.vert
Store 20(color) 46
48: 10 Load 22(ucol)
Store 47(param) 48
49: 2 FunctionCall 14(foo(vf4[s2769];) 47(param)
49: 2 FunctionCall 14(foo(vf4[s2772];) 47(param)
Return
FunctionEnd
14(foo(vf4[s2769];): 2 Function None 12
14(foo(vf4[s2772];): 2 Function None 12
13(p): 11(ptr) FunctionParameter
15: Label
54: 24(ptr) AccessChain 53(dupUcol) 23

File diff suppressed because it is too large Load Diff

View File

@ -91,6 +91,8 @@ public:
void identifyBuiltIns(int version, EProfile profile, const SpvVersion& spvVersion, EShLanguage language, TSymbolTable& symbolTable, const TBuiltInResource &resources);
protected:
void addTabledBuiltins(int version, EProfile profile, const SpvVersion& spvVersion);
void relateTabledBuiltins(int version, EProfile profile, const SpvVersion& spvVersion, EShLanguage, TSymbolTable&);
void add2ndGenerationSamplingImaging(int version, EProfile profile, const SpvVersion& spvVersion);
void addSubpassSampling(TSampler, const TString& typeName, int version, EProfile profile);
void addQueryFunctions(TSampler, const TString& typeName, int version, EProfile profile);