#include <KisOpenGLModeProber.h>
Definition at line 49 of file KisOpenGLModeProber.h.
◆ Result()
| KisOpenGLModeProber::Result::Result |
( |
QOpenGLContext & | context | ) |
|
Definition at line 354 of file KisOpenGLModeProber.cpp.
354 {
355 if (!context.isValid()) {
356 return;
357 }
358
359 QOpenGLFunctions *funcs = context.functions();
360
363 m_vendorString = QString(
reinterpret_cast<const char *
>(funcs->glGetString(GL_VENDOR)));
364 m_shadingLanguageString = QString(
reinterpret_cast<const char *
>(funcs->glGetString(GL_SHADING_LANGUAGE_VERSION)));
370 m_supportsFBO = context.functions()->hasOpenGLFeature(QOpenGLFunctions::Framebuffers);
371
374 context.hasExtension("GL_OES_mapbuffer") ||
375 context.hasExtension("GL_EXT_map_buffer_range") ||
376 context.hasExtension("GL_ARB_map_buffer_range");
377
380 context.hasExtension("GL_ARB_invalidate_subdata"));
381 m_supportsLod = context.format().majorVersion() >= 3 || (
m_isOpenGLES && context.hasExtension(
"GL_EXT_shader_texture_lod"));
382
384
386}
bool m_supportsBufferInvalidation
bool m_supportsBufferMapping
QSet< QByteArray > m_extensions
QString m_driverVersionString
QString m_shadingLanguageString
bool m_supportsDeprecatedFunctions
References GL_RENDERER, m_driverVersionString, m_extensions, m_format, m_glMajorVersion, m_glMinorVersion, m_isOpenGLES, m_rendererString, m_shadingLanguageString, m_supportsBufferInvalidation, m_supportsBufferMapping, m_supportsDeprecatedFunctions, m_supportsFBO, m_supportsLod, and m_vendorString.
◆ driverVersionString()
| QString KisOpenGLModeProber::Result::driverVersionString |
( |
| ) |
const |
|
inline |
◆ extensions()
| QSet< QByteArray > KisOpenGLModeProber::Result::extensions |
( |
| ) |
const |
|
inline |
◆ format()
| QSurfaceFormat KisOpenGLModeProber::Result::format |
( |
| ) |
const |
|
inline |
◆ glMajorVersion()
| int KisOpenGLModeProber::Result::glMajorVersion |
( |
| ) |
const |
|
inline |
◆ glMinorVersion()
| int KisOpenGLModeProber::Result::glMinorVersion |
( |
| ) |
const |
|
inline |
◆ hasOpenGL3()
| bool KisOpenGLModeProber::Result::hasOpenGL3 |
( |
| ) |
const |
|
inline |
◆ isOpenGLES()
| bool KisOpenGLModeProber::Result::isOpenGLES |
( |
| ) |
const |
|
inline |
◆ isSupportedVersion()
| bool KisOpenGLModeProber::Result::isSupportedVersion |
( |
| ) |
const |
|
inline |
◆ rendererString()
| QString KisOpenGLModeProber::Result::rendererString |
( |
| ) |
const |
|
inline |
◆ shadingLanguageString()
| QString KisOpenGLModeProber::Result::shadingLanguageString |
( |
| ) |
const |
|
inline |
◆ supportsBufferInvalidation()
| bool KisOpenGLModeProber::Result::supportsBufferInvalidation |
( |
| ) |
const |
|
inline |
◆ supportsBufferMapping()
| bool KisOpenGLModeProber::Result::supportsBufferMapping |
( |
| ) |
const |
|
inline |
◆ supportsDeprecatedFunctions()
| bool KisOpenGLModeProber::Result::supportsDeprecatedFunctions |
( |
| ) |
const |
|
inline |
◆ supportsFBO()
| bool KisOpenGLModeProber::Result::supportsFBO |
( |
| ) |
const |
|
inline |
◆ supportsFenceSync()
| bool KisOpenGLModeProber::Result::supportsFenceSync |
( |
| ) |
const |
|
inline |
◆ supportsLoD()
| bool KisOpenGLModeProber::Result::supportsLoD |
( |
| ) |
const |
|
inline |
◆ supportsVAO()
| bool KisOpenGLModeProber::Result::supportsVAO |
( |
| ) |
const |
|
inline |
Theoretically, we could also test for ARB_vertex_array_object on openGL and OES_vertex_array_object on openGLES and enable this feature for openGL 2.1 as well. But we have no hardware to test if it really works in our code (our VAO code also uses buffers extensively), so we limit this feature to openGL/GLES 3.0 only.
Feel free to test it on the relevant hardware and enable it if needed.
Definition at line 90 of file KisOpenGLModeProber.h.
References m_glMajorVersion, and m_glMinorVersion.
◆ vendorString()
| QString KisOpenGLModeProber::Result::vendorString |
( |
| ) |
const |
|
inline |
◆ m_driverVersionString
| QString KisOpenGLModeProber::Result::m_driverVersionString |
|
private |
◆ m_extensions
| QSet<QByteArray> KisOpenGLModeProber::Result::m_extensions |
|
private |
◆ m_format
| QSurfaceFormat KisOpenGLModeProber::Result::m_format |
|
private |
◆ m_glMajorVersion
| int KisOpenGLModeProber::Result::m_glMajorVersion = 0 |
|
private |
◆ m_glMinorVersion
| int KisOpenGLModeProber::Result::m_glMinorVersion = 0 |
|
private |
◆ m_isOpenGLES
| bool KisOpenGLModeProber::Result::m_isOpenGLES = false |
|
private |
◆ m_rendererString
| QString KisOpenGLModeProber::Result::m_rendererString |
|
private |
◆ m_shadingLanguageString
| QString KisOpenGLModeProber::Result::m_shadingLanguageString |
|
private |
◆ m_supportsBufferInvalidation
| bool KisOpenGLModeProber::Result::m_supportsBufferInvalidation = false |
|
private |
◆ m_supportsBufferMapping
| bool KisOpenGLModeProber::Result::m_supportsBufferMapping = false |
|
private |
◆ m_supportsDeprecatedFunctions
| bool KisOpenGLModeProber::Result::m_supportsDeprecatedFunctions = false |
|
private |
◆ m_supportsFBO
| bool KisOpenGLModeProber::Result::m_supportsFBO = false |
|
private |
◆ m_supportsLod
| bool KisOpenGLModeProber::Result::m_supportsLod = false |
|
private |
◆ m_vendorString
| QString KisOpenGLModeProber::Result::m_vendorString |
|
private |
The documentation for this class was generated from the following files: