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

Implemented functionality up to chapter 16 inclusive #2

Open
wants to merge 224 commits into
base: main
Choose a base branch
from
Open

Conversation

navkagleb
Copy link
Owner

No description provided.

Remove .vcxprojc.user files from project. Remove Win32 platform in third_party project. Update .gitignore file
Most of code in BlurPass is hardcoded, so it's need refactoring
1. Need to add new graphics command list (compute) and add interface to access it
2. Refactor Context. Move Resource Views binding to the Context. Move clearing of default render target from the Renderer to the Context
3. Move common code in blur.hlsl to functions
4. SwapChain shouldn't store Texture2D associated with back buffer. Need replace it with Texture2DResource
1. Move clearing render target and depth stencil to Context
2. Remove DepthStencil from SwapChain and move it to TestLayer. Remove m_BufferCount field
3. Rename Texture2D::GetResource to Texture2D::GetTexture2DResource
1. Remove unnecessary formats
2. Rename existing fields of enum
1. Create base class PipelineState
2. Rename PipelineState to GraphicsPipelineState and make in child class of PipelineState
3. Make ComputePipelineState child of PipelineState
4. Forbid to copy PipelineState
1. Add method to SetPipelineState to Context
2. Make cast operator private for PipelineState
3. Make Context friend of PipelineState
Made it possible to do shader permutations
1. THREAD_PER_GROUP_COUNT - how many threads will be in thread group
2. MAX_BLUR_RADIUS - the max radius that shader can support (depends on gauss weights)
1. MAX_BLUR_RADIUS move to const variable because there is no way to transfer data to array throw 32bit constants to shader. So Weight0 - Weight are left in Settings constant bufer
2. Replace Texture.Length to Texture.GetDimensions()
1. Create separate Root Signatures for Horizontal and Vertical blur passes
2. In TestLayer add ImGui widgets to control Horizontal and Vertical blur passes
Add missed parameter in Device::CreateTexture with TextureClearValue
When creating Texture throw device Texture2DConfig stores in Texture2D
Use this method when native resource (ID3D12Resource) already exists and it's need to be converted to Texture2DResource
navkagleb and others added 30 commits June 24, 2024 13:42
- Added -no_adl_wrapperr -no_nvapi_wrapper command lines
- Returned default value of Device::m_CompletedGpuFrameIndex to 0
- Rewrited condition when skip the deferred release in Device::ProcessDeferredRelease
- Replaced std::unordered_set with std::pmr::list in PipelineStateManager. std::pmr::list has better performance
- Added the Bytes32 and Bytes64 class so that the type has the value that it represents
- Fixed error reporting when provided invalid command line argument
- Use unsigned_integral for Bytes<T>
- Rename g_InvalidIndex to g_InvalidUnsigned
- Added CommandLineArgs::g_IsPixCapturerEnabled
- Added class PixCapturer
- ShaderCreation to ShaderInfo
- Simpified Pso creation
- Added RenderViewportTool. In fact viewport for render targets
- Added RenderSettingsTool. Tool separated in sections
…terType to DenoiserHistoryFix pass

- Fixed bugs related to RenderViewportTool
- Added dependecy on render viewport to RenderPass
- Call RenderPass::OnRenderViewportSize only once per resizing
- Replaced BottonPanelTool with PerformanceOverlayTool
- Added FilterType to DenoiserHistoryFix pass
- Added support of Min and Max sampler function
- Updated UnifiedRootParameters shader
- Refactored Runner class
- Create/Destroy interface
- Unified interface for flippable and usual texture
Removed compile dependency (there is no more need to declare value in header file)
- Make names more understandable
- Moved management of joint::CameraConstants to sandbox::GlobalConstantBufferPass
- Added functionality to get detached descriptor view for buffer (will need for GpuAssert implementation)
- Moved std library helped functions to std_includes.hpp
- Added GetStdHash function
- Refactored Bytes class
- Added LazyConverter class (needed for std::unordered_map::try_emplace
- Some Sigma denoiser implementation
- Other small refactoring
- Also refactored texture implementation
- Separated Cpu visible and Gpu visible heap for resource descriptors (CBV, SRV, UAV)
- Added ClearUnorderedAccess to GraphicsCommandList
- Added IndexAllocator class
- Added DeferredRelease method to Device for different resource types
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