Skip to content

Commit

Permalink
DX12: update README and images.
Browse files Browse the repository at this point in the history
  • Loading branch information
kosua20 committed Feb 27, 2024
1 parent 83ecd80 commit fe9a31c
Show file tree
Hide file tree
Showing 4 changed files with 3 additions and 1 deletion.
4 changes: 3 additions & 1 deletion dx12/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,12 @@

![](images/dx12-1.png)

This is the DX12 version. Compared to its predecessor it provides a lower-level API, similarly to Vulkan. Draw calls and other operations are recorded in command lists submitted to dedicated GPU queues. Pipeline state objects aggregate most of the previously free state for rasterization, blending, depth testing, etc. Textures and buffers are passed to shaders through descriptors laid out by the application in GPU memory according to a root signature. Depending on how they are used, resources and rendertargets have to be transitioned using barriers.
This is the DX12 version, the current version of Microsoft's graphics API. Compared to its predecessor it provides a lower-level abstraction over the GPU, similar to Vulkan. Draw calls and other operations are recorded in command lists submitted to dedicated GPU queues. Pipeline state objects aggregate most of the previously free state for rasterization, blending, depth testing, etc. Textures and buffers are passed to shaders through descriptors laid out by the application in GPU memory according to a root signature. Depending on how they are used, resources and rendertargets have to be transitioned using barriers. Frame synchronization using fences is also left to the application for maximum control.

![](images/dx12-2.png)

This version relies on a few simplifying assumptions: most resources and their descriptors are allocated at launch, resource barriers are handled manually, pipeline configuration is limited, descriptors and resource tables are allocated linearly and never released until the final cleanup. Mipmaps are generated manually using a compute shader as the API doesn't provide the corresponding helper function anymore.

![](images/dx12-3.png)


Binary file added dx12/images/dx12-1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added dx12/images/dx12-2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added dx12/images/dx12-3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit fe9a31c

Please sign in to comment.