|
Krita Source Code Documentation
|
#include <kis_opengl.h>
Classes | |
| struct | RendererConfig |
Public Types | |
| enum | AngleRenderer { AngleRendererDefault = 0x0000 , AngleRendererD3d11 = 0x0002 , AngleRendererD3d9 = 0x0004 , AngleRendererD3d11Warp = 0x0008 } |
| enum | FilterMode { NearestFilterMode , BilinearFilterMode , TrilinearFilterMode , HighQualityFiltering } |
| enum | OpenGLRenderer { RendererNone = 0x00 , RendererAuto = 0x01 , RendererDesktopGL = 0x02 , RendererOpenGLES = 0x04 , RendererSoftware = 0x08 } |
Private Member Functions | |
| KisOpenGL () | |
Static Private Member Functions | |
| static void | fakeInitWindowsOpenGL (KisOpenGL::OpenGLRenderers supportedRenderers, KisOpenGL::OpenGLRenderer preferredByQt) |
This class manages a shared OpenGL context and provides utility functions for checking capabilities and error reporting.
Definition at line 30 of file kis_opengl.h.
| Enumerator | |
|---|---|
| AngleRendererDefault | |
| AngleRendererD3d11 | |
| AngleRendererD3d9 | |
| AngleRendererD3d11Warp | |
Definition at line 49 of file kis_opengl.h.
| Enumerator | |
|---|---|
| NearestFilterMode | |
| BilinearFilterMode | |
| TrilinearFilterMode | |
| HighQualityFiltering | |
Definition at line 33 of file kis_opengl.h.
| Enumerator | |
|---|---|
| RendererNone | |
| RendererAuto | |
| RendererDesktopGL | |
| RendererOpenGLES | |
| RendererSoftware | |
Definition at line 40 of file kis_opengl.h.
|
private |
|
static |
Definition at line 468 of file kis_opengl.cpp.
References RendererAuto, RendererDesktopGL, RendererNone, RendererOpenGLES, and RendererSoftware.
|
static |
Definition at line 452 of file kis_opengl.cpp.
References RendererDesktopGL, RendererNone, RendererOpenGLES, and RendererSoftware.
|
static |
Definition at line 329 of file kis_opengl.cpp.
References initialize().
|
staticprivate |
|
static |
Definition at line 376 of file kis_opengl.cpp.
References initialize().
|
static |
Definition at line 422 of file kis_opengl.cpp.
References RendererAuto.
|
static |
Definition at line 315 of file kis_opengl.cpp.
References initialize().
|
static |
Definition at line 321 of file kis_opengl.cpp.
|
static |
Definition at line 428 of file kis_opengl.cpp.
|
static |
Definition at line 433 of file kis_opengl.cpp.
|
static |
Definition at line 438 of file kis_opengl.cpp.
References convertConfigToOpenGLRenderer().
Definition at line 417 of file kis_opengl.cpp.
|
static |
Check for OpenGL.
Definition at line 1134 of file kis_opengl.cpp.
|
static |
Definition at line 346 of file kis_opengl.cpp.
References initialize().
|
static |
Definition at line 358 of file kis_opengl.cpp.
References initialize().
|
static |
Request OpenGL version 3.2.
The large pixmap cache workaround was originally added to fix the bug 361709 and later extended to all GPU/OS configurations. This setting is still left here in case anyone finds the cached method performing better that the direct drawing of assistants onto the canvas.
See bugs: https://bugs.kde.org/show_bug.cgi?id=361709 https://bugs.kde.org/show_bug.cgi?id=401940
Definition at line 128 of file kis_opengl.cpp.
References KisConfig::ASSISTANTS_DRAW_MODE_LARGE_PIXMAP_CACHE, KisConfig::assistantsDrawMode(), dbgOpenGL, KisConfig::forceOpenGLFenceWorkaround(), KisOpenGL::RendererConfig::format, hasOpenGLES(), KisOpenGLModeProber::instance(), KIS_SAFE_ASSERT_RECOVER_NOOP, KisOpenGLModeProber::probeFormat(), KisConfig::readEntry(), RendererDesktopGL, RendererOpenGLES, and KisUsageLogger::writeSysInfo().
|
static |
Initialize shared OpenGL context.
Definition at line 269 of file kis_opengl.cpp.
References dbgUI, and initialize().
|
static |
Returns true if we have a driver that has bugged support to sync objects (a fence) and false otherwise.
Definition at line 401 of file kis_opengl.cpp.
References initialize().
|
static |
On Windows we always prefer Angle, not what Qt suggests us
Definition at line 881 of file kis_opengl.cpp.
References KisOpenGL::RendererConfig::angleRenderer, AngleRendererDefault, KisSurfaceColorSpaceWrapper::bt2020PQColorSpace, KisConfig::BT709_G10, KisConfig::BT709_G22, dbgDetection, dbgOpenGL, KisSurfaceColorSpaceWrapper::DefaultColorSpace, KisConfig::Depth8Bit, KisOpenGL::RendererConfig::format, KisSurfaceColorSpaceWrapper::fromQtColorSpace(), KisOpenGLModeProber::fuzzyCompareColorSpaces(), KisOpenGLModeProber::instance(), KisOpenGLModeProber::probeFormat(), RendererAuto, RendererDesktopGL, KisOpenGL::RendererConfig::rendererId(), RendererNone, RendererOpenGLES, RendererSoftware, KisSurfaceColorSpaceWrapper::scRGBColorSpace, and KisSurfaceColorSpaceWrapper::sRGBColorSpace.
|
static |
Definition at line 412 of file kis_opengl.cpp.
References value().
|
static |
Definition at line 1113 of file kis_opengl.cpp.
References KisOpenGL::RendererConfig::angleRenderer, KisOpenGLModeProber::angleRendererToString(), KisOpenGL::RendererConfig::format, and KIS_SAFE_ASSERT_RECOVER_NOOP.
|
static |
Definition at line 445 of file kis_opengl.cpp.
References convertOpenGLRendererToConfig().
|
static |
Definition at line 382 of file kis_opengl.cpp.
References initialize().
|
static |
Definition at line 370 of file kis_opengl.cpp.
References initialize().
|
static |
supportsFilter
Definition at line 364 of file kis_opengl.cpp.
References initialize().
|
static |
Definition at line 340 of file kis_opengl.cpp.
References initialize().
|
static |
Definition at line 352 of file kis_opengl.cpp.
References initialize().
|
static |
Definition at line 407 of file kis_opengl.cpp.
References KisConfig::BT709_G22, KisConfig::DepthAuto, RendererAuto, selectSurfaceConfig(), and setDefaultSurfaceConfig().
|
static |
supportsRenderToFBO
Definition at line 395 of file kis_opengl.cpp.
References initialize().
|
static |
Definition at line 388 of file kis_opengl.cpp.
References initialize().