anv: Drop 3/4 of PPGTT size restriction for sys heap size calculation
authorKenneth Graunke <kenneth@whitecape.org>
Wed, 6 Dec 2023 15:48:11 +0000 (07:48 -0800)
committerEric Engestrom <eric@engestrom.ch>
Fri, 8 Dec 2023 11:24:46 +0000 (11:24 +0000)
This was mainly useful for older Gen7.x GPUs with 32-bit PPGTT, which
are now supported by hasvk rather than anv.  The remaining platforms
which anv supports have 36, 47, or 48-bit PPGTT, which imposes a 3/4
limit of 48GB, 96TB, and 192TB of memory.

The GPUs with 36-bit PPGTT are Elkhart Lake and Jasper Lake, which
appear to be Atom CPUs that have a maximum supported memory
configuration of 32GB or less, so this limit should not matter there.
Nor is a multi-TB limit likely to matter on our other parts.

Drop this check to simplify the heap and memory budget calculations.

Cc: mesa-stable
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26553>
(cherry picked from commit 029b1d3f262051c9b0fc3ba6c7faca2affa18ddf)

.pick_status.json
src/intel/vulkan/anv_device.c

index d46e808..aa6dcd0 100644 (file)
         "description": "anv: Drop 3/4 of PPGTT size restriction for sys heap size calculation",
         "nominated": true,
         "nomination_type": 0,
-        "resolution": 0,
+        "resolution": 1,
         "main_sha": null,
         "because_sha": null,
         "notes": null
index 05c837f..1b1c7fb 100644 (file)
@@ -880,11 +880,6 @@ anv_compute_sys_heap_size(struct anv_physical_device *device,
    else
       available_ram = total_ram * 3 / 4;
 
-   /* We also want to leave some padding for things we allocate in the driver,
-    * so don't go over 3/4 of the GTT either.
-    */
-   available_ram = MIN2(available_ram, device->gtt_size * 3 / 4);
-
    return available_ram;
 }