From: Lionel Landwerlin Date: Fri, 4 Oct 2019 10:12:44 +0000 (+0300) Subject: intel/isl: Set null surface format to R32_UINT X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=c445d6f66e336d9486c7dfd72dbdf698de93a650;p=mesa.git 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 Gitlab: https://gitlab.freedesktop.org/mesa/mesa/issues/1872 Cc: Reviewed-by: Kenneth Graunke --- diff --git a/src/intel/isl/isl_surface_state.c b/src/intel/isl/isl_surface_state.c index d942d736290..30c98945c3f 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