MCPcopy Create free account
hub / github.com/NVIDIAGameWorks/Falcor / endFrame

Method endFrame

Source/Falcor/Core/API/Device.cpp:1156–1179  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1154}
1155
1156void Device::endFrame()
1157{
1158 mpRenderContext->submit();
1159
1160 // Wait on past frames.
1161 if (mpFrameFence->getSignaledValue() > kInFlightFrameCount)
1162 mpFrameFence->wait(mpFrameFence->getSignaledValue() - kInFlightFrameCount);
1163
1164 // Flush ray tracing validation if enabled
1165 flushRaytracingValidation();
1166
1167 // Switch to next transient resource heap.
1168 getCurrentTransientResourceHeap()->finish();
1169 mCurrentTransientResourceHeapIndex = (mCurrentTransientResourceHeapIndex + 1) % kInFlightFrameCount;
1170 mpRenderContext->getLowLevelData()->closeCommandBuffer();
1171 getCurrentTransientResourceHeap()->synchronizeAndReset();
1172 mpRenderContext->getLowLevelData()->openCommandBuffer();
1173
1174 // Signal frame fence for new frame.
1175 mpRenderContext->signal(mpFrameFence.get());
1176
1177 // Release resources from past frames.
1178 executeDeferredReleases();
1179}
1180
1181NativeHandle Device::getNativeHandle(uint32_t index) const
1182{

Callers 3

runTestFunction · 0.45
renderFrameMethod · 0.45
frameMethod · 0.45

Calls 7

closeCommandBufferMethod · 0.80
openCommandBufferMethod · 0.80
submitMethod · 0.45
waitMethod · 0.45
finishMethod · 0.45
signalMethod · 0.45
getMethod · 0.45

Tested by 2

runTestFunction · 0.36
frameMethod · 0.36