diff options
author | Treehugger Robot <treehugger-gerrit@google.com> | 2020-08-27 20:04:25 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2020-08-27 20:04:25 +0000 |
commit | 55a2eb83add149995d1f528499f028f04b596da8 (patch) | |
tree | 8f67a959c8f2ce14760dc6112402ca4db1f87081 | |
parent | 5de9e02f169969ba6b12e6089bfb2386a498261d (diff) | |
parent | 2c6502082472c5a75bd56918f6af2ba20af0aadf (diff) | |
download | device_generic_goldfish-opengl-55a2eb83add149995d1f528499f028f04b596da8.tar.gz device_generic_goldfish-opengl-55a2eb83add149995d1f528499f028f04b596da8.tar.bz2 device_generic_goldfish-opengl-55a2eb83add149995d1f528499f028f04b596da8.zip |
Merge "vulkan: Do not abort if color buffer already exists" am: 2c65020824
Original change: https://android-review.googlesource.com/c/device/generic/goldfish-opengl/+/1413091
Change-Id: I1eac380fbdd677fa554117a0dc1c4905534be325
-rw-r--r-- | system/vulkan_enc/ResourceTracker.cpp | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/system/vulkan_enc/ResourceTracker.cpp b/system/vulkan_enc/ResourceTracker.cpp index 907e3c54..80b65dee 100644 --- a/system/vulkan_enc/ResourceTracker.cpp +++ b/system/vulkan_enc/ResourceTracker.cpp @@ -50,6 +50,7 @@ void zx_event_create(int, zx_handle_t*) { } #include <fuchsia/sysmem/llcpp/fidl.h> #include <lib/zx/channel.h> #include <lib/zx/vmo.h> +#include <zircon/errors.h> #include <zircon/process.h> #include <zircon/syscalls.h> #include <zircon/syscalls/object.h> @@ -2564,9 +2565,16 @@ public: auto result = mControlDevice->CreateColorBuffer2(std::move(vmo_copy), std::move(createParams)); if (!result.ok() || result.Unwrap()->res != ZX_OK) { - ALOGE("CreateColorBuffer failed: %d:%d", - result.status(), GET_STATUS_SAFE(result, res)); - abort(); + if (result.ok() && + result.Unwrap()->res == ZX_ERR_ALREADY_EXISTS) { + ALOGD("CreateColorBuffer: color buffer already " + "exists\n"); + } else { + ALOGE("CreateColorBuffer failed: %d:%d", + result.status(), + GET_STATUS_SAFE(result, res)); + abort(); + } } } @@ -3036,8 +3044,13 @@ public: auto result = mControlDevice->CreateColorBuffer2(std::move(vmo), std::move(createParams)); if (!result.ok() || result.Unwrap()->res != ZX_OK) { - ALOGE("CreateColorBuffer failed: %d:%d", result.status(), - GET_STATUS_SAFE(result, res)); + if (result.ok() && + result.Unwrap()->res == ZX_ERR_ALREADY_EXISTS) { + ALOGD("CreateColorBuffer: color buffer already exists"); + } else { + ALOGE("CreateColorBuffer failed: %d:%d", result.status(), + GET_STATUS_SAFE(result, res)); + } } } isSysmemBackedMemory = true; |