anv: Predicate 48bit support on gen >= 8
authorJason Ekstrand <jason.ekstrand@intel.com>
Thu, 18 May 2017 17:57:42 +0000 (10:57 -0700)
committerJason Ekstrand <jason.ekstrand@intel.com>
Tue, 23 May 2017 23:46:27 +0000 (16:46 -0700)
This doesn't matter right now since it only affects whether or not we
set the kernel bit but, if we ever do anything else based on it, we'll
want it to be correct per-gen.

Reviewed-by: Nanley Chery <nanley.g.chery@intel.com>
Cc: "17.1" <mesa-stable@lists.freedesktop.org>
src/intel/vulkan/anv_device.c

index 50486b62e1daed3d1ae74b8987099b7852fe4f85..b80715f4e2ba31e89662926560baa7456a028b19 100644 (file)
@@ -225,7 +225,12 @@ anv_physical_device_init(struct anv_physical_device *device,
       goto fail;
    }
 
-   device->supports_48bit_addresses = anv_gem_supports_48b_addresses(fd);
+   /* The kernel query only tells us whether or not the kernel supports the
+    * EXEC_OBJECT_SUPPORTS_48B_ADDRESS flag and not whether or not the
+    * hardware has actual 48bit address support.
+    */
+   device->supports_48bit_addresses =
+      (device->info.gen >= 8) && anv_gem_supports_48b_addresses(fd);
 
    result = anv_compute_heap_size(fd, &device->heap_size);
    if (result != VK_SUCCESS)