#if !defined SLANG_COMPILE_VARIABLE_H\r
#define SLANG_COMPILE_VARIABLE_H\r
\r
-#include "slang_export.h"\r
-\r
#if defined __cplusplus\r
extern "C" {\r
#endif\r
slang_qual_fixedinput /* internal */\r
} slang_type_qualifier;\r
\r
-typedef enum slang_type_specifier_type_\r
-{\r
- slang_spec_void,\r
- slang_spec_bool,\r
- slang_spec_bvec2,\r
- slang_spec_bvec3,\r
- slang_spec_bvec4,\r
- slang_spec_int,\r
- slang_spec_ivec2,\r
- slang_spec_ivec3,\r
- slang_spec_ivec4,\r
- slang_spec_float,\r
- slang_spec_vec2,\r
- slang_spec_vec3,\r
- slang_spec_vec4,\r
- slang_spec_mat2,\r
- slang_spec_mat3,\r
- slang_spec_mat4,\r
- slang_spec_sampler1D,\r
- slang_spec_sampler2D,\r
- slang_spec_sampler3D,\r
- slang_spec_samplerCube,\r
- slang_spec_sampler1DShadow,\r
- slang_spec_sampler2DShadow,\r
- slang_spec_struct,\r
- slang_spec_array\r
-} slang_type_specifier_type;\r
-\r
slang_type_specifier_type slang_type_specifier_type_from_string (const char *);\r
const char *slang_type_specifier_type_to_string (slang_type_specifier_type);\r
\r
-typedef struct slang_type_specifier_\r
-{\r
- slang_type_specifier_type type;\r
- struct slang_struct_ *_struct; /* type: spec_struct */\r
- struct slang_type_specifier_ *_array; /* type: spec_array */\r
-} slang_type_specifier;\r
-\r
-int slang_type_specifier_construct (slang_type_specifier *);\r
-void slang_type_specifier_destruct (slang_type_specifier *);\r
-int slang_type_specifier_copy (slang_type_specifier *, const slang_type_specifier *);\r
-int slang_type_specifier_equal (const slang_type_specifier *, const slang_type_specifier *);\r
-\r
typedef struct slang_fully_specified_type_\r
{\r
slang_type_qualifier qualifier;\r
\r
slang_variable *_slang_locate_variable (slang_variable_scope *, slang_atom a_name, GLboolean all);\r
\r
-typedef struct\r
-{\r
- slang_export_data_quant *quant;\r
- char *name;\r
-} slang_active_uniform;\r
-\r
-typedef struct\r
-{\r
- slang_active_uniform *table;\r
- GLuint count;\r
-} slang_active_uniforms;\r
-\r
-GLvoid slang_active_uniforms_ctr (slang_active_uniforms *);\r
-GLvoid slang_active_uniforms_dtr (slang_active_uniforms *);\r
-GLboolean slang_active_uniforms_add (slang_active_uniforms *, slang_export_data_quant *,\r
- const char *);\r
-\r
GLboolean _slang_build_export_data_table (slang_export_data_table *, slang_variable_scope *);\r
\r
-GLboolean _slang_gather_active_uniforms (slang_active_uniforms *, slang_export_data_table *);\r
-\r
#ifdef __cplusplus\r
}\r
#endif\r