Pushed! Thanks. Marek
On Tue, Feb 20, 2018 at 8:30 AM, Guillaume Charifi <guillaume.char...@sfr.fr> wrote: > --- > src/mesa/state_tracker/st_cb_blit.c | 76 > +++++++++++++------------------------ > 1 file changed, 26 insertions(+), 50 deletions(-) > > diff --git a/src/mesa/state_tracker/st_cb_blit.c > b/src/mesa/state_tracker/st_cb_blit.c > index 8aa849b3fc..564ad66665 100644 > --- a/src/mesa/state_tracker/st_cb_blit.c > +++ b/src/mesa/state_tracker/st_cb_blit.c > @@ -174,53 +174,29 @@ st_BlitFramebuffer(struct gl_context *ctx, > if (mask & GL_COLOR_BUFFER_BIT) { > struct gl_renderbuffer_attachment *srcAtt = > &readFB->Attachment[readFB->_ColorReadBufferIndex]; > + GLuint i; > > blit.mask = PIPE_MASK_RGBA; > > if (srcAtt->Type == GL_TEXTURE) { > struct st_texture_object *srcObj = > st_texture_object(srcAtt->Texture); > - GLuint i; > > if (!srcObj || !srcObj->pt) { > return; > } > > - for (i = 0; i < drawFB->_NumColorDrawBuffers; i++) { > - struct st_renderbuffer *dstRb = > - st_renderbuffer(drawFB->_ColorDrawBuffers[i]); > + blit.src.resource = srcObj->pt; > + blit.src.level = srcAtt->TextureLevel; > + blit.src.box.z = srcAtt->Zoffset + srcAtt->CubeMapFace; > + blit.src.format = srcObj->pt->format; > > - if (dstRb) { > - struct pipe_surface *dstSurf; > - > - st_update_renderbuffer_surface(st, dstRb); > - > - dstSurf = dstRb->surface; > - > - if (dstSurf) { > - blit.dst.resource = dstSurf->texture; > - blit.dst.level = dstSurf->u.tex.level; > - blit.dst.box.z = dstSurf->u.tex.first_layer; > - blit.dst.format = dstSurf->format; > - > - blit.src.resource = srcObj->pt; > - blit.src.level = srcAtt->TextureLevel; > - blit.src.box.z = srcAtt->Zoffset + srcAtt->CubeMapFace; > - blit.src.format = srcObj->pt->format; > - > - if (!ctx->Color.sRGBEnabled) > - blit.src.format = util_format_linear(blit.src.format); > - > - st->pipe->blit(st->pipe, &blit); > - dstRb->defined = true; /* front buffer tracking */ > - } > - } > - } > + if (!ctx->Color.sRGBEnabled) > + blit.src.format = util_format_linear(blit.src.format); > } > else { > struct st_renderbuffer *srcRb = > st_renderbuffer(readFB->_ColorReadBuffer); > struct pipe_surface *srcSurf; > - GLuint i; > > if (!srcRb) > return; > @@ -232,31 +208,31 @@ st_BlitFramebuffer(struct gl_context *ctx, > > srcSurf = srcRb->surface; > > - for (i = 0; i < drawFB->_NumColorDrawBuffers; i++) { > - struct st_renderbuffer *dstRb = > - st_renderbuffer(drawFB->_ColorDrawBuffers[i]); > + blit.src.resource = srcSurf->texture; > + blit.src.level = srcSurf->u.tex.level; > + blit.src.box.z = srcSurf->u.tex.first_layer; > + blit.src.format = srcSurf->format; > + } > > - if (dstRb) { > - struct pipe_surface *dstSurf; > + for (i = 0; i < drawFB->_NumColorDrawBuffers; i++) { > + struct st_renderbuffer *dstRb = > + st_renderbuffer(drawFB->_ColorDrawBuffers[i]); > > - st_update_renderbuffer_surface(st, dstRb); > + if (dstRb) { > + struct pipe_surface *dstSurf; > > - dstSurf = dstRb->surface; > + st_update_renderbuffer_surface(st, dstRb); > > - if (dstSurf) { > - blit.dst.resource = dstSurf->texture; > - blit.dst.level = dstSurf->u.tex.level; > - blit.dst.box.z = dstSurf->u.tex.first_layer; > - blit.dst.format = dstSurf->format; > + dstSurf = dstRb->surface; > > - blit.src.resource = srcSurf->texture; > - blit.src.level = srcSurf->u.tex.level; > - blit.src.box.z = srcSurf->u.tex.first_layer; > - blit.src.format = srcSurf->format; > + if (dstSurf) { > + blit.dst.resource = dstSurf->texture; > + blit.dst.level = dstSurf->u.tex.level; > + blit.dst.box.z = dstSurf->u.tex.first_layer; > + blit.dst.format = dstSurf->format; > > - st->pipe->blit(st->pipe, &blit); > - dstRb->defined = true; /* front buffer tracking */ > - } > + st->pipe->blit(st->pipe, &blit); > + dstRb->defined = true; /* front buffer tracking */ > } > } > } > -- > 2.14.1 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev