This patch series completely kills off our usage of the hardware blitter for Sandy Bridge and later. On Sandy Bridge, the blitter was moved to another ring and so using it incurs noticable synchronization overhead and, at the same time, that synchronization is an endless source of GPU hangs on SNB. Some time around the Ivy Bridge time frame, we suspect that the blitter ended up with somewhat slower paths to memory than the 3D engine so it's slower in general.
To make matters worse, the blitter does not understand any sort of compression at all and so using it frequently means having to do some sort of resolve operation. This is especially bad on gen9 where we have CCS compression enabled on almost everything. By using blorp for things like miptree mapping, we can avoid decompressing and even get free compression on unmap as-needed. Jason Ekstrand (10): i965: Use meta for pixel ops on gen6+ i965/blit: Delete intel_emit_linear_blit i965: Remove some unused includes of intel_blit.h i965: Don't fall back to the blitter in BlitFramebuffer i965: Delete the blitter path for CopyTexSubImage i965/miptree: Use blorp for validation tex copies on gen6+ i965/miptree: Use blorp for blit maps on gen6+ i965: Remove support for the BLT ring i965/miptree: Move the access_raw call to the individual map functions intel/blorp: Use linear formats for CCS_E clear colors in copies src/intel/blorp/blorp_blit.c | 4 +- src/mesa/drivers/dri/i965/brw_clear.c | 1 - src/mesa/drivers/dri/i965/intel_batchbuffer.c | 12 +--- src/mesa/drivers/dri/i965/intel_blit.c | 56 ---------------- src/mesa/drivers/dri/i965/intel_blit.h | 6 -- src/mesa/drivers/dri/i965/intel_fbo.c | 8 --- src/mesa/drivers/dri/i965/intel_mipmap_tree.c | 92 +++++++++++++++++++------- src/mesa/drivers/dri/i965/intel_pixel_bitmap.c | 6 +- src/mesa/drivers/dri/i965/intel_pixel_copy.c | 5 +- src/mesa/drivers/dri/i965/intel_pixel_draw.c | 3 +- src/mesa/drivers/dri/i965/intel_pixel_read.c | 1 - src/mesa/drivers/dri/i965/intel_tex_copy.c | 58 ---------------- src/mesa/drivers/dri/i965/intel_tex_image.c | 1 - src/mesa/drivers/dri/i965/intel_tex_validate.c | 1 - 14 files changed, 82 insertions(+), 172 deletions(-) -- 2.5.0.400.gff86faf _______________________________________________ mesa-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-dev
