Gen6 only has one additional restriction over Gen7+, so we just add it to the existing gen7 function (which actually covers later gens too).
This should stop FINISHME spew when running GL on Sandybridge. Signed-off-by: Kenneth Graunke <kenn...@whitecape.org> --- src/intel/isl/isl.c | 2 +- src/intel/isl/isl_gen7.c | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) Should probably rename the function or something, but I figured I'd throw this out there and let Jason/Chad tell me what they'd rather see happen. diff --git a/src/intel/isl/isl.c b/src/intel/isl/isl.c index 59429fb..e97da58 100644 --- a/src/intel/isl/isl.c +++ b/src/intel/isl/isl.c @@ -226,7 +226,7 @@ isl_surf_choose_tiling(const struct isl_device *dev, { isl_tiling_flags_t tiling_flags = info->tiling_flags; - if (ISL_DEV_GEN(dev) >= 7) { + if (ISL_DEV_GEN(dev) >= 6) { gen7_filter_tiling(dev, info, &tiling_flags); } else { isl_finishme("%s: gen%u", __func__, ISL_DEV_GEN(dev)); diff --git a/src/intel/isl/isl_gen7.c b/src/intel/isl/isl_gen7.c index 02273f8..37700fd 100644 --- a/src/intel/isl/isl_gen7.c +++ b/src/intel/isl/isl_gen7.c @@ -297,6 +297,15 @@ gen7_filter_tiling(const struct isl_device *dev, */ *flags &= ~ISL_TILING_Y0_BIT; } + + /* From the Sandybridge PRM, Volume 1, Part 2, page 32: + * "NOTE: 128BPE Format Color Buffer ( render target ) MUST be either TileX + * or Linear." + * 128 bits per pixel translates to 16 bytes per pixel. This is necessary + * all the way back to 965, but is permitted on Gen7+. + */ + if (ISL_DEV_GEN(dev) <= 6 && isl_format_get_layout(info->format)->bpb >= 16) + *flags &= ~ISL_TILING_Y0_BIT; } /** -- 2.9.3 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev