We could certainly increase the width and height to 32 bits for pipe_blit_info, not pipe_box.
Marek On Sat, Oct 6, 2018 at 4:01 PM Ilia Mirkin <imir...@alum.mit.edu> wrote: > > There's a WebGL test here > > https://www.khronos.org/registry/webgl/sdk/tests/conformance2/rendering/blitframebuffer-size-overflow.html > > which does a fairly ridiculous blit: > > srcX0=-1, srcY0=-1, srcX1=2147483647, srcY1=2147483647, > dstX0=-1, dstY0=-1, dstX1=2147483647, dstY1=2147483647 > > The underlying src and dst textures are 8x8. We hit some precision > issues in _mesa_clip_blit, but after fixing those, I run into the > st_BlitFramebuffer logic which has this comment: > > /* NOTE: If the src and dst dimensions don't match, we cannot simply adjust > * the integer coordinates to account for clipping (or scissors) because > that > * would make us cut off fractional parts, affecting the result of the > blit. > */ > > That means that the height gets set to srcY0 - srcY1, which obviously > overflows the int16_t. > > Is there any reasonable way of clipping it down without running into > the fraction parts issue mentioned in the comment? Otherwise we have > to go back to 32-bit height. (Not 100% sure that most drivers would do > anything particularly reasonable here either...) > > Cheers, > > -ilia _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev