You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Runtime sampler change frees a VkSampler still referenced by in-flight command buffers #153
SetFilter, SetWrapMode and SetLodBias each call vkDestroySampler immediately (lines 219, 229, 239)
and then rewrite descriptor sets (UpdateDescriptorSets, :246-267): with no vkDeviceWaitIdle and no
fence gate, while up to MAX_FRAMES_IN_FLIGHT command buffers referencing the old sampler are still
pending. Violates VUID-vkDestroySampler-sampler-01082.
Trigger: the Filter combo at SleakCraft/Game/src/UI/SettingsPanel.cpp:280 and LOD Bias at :287: i.e. a
user changing texture filtering in the settings panel.
Second-order and permanent: m_imguiDescriptorSet is created once (VulkanTexture.cpp:270-274) and never
refreshed by UpdateDescriptorSets. So after any filter change, every ImGui draw of that texture samples a destroyed sampler for the rest of the session.
Severity: crash.
Found by a full audit of the graphics layer. Assessed severity: crash.
Activity