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

Add D3D12 Support (Render Passes + Compute Passes) #35

Merged
merged 32 commits into from
Oct 23, 2018
Merged

Add D3D12 Support (Render Passes + Compute Passes) #35

merged 32 commits into from
Oct 23, 2018

Conversation

vasumahesh1
Copy link
Owner

@vasumahesh1 vasumahesh1 commented Oct 23, 2018

This is a major update to Azura adding render passes and compute shader support to D3D12. Furthermore, a new sample has been generated for Deferred Renderer with Forward, ForwardPlus and Clustered Deferred rendering techniques (next PR).

Issues:
Resolved #16
Resolved #17
Updates #33
Updates #34

Changes:
fix: use enum class for Blending enums

Modules:
Changes:
fix: changes to TextureManager APIs
fix: reuse variables from VkRenderer -> Renderer

Modules:
D3D12RenderSystem
VulkanRenderSystem
RenderSystem
TextureManager
Changes:
add: d3dx12.h helper
fix: disable all warnings for d3dx12.h (way too many warnings from this
file)
add: code for D3D12Renderer Init
add: D3D12Core for D3D12 wide helper functions

Modules:
D3D12RenderSystem
Changes:
fix: Slots are now provided at CreateInfo for a pool
add: Semantic naming for D3D12 Input Desc. Regardless of API such slot
information must be provided.
fix: Tests for Vulkan Render System & validated them

Modules:
DrawablePool
VulkanRenderSystem
D3D12RenderSystem
* There might be an issue with Bundles vs Pipeline that needs
investigation *

Changes:
add: Pipeline factory code, bare minimum at the moment

Modules:
D3D12RenderSystem
Changes:
add: secondary command buffers in D3D12 are Bundles

Modules:
D3D12RenderSystem
Changes:
add: class representing all drawables in D3D12

Modules:
D3D12RenderSystem
Changes:
fix: code for submitting drawable pools

Modules:
D3D12RenderSystem
Changes:
fix: issues with slang shaders
fix: issue with UBI alignment & size multiple (just like Vulkan)

Modules:
D3D12RenderSystem
Changes:
fix: flip Vulkan viewpoer to match D3D12
fix: render tests for Vulkan
add: D3D12RenderTest target to run D3D12 tests

Modules:
D3D12RenderSystem
VulkanRenderSystem
Changes:
add: more logic to D3D12DrawablePool for textures & samplers

Modules:
D3D12RenderSystem
Changes:
fix: copy over staging buffer to main buffer to prevent marshall

Modules:
D3D12RenderSystem
Changes:
add: logic for transfering texture from mainBuffer to texture resource

Modules:
D3D12RenderSystem
Changes:
add: final logic blocks for supporting textures

Modules:
D3D12RenderSystem
Changes:
add: changes to generic draw api

Modules:
D3D12RenderSystem
VulkanRenderSystem
Changes:
add: new files to scope out render passes and swap chains

Modules:
D3D12RenderSystem
Changes:
fix: bug with wrong RTV heap for swap chain render pass

Modules:
Changes:
fix: D3D12 Render passes
issue: Vulkan deferred renderer test seems broken

Modules:
D3D12RenderSystem
Changes:
fix: sync issue with resource barriers

Modules:
Changes:
fix: get procedural planet working for D3D12

Modules:
D3D12RenderSystem
Changes:
fix: warnings for D3D12 Render System in release mode
fix: performance issues in D3D12 (Still not optimal but seems to be
better)

Modules:
D3D12RenderSystem
Changes:
add: Microsoft GLTF SDK for asset loading
add: sponza gltf 2.0 scene
add: AssetManager
add: Deferred Renderer sample for HW

Modules:
General
D3D12RenderSystem
Changes:
fix: issues with samplers

Modules:
Changes:
fix: issue with order of descriptors

Modules:
D3D12RenderSystem
Changes:
add: point lights and light texture

Modules:
DeferredRenderer
Changes:
add: Generic Update Pool APIs
add: Update APIs for Constant Buffers in D3D12

Modules:
D3D12RenderSystem
DeferredRenderer
Changes:
add: Fly through camera module

Modules:
D3D12RenderSystem
Changes:
fix: issue with camera not using correct timeDelta

Modules:
Changes:
fix: update textures considering RowPitch for non-power of 2 textures
fix: Light texture generation for forward renderer

Modules:
D3D12RenderSystem
DeferredRenderer
Changes:
fix: fence wait per pass for now. Unoptimized but works for now.

Modules:
D3D12RenderSystem
Changes:
add: generic compute pipeline
add: compute pass support

Modules:
D3D12RenderSystem
@vasumahesh1 vasumahesh1 merged commit fc1f708 into master Oct 23, 2018
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.

1 participant