forked from LukasBanana/LLGL
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[D3D12] Started with refactoring of resource state transitioning.
- Upload heap resources must always be initially in D3D12_RESOURCE_STATE_GENERIC_READ (see D3D12SubresourceContext). - Readback heap resources must always be initially in D3D12_RESOURCE_STATE_COPY_DEST (see D3D12SubresourceContext). - Use shader visible descriptor heap of command context in D3D12Buffer::ClearSubresourceUInt(). - Add list of references to resource states in D3D12ResourceHeap and D3D12BufferArray. - Added several resource barriers to D3D12CommandBuffer for SetResource, SetIndexBuffer etc. commands. - Flush pending resource barriers before each draw/dispatch command to make use of barrier cache for SetResource/SetResourceHeap commands. - Determine target resource state in D3D12PipelineLayout and store it in D3D12DescriptorHeapLocation and D3D12DescriptorLocation. - Transition texture resource state back to previous one instead of "usage state" in D3D12MipGenerator. - Added many more iterations (1000) to "ResourceBinding" test to ensure resource state transitioning works; Produced previously wrong results non-deterministically. TODO: State transitioning is far from finished in LLGL/D3D12. The "usageState" should be removed from D3D12Resource and subresource state transitioning is not handled yet either. In one way or another, the state transitioning must be exposed to the public interface but LLGL should retain the option for automatic state tracking to keep the interface easy to use.
- Loading branch information
1 parent
ff24a98
commit c998e54
Showing
21 changed files
with
246 additions
and
87 deletions.
There are no files selected for viewing
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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
Oops, something went wrong.