I think this is ok, Reviewed-by: Jason Ekstrand <ja...@jlekstrand.net>
On Thu, Jan 26, 2017 at 1:27 AM, Kenneth Graunke <kenn...@whitecape.org> wrote: > At this point, the pitch is in bytes. We haven't yet divided the pitch > by 4 for tiled surfaces, so abs(pitch) may be larger than 32K. This > means the bit 15 trick won't work. > > The caller now has signed integers anyway, so just pass those through > and do the obvious check. > > Cc: "17.0" <mesa-sta...@lists.freedesktop.org> > Signed-off-by: Kenneth Graunke <kenn...@whitecape.org> > --- > src/mesa/drivers/dri/i965/intel_blit.c | 10 ++++------ > 1 file changed, 4 insertions(+), 6 deletions(-) > > diff --git a/src/mesa/drivers/dri/i965/intel_blit.c > b/src/mesa/drivers/dri/i965/intel_blit.c > index 9863ca1f94a..4d4ab911cbc 100644 > --- a/src/mesa/drivers/dri/i965/intel_blit.c > +++ b/src/mesa/drivers/dri/i965/intel_blit.c > @@ -476,11 +476,11 @@ static bool > can_fast_copy_blit(struct brw_context *brw, > drm_intel_bo *src_buffer, > int16_t src_x, int16_t src_y, > - uintptr_t src_offset, uint32_t src_pitch, > + uintptr_t src_offset, int32_t src_pitch, > uint32_t src_tiling, uint32_t src_tr_mode, > drm_intel_bo *dst_buffer, > int16_t dst_x, int16_t dst_y, > - uintptr_t dst_offset, uint32_t dst_pitch, > + uintptr_t dst_offset, int32_t dst_pitch, > uint32_t dst_tiling, uint32_t dst_tr_mode, > int16_t w, int16_t h, uint32_t cpp, > GLenum logic_op) > @@ -516,10 +516,8 @@ can_fast_copy_blit(struct brw_context *brw, > if (!_mesa_is_pow_two(cpp) || cpp > 16) > return false; > > - /* For Fast Copy Blits the pitch cannot be a negative number. So, bit > 15 > - * of the destination pitch must be zero. > - */ > - if ((src_pitch >> 15 & 1) != 0 || (dst_pitch >> 15 & 1) != 0) > + /* For Fast Copy Blits the pitch cannot be a negative number. */ > + if (src_pitch < 0 || dst_pitch < 0) > return false; > > /* For Linear surfaces, the pitch has to be an OWord (16byte) > multiple. */ > -- > 2.11.0 > >
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev