[Mesa-dev] [PATCH 36/36] isl/state: Add an assertion for IVB multisample array textures
Jason Ekstrand
jason at jlekstrand.net
Thu Jun 30 00:37:55 UTC 2016
---
src/intel/isl/isl_surface_state.c | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/src/intel/isl/isl_surface_state.c b/src/intel/isl/isl_surface_state.c
index 0a2d877..e7f9101 100644
--- a/src/intel/isl/isl_surface_state.c
+++ b/src/intel/isl/isl_surface_state.c
@@ -263,6 +263,19 @@ isl_genX(surf_fill_state_s)(const struct isl_device *dev, void *state,
switch (s.SurfaceType) {
case SURFTYPE_1D:
case SURFTYPE_2D:
+ /* From the Ivy Bridge PRM >> RENDER_SURFACE_STATE::MinimumArrayElement:
+ *
+ * "If Number of Multisamples is not MULTISAMPLECOUNT_1, this field
+ * must be set to zero if this surface is used with sampling engine
+ * messages."
+ *
+ * This restriction appears to exist only on Ivy Bridge.
+ */
+ if (GEN_GEN == 7 && !GEN_IS_HASWELL && !ISL_DEV_IS_BAYTRAIL(dev) &&
+ (info->view->usage & ISL_SURF_USAGE_TEXTURE_BIT) &&
+ info->surf->samples > 1)
+ assert(info->view->base_array_layer == 0);
+
s.MinimumArrayElement = info->view->base_array_layer;
/* From the Broadwell PRM >> RENDER_SURFACE_STATE::Depth:
--
2.5.0.400.gff86faf
More information about the mesa-dev
mailing list