Remove is_discardable property from several textures - #118396
Merged
Merged
Conversation
The property is causing issues on NVidia devices
blueskythlikesclouds
approved these changes
Apr 13, 2026
blueskythlikesclouds
left a comment
Member
There was a problem hiding this comment.
Unfortunate but makes sense. I figure the next time we visit this, we should implement strict validation that errors out when a discarded texture tries to be loaded without being fully overwritten first.
Contributor
|
Thanks! |
This was referenced Apr 15, 2026
is_discardable property from several textures
BendyLand
pushed a commit
to BendyLand/voltaire
that referenced
this pull request
Aug 2, 2026
Remove is_discardable property from several textures
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.
Partially undoes #113781
Fixes: #118361
Bugsquad edit: Fixes #116357
is_discardabledoes 2 things:In theory it should be safe to enable for any texture so long as it isn't written to in one frame and read in another (or vice versa) as the ARG should use the proper load/store ops. The render target (2d color buffer) is a special case since it is sampled when rendering to the swap chain and that isn't tracked by the ARG (#115530).
However, it seems that the MRP in #118361 is hitting another case where the ARG fails to properly detect when it is safe to use LOAD_OP_DONT_CARE and STORE_OP_DONT_CARE. The safest option for now is to avoid using is_discardable for textures we know will be read/written in other parts of the frame.
This PR will undo most of the performance benefit of #113781