diff options
author | Anuj Phogat <anuj.phogat@gmail.com> | 2017-05-19 12:13:40 -0700 |
---|---|---|
committer | Anuj Phogat <anuj.phogat@gmail.com> | 2018-02-15 16:14:55 -0800 |
commit | 0427bd4954acfd99c3b00b8a0993ca3c9e816d47 (patch) | |
tree | 5664eabede74c7a890ff5ac14cc06e06c42b3b84 /src/intel/isl | |
parent | c68ede0be765be882795ea23e4deac4539cf9b98 (diff) |
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>
Diffstat (limited to 'src/intel/isl')
-rw-r--r-- | src/intel/isl/isl.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/intel/isl/isl.c b/src/intel/isl/isl.c index 59f512fc050..f70ac22aac5 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) < 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) { |