aboutsummaryrefslogtreecommitdiffstats
path: root/sources/pyside6/PySide6/QtOpenGL
diff options
context:
space:
mode:
Diffstat (limited to 'sources/pyside6/PySide6/QtOpenGL')
-rw-r--r--sources/pyside6/PySide6/QtOpenGL/CMakeLists.txt100
-rw-r--r--sources/pyside6/PySide6/QtOpenGL/QtOpenGL_global.post.h.in35
-rw-r--r--sources/pyside6/PySide6/QtOpenGL/glue/utils.cpp40
-rw-r--r--sources/pyside6/PySide6/QtOpenGL/typesystem_glgeti_v_includes.xml1
-rw-r--r--sources/pyside6/PySide6/QtOpenGL/typesystem_glgeti_v_modifications.xml18
-rw-r--r--sources/pyside6/PySide6/QtOpenGL/typesystem_glgetv_includes.xml5
-rw-r--r--sources/pyside6/PySide6/QtOpenGL/typesystem_glgetv_modifications.xml36
-rw-r--r--sources/pyside6/PySide6/QtOpenGL/typesystem_opengl.xml723
-rw-r--r--sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications1_0.xml15
-rw-r--r--sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications1_0_compat.xml67
-rw-r--r--sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications1_1.xml8
-rw-r--r--sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications1_1_compat.xml11
-rw-r--r--sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications1_2_compat.xml10
-rw-r--r--sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications1_3_compat.xml10
-rw-r--r--sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications1_4.xml11
-rw-r--r--sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications1_4_compat.xml13
-rw-r--r--sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications2_0.xml13
-rw-r--r--sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications2_0_compat.xml1
-rw-r--r--sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications2_1.xml7
-rw-r--r--sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications3_0.xml10
-rw-r--r--sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications3_3.xml10
-rw-r--r--sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications3_3a.xml21
-rw-r--r--sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications4_0.xml10
-rw-r--r--sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications4_1.xml40
-rw-r--r--sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications4_3.xml7
-rw-r--r--sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications4_4.xml20
-rw-r--r--sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications4_4_core.xml7
-rw-r--r--sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications4_5.xml21
-rw-r--r--sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications4_5_core.xml5
-rw-r--r--sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications_va.xml7
30 files changed, 1282 insertions, 0 deletions
diff --git a/sources/pyside6/PySide6/QtOpenGL/CMakeLists.txt b/sources/pyside6/PySide6/QtOpenGL/CMakeLists.txt
new file mode 100644
index 000000000..5bf8b5f3b
--- /dev/null
+++ b/sources/pyside6/PySide6/QtOpenGL/CMakeLists.txt
@@ -0,0 +1,100 @@
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: BSD-3-Clause
+
+project(QtOpenGL)
+
+set(QtOpenGL_DROPPED_ENTRIES)
+
+set(QtOpenGL_static_sources
+ "${QtOpenGL_SOURCE_DIR}/glue/utils.cpp"
+)
+
+set(QtOpenGL_SRC
+${QtOpenGL_GEN_DIR}/qabstractopenglfunctions_wrapper.cpp
+${QtOpenGL_GEN_DIR}/qopengldebuglogger_wrapper.cpp
+${QtOpenGL_GEN_DIR}/qopengldebugmessage_wrapper.cpp
+${QtOpenGL_GEN_DIR}/qopenglframebufferobjectformat_wrapper.cpp
+${QtOpenGL_GEN_DIR}/qopenglpaintdevice_wrapper.cpp
+${QtOpenGL_GEN_DIR}/qopenglpixeltransferoptions_wrapper.cpp
+${QtOpenGL_GEN_DIR}/qopenglshaderprogram_wrapper.cpp
+${QtOpenGL_GEN_DIR}/qopengltexture_wrapper.cpp
+${QtOpenGL_GEN_DIR}/qopengltextureblitter_wrapper.cpp
+${QtOpenGL_GEN_DIR}/qopenglversionprofile_wrapper.cpp
+${QtOpenGL_GEN_DIR}/qopenglvertexarrayobject_wrapper.cpp
+${QtOpenGL_GEN_DIR}/qopenglvertexarrayobject_binder_wrapper.cpp
+${QtOpenGL_GEN_DIR}/qopenglwindow_wrapper.cpp
+${QtOpenGL_GEN_DIR}/qopenglbuffer_wrapper.cpp
+${QtOpenGL_GEN_DIR}/qopenglshader_wrapper.cpp
+${QtOpenGL_GEN_DIR}/qopenglframebufferobject_wrapper.cpp
+# module is always needed
+${QtOpenGL_GEN_DIR}/qtopengl_module_wrapper.cpp
+)
+
+get_property(QtGui_enabled_features TARGET Qt${QT_MAJOR_VERSION}::Gui
+ PROPERTY QT_ENABLED_PUBLIC_FEATURES)
+
+if("opengles2" IN_LIST QtGui_enabled_features)
+ list(APPEND QtOpenGL_DROPPED_ENTRIES QOpenGLTimeMonitor QOpenGLTimerQuery
+ QOpenGLVersionFunctionsFactory)
+ list(APPEND QtOpenGL_SRC ${QtOpenGL_GEN_DIR}/qopenglfunctions_es2_wrapper.cpp)
+ message(STATUS "Qt${QT_MAJOR_VERSION}Gui: Dropping Desktop OpenGL classes (GLES2)")
+else()
+ list(APPEND QtOpenGL_DROPPED_ENTRIES QOpenGLFunctions_ES2)
+ list(APPEND QtOpenGL_SRC
+ ${QtOpenGL_GEN_DIR}/qopenglfunctions_1_0_wrapper.cpp
+ ${QtOpenGL_GEN_DIR}/qopenglfunctions_1_1_wrapper.cpp
+ ${QtOpenGL_GEN_DIR}/qopenglfunctions_1_2_wrapper.cpp
+ ${QtOpenGL_GEN_DIR}/qopenglfunctions_1_3_wrapper.cpp
+ ${QtOpenGL_GEN_DIR}/qopenglfunctions_1_4_wrapper.cpp
+ ${QtOpenGL_GEN_DIR}/qopenglfunctions_1_5_wrapper.cpp
+ ${QtOpenGL_GEN_DIR}/qopenglfunctions_2_0_wrapper.cpp
+ ${QtOpenGL_GEN_DIR}/qopenglfunctions_2_1_wrapper.cpp
+ ${QtOpenGL_GEN_DIR}/qopenglfunctions_3_0_wrapper.cpp
+ ${QtOpenGL_GEN_DIR}/qopenglfunctions_3_1_wrapper.cpp
+ ${QtOpenGL_GEN_DIR}/qopenglfunctions_3_2_compatibility_wrapper.cpp
+ ${QtOpenGL_GEN_DIR}/qopenglfunctions_3_2_core_wrapper.cpp
+ ${QtOpenGL_GEN_DIR}/qopenglfunctions_3_3_compatibility_wrapper.cpp
+ ${QtOpenGL_GEN_DIR}/qopenglfunctions_3_3_core_wrapper.cpp
+ ${QtOpenGL_GEN_DIR}/qopenglfunctions_4_0_compatibility_wrapper.cpp
+ ${QtOpenGL_GEN_DIR}/qopenglfunctions_4_0_core_wrapper.cpp
+ ${QtOpenGL_GEN_DIR}/qopenglfunctions_4_1_compatibility_wrapper.cpp
+ ${QtOpenGL_GEN_DIR}/qopenglfunctions_4_1_core_wrapper.cpp
+ ${QtOpenGL_GEN_DIR}/qopenglfunctions_4_2_compatibility_wrapper.cpp
+ ${QtOpenGL_GEN_DIR}/qopenglfunctions_4_2_core_wrapper.cpp
+ ${QtOpenGL_GEN_DIR}/qopenglfunctions_4_3_compatibility_wrapper.cpp
+ ${QtOpenGL_GEN_DIR}/qopenglfunctions_4_3_core_wrapper.cpp
+ ${QtOpenGL_GEN_DIR}/qopenglfunctions_4_4_compatibility_wrapper.cpp
+ ${QtOpenGL_GEN_DIR}/qopenglfunctions_4_4_core_wrapper.cpp
+ ${QtOpenGL_GEN_DIR}/qopenglfunctions_4_5_compatibility_wrapper.cpp
+ ${QtOpenGL_GEN_DIR}/qopenglfunctions_4_5_core_wrapper.cpp
+ ${QtOpenGL_GEN_DIR}/qopenglversionfunctionsfactory_wrapper.cpp
+ ${QtOpenGL_GEN_DIR}/qopengltimemonitor_wrapper.cpp
+ ${QtOpenGL_GEN_DIR}/qopengltimerquery_wrapper.cpp)
+ message(STATUS "Qt${QT_MAJOR_VERSION}OpenGL: Adding Desktop OpenGL classes")
+endif()
+
+
+configure_file("${QtOpenGL_SOURCE_DIR}/QtOpenGL_global.post.h.in"
+ "${QtOpenGL_BINARY_DIR}/QtOpenGL_global.post.h" @ONLY)
+
+set(QtOpenGL_include_dirs ${QtOpenGL_SOURCE_DIR}
+ ${Qt${QT_MAJOR_VERSION}Core_INCLUDE_DIRS}
+ ${Qt${QT_MAJOR_VERSION}Gui_INCLUDE_DIRS}
+ ${Qt${QT_MAJOR_VERSION}OpenGL_INCLUDE_DIRS}
+ ${libpyside_SOURCE_DIR}
+ ${QtCore_GEN_DIR}
+ ${QtGui_GEN_DIR}
+ ${QtOpenGL_GEN_DIR}
+ )
+set(QtOpenGL_libraries pyside6
+ ${Qt${QT_MAJOR_VERSION}OpenGL_LIBRARIES})
+set(QtOpenGL_deps QtGui)
+
+create_pyside_module(NAME QtOpenGL
+ INCLUDE_DIRS QtOpenGL_include_dirs
+ LIBRARIES QtOpenGL_libraries
+ DEPS QtOpenGL_deps
+ TYPESYSTEM_PATH QtOpenGL_SOURCE_DIR
+ SOURCES QtOpenGL_SRC
+ STATIC_SOURCES QtOpenGL_static_sources
+ DROPPED_ENTRIES QtOpenGL_DROPPED_ENTRIES)
diff --git a/sources/pyside6/PySide6/QtOpenGL/QtOpenGL_global.post.h.in b/sources/pyside6/PySide6/QtOpenGL/QtOpenGL_global.post.h.in
new file mode 100644
index 000000000..571b245a3
--- /dev/null
+++ b/sources/pyside6/PySide6/QtOpenGL/QtOpenGL_global.post.h.in
@@ -0,0 +1,35 @@
+// Copyright (C) 2021 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
+#include <QtGui/qtgui-config.h>
+
+#if QT_CONFIG(opengles2)
+# include <QtOpenGL/qopenglfunctions_es2.h>
+#elif QT_CONFIG(opengl)
+# include <QtOpenGL/qopenglfunctions_1_0.h>
+# include <QtOpenGL/qopenglfunctions_1_1.h>
+# include <QtOpenGL/qopenglfunctions_1_2.h>
+# include <QtOpenGL/qopenglfunctions_1_3.h>
+# include <QtOpenGL/qopenglfunctions_1_4.h>
+# include <QtOpenGL/qopenglfunctions_1_5.h>
+# include <QtOpenGL/qopenglfunctions_2_0.h>
+# include <QtOpenGL/qopenglfunctions_2_1.h>
+# include <QtOpenGL/qopenglfunctions_3_0.h>
+# include <QtOpenGL/qopenglfunctions_3_1.h>
+# include <QtOpenGL/qopenglfunctions_3_2_compatibility.h>
+# include <QtOpenGL/qopenglfunctions_3_2_core.h>
+# include <QtOpenGL/qopenglfunctions_3_3_compatibility.h>
+# include <QtOpenGL/qopenglfunctions_3_3_core.h>
+# include <QtOpenGL/qopenglfunctions_4_0_compatibility.h>
+# include <QtOpenGL/qopenglfunctions_4_0_core.h>
+# include <QtOpenGL/qopenglfunctions_4_1_compatibility.h>
+# include <QtOpenGL/qopenglfunctions_4_1_core.h>
+# include <QtOpenGL/qopenglfunctions_4_2_compatibility.h>
+# include <QtOpenGL/qopenglfunctions_4_2_core.h>
+# include <QtOpenGL/qopenglfunctions_4_3_compatibility.h>
+# include <QtOpenGL/qopenglfunctions_4_3_core.h>
+# include <QtOpenGL/qopenglfunctions_4_4_compatibility.h>
+# include <QtOpenGL/qopenglfunctions_4_4_core.h>
+# include <QtOpenGL/qopenglfunctions_4_5_compatibility.h>
+# include <QtOpenGL/qopenglfunctions_4_5_core.h>
+# include <QtOpenGL/qopenglversionfunctionsfactory.h>
+#endif
diff --git a/sources/pyside6/PySide6/QtOpenGL/glue/utils.cpp b/sources/pyside6/PySide6/QtOpenGL/glue/utils.cpp
new file mode 100644
index 000000000..27a8a9fdf
--- /dev/null
+++ b/sources/pyside6/PySide6/QtOpenGL/glue/utils.cpp
@@ -0,0 +1,40 @@
+// Copyright (C) 2022 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+#include <QtGui/QOpenGLFunctions>
+
+// Return the number of return values of the glGetBoolean/Double/Integerv functions
+// cf https://registry.khronos.org/OpenGL-Refpages/gl4/html/glGet.xhtml
+int glGetVReturnSize(GLenum pname)
+{
+ switch (pname) {
+ case GL_ALIASED_LINE_WIDTH_RANGE:
+ case GL_DEPTH_RANGE:
+ case GL_MAX_VIEWPORT_DIMS:
+#if !QT_CONFIG(opengles2)
+ case GL_POINT_SIZE_RANGE:
+ case GL_SMOOTH_LINE_WIDTH_RANGE:
+ case GL_VIEWPORT_BOUNDS_RANGE:
+#endif
+ return 2;
+ case GL_BLEND_COLOR:
+ case GL_COLOR_CLEAR_VALUE:
+ case GL_COLOR_WRITEMASK:
+ case GL_SCISSOR_BOX:
+ case GL_VIEWPORT:
+ return 4;
+ case GL_COMPRESSED_TEXTURE_FORMATS:
+ return GL_NUM_COMPRESSED_TEXTURE_FORMATS;
+ default:
+ break;
+ }
+ return 1;
+}
+
+// Return the number of return values of the indexed
+// glGetBoolean/Double/Integeri_v functions
+// cf https://registry.khronos.org/OpenGL-Refpages/gl4/html/glGet.xhtml
+int glGetI_VReturnSize(GLenum pname)
+{
+ return pname == GL_VIEWPORT ? 4 : 1;
+}
diff --git a/sources/pyside6/PySide6/QtOpenGL/typesystem_glgeti_v_includes.xml b/sources/pyside6/PySide6/QtOpenGL/typesystem_glgeti_v_includes.xml
new file mode 100644
index 000000000..56ff7bcda
--- /dev/null
+++ b/sources/pyside6/PySide6/QtOpenGL/typesystem_glgeti_v_includes.xml
@@ -0,0 +1 @@
+<inject-code class="native" position="beginning" file="../glue/qtopengl.cpp" snippet="glgeti-vreturnsize_declaration"/>
diff --git a/sources/pyside6/PySide6/QtOpenGL/typesystem_glgeti_v_modifications.xml b/sources/pyside6/PySide6/QtOpenGL/typesystem_glgeti_v_modifications.xml
new file mode 100644
index 000000000..f0e6084cf
--- /dev/null
+++ b/sources/pyside6/PySide6/QtOpenGL/typesystem_glgeti_v_modifications.xml
@@ -0,0 +1,18 @@
+<modify-function signature="glGetBooleani_v(GLenum,GLuint,GLboolean*)">
+ <modify-argument index="return" pyi-type="Union[bool,numpy.ndarray]">
+ <replace-type modified-type="PyObject"/>
+ </modify-argument>
+ <modify-argument index="3">
+ <remove-argument/>
+ </modify-argument>
+ <inject-code class="target" position="beginning" file="../glue/qtgui.cpp" snippet="qopenglextrafunctions-glgetbooleani-v"/>
+</modify-function>
+<modify-function signature="glGetIntegeri_v(GLenum,GLuint,GLint*)">
+ <modify-argument index="return" pyi-type="Union[int,numpy.ndarray]">
+ <replace-type modified-type="PyObject"/>
+ </modify-argument>
+ <modify-argument index="3">
+ <remove-argument/>
+ </modify-argument>
+ <inject-code class="target" position="beginning" file="../glue/qtgui.cpp" snippet="qopenglextrafunctions-glgetintegeri-v"/>
+</modify-function>
diff --git a/sources/pyside6/PySide6/QtOpenGL/typesystem_glgetv_includes.xml b/sources/pyside6/PySide6/QtOpenGL/typesystem_glgetv_includes.xml
new file mode 100644
index 000000000..3f48f19b8
--- /dev/null
+++ b/sources/pyside6/PySide6/QtOpenGL/typesystem_glgetv_includes.xml
@@ -0,0 +1,5 @@
+<extra-includes>
+ <include file-name="QtCore/QVarLengthArray" location="global"/>
+ <include file-name="sbkcpptonumpy.h" location="global"/>
+</extra-includes>
+<inject-code class="native" position="beginning" file="../glue/qtopengl.cpp" snippet="glgetvreturnsize_declaration"/>
diff --git a/sources/pyside6/PySide6/QtOpenGL/typesystem_glgetv_modifications.xml b/sources/pyside6/PySide6/QtOpenGL/typesystem_glgetv_modifications.xml
new file mode 100644
index 000000000..b5fab57ba
--- /dev/null
+++ b/sources/pyside6/PySide6/QtOpenGL/typesystem_glgetv_modifications.xml
@@ -0,0 +1,36 @@
+<modify-function signature="glGetBooleanv(GLenum,GLboolean*)">
+ <modify-argument index="return" pyi-type="Union[bool,numpy.ndarray]">
+ <replace-type modified-type="PyObject"/>
+ </modify-argument>
+ <modify-argument index="2">
+ <remove-argument/>
+ </modify-argument>
+ <inject-code class="target" position="beginning" file="../glue/qtgui.cpp" snippet="qopenglfunctions-glgetbooleanv"/>
+</modify-function>
+<modify-function signature="glGetDoublev(GLenum,GLdouble*)">
+ <modify-argument index="return" pyi-type="Union[float,numpy.ndarray]">
+ <replace-type modified-type="PyObject"/>
+ </modify-argument>
+ <modify-argument index="2">
+ <remove-argument/>
+ </modify-argument>
+ <inject-code class="target" position="beginning" file="../glue/qtgui.cpp" snippet="qopenglfunctions-glgetdoublev"/>
+</modify-function>
+<modify-function signature="glGetFloatv(GLenum,GLfloat*)">
+ <modify-argument index="return" pyi-type="Union[float,numpy.ndarray]">
+ <replace-type modified-type="PyObject"/>
+ </modify-argument>
+ <modify-argument index="2">
+ <remove-argument/>
+ </modify-argument>
+ <inject-code class="target" position="beginning" file="../glue/qtgui.cpp" snippet="qopenglfunctions-glgetfloatv"/>
+</modify-function>
+<modify-function signature="glGetIntegerv(GLenum,GLint*)">
+ <modify-argument index="return" pyi-type="Union[int,numpy.ndarray]">
+ <replace-type modified-type="PyObject"/>
+ </modify-argument>
+ <modify-argument index="2">
+ <remove-argument/>
+ </modify-argument>
+ <inject-code class="target" position="beginning" file="../glue/qtgui.cpp" snippet="qopenglfunctions-glgetintegerv"/>
+</modify-function>
diff --git a/sources/pyside6/PySide6/QtOpenGL/typesystem_opengl.xml b/sources/pyside6/PySide6/QtOpenGL/typesystem_opengl.xml
new file mode 100644
index 000000000..efbd16056
--- /dev/null
+++ b/sources/pyside6/PySide6/QtOpenGL/typesystem_opengl.xml
@@ -0,0 +1,723 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+// Copyright (C) 2021 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+-->
+<typesystem package="PySide6.QtOpenGL"
+ namespace-begin="QT_BEGIN_NAMESPACE" namespace-end="QT_END_NAMESPACE">
+ <load-typesystem name="QtCore/typesystem_core.xml" generate="no" />
+ <load-typesystem name="QtGui/typesystem_gui.xml" generate="no" />
+ <load-typesystem name="templates/opengl_common.xml" generate="no" />
+
+ <rejection class="^QOpenGL.*$" argument-type="^const GLboolean ?\*$"/>
+ <rejection class="^QOpenGL.*$" argument-type="^GLchar\*$"/>
+ <rejection class="^QOpenGL.*$" argument-type="^(const )?GLchar ?\*(const)?\*$"/>
+ <rejection class="^QOpenGL.*$" argument-type="^char\*$"/>
+ <rejection class="^QOpenGL.*$" argument-type="^(const )?char ?\*\*$"/>
+ <rejection class="^QOpenGL.*$" argument-type="GLintptr"/>
+ <rejection class="^QOpenGL.*$" argument-type="GLsizeiptr"/>
+ <rejection class="^QOpenGL.*$" argument-type="GLsync"/>
+ <rejection class="^QOpenGL.*$" argument-type="^GLubyte( const)?\*$"/>
+ <rejection class="^QOpenGL.*$" argument-type="^(const )?QMatrix.x. ?\*$"/>
+ <rejection class="^QOpenGL.*$" argument-type="qopengl_GLintptr"/>
+ <rejection class="^QOpenGL.*$" argument-type="qopengl_GLsizeiptr"/>
+ <rejection class="^QOpenGL.*$" argument-type="QOpenGLTextureHelper*"/>
+ <rejection class="^QOpenGL.*$" argument-type="^(const )?QVector.D ?\*$"/>
+ <rejection class="^QOpenGL.*$" argument-type="^(const )?void ?\*\*$"/>
+
+ <!-- Reject any non-const array of the version functions -->
+ <rejection class="^QOpenGLFunctions.*$" function-name="^glGet(Buffer|VertexAttrib)?Pointer.*$"/>
+ <rejection class="^QOpenGLFunctions.*$" function-name="^glMultiDrawElements.*$"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glAreTexturesResident"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glCreateBuffers"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glCreateFramebuffers"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glCreateProgramPipelines"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glCreateQueries"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glCreateRenderbuffers"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glCreateSamplers"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glCreateTextures"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glCreateTransformFeedbacks"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glCreateVertexArrays"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glFeedbackBuffer"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGenBuffers"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGenFramebuffers"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGenProgramPipelines"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGenQueries"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGenRenderbuffers"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGenSamplers"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGenTextures"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGenTransformFeedbacks"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGenVertexArrays"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGetActiveAtomicCounterBufferiv"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGetActiveSubroutineUniformiv"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGetActiveUniformBlockiv"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGetActiveUniformsiv"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGetAttachedShaders"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGetBufferParameteriv"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGetClipPlane"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGetColorTableParameterfv"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGetColorTableParameteriv"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGetConvolutionParameterfv"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGetConvolutionParameteriv"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGetFramebufferAttachmentParameteriv"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGetFramebufferParameteriv"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGetHistogramParameterfv"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGetHistogramParameteriv"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGetInternalformativ"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGetLightfv"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGetLightiv"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGetMapdv"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGetMapfv"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGetMapiv"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGetMaterialfv"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGetMaterialiv"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGetMinmaxParameterfv"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGetMinmaxParameteriv"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGetMultisamplefv"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGetNamedBufferParameteriv"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGetNamedFramebufferAttachmentParameteriv"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGetNamedFramebufferParameteriv"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGetNamedRenderbufferParameteriv"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGetnMapdv"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGetnMapfv"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGetnMapiv"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGetnPixelMapfv"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGetnPixelMapuiv"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGetnPixelMapusv"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGetnUniformdv"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGetnUniformfv"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGetnUniformiv"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGetnUniformuiv"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGetPixelMapfv"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGetPixelMapuiv"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGetPixelMapusv"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGetProgramInterfaceiv"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGetProgramiv"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGetProgramPipelineiv"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGetProgramResourceiv"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGetProgramStageiv"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGetQueryIndexediv"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGetQueryiv"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGetQueryObjectiv"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGetQueryObjectuiv"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGetRenderbufferParameteriv"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGetSamplerParameterfv"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGetSamplerParameterIiv"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGetSamplerParameterIuiv"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGetSamplerParameteriv"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGetShaderiv"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGetShaderPrecisionFormat"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGetTexEnvfv"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGetTexEnviv"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGetTexGendv"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGetTexGenfv"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGetTexGeniv"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGetTexLevelParameterfv"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGetTexLevelParameteriv"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGetTexParameterfv"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGetTexParameterIiv"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGetTexParameterIuiv"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGetTexParameteriv"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGetTextureLevelParameterfv"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGetTextureLevelParameteriv"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGetTextureParameterfv"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGetTextureParameterIiv"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGetTextureParameterIuiv"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGetTextureParameteriv"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGetTransformFeedbacki_v"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGetTransformFeedbackiv"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGetUniformdv"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGetUniformfv"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGetUniformiv"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGetUniformSubroutineuiv"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGetUniformuiv"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGetVertexArrayIndexediv"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGetVertexArrayiv"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGetVertexAttribdv"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGetVertexAttribfv"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGetVertexAttribIiv"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGetVertexAttribIuiv"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGetVertexAttribiv"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glGetVertexAttribLdv"/>
+ <rejection class="^QOpenGLFunctions_\d_\d.*$" function-name="glSelectBuffer"/>
+
+ <object-type name="QOpenGLBuffer">
+ <enum-type name="Access"/>
+ <enum-type name="RangeAccessFlag" flags="RangeAccessFlags"/>
+ <enum-type name="Type"/>
+ <enum-type name="UsagePattern"/>
+ <modify-function signature="allocate(const void*,int)">
+ <modify-argument index="1" pyi-type="bytes"/>
+ </modify-function>
+ </object-type>
+ <object-type name="QOpenGLDebugLogger">
+ <enum-type name="LoggingMode"/>
+ </object-type>
+ <value-type name="QOpenGLDebugMessage">
+ <enum-type name="Source" flags="Sources"/>
+ <enum-type name="Type" flags="Types"/>
+ <enum-type name="Severity" flags="Severities"/>
+ </value-type>
+
+ <object-type name="QOpenGLFunctions_1_0">
+ &glgetv_includes;
+ &glgetv_modifications;
+ &opengl_modifications1_0;
+ &opengl_modifications1_0_compat;
+ </object-type>
+ <object-type name="QOpenGLFunctions_1_1">
+ &glgetv_includes;
+ &glgetv_modifications;
+ &opengl_modifications1_0;
+ &opengl_modifications1_0_compat;
+ &opengl_modifications1_1;
+ &opengl_modifications1_1_compat;
+ </object-type>
+ <object-type name="QOpenGLFunctions_1_2">
+ &glgetv_includes;
+ &glgetv_modifications;
+ &opengl_modifications1_0;
+ &opengl_modifications1_0_compat;
+ &opengl_modifications1_1;
+ &opengl_modifications1_1_compat;
+ &opengl_modifications1_2_compat;
+ </object-type>
+ <object-type name="QOpenGLFunctions_1_3">
+ &glgetv_includes;
+ &glgetv_modifications;
+ &opengl_modifications1_0;
+ &opengl_modifications1_0_compat;
+ &opengl_modifications1_1;
+ &opengl_modifications1_1_compat;
+ &opengl_modifications1_2_compat;
+ &opengl_modifications1_3_compat;
+ </object-type>
+ <object-type name="QOpenGLFunctions_1_4">
+ &glgetv_includes;
+ &glgetv_modifications;
+ &opengl_modifications1_0;
+ &opengl_modifications1_0_compat;
+ &opengl_modifications1_1;
+ &opengl_modifications1_1_compat;
+ &opengl_modifications1_2_compat;
+ &opengl_modifications1_3_compat;
+ &opengl_modifications1_4;
+ &opengl_modifications1_4_compat;
+ </object-type>
+ <object-type name="QOpenGLFunctions_1_5">
+ &glgetv_includes;
+ &glgetv_modifications;
+ &opengl_modifications1_0;
+ &opengl_modifications1_0_compat;
+ &opengl_modifications1_1;
+ &opengl_modifications1_1_compat;
+ &opengl_modifications1_2_compat;
+ &opengl_modifications1_3_compat;
+ &opengl_modifications1_4;
+ &opengl_modifications1_4_compat;
+ </object-type>
+ <object-type name="QOpenGLFunctions_2_0">
+ &glgetv_includes;
+ &glgetv_modifications;
+ &opengl_modifications1_0;
+ &opengl_modifications1_0_compat;
+ &opengl_modifications1_1;
+ &opengl_modifications1_1_compat;
+ &opengl_modifications1_2_compat;
+ &opengl_modifications1_3_compat;
+ &opengl_modifications1_4;
+ &opengl_modifications1_4_compat;
+ &opengl_modifications2_0;
+ &opengl_modifications2_0_compat;
+ </object-type>
+ <object-type name="QOpenGLFunctions_2_1">
+ &glgetv_includes;
+ &glgetv_modifications;
+ &opengl_modifications1_0;
+ &opengl_modifications1_0_compat;
+ &opengl_modifications1_1;
+ &opengl_modifications1_1_compat;
+ &opengl_modifications1_2_compat;
+ &opengl_modifications1_3_compat;
+ &opengl_modifications1_4;
+ &opengl_modifications1_4_compat;
+ &opengl_modifications2_0;
+ &opengl_modifications2_0_compat;
+ &opengl_modifications2_1;
+ </object-type>
+ <object-type name="QOpenGLFunctions_3_0">
+ &glgetv_includes;
+ &glgeti_v_includes;
+ &glgetv_modifications;
+ &glgeti_v_modifications;
+ &opengl_modifications1_0;
+ &opengl_modifications1_0_compat;
+ &opengl_modifications1_1;
+ &opengl_modifications1_1_compat;
+ &opengl_modifications1_2_compat;
+ &opengl_modifications1_3_compat;
+ &opengl_modifications1_4;
+ &opengl_modifications1_4_compat;
+ &opengl_modifications2_0;
+ &opengl_modifications2_0_compat;
+ &opengl_modifications2_1;
+ &opengl_modifications3_0;
+ </object-type>
+ <object-type name="QOpenGLFunctions_3_1">
+ &glgetv_includes;
+ &glgeti_v_includes;
+ &glgetv_modifications;
+ &glgeti_v_modifications;
+ &opengl_modifications1_0;
+ &opengl_modifications1_1;
+ &opengl_modifications1_4;
+ &opengl_modifications2_0;
+ &opengl_modifications2_1;
+ &opengl_modifications3_0;
+ </object-type>
+ <object-type name="QOpenGLFunctions_3_2_Compatibility">
+ &glgetv_includes;
+ &glgeti_v_includes;
+ &glgetv_modifications;
+ &glgeti_v_modifications;
+ &opengl_modifications1_0;
+ &opengl_modifications1_0_compat;
+ &opengl_modifications1_1;
+ &opengl_modifications1_1_compat;
+ &opengl_modifications1_2_compat;
+ &opengl_modifications1_3_compat;
+ &opengl_modifications1_4;
+ &opengl_modifications1_4_compat;
+ &opengl_modifications2_0;
+ &opengl_modifications2_0_compat;
+ &opengl_modifications2_1;
+ &opengl_modifications3_0;
+ </object-type>
+ <object-type name="QOpenGLFunctions_3_2_Core">
+ &glgetv_includes;
+ &glgeti_v_includes;
+ &glgetv_modifications;
+ &glgeti_v_modifications;
+ &opengl_modifications1_0;
+ &opengl_modifications1_1;
+ &opengl_modifications1_4;
+ &opengl_modifications2_0;
+ &opengl_modifications2_1;
+ &opengl_modifications3_0;
+ </object-type>
+ <object-type name="QOpenGLFunctions_3_3_Compatibility">
+ &glgetv_includes;
+ &glgeti_v_includes;
+ &glgetv_modifications;
+ &glgeti_v_modifications;
+ &opengl_modifications1_0;
+ &opengl_modifications1_0_compat;
+ &opengl_modifications1_1;
+ &opengl_modifications1_1_compat;
+ &opengl_modifications1_2_compat;
+ &opengl_modifications1_3_compat;
+ &opengl_modifications1_4;
+ &opengl_modifications1_4_compat;
+ &opengl_modifications2_0;
+ &opengl_modifications2_0_compat;
+ &opengl_modifications2_1;
+ &opengl_modifications3_0;
+ &opengl_modifications3_3;
+ &opengl_modifications3_3a;
+ </object-type>
+ <object-type name="QOpenGLFunctions_3_3_Core">
+ &glgetv_includes;
+ &glgeti_v_includes;
+ &glgetv_modifications;
+ &glgeti_v_modifications;
+ &opengl_modifications1_0;
+ &opengl_modifications1_1;
+ &opengl_modifications1_4;
+ &opengl_modifications2_0;
+ &opengl_modifications2_1;
+ &opengl_modifications3_0;
+ &opengl_modifications3_3;
+ </object-type>
+ <object-type name="QOpenGLFunctions_4_0_Compatibility">
+ &glgetv_includes;
+ &glgeti_v_includes;
+ &glgetv_modifications;
+ &glgeti_v_modifications;
+ &opengl_modifications1_0;
+ &opengl_modifications1_0_compat;
+ &opengl_modifications1_1;
+ &opengl_modifications1_1_compat;
+ &opengl_modifications1_2_compat;
+ &opengl_modifications1_3_compat;
+ &opengl_modifications1_4;
+ &opengl_modifications1_4_compat;
+ &opengl_modifications2_0;
+ &opengl_modifications2_0_compat;
+ &opengl_modifications2_1;
+ &opengl_modifications3_0;
+ &opengl_modifications3_3;
+ &opengl_modifications3_3a;
+ &opengl_modifications4_0;
+ </object-type>
+ <object-type name="QOpenGLFunctions_4_0_Core">
+ &glgetv_includes;
+ &glgeti_v_includes;
+ &glgetv_modifications;
+ &glgeti_v_modifications;
+ &opengl_modifications1_0;
+ &opengl_modifications1_1;
+ &opengl_modifications1_4;
+ &opengl_modifications2_0;
+ &opengl_modifications2_1;
+ &opengl_modifications3_0;
+ &opengl_modifications3_3;
+ &opengl_modifications4_0;
+ </object-type>
+ <object-type name="QOpenGLFunctions_4_1_Compatibility">
+ &glgetv_includes;
+ &glgeti_v_includes;
+ &glgetv_modifications;
+ &glgeti_v_modifications;
+ &opengl_modifications1_0;
+ &opengl_modifications1_0_compat;
+ &opengl_modifications1_1;
+ &opengl_modifications1_1_compat;
+ &opengl_modifications1_2_compat;
+ &opengl_modifications1_3_compat;
+ &opengl_modifications1_4;
+ &opengl_modifications1_4_compat;
+ &opengl_modifications2_0;
+ &opengl_modifications2_0_compat;
+ &opengl_modifications2_1;
+ &opengl_modifications3_0;
+ &opengl_modifications3_3;
+ &opengl_modifications3_3a;
+ &opengl_modifications4_1;
+ &opengl_modifications4_0;
+ </object-type>
+ <object-type name="QOpenGLFunctions_4_1_Core">
+ &glgetv_includes;
+ &glgeti_v_includes;
+ &glgetv_modifications;
+ &glgeti_v_modifications;
+ &opengl_modifications1_0;
+ &opengl_modifications1_1;
+ &opengl_modifications1_4;
+ &opengl_modifications2_0;
+ &opengl_modifications2_1;
+ &opengl_modifications3_0;
+ &opengl_modifications3_3;
+ &opengl_modifications4_0;
+ &opengl_modifications4_1;
+ &opengl_modifications_va;
+ </object-type>
+ <object-type name="QOpenGLFunctions_4_2_Compatibility">
+ &glgetv_includes;
+ &glgeti_v_includes;
+ &glgetv_modifications;
+ &glgeti_v_modifications;
+ &opengl_modifications1_0;
+ &opengl_modifications1_0_compat;
+ &opengl_modifications1_1;
+ &opengl_modifications1_1_compat;
+ &opengl_modifications1_2_compat;
+ &opengl_modifications1_3_compat;
+ &opengl_modifications1_4;
+ &opengl_modifications1_4_compat;
+ &opengl_modifications2_0;
+ &opengl_modifications2_0_compat;
+ &opengl_modifications2_1;
+ &opengl_modifications3_0;
+ &opengl_modifications3_3;
+ &opengl_modifications3_3a;
+ &opengl_modifications4_0;
+ &opengl_modifications4_1;
+ </object-type>
+ <object-type name="QOpenGLFunctions_4_2_Core">
+ &glgetv_includes;
+ &glgeti_v_includes;
+ &glgetv_modifications;
+ &glgeti_v_modifications;
+ &opengl_modifications1_0;
+ &opengl_modifications1_1;
+ &opengl_modifications1_4;
+ &opengl_modifications2_0;
+ &opengl_modifications2_1;
+ &opengl_modifications3_0;
+ &opengl_modifications3_3;
+ &opengl_modifications4_0;
+ &opengl_modifications4_1;
+ &opengl_modifications_va;
+ </object-type>
+ <object-type name="QOpenGLFunctions_4_3_Compatibility">
+ &glgetv_includes;
+ &glgeti_v_includes;
+ &glgetv_modifications;
+ &glgeti_v_modifications;
+ &opengl_modifications1_0;
+ &opengl_modifications1_0_compat;
+ &opengl_modifications1_1;
+ &opengl_modifications1_1_compat;
+ &opengl_modifications1_2_compat;
+ &opengl_modifications1_3_compat;
+ &opengl_modifications1_4;
+ &opengl_modifications1_4_compat;
+ &opengl_modifications2_0;
+ &opengl_modifications2_0_compat;
+ &opengl_modifications2_1;
+ &opengl_modifications3_0;
+ &opengl_modifications3_3;
+ &opengl_modifications3_3a;
+ &opengl_modifications4_0;
+ &opengl_modifications4_1;
+ &opengl_modifications4_3;
+ </object-type>
+ <object-type name="QOpenGLFunctions_4_3_Core">
+ &glgetv_includes;
+ &glgeti_v_includes;
+ &glgetv_modifications;
+ &glgeti_v_modifications;
+ &opengl_modifications1_0;
+ &opengl_modifications1_1;
+ &opengl_modifications1_4;
+ &opengl_modifications2_0;
+ &opengl_modifications2_1;
+ &opengl_modifications3_0;
+ &opengl_modifications3_3;
+ &opengl_modifications4_0;
+ &opengl_modifications4_3;
+ &opengl_modifications4_1;
+ &opengl_modifications_va;
+ </object-type>
+ <object-type name="QOpenGLFunctions_4_4_Compatibility">
+ &glgetv_includes;
+ &glgeti_v_includes;
+ &glgetv_modifications;
+ &glgeti_v_modifications;
+ &opengl_modifications1_0;
+ &opengl_modifications1_0_compat;
+ &opengl_modifications1_1;
+ &opengl_modifications1_1_compat;
+ &opengl_modifications1_2_compat;
+ &opengl_modifications1_3_compat;
+ &opengl_modifications1_4;
+ &opengl_modifications1_4_compat;
+ &opengl_modifications2_0;
+ &opengl_modifications2_0_compat;
+ &opengl_modifications2_1;
+ &opengl_modifications3_0;
+ &opengl_modifications3_3;
+ &opengl_modifications3_3a;
+ &opengl_modifications4_0;
+ &opengl_modifications4_1;
+ &opengl_modifications4_3;
+ &opengl_modifications4_4;
+ &opengl_modifications4_4_core;
+ </object-type>
+ <object-type name="QOpenGLFunctions_4_4_Core">
+ &glgetv_includes;
+ &glgeti_v_includes;
+ &glgetv_modifications;
+ &glgeti_v_modifications;
+ &opengl_modifications1_0;
+ &opengl_modifications1_1;
+ &opengl_modifications1_4;
+ &opengl_modifications2_0;
+ &opengl_modifications2_1;
+ &opengl_modifications3_0;
+ &opengl_modifications3_3;
+ &opengl_modifications4_0;
+ &opengl_modifications4_1;
+ &opengl_modifications_va;
+ &opengl_modifications4_3;
+ &opengl_modifications4_4;
+ &opengl_modifications4_4_core;
+ </object-type>
+ <object-type name="QOpenGLFunctions_4_5_Compatibility">
+ &glgetv_includes;
+ &glgeti_v_includes;
+ &glgetv_modifications;
+ &glgeti_v_modifications;
+ &opengl_modifications1_0;
+ &opengl_modifications1_0_compat;
+ &opengl_modifications1_1;
+ &opengl_modifications1_1_compat;
+ &opengl_modifications1_2_compat;
+ &opengl_modifications1_3_compat;
+ &opengl_modifications1_4;
+ &opengl_modifications1_4_compat;
+ &opengl_modifications2_0;
+ &opengl_modifications2_0_compat;
+ &opengl_modifications2_1;
+ &opengl_modifications3_0;
+ &opengl_modifications3_3;
+ &opengl_modifications3_3a;
+ &opengl_modifications4_0;
+ &opengl_modifications4_1;
+ &opengl_modifications4_3;
+ &opengl_modifications4_4;
+ &opengl_modifications4_4_core;
+ &opengl_modifications4_5;
+ </object-type>
+ <object-type name="QOpenGLFunctions_4_5_Core">
+ &glgetv_includes;
+ &glgeti_v_includes;
+ &glgetv_modifications;
+ &glgeti_v_modifications;
+ &opengl_modifications1_0;
+ &opengl_modifications1_1;
+ &opengl_modifications1_4;
+ &opengl_modifications2_0;
+ &opengl_modifications2_1;
+ &opengl_modifications3_0;
+ &opengl_modifications3_3;
+ &opengl_modifications4_0;
+ &opengl_modifications4_1;
+ &opengl_modifications4_3;
+ &opengl_modifications4_4;
+ &opengl_modifications4_4_core;
+ &opengl_modifications4_5;
+ &opengl_modifications_va;
+ </object-type>
+ <object-type name="QOpenGLFunctions_ES2">
+ &opengl_modifications1_0;
+ &opengl_modifications1_1;
+ </object-type>
+
+ <object-type name="QOpenGLVersionFunctionsFactory">
+ <extra-includes>
+ <include file-name="QtOpenGL/qopenglfunctions_1_0.h" location="global"/>
+ <include file-name="QtOpenGL/qopenglfunctions_1_1.h" location="global"/>
+ <include file-name="QtOpenGL/qopenglfunctions_1_2.h" location="global"/>
+ <include file-name="QtOpenGL/qopenglfunctions_1_3.h" location="global"/>
+ <include file-name="QtOpenGL/qopenglfunctions_1_4.h" location="global"/>
+ <include file-name="QtOpenGL/qopenglfunctions_1_5.h" location="global"/>
+ <include file-name="QtOpenGL/qopenglfunctions_2_0.h" location="global"/>
+ <include file-name="QtOpenGL/qopenglfunctions_2_1.h" location="global"/>
+ <include file-name="QtOpenGL/qopenglfunctions_3_0.h" location="global"/>
+ <include file-name="QtOpenGL/qopenglfunctions_3_1.h" location="global"/>
+ <include file-name="QtOpenGL/qopenglfunctions_3_2_compatibility.h" location="global"/>
+ <include file-name="QtOpenGL/qopenglfunctions_3_2_core.h" location="global"/>
+ <include file-name="QtOpenGL/qopenglfunctions_3_3_compatibility.h" location="global"/>
+ <include file-name="QtOpenGL/qopenglfunctions_3_3_core.h" location="global"/>
+ <include file-name="QtOpenGL/qopenglfunctions_4_0_compatibility.h" location="global"/>
+ <include file-name="QtOpenGL/qopenglfunctions_4_0_core.h" location="global"/>
+ <include file-name="QtOpenGL/qopenglfunctions_4_1_compatibility.h" location="global"/>
+ <include file-name="QtOpenGL/qopenglfunctions_4_1_core.h" location="global"/>
+ <include file-name="QtOpenGL/qopenglfunctions_4_2_compatibility.h" location="global"/>
+ <include file-name="QtOpenGL/qopenglfunctions_4_2_core.h" location="global"/>
+ <include file-name="QtOpenGL/qopenglfunctions_4_3_compatibility.h" location="global"/>
+ <include file-name="QtOpenGL/qopenglfunctions_4_3_core.h" location="global"/>
+ <include file-name="QtOpenGL/qopenglfunctions_4_4_compatibility.h" location="global"/>
+ <include file-name="QtOpenGL/qopenglfunctions_4_4_core.h" location="global"/>
+ <include file-name="QtOpenGL/qopenglfunctions_4_5_compatibility.h" location="global"/>
+ <include file-name="QtOpenGL/qopenglfunctions_4_5_core.h" location="global"/>
+ </extra-includes>
+ <modify-function signature="get(const QOpenGLVersionProfile &amp;,QOpenGLContext *)">
+ <inject-code class="target" position="beginning" file="../glue/qtopengl.cpp"
+ snippet="qopenglversionfunctionsfactory-get"/>
+ </modify-function>
+ </object-type>
+
+ <object-type name="QOpenGLFramebufferObject">
+ <enum-type name="Attachment"/>
+ <enum-type name="FramebufferRestorePolicy"/>
+ </object-type>
+ <value-type name="QOpenGLFramebufferObjectFormat"/>
+ <object-type name="QAbstractOpenGLFunctions"/>
+ <value-type name="QOpenGLPixelTransferOptions"/>
+ <object-type name="QOpenGLShader">
+ <enum-type name="ShaderTypeBit" flags="ShaderType"/>
+ </object-type>
+ <object-type name="QOpenGLPaintDevice"/>
+ <object-type name="QOpenGLShaderProgram">
+ <modify-function signature="setAttributeArray(int,const float*,int,int)">
+ <modify-argument index="2"><array/></modify-argument>
+ </modify-function>
+ <modify-function signature="setAttributeArray(const char*,const float*,int,int)">
+ <modify-argument index="2"><array/></modify-argument>
+ </modify-function>
+ <modify-function signature="setAttributeValue(int,const float*,int,int)">
+ <modify-argument index="2"><array/></modify-argument>
+ </modify-function>
+ <modify-function signature="setAttributeValue(const char*,const float*,int,int)">
+ <modify-argument index="2"><array/></modify-argument>
+ </modify-function>
+ <modify-function signature="setUniformValueArray(int,const float*,int,int)">
+ <modify-argument index="2"><array/></modify-argument>
+ </modify-function>
+ <modify-function signature="setUniformValueArray(int,const GLint*,int)">
+ <modify-argument index="2"><array/></modify-argument>
+ </modify-function>
+ <modify-function signature="setUniformValueArray(int,const GLuint*,int)">
+ <modify-argument index="2"><array/></modify-argument>
+ </modify-function>
+ <modify-function signature="setUniformValueArray(const char*,const float*,int,int)">
+ <modify-argument index="2"><array/></modify-argument>
+ </modify-function>
+ <modify-function signature="setUniformValueArray(const char*,const GLint*,int)">
+ <modify-argument index="2"><array/></modify-argument>
+ </modify-function>
+ <modify-function signature="setUniformValueArray(const char*,const GLuint*,int)">
+ <modify-argument index="2"><array/></modify-argument>
+ </modify-function>
+ <!-- Add explicit signatures for the setUniformValue functions -->
+ <modify-function signature="^setUniformValue\(const char\*,(float|int|uint)\)$" remove="all"/>
+ <!-- No need for a signature for GLuint, since Qt (internally) calls the same function: glUniform1i -->
+ <add-function signature="setUniformValue1f(const char*, float)" return-type="void">
+ <inject-code file="../glue/qtopengl.cpp" snippet="qopenglshaderprogram_setuniformvalue_float"/>
+ </add-function>
+ <add-function signature="setUniformValue1i(const char*, GLint)" return-type="void">
+ <inject-code file="../glue/qtopengl.cpp" snippet="qopenglshaderprogram_setuniformvalue_int"/>
+ </add-function>
+ <add-function signature="setUniformValue1f(GLint, float)" return-type="void">
+ <inject-code file="../glue/qtopengl.cpp" snippet="qopenglshaderprogram_setuniformvalue_float"/>
+ </add-function>
+ <add-function signature="setUniformValue1i(GLint, GLint)" return-type="void">
+ <inject-code file="../glue/qtopengl.cpp" snippet="qopenglshaderprogram_setuniformvalue_int"/>
+ </add-function>
+ </object-type>
+ <object-type name="QOpenGLTexture">
+ <enum-type name="BindingTarget"/>
+ <enum-type name="CoordinateDirection"/>
+ <enum-type name="ComparisonFunction"/>
+ <enum-type name="ComparisonMode"/>
+ <enum-type name="CubeMapFace"/>
+ <enum-type name="DepthStencilMode"/>
+ <enum-type name="Feature" flags="Features"/>
+ <enum-type name="Filter"/>
+ <enum-type name="MipMapGeneration"/>
+ <enum-type name="PixelFormat"/>
+ <enum-type name="PixelType"/>
+ <enum-type name="SwizzleComponent"/>
+ <enum-type name="SwizzleValue"/>
+ <enum-type name="Target"/>
+ <enum-type name="TextureFormat"/>
+ <enum-type name="TextureFormatClass"/>
+ <enum-type name="TextureUnitReset"/>
+ <enum-type name="WrapMode"/>
+ <modify-function signature="borderColor(unsigned int*)const" remove="all"/>
+ <modify-function signature="borderColor(int*)const" remove="all"/>
+ <modify-function signature="borderColor(float*)const" remove="all"/>
+ </object-type>
+ <object-type name="QOpenGLTextureBlitter">
+ <enum-type name="Origin"/>
+ </object-type>
+ <object-type name="QOpenGLTimeMonitor"/>
+ <object-type name="QOpenGLTimerQuery"/>
+ <object-type name="QOpenGLWindow">
+ <enum-type name="UpdateBehavior"/>
+ </object-type>
+ <value-type name="QOpenGLVersionProfile"/>
+ <object-type name="QOpenGLVertexArrayObject">
+ <object-type name="Binder">
+ <add-function signature="__enter__()" return-type="QOpenGLVertexArrayObject::Binder">
+ <inject-code file="../glue/qtopengl.cpp" snippet="vao-binder-enter"/>
+ </add-function>
+ <add-function signature="__exit__(PyObject*,PyObject*,PyObject*)">
+ <inject-code file="../glue/qtopengl.cpp" snippet="vao-binder-exit"/>
+ </add-function>
+ </object-type>
+ </object-type>
+
+</typesystem>
diff --git a/sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications1_0.xml b/sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications1_0.xml
new file mode 100644
index 000000000..152efad9e
--- /dev/null
+++ b/sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications1_0.xml
@@ -0,0 +1,15 @@
+<!--
+// Copyright (C) 2019 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+-->
+<modify-function signature="^glGetStringi?\(.*$">
+ <modify-argument index="return">
+ <replace-type modified-type="QString"/>
+ </modify-argument>
+ <inject-code class="target" position="beginning">
+ <insert-template name="glGetString_return_QString"/>
+ </inject-code>
+</modify-function>
+<modify-function signature="^glTexParameterI?u?[fi]v\(.*$">
+ <modify-argument index="3"><array/></modify-argument>
+</modify-function>
diff --git a/sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications1_0_compat.xml b/sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications1_0_compat.xml
new file mode 100644
index 000000000..a5f8ee77a
--- /dev/null
+++ b/sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications1_0_compat.xml
@@ -0,0 +1,67 @@
+<!--
+// Copyright (C) 2019 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+-->
+<modify-function signature="^glBitmap\(.*$" remove="all"/>
+<modify-function signature="^glColor[34][a-z]{1,2}v\(.*$">
+ <modify-argument index="1"><array/></modify-argument>
+</modify-function>
+<modify-function signature="glClipPlane(GLenum,const GLdouble*)">
+ <modify-argument index="2"><array/></modify-argument>
+</modify-function>
+<modify-function signature="^glEvalCoord\d[a-z]{1,2}v\(.*$">
+ <modify-argument index="1"><array/></modify-argument>
+</modify-function>
+<modify-function signature="^glFog[fi]v\(.*$">
+ <modify-argument index="2"><array/></modify-argument>
+</modify-function>
+<modify-function signature="^glIndex[a-z]v\(.*$">
+ <modify-argument index="1"><array/></modify-argument>
+</modify-function>
+<modify-function signature="^glLoadMatrix[df]\(.*$">
+ <modify-argument index="1"><array/></modify-argument>
+</modify-function>
+<modify-function signature="^glLight[fi]v\(.*$">
+ <modify-argument index="3"><array/></modify-argument>
+</modify-function>
+<modify-function signature="^glLightModel[fi]v\(.*$">
+ <modify-argument index="2"><array/></modify-argument>
+</modify-function>
+<modify-function signature="^glMap1[df]\(.*$">
+ <modify-argument index="6"><array/></modify-argument>
+</modify-function>
+<modify-function signature="^glMap2[df]\(.*$">
+ <modify-argument index="10"><array/></modify-argument>
+</modify-function>
+<modify-function signature="^glMaterial[fi]v\(.*$">
+ <modify-argument index="3"><array/></modify-argument>
+</modify-function>
+<modify-function signature="^glMultMatrix[df]\(.*$">
+ <modify-argument index="1"><array/></modify-argument>
+</modify-function>
+<modify-function signature="^glNormal3.v\(.*$">
+ <modify-argument index="1"><array/></modify-argument>
+</modify-function>
+<modify-function signature="^glPixelMap[a-z]{1,2}v\(.*$">
+ <modify-argument index="3"><array/></modify-argument>
+</modify-function>
+<modify-function signature="^glPolygonStipple\(.*$" remove="all"/>
+<modify-function signature="^glRasterPos\d[a-z]v\(.*$">
+ <modify-argument index="1"><array/></modify-argument>
+</modify-function>
+<modify-function signature="^glRect[dfis]v\(.*$">
+ <modify-argument index="1"><array/></modify-argument>
+ <modify-argument index="2"><array/></modify-argument>
+</modify-function>
+<modify-function signature="^glTexCoord\d[dfis]v\(.*$">
+ <modify-argument index="1"><array/></modify-argument>
+</modify-function>
+<modify-function signature="^glTexEnv[fi]v\(.*$">
+ <modify-argument index="3"><array/></modify-argument>
+</modify-function>
+<modify-function signature="^glTexGen[dfi]v\(.*$">
+ <modify-argument index="3"><array/></modify-argument>
+</modify-function>
+<modify-function signature="^glVertex\d[dfis]v\(.*$">
+ <modify-argument index="1"><array/></modify-argument>
+</modify-function>
diff --git a/sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications1_1.xml b/sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications1_1.xml
new file mode 100644
index 000000000..1601a19c3
--- /dev/null
+++ b/sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications1_1.xml
@@ -0,0 +1,8 @@
+<!--
+// Copyright (C) 2019 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+-->
+<!-- Except glGenLists/glDeleteLists -->
+<modify-function signature="^glDelete[A-KM-Z].*s\(.*$">
+ <modify-argument index="2"><array/></modify-argument>
+</modify-function>
diff --git a/sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications1_1_compat.xml b/sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications1_1_compat.xml
new file mode 100644
index 000000000..8e9293fd6
--- /dev/null
+++ b/sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications1_1_compat.xml
@@ -0,0 +1,11 @@
+<!--
+// Copyright (C) 2019 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+-->
+<modify-function signature="^glPrioritizeTextures\(.*$">
+ <modify-argument index="2"><array/></modify-argument>
+ <modify-argument index="3"><array/></modify-argument>
+</modify-function>
+<modify-function signature="^glIndexubv\(.*$">
+ <modify-argument index="1"><array/></modify-argument>
+</modify-function>
diff --git a/sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications1_2_compat.xml b/sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications1_2_compat.xml
new file mode 100644
index 000000000..58d395e3a
--- /dev/null
+++ b/sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications1_2_compat.xml
@@ -0,0 +1,10 @@
+<!--
+// Copyright (C) 2019 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+-->
+<modify-function signature="^glColorTableParameter[fi]v\(.*$">
+ <modify-argument index="3"><array/></modify-argument>
+</modify-function>
+<modify-function signature="^glConvolutionParameter[fi]v\(.*$">
+ <modify-argument index="3"><array/></modify-argument>
+</modify-function>
diff --git a/sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications1_3_compat.xml b/sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications1_3_compat.xml
new file mode 100644
index 000000000..90903b33b
--- /dev/null
+++ b/sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications1_3_compat.xml
@@ -0,0 +1,10 @@
+<!--
+// Copyright (C) 2019 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+-->
+<modify-function signature="^gl(Load|Mult)TransposeMatrix[df]\(.*$">
+ <modify-argument index="1"><array/></modify-argument>
+</modify-function>
+<modify-function signature="^glMultiTexCoord\d[a-z]v\(.*$">
+ <modify-argument index="2"><array/></modify-argument>
+</modify-function>
diff --git a/sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications1_4.xml b/sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications1_4.xml
new file mode 100644
index 000000000..7cd5f74ea
--- /dev/null
+++ b/sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications1_4.xml
@@ -0,0 +1,11 @@
+<!--
+// Copyright (C) 2019 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+-->
+<modify-function signature="^glMultiDrawArrays\(.*$">
+ <modify-argument index="2"><array/></modify-argument>
+ <modify-argument index="3"><array/></modify-argument>
+</modify-function>
+<modify-function signature="^glPointParameter[fi]v\(.*$">
+ <modify-argument index="2"><array/></modify-argument>
+</modify-function>
diff --git a/sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications1_4_compat.xml b/sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications1_4_compat.xml
new file mode 100644
index 000000000..56da84116
--- /dev/null
+++ b/sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications1_4_compat.xml
@@ -0,0 +1,13 @@
+<!--
+// Copyright (C) 2019 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+-->
+<modify-function signature="^glFogCoord[df]v\(.*$">
+ <modify-argument index="1"><array/></modify-argument>
+</modify-function>
+<modify-function signature="^glSecondaryColor3u?[bdfis]v\(.*$">
+ <modify-argument index="1"><array/></modify-argument>
+</modify-function>
+<modify-function signature="^glWindowPos[23][dfis]v\(.*$">
+ <modify-argument index="1"><array/></modify-argument>
+</modify-function>
diff --git a/sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications2_0.xml b/sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications2_0.xml
new file mode 100644
index 000000000..5b342087e
--- /dev/null
+++ b/sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications2_0.xml
@@ -0,0 +1,13 @@
+<!--
+// Copyright (C) 2019 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+-->
+<modify-function signature="^glDrawBuffers\(.*$">
+ <modify-argument index="2"><array/></modify-argument>
+</modify-function>
+<modify-function signature="^glUniformMatrix\d[df]v\(.*$">
+ <modify-argument index="4"><array/></modify-argument>
+</modify-function>
+<modify-function signature="^glUniform\d?.v\(.*$">
+ <modify-argument index="3"><array/></modify-argument>
+</modify-function>
diff --git a/sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications2_0_compat.xml b/sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications2_0_compat.xml
new file mode 100644
index 000000000..b0c804c11
--- /dev/null
+++ b/sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications2_0_compat.xml
@@ -0,0 +1 @@
+&typesystem_opengl_modifications_va.xml;
diff --git a/sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications2_1.xml b/sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications2_1.xml
new file mode 100644
index 000000000..741fbf7d8
--- /dev/null
+++ b/sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications2_1.xml
@@ -0,0 +1,7 @@
+<!--
+// Copyright (C) 2019 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+-->
+<modify-function signature="^glUniformMatrix\dx\d[a-z]v\(.*$">
+ <modify-argument index="4"><array/></modify-argument>
+</modify-function>
diff --git a/sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications3_0.xml b/sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications3_0.xml
new file mode 100644
index 000000000..782400768
--- /dev/null
+++ b/sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications3_0.xml
@@ -0,0 +1,10 @@
+<!--
+// Copyright (C) 2019 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+-->
+<modify-function signature="^glClearBufferu?[fi]v\(.*$">
+ <modify-argument index="3"><array/></modify-argument>
+</modify-function>
+<modify-function signature="^glUniform\duiv\(.*$">
+ <modify-argument index="3"><array/></modify-argument>
+</modify-function>
diff --git a/sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications3_3.xml b/sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications3_3.xml
new file mode 100644
index 000000000..c7e883b87
--- /dev/null
+++ b/sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications3_3.xml
@@ -0,0 +1,10 @@
+<!--
+// Copyright (C) 2019 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+-->
+<modify-function signature="^glSamplerParameterI?u?[dfi]v\(.*$">
+ <modify-argument index="3"><array/></modify-argument>
+</modify-function>
+<modify-function signature="^glVertexAttribP\duiv\(.*$">
+ <modify-argument index="4"><array/></modify-argument>
+</modify-function>
diff --git a/sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications3_3a.xml b/sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications3_3a.xml
new file mode 100644
index 000000000..95956d164
--- /dev/null
+++ b/sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications3_3a.xml
@@ -0,0 +1,21 @@
+<!--
+// Copyright (C) 2019 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+Present from 3.3..4.5 except 4.4 Core/4.5 Core
+-->
+<modify-function signature="^glColorP[34]uiv\(.*$">
+ <modify-argument index="2"><array/></modify-argument>
+</modify-function>
+<modify-function signature="^glMultiTexCoordP\duiv\(.*$">
+ <modify-argument index="3"><array/></modify-argument>
+</modify-function>
+<modify-function signature="^gl(Normal|SecondaryColor)P3uiv\(.*$">
+ <modify-argument index="2"><array/></modify-argument>
+</modify-function>
+<modify-function signature="^glTexCoordP\duiv\(.*$">
+ <modify-argument index="2"><array/></modify-argument>
+</modify-function>
+<modify-function signature="^glVertexP\duiv\(.*$">
+ <modify-argument index="2"><array/></modify-argument>
+</modify-function>
diff --git a/sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications4_0.xml b/sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications4_0.xml
new file mode 100644
index 000000000..a66a74895
--- /dev/null
+++ b/sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications4_0.xml
@@ -0,0 +1,10 @@
+<!--
+// Copyright (C) 2019 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+-->
+<modify-function signature="^glPatchParameterfv\(.*$">
+ <modify-argument index="2"><array/></modify-argument>
+</modify-function>
+<modify-function signature="^glUniformSubroutinesuiv\(.*$">
+ <modify-argument index="3"><array/></modify-argument>
+</modify-function>
diff --git a/sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications4_1.xml b/sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications4_1.xml
new file mode 100644
index 000000000..0fb6cd49a
--- /dev/null
+++ b/sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications4_1.xml
@@ -0,0 +1,40 @@
+<!--
+// Copyright (C) 2019 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+-->
+<modify-function signature="^gl(DepthRange|Scissor|Viewport)Arrayv\(.*$">
+ <modify-argument index="3"><array/></modify-argument>
+</modify-function>
+<modify-function signature="glGetDoublei_v(GLenum,GLuint,GLdouble*)">
+ <modify-argument index="return" pyi-type="Union[float,numpy.ndarray]">
+ <replace-type modified-type="PyObject"/>
+ </modify-argument>
+ <modify-argument index="3">
+ <remove-argument/>
+ </modify-argument>
+ <inject-code class="target" position="beginning" file="../glue/qtgui.cpp" snippet="qopenglextrafunctions-glgetdoublei-v"/>
+</modify-function>
+<modify-function signature="glGetFloati_v(GLenum,GLuint,GLfloat*)">
+ <modify-argument index="return" pyi-type="Union[float,numpy.ndarray]">
+ <replace-type modified-type="PyObject"/>
+ </modify-argument>
+ <modify-argument index="3">
+ <remove-argument/>
+ </modify-argument>
+ <inject-code class="target" position="beginning" file="../glue/qtgui.cpp" snippet="qopenglextrafunctions-glgetfloati-v"/>
+</modify-function>
+<modify-function signature="^glProgramUniform\du?[dfi]v\(.*$">
+ <modify-argument index="4"><array/></modify-argument>
+</modify-function>
+<modify-function signature="^glProgramUniformMatrix\d[df]v\(.*$">
+ <modify-argument index="5"><array/></modify-argument>
+</modify-function>
+<modify-function signature="^glProgramUniformMatrix\dx\d[df]v\(.*$">
+ <modify-argument index="5"><array/></modify-argument>
+</modify-function>
+<modify-function signature="^gl(Scissor|Viewport)Indexedf?v\(.*$">
+ <modify-argument index="2"><array/></modify-argument>
+</modify-function>
+<modify-function signature="^glShaderBinary\(GLsizei,const GLuint\*,.*$">
+ <modify-argument index="2"><array/></modify-argument>
+</modify-function>
diff --git a/sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications4_3.xml b/sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications4_3.xml
new file mode 100644
index 000000000..74298677d
--- /dev/null
+++ b/sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications4_3.xml
@@ -0,0 +1,7 @@
+<!--
+// Copyright (C) 2019 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+-->
+<modify-function signature="^glInvalidate(Sub)?Framebuffer\(.*$">
+ <modify-argument index="3"><array/></modify-argument>
+</modify-function>
diff --git a/sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications4_4.xml b/sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications4_4.xml
new file mode 100644
index 000000000..cf90e4e0b
--- /dev/null
+++ b/sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications4_4.xml
@@ -0,0 +1,20 @@
+<!--
+// Copyright (C) 2019 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+-->
+<modify-function signature="^glBindBuffersBase\(.*$">
+ <modify-argument index="4"><array/></modify-argument>
+</modify-function>
+<modify-function signature="glBindBuffersRange(GLenum,GLuint,GLsizei,const GLuint*,const GLintptr*,const GLsizeiptr*)">
+ <modify-argument index="4"><array/></modify-argument>
+ <modify-argument index="5"><array/></modify-argument>
+ <modify-argument index="6"><array/></modify-argument>
+</modify-function>
+<modify-function signature="glBindVertexBuffers(GLuint,GLsizei,const GLuint*,const GLintptr*,const GLsizei*)">
+ <modify-argument index="3"><array/></modify-argument>
+ <modify-argument index="4"><array/></modify-argument>
+ <modify-argument index="5"><array/></modify-argument>
+</modify-function>
+<modify-function signature="^glBind(ImageTextures|Samplers|Textures)\(.*$">
+ <modify-argument index="3"><array/></modify-argument>
+</modify-function>
diff --git a/sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications4_4_core.xml b/sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications4_4_core.xml
new file mode 100644
index 000000000..3f1291db7
--- /dev/null
+++ b/sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications4_4_core.xml
@@ -0,0 +1,7 @@
+<!--
+// Copyright (C) 2019 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+-->
+<modify-function signature="^glDebugMessageControl\(.*$">
+ <modify-argument index="5"><array/></modify-argument>
+</modify-function>
diff --git a/sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications4_5.xml b/sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications4_5.xml
new file mode 100644
index 000000000..826727736
--- /dev/null
+++ b/sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications4_5.xml
@@ -0,0 +1,21 @@
+<!--
+// Copyright (C) 2019 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+-->
+<modify-function signature="^glClearNamedFramebufferu?[fi]v\(.*$">
+ <modify-argument index="4"><array/></modify-argument>
+</modify-function>
+<modify-function signature="^glInvalidateNamedFramebuffer(Sub)?Data\(.*$">
+ <modify-argument index="3"><array/></modify-argument>
+</modify-function>
+<modify-function signature="^glNamedFramebufferDrawBuffers\(.*$">
+ <modify-argument index="3"><array/></modify-argument>
+</modify-function>
+<modify-function signature="^glTextureParameterI?u?[fi]v\(.*$">
+ <modify-argument index="3"><array/></modify-argument>
+</modify-function>
+<modify-function signature="glVertexArrayVertexBuffers(GLuint, GLuint,GLsizei,const GLuint *,const GLintptr*,const GLsizei*)">
+ <modify-argument index="4"><array/></modify-argument>
+ <modify-argument index="5"><array/></modify-argument>
+ <modify-argument index="6"><array/></modify-argument>
+</modify-function>
diff --git a/sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications4_5_core.xml b/sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications4_5_core.xml
new file mode 100644
index 000000000..5b7c30fe5
--- /dev/null
+++ b/sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications4_5_core.xml
@@ -0,0 +1,5 @@
+<!--
+// Copyright (C) 2019 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+ Remove me!
+-->
diff --git a/sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications_va.xml b/sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications_va.xml
new file mode 100644
index 000000000..624281645
--- /dev/null
+++ b/sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications_va.xml
@@ -0,0 +1,7 @@
+<!--
+// Copyright (C) 2019 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+-->
+<modify-function signature="^glVertexAttrib[IL]?\dN?u?[bdfis]v\(.*$">
+ <modify-argument index="2"><array/></modify-argument>
+</modify-function>