Mesa (staging/19.2): intel/isl: Set null surface format to R32_UINT
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Mon Oct 7 17:55:28 UTC 2019
Module: Mesa
Branch: staging/19.2
Commit: 85193e808aa3cd9991d3c4dff21282c13b93af7a
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=85193e808aa3cd9991d3c4dff21282c13b93af7a
Author: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
Date: Fri Oct 4 13:12:44 2019 +0300
intel/isl: Set null surface format to R32_UINT
It appears we never had a test in piglit or deqp sampling from a null
surface...
It turns out this triggers a hang on IVB only. Updating the null
surface format to R32_UINT fixes the hang on ivb and doesn't affect
other platforms, so set it by default for all platforms.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
Gitlab: https://gitlab.freedesktop.org/mesa/mesa/issues/1872
Cc: <mesa-stable at lists.freedesktop.org>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
(cherry picked from commit c445d6f66e336d9486c7dfd72dbdf698de93a650)
---
src/intel/isl/isl_surface_state.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/src/intel/isl/isl_surface_state.c b/src/intel/isl/isl_surface_state.c
index c7d617fe911..3bb03ef09e0 100644
--- a/src/intel/isl/isl_surface_state.c
+++ b/src/intel/isl/isl_surface_state.c
@@ -789,7 +789,12 @@ isl_genX(null_fill_state)(void *state, struct isl_extent3d size)
{
struct GENX(RENDER_SURFACE_STATE) s = {
.SurfaceType = SURFTYPE_NULL,
- .SurfaceFormat = ISL_FORMAT_B8G8R8A8_UNORM,
+ /* We previously had this format set to B8G8R8A8_UNORM but ran into
+ * hangs on IVB. R32_UINT seems to work for everybody.
+ *
+ * https://gitlab.freedesktop.org/mesa/mesa/issues/1872
+ */
+ .SurfaceFormat = ISL_FORMAT_R32_UINT,
#if GEN_GEN >= 7
.SurfaceArray = size.depth > 0,
#endif
More information about the mesa-commit
mailing list