glsl: Expose a public glsl_type::void_type const pointer.

This is analogous to glsl_type::int_type and all the others.
(cherry picked from commit 5c229e5fbd)
This commit is contained in:
Kenneth Graunke 2010-12-13 11:19:38 -08:00 committed by Ian Romanick
parent 7bb3fe50c2
commit 32786b8a33
3 changed files with 6 additions and 4 deletions

View file

@ -24,10 +24,11 @@
const glsl_type glsl_type::_error_type =
glsl_type(GL_INVALID_ENUM, GLSL_TYPE_ERROR, 0, 0, "");
const glsl_type glsl_type::void_type =
const glsl_type glsl_type::_void_type =
glsl_type(GL_INVALID_ENUM, GLSL_TYPE_VOID, 0, 0, "void");
const glsl_type *const glsl_type::error_type = & glsl_type::_error_type;
const glsl_type *const glsl_type::void_type = & glsl_type::_void_type;
/** \name Core built-in types
*

View file

@ -120,7 +120,7 @@ glsl_type::generate_100ES_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);
add_types_to_symbol_table(symtab, void_type, 1, false);
}
void
@ -279,7 +279,7 @@ const glsl_type *
glsl_type::get_instance(unsigned base_type, unsigned rows, unsigned columns)
{
if (base_type == GLSL_TYPE_VOID)
return &void_type;
return void_type;
if ((rows < 1) || (rows > 4) || (columns < 1) || (columns > 4))
return error_type;

View file

@ -142,6 +142,7 @@ struct glsl_type {
*/
/*@{*/
static const glsl_type *const error_type;
static const glsl_type *const void_type;
static const glsl_type *const int_type;
static const glsl_type *const ivec4_type;
static const glsl_type *const uint_type;
@ -424,7 +425,7 @@ private:
*/
/*@{*/
static const glsl_type _error_type;
static const glsl_type void_type;
static const glsl_type _void_type;
static const glsl_type builtin_core_types[];
static const glsl_type builtin_structure_types[];
static const glsl_type builtin_110_deprecated_structure_types[];