Reviewed-by: Ian Romanick <[email protected]> This one seems low-impact enough that I went ahead and pushed it... so that it would be in 10.2.
On 04/22/2014 01:58 AM, Chia-I Wu wrote: > This allows them to be moved to .rodata, and allow us to be sure that they > will not be modified. > > Signed-off-by: Chia-I Wu <[email protected]> > --- > src/glsl/builtin_types.cpp | 2 +- > src/glsl/builtin_variables.cpp | 63 > +++++++++++++++++++++-------------------- > src/glsl/glsl_parser.yy | 4 +-- > src/glsl/glsl_parser_extras.cpp | 4 +-- > src/glsl/ir.cpp | 2 +- > src/mesa/main/uniforms.h | 2 +- > 6 files changed, 39 insertions(+), 38 deletions(-) > > diff --git a/src/glsl/builtin_types.cpp b/src/glsl/builtin_types.cpp > index dd42ecb..0a0fa8c 100644 > --- a/src/glsl/builtin_types.cpp > +++ b/src/glsl/builtin_types.cpp > @@ -241,7 +241,7 @@ const static struct builtin_type_versions { > T(atomic_uint, 420, 999) > }; > > -const glsl_type *const deprecated_types[] = { > +static const glsl_type *const deprecated_types[] = { > glsl_type::struct_gl_PointParameters_type, > glsl_type::struct_gl_MaterialParameters_type, > glsl_type::struct_gl_LightSourceParameters_type, > diff --git a/src/glsl/builtin_variables.cpp b/src/glsl/builtin_variables.cpp > index 4176ae6..9b35850 100644 > --- a/src/glsl/builtin_variables.cpp > +++ b/src/glsl/builtin_variables.cpp > @@ -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()) { > diff --git a/src/glsl/glsl_parser.yy b/src/glsl/glsl_parser.yy > index 2d0e7be..e3ee16a 100644 > --- a/src/glsl/glsl_parser.yy > +++ b/src/glsl/glsl_parser.yy > @@ -1214,7 +1214,7 @@ layout_qualifier_id: > > /* Layout qualifiers for GLSL 1.50 geometry shaders. */ > if (!$$.flags.i) { > - struct { > + static const struct { > const char *s; > GLenum e; > } map[] = { > @@ -1368,7 +1368,7 @@ layout_qualifier_id: > } > } > > - static const char *local_size_qualifiers[3] = { > + static const char * const local_size_qualifiers[3] = { > "local_size_x", > "local_size_y", > "local_size_z", > diff --git a/src/glsl/glsl_parser_extras.cpp b/src/glsl/glsl_parser_extras.cpp > index 03c2a97..91c9285 100644 > --- a/src/glsl/glsl_parser_extras.cpp > +++ b/src/glsl/glsl_parser_extras.cpp > @@ -49,7 +49,7 @@ glsl_compute_version_string(void *mem_ctx, bool is_es, > unsigned version) > } > > > -static unsigned known_desktop_glsl_versions[] = > +static const unsigned known_desktop_glsl_versions[] = > { 110, 120, 130, 140, 150, 330, 400, 410, 420, 430, 440 }; > > > @@ -637,7 +637,7 @@ _mesa_glsl_process_extension(const char *name, YYLTYPE > *name_locp, > if (extension && extension->compatible_with_state(state)) { > extension->set_flags(state, behavior); > } else { > - static const char *const fmt = "extension `%s' unsupported in %s > shader"; > + static const char fmt[] = "extension `%s' unsupported in %s shader"; > > if (behavior == extension_require) { > _mesa_glsl_error(name_locp, state, fmt, > diff --git a/src/glsl/ir.cpp b/src/glsl/ir.cpp > index 1a18b47..ba8a839 100644 > --- a/src/glsl/ir.cpp > +++ b/src/glsl/ir.cpp > @@ -1333,7 +1333,7 @@ ir_dereference::is_lvalue() const > } > > > -static const char *tex_opcode_strs[] = { "tex", "txb", "txl", "txd", "txf", > "txf_ms", "txs", "lod", "tg4", "query_levels" }; > +static const char * const tex_opcode_strs[] = { "tex", "txb", "txl", "txd", > "txf", "txf_ms", "txs", "lod", "tg4", "query_levels" }; > > const char *ir_texture::opcode_string() > { > diff --git a/src/mesa/main/uniforms.h b/src/mesa/main/uniforms.h > index c8b555c..10518dc 100644 > --- a/src/mesa/main/uniforms.h > +++ b/src/mesa/main/uniforms.h > @@ -319,7 +319,7 @@ struct gl_builtin_uniform_element { > > struct gl_builtin_uniform_desc { > const char *name; > - struct gl_builtin_uniform_element *elements; > + const struct gl_builtin_uniform_element *elements; > unsigned int num_elements; > }; > > _______________________________________________ mesa-dev mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-dev
