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
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.