diff options
author | Ben Widawsky <[email protected]> | 2016-04-21 20:14:58 -0700 |
---|---|---|
committer | Ben Widawsky <[email protected]> | 2016-04-21 20:14:58 -0700 |
commit | 6a0d036483caf87d43ebe2edd1905873446c9589 (patch) | |
tree | 7ff5af3ac27d8cb5c07893a3fc6bc1d1773b8c79 /src/mesa/drivers/dri/i965/brw_meta_fast_clear.c | |
parent | c3b88cc2c15f19e748c9c406e9ab053975adab7e (diff) |
i965: Always use Y-tiled buffers on SKL+
Starting with Skylake, the display engine is capable of scanning out from
Y-tiled buffers. As such, we can and should use Y-tiling for better efficiency.
This also has the added benefit of being able to fast clear the winsys buffer.
Note that the buffer allocation done for mipmaps will already never allocate an
X-tiled buffer for GEN9.
This has an almost universal positive impact on benchmarks, some improving by as
much as 20%.
Signed-off-by: Ben Widawsky <[email protected]>
Reviewed-by: Topi Pohjolainen <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
Diffstat (limited to 'src/mesa/drivers/dri/i965/brw_meta_fast_clear.c')
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_meta_fast_clear.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_meta_fast_clear.c b/src/mesa/drivers/dri/i965/brw_meta_fast_clear.c index 76988bfda7b..7760cce687b 100644 --- a/src/mesa/drivers/dri/i965/brw_meta_fast_clear.c +++ b/src/mesa/drivers/dri/i965/brw_meta_fast_clear.c @@ -244,7 +244,7 @@ brw_get_fast_clear_rect(const struct brw_context *brw, * alignment size returned by intel_get_non_msrt_mcs_alignment(), but * with X alignment multiplied by 16 and Y alignment multiplied by 32. */ - intel_get_non_msrt_mcs_alignment(mt, &x_align, &y_align); + intel_get_non_msrt_mcs_alignment(brw, mt, &x_align, &y_align); x_align *= 16; /* SKL+ line alignment requirement for Y-tiled are half those of the prior @@ -838,7 +838,7 @@ brw_get_resolve_rect(const struct brw_context *brw, * by a factor of 2. */ - intel_get_non_msrt_mcs_alignment(mt, &x_align, &y_align); + intel_get_non_msrt_mcs_alignment(brw, mt, &x_align, &y_align); if (brw->gen >= 9) { x_scaledown = x_align * 8; y_scaledown = y_align * 8; |