diff options
author | Ian Romanick <ian.d.romanick@intel.com> | 2010-06-28 11:09:40 -0700 |
---|---|---|
committer | Ian Romanick <ian.d.romanick@intel.com> | 2010-06-29 11:15:39 -0700 |
commit | 31bcce04b1f9c8c5e33370e26a3a9d6e60049aa8 (patch) | |
tree | 3d945d05125c5d4109c1493b24e441f9bd16bc30 /src/glsl/glsl_types.cpp | |
parent | e94642eb0d99ff7f6cdaee31ed4f5f29bdabd6f7 (diff) |
glsl_type: Vector, matrix, and sampler type constructors are private
Diffstat (limited to 'src/glsl/glsl_types.cpp')
-rw-r--r-- | src/glsl/glsl_types.cpp | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/glsl/glsl_types.cpp b/src/glsl/glsl_types.cpp index 69bed33d81..158659c71e 100644 --- a/src/glsl/glsl_types.cpp +++ b/src/glsl/glsl_types.cpp @@ -33,6 +33,37 @@ extern "C" { hash_table *glsl_type::array_types = NULL; +glsl_type::glsl_type(GLenum gl_type, + unsigned base_type, unsigned vector_elements, + unsigned matrix_columns, const char *name) : + gl_type(gl_type), + base_type(base_type), + sampler_dimensionality(0), sampler_shadow(0), sampler_array(0), + sampler_type(0), + vector_elements(vector_elements), matrix_columns(matrix_columns), + name(name), + length(0) +{ + /* Neither dimension is zero or both dimensions are zero. + */ + assert((vector_elements == 0) == (matrix_columns == 0)); + memset(& fields, 0, sizeof(fields)); +} + +glsl_type::glsl_type(GLenum gl_type, + enum glsl_sampler_dim dim, bool shadow, bool array, + unsigned type, const char *name) : + gl_type(gl_type), + base_type(GLSL_TYPE_SAMPLER), + sampler_dimensionality(dim), sampler_shadow(shadow), + sampler_array(array), sampler_type(type), + vector_elements(0), matrix_columns(0), + name(name), + length(0) +{ + memset(& fields, 0, sizeof(fields)); +} + static void add_types_to_symbol_table(glsl_symbol_table *symtab, const struct glsl_type *types, |