Skip to content

Rework synchronization#1224

Merged
SaschaWillems merged 89 commits intomasterfrom
sync_rework_second_attempt
Aug 15, 2025
Merged

Rework synchronization#1224
SaschaWillems merged 89 commits intomasterfrom
sync_rework_second_attempt

Conversation

@SaschaWillems
Copy link
Owner

@SaschaWillems SaschaWillems commented Jul 10, 2025

This is a second attempt to rework synchronization for all samples. The goal is to get rid of the vkQueueWaitIdle at the end of each frame and introduce frames-in-flight. This PR will also do away with pre-building command buffers.

Note: This is a Work-in-progress and far from finished. Even the samples that have been updated may exhibit issues as some parts of the framework (like the UI) haven't been adjusted yet.

Progress*:

Sample Updated
bloom
bufferdeviceaddress
computecloth
computecullandlod
computeheadless n/a
computenbody
computeparticles
computeraytracing
computeshader ✅ (ℹ️ Could use additional comments)
conditionalrender
conservativeraster
debugprintf
debugutils
deferred
deferredmultisampling
deferredshadows
descriptorbuffer
descriptorindexing
descriptorsets
displacement
distancefieldfonts
dynamicrendering
dynamicrenderingmultisampling
dynamicstate
dynamicuniformbuffer
gears
geometryshader
gltfloading
gltfscenerendering
gltfskinning
graphicspipelinelibrary
hdr
hostimagecopy
imgui
indirectdraw
inlineuniformblocks
inputattachments ✅ (❗Image transitions need fixing)
instancing
meshshader
multisampling
multithreading
multiview
negativeviewportheight
occlusionquery
offscreen
oit
parallaxmapping
particlesystem
pbrbasic
pbribl
pbrtexture
pipelines
pipelinestatistics
pushconstants
pushdescriptors
radialblur
rayquery
raytracingbasic
raytracingcallable
raytracinggltf
raytracingintersection
raytracingreflections
raytracingpositionfetch
raytracingsbtdata
raytracingshadows
raytracingtextures
renderheadless n/a
screenshot
shaderobjects
shadowmapping
shadowmappingcascade
shadowmappingomni
specializationconstants
sphericalenvmapping
ssao
stencilbuffer
subpasses ✅ (❗Image transitions need fixing)
terraintessellation
tessellation
textoverlay
texture
texture3d
texturearray
texturecubemap
texturecubemaparray
texturemipmapgen
texturesparseresidency
timelinesemaphore
triangle
trianglevulkan13
variablerateshading
vertexattributes
viewportarray
vulkanscene

*no guarantee that sync is 100% perfect

This time less intrusive, making it easier to work on this alongside the main branch
Refs #871
# Conflicts:
#	examples/dynamicrenderingmultisampling/dynamicrenderingmultisampling.cpp
Reworked command buffer setup and fix sync
Reworked command buffer
Sync needs some additional fixing
@SaschaWillems SaschaWillems marked this pull request as ready for review August 9, 2025 13:22
@SaschaWillems SaschaWillems merged commit e0bee1b into master Aug 15, 2025
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant