aboutsummaryrefslogtreecommitdiff
path: root/mesalib/src/mesa/state_tracker/st_cb_fbo.c
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2012-10-15 16:56:14 +0200
committermarha <marha@users.sourceforge.net>2012-10-15 16:56:14 +0200
commitf15a40afaf6d1b3a4841d25631f947da1b289f89 (patch)
treef2066dc8caaf2fddd3b88251d18839d5878bfd9b /mesalib/src/mesa/state_tracker/st_cb_fbo.c
parentf2a3390c8b2052e8f65d3502dd703b5c5b23a28e (diff)
parent54db46582aba2252d544fa3956522f9ef06b49cb (diff)
downloadvcxsrv-f15a40afaf6d1b3a4841d25631f947da1b289f89.tar.gz
vcxsrv-f15a40afaf6d1b3a4841d25631f947da1b289f89.tar.bz2
vcxsrv-f15a40afaf6d1b3a4841d25631f947da1b289f89.zip
Merge remote-tracking branch 'origin/released'
* origin/released: xserver mesa pixman git update 15 oct 2012 Conflicts: xorg-server/hw/xwin/InitOutput.c
Diffstat (limited to 'mesalib/src/mesa/state_tracker/st_cb_fbo.c')
-rw-r--r--mesalib/src/mesa/state_tracker/st_cb_fbo.c15
1 files changed, 7 insertions, 8 deletions
diff --git a/mesalib/src/mesa/state_tracker/st_cb_fbo.c b/mesalib/src/mesa/state_tracker/st_cb_fbo.c
index c523795b9..882fb372b 100644
--- a/mesalib/src/mesa/state_tracker/st_cb_fbo.c
+++ b/mesalib/src/mesa/state_tracker/st_cb_fbo.c
@@ -708,6 +708,7 @@ st_MapRenderbuffer(struct gl_context *ctx,
const GLboolean invert = rb->Name == 0;
unsigned usage;
GLuint y2;
+ GLubyte *map;
if (strb->software) {
/* software-allocated renderbuffer (probably an accum buffer) */
@@ -742,13 +743,12 @@ st_MapRenderbuffer(struct gl_context *ctx,
else
y2 = y;
- strb->transfer = pipe_get_transfer(pipe,
- strb->texture,
- strb->rtt_level,
- strb->rtt_face + strb->rtt_slice,
- usage, x, y2, w, h);
- if (strb->transfer) {
- GLubyte *map = pipe_transfer_map(pipe, strb->transfer);
+ map = pipe_transfer_map(pipe,
+ strb->texture,
+ strb->rtt_level,
+ strb->rtt_face + strb->rtt_slice,
+ usage, x, y2, w, h, &strb->transfer);
+ if (map) {
if (invert) {
*rowStrideOut = -strb->transfer->stride;
map += (h - 1) * strb->transfer->stride;
@@ -782,7 +782,6 @@ st_UnmapRenderbuffer(struct gl_context *ctx,
}
pipe_transfer_unmap(pipe, strb->transfer);
- pipe->transfer_destroy(pipe, strb->transfer);
strb->transfer = NULL;
}