diff options
Diffstat (limited to 'mesalib/src/mesa/state_tracker/st_cb_drawpixels.c')
-rw-r--r-- | mesalib/src/mesa/state_tracker/st_cb_drawpixels.c | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/mesalib/src/mesa/state_tracker/st_cb_drawpixels.c b/mesalib/src/mesa/state_tracker/st_cb_drawpixels.c index 5714d343d..95805fd3c 100644 --- a/mesalib/src/mesa/state_tracker/st_cb_drawpixels.c +++ b/mesalib/src/mesa/state_tracker/st_cb_drawpixels.c @@ -38,6 +38,7 @@ #include "main/mtypes.h" #include "main/pack.h" #include "main/pbo.h" +#include "main/readpix.h" #include "main/texformat.h" #include "main/teximage.h" #include "main/texstore.h" @@ -1189,9 +1190,9 @@ copy_stencil_pixels(struct gl_context *ctx, GLint srcx, GLint srcy, rbDraw = st_renderbuffer(rbDraw->Base.Wrapped); /* this will do stencil pixel transfer ops */ - st_read_stencil_pixels(ctx, srcx, srcy, width, height, - GL_STENCIL_INDEX, GL_UNSIGNED_BYTE, - &ctx->DefaultPacking, buffer); + _mesa_readpixels(ctx, srcx, srcy, width, height, + GL_STENCIL_INDEX, GL_UNSIGNED_BYTE, + &ctx->DefaultPacking, buffer); if (0) { /* debug code: dump stencil values */ @@ -1296,6 +1297,20 @@ copy_stencil_pixels(struct gl_context *ctx, GLint srcx, GLint srcy, } +/** + * Return renderbuffer to use for reading color pixels for glCopyPixels + */ +static struct st_renderbuffer * +st_get_color_read_renderbuffer(struct gl_context *ctx) +{ + struct gl_framebuffer *fb = ctx->ReadBuffer; + struct st_renderbuffer *strb = + st_renderbuffer(fb->_ColorReadBuffer); + + return strb; +} + + /** Do the src/dest regions overlap? */ static GLboolean regions_overlap(GLint srcX, GLint srcY, GLint dstX, GLint dstY, |