Mesa (glsl2): glsl_type: Vector, matrix, and sampler type constructors are private
Ian Romanick
idr at kemper.freedesktop.org
Tue Jun 29 18:54:42 UTC 2010
Module: Mesa
Branch: glsl2
Commit: 31bcce04b1f9c8c5e33370e26a3a9d6e60049aa8
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=31bcce04b1f9c8c5e33370e26a3a9d6e60049aa8
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Mon Jun 28 11:09:40 2010 -0700
glsl_type: Vector, matrix, and sampler type constructors are private
---
src/glsl/glsl_types.cpp | 31 +++++++++++++++++++++++++++++++
src/glsl/glsl_types.h | 45 +++++++++++----------------------------------
2 files changed, 42 insertions(+), 34 deletions(-)
diff --git a/src/glsl/glsl_types.cpp b/src/glsl/glsl_types.cpp
index 69bed33..158659c 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,
diff --git a/src/glsl/glsl_types.h b/src/glsl/glsl_types.h
index c62d290..e1bfd34 100644
--- a/src/glsl/glsl_types.h
+++ b/src/glsl/glsl_types.h
@@ -158,37 +158,6 @@ struct 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(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));
- }
-
glsl_type(const glsl_struct_field *fields, unsigned num_fields,
const char *name) :
base_type(GLSL_TYPE_STRUCT),
@@ -419,9 +388,17 @@ struct glsl_type {
}
private:
- /**
- * Constructor for array types
- */
+ /** Constructor for vector and matrix types */
+ glsl_type(GLenum gl_type,
+ unsigned base_type, unsigned vector_elements,
+ unsigned matrix_columns, const char *name);
+
+ /** Constructor for sampler types */
+ glsl_type(GLenum gl_type,
+ enum glsl_sampler_dim dim, bool shadow, bool array,
+ unsigned type, const char *name);
+
+ /** Constructor for array types */
glsl_type(void *ctx, const glsl_type *array, unsigned length);
/** Hash table containing the known array types. */
More information about the mesa-commit
mailing list