-
Notifications
You must be signed in to change notification settings - Fork 415
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
layers: Fix checking if event is in use #9089
Conversation
CI Vulkan-ValidationLayers build queued with queue ID 331756. |
a2c6366
to
a9d4ed1
Compare
CI Vulkan-ValidationLayers build queued with queue ID 331771. |
CI Vulkan-ValidationLayers build # 18437 running. |
a9d4ed1
to
1a84a5c
Compare
CI Vulkan-ValidationLayers build queued with queue ID 331807. |
CI Vulkan-ValidationLayers build # 18439 running. |
CI Vulkan-ValidationLayers build # 18439 failed. |
1a84a5c
to
a1df9cc
Compare
CI Vulkan-ValidationLayers build queued with queue ID 331979. |
CI Vulkan-ValidationLayers build # 18440 running. |
CI Vulkan-ValidationLayers build # 18440 failed. |
a1df9cc
to
2db74ce
Compare
CI Vulkan-ValidationLayers build queued with queue ID 332061. |
CI Vulkan-ValidationLayers build # 18442 running. |
2db74ce
to
30df7c0
Compare
CI Vulkan-ValidationLayers build queued with queue ID 332098. |
CI Vulkan-ValidationLayers build # 18444 running. |
CI Vulkan-ValidationLayers build # 18444 failed. |
CI Vulkan-ValidationLayers build queued with queue ID 332217. |
CI Vulkan-ValidationLayers build # 18446 running. |
CI Vulkan-ValidationLayers build # 18446 failed. |
CI Vulkan-ValidationLayers build queued with queue ID 332246. |
CI Vulkan-ValidationLayers build # 18447 running. |
CI Vulkan-ValidationLayers build # 18447 passed. |
30df7c0
to
ea1d21b
Compare
CI Vulkan-ValidationLayers build queued with queue ID 333281. |
CI Vulkan-ValidationLayers build # 18459 running. |
CI Vulkan-ValidationLayers build # 18459 passed. |
tests/unit/sync_object.cpp
Outdated
@@ -3775,6 +3789,15 @@ TEST_F(NegativeSyncObject, DISABLED_WaitEventThenSet) { | |||
m_errorMonitor->SetDesiredError("VUID-vkSetEvent-event-09543"); | |||
vk::SetEvent(device(), event.handle()); | |||
m_errorMonitor->VerifyFound(); | |||
|
|||
vkt::CommandPool second_pool(*m_device, m_second_queue->family_index); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This mechanism to resolve wait form a different queue works for semaphores but not for events (events communicate within a single queue). I don't know a legal mechanism to signal event after the wait, it should be ordered (did not think about this when wrote initial version of the test). I think it's correct behavior that submission hangs in this scenario. One option is to have this test disabled by default only for manual inspection. Not sure if it causes timeout, if yes, we could rely on it in the test, even though that's not great.
Not sure why originally write_in_use
was introduced. It was in 2016. Here's that commit for documentation purposes: 860b0fe
In that commit writeEventsBeforeWait
and waitedEvents
were also introduced together with write_in_use
. If we don't need write_in_use then it could be need to remove these variables too.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
sadly, I don't think we have a PR for that commit. One possibility is that the in use tracking worked differently back then and that's why write_in_use
and writeEventsBeforeWait
, etc. were needed.
ea1d21b
to
a780737
Compare
CI Vulkan-ValidationLayers build queued with queue ID 343545. |
CI Vulkan-ValidationLayers build # 18622 running. |
CI Vulkan-ValidationLayers build # 18622 passed. |
Closes #8748