Enabling this debug switch causes surface shrinking to happen by default, and lowers the surface size limit which causes blorp blits to be split.
Signed-off-by: Jordan Justen <jordan.l.jus...@intel.com> --- src/intel/blorp/blorp_blit.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/intel/blorp/blorp_blit.c b/src/intel/blorp/blorp_blit.c index 90e1c29..c04fe1c 100644 --- a/src/intel/blorp/blorp_blit.c +++ b/src/intel/blorp/blorp_blit.c @@ -29,6 +29,7 @@ #define FILE_DEBUG_FLAG DEBUG_BLORP static const bool isl_surface_debug_dump = false; +static const bool split_blorp_blit_debug = false; /** * Enum to specify the order of arguments in a sampler message @@ -1550,9 +1551,13 @@ can_shrink_surfaces(const struct blorp_params *params) } static unsigned -get_max_surface_size() +get_max_surface_size(const struct gen_device_info *devinfo, + const struct blorp_params *params) { - return 16384; + if (split_blorp_blit_debug && can_shrink_surfaces(params)) + return 16384 >> 4; /* A smaller restriction when debug is enabled */ + else + return 16384; } struct blt_axis { @@ -1927,7 +1932,7 @@ do_blorp_blit(struct blorp_batch *batch, y_scale = -y_scale; bool x_done, y_done; - bool shrink = false; + bool shrink = split_blorp_blit_debug && can_shrink_surfaces(orig_params); do { params = *orig_params; blit_coords = split_coords; -- 2.10.2 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev