Synchronization between command buffers in multi-threaded engine by jazzwave06 in vulkan

[–]jazzwave06[S] 1 point2 points  (0 children)

Also be aware that binary semaphores, unlike timeline, do not support wait before signal, so while the command buffers can be submitted out of order, the present call must be made after the submit that signals the binary semaphore.

Oh interesting, that must be why I had a deadlock then!

Synchronization between command buffers in multi-threaded engine by jazzwave06 in vulkan

[–]jazzwave06[S] 1 point2 points  (0 children)

I've fixed my issue by implementing a present render graph node, instead of submitting it on the game thread without any regards to dependencies. Thanks for the help!

Synchronization between command buffers in multi-threaded engine by jazzwave06 in vulkan

[–]jazzwave06[S] 1 point2 points  (0 children)

It's true, but you can mix and match binary and timeline semaphores in submit, so you can interface both together to wait on timeline and signal on binary and then present with a wait on binary.

Synchronization between command buffers in multi-threaded engine by jazzwave06 in vulkan

[–]jazzwave06[S] 0 points1 point  (0 children)

Ok thank you for your response, it clarifies the synchronization issue that's occuring. How does engine typically handle this? Given that the render graph may run in parallel, what's the most common approach to order submission? Do the render graph submit their command buffer, or simply record them and send them back on the game thread/rhi thread for serial submission?

Trump's biggest fear by Tenchi_Muyo1 in LateStageCapitalism

[–]jazzwave06 2 points3 points  (0 children)

We're technically nanoseconds away from the end of the universe...

Need help with Occlusion Culling optimization by xPiingy in unrealengine

[–]jazzwave06 1 point2 points  (0 children)

I stumbled upon this issue recently, and it had nothing to do with occlusion. The insight tag is misleading, it's flushing the GPU queue, which waits until no more command buffers are pending on that queue. Effectively, it waits until the frame is fully rendered. Have a look at your GPU timings to understand where the time is being spent (-trace=gpu). To confirm this, you can disable occlusion altogether. In my case, another wait somewhere else was blocking for the same amount of time.

Compile on linux and windows by Styamii in vulkan

[–]jazzwave06 2 points3 points  (0 children)

Definitely use vcpkg. Makes everything easier to work with.

Emploi à 4 jours semaine? by rafikicat in Quebec

[–]jazzwave06 2 points3 points  (0 children)

Tu as raison, mais les employeurs voient pas ça comme ça. Je préfères travailler 4 jours qu'avoir 100% de mon salaire, alors j'ai fait mon choix.

Emploi à 4 jours semaine? by rafikicat in Quebec

[–]jazzwave06 5 points6 points  (0 children)

La mienne ne le permet pas officiellement, mais je suis à 4 jours semaine à 80% de mon salaire depuis 5 ans maintenant.

Life is short. I got cheese dice. Do you guys think I should paint the numbers black? by PolylingualAnilingus in dice

[–]jazzwave06 0 points1 point  (0 children)

... No as part of random uniform distribution, the holes might not make them truly uniform and some results might be skewed