OSDN Git Service

i965: Fail to blit rather than assert on invalid pitch requirements.
authorKenneth Graunke <kenneth@whitecape.org>
Wed, 26 Dec 2012 04:55:38 +0000 (20:55 -0800)
committerKenneth Graunke <kenneth@whitecape.org>
Sat, 29 Dec 2012 09:04:30 +0000 (01:04 -0800)
commit66ea6e8ec3f7ee44e0011b1dd563fef76ead8bc5
treec99897276b7fc4acd5f5807aca2c68a6d1bf6df0
parent2f225f61451abd51c283c7ff103d7fd50a935034
i965: Fail to blit rather than assert on invalid pitch requirements.

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.

Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Paul Berry <stereotype441@gmail.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
src/mesa/drivers/dri/intel/intel_blit.c