From 02720f8d249a65d952888b6028a0b8ff0f9a42e4 Mon Sep 17 00:00:00 2001 From: Kenneth Graunke Date: Thu, 14 Dec 2017 16:17:45 -0800 Subject: [PATCH] isl: Don't require VALIGN_2 for R32G32B32_FLOAT on Haswell. According to the RENDER_SURFACE_STATE internal documentation, the R32G32B32_FLOAT restriction is marked "IVB" only. We choose to apply it to Ivybridge and Baytrail, but not Haswell. Apparently fixes KHR-GL46.texture_size_promotion.functional on Haswell. Changes these tests from crashing to skipping on Haswell: - KHR-GL46.direct_state_access.textures_storage_multisample_2d_rgb32f - KHR-GL46.direct_state_access.textures_storage_multisample_3d_rgb32f Reviewed-by: Jason Ekstrand --- src/intel/isl/isl_gen7.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/intel/isl/isl_gen7.c b/src/intel/isl/isl_gen7.c index c42428cba7a..4fa9851233f 100644 --- a/src/intel/isl/isl_gen7.c +++ b/src/intel/isl/isl_gen7.c @@ -38,9 +38,11 @@ gen7_format_needs_valign2(const struct isl_device *dev, * (0x190) * * - VALIGN_4 is not supported for surface format R32G32B32_FLOAT. + * + * The R32G32B32_FLOAT restriction is dropped on Haswell. */ return isl_format_is_yuv(format) || - format == ISL_FORMAT_R32G32B32_FLOAT; + (format == ISL_FORMAT_R32G32B32_FLOAT && !ISL_DEV_IS_HASWELL(dev)); } bool -- 2.30.2