ANV: error submitting with the same semaphore for wait and signal - regression?
I have a simple test that stopped working with a recent mesa update, and it looks like the change affecting it is:
"anv: reset binary syncobj to be signaled before submission"
The test submits using the same semaphore for wait and signal. Is this valid usage? I don't see where in the spec it's disallowed, and the validation layers don't flag any issue.
The test is here: https://github.com/cdotstout/vulkan-tests/tree/main/wait-and-signal-same-sem
Failure looks likes:
cstout@cstout-Switch-SA5-271:~/vulkan-tests/wait-and-signal-same-sem$ clang++ -o vkcopy vkcopy.cc vulkan_context.cc utils.cc -DVULKAN_HPP_NO_EXCEPTIONS -std=c++17 -lvulkan -lgtest -lpthread
cstout@cstout-Switch-SA5-271:~/vulkan-tests/wait-and-signal-same-sem$ VK_ICD_FILENAMES=$HOME/mesa/build/install/share/vulkan/icd.d/intel_icd.x86_64.json ./vkcopy
Copying : 60.00 MB
Iterations : 5
...
Submitting command buffer: wait_and_signal 0
Command buffer completed
Submitting command buffer: wait_and_signal 1
MESA-INTEL: error: ../src/intel/vulkan/anv_batch_chain.c:2032: execbuf2 failed: Invalid argument (VK_ERROR_DEVICE_LOST)
vkcopy.cc:270 VK Error: 0xfffffffc - vk::Queue submit failed.
vkcopy.cc:391 Exec failed.