[Mesa-dev] [PATCH v2 6/7] intel/blorp_blit: Add split_blorp_blit_debug switch
Jordan Justen
jordan.l.justen at intel.com
Thu Dec 1 04:12:33 UTC 2016
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.justen at 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 58e9e0c..25b93c6 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
@@ -1515,9 +1516,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 {
@@ -1938,7 +1943,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
More information about the mesa-dev
mailing list