static bool _cg_winsys_set_gles2_context(cg_gles2_context_t *gles2_ctx, cg_error_t **error) { cg_device_t *dev = gles2_ctx->dev; cg_display_egl_t *egl_display = dev->display->winsys; bool status; if (gles2_ctx->write_buffer && cg_is_onscreen(gles2_ctx->write_buffer)) status = bind_onscreen_with_context( CG_ONSCREEN(gles2_ctx->write_buffer), gles2_ctx->winsys); else status = _cg_winsys_egl_make_current(dev->display, egl_display->dummy_surface, egl_display->dummy_surface, gles2_ctx->winsys); if (!status) { _cg_set_error(error, CG_WINSYS_ERROR, CG_WINSYS_ERROR_MAKE_CURRENT, "Failed to make gles2 context current"); return false; } return true; }
static CoglBool _cogl_winsys_set_gles2_context (CoglGLES2Context *gles2_ctx, CoglError **error) { CoglContext *ctx = gles2_ctx->context; CoglDisplayEGL *egl_display = ctx->display->winsys; CoglBool status; if (gles2_ctx->write_buffer && cogl_is_onscreen (gles2_ctx->write_buffer)) status = bind_onscreen_with_context (COGL_ONSCREEN (gles2_ctx->write_buffer), gles2_ctx->winsys); else status = _cogl_winsys_egl_make_current (ctx->display, egl_display->dummy_surface, egl_display->dummy_surface, gles2_ctx->winsys); if (!status) { _cogl_set_error (error, COGL_WINSYS_ERROR, COGL_WINSYS_ERROR_MAKE_CURRENT, "Failed to make gles2 context current"); return FALSE; } return TRUE; }
static bool bind_onscreen(cg_onscreen_t *onscreen) { cg_framebuffer_t *fb = CG_FRAMEBUFFER(onscreen); cg_device_t *dev = fb->dev; cg_display_egl_t *egl_display = dev->display->winsys; return bind_onscreen_with_context(onscreen, egl_display->egl_context); }
static CoglBool bind_onscreen (CoglOnscreen *onscreen) { CoglFramebuffer *fb = COGL_FRAMEBUFFER (onscreen); CoglContext *context = fb->context; CoglDisplayEGL *egl_display = context->display->winsys; return bind_onscreen_with_context (onscreen, egl_display->egl_context); }