[Mesa-dev] [PATCH 04/16] intel/isl/icl: Add the maximum surface size limit

Anuj Phogat anuj.phogat at gmail.com
Tue Feb 13 19:15:04 UTC 2018


Signed-off-by: Anuj Phogat <anuj.phogat at gmail.com>
---
 src/intel/isl/isl.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/intel/isl/isl.c b/src/intel/isl/isl.c
index 59f512fc05..c9873d96df 100644
--- a/src/intel/isl/isl.c
+++ b/src/intel/isl/isl.c
@@ -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) == 9 || ISL_DEV_GEN(dev) == 10) {
       /* 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) {
-- 
2.13.6



More information about the mesa-dev mailing list