This is a repost of a patch series from several months ago. The original motivation was to allow blitting (and therefore, usage of Y-tiling on more buffers).
The original code for handling this stuff was horrendous. This patch series improved our internal Terrain benchmark by a phenomenal amount. However, a few patches from Jason (such as ef0499af25) achieved much of the same benefits with arguably less complex code. The patch series was still considered useful at that time, but after some rework due to review feedback, perf regressions were present. Over time, I've fixed these things and have the following (statistically) significant results (in FPS). Note that these results are pre-rebase, from mesa master + the tiling flags fixes from Matt, before they landed. There are some performance regressions here, and worse, they are on "real" benchmarks for BDW. I am sort of immune to spotting issues in the patches after dragging them around for so long. It'd be great if someone else could potential figure out what is going on. Broadwell --------- egypt -.56% valley .86% warsow -.91% Braswell -------- Batch7 -1.14% HdrBloom -.94% ShMapPcf .01% TerrainFlyInst 17.32% TerrainPanInst 9.67% VSDiffuse1 .05% fill (from gfxbench) .08% --- Ben Widawsky (6): i965: Kill y_or_x variable in miptree tiling selection i965: Fix comments about blit constraints i965: Create and use #defines for blitter constraints i965: Extract blit height max i965: Attempt to blit for larger textures i965: Allow Y-tiled allocations for large surfaces src/mesa/drivers/dri/i965/brw_tex_layout.c | 22 ++++- src/mesa/drivers/dri/i965/intel_blit.c | 119 +++++++++++++++++++++++--- src/mesa/drivers/dri/i965/intel_blit.h | 33 +++++++ src/mesa/drivers/dri/i965/intel_copy_image.c | 15 ++-- src/mesa/drivers/dri/i965/intel_mipmap_tree.c | 34 +++----- src/mesa/drivers/dri/i965/intel_mipmap_tree.h | 28 ++++++ 6 files changed, 208 insertions(+), 43 deletions(-) -- 2.5.0 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev