Skip to content

merge misc commits i had done locally#55

Draft
pythonlover02 wants to merge 54 commits into
mainfrom
misc
Draft

merge misc commits i had done locally#55
pythonlover02 wants to merge 54 commits into
mainfrom
misc

Conversation

@pythonlover02

Copy link
Copy Markdown
Owner

they are not big enough to have their own pr

…tencilFormat, check post-conversion format (2.6.1)
…xvk-low-latency

Adds an opt in frame pacing mode, adapted from netborg-afps/dxvk-low-latency.

modified to fit Sarek synchronous vk::Presenter
and per-frame CallbackFence, since that project's predictive low latency mode
depends on per-submission GPU timestamps and an async presenter that don't exist here.
@pythonlover02 pythonlover02 self-assigned this Jul 8, 2026
@pythonlover02 pythonlover02 added the enhancement New feature or request label Jul 8, 2026
adds DxvkMemoryPool as an alternative to the legacy per chunk worst fit allocator, toggled via dxvk.enablePagedAllocator (env override DXVK_DISABLE_PAGED_ALLOCATOR). chunks grow based on heap usage instead of a fixed size, up to 256 MiB (64 MiB on 32-bit); anything that doesn't fit a bounded chunk size falls back to the legacy allocator per-request.

allocations above 32 KiB use a single best fit free list per memory type at 64 KiB page granularity, replacing the per chunk worst fit scan. allocations up to 32 KiB use size classed slabs so small/frequently churned allocations (constant buffers) share a page instead of each claiming one. allocations between 32-64 KiB still cost a full page either way, same tradeoff any power of two size class pool has.

empty chunks/slab pages are released under memory pressure, with a small reserve (1-4, matching legacy) kept first to avoid alloc/free churn at the boundary.

no defragmentation a single long-lived allocation pinning an otherwise empty chunk keeps it resident until freed. would need buffer/image objects to own their memory indirectly, which this doesn't change.

extends the HUD memory item with per type chunk/page counts under DXVK_HUD=memory.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant