KiCad PCB EDA Suite
Loading...
Searching...
No Matches
render_thread.cpp File Reference
#include <rhi/render_thread.h>
#include <rhi/rhi_device.h>
#include <rhi/rhi_glyph_atlas.h>
#include <rhi/rhi_vertex.h>
#include <rhi/rhi_buffer.h>
#include <rhi/rhi_present_mode.h>
#include <rhi/rhi_supersample.h>
#include <rhi/layer_draw_plan.h>
#include <rhi/rhi_cull_runs.h>
#include <advanced_config.h>
#include <core/profile.h>
#include <kiplatform/app.h>
#include <trace_helpers.h>
#include <wx/image.h>
#include <wx/log.h>
#include <algorithm>
#include <cmath>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <future>
#include <string>
#include <vector>

Go to the source code of this file.

Classes

struct  MARGIN_PLAN
 

Namespaces

namespace  KIGFX
 The Cairo implementation of the graphics abstraction layer.
 

Functions

static long long WindowStateAgeMs (KIGFX::WINDOW_STATE::Clock::time_point aThen, KIGFX::WINDOW_STATE::Clock::time_point aNow)
 
static double WindowStateDurationMs (KIGFX::WINDOW_STATE::Clock::time_point aStart, KIGFX::WINDOW_STATE::Clock::time_point aEnd)
 
static RHI_FRAMEBUFFER_DESC layerFramebufferDesc (const KIGFX::WINDOW_STATE &aWS)
 
static void destroyDiffCopies (RHI_DEVICE &aDevice, KIGFX::WINDOW_STATE &aWS)
 
static uint32_t staticMarginFor (const KIGFX::WINDOW_STATE &aWS, uint32_t aMaxTextureSize)
 
static uint32_t fitSupersampleFactor (uint32_t aRequested, const KIGFX::WINDOW_STATE &aWS, uint32_t aMaxTextureSize)
 
static MARGIN_PLAN planMarginTarget (const KIGFX::WINDOW_STATE::RENDERED_CONTENT &aDrawn, uint64_t aEpoch, const KIGFX::FRAME_DRAW_DESC &aNow, uint32_t aMargin, bool aDrawsGrid)
 
static COMPOSITOR_LAYER marginLayer (const KIGFX::WINDOW_STATE &aWS, RHI_FramebufferHandle aFBO, const KIGFX::RHI_VIEW_SHIFT &aShift)
 
static RHI_FRAMEBUFFER_DESC marginFramebufferDesc (const KIGFX::WINDOW_STATE &aWS)
 
static bool ShouldRetrySwapchainCreate (const KIGFX::WINDOW_STATE &aWS, KIGFX::WINDOW_STATE::Clock::time_point aNow, std::chrono::milliseconds aBackoff=std::chrono::milliseconds(250))
 

Function Documentation

◆ destroyDiffCopies()

◆ fitSupersampleFactor()

static uint32_t fitSupersampleFactor ( uint32_t aRequested,
const KIGFX::WINDOW_STATE & aWS,
uint32_t aMaxTextureSize )
static

◆ layerFramebufferDesc()

◆ marginFramebufferDesc()

◆ marginLayer()

◆ planMarginTarget()

◆ ShouldRetrySwapchainCreate()

static bool ShouldRetrySwapchainCreate ( const KIGFX::WINDOW_STATE & aWS,
KIGFX::WINDOW_STATE::Clock::time_point aNow,
std::chrono::milliseconds aBackoff = std::chrono::milliseconds( 250 ) )
static

◆ staticMarginFor()

◆ WindowStateAgeMs()

static long long WindowStateAgeMs ( KIGFX::WINDOW_STATE::Clock::time_point aThen,
KIGFX::WINDOW_STATE::Clock::time_point aNow )
static

◆ WindowStateDurationMs()

static double WindowStateDurationMs ( KIGFX::WINDOW_STATE::Clock::time_point aStart,
KIGFX::WINDOW_STATE::Clock::time_point aEnd )
static

Definition at line 75 of file render_thread.cpp.

Referenced by KIGFX::RENDER_THREAD::RenderWindow().