[Mesa-dev] [PATCH 4/4] st/mesa: use the renderbuffer chosen by core Mesa in CopyTexSubImage

Marek Olšák maraeo at gmail.com
Tue Oct 9 15:48:14 PDT 2012


---
 src/mesa/state_tracker/st_cb_texture.c |   13 +------------
 1 file changed, 1 insertion(+), 12 deletions(-)

diff --git a/src/mesa/state_tracker/st_cb_texture.c b/src/mesa/state_tracker/st_cb_texture.c
index 473ff3a..a5d997e 100644
--- a/src/mesa/state_tracker/st_cb_texture.c
+++ b/src/mesa/state_tracker/st_cb_texture.c
@@ -915,8 +915,7 @@ st_CopyTexSubImage(struct gl_context *ctx, GLuint dims,
 {
    struct st_texture_image *stImage = st_texture_image(texImage);
    const GLenum texBaseFormat = texImage->_BaseFormat;
-   struct gl_framebuffer *fb = ctx->ReadBuffer;
-   struct st_renderbuffer *strb;
+   struct st_renderbuffer *strb = st_renderbuffer(rb);
    struct st_context *st = st_context(ctx);
    struct pipe_context *pipe = st->pipe;
    struct pipe_screen *screen = pipe->screen;
@@ -933,16 +932,6 @@ st_CopyTexSubImage(struct gl_context *ctx, GLuint dims,
     */
    if (0) st_validate_state(st);
 
-   /* determine if copying depth or color data */
-   if (texBaseFormat == GL_DEPTH_COMPONENT ||
-       texBaseFormat == GL_DEPTH_STENCIL) {
-      strb = st_renderbuffer(fb->Attachment[BUFFER_DEPTH].Renderbuffer);
-   }
-   else {
-      /* texBaseFormat == GL_RGB, GL_RGBA, GL_ALPHA, etc */
-      strb = st_renderbuffer(fb->_ColorReadBuffer);
-   }
-
    if (!strb || !strb->surface || !stImage->pt) {
       debug_printf("%s: null strb or stImage\n", __FUNCTION__);
       return;
-- 
1.7.9.5



More information about the mesa-dev mailing list