__anonymousmixin ConditionalEnum!("GLType", "BYTE = GL_BYTE", glSupport >= GLSupport.gl11, "UBYTE = GL_UNSIGNED_BYTE", glSupport >= GLSupport.gl11, "SHORT = GL_SHORT", glSupport >= GLSupport.gl11, "USHORT = GL_UNSIGNED_SHORT", glSupport >= GLSupport.gl11, "INT = GL_INT", glSupport >= GLSupport.gl11, "UINT = GL_UNSIGNED_INT", glSupport >= GLSupport.gl11, "FLOAT = GL_FLOAT", glSupport >= GLSupport.gl11, "DOUBLE = GL_DOUBLE", glSupport >= GLSupport.gl11, "VEC2 = GL_FLOAT_VEC2", glSupport >= GLSupport.gl20, "VEC3 = GL_FLOAT_VEC3", glSupport >= GLSupport.gl20, "VEC4 = GL_FLOAT_VEC4", glSupport >= GLSupport.gl20, "IVEC2 = GL_INT_VEC2", glSupport >= GLSupport.gl20, "IVEC3 = GL_INT_VEC3", glSupport >= GLSupport.gl20, "IVEC4 = GL_INT_VEC4", glSupport >= GLSupport.gl20, "HALF_FLOAT = GL_HALF_FLOAT", glSupport >= GLSupport.gl30, "UVEC2 = GL_UNSIGNED_INT_VEC2", glSupport >= GLSupport.gl30, "UVEC3 = GL_UNSIGNED_INT_VEC3", glSupport >= GLSupport.gl30, "UVEC4 = GL_UNSIGNED_INT_VEC4", glSupport >= GLSupport.gl30)
__anonymousmixin ConditionalEnum!("GLParam", "SHADER_TYPE = GL_SHADER_TYPE", glSupport >= GLSupport.gl20, "DELETE_STATUS = GL_DELETE_STATUS", glSupport >= GLSupport.gl20, "COMPILE_STATUS = GL_COMPILE_STATUS", glSupport >= GLSupport.gl20, "INFO_LOG_LENGTH = GL_INFO_LOG_LENGTH", glSupport >= GLSupport.gl20, "SHADER_SOURCE_LENGTH = GL_SHADER_SOURCE_LENGTH", glSupport >= GLSupport.gl20, "LINK_STATUS = GL_LINK_STATUS", glSupport >= GLSupport.gl20, "VALIDATE_STATUS = GL_VALIDATE_STATUS", glSupport >= GLSupport.gl20, "ATTACHED_SHADERS = GL_ATTACHED_SHADERS", glSupport >= GLSupport.gl20, "GEOMETRY_VERTICES_OUT = GL_GEOMETRY_VERTICES_OUT", glSupport >= GLSupport.gl32, "GEOMETRY_INPUT_TYPE = GL_GEOMETRY_INPUT_TYPE", glSupport >= GLSupport.gl32, "GEOMETRY_OUTPUT_TYPE = GL_GEOMETRY_OUTPUT_TYPE", glSupport >= GLSupport.gl32)