Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

D3D12 Backend #32

Open
12 of 15 tasks
redorav opened this issue Dec 5, 2021 · 0 comments
Open
12 of 15 tasks

D3D12 Backend #32

redorav opened this issue Dec 5, 2021 · 0 comments
Assignees
Labels

Comments

@redorav
Copy link
Owner

redorav commented Dec 5, 2021

There are several fundamental tasks missing

  • D3D12 shader reflection in CrShaderCompiler
  • Root Signature Management - put as binaries in custom shaders (needs reworking to account for platforms that need to compile the root signature into the shader)
  • Shaders
  • Fences
  • Pipelines
  • Swapchain
  • Command Buffer
  • Textures
  • Texture Loading: we need a better API
  • Resource Binding: Constant Buffers, Textures, Samplers, etc -> both graphics and compute
  • Buffers
  • Features
  • Resource transitions (halfway there)
  • Caching (root signatures, descriptor heaps, primitive topology, etc)
  • Pipeline Cache storage and loading

Requirements for descriptor heaps

  1. Non-shader-visible descriptor heap that I can return and reuse descriptors. A pool

  2. Shader-visible stream of descriptors. Command buffers reserve chunk of descriptors as they need them (this is the only sync point) and use those throughout the frame. Those chunks are reserved for the duration of the frame but reused later

@redorav redorav added the d3d12 label Dec 5, 2021
@redorav redorav self-assigned this Dec 5, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant