Repository navigation
fix(vk): image pool blocks of 32 MB by default, not 128 - #2967
Open
yassine-milal wants to merge 1 commit into
Open
yassine-milal wants to merge 1 commit into
yassine-milal wants to merge 1 commit into
Conversation
A pool block goes back to the driver only when every image in it is gone, so one long-lived texture in a 128 MB block keeps the whole block. On an 8 GB card (6.6-6.9 GB allowed under Windows) 1.1-2.2 GB sat free inside the blocks while the process was over what the driver allows; with 32 MB blocks it was 0.8 GB in the same places. RX_VK_IMAGE_BLOCK_MB still sets it. Split out of NotRexed#887 as asked there. Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Split out of #887, as asked there ("The 32 MB image-pool block change is independent and looks worthwhile: please send it as its own PR").
A pool block goes back to the driver only when every image in it is gone, so one long-lived texture in a 128 MB block keeps the whole block. The default goes from 128 MB to 32 MB;
RX_VK_IMAGE_BLOCK_MBstill sets it, and the render targets' pool follows the same constant.Measured (Quadro P4000 8 GB, NVIDIA 582.16, Windows 11, 6.6-6.9 GB allowed by the driver; v2.0.2 and v2.0.5 with this change):
Not tested:
main: the change is this one constant and its comment, rebased onmain; I have not built or playedmainwith it. The measurements above predate the render targets' own pool (v2.0.12), which removes part of the fragmentation this addressed, so the gain onmainmay be smaller.🤖 Generated with Claude Code