intel/isl/icl: Add the maximum surface size limit

Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
This commit is contained in:
Anuj Phogat
2017-05-19 12:13:40 -07:00
parent c68ede0be7
commit 0427bd4954
+5 -1
View File
@@ -1483,7 +1483,7 @@ isl_surf_init_s(const struct isl_device *dev,
*/
if (size > (uint64_t) 1 << 31)
return false;
} else {
} else if (ISL_DEV_GEN(dev) < 11) {
/* From the Skylake PRM Vol 5, Maximum Surface Size in Bytes:
* "In addition to restrictions on maximum height, width, and depth,
* surfaces are also restricted to a maximum size of 2^38 bytes.
@@ -1492,6 +1492,10 @@ isl_surf_init_s(const struct isl_device *dev,
*/
if (size > (uint64_t) 1 << 38)
return false;
} else {
/* gen11+ platforms raised this limit to 2^44 bytes. */
if (size > (uint64_t) 1 << 44)
return false;
}
*surf = (struct isl_surf) {