MCPcopy Create free account
hub / github.com/TheRealMJP/BakingLab / Reset

Method Reset

SampleFramework11/v1.02/Graphics/DeviceManager.cpp:201–241  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

199}
200
201void DeviceManager::Reset()
202{
203 Assert_(swapChain);
204
205 // Release all references
206 if(bbTexture)
207 bbTexture.Release();
208
209 if(bbRTView)
210 bbRTView.Release();
211
212 immediateContext->ClearState();
213
214 if(fullScreen)
215 PrepareFullScreenSettings();
216 else
217 {
218 refreshRate.Numerator = 60;
219 refreshRate.Denominator = 1;
220 }
221
222 DXCall(swapChain->SetFullscreenState(fullScreen, NULL));
223
224 DXCall(swapChain->ResizeBuffers(2, backBufferWidth, backBufferHeight,
225 backBufferFormat, DXGI_SWAP_CHAIN_FLAG_ALLOW_MODE_SWITCH));
226
227 if(fullScreen)
228 {
229 DXGI_MODE_DESC mode;
230 mode.Format = backBufferFormat;
231 mode.Width = backBufferWidth;
232 mode.Height = backBufferHeight;
233 mode.RefreshRate.Numerator = 0;
234 mode.RefreshRate.Denominator = 0;
235 mode.Scaling = DXGI_MODE_SCALING_UNSPECIFIED;
236 mode.ScanlineOrdering = DXGI_MODE_SCANLINE_ORDER_UNSPECIFIED;
237 DXCall(swapChain->ResizeTarget(&mode));
238 }
239
240 AfterReset();
241}
242
243void DeviceManager::Present()
244{

Callers 4

InitializeMethod · 0.45
LoadShadersMethod · 0.45
OnWindowResizedMethod · 0.45
ToggleFullScreenMethod · 0.45

Calls 1

DXCallFunction · 0.85

Tested by

no test coverage detected