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

Commit 1a31ea8e authored by Derek Sollenberger's avatar Derek Sollenberger Committed by android-build-merger
Browse files

Merge "Merge "Respect the hardware buffer usage flags set by the consumer."...

Merge "Merge "Respect the hardware buffer usage flags set by the consumer." into qt-dev am: 66846fe8" into qt-dev-plus-aosp
am: c8659c8b

Change-Id: I30fb9eeb3e7fc6526189a04ba414c3430850fd85
parents 2977a40b c8659c8b
Loading
Loading
Loading
Loading
+38 −39
Original line number Diff line number Diff line
@@ -266,7 +266,8 @@ VulkanSurface* VulkanSurface::Create(ANativeWindow* window, ColorMode colorMode,
        vkPixelFormat = VK_FORMAT_R16G16B16A16_SFLOAT;
    }

    if (nullptr != vkManager.mGetPhysicalDeviceImageFormatProperties2) {
    LOG_ALWAYS_FATAL_IF(nullptr == vkManager.mGetPhysicalDeviceImageFormatProperties2,
                        "vkGetPhysicalDeviceImageFormatProperties2 is missing");
    VkPhysicalDeviceExternalImageFormatInfo externalImageFormatInfo;
    externalImageFormatInfo.sType =
            VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO;
@@ -298,17 +299,15 @@ VulkanSurface* VulkanSurface::Create(ANativeWindow* window, ColorMode colorMode,
        return nullptr;
    }

        windowInfo.windowUsageFlags = hwbUsage.androidHardwareBufferUsage;
    uint64_t consumerUsage;
    native_window_get_consumer_usage(window, &consumerUsage);
    windowInfo.windowUsageFlags = consumerUsage | hwbUsage.androidHardwareBufferUsage;

    if (vkManager.isQualcomm()) {
        windowInfo.windowUsageFlags =
                windowInfo.windowUsageFlags | AHARDWAREBUFFER_USAGE_VENDOR_0;
    }

    } else {
        ALOGE("VulkanSurface::Create() vkmGetPhysicalDeviceImageFormatProperties2 is missing");
        return nullptr;
    }

    /*
     * Now we attempt to modify the window!
     */