Add Gralloc usage flags

Bug: b/122837237
Change-Id: Ic2643d288dd8d217d68cda44ec291c0ea810d4d8
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/30369
Reviewed-by: Chris Forbes <chrisforbes@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Tested-by: Hernan Liatis <hliatis@google.com>
Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
diff --git a/src/Vulkan/libVulkan.cpp b/src/Vulkan/libVulkan.cpp
index fb86db6..d28188e 100644
--- a/src/Vulkan/libVulkan.cpp
+++ b/src/Vulkan/libVulkan.cpp
@@ -48,6 +48,7 @@
 
 #ifdef __ANDROID__
 #include <vulkan/vk_android_native_buffer.h>
+#include <hardware/gralloc1.h>
 #endif
 
 #include "WSI/VkSwapchainKHR.hpp"
@@ -2526,6 +2527,9 @@
 	TRACE("(VkDevice device = 0x%X, VkFormat format = 0x%X, VkImageUsageFlags imageUsage = 0x%X, VkSwapchainImageUsageFlagsANDROID swapchainUsage = 0x%X, uint64_t* grallocConsumerUsage = 0x%X, uin64_t* grallocProducerUsage = 0x%X)",
 			device, format, imageUsage, swapchainUsage, grallocConsumerUsage, grallocProducerUsage);
 
+	*grallocConsumerUsage = 0;
+	*grallocProducerUsage = GRALLOC1_PRODUCER_USAGE_CPU_WRITE_OFTEN;
+
 	return VK_SUCCESS;
 }