c/util: fixes android crash with slow/multi-layer graphics based pipeline

* Fixes crashes/vk validation errors when apps submit
  multiple layers or fast-path is explicitly disabled
  when using graphics based compositor pipeline
* Switches the default compositor pipeline with android builds
  from compute back to graphics
* Closes #381
* Does NOT fix #428

Thanks to @quic_yli25 for finding the issue.

Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2337>
This commit is contained in:
korejan 2024-10-13 18:32:55 +01:00
parent 545aced3f4
commit 2c1a44d885
2 changed files with 1 additions and 6 deletions

View file

@ -10,12 +10,7 @@
#include "util/u_debug.h"
#include "comp_settings.h"
#ifdef XRT_OS_ANDROID
// temporary workaround for https://gitlab.freedesktop.org/monado/monado/-/issues/381
#define USE_COMPUTE_DEFAULT true
#else
#define USE_COMPUTE_DEFAULT false
#endif
// clang-format off
DEBUG_GET_ONCE_LOG_OPTION(log, "XRT_COMPOSITOR_LOG", U_LOGGING_INFO)

View file

@ -165,7 +165,7 @@ tmp_init_and_create(struct tmp *t, struct vk_bundle *vk, const struct xrt_swapch
const VkImageUsageFlags unorm_usage = VK_IMAGE_USAGE_STORAGE_BIT | VK_IMAGE_USAGE_SAMPLED_BIT;
// Very few cards support SRGB storage.
const VkImageUsageFlags srgb_usage = VK_IMAGE_USAGE_SAMPLED_BIT;
const VkImageUsageFlags srgb_usage = VK_IMAGE_USAGE_SAMPLED_BIT | VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT;
const VkImageSubresourceRange subresource_range = {
.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT,