Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7ccb8a4d authored by Leon Scroggins III's avatar Leon Scroggins III
Browse files

Plumb support for rendering A8 in Vulkan

VulkanSurface:
- update LOG_TAG
- allow no dataspace + A8
- assign a vkPixelFormat for A8

VulkanManager: use a more descriptive LOG_TAG

Bug: 193170859
Test: TODO

Change-Id: If447c2c393b4f17b718083a77cdd29870fb1cc50
parent e157ee87
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -35,6 +35,9 @@
#include "pipeline/skia/ShaderCache.h"
#include "renderstate/RenderState.h"

#undef LOG_TAG
#define LOG_TAG "VulkanManager"

namespace android {
namespace uirenderer {
namespace renderthread {
+9 −2
Original line number Diff line number Diff line
@@ -24,6 +24,9 @@
#include "VulkanManager.h"
#include "utils/Color.h"

#undef LOG_TAG
#define LOG_TAG "VulkanSurface"

namespace android {
namespace uirenderer {
namespace renderthread {
@@ -197,7 +200,8 @@ bool VulkanSurface::InitializeWindowInfoStruct(ANativeWindow* window, ColorMode
    outWindowInfo->bufferFormat = ColorTypeToBufferFormat(colorType);
    outWindowInfo->colorspace = colorSpace;
    outWindowInfo->dataspace = ColorSpaceToADataSpace(colorSpace.get(), colorType);
    LOG_ALWAYS_FATAL_IF(outWindowInfo->dataspace == HAL_DATASPACE_UNKNOWN,
    LOG_ALWAYS_FATAL_IF(
            outWindowInfo->dataspace == HAL_DATASPACE_UNKNOWN && colorType != kAlpha_8_SkColorType,
            "Unsupported colorspace");

    VkFormat vkPixelFormat;
@@ -211,6 +215,9 @@ bool VulkanSurface::InitializeWindowInfoStruct(ANativeWindow* window, ColorMode
        case kRGBA_1010102_SkColorType:
            vkPixelFormat = VK_FORMAT_A2B10G10R10_UNORM_PACK32;
            break;
        case kAlpha_8_SkColorType:
            vkPixelFormat = VK_FORMAT_R8_UNORM;
            break;
        default:
            LOG_ALWAYS_FATAL("Unsupported colorType: %d", (int)colorType);
    }