|
|
|
|
@@ -30,21 +30,21 @@
|
|
|
|
|
#include "program/prog_statevars.h"
|
|
|
|
|
#include "program/prog_instruction.h"
|
|
|
|
|
|
|
|
|
|
static struct gl_builtin_uniform_element gl_NumSamples_elements[] = {
|
|
|
|
|
static const struct gl_builtin_uniform_element gl_NumSamples_elements[] = {
|
|
|
|
|
{NULL, {STATE_NUM_SAMPLES, 0, 0}, SWIZZLE_XXXX}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
static struct gl_builtin_uniform_element gl_DepthRange_elements[] = {
|
|
|
|
|
static const struct gl_builtin_uniform_element gl_DepthRange_elements[] = {
|
|
|
|
|
{"near", {STATE_DEPTH_RANGE, 0, 0}, SWIZZLE_XXXX},
|
|
|
|
|
{"far", {STATE_DEPTH_RANGE, 0, 0}, SWIZZLE_YYYY},
|
|
|
|
|
{"diff", {STATE_DEPTH_RANGE, 0, 0}, SWIZZLE_ZZZZ},
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
static struct gl_builtin_uniform_element gl_ClipPlane_elements[] = {
|
|
|
|
|
static const struct gl_builtin_uniform_element gl_ClipPlane_elements[] = {
|
|
|
|
|
{NULL, {STATE_CLIPPLANE, 0, 0}, SWIZZLE_XYZW}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
static struct gl_builtin_uniform_element gl_Point_elements[] = {
|
|
|
|
|
static const struct gl_builtin_uniform_element gl_Point_elements[] = {
|
|
|
|
|
{"size", {STATE_POINT_SIZE}, SWIZZLE_XXXX},
|
|
|
|
|
{"sizeMin", {STATE_POINT_SIZE}, SWIZZLE_YYYY},
|
|
|
|
|
{"sizeMax", {STATE_POINT_SIZE}, SWIZZLE_ZZZZ},
|
|
|
|
|
@@ -54,7 +54,7 @@ static struct gl_builtin_uniform_element gl_Point_elements[] = {
|
|
|
|
|
{"distanceQuadraticAttenuation", {STATE_POINT_ATTENUATION}, SWIZZLE_ZZZZ},
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
static struct gl_builtin_uniform_element gl_FrontMaterial_elements[] = {
|
|
|
|
|
static const struct gl_builtin_uniform_element gl_FrontMaterial_elements[] = {
|
|
|
|
|
{"emission", {STATE_MATERIAL, 0, STATE_EMISSION}, SWIZZLE_XYZW},
|
|
|
|
|
{"ambient", {STATE_MATERIAL, 0, STATE_AMBIENT}, SWIZZLE_XYZW},
|
|
|
|
|
{"diffuse", {STATE_MATERIAL, 0, STATE_DIFFUSE}, SWIZZLE_XYZW},
|
|
|
|
|
@@ -62,7 +62,7 @@ static struct gl_builtin_uniform_element gl_FrontMaterial_elements[] = {
|
|
|
|
|
{"shininess", {STATE_MATERIAL, 0, STATE_SHININESS}, SWIZZLE_XXXX},
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
static struct gl_builtin_uniform_element gl_BackMaterial_elements[] = {
|
|
|
|
|
static const struct gl_builtin_uniform_element gl_BackMaterial_elements[] = {
|
|
|
|
|
{"emission", {STATE_MATERIAL, 1, STATE_EMISSION}, SWIZZLE_XYZW},
|
|
|
|
|
{"ambient", {STATE_MATERIAL, 1, STATE_AMBIENT}, SWIZZLE_XYZW},
|
|
|
|
|
{"diffuse", {STATE_MATERIAL, 1, STATE_DIFFUSE}, SWIZZLE_XYZW},
|
|
|
|
|
@@ -70,7 +70,7 @@ static struct gl_builtin_uniform_element gl_BackMaterial_elements[] = {
|
|
|
|
|
{"shininess", {STATE_MATERIAL, 1, STATE_SHININESS}, SWIZZLE_XXXX},
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
static struct gl_builtin_uniform_element gl_LightSource_elements[] = {
|
|
|
|
|
static const struct gl_builtin_uniform_element gl_LightSource_elements[] = {
|
|
|
|
|
{"ambient", {STATE_LIGHT, 0, STATE_AMBIENT}, SWIZZLE_XYZW},
|
|
|
|
|
{"diffuse", {STATE_LIGHT, 0, STATE_DIFFUSE}, SWIZZLE_XYZW},
|
|
|
|
|
{"specular", {STATE_LIGHT, 0, STATE_SPECULAR}, SWIZZLE_XYZW},
|
|
|
|
|
@@ -89,67 +89,67 @@ static struct gl_builtin_uniform_element gl_LightSource_elements[] = {
|
|
|
|
|
{"quadraticAttenuation", {STATE_LIGHT, 0, STATE_ATTENUATION}, SWIZZLE_ZZZZ},
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
static struct gl_builtin_uniform_element gl_LightModel_elements[] = {
|
|
|
|
|
static const struct gl_builtin_uniform_element gl_LightModel_elements[] = {
|
|
|
|
|
{"ambient", {STATE_LIGHTMODEL_AMBIENT, 0}, SWIZZLE_XYZW},
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
static struct gl_builtin_uniform_element gl_FrontLightModelProduct_elements[] = {
|
|
|
|
|
static const struct gl_builtin_uniform_element gl_FrontLightModelProduct_elements[] = {
|
|
|
|
|
{"sceneColor", {STATE_LIGHTMODEL_SCENECOLOR, 0}, SWIZZLE_XYZW},
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
static struct gl_builtin_uniform_element gl_BackLightModelProduct_elements[] = {
|
|
|
|
|
static const struct gl_builtin_uniform_element gl_BackLightModelProduct_elements[] = {
|
|
|
|
|
{"sceneColor", {STATE_LIGHTMODEL_SCENECOLOR, 1}, SWIZZLE_XYZW},
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
static struct gl_builtin_uniform_element gl_FrontLightProduct_elements[] = {
|
|
|
|
|
static const struct gl_builtin_uniform_element gl_FrontLightProduct_elements[] = {
|
|
|
|
|
{"ambient", {STATE_LIGHTPROD, 0, 0, STATE_AMBIENT}, SWIZZLE_XYZW},
|
|
|
|
|
{"diffuse", {STATE_LIGHTPROD, 0, 0, STATE_DIFFUSE}, SWIZZLE_XYZW},
|
|
|
|
|
{"specular", {STATE_LIGHTPROD, 0, 0, STATE_SPECULAR}, SWIZZLE_XYZW},
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
static struct gl_builtin_uniform_element gl_BackLightProduct_elements[] = {
|
|
|
|
|
static const struct gl_builtin_uniform_element gl_BackLightProduct_elements[] = {
|
|
|
|
|
{"ambient", {STATE_LIGHTPROD, 0, 1, STATE_AMBIENT}, SWIZZLE_XYZW},
|
|
|
|
|
{"diffuse", {STATE_LIGHTPROD, 0, 1, STATE_DIFFUSE}, SWIZZLE_XYZW},
|
|
|
|
|
{"specular", {STATE_LIGHTPROD, 0, 1, STATE_SPECULAR}, SWIZZLE_XYZW},
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
static struct gl_builtin_uniform_element gl_TextureEnvColor_elements[] = {
|
|
|
|
|
static const struct gl_builtin_uniform_element gl_TextureEnvColor_elements[] = {
|
|
|
|
|
{NULL, {STATE_TEXENV_COLOR, 0}, SWIZZLE_XYZW},
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
static struct gl_builtin_uniform_element gl_EyePlaneS_elements[] = {
|
|
|
|
|
static const struct gl_builtin_uniform_element gl_EyePlaneS_elements[] = {
|
|
|
|
|
{NULL, {STATE_TEXGEN, 0, STATE_TEXGEN_EYE_S}, SWIZZLE_XYZW},
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
static struct gl_builtin_uniform_element gl_EyePlaneT_elements[] = {
|
|
|
|
|
static const struct gl_builtin_uniform_element gl_EyePlaneT_elements[] = {
|
|
|
|
|
{NULL, {STATE_TEXGEN, 0, STATE_TEXGEN_EYE_T}, SWIZZLE_XYZW},
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
static struct gl_builtin_uniform_element gl_EyePlaneR_elements[] = {
|
|
|
|
|
static const struct gl_builtin_uniform_element gl_EyePlaneR_elements[] = {
|
|
|
|
|
{NULL, {STATE_TEXGEN, 0, STATE_TEXGEN_EYE_R}, SWIZZLE_XYZW},
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
static struct gl_builtin_uniform_element gl_EyePlaneQ_elements[] = {
|
|
|
|
|
static const struct gl_builtin_uniform_element gl_EyePlaneQ_elements[] = {
|
|
|
|
|
{NULL, {STATE_TEXGEN, 0, STATE_TEXGEN_EYE_Q}, SWIZZLE_XYZW},
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
static struct gl_builtin_uniform_element gl_ObjectPlaneS_elements[] = {
|
|
|
|
|
static const struct gl_builtin_uniform_element gl_ObjectPlaneS_elements[] = {
|
|
|
|
|
{NULL, {STATE_TEXGEN, 0, STATE_TEXGEN_OBJECT_S}, SWIZZLE_XYZW},
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
static struct gl_builtin_uniform_element gl_ObjectPlaneT_elements[] = {
|
|
|
|
|
static const struct gl_builtin_uniform_element gl_ObjectPlaneT_elements[] = {
|
|
|
|
|
{NULL, {STATE_TEXGEN, 0, STATE_TEXGEN_OBJECT_T}, SWIZZLE_XYZW},
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
static struct gl_builtin_uniform_element gl_ObjectPlaneR_elements[] = {
|
|
|
|
|
static const struct gl_builtin_uniform_element gl_ObjectPlaneR_elements[] = {
|
|
|
|
|
{NULL, {STATE_TEXGEN, 0, STATE_TEXGEN_OBJECT_R}, SWIZZLE_XYZW},
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
static struct gl_builtin_uniform_element gl_ObjectPlaneQ_elements[] = {
|
|
|
|
|
static const struct gl_builtin_uniform_element gl_ObjectPlaneQ_elements[] = {
|
|
|
|
|
{NULL, {STATE_TEXGEN, 0, STATE_TEXGEN_OBJECT_Q}, SWIZZLE_XYZW},
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
static struct gl_builtin_uniform_element gl_Fog_elements[] = {
|
|
|
|
|
static const struct gl_builtin_uniform_element gl_Fog_elements[] = {
|
|
|
|
|
{"color", {STATE_FOG_COLOR}, SWIZZLE_XYZW},
|
|
|
|
|
{"density", {STATE_FOG_PARAMS}, SWIZZLE_XXXX},
|
|
|
|
|
{"start", {STATE_FOG_PARAMS}, SWIZZLE_YYYY},
|
|
|
|
|
@@ -157,32 +157,32 @@ static struct gl_builtin_uniform_element gl_Fog_elements[] = {
|
|
|
|
|
{"scale", {STATE_FOG_PARAMS}, SWIZZLE_WWWW},
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
static struct gl_builtin_uniform_element gl_NormalScale_elements[] = {
|
|
|
|
|
static const struct gl_builtin_uniform_element gl_NormalScale_elements[] = {
|
|
|
|
|
{NULL, {STATE_NORMAL_SCALE}, SWIZZLE_XXXX},
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
static struct gl_builtin_uniform_element gl_BumpRotMatrix0MESA_elements[] = {
|
|
|
|
|
static const struct gl_builtin_uniform_element gl_BumpRotMatrix0MESA_elements[] = {
|
|
|
|
|
{NULL, {STATE_INTERNAL, STATE_ROT_MATRIX_0}, SWIZZLE_XYZW},
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
static struct gl_builtin_uniform_element gl_BumpRotMatrix1MESA_elements[] = {
|
|
|
|
|
static const struct gl_builtin_uniform_element gl_BumpRotMatrix1MESA_elements[] = {
|
|
|
|
|
{NULL, {STATE_INTERNAL, STATE_ROT_MATRIX_1}, SWIZZLE_XYZW},
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
static struct gl_builtin_uniform_element gl_FogParamsOptimizedMESA_elements[] = {
|
|
|
|
|
static const struct gl_builtin_uniform_element gl_FogParamsOptimizedMESA_elements[] = {
|
|
|
|
|
{NULL, {STATE_INTERNAL, STATE_FOG_PARAMS_OPTIMIZED}, SWIZZLE_XYZW},
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
static struct gl_builtin_uniform_element gl_CurrentAttribVertMESA_elements[] = {
|
|
|
|
|
static const struct gl_builtin_uniform_element gl_CurrentAttribVertMESA_elements[] = {
|
|
|
|
|
{NULL, {STATE_INTERNAL, STATE_CURRENT_ATTRIB, 0}, SWIZZLE_XYZW},
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
static struct gl_builtin_uniform_element gl_CurrentAttribFragMESA_elements[] = {
|
|
|
|
|
static const struct gl_builtin_uniform_element gl_CurrentAttribFragMESA_elements[] = {
|
|
|
|
|
{NULL, {STATE_INTERNAL, STATE_CURRENT_ATTRIB_MAYBE_VP_CLAMPED, 0}, SWIZZLE_XYZW},
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
#define MATRIX(name, statevar, modifier) \
|
|
|
|
|
static struct gl_builtin_uniform_element name ## _elements[] = { \
|
|
|
|
|
static const struct gl_builtin_uniform_element name ## _elements[] = { \
|
|
|
|
|
{ NULL, { statevar, 0, 0, 0, modifier}, SWIZZLE_XYZW }, \
|
|
|
|
|
{ NULL, { statevar, 0, 1, 1, modifier}, SWIZZLE_XYZW }, \
|
|
|
|
|
{ NULL, { statevar, 0, 2, 2, modifier}, SWIZZLE_XYZW }, \
|
|
|
|
|
@@ -225,7 +225,7 @@ MATRIX(gl_TextureMatrixTranspose,
|
|
|
|
|
MATRIX(gl_TextureMatrixInverseTranspose,
|
|
|
|
|
STATE_TEXTURE_MATRIX, STATE_MATRIX_INVERSE);
|
|
|
|
|
|
|
|
|
|
static struct gl_builtin_uniform_element gl_NormalMatrix_elements[] = {
|
|
|
|
|
static const struct gl_builtin_uniform_element gl_NormalMatrix_elements[] = {
|
|
|
|
|
{ NULL, { STATE_MODELVIEW_MATRIX, 0, 0, 0, STATE_MATRIX_INVERSE},
|
|
|
|
|
MAKE_SWIZZLE4(SWIZZLE_X, SWIZZLE_Y, SWIZZLE_Z, SWIZZLE_Z) },
|
|
|
|
|
{ NULL, { STATE_MODELVIEW_MATRIX, 0, 1, 1, STATE_MATRIX_INVERSE},
|
|
|
|
|
@@ -498,7 +498,8 @@ builtin_variable_generator::add_uniform(const glsl_type *type,
|
|
|
|
|
|
|
|
|
|
for (unsigned a = 0; a < array_count; a++) {
|
|
|
|
|
for (unsigned j = 0; j < statevar->num_elements; j++) {
|
|
|
|
|
struct gl_builtin_uniform_element *element = &statevar->elements[j];
|
|
|
|
|
const struct gl_builtin_uniform_element *element =
|
|
|
|
|
&statevar->elements[j];
|
|
|
|
|
|
|
|
|
|
memcpy(slots->tokens, element->tokens, sizeof(element->tokens));
|
|
|
|
|
if (type->is_array()) {
|
|
|
|
|
|