aboutsummaryrefslogtreecommitdiff
path: root/mesalib/src/mesa/state_tracker/st_cb_drawpixels.c
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2011-05-29 15:44:00 +0200
committermarha <marha@users.sourceforge.net>2011-05-29 15:44:00 +0200
commit75b5635aa9e9791d10e3f63538e75237303ee6da (patch)
tree3467c4f258773ec64aea7c4dda11b8574df9791f /mesalib/src/mesa/state_tracker/st_cb_drawpixels.c
parentb2e1c9dff46fdf1b5936115531693981454ca466 (diff)
parent1ccf18dc09e288ddf937aa890b50c8d0a9df4319 (diff)
downloadvcxsrv-75b5635aa9e9791d10e3f63538e75237303ee6da.tar.gz
vcxsrv-75b5635aa9e9791d10e3f63538e75237303ee6da.tar.bz2
vcxsrv-75b5635aa9e9791d10e3f63538e75237303ee6da.zip
Merge remote-tracking branch 'origin/released'
Conflicts: libX11/specs/libX11/CH08.xml mesalib/src/mesa/main/dlist.c mesalib/src/mesa/main/fbobject.c mesalib/src/mesa/main/queryobj.c mesalib/src/mesa/main/shaderapi.c mesalib/src/mesa/main/teximage.c mesalib/src/mesa/program/ir_to_mesa.cpp mesalib/src/mesa/state_tracker/st_atom_pixeltransfer.c mesalib/src/mesa/state_tracker/st_cb_bufferobjects.c mesalib/src/mesa/state_tracker/st_cb_drawpixels.c mesalib/src/mesa/state_tracker/st_cb_readpixels.c mesalib/src/mesa/state_tracker/st_cb_texture.c mkfontscale/list.h pixman/pixman/Makefile.win32 xorg-server/dix/devices.c xorg-server/dix/events.c xorg-server/dix/inpututils.c xorg-server/fb/fbbltone.c xorg-server/hw/kdrive/ephyr/ephyr.c xorg-server/hw/kdrive/ephyr/ephyrinit.c xorg-server/hw/xfree86/common/xf86Module.h xorg-server/hw/xfree86/common/xf86Xinput.c xorg-server/hw/xfree86/man/xorg.conf.man xorg-server/hw/xwin/winkeybd.c xorg-server/hw/xwin/winmouse.c xorg-server/include/input.h xorg-server/include/inputstr.h xorg-server/mi/mieq.c xorg-server/randr/rrscreen.c xorg-server/xkeyboard-config/rules/base.extras.xml.in xorg-server/xkeyboard-config/rules/base.xml.in
Diffstat (limited to 'mesalib/src/mesa/state_tracker/st_cb_drawpixels.c')
-rw-r--r--mesalib/src/mesa/state_tracker/st_cb_drawpixels.c26
1 files changed, 16 insertions, 10 deletions
diff --git a/mesalib/src/mesa/state_tracker/st_cb_drawpixels.c b/mesalib/src/mesa/state_tracker/st_cb_drawpixels.c
index a197bf3ca..468355ccb 100644
--- a/mesalib/src/mesa/state_tracker/st_cb_drawpixels.c
+++ b/mesalib/src/mesa/state_tracker/st_cb_drawpixels.c
@@ -793,9 +793,10 @@ draw_stencil_pixels(struct gl_context *ctx, GLint x, GLint y,
else
usage = PIPE_TRANSFER_WRITE;
- pt = pipe_get_transfer(st_context(ctx)->pipe, strb->texture, 0, 0,
- usage, x, y,
- width, height);
+ pt = pipe_get_transfer(pipe, strb->texture,
+ strb->rtt_level, strb->rtt_face + strb->rtt_slice,
+ usage, x, y,
+ width, height);
stmap = pipe_transfer_map(pipe, pt);
@@ -1130,8 +1131,10 @@ copy_stencil_pixels(struct gl_context *ctx, GLint srcx, GLint srcy,
dsty = rbDraw->Base.Height - dsty - height;
}
- ptDraw = pipe_get_transfer(st_context(ctx)->pipe,
- rbDraw->texture, 0, 0,
+ ptDraw = pipe_get_transfer(pipe,
+ rbDraw->texture,
+ rbDraw->rtt_level,
+ rbDraw->rtt_face + rbDraw->rtt_slice,
usage, dstx, dsty,
width, height);
@@ -1291,8 +1294,10 @@ blit_copy_pixels(struct gl_context *ctx, GLint srcx, GLint srcy,
u_box_2d(readX, readY, readW, readH, &srcBox);
pipe->resource_copy_region(pipe,
- rbDraw->texture, 0, drawX, drawY, 0,
- rbRead->texture, 0, &srcBox);
+ rbDraw->texture,
+ rbDraw->rtt_level, drawX, drawY, 0,
+ rbRead->texture,
+ rbRead->rtt_level, &srcBox);
return GL_TRUE;
}
}
@@ -1444,10 +1449,10 @@ st_CopyPixels(struct gl_context *ctx, GLint srcx, GLint srcy,
/* copy source framebuffer surface into mipmap/texture */
pipe->resource_copy_region(pipe,
pt, /* dest tex */
- 0,
+ 0, /* dest lvl */
pack.SkipPixels, pack.SkipRows, 0, /* dest pos */
rbRead->texture, /* src tex */
- 0,
+ rbRead->rtt_level, /* src lvl */
&src_box);
}
@@ -1455,7 +1460,8 @@ st_CopyPixels(struct gl_context *ctx, GLint srcx, GLint srcy,
/* CPU-based fallback/conversion */
struct pipe_transfer *ptRead =
pipe_get_transfer(st->pipe, rbRead->texture,
- 0, 0, /* level, layer */
+ rbRead->rtt_level,
+ rbRead->rtt_face + rbRead->rtt_slice,
PIPE_TRANSFER_READ,
readX, readY, readW, readH);
struct pipe_transfer *ptTex;