-
Notifications
You must be signed in to change notification settings - Fork 23
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
DX12 support #57
Merged
DX12 support #57
Conversation
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
…leAABB, ER_DebugProxyObject, ER_ShadowMapper, ER_GBuffer, ER_Skybox, ER_Terrain, ER_FoliageManager
…ER_RHI_DX12_DescriptorHandle, ER_RHI_DX12_DescriptorHeap(GPU+CPU))
…SetVertexBuffers(), SetConstantBuffers() etc... also implemented CreateBlendStates(), CreateSamplerStates(), CreateRasterizerStates(), CreateDepthStencilStates()
…nature abstraction in ER_RHI
…dded root signature related methods to ER_RHI.h, ER_RHI_DX12.cpp/h; added proper implementation of ER_RHI_DX12::SetShaderResources(), ER_RHI_DX12::SetUnorderedAccessResources(), ER_RHI_DX12::SetConstantBuffers(); polished/finished proper root-signatures support in ER_VolumetricFog
…ure parameters in ER_VolumetricFog
…12 (no load from file yet), also refactored ER_RHI_DX12_GPUBuffer::CreateGPUBufferResource(); added null SRV descriptor handle to ER_RHI_DX12.cpp
…t), included DirectXTK12
…2.cpp; fixed in other DX12 classes (i.e., gpu buffer/texture/pso, etc.)
… objects; added root-signature support to gbuffer pass; fixes for root-signature in ER_VolumetricFog
…cFog, ER_GBuffer, ER_FoliageManager; added root-signatures support to ER_FoliageManager; fixes in ER_RHI_DX12::TransitionResources() methods
…red and forward lighting passes)
…cessingStack, ER_VolumetricClouds; added/fixed all root-signatures where possible (compiles but not tested yet)
… etc.); also set back culling as a default RS on every graphics PSO initialization
…s resource transition errors in DX12; added double-buffering to swapchain, main gfx fence, main rtv
…GPUBuffer; added double-buffering support to ER_RHI_DX12_GPUDescriptorHeapManager
# Conflicts: # bin/x64/dx11/Debug/EveryRay_RenderingEngine_Win64_DX11_Debug.exe # bin/x64/dx11/Debug/EveryRay_RenderingEngine_Win64_DX11_Debug.pdb # bin/x64/dx12/Debug/assimp-vc141-mtd.dll # source/EveryRay_Core/Common.h # source/EveryRay_Core/ER_FoliageManager.cpp # source/EveryRay_Core/ER_FoliageManager.h # source/EveryRay_Core/ER_Illumination.cpp # source/EveryRay_Core/ER_Sandbox.cpp # source/EveryRay_Core/ER_ShadowMapper.cpp # source/EveryRay_Core/ER_Terrain.cpp # source/EveryRay_Core/ER_Terrain.h # source/EveryRay_Core/ER_VolumetricClouds.cpp # source/EveryRay_Core/ER_VolumetricFog.cpp # source/EveryRay_Core/RHI/ER_RHI.h
…12 errors/warning in PSOs, depth/blend states, etc.; most systems are working and running correctly
…gnment to ER_RESOURCE_MISC_BUFFER_STRUCTURED GPU buffers; added D3DCOMPILE_ALL_RESOURCES_BOUND to shader compiler; fixed a transition of resources to ER_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE; fixed a bug in ER_RHI::TransitionResources()
…ng() and ER_FoliageManager
… to per-object in ER_GBuffer, ER_ShadowMapper; separated state and resources for forward pass in ER_RenderingObject; fixed dx12 depth format errors in ER_FoliageManager;
…r PSO reusage; small fixes to ER_RHI_DX12::SetPSO()
…TATE::ER_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE for getting rid of redundant state transitions
…es jumps between frames)
…cts sorting [ER_VolumetricFog]: fixed broken fog rendering [ER_Sandbox]: refactored order of rendering the systems (moved layered materials to ER_Illumination::DrawForwardLighting(), volumetric fog next to volumetric clouds) [ER_Terrain]: started adding DX12 support to terrain: added root signatures, also focused on "placement compute pass" and its buffers (added copy command list usage) [ER_RHI_DX12]: added copy command queue/list/allocator/fence; refactored all hardcoded "mCommandListGraphics[0]" usages to "mCommandListGraphics[mCurrentGraphicsCommandListIndex"]; fixed transition barriers in ER_RHI_DX12::CopyGPUTextureSubresourceRegion(), joined depth and rt barriers in ER_RHI_DX12::SetRenderTargets() for better performance; fixed buffer SRVs in ER_RHI_DX12::SetShaderResources(); cleaned/removed duplicated ER_RHI_DX12::TransitionResources() calls [ER_RHI_DX12_GPUBuffer]: added support for readback buffers (read back heap) and other minor fixes
…in::PlaceOnTerrain() for dx12 (using ER_GenericEvent)
…instanced) on init
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.