Built-in values declared as specialization constant

Support declaring built-in values as spec constants.

Refine the code in createSpvConstant().
This commit is contained in:
qining 2016-04-03 23:55:17 -04:00
parent a42533eca1
commit 4f4bb81cd9
4 changed files with 140 additions and 110 deletions

View file

@ -8,6 +8,8 @@ layout(constant_id = 18) const float spFloat = 3.14;
layout(constant_id = 19) const double spDouble = 3.1415926535897932384626433832795;
layout(constant_id = 22) const uint scale = 2;
layout(constant_id = 24) gl_MaxImageUnits;
out vec4 color;
out int size;
@ -41,3 +43,9 @@ void foo(vec4 p[arraySize])
color *= dupScale;
color += float(spDupDouble / spDupFloat);
}
int builtin_spec_constant()
{
int result = gl_MaxImageUnits;
return result;
}