Skip to content

Enable command list reuse for Xbox#13173

Merged
jstoecker merged 2 commits intomainfrom
jstoecker/d3d_allocator_ref
Oct 3, 2022
Merged

Enable command list reuse for Xbox#13173
jstoecker merged 2 commits intomainfrom
jstoecker/d3d_allocator_ref

Conversation

@jstoecker
Copy link
Contributor

Removes the workaround introduced in #12063, which disabled DML command list reuse for Xbox builds.

The ID3D12CommandList created in FusedGraphKernel takes points to an ID3D12CommandAllocator that is local to the BuildReusableCommandList function. On PC it would seem the command list is keeping the command allocator alive, but this is highly suspect logic that definitely doesn't work on Xbox. I find no documentation indicating this logic should work (a section on reference counting makes it clear command lists take no refs on D3D objects passed as args to its APIs; however, it's unclear if this also applies to its construction).

A second (small) change is constructing the command list straight into ID3D12GraphicsCommandList and removing an unnecessary QI.

Copy link
Contributor

@adtsai adtsai left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:shipit:

@jstoecker jstoecker merged commit 9cf98da into main Oct 3, 2022
@jstoecker jstoecker deleted the jstoecker/d3d_allocator_ref branch October 3, 2022 23:03
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