Mesa (master): isl: Don't require VALIGN_2 for R32G32B32_FLOAT on Haswell.
Kenneth Graunke
kwg at kemper.freedesktop.org
Fri Dec 15 22:00:27 UTC 2017
Module: Mesa
Branch: master
Commit: 02720f8d249a65d952888b6028a0b8ff0f9a42e4
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=02720f8d249a65d952888b6028a0b8ff0f9a42e4
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Thu Dec 14 16:17:45 2017 -0800
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 <jason at jlekstrand.net>
---
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 c42428cba7..4fa9851233 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
More information about the mesa-commit
mailing list