Merge "Merge "Respect the hardware buffer usage flags set by the consumer." into qt-dev am: 66846fe825" into qt-dev-plus-aosp
This commit is contained in:
committed by
Android (Google) Code Review
commit
c8659c8b9d
@@ -266,7 +266,8 @@ VulkanSurface* VulkanSurface::Create(ANativeWindow* window, ColorMode colorMode,
|
|||||||
vkPixelFormat = VK_FORMAT_R16G16B16A16_SFLOAT;
|
vkPixelFormat = VK_FORMAT_R16G16B16A16_SFLOAT;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (nullptr != vkManager.mGetPhysicalDeviceImageFormatProperties2) {
|
LOG_ALWAYS_FATAL_IF(nullptr == vkManager.mGetPhysicalDeviceImageFormatProperties2,
|
||||||
|
"vkGetPhysicalDeviceImageFormatProperties2 is missing");
|
||||||
VkPhysicalDeviceExternalImageFormatInfo externalImageFormatInfo;
|
VkPhysicalDeviceExternalImageFormatInfo externalImageFormatInfo;
|
||||||
externalImageFormatInfo.sType =
|
externalImageFormatInfo.sType =
|
||||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO;
|
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO;
|
||||||
@@ -298,17 +299,15 @@ VulkanSurface* VulkanSurface::Create(ANativeWindow* window, ColorMode colorMode,
|
|||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
windowInfo.windowUsageFlags = hwbUsage.androidHardwareBufferUsage;
|
uint64_t consumerUsage;
|
||||||
|
native_window_get_consumer_usage(window, &consumerUsage);
|
||||||
|
windowInfo.windowUsageFlags = consumerUsage | hwbUsage.androidHardwareBufferUsage;
|
||||||
|
|
||||||
if (vkManager.isQualcomm()) {
|
if (vkManager.isQualcomm()) {
|
||||||
windowInfo.windowUsageFlags =
|
windowInfo.windowUsageFlags =
|
||||||
windowInfo.windowUsageFlags | AHARDWAREBUFFER_USAGE_VENDOR_0;
|
windowInfo.windowUsageFlags | AHARDWAREBUFFER_USAGE_VENDOR_0;
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
|
||||||
ALOGE("VulkanSurface::Create() vkmGetPhysicalDeviceImageFormatProperties2 is missing");
|
|
||||||
return nullptr;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Now we attempt to modify the window!
|
* Now we attempt to modify the window!
|
||||||
*/
|
*/
|
||||||
|
|||||||
Reference in New Issue
Block a user