From 4744291270cc6c8d0838fab2bc1e954524dbfcbc Mon Sep 17 00:00:00 2001 From: Chris Forbes Date: Fri, 19 May 2017 14:47:29 -0700 Subject: [PATCH] vulkan: Translate usage flags before passing to driver Previously we just cast the 32bit flags and jammed them in the two gralloc1 slots. Use the helper which does the correct translation. (Yes, all these gralloc1isms are going away in favor of a single 64bit flags field, but Vulkan HALs expect us to implement our side of ANDROID_native_buffer correctly.) Test: boot sailfish, run vulkan demo Bug: 37686587 Change-Id: I806011986e8140d7f608d281798605bd9ca9a86b --- vulkan/libvulkan/swapchain.cpp | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/vulkan/libvulkan/swapchain.cpp b/vulkan/libvulkan/swapchain.cpp index caa2674d7b..e2c8c0677c 100644 --- a/vulkan/libvulkan/swapchain.cpp +++ b/vulkan/libvulkan/swapchain.cpp @@ -1092,12 +1092,9 @@ VkResult CreateSwapchainKHR(VkDevice device, image_native_buffer.stride = img.buffer->stride; image_native_buffer.format = img.buffer->format; image_native_buffer.usage = img.buffer->usage; - // TODO: Adjust once ANativeWindowBuffer supports gralloc1-style usage. - // For now, this is the same translation Gralloc1On0Adapter does. - image_native_buffer.usage2.consumer = - static_cast(img.buffer->usage); - image_native_buffer.usage2.producer = - static_cast(img.buffer->usage); + android_convertGralloc0To1Usage(img.buffer->usage, + &image_native_buffer.usage2.producer, + &image_native_buffer.usage2.consumer); result = dispatch.CreateImage(device, &image_create, nullptr, &img.image); -- 2.11.0