MCPcopy Create free account
hub / github.com/comaps/comaps / UpdateFramebuffers

Method UpdateFramebuffers

libs/drape_frontend/postprocess_renderer.cpp:388–418  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

386}
387
388void PostprocessRenderer::UpdateFramebuffers(ref_ptr<dp::GraphicsContext> context, uint32_t width, uint32_t height)
389{
390 TRACE_SECTION("[drape] PostprocessRenderer::UpdateFramebuffers");
391 ASSERT_NOT_EQUAL(width, 0, ());
392 ASSERT_NOT_EQUAL(height, 0, ());
393
394 CHECK_EQUAL(m_apiVersion, context->GetApiVersion(), ());
395 InitFramebuffer(context, m_mainFramebuffer, width, height, true /* depthEnabled */, true /* stencilEnabled */);
396 m_isMainFramebufferRendered = false;
397
398 m_isSmaaFramebufferRendered = false;
399 if (!m_isRouteFollowingActive && IsEffectEnabled(Effect::Antialiasing))
400 {
401 InitFramebuffer(context, m_edgesFramebuffer, dp::TextureFormat::RedGreen, m_mainFramebuffer->GetDepthStencilRef(),
402 width, height);
403 InitFramebuffer(context, m_blendingWeightFramebuffer, dp::TextureFormat::RGBA8,
404 m_mainFramebuffer->GetDepthStencilRef(), width, height);
405 InitFramebuffer(context, m_smaaFramebuffer, dp::TextureFormat::RGBA8, m_mainFramebuffer->GetDepthStencilRef(),
406 width, height);
407 }
408 else
409 {
410 context->ForgetFramebuffer(make_ref(m_edgesFramebuffer));
411 context->ForgetFramebuffer(make_ref(m_blendingWeightFramebuffer));
412 context->ForgetFramebuffer(make_ref(m_smaaFramebuffer));
413
414 m_edgesFramebuffer.reset();
415 m_blendingWeightFramebuffer.reset();
416 m_smaaFramebuffer.reset();
417 }
418}
419
420bool PostprocessRenderer::OnFramebufferFallback(ref_ptr<dp::GraphicsContext> context)
421{

Callers

nothing calls this directly

Calls 6

InitFramebufferFunction · 0.85
make_refFunction · 0.85
GetDepthStencilRefMethod · 0.80
GetApiVersionMethod · 0.45
ForgetFramebufferMethod · 0.45
resetMethod · 0.45

Tested by

no test coverage detected