On Mon, Mar 9, 2015 at 9:43 PM, Ben Widawsky <benjamin.widaw...@intel.com> wrote: > Signed-off-by: Ben Widawsky <b...@bwidawsk.net> > --- > src/mesa/drivers/dri/i965/intel_blit.c | 11 ++++++----- > src/mesa/drivers/dri/i965/intel_blit.h | 3 +++ > src/mesa/drivers/dri/i965/intel_copy_image.c | 7 ++++--- > src/mesa/drivers/dri/i965/intel_mipmap_tree.c | 9 +++++---- > 4 files changed, 18 insertions(+), 12 deletions(-) > > diff --git a/src/mesa/drivers/dri/i965/intel_blit.c > b/src/mesa/drivers/dri/i965/intel_blit.c > index ee2a4ef..b93794b 100644 > --- a/src/mesa/drivers/dri/i965/intel_blit.c > +++ b/src/mesa/drivers/dri/i965/intel_blit.c > @@ -206,8 +206,8 @@ intel_miptree_blit(struct brw_context *brw, > * As a result of these two limitations, we can only use the blitter to do > * this copy when the miptree's pitch is less than 32k. > */ > - if (src_mt->pitch >= 32768 || > - dst_mt->pitch >= 32768) { > + if (src_mt->pitch >= INTEL_MAX_BLIT_PITCH || > + dst_mt->pitch >= INTEL_MAX_BLIT_PITCH) { > perf_debug("Falling back due to >=32k pitch\n"); > return false; > } > @@ -244,9 +244,10 @@ intel_miptree_blit(struct brw_context *brw, > * value. The values we're working with are unsigned, so make sure we > don't > * overflow. > */ > - if (src_x >= 32768 || src_y >= 32768 || dst_x >= 32768 || dst_y >= 32768) > { > - perf_debug("Falling back due to >=32k offset [src(%d, %d) dst(%d, > %d)]\n", > - src_x, src_y, dst_x, dst_y); > + if (src_x >= INTEL_MAX_BLIT_PITCH || src_y >= INTEL_MAX_BLIT_ROWS || > + dst_x >= INTEL_MAX_BLIT_PITCH || dst_y >= INTEL_MAX_BLIT_ROWS) { > + perf_debug("Falling back due to >=%dk offset [src(%d, %d) dst(%d, > %d)]\n", > + src_x, src_y, dst_x, dst_y, INTEL_MAX_BLIT_PITCH >> 20); I think above line should be: INTEL_MAX_BLIT_PITCH >> 10, src_x, src_y, dst_x, dst_y);
> return false; > } > > diff --git a/src/mesa/drivers/dri/i965/intel_blit.h > b/src/mesa/drivers/dri/i965/intel_blit.h > index f563939..531d329 100644 > --- a/src/mesa/drivers/dri/i965/intel_blit.h > +++ b/src/mesa/drivers/dri/i965/intel_blit.h > @@ -30,6 +30,9 @@ > > #include "brw_context.h" > > +#define INTEL_MAX_BLIT_PITCH 32768 > +#define INTEL_MAX_BLIT_ROWS 32768 > + > bool > intelEmitCopyBlit(struct brw_context *brw, > GLuint cpp, > diff --git a/src/mesa/drivers/dri/i965/intel_copy_image.c > b/src/mesa/drivers/dri/i965/intel_copy_image.c > index bf6b5e7..689e9c7 100644 > --- a/src/mesa/drivers/dri/i965/intel_copy_image.c > +++ b/src/mesa/drivers/dri/i965/intel_copy_image.c > @@ -69,9 +69,10 @@ copy_image_with_blitter(struct brw_context *brw, > * As a result of these two limitations, we can only use the blitter to do > * this copy when the miptree's pitch is less than 32k. > */ > - if (src_mt->pitch >= 32768 || > - dst_mt->pitch >= 32768) { > - perf_debug("Falling back due to >=32k pitch\n"); > + if (src_mt->pitch >= INTEL_MAX_BLIT_PITCH || > + dst_mt->pitch >= INTEL_MAX_BLIT_PITCH) { > + perf_debug("Falling back due to >=%dk pitch\n", > + INTEL_MAX_BLIT_PITCH >> 20); You mean INTEL_MAX_BLIT_PITCH >> 10 ? > return false; > } > > diff --git a/src/mesa/drivers/dri/i965/intel_mipmap_tree.c > b/src/mesa/drivers/dri/i965/intel_mipmap_tree.c > index cc422d3..16bd151 100644 > --- a/src/mesa/drivers/dri/i965/intel_mipmap_tree.c > +++ b/src/mesa/drivers/dri/i965/intel_mipmap_tree.c > @@ -501,8 +501,9 @@ intel_miptree_choose_tiling(struct brw_context *brw, > if (minimum_pitch < 64) > return I915_TILING_NONE; > > - if (ALIGN(minimum_pitch, 512) >= 32768 || > - mt->total_width >= 32768 || mt->total_height >= 32768) { > + if (ALIGN(minimum_pitch, 512) >= INTEL_MAX_BLIT_PITCH || > + mt->total_width >= INTEL_MAX_BLIT_PITCH || > + mt->total_height >= INTEL_MAX_BLIT_ROWS) { > perf_debug("%dx%d miptree too large to blit, falling back to untiled", > mt->total_width, mt->total_height); > return I915_TILING_NONE; > @@ -2296,11 +2297,11 @@ can_blit_slice(struct intel_mipmap_tree *mt, > uint32_t image_x; > uint32_t image_y; > intel_miptree_get_image_offset(mt, level, slice, &image_x, &image_y); > - if (image_x >= 32768 || image_y >= 32768) > + if (image_x >= INTEL_MAX_BLIT_PITCH || image_y >= INTEL_MAX_BLIT_ROWS) > return false; > > /* See intel_miptree_blit() for details on the 32k pitch limit. */ > - if (mt->pitch >= 32768) > + if (mt->pitch >= INTEL_MAX_BLIT_PITCH) > return false; > > return true; > -- > 2.3.1 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev