aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTreehugger Robot <treehugger-gerrit@google.com>2020-08-27 20:04:25 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2020-08-27 20:04:25 +0000
commit55a2eb83add149995d1f528499f028f04b596da8 (patch)
tree8f67a959c8f2ce14760dc6112402ca4db1f87081
parent5de9e02f169969ba6b12e6089bfb2386a498261d (diff)
parent2c6502082472c5a75bd56918f6af2ba20af0aadf (diff)
downloaddevice_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.cpp23
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;