MCPcopy Create free account
hub / github.com/TheRealMJP/DeferredTexturing / Shutdown

Function Shutdown

SampleFramework12/v1.00/Graphics/DX12.cpp:146–187  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

144}
145
146void Shutdown()
147{
148 Assert_(CurrentCPUFrame == CurrentGPUFrame);
149 ShuttingDown = true;
150
151 for(uint64 i = 0; i < ArraySize_(DeferredReleases); ++i)
152 ProcessDeferredReleases(i);
153
154 FrameFence.Shutdown();
155
156 for(uint64 i = 0; i < RenderLatency; ++i)
157 Release(CmdAllocators[i]);
158
159 Release(CmdList);
160 Release(GfxQueue);
161 Release(Factory);
162 Release(Adapter);
163
164 Shutdown_Upload();
165 Shutdown_Helpers();
166
167 #if BreakOnDXError_
168 if(Device != nullptr)
169 {
170 ID3D12InfoQueuePtr infoQueue;
171 DXCall(Device->QueryInterface(IID_PPV_ARGS(&infoQueue)));
172 infoQueue->SetBreakOnSeverity(D3D12_MESSAGE_SEVERITY_WARNING, FALSE);
173 infoQueue->SetBreakOnSeverity(D3D12_MESSAGE_SEVERITY_ERROR, FALSE);
174 }
175 #endif
176
177 #if UseDebugDevice_ && 0
178 if(Device != nullptr)
179 {
180 ID3D12DebugDevicePtr debugDevice;
181 DXCall(Device->QueryInterface(IID_PPV_ARGS(&debugDevice)));
182 debugDevice->ReportLiveDeviceObjects(D3D12_RLDO_DETAIL);
183 }
184 #endif
185
186 Release(Device);
187}
188
189void BeginFrame()
190{

Callers 12

InitializeMethod · 0.70
~ConstantBufferMethod · 0.70
~SwapChainMethod · 0.70
InitializeMethod · 0.70
InitMethod · 0.70
~StructuredBufferMethod · 0.70
InitializeMethod · 0.70
~FormattedBufferMethod · 0.70
~RawBufferMethod · 0.70
~FenceMethod · 0.70
~DepthBufferMethod · 0.70
InitMethod · 0.70

Calls 6

ProcessDeferredReleasesFunction · 0.85
ReleaseFunction · 0.85
Shutdown_UploadFunction · 0.85
Shutdown_HelpersFunction · 0.85
DXCallFunction · 0.85
ShutdownMethod · 0.45

Tested by

no test coverage detected