On Tue, Dec 25, 2012 at 8:55 PM, Kenneth Graunke <kenn...@whitecape.org> wrote: > Dungeon Defenders hits TexImage()'s try_pbo_upload() path where > image->Width == 2, which doesn't meet intelEmitCopyBlit's requirement > that the pitch needs to be a multiple of 4. > > Since intelEmitCopyBlit can already fail for a myriad of other reasons, > and it's not clear that other callers are immune to this failure mode, > simply make it return false rather than assert. > > Fixes Dungeon Defenders on i965/Ivybridge. Now playable (aside from > having to work around the EXT_bindable_uniform issue). > > NOTE: This is probably a candidate for the 9.0 branch. > --- > src/mesa/drivers/dri/intel/intel_blit.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/src/mesa/drivers/dri/intel/intel_blit.c > b/src/mesa/drivers/dri/intel/intel_blit.c > index 521e6eb..867d7b3 100644 > --- a/src/mesa/drivers/dri/intel/intel_blit.c > +++ b/src/mesa/drivers/dri/intel/intel_blit.c > @@ -150,8 +150,8 @@ intelEmitCopyBlit(struct intel_context *intel, > /* Blit pitch must be dword-aligned. Otherwise, the hardware appears to > drop > * the low bits. > */ > - assert(src_pitch % 4 == 0); > - assert(dst_pitch % 4 == 0); > + if (src_pitch % 4 != 0 || dst_pitch % 4 != 0) > + return false; > > /* For big formats (such as floating point), do the copy using 32bpp and > * multiply the coordinates. > -- > 1.8.0.2
Reviewed-by: Matt Turner <matts...@gmail.com> _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev