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;