[Mesa-dev] [PATCH 16/17] squash: i965/gen4: Force x-tiling for color surfaces
Topi Pohjolainen
topi.pohjolainen at gmail.com
Fri Jul 21 15:01:07 UTC 2017
This is what brw_miptree_choose_tiling() currently does even
though blorp is available.
Before enabling y-tiled one needs to fix, for example, batch
wrapping caused by mipmap offsets not being tile aligned
anymore and intel_renderbuffer_move_to_temp() kicking in where it
didn't before as x-tiled met the alignment constraints.
Signed-off-by: Topi Pohjolainen <topi.pohjolainen at intel.com>
---
src/mesa/drivers/dri/i965/intel_mipmap_tree.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/src/mesa/drivers/dri/i965/intel_mipmap_tree.c b/src/mesa/drivers/dri/i965/intel_mipmap_tree.c
index 7b2f98cc1b..af5d37bc47 100644
--- a/src/mesa/drivers/dri/i965/intel_mipmap_tree.c
+++ b/src/mesa/drivers/dri/i965/intel_mipmap_tree.c
@@ -953,8 +953,13 @@ miptree_create(struct brw_context *brw,
if (layout_flags & MIPTREE_LAYOUT_ACCELERATED_UPLOAD)
alloc_flags |= BO_ALLOC_FOR_RENDER;
- const isl_tiling_flags_t tiling_flags = force_linear_tiling(layout_flags) ?
+ isl_tiling_flags_t tiling_flags = force_linear_tiling(layout_flags) ?
ISL_TILING_LINEAR_BIT : ISL_TILING_ANY_MASK;
+
+ /* TODO: This used to be because there wasn't BLORP to handle Y-tiling. */
+ if (brw->gen < 6)
+ tiling_flags &= ~ISL_TILING_Y0_BIT;
+
struct intel_mipmap_tree *mt = make_surface(
brw, target, format,
first_level, last_level,
--
2.11.0
More information about the mesa-dev
mailing list