Module: Mesa Branch: master Commit: 0cd37f9178d79ed62f1952939e1044cda5701a3a URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=0cd37f9178d79ed62f1952939e1044cda5701a3a
Author: Anuj Phogat <anuj.pho...@gmail.com> Date: Fri Jun 30 10:29:23 2017 -0700 isl: Don't use surface format R32_FLOAT for typed atomic integer operations From Skylake PRM Surface Formats section: "The surface format for the typed atomic integer operations must be R32_UINT or R32_SINT." Fixes an error and a piglit GPU hang in simulation environment. Piglit test: gl45-imageAtomicExchange-float.shader_test Suggested-by: Francisco Jerez <curroje...@riseup.net> Signed-off-by: Anuj Phogat <anuj.pho...@gmail.co Reviewed-by: Kenneth Graunke <kenn...@whitecape.org> Cc: "18.0 17.3" <mesa-sta...@lists.freedesktop.org> --- src/intel/isl/isl_storage_image.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/intel/isl/isl_storage_image.c b/src/intel/isl/isl_storage_image.c index a8aebce6d4..20f6fd5faf 100644 --- a/src/intel/isl/isl_storage_image.c +++ b/src/intel/isl/isl_storage_image.c @@ -88,9 +88,16 @@ isl_lower_storage_image_format(const struct gen_device_info *devinfo, case ISL_FORMAT_R32G32B32A32_FLOAT: case ISL_FORMAT_R32_UINT: case ISL_FORMAT_R32_SINT: - case ISL_FORMAT_R32_FLOAT: return format; + /* The Skylake PRM's "Surface Formats" section says: + * + * "The surface format for the typed atomic integer operations must + * be R32_UINT or R32_SINT." + */ + case ISL_FORMAT_R32_FLOAT: + return ISL_FORMAT_R32_UINT; + /* From HSW to BDW the only 64bpp format supported for typed access is * RGBA_UINT16. IVB falls back to untyped. */ _______________________________________________ mesa-commit mailing list mesa-commit@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-commit