static int find_extensionsGL(void) { if (!get_exts()) { return 0; } GLAD_GL_ARB_framebuffer_object = has_ext("GL_ARB_framebuffer_object"); GLAD_GL_EXT_packed_depth_stencil = has_ext("GL_EXT_packed_depth_stencil"); GLAD_GL_EXT_texture_filter_anisotropic = has_ext("GL_EXT_texture_filter_anisotropic"); GLAD_GL_SGIS_generate_mipmap = has_ext("GL_SGIS_generate_mipmap"); free_exts(); return 1; }
static int find_extensionsGLX(void) { if (!get_exts()) return 0; GLAD_GLX_ARB_create_context = has_ext("GLX_ARB_create_context"); GLAD_GLX_ARB_create_context_profile = has_ext("GLX_ARB_create_context_profile"); GLAD_GLX_ARB_framebuffer_sRGB = has_ext("GLX_ARB_framebuffer_sRGB"); GLAD_GLX_ARB_multisample = has_ext("GLX_ARB_multisample"); GLAD_GLX_EXT_create_context_es2_profile = has_ext("GLX_EXT_create_context_es2_profile"); GLAD_GLX_EXT_create_context_es_profile = has_ext("GLX_EXT_create_context_es_profile"); GLAD_GLX_EXT_swap_control = has_ext("GLX_EXT_swap_control"); free_exts(); return 1; }
environment pop_scope_core(environment const & env, io_state const & ios) { scope_mng_ext ext = get_extension(env); if (is_nil(ext.m_namespaces)) return env; scope_kind k = head(ext.m_scope_kinds); ext.m_namespaces = tail(ext.m_namespaces); ext.m_headers = tail(ext.m_headers); ext.m_scope_kinds = tail(ext.m_scope_kinds); environment r = update(env, ext); for (auto const & t : get_exts()) { r = std::get<1>(t)(r, ios, k); } return r; }
environment push_scope(environment const & env, io_state const & ios, scope_kind k, name const & n) { if (k == scope_kind::Namespace && in_section(env)) throw exception("invalid namespace declaration, a namespace cannot be declared inside a section"); name new_n = get_namespace(env); if (k == scope_kind::Namespace) new_n = new_n + n; scope_mng_ext ext = get_extension(env); bool save_ns = false; if (!ext.m_namespace_set.contains(new_n)) { save_ns = true; ext.m_namespace_set.insert(new_n); } ext.m_namespaces = cons(new_n, ext.m_namespaces); ext.m_headers = cons(n, ext.m_headers); ext.m_scope_kinds = cons(k, ext.m_scope_kinds); environment r = update(env, ext); for (auto const & t : get_exts()) { r = std::get<0>(t)(r, ios, k); } if (save_ns) r = module::add(r, *g_new_namespace_key, [=](environment const &, serializer & s) { s << new_n; }); return r; }
static int find_extensionsGL(void) { if (!get_exts()) return 0; GLAD_GL_ARB_framebuffer_object = has_ext("GL_ARB_framebuffer_object"); free_exts(); return 1; }