|
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 } |
| enum | XcbGLProviderProtocol { XCB_GLX = 0 , XCB_EGL } |
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.
| Enumerator | |
|---|---|
| XCB_GLX | |
| XCB_EGL | |
Definition at line 63 of file kis_opengl.h.
|
private |
|
static |
Definition at line 487 of file kis_opengl.cpp.
References RendererAuto, RendererDesktopGL, RendererNone, RendererOpenGLES, and RendererSoftware.
|
static |
Definition at line 471 of file kis_opengl.cpp.
References RendererDesktopGL, RendererNone, RendererOpenGLES, and RendererSoftware.
|
static |
Definition at line 342 of file kis_opengl.cpp.
References initialize().
|
staticprivate |
|
static |
Definition at line 389 of file kis_opengl.cpp.
References initialize().
|
static |
Definition at line 441 of file kis_opengl.cpp.
References RendererAuto.
|
static |
Definition at line 328 of file kis_opengl.cpp.
References initialize().
|
static |
Definition at line 334 of file kis_opengl.cpp.
|
static |
Definition at line 447 of file kis_opengl.cpp.
|
static |
Definition at line 452 of file kis_opengl.cpp.
|
static |
Definition at line 457 of file kis_opengl.cpp.
References convertConfigToOpenGLRenderer().
Definition at line 436 of file kis_opengl.cpp.
|
static |
Check for OpenGL.
Definition at line 1206 of file kis_opengl.cpp.
|
static |
Definition at line 359 of file kis_opengl.cpp.
References initialize().
|
static |
Definition at line 371 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 137 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, KisUsageLogger::writeSysInfo(), and XCB_EGL.
|
static |
Initialize shared OpenGL context.
Definition at line 282 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 420 of file kis_opengl.cpp.
References initialize().
|
static |
On Windows we always prefer Angle, not what Qt suggests us
Definition at line 904 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 431 of file kis_opengl.cpp.
References value().
|
static |
Definition at line 1185 of file kis_opengl.cpp.
References KisOpenGL::RendererConfig::angleRenderer, KisOpenGLModeProber::angleRendererToString(), KisOpenGL::RendererConfig::format, and KIS_SAFE_ASSERT_RECOVER_NOOP.
|
static |
Definition at line 464 of file kis_opengl.cpp.
References convertOpenGLRendererToConfig().
|
static |
Definition at line 395 of file kis_opengl.cpp.
References initialize().
|
static |
Definition at line 383 of file kis_opengl.cpp.
References initialize().
|
static |
supportsFilter
Definition at line 377 of file kis_opengl.cpp.
References initialize().
|
static |
Definition at line 353 of file kis_opengl.cpp.
References initialize().
|
static |
Definition at line 365 of file kis_opengl.cpp.
References initialize().
|
static |
Definition at line 426 of file kis_opengl.cpp.
References KisConfig::BT709_G22, KisConfig::DepthAuto, RendererAuto, selectSurfaceConfig(), and setDefaultSurfaceConfig().
|
static |
supportsRenderToFBO
Definition at line 408 of file kis_opengl.cpp.
References initialize().
|
static |
Definition at line 401 of file kis_opengl.cpp.
References initialize().
|
static |
Definition at line 414 of file kis_opengl.cpp.
References initialize().