New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement a workaround for typed buffer view memory explosion #349
Conversation
bd81f95
to
62d43a5
Compare
5c853c9
to
9f01ff7
Compare
We need to check for |
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
This will lead to a crash if it goes too far. Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
We will use it for typed buffers as well. Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
It is used for typed as well. Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
9f01ff7
to
c98c29e
Compare
@doitsujin Fixed on AMD. Tested AMD/NV test suite, RE2, HZD, DS. Renders fine. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Couple of nits, looks good otherwise.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
Offset buffer state might be the only relevant difference between two descriptors. We won't need to copy descriptors, but the offsets must be. Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
Verifies that can we can spam unique typed views without problems ... Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
c98c29e
to
7928164
Compare
The overall idea is to bind typed views at aligned offsets and ranges, and rely on the offset buffer framework to make this work. This way we guarantee a reasonable upper bound for number of unique views that might exist per ID3D12Resource.
Fix #345.
Fixes this OOM condition on HZD and Death Stranding (and possibly others) on NVIDIA based on basic testing. There is no logging about ~1k views being created, where it would create at least 150k views before after a few minutes.