aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2022-11-01 15:46:43 +0000
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2022-11-01 15:46:43 +0000
commit88175d246acf16a7a3040a3b4bda47db76ad252f (patch)
treef8611c19d37bb24de83338a2d2bd56f269df2619
parent4528a81628fbf2ded23e350c1a3b3c29855faf50 (diff)
parentc280bb82aff666b142b3701a7fa63a2d4f4d6958 (diff)
downloadgoldfish-opengl-88175d246acf16a7a3040a3b4bda47db76ad252f.tar.gz
Snap for 9242310 from c280bb82aff666b142b3701a7fa63a2d4f4d6958 to mainline-adservices-releaseaml_ads_331611190aml_ads_331511020aml_ads_331418080
Change-Id: Ia0fcfe3bfc98af5e8c1ad44714b07d15b19175de
-rw-r--r--system/vulkan_enc/ResourceTracker.cpp18
1 files changed, 12 insertions, 6 deletions
diff --git a/system/vulkan_enc/ResourceTracker.cpp b/system/vulkan_enc/ResourceTracker.cpp
index 6cc7010d..c9a1606c 100644
--- a/system/vulkan_enc/ResourceTracker.cpp
+++ b/system/vulkan_enc/ResourceTracker.cpp
@@ -6690,7 +6690,7 @@ public:
}
#endif
#if defined(VK_USE_PLATFORM_ANDROID_KHR) || defined(__linux__)
- if (semInfo.syncFd >= 0) {
+ if (semInfo.syncFd != 0) {
pre_signal_sync_fds.push_back(semInfo.syncFd);
pre_signal_semaphores.push_back(pSubmits[i].pWaitSemaphores[j]);
}
@@ -6755,13 +6755,19 @@ public:
#endif
#if defined(VK_USE_PLATFORM_ANDROID_KHR) || defined(__linux__)
for (auto fd : pre_signal_sync_fds) {
- preSignalTasks.push_back([fd] {
- sync_wait(fd, 3000);
- });
+ // https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkImportSemaphoreFdInfoKHR.html
+ // fd == -1 is treated as already signaled
+ if (fd != -1) {
+ preSignalTasks.push_back([fd] {
+ sync_wait(fd, 3000);
+ });
+ }
}
#endif
- auto waitGroupHandle = mWorkPool.schedule(preSignalTasks);
- mWorkPool.waitAll(waitGroupHandle);
+ if (!preSignalTasks.empty()) {
+ auto waitGroupHandle = mWorkPool.schedule(preSignalTasks);
+ mWorkPool.waitAll(waitGroupHandle);
+ }
VkSubmitInfo submit_info = {
.sType = VK_STRUCTURE_TYPE_SUBMIT_INFO,