diff options
author | Lionel Landwerlin <[email protected]> | 2019-10-04 13:12:44 +0300 |
---|---|---|
committer | Lionel Landwerlin <[email protected]> | 2019-10-05 20:54:33 +0000 |
commit | c445d6f66e336d9486c7dfd72dbdf698de93a650 (patch) | |
tree | e13c91ad522407b26624c2ad467292b449aae712 /src/intel | |
parent | 1249cf19b0a69e01d8650331712ae9411d0bcf45 (diff) |
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 <[email protected]>
Gitlab: https://gitlab.freedesktop.org/mesa/mesa/issues/1872
Cc: <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
Diffstat (limited to 'src/intel')
-rw-r--r-- | src/intel/isl/isl_surface_state.c | 7 |
1 files changed, 6 insertions, 1 deletions
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 |