BGRA format support This change adds conversions between Vulkan and AHardwareBuffer BGRA formats. Change-Id: If992c80438bf8386e0687c920e04015bab7bf394 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/75488 Reviewed-by: Jason Macnak <natsu@google.com> Commit-Queue: Jason Macnak <natsu@google.com> Tested-by: Jason Macnak <natsu@google.com>
diff --git a/src/Vulkan/VkDeviceMemoryExternalAndroid.cpp b/src/Vulkan/VkDeviceMemoryExternalAndroid.cpp index ba91f33..b7cdd0d 100644 --- a/src/Vulkan/VkDeviceMemoryExternalAndroid.cpp +++ b/src/Vulkan/VkDeviceMemoryExternalAndroid.cpp
@@ -57,6 +57,8 @@ return AHARDWAREBUFFER_FORMAT_Y8Cb8Cr8_420; case VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16: return AHARDWAREBUFFER_FORMAT_YCbCr_P010; + case VK_FORMAT_B8G8R8A8_UNORM: + return AHARDWAREBUFFER_FORMAT_B8G8R8A8_UNORM; default: UNSUPPORTED("AHardwareBufferExternalMemory::VkFormat %d", int(format)); return 0; @@ -306,7 +308,7 @@ usage = AHARDWAREBUFFER_USAGE_CPU_READ_OFTEN | AHARDWAREBUFFER_USAGE_CPU_WRITE_OFTEN; } - // Empty fence, lock immedietly. + // Empty fence, lock immediately. int32_t fence = -1; // Empty rect, lock entire buffer. @@ -388,6 +390,8 @@ return VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM; case AHARDWAREBUFFER_FORMAT_YCbCr_P010: return VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16; + case AHARDWAREBUFFER_FORMAT_B8G8R8A8_UNORM: + return VK_FORMAT_B8G8R8A8_UNORM; default: UNSUPPORTED("AHardwareBufferExternalMemory::AHardwareBuffer_Format %d", int(ahbFormat)); return VK_FORMAT_UNDEFINED;