Skip to content

Add a descriptor allocator to DX12 backend. Store handles to RTV and DSV and Texture.#1104

Open
manon-traverse wants to merge 1 commit intollvm:mainfrom
Traverse-Research:render-backend-api-dx-descriptor-allocator
Open

Add a descriptor allocator to DX12 backend. Store handles to RTV and DSV and Texture.#1104
manon-traverse wants to merge 1 commit intollvm:mainfrom
Traverse-Research:render-backend-api-dx-descriptor-allocator

Conversation

@manon-traverse
Copy link
Copy Markdown
Contributor

A small step forward in how descriptors are managed.
This PR aims to store the RTV and DSV descriptors in centralized heaps on the device, using DX12 as intended by having all the descriptors in a shared heap.

In a follow-up step, this same change will also be made to CBV_SRV_UAV descriptors.

Copy link
Copy Markdown
Contributor

@EmilioLaiso EmilioLaiso left a comment

Choose a reason for hiding this comment

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

LGTM, one small comment about adding unused fields.

Comment thread lib/API/DX/Device.cpp
Comment on lines +294 to +298
// Staging descriptors, allocated from the device's central non-shader-visible
// CBV_SRV_UAV heap. A zero ptr means no descriptor.
D3D12_CPU_DESCRIPTOR_HANDLE SRVHandle = {};
D3D12_CPU_DESCRIPTOR_HANDLE UAVHandle = {};

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Let's add these in the PR that makes use of them.

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.

3 participants