From 990e0883de1bc09ba1939f2ce598de2c312b8941 Mon Sep 17 00:00:00 2001 From: David Rose Date: Wed, 7 May 2008 00:47:46 +0000 Subject: [PATCH] properly uninvert framebuffer-to-texture --- panda/src/tinydisplay/tinyGraphicsStateGuardian.cxx | 4 ++-- panda/src/tinydisplay/tinyXGraphicsWindow.cxx | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/panda/src/tinydisplay/tinyGraphicsStateGuardian.cxx b/panda/src/tinydisplay/tinyGraphicsStateGuardian.cxx index 24da91ad67..15afda4900 100644 --- a/panda/src/tinydisplay/tinyGraphicsStateGuardian.cxx +++ b/panda/src/tinydisplay/tinyGraphicsStateGuardian.cxx @@ -1392,11 +1392,11 @@ framebuffer_copy_to_texture(Texture *tex, int z, const DisplayRegion *dr, GLTexture *gltex = gtc->_gltex; setup_gltex(gltex, tex->get_x_size(), tex->get_y_size()); - PIXEL *ip = gltex->pixmap; + PIXEL *ip = gltex->pixmap + gltex->xsize * gltex->ysize; PIXEL *fo = _c->zb->pbuf + xo + yo * _c->zb->linesize / PSZB; for (int y = 0; y < gltex->ysize; ++y) { + ip -= gltex->xsize; memcpy(ip, fo, gltex->xsize * PSZB); - ip += gltex->xsize; fo += _c->zb->linesize / PSZB; } diff --git a/panda/src/tinydisplay/tinyXGraphicsWindow.cxx b/panda/src/tinydisplay/tinyXGraphicsWindow.cxx index f94723779c..89b30679d2 100644 --- a/panda/src/tinydisplay/tinyXGraphicsWindow.cxx +++ b/panda/src/tinydisplay/tinyXGraphicsWindow.cxx @@ -574,7 +574,7 @@ void TinyXGraphicsWindow:: close_window() { if (_gsg != (GraphicsStateGuardian *)NULL) { TinyGraphicsStateGuardian *tinygsg; - DCAST_INTO_R(tinygsg, _gsg, false); + DCAST_INTO_V(tinygsg, _gsg); tinygsg->_current_frame_buffer = NULL; _gsg.clear(); _active = false;