diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/glsl/builtin_types.h | 23 | ||||
| -rw-r--r-- | src/glsl/glsl_types.cpp | 19 | ||||
| -rw-r--r-- | src/glsl/glsl_types.h | 8 | 
3 files changed, 35 insertions, 15 deletions
| diff --git a/src/glsl/builtin_types.h b/src/glsl/builtin_types.h index 7b94aac666..6dabbf0d32 100644 --- a/src/glsl/builtin_types.h +++ b/src/glsl/builtin_types.h @@ -51,16 +51,8 @@ const glsl_type glsl_type::builtin_core_types[] = {     glsl_type(GL_FLOAT_MAT2,   GLSL_TYPE_FLOAT, 2, 2, "mat2"),     glsl_type(GL_FLOAT_MAT3,   GLSL_TYPE_FLOAT, 3, 3, "mat3"),     glsl_type(GL_FLOAT_MAT4,   GLSL_TYPE_FLOAT, 4, 4, "mat4"), -   glsl_type(GL_SAMPLER_1D,   GLSL_SAMPLER_DIM_1D, 0, 0, GLSL_TYPE_FLOAT, -	     "sampler1D"), -   glsl_type(GL_SAMPLER_1D_SHADOW, GLSL_SAMPLER_DIM_1D, 1, 0, GLSL_TYPE_FLOAT, -	     "sampler1DShadow"),     glsl_type(GL_SAMPLER_2D,   GLSL_SAMPLER_DIM_2D, 0, 0, GLSL_TYPE_FLOAT,  	     "sampler2D"), -   glsl_type(GL_SAMPLER_2D_SHADOW, GLSL_SAMPLER_DIM_2D, 1, 0, GLSL_TYPE_FLOAT, -	     "sampler2DShadow"), -   glsl_type(GL_SAMPLER_3D,   GLSL_SAMPLER_DIM_3D, 0, 0, GLSL_TYPE_FLOAT, -	     "sampler3D"),     glsl_type(GL_SAMPLER_CUBE, GLSL_SAMPLER_DIM_CUBE, 0, 0, GLSL_TYPE_FLOAT,  	     "samplerCube"),  }; @@ -178,6 +170,21 @@ const glsl_type glsl_type::builtin_110_deprecated_structure_types[] = {  };  /*@}*/ +/** \name Types in GLSL 1.10 (but not GLSL ES 1.00) + */ +/*@{*/ +const glsl_type glsl_type::builtin_110_types[] = { +   glsl_type(GL_SAMPLER_1D,   GLSL_SAMPLER_DIM_1D, 0, 0, GLSL_TYPE_FLOAT, +	     "sampler1D"), +   glsl_type(GL_SAMPLER_1D_SHADOW, GLSL_SAMPLER_DIM_1D, 1, 0, GLSL_TYPE_FLOAT, +	     "sampler1DShadow"), +   glsl_type(GL_SAMPLER_2D_SHADOW, GLSL_SAMPLER_DIM_2D, 1, 0, GLSL_TYPE_FLOAT, +	     "sampler2DShadow"), +   glsl_type(GL_SAMPLER_3D,   GLSL_SAMPLER_DIM_3D, 0, 0, GLSL_TYPE_FLOAT, +	     "sampler3D"), +}; +/*@}*/ +  /** \name Types added in GLSL 1.20   */  /*@{*/ diff --git a/src/glsl/glsl_types.cpp b/src/glsl/glsl_types.cpp index 92ad3efafc..82eb470605 100644 --- a/src/glsl/glsl_types.cpp +++ b/src/glsl/glsl_types.cpp @@ -111,9 +111,8 @@ add_types_to_symbol_table(glsl_symbol_table *symtab,     }  } -  void -glsl_type::generate_110_types(glsl_symbol_table *symtab) +glsl_type::generate_100ES_types(glsl_symbol_table *symtab)  {     add_types_to_symbol_table(symtab, builtin_core_types,  			     Elements(builtin_core_types), @@ -121,10 +120,20 @@ glsl_type::generate_110_types(glsl_symbol_table *symtab)     add_types_to_symbol_table(symtab, builtin_structure_types,  			     Elements(builtin_structure_types),  			     false); +   add_types_to_symbol_table(symtab, &void_type, 1, false); +} + +void +glsl_type::generate_110_types(glsl_symbol_table *symtab) +{ +   generate_100ES_types(symtab); + +   add_types_to_symbol_table(symtab, builtin_110_types, +			     Elements(builtin_110_types), +			     false);     add_types_to_symbol_table(symtab, builtin_110_deprecated_structure_types,  			     Elements(builtin_110_deprecated_structure_types),  			     false); -   add_types_to_symbol_table(symtab, & void_type, 1, false);  } @@ -173,6 +182,10 @@ void  _mesa_glsl_initialize_types(struct _mesa_glsl_parse_state *state)  {     switch (state->language_version) { +   case 100: +      assert(state->es_shader); +      glsl_type::generate_100ES_types(state->symbols); +      break;     case 110:        glsl_type::generate_110_types(state->symbols);        break; diff --git a/src/glsl/glsl_types.h b/src/glsl/glsl_types.h index b4e83c9833..4f7d2f74af 100644 --- a/src/glsl/glsl_types.h +++ b/src/glsl/glsl_types.h @@ -430,6 +430,7 @@ private:     static const glsl_type builtin_core_types[];     static const glsl_type builtin_structure_types[];     static const glsl_type builtin_110_deprecated_structure_types[]; +   static const glsl_type builtin_110_types[];     static const glsl_type builtin_120_types[];     static const glsl_type builtin_130_types[];     static const glsl_type builtin_ARB_texture_rectangle_types[]; @@ -446,13 +447,12 @@ private:      * the world in a public header file.      */     /*@{*/ +   static void generate_100ES_types(glsl_symbol_table *);     static void generate_110_types(glsl_symbol_table *);     static void generate_120_types(glsl_symbol_table *);     static void generate_130_types(glsl_symbol_table *); -   static void generate_ARB_texture_rectangle_types(glsl_symbol_table *, -						    bool); -   static void generate_EXT_texture_array_types(glsl_symbol_table *, -						bool); +   static void generate_ARB_texture_rectangle_types(glsl_symbol_table *, bool); +   static void generate_EXT_texture_array_types(glsl_symbol_table *, bool);     /*@}*/     /** | 
