summaryrefslogtreecommitdiffstats
path: root/src/intel/isl
diff options
context:
space:
mode:
Diffstat (limited to 'src/intel/isl')
-rw-r--r--src/intel/isl/isl_storage_image.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/intel/isl/isl_storage_image.c b/src/intel/isl/isl_storage_image.c
index a8aebce6d49..20f6fd5faf6 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.
*/