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@intel.com>
Gitlab: https://gitlab.freedesktop.org/mesa/mesa/issues/1872
Cc: <mesa-stable@lists.freedesktop.org>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
{
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