Handle AHB R8 format conversions
Reviewed-by: Aaron Ruby <aruby@blackberry.com> Acked-by: Yonggang Luo <luoyonggang@gmail.com> Acked-by: Adam Jackson <ajax@redhat.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27246>
This commit is contained in:
@@ -65,6 +65,9 @@ VkResult getAndroidHardwareBufferPropertiesANDROID(
|
||||
const auto format = grallocHelper->getFormat(buffer);
|
||||
if (ahbFormatProps) {
|
||||
switch (format) {
|
||||
case AHARDWAREBUFFER_FORMAT_R8_UNORM:
|
||||
ahbFormatProps->format = VK_FORMAT_R8_UNORM;
|
||||
break;
|
||||
case AHARDWAREBUFFER_FORMAT_R8G8B8A8_UNORM:
|
||||
ahbFormatProps->format = VK_FORMAT_R8G8B8A8_UNORM;
|
||||
break;
|
||||
|
||||
@@ -57,6 +57,8 @@ namespace vk {
|
||||
// VK_FORMAT_G8_B8R8_2PLANE_420_UNORM.
|
||||
static inline VkFormat vk_format_from_android(unsigned android_format) {
|
||||
switch (android_format) {
|
||||
case AHARDWAREBUFFER_FORMAT_R8_UNORM:
|
||||
return VK_FORMAT_R8_UNORM;
|
||||
case AHARDWAREBUFFER_FORMAT_R8G8B8A8_UNORM:
|
||||
return VK_FORMAT_R8G8B8A8_UNORM;
|
||||
case AHARDWAREBUFFER_FORMAT_R8G8B8X8_UNORM:
|
||||
@@ -89,6 +91,8 @@ static inline VkFormat vk_format_from_android(unsigned android_format) {
|
||||
|
||||
static inline unsigned android_format_from_vk(VkFormat vk_format) {
|
||||
switch (vk_format) {
|
||||
case VK_FORMAT_R8_UNORM:
|
||||
return AHARDWAREBUFFER_FORMAT_R8_UNORM;
|
||||
case VK_FORMAT_R8G8B8A8_UNORM:
|
||||
return AHARDWAREBUFFER_FORMAT_R8G8B8A8_UNORM;
|
||||
case VK_FORMAT_R8G8B8_UNORM:
|
||||
@@ -111,6 +115,7 @@ static inline unsigned android_format_from_vk(VkFormat vk_format) {
|
||||
static inline bool android_format_is_yuv(unsigned android_format) {
|
||||
switch (android_format) {
|
||||
case AHARDWAREBUFFER_FORMAT_BLOB:
|
||||
case AHARDWAREBUFFER_FORMAT_R8_UNORM:
|
||||
case AHARDWAREBUFFER_FORMAT_R8G8B8A8_UNORM:
|
||||
case AHARDWAREBUFFER_FORMAT_R8G8B8X8_UNORM:
|
||||
case AHARDWAREBUFFER_FORMAT_R8G8B8_UNORM:
|
||||
|
||||
Reference in New Issue
Block a user