Skip to content

CommandBufferManager logic is buggy #500

@JeanPhilippeKernel

Description

@JeanPhilippeKernel

The CommandBufferManager has several design and implementation issues that cause or crashes in a of the Vulkan renderer.

Race Conditions in Instant Commands
GetInstantCommandBuffer uses a condition variable to wait for m_instant_semaphore->GetState() == Idle, but lacks proper multi-producer protection. Multiple threads calling it simultaneously could:

  • All pass the predicate check before any submission completes.
  • Overwrite m_executing_instant_command flag inconsistently.
  • Submit overlapping buffers to the same semaphore/fence, corrupting GPU synchronization.

Metadata

Metadata

Projects

Status

In Progress

Relationships

None yet

Development

No branches or pull requests

Issue actions