Skip to content

fix destroyed BDA buffers staying tracked#3766

Merged
baldurk merged 1 commit intobaldurk:v1.xfrom
tuxerr:v1.x
Jan 19, 2026
Merged

fix destroyed BDA buffers staying tracked#3766
baldurk merged 1 commit intobaldurk:v1.xfrom
tuxerr:v1.x

Conversation

@tuxerr
Copy link
Contributor

@tuxerr tuxerr commented Jan 16, 2026

UntrackBufferAddress makes use of m_DeviceAddressResources to figure out if the buffer has a BDA or not (and if so, removed it from the tracking system) and currently we're removing the buffer from m_DeviceAddressResources.IDs before Untracking it, so untrack cannot go forward.

This deprecates m_DeviceAddressResources.IDs entirely and stores BDA-ness (for both buffers and memory) in the resourcerecord instead, which makes it order-independent. One m_DeviceAddressResources.IDs add is removed entirely as it was replay only, which doesn't have a record and also doesn't make use of hasBDA at all, since address tracking is capture-only.

This fixes indirect diffuse on my test, which was deleting BDA buffers every frame and recreating them.

@baldurk baldurk merged commit c71f3d5 into baldurk:v1.x Jan 19, 2026
16 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants