mirror of
https://github.com/bkaradzic/bgfx.git
synced 2026-02-21 06:13:07 +01:00
Vulkan synchronization fixes (#2386)
* Fix out of bounds index for unknown device types * Vulkan: Insert barrier before image host reads * Vulkan: Make commands wait for the wait semaphore Making commands wait at BOTTOM_OF_PIPE is a no-op, resulting in instant execution * Vulkan: Insert barrier between views/dispatches instead of waiting on the host * Vulkan: Fix determination of access flag from image layout This fixes two write-after-write races with copy commands after a layout transition to VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL * Add BGFX_MAX_FRAME_LATENCY define Affected backends either used a magic value of 3 or defined their own XX_MAX_FRAMES_IN_FLIGHT to be 3 * Vulkan: Include indirect draw in pipeline barrier * Vulkan: honor init.resolution.numBackBuffers for swapchain size * Make max frame latency configurable at compile time
This commit is contained in:
@@ -1831,7 +1831,7 @@ namespace bgfx
|
||||
m_init = _init;
|
||||
m_init.resolution.reset &= ~BGFX_RESET_INTERNAL_FORCE;
|
||||
m_init.resolution.numBackBuffers = bx::clamp<uint8_t>(_init.resolution.numBackBuffers, 2, BGFX_CONFIG_MAX_BACK_BUFFERS);
|
||||
m_init.resolution.maxFrameLatency = bx::min<uint8_t>(_init.resolution.maxFrameLatency, 3);
|
||||
m_init.resolution.maxFrameLatency = bx::min<uint8_t>(_init.resolution.maxFrameLatency, BGFX_CONFIG_MAX_FRAME_LATENCY);
|
||||
dump(m_init.resolution);
|
||||
|
||||
if (g_platformData.ndt == NULL
|
||||
|
||||
Reference in New Issue
Block a user