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

DX12 support #57

Merged
merged 54 commits into from
Oct 28, 2022
Merged

DX12 support #57

merged 54 commits into from
Oct 28, 2022

Conversation

steaklive
Copy link
Owner

No description provided.

…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()
…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
…12 (no load from file yet), also refactored ER_RHI_DX12_GPUBuffer::CreateGPUBufferResource(); added null SRV descriptor handle to ER_RHI_DX12.cpp
…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
…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()
… 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
…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)
@steaklive steaklive merged commit c01bc58 into master Oct 28, 2022
@steaklive steaklive changed the title Adding DX12 support DX12 support Oct 28, 2022
@steaklive steaklive deleted the dx12 branch October 30, 2022 15:58
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.

None yet

1 participant