79531215

Date: 2025-03-24 13:38:41
Score: 1
Natty:
Report link

Does a secondary VkCommandBuffer need to come from the same pool as the primary VkCommandBuffer?

No.

Why does every thread need a Vk*Pool?

They don't.

All types of pool can be used by multiple threads, but they are externally synchronized. This means that if you do use a pool from multiple threads you must manually ensure that all uses of a specific command pool are synchronized to avoid concurrent access.

This design is so that single threaded use of a pool does not need to pay the overhead of synchronization when it isn't needed.

Can anyone show me a scene must use multiple-pools, and one pool multiple-xxx cannot be done?

As above, this isn't true, and it can be done.

The underlying question is a question of efficiency, which will depend on the engine design, which is beyond the scope of a simple SO answer.

Reasons:
  • RegEx Blacklisted phrase (2.5): Can anyone show me
  • Long answer (-0.5):
  • No code block (0.5):
  • Contains question mark (0.5):
  • High reputation (-2):
Posted by: solidpixel