Bug 97579 - Advertised VkMemoryType is inaccessible on non-LLC chipsets
Summary: Advertised VkMemoryType is inaccessible on non-LLC chipsets
Status: RESOLVED FIXED
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/Vulkan/intel (show other bugs)
Version: git
Hardware: Other All
: medium normal
Assignee: Intel 3D Bugs Mailing List
QA Contact: Intel 3D Bugs Mailing List
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-09-02 19:31 UTC by Chad Versace
Modified: 2017-02-14 22:35 UTC (History)
4 users (show)

See Also:
i915 platform:
i915 features:


Attachments

Description Chad Versace 2016-09-02 19:31:37 UTC
On non-LLC chipsets, vkGetPhysicalDeviceMemoryProperties [1] advertises two memory types: (0) coherent, uncached and (1) incoherent, cached. But vkGetImageMemoryRequirements [2] and vkGetBufferMemoryRequirements always report that memory type 0 is required. You can never use memory type 1.

[1]: https://cgit.freedesktop.org/mesa/mesa/tree/src/intel/vulkan/anv_device.c?id=aad4f15506c2b5ff9f3304a467b51b45dd77554d#n613
[2]: https://cgit.freedesktop.org/mesa/mesa/tree/src/intel/vulkan/anv_device.c?id=aad4f15506c2b5ff9f3304a467b51b45dd77554d#n1335
Comment 1 Nanley Chery 2017-02-14 22:35:57 UTC
Thank you for the bug report! This should be fixed with the following commit:

commit 6319bfc2a6497d708ead536b9a6d5d5a00c1f2f3
Author: Connor Abbott <cwabbott0@gmail.com>
Date:   Tue Feb 14 12:23:59 2017 -0500

    anv: fix Get*MemoryRequirements for !LLC

    Even though we supported both coherent and non-coherent memory types, we
    effectively forced apps to use the coherent types by accident. Found by
    inspection, only compile tested.

    Signed-off-by: Connor Abbott <cwabbott0@gmail.com>
    Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
    Cc: "17.0" <mesa-stable@lists.freedesktop.org>

Please reopen this if you find that the issue is still present.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.