blit: avoid using _COGL_GET_CONTEXT
As part of an on-going effort to avoid depending on a global Cogl context cogl-blit.c now finds the context by looking at data->src_text->context instead of using the _COGL_GET_CONTEXT macro. Reviewed-by: Neil Roberts <neil@linux.intel.com> (cherry picked from commit 3f2c99150494efc04487d0dbd17980bac20e4485)
This commit is contained in:
parent
4087e848c4
commit
ae2b064fd7
@ -34,6 +34,7 @@
|
|||||||
#include "cogl-blit.h"
|
#include "cogl-blit.h"
|
||||||
#include "cogl-context-private.h"
|
#include "cogl-context-private.h"
|
||||||
#include "cogl-framebuffer-private.h"
|
#include "cogl-framebuffer-private.h"
|
||||||
|
#include "cogl-texture-private.h"
|
||||||
#include "cogl-texture-2d-private.h"
|
#include "cogl-texture-2d-private.h"
|
||||||
#include "cogl-private.h"
|
#include "cogl-private.h"
|
||||||
#include "cogl1-context.h"
|
#include "cogl1-context.h"
|
||||||
@ -43,13 +44,12 @@ static const CoglBlitMode *_cogl_blit_default_mode = NULL;
|
|||||||
static CoglBool
|
static CoglBool
|
||||||
_cogl_blit_texture_render_begin (CoglBlitData *data)
|
_cogl_blit_texture_render_begin (CoglBlitData *data)
|
||||||
{
|
{
|
||||||
|
CoglContext *ctx = data->src_tex->context;
|
||||||
CoglOffscreen *offscreen;
|
CoglOffscreen *offscreen;
|
||||||
CoglFramebuffer *fb;
|
CoglFramebuffer *fb;
|
||||||
CoglPipeline *pipeline;
|
CoglPipeline *pipeline;
|
||||||
unsigned int dst_width, dst_height;
|
unsigned int dst_width, dst_height;
|
||||||
|
|
||||||
_COGL_GET_CONTEXT (ctx, FALSE);
|
|
||||||
|
|
||||||
offscreen = _cogl_offscreen_new_to_texture_full
|
offscreen = _cogl_offscreen_new_to_texture_full
|
||||||
(data->dst_tex, COGL_OFFSCREEN_DISABLE_DEPTH_AND_STENCIL, 0 /* level */);
|
(data->dst_tex, COGL_OFFSCREEN_DISABLE_DEPTH_AND_STENCIL, 0 /* level */);
|
||||||
|
|
||||||
@ -125,7 +125,7 @@ _cogl_blit_texture_render_blit (CoglBlitData *data,
|
|||||||
static void
|
static void
|
||||||
_cogl_blit_texture_render_end (CoglBlitData *data)
|
_cogl_blit_texture_render_end (CoglBlitData *data)
|
||||||
{
|
{
|
||||||
_COGL_GET_CONTEXT (ctx, NO_RETVAL);
|
CoglContext *ctx = data->src_tex->context;
|
||||||
|
|
||||||
cogl_pop_source ();
|
cogl_pop_source ();
|
||||||
cogl_pop_framebuffer ();
|
cogl_pop_framebuffer ();
|
||||||
@ -145,11 +145,10 @@ _cogl_blit_texture_render_end (CoglBlitData *data)
|
|||||||
static CoglBool
|
static CoglBool
|
||||||
_cogl_blit_framebuffer_begin (CoglBlitData *data)
|
_cogl_blit_framebuffer_begin (CoglBlitData *data)
|
||||||
{
|
{
|
||||||
|
CoglContext *ctx = data->src_tex->context;
|
||||||
CoglOffscreen *dst_offscreen = NULL, *src_offscreen = NULL;
|
CoglOffscreen *dst_offscreen = NULL, *src_offscreen = NULL;
|
||||||
CoglFramebuffer *dst_fb, *src_fb;
|
CoglFramebuffer *dst_fb, *src_fb;
|
||||||
|
|
||||||
_COGL_GET_CONTEXT (ctx, FALSE);
|
|
||||||
|
|
||||||
/* We can only blit between FBOs if both textures are the same
|
/* We can only blit between FBOs if both textures are the same
|
||||||
format and the blit framebuffer extension is supported */
|
format and the blit framebuffer extension is supported */
|
||||||
if ((cogl_texture_get_format (data->src_tex) & ~COGL_A_BIT) !=
|
if ((cogl_texture_get_format (data->src_tex) & ~COGL_A_BIT) !=
|
||||||
@ -218,8 +217,6 @@ _cogl_blit_copy_tex_sub_image_begin (CoglBlitData *data)
|
|||||||
CoglOffscreen *offscreen;
|
CoglOffscreen *offscreen;
|
||||||
CoglFramebuffer *fb;
|
CoglFramebuffer *fb;
|
||||||
|
|
||||||
_COGL_GET_CONTEXT (ctx, FALSE);
|
|
||||||
|
|
||||||
/* This will only work if the target texture is a CoglTexture2D */
|
/* This will only work if the target texture is a CoglTexture2D */
|
||||||
if (!cogl_is_texture_2d (data->dst_tex))
|
if (!cogl_is_texture_2d (data->dst_tex))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
Loading…
Reference in New Issue
Block a user