const GrGLInterface* GrGLCreateNativeInterface() { if (NULL == glXGetCurrentContext()) { return NULL; } return GrGLAssembleInterface(NULL, glx_get); }
const GrGLInterface* GrGLCreateNativeInterface() { if (nullptr == glfwGetCurrentContext()) { return nullptr; } return GrGLAssembleInterface(nullptr, glfw_get); }
static sk_sp<GrContext> create_grcontext() { // We just leak the OSMesaContext... the process will die soon anyway. if (OSMesaContext osMesaContext = OSMesaCreateContextExt(OSMESA_BGRA, 0, 0, 0, nullptr)) { static uint32_t buffer[16 * 16]; OSMesaMakeCurrent(osMesaContext, &buffer, GL_UNSIGNED_BYTE, 16, 16); } auto osmesa_get = [](void* ctx, const char name[]) { SkASSERT(nullptr == ctx); SkASSERT(OSMesaGetCurrentContext()); return OSMesaGetProcAddress(name); }; sk_sp<const GrGLInterface> mesa(GrGLAssembleInterface(nullptr, osmesa_get)); if (!mesa) { return nullptr; } return sk_sp<GrContext>(GrContext::Create( kOpenGL_GrBackend, reinterpret_cast<intptr_t>(mesa.get()))); }
const GrGLInterface* GrGLCreateNativeInterface() { return GrGLAssembleInterface(nullptr, android_get_gl_proc); }
const GrGLInterface* GrGLCreateNativeInterface() { return GrGLAssembleInterface(NULL, linux_get_gl_proc); }