Lines Matching defs:glsl_type
51 * and 2 so that they will fit in the 2 bits of glsl_type::sampled_type.
128 struct glsl_type {
147 mtx_lock(&glsl_type::mutex);
150 assert(glsl_type::mem_ctx != NULL);
154 type = ralloc_size(glsl_type::mem_ctx, size);
157 mtx_unlock(&glsl_type::mutex);
166 mtx_lock(&glsl_type::mutex);
168 mtx_unlock(&glsl_type::mutex);
201 const struct glsl_type *array; /**< Type of array elements. */
212 static const glsl_type *const NAME##_type;
215 static const glsl_type *const struct_##NAME##_type;
223 static const glsl_type *vec(unsigned components);
224 static const glsl_type *dvec(unsigned components);
225 static const glsl_type *ivec(unsigned components);
226 static const glsl_type *uvec(unsigned components);
227 static const glsl_type *bvec(unsigned components);
238 const glsl_type *get_base_type() const;
249 const glsl_type *get_scalar_type() const;
254 static const glsl_type *get_instance(unsigned base_type, unsigned rows,
260 static const glsl_type *get_sampler_instance(enum glsl_sampler_dim dim,
265 static const glsl_type *get_image_instance(enum glsl_sampler_dim dim,
271 static const glsl_type *get_array_instance(const glsl_type *base,
277 static const glsl_type *get_record_instance(const glsl_struct_field *fields,
284 static const glsl_type *get_interface_instance(const glsl_struct_field *fields,
293 static const glsl_type *get_subroutine_instance(const char *subroutine_name);
298 static const glsl_type *get_function_instance(const struct glsl_type *return_type,
305 static const glsl_type *get_mul_type(const glsl_type *type_a,
306 const glsl_type *type_b);
427 bool can_implicitly_convert_to(const glsl_type *desired,
628 const glsl_type *without_array() const
630 const glsl_type *t = this;
648 const glsl_type *base_type = fields.array;
687 * If the type is not a matrix, \c glsl_type::error_type is returned.
690 const glsl_type *row_type() const
701 * If the type is not a matrix, \c glsl_type::error_type is returned.
704 const glsl_type *column_type() const
716 * or the named field does not exist, \c glsl_type::error_type is returned.
718 const glsl_type *field_type(const char *name) const;
766 bool record_compare(const glsl_type *b, bool match_locations = true) const;
789 * ralloc context for all glsl_type allocations
791 * Set on the first call to \c glsl_type::new.
798 glsl_type(GLenum gl_type,
803 glsl_type(GLenum gl_type, glsl_base_type base_type,
808 glsl_type(const glsl_struct_field *fields, unsigned num_fields,
812 glsl_type(const glsl_struct_field *fields, unsigned num_fields,
817 glsl_type(const glsl_type *return_type,
821 glsl_type(const glsl_type *array, unsigned length);
824 glsl_type(const char *name);
849 #define DECL_TYPE(NAME, ...) static const glsl_type _##NAME##_type;
851 #define STRUCT_TYPE(NAME) static const glsl_type _struct_##NAME##_type;
873 const struct glsl_type *type;
958 glsl_struct_field(const struct glsl_type *_type, const char *_name)
977 const struct glsl_type *type;