Bug 97579

Summary: Advertised VkMemoryType is inaccessible on non-LLC chipsets
Product: Mesa Reporter: Chad Versace <chadversary>
Component: Drivers/Vulkan/intelAssignee: Intel 3D Bugs Mailing List <intel-3d-bugs>
Status: RESOLVED FIXED QA Contact: Intel 3D Bugs Mailing List <intel-3d-bugs>
Severity: normal    
Priority: medium CC: chadversary, jason, krh, nanleychery
Version: git   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:

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.