|
KiCad PCB EDA Suite
|
#include <gal/gal_modern.h>#include <gal/opengl/gpu_oom_error.h>#include <rhi/rhi_device.h>#include <rhi/rhi_device_proxy.h>#include <rhi/rhi_buffer.h>#include <rhi/rhi_upload_commands.h>#include <rhi/rhi_control_commands.h>#include <rhi/rhi_projection.h>#include <rhi/rhi_cull_runs.h>#include <rhi/render_thread.h>#include <rhi/rhi_platform_device.h>#include <rhi/rhi_glyph_atlas.h>#include <bitmap_base.h>#include <gal/bitmap_texture.h>#include <bezier_curves.h>#include <font/glyph_types.h>#include <geometry/shape_ellipse.h>#include <geometry/shape_line_chain.h>#include <geometry/shape_poly_set.h>#include <hash.h>#include <math/util.h>#include <mmh3_hash.h>#include <algorithm>#include <array>#include <cstring>#include <exception>#include <iterator>#include <tuple>#include <atomic>#include <limits>#include <memory>#include <mutex>#include <cmath>#include <utility>#include <core/utf8.h>#include <trace_helpers.h>#include <wx/log.h>#include "opengl/gl_resources.h"Go to the source code of this file.
Functions | |
| static uint8_t | packColorChannel (double aValue) |
| static void | hashBytes (MMH3_HASH &aHash, const void *aData, size_t aSize) |
| static std::array< uint64_t, 2 > | hashDigest (MMH3_HASH &aHash) |
| template<typename T, typename COUNT> | |
| static void | updateRuns (std::vector< RHI_RUN_BOUNDS > &aRuns, const std::vector< T > &aElements, const std::vector< std::pair< uint32_t, uint32_t > > &aDirty, size_t aCounted, bool aAll, size_t aRunLength, COUNT aCount) |
| static uint16_t | relativeDepth (uint16_t aDepth, float aBase) |
| template<typename POOL> | |
| static void | hashPool (MMH3_HASH &aHash, const POOL &aPool, const std::vector< LAYER_RANGE > &aRanges) |
| template<typename IT> | |
| static void | drawPolylineSegments (GAL_MODERN &aGal, IT aBegin, IT aEnd) |
| template<typename IT> | |
| static SHAPE_LINE_CHAIN | roundedOutline (IT aBegin, IT aEnd) |
| static RHI_INSTANCE | deadInstance () |
| static RHI_VERTEX | deadVertex () |
| static void | fillDead (RHI_INSTANCE *aFirst, uint32_t aCount) |
| static void | fillDead (RHI_VERTEX *aFirst, uint32_t aCount) |
| template<typename ARENA> | |
| static void | markSceneDirty (ARENA &aArena, uint32_t aStart, uint32_t aCount) |
| static size_t | retainedPrefixHash (const RETAINED_GROUP_ORDER &aOrder) |
| template<typename GROUP, typename INSTANCE_FN, typename VERTEX_FN> | |
| static void | forEachElement (GROUP &aGroup, INSTANCE_FN aInstance, VERTEX_FN aVertex) |
| static void | toFloat4 (float *aDest, const COLOR4D &aColor) |
| template<typename QUADS> | |
| static void | appendBitmapDraws (FRAME_DRAW_DESC &aDesc, const QUADS &aQuads) |
| template<typename POOL> | |
| static void | appendPoolRanges (FRAME_DRAW_DESC &aDesc, const POOL &aPool, const std::vector< LAYER_RANGE > &aRanges, std::vector< LAYER_RANGE > &aDest, size_t aAt, uint32_t aBitmapBase) |
| static void | buildDescForPool (FRAME_DRAW_DESC &aDesc, const auto &aPool, const std::vector< LAYER_RANGE > &aRanges) |
|
static |
Definition at line 4025 of file gal_modern.cpp.
References KIGFX::FRAME_DRAW_DESC::bitmapDraws.
Referenced by buildDescForPool(), KIGFX::GAL_MODERN::GetDrawDesc(), and KIGFX::GAL_MODERN::GetDynamicDrawDesc().
|
static |
Definition at line 4038 of file gal_modern.cpp.
References KIGFX::FRAME_DRAW_DESC::count, KIGFX::FRAME_DRAW_DESC::negCount, KIGFX::FRAME_DRAW_DESC::polarityRuns, and KIGFX::RHI_SHAPES.
Referenced by KIGFX::GAL_MODERN::GetDynamicDrawDesc(), and KIGFX::GAL_MODERN::GetStaticDrawDesc().
|
static |
Definition at line 4067 of file gal_modern.cpp.
References appendBitmapDraws(), KIGFX::FRAME_DRAW_DESC::buffer, KIGFX::FRAME_DRAW_DESC::count, KIGFX::FRAME_DRAW_DESC::layerRanges, KIGFX::FRAME_DRAW_DESC::negCount, and KIGFX::FRAME_DRAW_DESC::polarityRuns.
Referenced by KIGFX::GAL_MODERN::GetDynamicDrawDesc(), and KIGFX::GAL_MODERN::GetStaticDrawDesc().
|
static |
Definition at line 2422 of file gal_modern.cpp.
References RHI_INSTANCE::scaleX, RHI_INSTANCE::scaleY, and RHI_INSTANCE::SetColor().
Referenced by fillDead().
|
static |
Definition at line 2433 of file gal_modern.cpp.
References RHI_VERTEX::SetColor().
Referenced by fillDead().
|
static |
Definition at line 155 of file gal_modern.cpp.
References KIGFX::GAL_MODERN::DrawLine(), and IT.
Referenced by KIGFX::GAL_MODERN::DrawPolygon(), KIGFX::GAL_MODERN::DrawPolygon(), KIGFX::GAL_MODERN::DrawPolyline(), KIGFX::GAL_MODERN::DrawPolyline(), and KIGFX::GAL_MODERN::DrawPolyline().
|
static |
Definition at line 2441 of file gal_modern.cpp.
References deadInstance().
Referenced by KIGFX::GAL_MODERN::freeSceneSlot().
|
static |
Definition at line 2447 of file gal_modern.cpp.
References deadVertex().
|
static |
Definition at line 3632 of file gal_modern.cpp.
Referenced by KIGFX::GAL_MODERN::ChangeGroupColor(), KIGFX::GAL_MODERN::ChangeGroupDepth(), and KIGFX::GAL_MODERN::ChangeGroupUndimmed().
|
static |
Definition at line 73 of file gal_modern.cpp.
References MMH3_HASH::addData().
Referenced by KIGFX::GAL_MODERN::computeGroupFingerprint(), KIGFX::GAL_MODERN::DrawBitmap(), and hashPool().
|
static |
Definition at line 79 of file gal_modern.cpp.
References MMH3_HASH::digest(), and HASH_128::Value64.
Referenced by KIGFX::GAL_MODERN::computeGroupFingerprint(), KIGFX::GAL_MODERN::DrawBitmap(), and KIGFX::GAL_MODERN::Flush().
|
static |
Definition at line 131 of file gal_modern.cpp.
References MMH3_HASH::add(), and hashBytes().
Referenced by KIGFX::GAL_MODERN::Flush().
|
static |
Definition at line 2454 of file gal_modern.cpp.
Referenced by KIGFX::GAL_MODERN::allocSceneSlot(), KIGFX::GAL_MODERN::freeSceneSlot(), and KIGFX::GAL_MODERN::writeGroupToScene().
|
inlinestatic |
Definition at line 67 of file gal_modern.cpp.
Referenced by KIGFX::GAL_MODERN::ChangeGroupColor(), KIGFX::GAL_MODERN::DrawBitmap(), KIGFX::GAL_MODERN::drawBitmapGlyphs(), KIGFX::GAL_MODERN::fillVertex(), and KIGFX::GAL_MODERN::makeInstance().
|
static |
Definition at line 122 of file gal_modern.cpp.
References KIGFX::FRAME_DRAW_DESC::RELATIVE_DEPTH_RANGE.
Referenced by KIGFX::GAL_MODERN::Flush(), and KIGFX::GAL_MODERN::writeGroupToScene().
|
static |
Definition at line 2668 of file gal_modern.cpp.
References KIGFX::RETAINED_GROUP_ORDER::bbox, hash_val(), KIGFX::RETAINED_GROUP_ORDER::lodScale, and KIGFX::RETAINED_GROUP_ORDER::priority.
Referenced by KIGFX::GAL_MODERN::placeGroupInScene(), KIGFX::GAL_MODERN::removeGroupFromScene(), and KIGFX::GAL_MODERN::retainedTieOrderChanged().
|
static |
Definition at line 167 of file gal_modern.cpp.
References SHAPE_LINE_CHAIN::Append(), IT, and KiROUND().
Referenced by KIGFX::GAL_MODERN::DrawArc(), KIGFX::GAL_MODERN::DrawPolygon(), and KIGFX::GAL_MODERN::DrawPolygon().
|
static |
Definition at line 4015 of file gal_modern.cpp.
References KIGFX::COLOR4D::a, KIGFX::COLOR4D::b, KIGFX::COLOR4D::g, and KIGFX::COLOR4D::r.
Referenced by KIGFX::GAL_MODERN::GetDynamicDrawDesc(), KIGFX::GAL_MODERN::GetStaticDrawDesc(), KIGFX::GAL_MODERN::PopulateCameraUBOs(), and KIGFX::GAL_MODERN::PopulateCursorUBO().
|
static |
Definition at line 90 of file gal_modern.cpp.
Referenced by KIGFX::GAL_MODERN::Flush(), and KIGFX::GAL_MODERN::updateSceneCullRuns().