diff options
Diffstat (limited to 'src/intel')
-rw-r--r-- | src/intel/isl/isl_storage_image.c | 9 |
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. */ |