Line | Source | Count |
1 | | - |
2 | | - |
3 | const QLoggingCategory &lcGLES3() { static const QLoggingCategory category("qt.opengl.es3"); return category; } | - |
4 | struct QOpenGLFunctionsPrivateEx : public QOpenGLExtensionsPrivate, public QOpenGLSharedResource | - |
5 | { | - |
6 | QOpenGLFunctionsPrivateEx(QOpenGLContext *context) | - |
7 | : QOpenGLExtensionsPrivate(context) | - |
8 | , QOpenGLSharedResource(context->shareGroup()) | - |
9 | , m_features(-1) | - |
10 | , m_extensions(-1) | - |
11 | {} | - |
12 | | - |
13 | void invalidateResource() override | - |
14 | { | - |
15 | m_features = -1; | - |
16 | m_extensions = -1; | - |
17 | } | - |
18 | | - |
19 | void freeResource(QOpenGLContext *) override | - |
20 | { | - |
21 | | - |
22 | } | - |
23 | | - |
24 | int m_features; | - |
25 | int m_extensions; | - |
26 | }; | - |
27 | | - |
28 | namespace { namespace Q_QGS_qt_gl_functions_resource { typedef QOpenGLMultiGroupSharedResource Type; QBasicAtomicInt guard = { QtGlobalStatic::Uninitialized }; __attribute__((visibility("hidden"))) inline Type *innerFunction() { struct HolderBase { ~HolderBase() noexcept { if (guard.load() == QtGlobalStatic::Initialized) guard.store(QtGlobalStatic::Destroyed); } }; static struct Holder : public HolderBase { Type value; Holder() noexcept(noexcept(Type ())) : value () { guard.store(QtGlobalStatic::Initialized); } } holder; return &holder.value; } } } static QGlobalStatic<QOpenGLMultiGroupSharedResource, Q_QGS_qt_gl_functions_resource::innerFunction, Q_QGS_qt_gl_functions_resource::guard> qt_gl_functions_resource; | - |
29 | | - |
30 | static QOpenGLFunctionsPrivateEx *qt_gl_functions(QOpenGLContext *context = 0) | - |
31 | { | - |
32 | if (!context) | - |
33 | context = QOpenGLContext::currentContext(); | - |
34 | ((!(context)) ? qt_assert("context",__FILE__,221244) : qt_noop()); | - |
35 | QOpenGLFunctionsPrivateEx *funcs = | - |
36 | qt_gl_functions_resource()->value<QOpenGLFunctionsPrivateEx>(context); | - |
37 | return funcs; | - |
38 | } | - |
39 | QOpenGLFunctions::QOpenGLFunctions() | - |
40 | : d_ptr(0) | - |
41 | { | - |
42 | } | - |
43 | QOpenGLFunctions::QOpenGLFunctions(QOpenGLContext *context) | - |
44 | : d_ptr(0) | - |
45 | { | - |
46 | if (contextTRUE | never evaluated | FALSE | never evaluated |
&& QOpenGLContextGroup::currentContextGroup() == context->shareGroup()TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
47 | d_ptr = qt_gl_functions(context); never executed: d_ptr = qt_gl_functions(context); | 0 |
48 | else | - |
49 | QMessageLogger(__FILE__, 257280, __PRETTY_FUNCTION__).warning() << ("QOpenGLFunctions created with non-current context";); never executed: QMessageLogger(__FILE__, 280, __PRETTY_FUNCTION__).warning("QOpenGLFunctions created with non-current context"); | 0 |
50 | } | - |
51 | | - |
52 | QOpenGLExtensions::QOpenGLExtensions() | - |
53 | { | - |
54 | } | - |
55 | | - |
56 | QOpenGLExtensions::QOpenGLExtensions(QOpenGLContext *context) | - |
57 | : QOpenGLExtraFunctions(context) | - |
58 | { | - |
59 | } | - |
60 | | - |
61 | | - |
62 | | - |
63 | | - |
64 | | - |
65 | | - |
66 | | - |
67 | static int qt_gl_resolve_features() | - |
68 | { | - |
69 | QOpenGLContext *ctx = QOpenGLContext::currentContext(); | - |
70 | if (ctx->isOpenGLES()) { | - |
71 | | - |
72 | int features = QOpenGLFunctions::Multitexture | | - |
73 | QOpenGLFunctions::Shaders | | - |
74 | QOpenGLFunctions::Buffers | | - |
75 | QOpenGLFunctions::Framebuffers | | - |
76 | QOpenGLFunctions::BlendColor | | - |
77 | QOpenGLFunctions::BlendEquation | | - |
78 | QOpenGLFunctions::BlendEquationSeparate | | - |
79 | QOpenGLFunctions::BlendFuncSeparate | | - |
80 | QOpenGLFunctions::BlendSubtract | | - |
81 | QOpenGLFunctions::CompressedTextures | | - |
82 | QOpenGLFunctions::Multisample | | - |
83 | QOpenGLFunctions::StencilSeparate; | - |
84 | QOpenGLExtensionMatcher extensions; | - |
85 | if (extensions.match("GL_IMG_texture_npot")) | - |
86 | features |= QOpenGLFunctions::NPOTTextures; | - |
87 | if (extensions.match("GL_OES_texture_npot")) | - |
88 | features |= QOpenGLFunctions::NPOTTextures | | - |
89 | QOpenGLFunctions::NPOTTextureRepeat; | - |
90 | if (ctx->format().majorVersion() >= 3 || extensions.match("GL_EXT_texture_rg")) { | - |
91 | | - |
92 | const char *renderer = reinterpret_cast<const char *>(ctx->functions()->glGetString(0x1F01)); | - |
93 | if (!(renderer && strstr(renderer, "Mesa"))) | - |
94 | features |= QOpenGLFunctions::TextureRGFormats; | - |
95 | } | - |
96 | if (ctx->format().majorVersion() >= 3) | - |
97 | features |= QOpenGLFunctions::MultipleRenderTargets; | - |
98 | return features; | - |
99 | } else { | - |
100 | | - |
101 | int features = QOpenGLFunctions::TextureRGFormats; | - |
102 | QSurfaceFormat format = QOpenGLContext::currentContext()->format(); | - |
103 | QOpenGLExtensionMatcher extensions; | - |
104 | | - |
105 | if (format.majorVersion() >= 3) | - |
106 | features |= QOpenGLFunctions::Framebuffers | QOpenGLFunctions::MultipleRenderTargets; | - |
107 | else if (extensions.match("GL_EXT_framebuffer_object") || extensions.match("GL_ARB_framebuffer_object")) | - |
108 | features |= QOpenGLFunctions::Framebuffers | QOpenGLFunctions::MultipleRenderTargets; | - |
109 | | - |
110 | if (format.majorVersion() >= 2) { | - |
111 | features |= QOpenGLFunctions::BlendColor | | - |
112 | QOpenGLFunctions::BlendEquation | | - |
113 | QOpenGLFunctions::BlendSubtract | | - |
114 | QOpenGLFunctions::Multitexture | | - |
115 | QOpenGLFunctions::CompressedTextures | | - |
116 | QOpenGLFunctions::Multisample | | - |
117 | QOpenGLFunctions::BlendFuncSeparate | | - |
118 | QOpenGLFunctions::Buffers | | - |
119 | QOpenGLFunctions::Shaders | | - |
120 | QOpenGLFunctions::StencilSeparate | | - |
121 | QOpenGLFunctions::BlendEquationSeparate | | - |
122 | QOpenGLFunctions::NPOTTextures | | - |
123 | QOpenGLFunctions::NPOTTextureRepeat; | - |
124 | } else { | - |
125 | | - |
126 | if (extensions.match("GL_ARB_multitexture")) | - |
127 | features |= QOpenGLFunctions::Multitexture; | - |
128 | if (extensions.match("GL_ARB_shader_objects")) | - |
129 | features |= QOpenGLFunctions::Shaders; | - |
130 | if (extensions.match("GL_EXT_blend_color")) | - |
131 | features |= QOpenGLFunctions::BlendColor; | - |
132 | if (extensions.match("GL_EXT_blend_equation_separate")) | - |
133 | features |= QOpenGLFunctions::BlendEquationSeparate; | - |
134 | if (extensions.match("GL_EXT_blend_subtract")) | - |
135 | features |= QOpenGLFunctions::BlendSubtract; | - |
136 | if (extensions.match("GL_EXT_blend_func_separate")) | - |
137 | features |= QOpenGLFunctions::BlendFuncSeparate; | - |
138 | if (extensions.match("GL_ARB_texture_compression")) | - |
139 | features |= QOpenGLFunctions::CompressedTextures; | - |
140 | if (extensions.match("GL_ARB_multisample")) | - |
141 | features |= QOpenGLFunctions::Multisample; | - |
142 | if (extensions.match("GL_ARB_texture_non_power_of_two")) | - |
143 | features |= QOpenGLFunctions::NPOTTextures | | - |
144 | QOpenGLFunctions::NPOTTextureRepeat; | - |
145 | } | - |
146 | | - |
147 | const QPair<int, int> version = format.version(); | - |
148 | if (version < qMakePair(3, 0) | - |
149 | || (version == qMakePair(3, 0) && format.testOption(QSurfaceFormat::DeprecatedFunctions)) | - |
150 | || (version == qMakePair(3, 1) && extensions.match("GL_ARB_compatibility")) | - |
151 | || (version >= qMakePair(3, 2) && format.profile() == QSurfaceFormat::CompatibilityProfile)) { | - |
152 | features |= QOpenGLFunctions::FixedFunctionPipeline; | - |
153 | } | - |
154 | return features; | - |
155 | } | - |
156 | } | - |
157 | | - |
158 | static int qt_gl_resolve_extensions() | - |
159 | { | - |
160 | int extensions = 0; | - |
161 | QOpenGLExtensionMatcher extensionMatcher; | - |
162 | QOpenGLContext *ctx = QOpenGLContext::currentContext(); | - |
163 | QSurfaceFormat format = ctx->format(); | - |
164 | | - |
165 | if (extensionMatcher.match("GL_EXT_bgra")) | - |
166 | extensions |= QOpenGLExtensions::BGRATextureFormat; | - |
167 | if (extensionMatcher.match("GL_ARB_texture_rectangle")) | - |
168 | extensions |= QOpenGLExtensions::TextureRectangle; | - |
169 | if (extensionMatcher.match("GL_ARB_texture_compression")) | - |
170 | extensions |= QOpenGLExtensions::TextureCompression; | - |
171 | if (extensionMatcher.match("GL_EXT_texture_compression_s3tc")) | - |
172 | extensions |= QOpenGLExtensions::DDSTextureCompression; | - |
173 | if (extensionMatcher.match("GL_OES_compressed_ETC1_RGB8_texture")) | - |
174 | extensions |= QOpenGLExtensions::ETC1TextureCompression; | - |
175 | if (extensionMatcher.match("GL_IMG_texture_compression_pvrtc")) | - |
176 | extensions |= QOpenGLExtensions::PVRTCTextureCompression; | - |
177 | if (extensionMatcher.match("GL_ARB_texture_mirrored_repeat")) | - |
178 | extensions |= QOpenGLExtensions::MirroredRepeat; | - |
179 | if (extensionMatcher.match("GL_EXT_stencil_two_side")) | - |
180 | extensions |= QOpenGLExtensions::StencilTwoSide; | - |
181 | if (extensionMatcher.match("GL_EXT_stencil_wrap")) | - |
182 | extensions |= QOpenGLExtensions::StencilWrap; | - |
183 | if (extensionMatcher.match("GL_NV_float_buffer")) | - |
184 | extensions |= QOpenGLExtensions::NVFloatBuffer; | - |
185 | if (extensionMatcher.match("GL_ARB_pixel_buffer_object")) | - |
186 | extensions |= QOpenGLExtensions::PixelBufferObject; | - |
187 | | - |
188 | if (ctx->isOpenGLES()) { | - |
189 | if (format.majorVersion() >= 2) | - |
190 | extensions |= QOpenGLExtensions::GenerateMipmap; | - |
191 | | - |
192 | if (format.majorVersion() >= 3) { | - |
193 | extensions |= QOpenGLExtensions::PackedDepthStencil | - |
194 | | QOpenGLExtensions::Depth24 | - |
195 | | QOpenGLExtensions::ElementIndexUint | - |
196 | | QOpenGLExtensions::MapBufferRange | - |
197 | | QOpenGLExtensions::FramebufferBlit | - |
198 | | QOpenGLExtensions::FramebufferMultisample | - |
199 | | QOpenGLExtensions::Sized8Formats; | - |
200 | } else { | - |
201 | | - |
202 | if (extensionMatcher.match("GL_OES_packed_depth_stencil")) | - |
203 | extensions |= QOpenGLExtensions::PackedDepthStencil; | - |
204 | if (extensionMatcher.match("GL_OES_depth24")) | - |
205 | extensions |= QOpenGLExtensions::Depth24; | - |
206 | if (extensionMatcher.match("GL_ANGLE_framebuffer_blit")) | - |
207 | extensions |= QOpenGLExtensions::FramebufferBlit; | - |
208 | if (extensionMatcher.match("GL_ANGLE_framebuffer_multisample")) | - |
209 | extensions |= QOpenGLExtensions::FramebufferMultisample; | - |
210 | if (extensionMatcher.match("GL_NV_framebuffer_blit")) | - |
211 | extensions |= QOpenGLExtensions::FramebufferBlit; | - |
212 | if (extensionMatcher.match("GL_NV_framebuffer_multisample")) | - |
213 | extensions |= QOpenGLExtensions::FramebufferMultisample; | - |
214 | if (extensionMatcher.match("GL_OES_rgb8_rgba8")) | - |
215 | extensions |= QOpenGLExtensions::Sized8Formats; | - |
216 | } | - |
217 | | - |
218 | if (extensionMatcher.match("GL_OES_mapbuffer")) | - |
219 | extensions |= QOpenGLExtensions::MapBuffer; | - |
220 | if (extensionMatcher.match("GL_OES_element_index_uint")) | - |
221 | extensions |= QOpenGLExtensions::ElementIndexUint; | - |
222 | | - |
223 | if (extensionMatcher.match("GL_IMG_texture_format_BGRA8888") || extensionMatcher.match("GL_EXT_texture_format_BGRA8888")) | - |
224 | extensions |= QOpenGLExtensions::BGRATextureFormat; | - |
225 | if (extensionMatcher.match("GL_EXT_discard_framebuffer")) | - |
226 | extensions |= QOpenGLExtensions::DiscardFramebuffer; | - |
227 | if (extensionMatcher.match("GL_EXT_texture_norm16")) | - |
228 | extensions |= QOpenGLExtensions::Sized16Formats; | - |
229 | } else { | - |
230 | extensions |= QOpenGLExtensions::ElementIndexUint | - |
231 | | QOpenGLExtensions::MapBuffer | - |
232 | | QOpenGLExtensions::Sized16Formats; | - |
233 | | - |
234 | if (format.version() >= qMakePair(1, 2)) | - |
235 | extensions |= QOpenGLExtensions::BGRATextureFormat; | - |
236 | | - |
237 | if (format.version() >= qMakePair(1, 4) || extensionMatcher.match("GL_SGIS_generate_mipmap")) | - |
238 | extensions |= QOpenGLExtensions::GenerateMipmap; | - |
239 | | - |
240 | if (format.majorVersion() >= 3 || extensionMatcher.match("GL_ARB_framebuffer_object")) { | - |
241 | extensions |= QOpenGLExtensions::FramebufferMultisample | - |
242 | | QOpenGLExtensions::FramebufferBlit | - |
243 | | QOpenGLExtensions::PackedDepthStencil | - |
244 | | QOpenGLExtensions::Sized8Formats; | - |
245 | } else { | - |
246 | | - |
247 | if (extensionMatcher.match("GL_EXT_framebuffer_multisample")) | - |
248 | extensions |= QOpenGLExtensions::FramebufferMultisample; | - |
249 | if (extensionMatcher.match("GL_EXT_framebuffer_blit")) | - |
250 | extensions |= QOpenGLExtensions::FramebufferBlit; | - |
251 | if (extensionMatcher.match("GL_EXT_packed_depth_stencil")) | - |
252 | extensions |= QOpenGLExtensions::PackedDepthStencil; | - |
253 | } | - |
254 | | - |
255 | if (format.version() >= qMakePair(3, 2) || extensionMatcher.match("GL_ARB_geometry_shader4")) | - |
256 | extensions |= QOpenGLExtensions::GeometryShaders; | - |
257 | | - |
258 | if (extensionMatcher.match("GL_ARB_map_buffer_range")) | - |
259 | extensions |= QOpenGLExtensions::MapBufferRange; | - |
260 | | - |
261 | if (extensionMatcher.match("GL_EXT_framebuffer_sRGB")) { | - |
262 | GLboolean srgbCapableFramebuffers = false; | - |
263 | ctx->functions()->glGetBooleanv(0x8DBA, &srgbCapableFramebuffers); | - |
264 | if (srgbCapableFramebuffers) | - |
265 | extensions |= QOpenGLExtensions::SRGBFrameBuffer; | - |
266 | } | - |
267 | } | - |
268 | | - |
269 | return extensions; | - |
270 | } | - |
271 | QOpenGLFunctions::OpenGLFeatures QOpenGLFunctions::openGLFeatures() const | - |
272 | { | - |
273 | QOpenGLFunctionsPrivateEx *d = static_cast<QOpenGLFunctionsPrivateEx *>(d_ptr); | - |
274 | if (!d) | - |
275 | return 0; | - |
276 | if (d->m_features == -1) | - |
277 | d->m_features = qt_gl_resolve_features(); | - |
278 | return QOpenGLFunctions::OpenGLFeatures(d->m_features); | - |
279 | } | - |
280 | bool QOpenGLFunctions::hasOpenGLFeature(QOpenGLFunctions::OpenGLFeature feature) const | - |
281 | { | - |
282 | QOpenGLFunctionsPrivateEx *d = static_cast<QOpenGLFunctionsPrivateEx *>(d_ptr); | - |
283 | if (!d) | - |
284 | return false; | - |
285 | if (d->m_features == -1) | - |
286 | d->m_features = qt_gl_resolve_features(); | - |
287 | return (d->m_features & int(feature)) != 0; | - |
288 | } | - |
289 | QOpenGLExtensions::OpenGLExtensions QOpenGLExtensions::openGLExtensions() | - |
290 | { | - |
291 | QOpenGLFunctionsPrivateEx *d = static_cast<QOpenGLFunctionsPrivateEx *>(d_ptr); | - |
292 | if (!d) | - |
293 | return 0; | - |
294 | if (d->m_extensions == -1) | - |
295 | d->m_extensions = qt_gl_resolve_extensions(); | - |
296 | return QOpenGLExtensions::OpenGLExtensions(d->m_extensions); | - |
297 | } | - |
298 | bool QOpenGLExtensions::hasOpenGLExtension(QOpenGLExtensions::OpenGLExtension extension) const | - |
299 | { | - |
300 | QOpenGLFunctionsPrivateEx *d = static_cast<QOpenGLFunctionsPrivateEx *>(d_ptr); | - |
301 | if (!d) | - |
302 | return false; | - |
303 | if (d->m_extensions == -1) | - |
304 | d->m_extensions = qt_gl_resolve_extensions(); | - |
305 | return (d->m_extensions & int(extension)) != 0; | - |
306 | } | - |
307 | void QOpenGLFunctions::initializeOpenGLFunctions() | - |
308 | { | - |
309 | d_ptr = qt_gl_functions(); | - |
310 | } | - |
311 | namespace { | - |
| | |
| enum ResolvePolicy | |
| { | |
| ResolveOES = 0x1, | |
| ResolveEXT = 0x2, | |
| ResolveANGLE = 0x4, | |
| ResolveNV = 0x8 | |
| }; | |
| | |
| template <typename Base, typename FuncType, int Policy, typename ReturnType> | |
| class Resolver | |
| { | |
| public: | |
| Resolver(FuncType Base::*func, FuncType fallback, const char *name, const char *alternateName = 0) | |
| : funcPointerName(func) | |
| , fallbackFuncPointer(fallback) | |
| , funcName(name) | |
| , alternateFuncName(alternateName) | |
| { | |
| } | |
| | |
| ReturnType operator()(); | |
| | |
| template <typename P1> | |
| ReturnType operator()(P1 p1); | |
| | |
| template <typename P1, typename P2> | |
| ReturnType operator()(P1 p1, P2 p2); | |
| | |
| template <typename P1, typename P2, typename P3> | |
| ReturnType operator()(P1 p1, P2 p2, P3 p3); | |
| | |
| template <typename P1, typename P2, typename P3, typename P4> | |
| ReturnType operator()(P1 p1, P2 p2, P3 p3, P4 p4); | |
| | |
| template <typename P1, typename P2, typename P3, typename P4, typename P5> | |
| ReturnType operator()(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5); | |
| | |
| template <typename P1, typename P2, typename P3, typename P4, typename P5, typename P6> | |
| ReturnType operator()(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6); | |
| | |
| template <typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7> | |
| ReturnType operator()(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7); | |
| | |
| template <typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7, typename P8> | |
| ReturnType operator()(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7, P8 p8); | |
| | |
| template <typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7, typename P8, typename P9> | |
| ReturnType operator()(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7, P8 p8, P9 p9); | |
| | |
| template <typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7, typename P8, typename P9, typename P10> | |
| ReturnType operator()(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7, P8 p8, P9 p9, P10 p10); | |
| | |
| template <typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7, typename P8, typename P9, typename P10, typename P11> | |
| ReturnType operator()(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7, P8 p8, P9 p9, P10 p10, P11 p11); | |
| | |
| private: | |
| FuncType Base::*funcPointerName; | |
| FuncType fallbackFuncPointer; | |
| QByteArray funcName; | |
| QByteArray alternateFuncName; | |
| }; | |
| | |
| template <typename Base, typename FuncType, int Policy> | |
| class Resolver<Base, FuncType, Policy, void>{ | |
312 | | - |
313 | | - |
314 | | - |
315 | | - |
| public: | |
| Resolverstatic QFunctionPointer getProcAddress(FuncType Base::*func, FuncType fallback, const charQOpenGLContext *namecontext, const char *alternateName = 0) | |
| : funcPointerName(func) | |
| , fallbackFuncPointer(fallback) | |
| , funcName(name) | |
| , alternateFuncName(alternateName) | |
| { | |
| } | |
| | |
| void operator()(); | |
| | |
| template <typename P1> | |
| void operator()(P1 p1); | |
| | |
| template <typename P1, typename P2> | |
| void operator()(P1 p1, P2 p2); | |
| | |
| template <typename P1, typename P2, typename P3> | |
| void operator()(P1 p1, P2 p2, P3 p3); | |
| | |
| template <typename P1, typename P2, typename P3, typename P4> | |
| void operator()(P1 p1, P2 p2, P3 p3, P4 p4); | |
| | |
| template <typename P1, typename P2, typename P3, typename P4, typename P5> | |
| void operator()(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5); | |
| | |
| template <typename P1, typename P2, typename P3, typename P4, typename P5, typename P6> | |
| void operator()(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6); | |
| | |
| template <typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7> | |
| void operator()(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7); | |
| | |
| template <typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7, typename P8> | |
| void operator()(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7, P8 p8); | |
| | |
| template <typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7, typename P8, typename P9> | |
| void operator()(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7, P8 p8, P9 p9); | |
| | |
| template <typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7, typename P8, typename P9, typename P10> | |
| void operator()(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7, P8 p8, P9 p9, P10 p10); | |
| | |
| template <typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7, typename P8, typename P9, typename P10, typename P11> | |
| void operator()(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7, P8 p8, P9 p9, P10 p10, P11 p11); | |
| | |
| private: | |
| FuncType Base::*funcPointerName; | |
| FuncType fallbackFuncPointer; | |
| QByteArray funcName; | |
| QByteArray alternateFuncName; | |
| }; | |
| template <typename Base, typename FuncType, int Policy, typename ReturnType> | |
| ReturnType Resolver<Base, FuncType, Policy, ReturnType>::operator()() | |
| { | |
| QOpenGLContext *context = QOpenGLContext::currentContext(); Base*funcs = qt_gl_functions(context); FuncType old = funcs->*funcPointerName; funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName); if ((Policy & ResolveOES) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "OES"); if (!(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "ARB"); if ((Policy & ResolveEXT) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "EXT"); if ((Policy & ResolveANGLE) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName+ "ANGLE"); if ((Policy & ResolveNV) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType) | |
| context->getProcAddress(funcName + "NV"); if (!alternateFuncName.isEmpty() && !(funcs->*funcPointerName)){ | |
318 | funcs->*funcPointerName = (FuncType)context->getProcAddress(alternateFuncName); if ((Policy & ResolveOES) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(alternateFuncName + "OES"); if (!(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(alternateFuncName + "ARB"); if ((Policy & ResolveEXT) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(alternateFuncName + "EXT"); if ((Policy & ResolveANGLE) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "ANGLE"); if ((Policy & ResolveNV) && !(funcs->*funcPointerName)) funcs->*funcPointerNameQFunctionPointer function = (FuncType)context->getProcAddress(funcName+ "NV"); | - |
319 | | - |
320 | } if (!(funcs->*funcPointerName)) { if (fallbackFuncPointer) { funcs->*funcPointerName = fallbackFuncPointer; } else { funcs->*funcPointerName = old; return ReturnType(); } } | - |
| | |
| return (funcs->*funcPointerName)(); | |
| } | |
| | |
| template <typename Base, typename FuncType, int Policy, typename ReturnType> template <typename P1> | |
| ReturnType Resolver<Base, FuncType, Policy, ReturnType>::operator()(P1 p1)static const struct { | |
321 | QOpenGLContext *context = QOpenGLContext::currentContext(); Baseconst char *funcs = qt_gl_functions(context); FuncType old = funcs->*funcPointerName; funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName); if ((Policy & ResolveOES) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "OES"); if (!(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "ARB"); if ((Policy & ResolveEXT) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "EXT"); if ((Policy & ResolveANGLE) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "ANGLE"); if ((Policy & ResolveNV) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "NV"); if (!alternateFuncName.isEmpty() && !(funcs->*funcPointerName)) { funcs->*funcPointerName = (FuncType)context->getProcAddress(alternateFuncName); if ((Policy & ResolveOES) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(alternateFuncName + "OES"); if (!(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(alternateFuncName + "ARB"); if ((Policy & ResolveEXT) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(alternateFuncName + "EXT"); if ((Policy & ResolveANGLE) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "ANGLE"); if ((Policy & ResolveNV) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "NV"); } if (!(funcs->*funcPointerName)) { if (fallbackFuncPointer) { funcs->*funcPointerName = fallbackFuncPointer; } else { funcs->*funcPointerName = oldname; | - |
322 | return ReturnType(); } } | - |
| | |
| return (funcs->*funcPointerName)(p1); | |
| } | |
| | |
| template <typename Base, typename FuncType,int Policy, typename ReturnType> template <typename P1, typename P2> | |
| ReturnType Resolver<Base, FuncType, Policy, ReturnType>::operator()(P1 p1, P2 p2) | |
| { | |
| QOpenGLContext *context = QOpenGLContext::currentContext(); Base *funcs = qt_gl_functions(context); FuncType old = funcs->*funcPointerName; funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName); if ((Policy & ResolveOES) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "OES"); if (!(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "ARB"); if ((Policy & ResolveEXT) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "EXT"); if ((Policy & ResolveANGLE) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "ANGLE"); if ((Policy & ResolveNV) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "NV"); if (!alternateFuncName.isEmpty() && !(funcs->*funcPointerName)) { funcs->*funcPointerName = (FuncType)context->getProcAddress(alternateFuncName); if ((Policy & ResolveOES) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(alternateFuncName + "OES"); if (!(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(alternateFuncName + "ARB"); if ((Policy & ResolveEXT) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(alternateFuncName + "EXT"); if ((Policy & ResolveANGLE) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "ANGLE"); if ((Policy & ResolveNV) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "NV"); } if (!(funcs->*funcPointerName)) { if (fallbackFuncPointer) { funcs->*funcPointerName = fallbackFuncPointerlen; | |
323 | } else { funcs->*funcPointerNameextensions[] = old; return ReturnType(); } } | - |
| | |
| return (funcs->*funcPointerName)(p1, p2); | |
| } | |
| | |
| template <typename Base, typename FuncType, int Policy, typename ReturnType> template <typename P1, typename P2, typename P3> | |
| ReturnType Resolver<Base, FuncType, Policy, ReturnType>::operator()(P1 p1, P2 p2, P3 p3){ | |
324 | QOpenGLContext *context = QOpenGLContext::currentContext(); Base *funcs = qt_gl_functions(context); FuncType old = funcs->*funcPointerName; funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName); if ((Policy & ResolveOES) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "OES"); if (!(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "ARB"); if ((Policy & ResolveEXT) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "EXT"); if ((Policy & ResolveANGLE) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "ANGLE"); if ((Policy & ResolveNV) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "NV"); if (!alternateFuncName.isEmpty() && !(funcs->*funcPointerName)){funcs->*funcPointerName = (FuncType)context->getProcAddress(alternateFuncName); if ((Policy & ResolveOES) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(alternateFuncName + "OES"); if (!(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(alternateFuncName + "ARB"); if ((Policy & ResolveEXT) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(alternateFuncName + "EXT"); if ((Policy & ResolveANGLE) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "ANGLE"); if ((Policy & ResolveNV) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "NV"); } if (!(funcs->*funcPointerName)) { if (fallbackFuncPointer) { funcs->*funcPointerName = fallbackFuncPointer; } else { funcs->*funcPointerName = old; return ReturnType(); } } | - |
| | |
| return (funcs->*funcPointerName)(p1, p2, p3); | |
| } | |
| | |
| template <typename Base, typename FuncType, int Policy, typename ReturnType> template <typename P1, typename P2, typename P3, typename P4> | |
| ReturnType Resolver<Base, FuncType, Policy, ReturnType>::operator()(P1 p1, P2 p2, P3 p3, P4 p4) | |
| { | |
| QOpenGLContext *context = QOpenGLContext::currentContext(); Base *funcs = qt_gl_functions(context); FuncType old = funcs->*funcPointerName; funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName); if ((Policy & ResolveOES) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "OES"); if (!(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "ARB"); if ((Policy & ResolveEXT) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "EXT"); if ((Policy & ResolveANGLE) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "ANGLE"); if ((Policy & ResolveNV) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "NV"); if (!alternateFuncName.isEmpty() && !(funcs->*funcPointerName))4 }, | |
325 | {funcs->*funcPointerName = (FuncType)context->getProcAddress(alternateFuncName); if ((Policy & ResolveOES) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(alternateFuncName + "OES"); if (!(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(alternateFuncName + "ARB"); if ((Policy & ResolveEXT) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(alternateFuncName + "EXT"); if ((Policy & ResolveANGLE) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "ANGLE"); if ((Policy & ResolveNV) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "NV"); } if (!(funcs->*funcPointerName)) { if (fallbackFuncPointer) { funcs->*funcPointerName = fallbackFuncPointer; } else { funcs->*funcPointerName = old; return ReturnType(); } } | - |
| | |
| return (funcs->*funcPointerName)(p1, p2, p3, p4); | |
| } | |
| | |
| template <typename Base, typename FuncType, int Policy, typename ReturnType> template <typename P1, typename P2, typename P3, typename P4, typename P5> | |
| ReturnType Resolver<Base, FuncType, Policy, ReturnType>::operator()(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5) | |
| { | |
| QOpenGLContext *context = QOpenGLContext::currentContext(); Base *funcs = qt_gl_functions(context); FuncType old = funcs->*funcPointerName; funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName); if ((Policy & ResolveOES) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "OES"); if (!(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "ARB"); if ((Policy & ResolveEXT) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "EXT"); if ((Policy & ResolveANGLE) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "ANGLE"); if ((Policy & ResolveNV) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "NV"); if (!alternateFuncName.isEmpty() && !(funcs->*funcPointerName))4 }, | |
326 | {funcs->*funcPointerName = (FuncType)context->getProcAddress(alternateFuncName); if ((Policy & ResolveOES) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(alternateFuncName + "OES"); if (!(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(alternateFuncName + "ARB"); if ((Policy & ResolveEXT) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(alternateFuncName + "EXT"); if ((Policy & ResolveANGLE) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "ANGLE"); if ((Policy & ResolveNV) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "NV"); } if (!(funcs->*funcPointerName)) { if (fallbackFuncPointer) { funcs->*funcPointerName = fallbackFuncPointer; } else { funcs->*funcPointerName = old; return ReturnType(); } } | - |
| | |
| return (funcs->*funcPointerName)(p1, p2, p3, p4, p5); | |
| } | |
| | |
| template <typename Base, typename FuncType, int Policy, typename ReturnType> template <typename P1, typename P2, typename P3, typename P4, typename P5, typename P6> | |
| ReturnType Resolver<Base, FuncType, Policy, ReturnType>::operator()(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6) | |
| { | |
| QOpenGLContext *context = QOpenGLContext::currentContext(); Base *funcs = qt_gl_functions(context); FuncType old = funcs->*funcPointerName; funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName); if ((Policy & ResolveOES) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "OES"); if (!(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "ARB"); if ((Policy & ResolveEXT) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "EXT"); if ((Policy & ResolveANGLE) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "ANGLE"); if ((Policy & ResolveNV) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "NV"); if (!alternateFuncName.isEmpty() && !(funcs->*funcPointerName))4 }, | |
327 | {funcs->*funcPointerName = (FuncType)context->getProcAddress(alternateFuncName); if ((Policy & ResolveOES) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(alternateFuncName + "OES"); if (!(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(alternateFuncName + "ARB"); if ((Policy & ResolveEXT) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(alternateFuncName + "EXT"); if ((Policy & ResolveANGLE) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "ANGLE"); if ((Policy & ResolveNV) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "NV"); } if (!(funcs->*funcPointerName)) { if (fallbackFuncPointer) { funcs->*funcPointerName = fallbackFuncPointer; } else { funcs->*funcPointerName = old; return ReturnType(); } } | - |
| | |
| return (funcs->*funcPointerName)(p1, p2, p3, p4, p5, p6); | |
| } | |
| | |
| template <typename Base, typename FuncType, int Policy, typename ReturnType> template <typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7> | |
| ReturnType Resolver<Base, FuncType, Policy, ReturnType>::operator()(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7) | |
| { | |
| QOpenGLContext *context = QOpenGLContext::currentContext(); Base *funcs = qt_gl_functions(context); FuncType old = funcs->*funcPointerName; funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName); if ((Policy & ResolveOES) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "OES"); if (!(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "ARB"); if ((Policy & ResolveEXT) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "EXT"); if ((Policy & ResolveANGLE) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "ANGLE"); if ((Policy & ResolveNV) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "NV"); if (!alternateFuncName.isEmpty() && !(funcs->*funcPointerName))6 }, | |
328 | {funcs->*funcPointerName = (FuncType)context->getProcAddress(alternateFuncName); if ((Policy & ResolveOES) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(alternateFuncName + "OES"); if (!(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(alternateFuncName + "ARB"); if ((Policy & ResolveEXT) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(alternateFuncName + "EXT"); if ((Policy & ResolveANGLE) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "ANGLE"); if ((Policy & ResolveNV) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "NV"); } if (!(funcs->*funcPointerName)) { if (fallbackFuncPointer) { funcs->*funcPointerName = fallbackFuncPointer; } else { funcs->*funcPointerName = old; return ReturnType(); } } | - |
| | |
| return (funcs->*funcPointerName)(p1, p2, p3, p4, p5, p6, p7); | |
| } | |
| | |
| template <typename Base, typename FuncType, int Policy, typename ReturnType> template <typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7, typename P8> | |
| ReturnType Resolver<Base, FuncType, Policy, ReturnType>::operator()(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7, P8 p8) | |
| { | |
| QOpenGLContext *context = QOpenGLContext::currentContext(); Base *funcs = qt_gl_functions(context); FuncType old = funcs->*funcPointerName; funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName); if ((Policy & ResolveOES) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "OES"); if (!(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "ARB"); if ((Policy & ResolveEXT) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "EXT"); if ((Policy & ResolveANGLE) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "ANGLE"); if ((Policy & ResolveNV) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "NV");3 }, | |
329 | }; | - |
330 | | - |
331 | if (!alternateFuncName.isEmpty() && !(funcs->*funcPointerName)) { funcs->*funcPointerName = (FuncType)context->getProcAddress(alternateFuncName); if ((Policy & ResolveOES) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(alternateFuncName + "OES"); if (!(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(alternateFuncName + "ARB"); if ((Policy & ResolveEXT) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(alternateFuncName + "EXT"); if ((Policy & ResolveANGLE) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "ANGLE"); if ((Policy & ResolveNV) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "NV"); } if (!(funcs->*funcPointerName)) { if (fallbackFuncPointer) { funcs->*funcPointerName = fallbackFuncPointer; } else { funcs->*funcPointerName = old; return ReturnType(); } }TRUE | never evaluated | FALSE | never evaluated |
| 0 |
| | |
| return (funcs->*funcPointerName)(p1, p2, p3, p4, p5, p6, p7, p8);TRUE | never evaluated | FALSE | never evaluated |
| |
| }TRUE | never evaluated | FALSE | never evaluated |
| |
| | |
| template <typename Base, typename FuncType, int Policy, typename ReturnType> template <typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7, typename P8, typename P9>TRUE | never evaluated | FALSE | never evaluated |
| |
| ReturnType Resolver<Base, FuncType, Policy, ReturnType>::operator()(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7, P8 p8, P9 p9)TRUE | never evaluated | FALSE | never evaluated |
| |
| {TRUE | never evaluated | FALSE | never evaluated |
| |
| QOpenGLContext *context = QOpenGLContext::currentContext(); Base *funcs = qt_gl_functions(context); FuncType old = funcs->*funcPointerName; funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName); if ((Policy & ResolveOES) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "OES"); if (!(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "ARB"); if ((Policy & ResolveEXT) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "EXT"); if ((Policy & ResolveANGLE) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "ANGLE"); if ((Policy & ResolveNV) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncTypeTRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
functionTRUE | never evaluated | FALSE | never evaluated |
) context->getProcAddress(funcName + "NV"); if (!alternateFuncName.isEmpty() && !(funcs->*funcPointerName)){ | |
332 | funcs->*funcPointerName = (FuncType)context->getProcAddress(alternateFuncName); if ((Policy & ResolveOES) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(alternateFuncName + "OES"); if (!(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(alternateFuncName + "ARB"); if ((Policy & ResolveEXT) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(alternateFuncName + "EXT"); if ((Policy & ResolveANGLE) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "ANGLE"); if ((Policy & ResolveNV) && !(funcs->*funcPointerName)) funcs->*funcPointerNamechar fn[512]; | - |
333 | size_t size = (FuncType)context->getProcAddressstrlen(funcName+ "NV"); } if (!(funcs->*funcPointerName)) { if (fallbackFuncPointer) { funcs->*funcPointerName = fallbackFuncPointer; } else { funcs->*funcPointerName = old; return ReturnType(); } } | - |
| | |
| return (funcs->*funcPointerName)(p1, p2, p3, p4, p5, p6, p7, p8, p9); | |
334 | } | - |
| | |
| template <typename Base, typename FuncType, int Policy, typename ReturnType> template <typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7, typename P8, typename P9, typename P10> | |
| ReturnType Resolver((!(size < Base, FuncType, Policy, ReturnType>::operator()(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7, P8 p8, P9 p9, P10 p10) | |
| { | |
| QOpenGLContext *context = QOpenGLContext::currentContext(); Base *funcs = qt_gl_functions(context); FuncType old = funcs->*funcPointerName; funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName); if ((Policy & ResolveOES) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "OES"); if (!(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "ARB"); if ((Policy & ResolveEXT) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "EXT"); if ((Policy & ResolveANGLE) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "ANGLE"); if ((Policy & ResolveNV) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "NV"); if (!alternateFuncName.isEmpty() && !(funcs->*funcPointerName)) { funcs->*funcPointerName = (FuncType)context->getProcAddress(alternateFuncName); if ((Policy & ResolveOES) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(alternateFuncName + "OES"); if (!(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(alternateFuncName + "ARB"); if ((Policy & ResolveEXT) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(alternateFuncName + "EXT"); if ((Policy & ResolveANGLE) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "ANGLE"); if ((Policy & ResolveNV) && !(funcs->*funcPointerName500)) funcs->*funcPointerName = (FuncType)context->getProcAddress? qt_assert(funcName +"size "NV"); } if (!(funcs->*funcPointerName)) { if (fallbackFuncPointer) { funcs->*funcPointerName = fallbackFuncPointer; } else { funcs->*funcPointerName = old; return ReturnType(); } } | |
| | |
| return (funcs->*funcPointerName)(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10); | |
| } | |
| | |
| template <typename Base, typename FuncType, int Policy> | |
| void Resolver<Base, FuncType, Policy, void>::operator()() | |
| { | |
| QOpenGLContext *context = QOpenGLContext::currentContext(); Base *funcs = qt_gl_functions(context); FuncType old = funcs->*funcPointerName; funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName); if ((Policy & ResolveOES) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "OES"); if (!(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "ARB"); if ((Policy & ResolveEXT) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "EXT"); if ((Policy & ResolveANGLE) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "ANGLE"); if ((Policy & ResolveNV) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "NV"); if (!alternateFuncName.isEmpty() && !(funcs->*funcPointerName)) { funcs->*funcPointerName = (FuncType)context->getProcAddress(alternateFuncName); if ((Policy & ResolveOES) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(alternateFuncName + "OES"); if (!(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(alternateFuncName + "ARB"); if ((Policy & ResolveEXT) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(alternateFuncName + "EXT"); if ((Policy & ResolveANGLE) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "ANGLE"); if ((Policy & ResolveNV) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "NV"); } if (!(funcs->*funcPointerName)) { if (fallbackFuncPointer) { funcs->*funcPointerName = fallbackFuncPointer; } else { funcs->*funcPointerName = old; return; } } | |
| | |
| (funcs->*funcPointerName)(); | |
| } | |
| | |
| template <typename Base, typename FuncType, int Policy> template <typename P1> | |
| void Resolver<Base, FuncType500",Policy__FILE__,void>::operator()(P1 p1) | |
| { | |
| QOpenGLContext *context = QOpenGLContext::currentContext(); Base *funcs = qt_gl_functions(context); FuncType old = funcs->*funcPointerName; funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName); if ((Policy & ResolveOES) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "OES"); if (!(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "ARB"); if ((Policy & ResolveEXT) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "EXT"); if ((Policy & ResolveANGLE) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "ANGLE"); if ((Policy & ResolveNV) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "NV"); if (!alternateFuncName.isEmpty() && !(funcs->*funcPointerName)) { funcs->*funcPointerName = (FuncType)context->getProcAddress(alternateFuncName); if ((Policy & ResolveOES) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(alternateFuncName + "OES"); if (!(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(alternateFuncName + "ARB"); if ((Policy & ResolveEXT) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(alternateFuncName + "EXT"); if ((Policy & ResolveANGLE) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "ANGLE"); if ((Policy & ResolveNV) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "NV"); } if (!(funcs->*funcPointerName)) { if (fallbackFuncPointer2126) { funcs->*funcPointerName = fallbackFuncPointer; } else { funcs->*funcPointerName = old; return; } }: qt_noop()); | |
335 | memcpy(funcs->*funcPointerName)(p1); | - |
| } | |
| | |
| template <typename Base, typename FuncType, int Policy> template <typename P1, typename P2> | |
| void Resolver<Base, FuncType, Policy, void>::operator()(P1 p1fn, P2 p2) | |
| { | |
| QOpenGLContext *context = QOpenGLContext::currentContext(); Base *funcs = qt_gl_functions(context); FuncType old = funcs->*funcPointerName; funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName); if ((Policy & ResolveOES) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "OES"); if (!(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "ARB"); if ((Policy & ResolveEXT) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "EXT"); if ((Policy & ResolveANGLE) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "ANGLE"); if ((Policy & ResolveNV) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "NV"); if (!alternateFuncName.isEmpty() && !(funcs->*funcPointerName)) { funcs->*funcPointerName = (FuncType)context->getProcAddress(alternateFuncName); if ((Policy & ResolveOES) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(alternateFuncName + "OES"); if (!(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(alternateFuncName + "ARB"); if ((Policy & ResolveEXT) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(alternateFuncName + "EXT"); if ((Policy & ResolveANGLE) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "ANGLE"); if ((Policy & ResolveNV) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName+ "NV"); } if (!(funcs->*funcPointerName)) { if (fallbackFuncPointer) { funcs->*funcPointerName = fallbackFuncPointer; } else { funcs->*funcPointerName = old; return; } } | |
| | |
| (funcs->*funcPointerName)(p1, p2size); | |
336 | } | - |
| | |
| template <typename Base, typename FuncType, int Policy> template <typename P1, typename P2, typename P3> | |
| void Resolver<Base, FuncType, Policy, void>::operator()(P1 p1, P2 p2, P3 p3) | |
| { | |
| QOpenGLContext *context = QOpenGLContext::currentContext(); Basechar *funcs = qt_gl_functions(context); FuncType old = funcs->*funcPointerName; funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName); if ((Policy & ResolveOES) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "OES"); if (!(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "ARB"); if ((Policy & ResolveEXT) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "EXT"); if ((Policy & ResolveANGLE) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "ANGLE"); if ((Policy & ResolveNV) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "NV"); if (!alternateFuncName.isEmpty() && !(funcs->*funcPointerName)) { funcs->*funcPointerName = (FuncType)context->getProcAddress(alternateFuncName); if ((Policy & ResolveOES) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(alternateFuncName + "OES"); if (!(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(alternateFuncName + "ARB"); if ((Policy & ResolveEXT) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(alternateFuncName + "EXT"); if ((Policy & ResolveANGLE) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "ANGLE"); if ((Policy & ResolveNV) && !(funcs->*funcPointerName)) funcs->*funcPointerNameext = (FuncType)context->getProcAddress(funcNamefn + "NV"); } if (!(funcs->*funcPointerName)) { if (fallbackFuncPointer) { funcs->*funcPointerName = fallbackFuncPointer; } else { funcs->*funcPointerName = old; return; } } | |
| | |
| (funcs->*funcPointerName)(p1, p2, p3); | |
| } | |
| | |
| template <typename Base, typename FuncType, int Policy> template <typename P1, typename P2, typename P3, typename P4> | |
| void Resolver<Base, FuncType, Policy, void>::operator()(P1 p1, P2 p2, P3 p3, P4 p4) | |
| { | |
| QOpenGLContext *context = QOpenGLContext::currentContext(); Base *funcs = qt_gl_functions(context); FuncType old = funcs->*funcPointerNamesize; | |
337 | | - |
338 | funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName); if ((Policy & ResolveOES) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "OES"); if (!(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "ARB"); if ((Policy & ResolveEXT) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "EXT"); if ((Policy & ResolveANGLE) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "ANGLE"); if ((Policy & ResolveNV) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "NV"); if (!alternateFuncName.isEmpty() && !(funcs->*funcPointerName)) { funcs->*funcPointerName = (FuncType)context->getProcAddress(alternateFuncName); if ((Policy & ResolveOES) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(alternateFuncName + "OES"); if (!(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(alternateFuncName + "ARB"); if ((Policy & ResolveEXT) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(alternateFuncName + "EXT"); if ((Policy & ResolveANGLE) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "ANGLE"); if ((Policy & ResolveNV) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "NV"); } if (!(funcs->*funcPointerName)) { iffor (fallbackFuncPointerconst auto &e : extensions) { funcs->*funcPointerName = fallbackFuncPointer; } else{ | - |
339 | funcs->*funcPointerName = old; return; } }memcpy(funcs->*funcPointerName)(p1, p2, p3, p4); | - |
| } | |
| | |
| template <typename Base, typename FuncType, int Policy> template <typename P1, typename P2, typename P3, typename P4, typename P5> | |
| void Resolver<Base, FuncType, Policy, void>::operator()(P1 p1, P2 p2, P3 p3, P4 p4ext, P5 p5) | |
| { | |
| QOpenGLContext *context = QOpenGLContext::currentContext(); Base *funcs = qt_gl_functions(context); FuncType old = funcs->*funcPointerName; funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName); if ((Policy & ResolveOES) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "OES"); if (!(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "ARB"); if ((Policy & ResolveEXT) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "EXT"); if ((Policy & ResolveANGLE) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "ANGLE"); if ((Policy & ResolveNV) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "NV"); if (!alternateFuncNamee.isEmpty() && !(funcs->*funcPointerName)) { funcs->*funcPointerName = (FuncType)context->getProcAddress(alternateFuncName); if ((Policy & ResolveOES) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(alternateFuncName + "OES"); if (!(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(alternateFuncName + "ARB"); if ((Policy & ResolveEXT) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(alternateFuncName + "EXT"); if ((Policy & ResolveANGLE) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "ANGLE"); if ((Policy & ResolveNV) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "NV"); } if (!(funcs->*funcPointerName)) { if (fallbackFuncPointer) { funcs->*funcPointerName = fallbackFuncPointer; } else { funcs->*funcPointerName = old; return; } } | |
| | |
| (funcs->*funcPointerName)(p1, p2, p3, p4, p5); | |
| } | |
| | |
| template <typename Base, typename FuncType, int Policy> template <typename P1, typename P2, typename P3, typename P4, typename P5, typename P6> | |
| void Resolver<Base, FuncType, Policy, void>::operator()(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5name, P6 p6) | |
| { | |
| QOpenGLContext *context = QOpenGLContext::currentContext(); Base *funcs = qt_gl_functions(context); FuncType old = funcs->*funcPointerName; funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName); if ((Policy & ResolveOES) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "OES"); if (!(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "ARB"); if ((Policy & ResolveEXT) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "EXT"); if ((Policy & ResolveANGLE) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "ANGLE"); if ((Policy & ResolveNV) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "NV"); if (!alternateFuncNamee.isEmpty() && !(funcs->*funcPointerName)) { funcs->*funcPointerName = (FuncType)context->getProcAddress(alternateFuncName); if ((Policy & ResolveOES) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(alternateFuncName + "OES"); if (!(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(alternateFuncName + "ARB"); if ((Policy & ResolveEXT) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(alternateFuncName + "EXT"); if ((Policy & ResolveANGLE) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "ANGLE"len); | |
340 | if ((Policy & ResolveNV) && !(funcs->*funcPointerName)) funcs->*funcPointerNamefunction = (FuncType)context->getProcAddress(funcName + "NV"fn); | - |
341 | } if (!(funcs->*funcPointerName)) {if (fallbackFuncPointer) { funcs->*funcPointerName = fallbackFuncPointer; } else { funcs->*funcPointerName = old; return; } }(funcs->*funcPointerName)(p1, p2, p3, p4, p5, p6); | 0 |
| } | |
| | |
| template <typename Base, typename FuncType, int Policy> template <typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7> | |
| void Resolver<Base, FuncType, Policy, void>::operator()(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7functionTRUE | never evaluated | FALSE | never evaluated |
) | |
342 | { | 0 |
| QOpenGLContext *context = QOpenGLContext::currentContext(); Base *funcs = qt_gl_functions(context); FuncType old = funcs->*funcPointerNamebreak never executed: break; ;never executed: break; | |
343 | funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName); if ((Policy & ResolveOES) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "OES"); if (!(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "ARB"); if ((Policy & ResolveEXT) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "EXT"); if ((Policy & ResolveANGLE) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "ANGLE"); if ((Policy & ResolveNV) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "NV"); if (!alternateFuncName.isEmpty() && !(funcs->*funcPointerName)) { funcs->*funcPointerName = (FuncType)context->getProcAddress(alternateFuncName); if ((Policy & ResolveOES) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(alternateFuncName + "OES"); if (!(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(alternateFuncName + "ARB"); if ((Policy & ResolveEXT) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(alternateFuncName + "EXT"); if ((Policy & ResolveANGLE) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "ANGLE"); if ((Policy & ResolveNV) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "NV");} never executed: end of block | 0 |
344 | if (!(funcs->*funcPointerName)) { if (fallbackFuncPointer) { funcs->*funcPointerName = fallbackFuncPointer;} never executed: end of block | 0 |
345 | | - |
346 | else { funcs->*funcPointerName = old;return never executed: return function; function;never executed: return function; | 0 |
| } } | |
| | |
| (funcs->*funcPointerName)(p1, p2, p3, p4, p5, p6, p7);} | |
348 | | - |
| template <typename Base, typename FuncType, int Policy>template <typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7,typename P8Func> | |
| void Resolver<Base, FuncType, Policy, void>::operator()(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7, P8 p8) | |
| {Func resolve(QOpenGLContext *context= QOpenGLContext::currentContext(); Base, const char *funcs = qt_gl_functions(context); FuncType old = funcs->*funcPointerName; funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName); if ((Policy & ResolveOES) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "OES"); if (!(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "ARB"); if ((Policy & ResolveEXT) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "EXT"); if ((Policy & ResolveANGLE) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "ANGLE"); if ((Policy & ResolveNV) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "NV"); if (!alternateFuncName.isEmpty() && !(funcs->*funcPointerName)) { funcs->*funcPointerName = (FuncType)context->getProcAddress(alternateFuncName); if ((Policy & ResolveOES) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(alternateFuncName + "OES"); if (!(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(alternateFuncName + "ARB"); if ((Policy & ResolveEXT) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(alternateFuncName + "EXT"); if ((Policy & ResolveANGLE) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "ANGLE"); if ((Policy & ResolveNV) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "NV"); } if (!(funcs->*funcPointerName)) { if (fallbackFuncPointername, Func) | |
| { funcs->*funcPointerName = fallbackFuncPointer; } else{ | |
352 | funcs->*funcPointerName = old;return never executed: return reinterpret_cast<Func>(getProcAddress(context, name)); ; } }never executed: return reinterpret_cast<Func>(getProcAddress(context, name)); | 0 |
| | |
| (funcs->*funcPointerName)(p1, p2, p3, p4, p5, p6, p7, p8); never executed: return reinterpret_cast<Func>(getProcAddress(context, name)); | |
| } never executed: return reinterpret_cast<Func>(getProcAddress(context, name)); | |
| | |
| template <typename Base, typename FuncType, int Policy> template <typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7, typename P8, typename P9> never executed: return reinterpret_cast<Func>(getProcAddress(context, name)); | |
| void Resolver never executed: return reinterpret_cast<Func>(getProcAddress(context, name)); never executed: return reinterpret_cast<Func>(getProcAddress(context, name)); reinterpret_cast<Base, FuncType, Policy, void>::operator()(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7, P8 p8, P9 p9)never executed: return reinterpret_cast<Func>(getProcAddress(context, name)); | |
| { never executed: return reinterpret_cast<Func>(getProcAddress(context, name)); | |
| QOpenGLContext *context = QOpenGLContext::currentContext(); Base *funcs = qt_gl_functions(context); FuncType old = funcs->*funcPointerName; funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName); if ((Policy & ResolveOES) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "OES"); if (!(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "ARB"); if ((Policy & ResolveEXT) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "EXT"); if ((Policy & ResolveANGLE) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "ANGLE"); if ((Policy & ResolveNV) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "NV"); if (!alternateFuncName.isEmpty() && !(funcs->*funcPointerName)) { funcs->*funcPointerName = (FuncType)context->getProcAddress(alternateFuncName); if ((Policy & ResolveOES) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(alternateFuncName + "OES"); if (!(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(alternateFuncName + "ARB"); if ((Policy & ResolveEXT) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(alternateFuncName + "EXT"); if ((Policy & ResolveANGLE) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context-> never executed: return reinterpret_cast<Func>(getProcAddress(context, name)); never executed: return reinterpret_cast<Func>(getProcAddress(context, name)); Func>(getProcAddress(funcName + "ANGLE"); if ((Policy & ResolveNV) && !(funcs->*funcPointerName)) funcs->*funcPointerName =(FuncType)context->getProcAddress(funcName + "NV"); } if (!(funcs->*funcPointerName)) { if (fallbackFuncPointer) { funcs->*funcPointerName = fallbackFuncPointer; } else { funcs->*funcPointerName = old; return; } }never executed: return reinterpret_cast<Func>(getProcAddress(context, name)); | |
| | |
| (funcs->*funcPointerName)(p1, p2, p3, p4, p5, p6, p7, p8 never executed: return reinterpret_cast<Func>(getProcAddress(context, name)); never executed: return reinterpret_cast<Func>(getProcAddress(context, name)); , p9);name));never executed: return reinterpret_cast<Func>(getProcAddress(context, name)); | |
353 | } | - |
354 | | - |
| template <typename Base, typename FuncType, int Policy> template <typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7, typename P8, typename P9, typename P10> | |
| void Resolver<Base, FuncType, Policy,} | |
356 | | - |
357 | | - |
358 | | - |
359 | | - |
360 | | - |
361 | | - |
362 | | - |
363 | static void >::operator()(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7, P8 p8, P9 p9, P10 p10qopenglfSpecialClearDepthf(GLclampf depth) | - |
364 | { | - |
365 | QOpenGLContext *context = QOpenGLContext::currentContext(); | - |
366 | BaseQOpenGLFunctionsPrivate *funcs = qt_gl_functions(context); FuncType old = funcs->*funcPointerName; funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName); if ((Policy & ResolveOES) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "OES"); if (!(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "ARB"); if ((Policy & ResolveEXT) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "EXT"); if ((Policy & ResolveANGLE) && !(funcs->*funcPointerName)) funcs->*funcPointerName =(FuncType)context->getProcAddress(funcName + "ANGLE"); | - |
367 | if ((Policy & ResolveNV) && !(funcs->*funcPointerName))funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "NV"); if (!alternateFuncNamef.isEmpty() && !(funcs->*funcPointerName)) { funcs->*funcPointerName = (FuncType)context->getProcAddress(alternateFuncName); if ((Policy & ResolveOES) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(alternateFuncName + "OES"); if (!(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(alternateFuncName + "ARB"); if ((Policy & ResolveEXT) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(alternateFuncName + "EXT"); if ((Policy & ResolveANGLE) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "ANGLE"); ifClearDepth((Policy & ResolveNV) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "NV"); } if (!(funcs->*funcPointerName)) { if (fallbackFuncPointerGLdouble) { funcs->*funcPointerName = fallbackFuncPointer; } else { funcs->*funcPointerName = old; return; } } | - |
| | |
| (funcs->*funcPointerName)(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10depth); | |
368 | } never executed: end of block | 0 |
369 | | - |
| template <typename Base, typename FuncType, int Policy> template <typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7, typename P8, typename P9, typename P10, typename P11> | |
| void Resolver<Base, FuncType, Policy,static void >::operator()(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7, P8 p8, P9 p9, P10 p10qopenglfSpecialDepthRangef(GLclampf zNear, P11 p11GLclampf zFar) | |
371 | { | - |
372 | QOpenGLContext *context = QOpenGLContext::currentContext(); | - |
373 | BaseQOpenGLFunctionsPrivate *funcs = qt_gl_functions(context); FuncType old = funcs->*funcPointerName; funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName); if ((Policy & ResolveOES) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "OES"); if (!(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "ARB"); if ((Policy & ResolveEXT) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "EXT"); if ((Policy & ResolveANGLE) && !(funcs->*funcPointerName)) funcs->*funcPointerName =(FuncType)context->getProcAddress(funcName + "ANGLE"); | - |
374 | if ((Policy & ResolveNV) && !(funcs->*funcPointerName))funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "NV"); if (!alternateFuncNamef.isEmpty() && !(funcs->*funcPointerName)) { funcs->*funcPointerName = (FuncType)context->getProcAddress(alternateFuncName); if ((Policy & ResolveOES) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(alternateFuncName + "OES"); if (!(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(alternateFuncName + "ARB"); if ((Policy & ResolveEXT) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(alternateFuncName + "EXT"); if ((Policy & ResolveANGLE) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "ANGLE"); if ((Policy & ResolveNV) && !(funcs->*funcPointerName)) funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "NV"); } if (!(funcs->*funcPointerName)) { if (fallbackFuncPointer) { funcs->*funcPointerName = fallbackFuncPointer; } else { funcs->*funcPointerName = old; return; } } | - |
| | |
| (funcs->*funcPointerName)(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11); | |
| } | |
| | |
| template <typename ReturnType, int Policy, typename Base, typename FuncType> | |
| Resolver<Base, FuncType, Policy, ReturnType> functionResolverWithFallback(FuncType Base::*func, FuncType fallback, const char *name, const char *alternate = 0) | |
| { | |
| return Resolver<Base, FuncType, Policy, ReturnType>(func, fallback, name, alternate); | |
| } | |
| | |
| template <typename ReturnType, int Policy, typename Base, typename FuncType> | |
| Resolver<Base, FuncType, Policy, ReturnType> functionResolver(FuncType Base::*func, const char *name, const char *alternate = 0) | |
| { | |
| return Resolver<Base, FuncType, Policy, ReturnType>(func, 0, name, alternate); | |
| } | |
| | |
| } | |
| static void qopenglfResolveBindTexture(GLenum target, GLuint texture) | |
| { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::BindTexture, "gl" "BindTexture")(target, texture); | |
| } | |
| | |
| static void qopenglfResolveBlendFunc(GLenum sfactor, GLenum dfactor) | |
| { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::BlendFunc, "gl" "BlendFunc")(sfactor, dfactor); | |
| } | |
| | |
| static void qopenglfResolveClear(GLbitfield mask) | |
| { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::Clear, "gl" "Clear")(mask); | |
| } | |
| | |
| static void qopenglfResolveClearColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha) | |
| { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::ClearColor, "gl" "ClearColor")(red, green, blue, alpha); | |
| } | |
| | |
| static void qopenglfResolveClearDepthf(GLclampf depth) | |
| { | |
| if (QOpenGLContext::currentContext()->isOpenGLES()) { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::ClearDepthf, "gl" "ClearDepthf")(depth); | |
| } else { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::ClearDepth, "gl" "ClearDepth")((GLdouble) depth); | |
| } | |
| } | |
| | |
| static void qopenglfResolveClearStencil(GLint s) | |
| { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::ClearStencil, "gl" "ClearStencil")(s); | |
| } | |
| | |
| static void qopenglfResolveColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha) | |
| { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::ColorMask, "gl" "ColorMask")(red, green, blue, alpha); | |
| } | |
| | |
| static void qopenglfResolveCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border) | |
| { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::CopyTexImage2D, "gl" "CopyTexImage2D")(target, level, internalformat, x, y, width, height, border); | |
| } | |
| | |
| static void qopenglfResolveCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height) | |
| { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::CopyTexSubImage2D, "gl" "CopyTexSubImage2D")(target, level, xoffset, yoffset, x, y, width, height); | |
| } | |
| | |
| static void qopenglfResolveCullFace(GLenum mode) | |
| { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::CullFace, "gl" "CullFace")(mode); | |
| } | |
| | |
| static void qopenglfResolveDeleteTextures(GLsizei n, const GLuint* textures) | |
| { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::DeleteTextures, "gl" "DeleteTextures")(n, textures); | |
| } | |
| | |
| static void qopenglfResolveDepthFunc(GLenum func) | |
| { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::DepthFunc, "gl" "DepthFunc")(func); | |
| } | |
| | |
| static void qopenglfResolveDepthMask(GLboolean flag) | |
| { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::DepthMask, "gl" "DepthMask")(flag); | |
| } | |
| | |
| static void qopenglfResolveDepthRangef(GLclampf zNear, GLclampf zFar) | |
| { | |
| if (QOpenGLContext::currentContext()->isOpenGLES()) { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::DepthRangef, "gl" "DepthRangef")(zNear, zFar); | |
| } else { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::DepthRange, "gl" "DepthRange")((((GLdouble) zNear, (GLdouble) zFar); | |
| } | |
| } | |
| | |
| static void qopenglfResolveDisable(GLenum cap) | |
| { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::Disable, "gl" "Disable")(cap); | |
| } | |
| | |
| static void qopenglfResolveDrawArrays(GLenum mode, GLint first, GLsizei count) | |
| { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::DrawArrays, "gl" "DrawArrays")(mode, first, count); | |
| } | |
| | |
| static void qopenglfResolveDrawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid* indices) | |
| { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::DrawElements, "gl" "DrawElements")(mode, count, type, indices); | |
| } | |
| | |
| static void qopenglfResolveEnable(GLenum cap) | |
| { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::Enable, "gl" "Enable")(cap); | |
| } | |
| | |
| static void qopenglfResolveFinish() | |
| { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::Finish, "gl" "Finish")(); | |
| } | |
| | |
| static void qopenglfResolveFlush() | |
| { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::Flush, "gl" "Flush")(); | |
| } | |
| | |
| static void qopenglfResolveFrontFace(GLenum mode) | |
| { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::FrontFace, "gl" "FrontFace")(mode); | |
| } | |
| | |
| static void qopenglfResolveGenTextures(GLsizei n, GLuint* textures) | |
| { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::GenTextures, "gl" "GenTextures")(n, textures); | |
| } | |
| | |
| static void qopenglfResolveGetBooleanv(GLenum pname, GLboolean* params) | |
| { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::GetBooleanv, "gl" "GetBooleanv")(pname, params); | |
| } | |
| | |
| static GLenum qopenglfResolveGetError() | |
| { | |
| return functionResolver<GLenum, 0>(&QOpenGLExtensionsPrivate::GetError, "gl" "GetError")(); | |
| } | |
| | |
| static void qopenglfResolveGetFloatv(GLenum pname, GLfloat* params) | |
| { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::GetFloatv, "gl" "GetFloatv")(pname, params); | |
| } | |
| | |
| static void qopenglfResolveGetIntegerv(GLenum pname, GLint* params) | |
| { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::GetIntegerv, "gl" "GetIntegerv")(pname, params); | |
| } | |
| | |
| static const GLubyte * qopenglfResolveGetString(GLenum name) | |
| { | |
| return functionResolver<const GLubyte *, 0>(&QOpenGLExtensionsPrivate::GetString, "gl" "GetString")(name); | |
| } | |
| | |
| static void qopenglfResolveGetTexParameterfv(GLenum target, GLenum pname, GLfloat* params) | |
| { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::GetTexParameterfv, "gl" "GetTexParameterfv")(target, pname, params); | |
| } | |
| | |
| static void qopenglfResolveGetTexParameteriv(GLenum target, GLenum pname, GLint* params) | |
| { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::GetTexParameteriv, "gl" "GetTexParameteriv")(target, pname, params); | |
| } | |
| | |
| static void qopenglfResolveHint(GLenum target, GLenum mode) | |
| { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::Hint, "gl" "Hint")(target, mode); | |
| } | |
| | |
| static GLboolean qopenglfResolveIsEnabled(GLenum cap) | |
| { | |
| return functionResolver<GLboolean, 0>(&QOpenGLExtensionsPrivate::IsEnabled, "gl" "IsEnabled")(cap); | |
| } | |
| | |
| static GLboolean qopenglfResolveIsTexture(GLuint texture) | |
| { | |
| return functionResolver<GLboolean, 0>(&QOpenGLExtensionsPrivate::IsTexture, "gl" "IsTexture")(texture); | |
| } | |
| | |
| static void qopenglfResolveLineWidth(GLfloat width) | |
| { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::LineWidth, "gl" "LineWidth")(width); | |
| } | |
| | |
| static void qopenglfResolvePixelStorei(GLenum pname, GLint param) | |
| { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::PixelStorei, "gl" "PixelStorei")(pname, param); | |
| } | |
| | |
| static void qopenglfResolvePolygonOffset(GLfloat factor, GLfloat units) | |
| { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::PolygonOffset, "gl" "PolygonOffset")(factor, units); | |
| } | |
| | |
| static void qopenglfResolveReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid* pixels) | |
| { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::ReadPixels, "gl" "ReadPixels")(x, y, width, height, format, type, pixels); | |
| } | |
| | |
| static void qopenglfResolveScissor(GLint x, GLint y, GLsizei width, GLsizei height) | |
| { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::Scissor, "gl" "Scissor")(x, y, width, height); | |
| } | |
| | |
| static void qopenglfResolveStencilFunc(GLenum func, GLint ref, GLuint mask) | |
| { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::StencilFunc, "gl" "StencilFunc")(func, ref, mask); | |
| } | |
| | |
| static void qopenglfResolveStencilMask(GLuint mask) | |
| { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::StencilMask, "gl" "StencilMask")(mask); | |
| } | |
| | |
| static void qopenglfResolveStencilOp(GLenum fail, GLenum zfail, GLenum zpass) | |
| { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::StencilOp, "gl" "StencilOp")(fail, zfail, zpass); | |
| } | |
| | |
| static void qopenglfResolveTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid* pixels) | |
| { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::TexImage2D, "gl" "TexImage2D")(target, level, internalformat, width, height, border, format, type, pixels); | |
| } | |
| | |
| static void qopenglfResolveTexParameterf(GLenum target, GLenum pname, GLfloat param) | |
| { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::TexParameterf, "gl" "TexParameterf")(target, pname, param); | |
| } | |
| | |
| static void qopenglfResolveTexParameterfv(GLenum target, GLenum pname, const GLfloat* params) | |
| { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::TexParameterfv, "gl" "TexParameterfv")(target, pname, params); | |
| } | |
| | |
| static void qopenglfResolveTexParameteri(GLenum target, GLenum pname, GLint param) | |
| { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::TexParameteri, "gl" "TexParameteri")(target, pname, param); | |
| } | |
| | |
| static void qopenglfResolveTexParameteriv(GLenum target, GLenum pname, const GLint* params) | |
| { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::TexParameteriv, "gl" "TexParameteriv")(target, pname, params); | |
| } | |
| | |
| static void qopenglfResolveTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid* pixels) | |
| { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::TexSubImage2D, "gl" "TexSubImage2D")(target, level, xoffset, yoffset, width, height, format, type, pixels); | |
| } | |
| | |
| static void qopenglfResolveViewport(GLint x, GLint y, GLsizei width, GLsizei height) | |
| { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::Viewport, "gl" "Viewport")(x, y, width, height); | |
| } | |
| | |
| | |
| | |
| static void qopenglfResolveActiveTexture(GLenum texture) | |
| { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::ActiveTexture, "gl" "ActiveTexture")(texture); | |
| } | |
| | |
| static void qopenglfResolveAttachShader(GLuint program, GLuint shader) | |
| { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::AttachShader, "gl" "AttachShader", "gl" "AttachObject")(program, shader); | |
| } | |
| | |
| static void qopenglfResolveBindAttribLocation(GLuint program, GLuint index, const char* name) | |
| { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::BindAttribLocation, "gl" "BindAttribLocation")(program, index, name); | |
| } | |
| | |
| static void qopenglfResolveBindBuffer(GLenum target, GLuint buffer) | |
| { | |
| functionResolver<void, ResolveOES | ResolveEXT>(&QOpenGLExtensionsPrivate::BindBuffer, "gl" "BindBuffer")(target, buffer); | |
| } | |
| | |
| static void qopenglfResolveBindFramebuffer(GLenum target, GLuint framebuffer) | |
| { | |
| functionResolver<void, ResolveOES | ResolveEXT>(&QOpenGLExtensionsPrivate::BindFramebuffer, "gl" "BindFramebuffer")(target, framebuffer); | |
| } | |
| | |
| static void qopenglfResolveBindRenderbuffer(GLenum target, GLuint renderbuffer) | |
| { | |
| functionResolver<void, ResolveOES | ResolveEXT>(&QOpenGLExtensionsPrivate::BindRenderbuffer, "gl" "BindRenderbuffer")(target, renderbuffer); | |
| } | |
| | |
| static void qopenglfResolveBlendColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha) | |
| { | |
| functionResolver<void, ResolveOES | ResolveEXT>(&QOpenGLExtensionsPrivate::BlendColor, "gl" "BlendColor")(red, green, blue, alpha); | |
| } | |
| | |
| static void qopenglfResolveBlendEquation(GLenum mode) | |
| { | |
| functionResolver<void, ResolveOES | ResolveEXT>(&QOpenGLExtensionsPrivate::BlendEquation, "gl" "BlendEquation")(mode); | |
| } | |
| | |
| static void qopenglfResolveBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha) | |
| { | |
| functionResolver<void, ResolveOES | ResolveEXT>(&QOpenGLExtensionsPrivate::BlendEquationSeparate, "gl" "BlendEquationSeparate")(modeRGB, modeAlpha); | |
| } | |
| | |
| static void qopenglfResolveBlendFuncSeparate(GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha) | |
| { | |
| functionResolver<void, ResolveOES | ResolveEXT>(&QOpenGLExtensionsPrivate::BlendFuncSeparate, "gl" "BlendFuncSeparate")(srcRGB, dstRGB, srcAlpha, dstAlpha); | |
| } | |
| | |
| static void qopenglfResolveBufferData(GLenum target, qopengl_GLsizeiptr size, const void* data, GLenum usage) | |
| { | |
| functionResolver<void, ResolveOES | ResolveEXT>(&QOpenGLExtensionsPrivate::BufferData, "gl" "BufferData")(target, size, data, usage); | |
| } | |
| | |
| static void qopenglfResolveBufferSubData(GLenum target, qopengl_GLintptr offset, qopengl_GLsizeiptr size, const void* data) | |
| { | |
| functionResolver<void, ResolveOES | ResolveEXT>(&QOpenGLExtensionsPrivate::BufferSubData, "gl" "BufferSubData")(target, offset, size, data); | |
| } | |
| | |
| static GLenum qopenglfResolveCheckFramebufferStatus(GLenum target) | |
| { | |
| return functionResolver<GLenum, ResolveOES | ResolveEXT>(&QOpenGLExtensionsPrivate::CheckFramebufferStatus, "gl" "CheckFramebufferStatus")(target); | |
| } | |
| | |
| static void qopenglfResolveCompileShader(GLuint shader) | |
| { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::CompileShader, "gl" "CompileShader")(shader); | |
| } | |
| | |
| static void qopenglfResolveCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void* data) | |
| { | |
| functionResolver<void, ResolveOES | ResolveEXT>(&QOpenGLExtensionsPrivate::CompressedTexImage2D, "gl" "CompressedTexImage2D")(target, level, internalformat, width, height, border, imageSize, data); | |
| } | |
| | |
| static void qopenglfResolveCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void* data) | |
| { | |
| functionResolver<void, ResolveOES | ResolveEXT>(&QOpenGLExtensionsPrivate::CompressedTexSubImage2D, "gl" "CompressedTexSubImage2D")(target, level, xoffset, yoffset, width, height, format, imageSize, data); | |
| } | |
| | |
| static GLuint qopenglfResolveCreateProgram() | |
| { | |
| return functionResolver<GLuint, 0>(&QOpenGLExtensionsPrivate::CreateProgram, "gl" "CreateProgram", "gl" "CreateProgramObject")(); | |
| } | |
| | |
| static GLuint qopenglfResolveCreateShader(GLenum type) | |
| { | |
| return functionResolver<GLuint, 0>(&QOpenGLExtensionsPrivate::CreateShader, "gl" "CreateShader", "gl" "CreateShaderObject")(type); | |
| } | |
| | |
| static void qopenglfResolveDeleteBuffers(GLsizei n, const GLuint* buffers) | |
| { | |
| functionResolver<void, ResolveOES | ResolveEXT>(&QOpenGLExtensionsPrivate::DeleteBuffers, "gl" "DeleteBuffers")(n, buffers); | |
| } | |
| | |
| static void qopenglfResolveDeleteFramebuffers(GLsizei n, const GLuint* framebuffers) | |
| { | |
| functionResolver<void, ResolveOES | ResolveEXT>(&QOpenGLExtensionsPrivate::DeleteFramebuffers, "gl" "DeleteFramebuffers")(n, framebuffers); | |
| } | |
| | |
| static void qopenglfResolveDeleteProgram(GLuint program) | |
| { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::DeleteProgram, "gl" "DeleteProgram")(program); | |
| } | |
| | |
| static void qopenglfResolveDeleteRenderbuffers(GLsizei n, const GLuint* renderbuffers) | |
| { | |
| functionResolver<void, ResolveOES | ResolveEXT>(&QOpenGLExtensionsPrivate::DeleteRenderbuffers, "gl" "DeleteRenderbuffers")(n, renderbuffers); | |
| } | |
| | |
| static void qopenglfResolveDeleteShader(GLuint shader) | |
| { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::DeleteShader, "gl" "DeleteShader", "gl" "DeleteObject")(shader); | |
| } | |
| | |
| static void qopenglfResolveDetachShader(GLuint program, GLuint shader) | |
| { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::DetachShader, "gl" "DetachShader", "gl" "DetachObject")(program, shader); | |
| } | |
| | |
| static void qopenglfResolveDisableVertexAttribArray(GLuint index) | |
| { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::DisableVertexAttribArray, "gl" "DisableVertexAttribArray")(index); | |
| } | |
| | |
| static void qopenglfResolveEnableVertexAttribArray(GLuint index) | |
| { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::EnableVertexAttribArray, "gl" "EnableVertexAttribArray")(index); | |
| } | |
| | |
| static void qopenglfResolveFramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer) | |
| { | |
| functionResolver<void, ResolveOES | ResolveEXT>(&QOpenGLExtensionsPrivate::FramebufferRenderbuffer, "gl" "FramebufferRenderbuffer")(target, attachment, renderbuffertarget, renderbuffer); | |
| } | |
| | |
| static void qopenglfResolveFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) | |
| { | |
| functionResolver<void, ResolveOES | ResolveEXT>(&QOpenGLExtensionsPrivate::FramebufferTexture2D, "gl" "FramebufferTexture2D")(target, attachment, textarget, texture, level); | |
| } | |
| | |
| static void qopenglfResolveGenBuffers(GLsizei n, GLuint* buffers) | |
| { | |
| functionResolver<void, ResolveOES | ResolveEXT>(&QOpenGLExtensionsPrivate::GenBuffers, "gl" "GenBuffers")(n, buffers); | |
| } | |
| | |
| static void qopenglfResolveGenerateMipmap(GLenum target) | |
| { | |
| functionResolver<void, ResolveOES | ResolveEXT>(&QOpenGLExtensionsPrivate::GenerateMipmap, "gl" "GenerateMipmap")(target); | |
| } | |
| | |
| static void qopenglfResolveGenFramebuffers(GLsizei n, GLuint* framebuffers) | |
| { | |
| functionResolver<void, ResolveOES | ResolveEXT>(&QOpenGLExtensionsPrivate::GenFramebuffers, "gl" "GenFramebuffers")(n, framebuffers); | |
| } | |
| | |
| static void qopenglfResolveGenRenderbuffers(GLsizei n, GLuint* renderbuffers) | |
| { | |
| functionResolver<void, ResolveOES | ResolveEXT>(&QOpenGLExtensionsPrivate::GenRenderbuffers, "gl" "GenRenderbuffers")(n, renderbuffers); | |
| } | |
| | |
| static void qopenglfResolveGetActiveAttrib(GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, char* name) | |
| { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::GetActiveAttrib, "gl" "GetActiveAttrib")(program, index, bufsize, length, size, type, name); | |
| } | |
| | |
| static void qopenglfResolveGetActiveUniform(GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, char* name) | |
| { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::GetActiveUniform, "gl" "GetActiveUniform")(program, index, bufsize, length, size, type, name); | |
| } | |
| | |
| static void qopenglfResolveGetAttachedShaders(GLuint program, GLsizei maxcount, GLsizei* count, GLuint* shaders) | |
| { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::GetAttachedShaders, "gl" "GetAttachedShaders", "gl" "GetAttachedObjects")(program, maxcount, count, shaders); | |
| } | |
| | |
| static GLint qopenglfResolveGetAttribLocation(GLuint program, const char* name) | |
| { | |
| return functionResolver<GLint, 0>(&QOpenGLExtensionsPrivate::GetAttribLocation, "gl" "GetAttribLocation")(program, name); | |
| } | |
| | |
| static void qopenglfResolveGetBufferParameteriv(GLenum target, GLenum pname, GLint* params) | |
| { | |
| functionResolver<void, ResolveOES | ResolveEXT>(&QOpenGLExtensionsPrivate::GetBufferParameteriv, "gl" "GetBufferParameteriv")(target, pname, params); | |
| } | |
| | |
| static void qopenglfResolveGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname, GLint* params) | |
| { | |
| functionResolver<void, ResolveOES | ResolveEXT>(&QOpenGLExtensionsPrivate::GetFramebufferAttachmentParameteriv, "gl" "GetFramebufferAttachmentParameteriv")(target, attachment, pname, params); | |
| } | |
| | |
| static void qopenglfResolveGetProgramiv(GLuint program, GLenum pname, GLint* params) | |
| { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::GetProgramiv, "gl" "GetProgramiv", "gl" "GetObjectParameteriv")(program, pname, params); | |
| } | |
| | |
| static void qopenglfResolveGetProgramInfoLog(GLuint program, GLsizei bufsize, GLsizei* length, char* infolog) | |
| { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::GetProgramInfoLog, "gl" "GetProgramInfoLog", "gl" "GetInfoLog")(program, bufsize, length, infolog); | |
| } | |
| | |
| static void qopenglfResolveGetRenderbufferParameteriv(GLenum target, GLenum pname, GLint* params) | |
| { | |
| functionResolver<void, ResolveOES | ResolveEXT>(&QOpenGLExtensionsPrivate::GetRenderbufferParameteriv, "gl" "GetRenderbufferParameteriv")(target, pname, params); | |
| } | |
| | |
| static void qopenglfResolveGetShaderiv(GLuint shader, GLenum pname, GLint* params) | |
| { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::GetShaderiv, "gl" "GetShaderiv", "gl" "GetObjectParameteriv")(shader, pname, params); | |
| } | |
| | |
| static void qopenglfResolveGetShaderInfoLog(GLuint shader, GLsizei bufsize, GLsizei* length, char* infolog) | |
| { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::GetShaderInfoLog, "gl" "GetShaderInfoLog", "gl" "GetInfoLog")(shader, bufsize, length, infolog); | |
375 | } never executed: end of block | 0 |
376 | | - |
377 | static void qopenglfSpecialGetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype, GLint* range, GLint* precision) | - |
378 | { | - |
379 | (void)shadertype;; | - |
380 | (void)precisiontype;; | - |
381 | range[0] = range[1] = precision[0] = 0; | - |
| } | |
| | |
| static void qopenglfResolveGetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype, GLint* range, GLint* precision) | |
| { | |
| functionResolverWithFallback<void, ResolveOES | ResolveEXT>(&QOpenGLExtensionsPrivate::GetShaderPrecisionFormat, qopenglfSpecialGetShaderPrecisionFormat, "gl" "GetShaderPrecisionFormat")(shadertype, precisiontype, range, precision); | |
| } | |
| | |
| static void qopenglfResolveGetShaderSource(GLuint shader, GLsizei bufsize, GLsizei* length, char* source) | |
| { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::GetShaderSource, "gl" "GetShaderSource")(shader, bufsize, length, source);} | |
383 | | - |
384 | static void qopenglfResolveGetUniformfvGLboolean qopenglfSpecialIsProgram(GLuint program, GLint location, GLfloat* params) | - |
385 | { | - |
386 | functionResolver<void, 0>(&QOpenGLExtensionsPrivate::GetUniformfv, "gl" "GetUniformfv")(program, location, params); | - |
| } | |
| | |
| static void qopenglfResolveGetUniformiv(GLuintreturn program , GLint location, GLint* params) | |
| { | |
| functionResolver<void,!= 0>(&QOpenGLExtensionsPrivate::GetUniformiv, "gl" "GetUniformiv")(program, location, params);; | |
387 | } | - |
388 | | - |
389 | static GLint qopenglfResolveGetUniformLocationGLboolean qopenglfSpecialIsShader(GLuint program, const char* nameshader) | - |
390 | { | - |
391 | return functionResolver<GLint,shader != 0>(&QOpenGLExtensionsPrivate::GetUniformLocation, "gl" "GetUniformLocation")(program, name);; | - |
392 | } | - |
393 | | - |
394 | static void qopenglfResolveGetVertexAttribfv(GLuint index, GLenum pname, GLfloat* params)qopenglfSpecialReleaseShaderCompiler() | - |
395 | { | - |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::GetVertexAttribfv, "gl" "GetVertexAttribfv")(index, pname, params);} | |
397 | | - |
398 | | - |
399 | | - |
400 | | - |
| static void qopenglfResolveGetVertexAttribivQOpenGLFunctionsPrivate::QOpenGLFunctionsPrivate(GLuint index, GLenum pname, GLintQOpenGLContext *paramsc) | |
402 | { | - |
403 | functionResolver<void, 0>(&QOpenGLExtensionsPrivate::GetVertexAttribiv, "gl" "GetVertexAttribiv")(index, pname, params); | - |
| } | |
| | |
| static void qopenglfResolveGetVertexAttribPointervinit(GLuint index, GLenum pname, void** pointer) | |
| { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::GetVertexAttribPointerv, "gl" "GetVertexAttribPointerv")(index, pname, pointerc); | |
404 | | - |
405 | | - |
406 | | - |
407 | } | 0 |
| | |
| static GLboolean qopenglfResolveIsBuffer(GLuint bufferif (!f.ClearDepthfTRUE | never evaluated | FALSE | never evaluated |
) | |
408 | { | 0 |
| return functionResolver<GLboolean, ResolveOES | ResolveEXT>(&QOpenGLExtensionsPrivate::IsBuffer, "gl" "IsBuffer")(buffer); | |
| } | |
| | |
| static GLboolean qopenglfResolveIsFramebuffer(GLuint framebufferf.ClearDepthf = qopenglfSpecialClearDepthf; never executed: f.ClearDepthf = qopenglfSpecialClearDepthf; | |
409 | if (!f.DepthRangefTRUE | never evaluated | FALSE | never evaluated |
) | 0 |
410 | { | 0 |
| return functionResolver<GLboolean, ResolveOES | ResolveEXT>(&QOpenGLExtensionsPrivate::IsFramebuffer, "gl" "IsFramebuffer")(framebuffer); | |
| } | |
| | |
| static GLboolean qopenglfSpecialIsProgram(GLuint programf.DepthRangef = qopenglfSpecialDepthRangef; never executed: f.DepthRangef = qopenglfSpecialDepthRangef; | |
411 | if (!f.GetShaderPrecisionFormatTRUE | never evaluated | FALSE | never evaluated |
) | 0 |
412 | { | 0 |
| return program != 0f.GetShaderPrecisionFormat = qopenglfSpecialGetShaderPrecisionFormat never executed: f.GetShaderPrecisionFormat = qopenglfSpecialGetShaderPrecisionFormat; ;never executed: f.GetShaderPrecisionFormat = qopenglfSpecialGetShaderPrecisionFormat; | |
413 | } | 0 |
| | |
| static GLboolean qopenglfResolveIsProgram(GLuint programif (!f.IsProgramTRUE | never evaluated | FALSE | never evaluated |
) | |
414 | { | 0 |
| return functionResolverWithFallback<GLboolean, 0>(&QOpenGLExtensionsPrivate::f. never executed: f.IsProgram = qopenglfSpecialIsProgram; IsProgram ,= qopenglfSpecialIsProgram, "gl" "IsProgram")(program);never executed: f.IsProgram = qopenglfSpecialIsProgram; | |
| } never executed: f.IsProgram = qopenglfSpecialIsProgram; | |
| | |
| static GLboolean qopenglfResolveIsRenderbuffer(GLuint renderbuffer) never executed: f.IsProgram = qopenglfSpecialIsProgram; | |
| { never executed: f.IsProgram = qopenglfSpecialIsProgram; | |
| return functionResolver<GLboolean, ResolveOES | ResolveEXT>(&QOpenGLExtensionsPrivate::IsRenderbuffer, "gl" "IsRenderbuffer")(renderbuffer); never executed: f.IsProgram = qopenglfSpecialIsProgram; | |
| } never executed: f.IsProgram = qopenglfSpecialIsProgram; | |
| | |
| static GLboolean qopenglfSpecialIsShader(GLuint shader) never executed: f.IsProgram = qopenglfSpecialIsProgram; | |
| { never executed: f.IsProgram = qopenglfSpecialIsProgram; | |
| return shader != 0 never executed: f.IsProgram = qopenglfSpecialIsProgram; never executed: f.IsProgram = qopenglfSpecialIsProgram; ;never executed: f.IsProgram = qopenglfSpecialIsProgram; | |
415 | } | 0 |
| | |
| static GLboolean qopenglfResolveIsShader(GLuint shaderif (!f.IsShaderTRUE | never evaluated | FALSE | never evaluated |
) | |
416 | { | 0 |
| return functionResolverWithFallback<GLboolean, 0>(&QOpenGLExtensionsPrivate::f. never executed: f.IsShader = qopenglfSpecialIsShader; IsShader ,= qopenglfSpecialIsShader, "gl" "IsShader")(shader);never executed: f.IsShader = qopenglfSpecialIsShader; | |
| } never executed: f.IsShader = qopenglfSpecialIsShader; | |
| | |
| static void qopenglfResolveLinkProgram(GLuint program never executed: f.IsShader = qopenglfSpecialIsShader; never executed: f.IsShader = qopenglfSpecialIsShader; ;never executed: f.IsShader = qopenglfSpecialIsShader; | |
417 | if (!f.ReleaseShaderCompilerTRUE | never evaluated | FALSE | never evaluated |
) | 0 |
418 | { | 0 |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::LinkProgram, "gl" "LinkProgram")(program); | |
| } | |
| | |
| static void qopenglfSpecialReleaseShaderCompiler() | |
| { | |
| } | |
| | |
| static void qopenglfResolveReleaseShaderCompiler() | |
| { | |
| functionResolverWithFallback<void, 0>(&QOpenGLExtensionsPrivate::f. never executed: f.ReleaseShaderCompiler = qopenglfSpecialReleaseShaderCompiler; ReleaseShaderCompiler ,= qopenglfSpecialReleaseShaderCompiler, "gl" "ReleaseShaderCompiler")();;never executed: f.ReleaseShaderCompiler = qopenglfSpecialReleaseShaderCompiler; | |
419 | | - |
420 | } never executed: end of block | 0 |
421 | | - |
422 | | - |
| staticvoid qopenglfResolveRenderbufferStorageQOpenGLFunctionsPrivate::init(GLenum target, GLenum internalformat, GLsizei width, GLsizei heightQOpenGLContext *context) { functionResolver<void, ResolveOES | ResolveEXT>(&QOpenGLExtensionsPrivate::RenderbufferStorage,const char *names = "gl""gl""BindTexture""\0" "RenderbufferStorage")(target, internalformat, width, height); | |
| } | |
| | |
| static void qopenglfResolveSampleCoverage(GLclampf value, GLboolean invert) | |
| { | |
| functionResolver<void, ResolveOES | ResolveEXT>(&QOpenGLExtensionsPrivate::SampleCoverage,"gl""BlendFunc""\0" "gl""gl""Clear""\0" "SampleCoverage")(value, invert); | |
| } | |
| | |
| static void qopenglfResolveShaderBinary(GLint n, const GLuint* shaders, GLenum binaryformat, const void* binary, GLint length) | |
| { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::ShaderBinary,"gl""ClearColor""\0" "gl""gl""ClearDepthf""\0" "ShaderBinary")(n, shaders, binaryformat, binary, length); | |
| } | |
| | |
| static void qopenglfResolveShaderSource(GLuint shader, GLsizei count, const char** string, const GLint* length) | |
| { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::ShaderSource,"gl""ClearStencil""\0" "gl""gl""ColorMask""\0" "ShaderSource")(shader, count, string, length); | |
| } | |
| | |
| static void qopenglfResolveStencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask) | |
| { | |
| functionResolver<void, ResolveEXT>(&QOpenGLExtensionsPrivate::StencilFuncSeparate,"gl""CopyTexImage2D""\0" "gl""gl""CopyTexSubImage2D""\0" "StencilFuncSeparate")(face, func, ref, mask); | |
| } | |
| | |
| static void qopenglfResolveStencilMaskSeparate(GLenum face, GLuint mask) | |
| { | |
| functionResolver<void, ResolveEXT>(&QOpenGLExtensionsPrivate::StencilMaskSeparate,"gl""CullFace""\0" "gl""gl""DeleteTextures""\0" "StencilMaskSeparate")(face, mask); | |
| } | |
| | |
| static void qopenglfResolveStencilOpSeparate(GLenum face, GLenum fail, GLenum zfail, GLenum zpass) | |
| { | |
| functionResolver<void, ResolveEXT>(&QOpenGLExtensionsPrivate::StencilOpSeparate,"gl""DepthFunc""\0" "gl""gl""DepthMask""\0" "StencilOpSeparate")(face, fail, zfail, zpass); | |
| } | |
| | |
| static void qopenglfResolveUniform1f(GLint location, GLfloat x) | |
| { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::Uniform1f,"gl""DepthRangef""\0" "gl""gl""Disable""\0" "Uniform1f")(location, x); | |
| } | |
| | |
| static void qopenglfResolveUniform1fv(GLint location, GLsizei count, const GLfloat* v) | |
| { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::Uniform1fv,"gl""DrawArrays""\0" "gl""gl""DrawElements""\0" "Uniform1fv")(location, count, v); | |
| } | |
| | |
| static void qopenglfResolveUniform1i(GLint location, GLint x) | |
| { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::Uniform1i,"gl""Enable""\0" "gl""gl""Finish""\0" "Uniform1i")(location, x); | |
| } | |
| | |
| static void qopenglfResolveUniform1iv(GLint location, GLsizei count, const GLint* v) | |
| { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::Uniform1iv,"gl""Flush""\0" "gl""gl""FrontFace""\0" "Uniform1iv")(location, count, v); | |
| } | |
| | |
| static void qopenglfResolveUniform2f(GLint location, GLfloat x, GLfloat y) | |
| { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::Uniform2f,"gl""GenTextures""\0" "gl""gl""GetBooleanv""\0" "Uniform2f")(location, x, y); | |
| } | |
| | |
| static void qopenglfResolveUniform2fv(GLint location, GLsizei count, const GLfloat* v) | |
| { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::Uniform2fv,"gl""GetError""\0" "gl""gl""GetFloatv""\0" "Uniform2fv")(location, count, v); | |
| } | |
| | |
| static void qopenglfResolveUniform2i(GLint location, GLint x, GLint y) | |
| { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::Uniform2i,"gl""GetIntegerv""\0" "gl""gl""GetString""\0" "Uniform2i")(location, x, y); | |
| } | |
| | |
| static void qopenglfResolveUniform2iv(GLint location, GLsizei count, const GLint* v) | |
| { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::Uniform2iv,"gl""GetTexParameterfv""\0" "gl""gl""GetTexParameteriv""\0" "Uniform2iv")(location, count, v); | |
| } | |
| | |
| static void qopenglfResolveUniform3f(GLint location, GLfloat x, GLfloat y, GLfloat z) | |
| { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::Uniform3f,"gl""Hint""\0" "gl""gl""IsEnabled""\0" "Uniform3f")(location, x, y, z); | |
| } | |
| | |
| static void qopenglfResolveUniform3fv(GLint location, GLsizei count, const GLfloat* v) | |
| { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::Uniform3fv,"gl""IsTexture""\0" "gl""gl""LineWidth""\0" "Uniform3fv")(location, count, v); | |
| } | |
| | |
| static void qopenglfResolveUniform3i(GLint location, GLint x, GLint y, GLint z) | |
| { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::Uniform3i,"gl""PixelStorei""\0" "gl""gl""PolygonOffset""\0" "Uniform3i")(location, x, y, z); | |
| } | |
| | |
| static void qopenglfResolveUniform3iv(GLint location, GLsizei count, const GLint* v) | |
| { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::Uniform3iv,"gl""ReadPixels""\0" "gl""gl""Scissor""\0" "Uniform3iv")(location, count, v); | |
| } | |
| | |
| static void qopenglfResolveUniform4f(GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w) | |
| { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::Uniform4f,"gl""StencilFunc""\0" "gl""gl""StencilMask""\0" "Uniform4f")(location, x, y, z, w); | |
| } | |
| | |
| static void qopenglfResolveUniform4fv(GLint location, GLsizei count, const GLfloat* v) | |
| { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::Uniform4fv,"gl""StencilOp""\0" "gl""gl""TexImage2D""\0" "Uniform4fv")(location, count, v); | |
| } | |
| | |
| static void qopenglfResolveUniform4i(GLint location, GLint x, GLint y, GLint z, GLint w) | |
| { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::Uniform4i,"gl""TexParameterf""\0" "gl""gl""TexParameterfv""\0" "Uniform4i")(location, x, y, z, w); | |
| } | |
| | |
| static void qopenglfResolveUniform4iv(GLint location, GLsizei count, const GLint* v) | |
| { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::Uniform4iv,"gl""TexParameteri""\0" "gl""gl""TexParameteriv""\0" "Uniform4iv")(location, count, v); | |
| } | |
| | |
| static void qopenglfResolveUniformMatrix2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) | |
| { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::UniformMatrix2fv,"gl""TexSubImage2D""\0" "gl""gl""Viewport""\0" "UniformMatrix2fv")(location, count, transpose, value); | |
| } | |
| | |
| static void qopenglfResolveUniformMatrix3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) | |
| { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::UniformMatrix3fv,"gl""ActiveTexture""\0" "gl""gl""AttachShader""\0" "UniformMatrix3fv")(location, count, transpose, value); | |
| } | |
| | |
| static void qopenglfResolveUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) | |
| { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::UniformMatrix4fv,"gl""BindAttribLocation""\0" "gl""gl""BindBuffer""\0" "UniformMatrix4fv")(location, count, transpose, value); | |
| } | |
| | |
| static void qopenglfResolveUseProgram(GLuint program) | |
| { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::UseProgram,"gl""BindFramebuffer""\0" "gl""gl""BindRenderbuffer""\0" "UseProgram")(program); | |
| } | |
| | |
| static void qopenglfResolveValidateProgram(GLuint program) | |
| { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::ValidateProgram,"gl""BlendColor""\0" "gl""gl""BlendEquation""\0" "ValidateProgram")(program); | |
| } | |
| | |
| static void qopenglfResolveVertexAttrib1f(GLuint indx, GLfloat x) | |
| { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::VertexAttrib1f,"gl""BlendEquationSeparate""\0" "gl""gl""BlendFuncSeparate""\0" "VertexAttrib1f")(indx, x); | |
| } | |
| | |
| static void qopenglfResolveVertexAttrib1fv(GLuint indx, const GLfloat* values) | |
| { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::VertexAttrib1fv,"gl""BufferData""\0" "gl""gl""BufferSubData""\0" "VertexAttrib1fv")(indx, values); | |
| } | |
| | |
| static void qopenglfResolveVertexAttrib2f(GLuint indx, GLfloat x, GLfloat y) | |
| { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::VertexAttrib2f,"gl""CheckFramebufferStatus""\0" "gl""gl""CompileShader""\0" "VertexAttrib2f")(indx, x, y); | |
| } | |
| | |
| static void qopenglfResolveVertexAttrib2fv(GLuint indx, const GLfloat* values) | |
| { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::VertexAttrib2fv,"gl""CompressedTexImage2D""\0" "gl""gl""CompressedTexSubImage2D""\0" "VertexAttrib2fv")(indx, values); | |
| } | |
| | |
| static void qopenglfResolveVertexAttrib3f(GLuint indx, GLfloat x, GLfloat y, GLfloat z) | |
| { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::VertexAttrib3f,"gl""CreateProgram""\0" "gl""gl""CreateShader""\0" "VertexAttrib3f")(indx, x, y, z); | |
| } | |
| | |
| static void qopenglfResolveVertexAttrib3fv(GLuint indx, const GLfloat* values) | |
| { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::VertexAttrib3fv,"gl""DeleteBuffers""\0" "gl""gl""DeleteFramebuffers""\0" "VertexAttrib3fv")(indx, values); | |
| } | |
| | |
| static void qopenglfResolveVertexAttrib4f(GLuint indx, GLfloat x, GLfloat y, GLfloat z, GLfloat w) | |
| { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::VertexAttrib4f,"gl""DeleteProgram""\0" "gl""gl""DeleteRenderbuffers""\0" "VertexAttrib4f")(indx, x, y, z, w); | |
| } | |
| | |
| static void qopenglfResolveVertexAttrib4fv(GLuint indx, const GLfloat* values) | |
| { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::VertexAttrib4fv,"gl""DeleteShader""\0" "gl""gl""DetachShader""\0" "VertexAttrib4fv")(indx, values); | |
| } | |
| | |
| static void qopenglfResolveVertexAttribPointer(GLuint indx, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void* ptr) | |
| { | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::VertexAttribPointer,"gl""DisableVertexAttribArray""\0" "gl""gl""EnableVertexAttribArray""\0" "VertexAttribPointer")(indx, size, type, normalized, stride, ptr); | |
| } | |
| | |
| | |
| | |
| | |
| | |
| static GLvoid * qopenglfResolveMapBuffer(GLenum target, GLenum access) | |
| { | |
| | |
| | |
| | |
| | |
| QOpenGLContext *ctx = QOpenGLContext::currentContext(); | |
| if (ctx->isOpenGLES() && ctx->format().majorVersion() >= 3) { | |
| QMessageLogger(__FILE__, 3238, __PRETTY_FUNCTION__).warning("QOpenGLFunctions:"gl""FramebufferRenderbuffer""\0" glMapBuffer"gl""FramebufferTexture2D""\0" is"gl""GenBuffers""\0" not"gl""GenerateMipmap""\0" available"gl""GenFramebuffers""\0" in"gl""GenRenderbuffers""\0" OpenGL"gl""GetActiveAttrib""\0" ES"gl""GetActiveUniform""\0" 3.0"gl""GetAttachedShaders""\0" and"gl""GetAttribLocation""\0" up."gl""GetBufferParameteriv""\0" Use"gl""GetFramebufferAttachmentParameteriv""\0" glMapBufferRange"gl""GetProgramiv""\0" instead."); | |
| return 0; | |
| } else { | |
| return functionResolver<GLvoid *, ResolveOES>(&QOpenGLExtensionsPrivate::MapBuffer,"gl""GetProgramInfoLog""\0" "gl""gl""GetRenderbufferParameteriv""\0" "MapBuffer")(target, access); | |
| } | |
| } | |
| | |
| static void qopenglfResolveGetBufferSubData(GLenum target, qopengl_GLintptr offset, qopengl_GLsizeiptr size, GLvoid *data) | |
| { | |
| functionResolver<void, ResolveEXT>(&QOpenGLExtensionsPrivate::GetBufferSubData,"gl""GetShaderiv""\0" "gl""gl""GetShaderInfoLog""\0" "GetBufferSubData") | |
| (target, offset, size, data); | |
| } | |
| | |
| static void qopenglfResolveDiscardFramebuffer(GLenum target, GLsizei numAttachments, const GLenum *attachments) | |
| { | |
| functionResolver<void, ResolveEXT>(&QOpenGLExtensionsPrivate::DiscardFramebuffer,"gl""GetShaderPrecisionFormat""\0" "gl""gl""GetShaderSource""\0" "DiscardFramebuffer")(target, numAttachments, attachments); | |
| } | |
| | |
| | |
| | |
| | |
| static void qopenglfTranslateClearDepthf(GLclampf depth) | |
| { | |
| ::glClearDepth(depth); | |
| } | |
| | |
| static void qopenglfTranslateDepthRangef(GLclampf zNear, GLclampf zFar) | |
| { | |
| ::glDepthRange(zNear, zFar); | |
| } | |
| | |
| | |
| QOpenGLFunctionsPrivate::QOpenGLFunctionsPrivate(QOpenGLContext *) | |
| { | |
| | |
| | |
| | |
| | |
| | |
| | |
| if (QGuiApplicationPrivate::platformIntegration()->hasCapability(QPlatformIntegration::AllGLFunctionsQueryable)) { | |
| | |
| BindTexture = qopenglfResolveBindTexture; | |
| BlendFunc = qopenglfResolveBlendFunc; | |
| Clear = qopenglfResolveClear; | |
| ClearColor = qopenglfResolveClearColor; | |
| ClearDepthf = qopenglfResolveClearDepthf; | |
| ClearStencil = qopenglfResolveClearStencil; | |
| ColorMask = qopenglfResolveColorMask; | |
| CopyTexImage2D = qopenglfResolveCopyTexImage2D; | |
| CopyTexSubImage2D = qopenglfResolveCopyTexSubImage2D; | |
| CullFace = qopenglfResolveCullFace; | |
| DeleteTextures = qopenglfResolveDeleteTextures; | |
| DepthFunc = qopenglfResolveDepthFunc; | |
| DepthMask = qopenglfResolveDepthMask; | |
| DepthRangef = qopenglfResolveDepthRangef; | |
| Disable = qopenglfResolveDisable; | |
| DrawArrays = qopenglfResolveDrawArrays; | |
| DrawElements = qopenglfResolveDrawElements; | |
| Enable = qopenglfResolveEnable; | |
| Finish = qopenglfResolveFinish; | |
| Flush = qopenglfResolveFlush; | |
| FrontFace = qopenglfResolveFrontFace; | |
| GenTextures = qopenglfResolveGenTextures; | |
| GetBooleanv = qopenglfResolveGetBooleanv; | |
| GetError = qopenglfResolveGetError; | |
| GetFloatv = qopenglfResolveGetFloatv; | |
| GetIntegerv = qopenglfResolveGetIntegerv; | |
| GetString = qopenglfResolveGetString; | |
| GetTexParameterfv = qopenglfResolveGetTexParameterfv; | |
| GetTexParameteriv = qopenglfResolveGetTexParameteriv; | |
| Hint = qopenglfResolveHint; | |
| IsEnabled = qopenglfResolveIsEnabled; | |
| IsTexture = qopenglfResolveIsTexture; | |
| LineWidth = qopenglfResolveLineWidth; | |
| PixelStorei = qopenglfResolvePixelStorei; | |
| PolygonOffset = qopenglfResolvePolygonOffset; | |
| ReadPixels = qopenglfResolveReadPixels; | |
| Scissor = qopenglfResolveScissor; | |
| StencilFunc = qopenglfResolveStencilFunc; | |
| StencilMask = qopenglfResolveStencilMask; | |
| StencilOp = qopenglfResolveStencilOp; | |
| TexImage2D = qopenglfResolveTexImage2D; | |
| TexParameterf = qopenglfResolveTexParameterf; | |
| TexParameterfv = qopenglfResolveTexParameterfv; | |
| TexParameteri = qopenglfResolveTexParameteri; | |
| TexParameteriv = qopenglfResolveTexParameteriv; | |
| TexSubImage2D = qopenglfResolveTexSubImage2D; | |
| Viewport = qopenglfResolveViewport; | |
| } else { | |
| | |
| | |
| BindTexture = ::glBindTexture; | |
| BlendFunc = ::glBlendFunc; | |
| Clear = ::glClear; | |
| ClearColor = ::glClearColor; | |
| ClearDepthf = qopenglfTranslateClearDepthf; | |
| ClearStencil = ::glClearStencil; | |
| ColorMask = ::glColorMask; | |
| CopyTexImage2D = ::glCopyTexImage2D; | |
| CopyTexSubImage2D = ::glCopyTexSubImage2D; | |
| CullFace = ::glCullFace; | |
| DeleteTextures = ::glDeleteTextures; | |
| DepthFunc = ::glDepthFunc; | |
| DepthMask = ::glDepthMask; | |
| DepthRangef = qopenglfTranslateDepthRangef; | |
| Disable = ::glDisable; | |
| DrawArrays = ::glDrawArrays; | |
| DrawElements = ::glDrawElements; | |
| Enable = ::glEnable; | |
| Finish = ::glFinish; | |
| Flush = ::glFlush; | |
| FrontFace = ::glFrontFace; | |
| GenTextures = ::glGenTextures; | |
| GetBooleanv = ::glGetBooleanv; | |
| GetError = ::glGetError; | |
| GetFloatv = ::glGetFloatv; | |
| GetIntegerv = ::glGetIntegerv; | |
| GetString = ::glGetString; | |
| GetTexParameterfv = ::glGetTexParameterfv; | |
| GetTexParameteriv = ::glGetTexParameteriv; | |
| Hint = ::glHint; | |
| IsEnabled = ::glIsEnabled; | |
| IsTexture = ::glIsTexture; | |
| LineWidth = ::glLineWidth; | |
| PixelStorei = ::glPixelStorei; | |
| PolygonOffset = ::glPolygonOffset; | |
| ReadPixels = ::glReadPixels; | |
| Scissor = ::glScissor; | |
| StencilFunc = ::glStencilFunc; | |
| StencilMask = ::glStencilMask; | |
| StencilOp = ::glStencilOp; | |
| | |
| | |
| | |
| TexImage2D = glTexImage2D; | |
| | |
| TexParameterf = ::glTexParameterf; | |
| TexParameterfv = ::glTexParameterfv; | |
| TexParameteri = ::glTexParameteri; | |
| TexParameteriv = ::glTexParameteriv; | |
| TexSubImage2D = ::glTexSubImage2D; | |
| Viewport = ::glViewport; | |
| | |
| | |
| | |
| | |
| } | |
| | |
| ActiveTexture = qopenglfResolveActiveTexture; | |
| AttachShader = qopenglfResolveAttachShader; | |
| BindAttribLocation = qopenglfResolveBindAttribLocation; | |
| BindBuffer = qopenglfResolveBindBuffer; | |
| BindFramebuffer = qopenglfResolveBindFramebuffer; | |
| BindRenderbuffer = qopenglfResolveBindRenderbuffer; | |
| BlendColor = qopenglfResolveBlendColor; | |
| BlendEquation = qopenglfResolveBlendEquation; | |
| BlendEquationSeparate = qopenglfResolveBlendEquationSeparate; | |
| BlendFuncSeparate = qopenglfResolveBlendFuncSeparate; | |
| BufferData = qopenglfResolveBufferData; | |
| BufferSubData = qopenglfResolveBufferSubData; | |
| CheckFramebufferStatus = qopenglfResolveCheckFramebufferStatus; | |
| CompileShader = qopenglfResolveCompileShader; | |
| CompressedTexImage2D = qopenglfResolveCompressedTexImage2D; | |
| CompressedTexSubImage2D = qopenglfResolveCompressedTexSubImage2D; | |
| CreateProgram = qopenglfResolveCreateProgram; | |
| CreateShader = qopenglfResolveCreateShader; | |
| DeleteBuffers = qopenglfResolveDeleteBuffers; | |
| DeleteFramebuffers = qopenglfResolveDeleteFramebuffers; | |
| DeleteProgram = qopenglfResolveDeleteProgram; | |
| DeleteRenderbuffers = qopenglfResolveDeleteRenderbuffers; | |
| DeleteShader = qopenglfResolveDeleteShader; | |
| DetachShader = qopenglfResolveDetachShader; | |
| DisableVertexAttribArray = qopenglfResolveDisableVertexAttribArray; | |
| EnableVertexAttribArray = qopenglfResolveEnableVertexAttribArray; | |
| FramebufferRenderbuffer = qopenglfResolveFramebufferRenderbuffer; | |
| FramebufferTexture2D = qopenglfResolveFramebufferTexture2D; | |
| GenBuffers = qopenglfResolveGenBuffers; | |
| GenerateMipmap = qopenglfResolveGenerateMipmap; | |
| GenFramebuffers = qopenglfResolveGenFramebuffers; | |
| GenRenderbuffers = qopenglfResolveGenRenderbuffers; | |
| GetActiveAttrib = qopenglfResolveGetActiveAttrib; | |
| GetActiveUniform = qopenglfResolveGetActiveUniform; | |
| GetAttachedShaders = qopenglfResolveGetAttachedShaders; | |
| GetAttribLocation = qopenglfResolveGetAttribLocation; | |
| GetBufferParameteriv = qopenglfResolveGetBufferParameteriv; | |
| GetFramebufferAttachmentParameteriv = qopenglfResolveGetFramebufferAttachmentParameteriv; | |
| GetProgramiv = qopenglfResolveGetProgramiv; | |
| GetProgramInfoLog = qopenglfResolveGetProgramInfoLog; | |
| GetRenderbufferParameteriv = qopenglfResolveGetRenderbufferParameteriv; | |
| GetShaderiv = qopenglfResolveGetShaderiv; | |
| GetShaderInfoLog = qopenglfResolveGetShaderInfoLog; | |
| GetShaderPrecisionFormat = qopenglfResolveGetShaderPrecisionFormat; | |
| GetShaderSource = qopenglfResolveGetShaderSource; | |
| GetUniformfv = qopenglfResolveGetUniformfv; | |
| GetUniformiv = qopenglfResolveGetUniformiv; | |
| GetUniformLocation = qopenglfResolveGetUniformLocation; | |
| GetVertexAttribfv = qopenglfResolveGetVertexAttribfv; | |
| GetVertexAttribiv = qopenglfResolveGetVertexAttribiv; | |
| GetVertexAttribPointerv = qopenglfResolveGetVertexAttribPointerv; | |
| IsBuffer = qopenglfResolveIsBuffer; | |
| IsFramebuffer = qopenglfResolveIsFramebuffer; | |
| IsProgram = qopenglfResolveIsProgram; | |
| IsRenderbuffer = qopenglfResolveIsRenderbuffer; | |
| IsShader = qopenglfResolveIsShader; | |
| LinkProgram = qopenglfResolveLinkProgram; | |
| ReleaseShaderCompiler = qopenglfResolveReleaseShaderCompiler; | |
| RenderbufferStorage = qopenglfResolveRenderbufferStorage; | |
| SampleCoverage = qopenglfResolveSampleCoverage; | |
| ShaderBinary = qopenglfResolveShaderBinary; | |
| ShaderSource = qopenglfResolveShaderSource; | |
| StencilFuncSeparate = qopenglfResolveStencilFuncSeparate; | |
| StencilMaskSeparate = qopenglfResolveStencilMaskSeparate; | |
| StencilOpSeparate = qopenglfResolveStencilOpSeparate; | |
| Uniform1f = qopenglfResolveUniform1f; | |
| Uniform1fv = qopenglfResolveUniform1fv; | |
| Uniform1i = qopenglfResolveUniform1i; | |
| Uniform1iv = qopenglfResolveUniform1iv; | |
| Uniform2f = qopenglfResolveUniform2f; | |
| Uniform2fv = qopenglfResolveUniform2fv; | |
| Uniform2i = qopenglfResolveUniform2i; | |
| Uniform2iv = qopenglfResolveUniform2iv; | |
| Uniform3f = qopenglfResolveUniform3f; | |
| Uniform3fv = qopenglfResolveUniform3fv; | |
| Uniform3i = qopenglfResolveUniform3i; | |
| Uniform3iv = qopenglfResolveUniform3iv; | |
| Uniform4f = qopenglfResolveUniform4f; | |
| Uniform4fv = qopenglfResolveUniform4fv; | |
| Uniform4i = qopenglfResolveUniform4i; | |
| Uniform4iv = qopenglfResolveUniform4iv; | |
| UniformMatrix2fv = qopenglfResolveUniformMatrix2fv; | |
| UniformMatrix3fv = qopenglfResolveUniformMatrix3fv; | |
| UniformMatrix4fv = qopenglfResolveUniformMatrix4fv; | |
| UseProgram = qopenglfResolveUseProgram; | |
| ValidateProgram = qopenglfResolveValidateProgram; | |
| VertexAttrib1f = qopenglfResolveVertexAttrib1f; | |
| VertexAttrib1fv = qopenglfResolveVertexAttrib1fv; | |
| VertexAttrib2f = qopenglfResolveVertexAttrib2f; | |
| VertexAttrib2fv = qopenglfResolveVertexAttrib2fv; | |
| VertexAttrib3f = qopenglfResolveVertexAttrib3f; | |
| VertexAttrib3fv = qopenglfResolveVertexAttrib3fv; | |
| VertexAttrib4f = qopenglfResolveVertexAttrib4f; | |
| VertexAttrib4fv = qopenglfResolveVertexAttrib4fv; | |
| VertexAttribPointer = qopenglfResolveVertexAttribPointer; | |
| | |
| } | |
| namespace { namespace Q_QGS_qgles3Helper { typedef QOpenGLES3Helper Type; QBasicAtomicInt guard = { QtGlobalStatic::Uninitialized }; __attribute__((visibility("hidden"))) inline Type *innerFunction() { struct HolderBase { ~HolderBase() noexcept { if (guard.load() == QtGlobalStatic::Initialized) guard.store(QtGlobalStatic::Destroyed); } }; static struct Holder : public HolderBase { Type value; Holder() noexcept(noexcept(Type ())) : value () { guard.store(QtGlobalStatic::Initialized); } } holder; return &holder.value; } } } static QGlobalStatic<QOpenGLES3Helper, Q_QGS_qgles3Helper::innerFunction, Q_QGS_qgles3Helper::guard> qgles3Helper; | |
| | |
| bool QOpenGLES3Helper::init() | |
| { | |
| m_gl.setFileNameAndVersion(([]() -> QString { enum { Size = sizeof(u"""gl""GetUniformfv""\0" "GLESv2")/2 - 1 }; static const QStaticStringData<Size> qstring_literal = { { { { -1 } }, Size, 0, 0, sizeof(QStringData) }, u"""gl""GetUniformiv""\0" "GLESv2" }; QStringDataPtr holder = { qstring_literal.data_ptr() }; const QString qstring_literal_temp(holder); return qstring_literal_temp; }()), 2); | |
| | |
| | |
| return m_gl.load(); | |
| | |
| | |
| | |
| } | |
| | |
| QFunctionPointer QOpenGLES3Helper::resolve(const char *name) | |
| { | |
| | |
| | |
| | |
| return m_gl.resolve(name); | |
| | |
| | |
| | |
| | |
| } | |
| | |
| QOpenGLES3Helper::QOpenGLES3Helper() | |
| { | |
| m_supportedVersion = qMakePair(2, 0); | |
| | |
| if (init()) { | |
| const QPair<int, int> contextVersion = QOpenGLContext::currentContext()->format().version(); | |
| | |
| for (bool qt_category_enabled = lcGLES3().isDebugEnabled(); qt_category_enabled; qt_category_enabled = false) QMessageLogger(__FILE__, 5801, __PRETTY_FUNCTION__, lcGLES3().categoryName()).debug("Resolving"gl""GetUniformLocation""\0" OpenGL"gl""GetVertexAttribfv""\0" ES"gl""GetVertexAttribiv""\0" 3.0"gl""GetVertexAttribPointerv""\0" entry"gl""IsBuffer""\0" points"); | |
| | |
| BeginQuery = (void ( *) (GLenum, GLuint)) resolve("glBeginQuery"); | |
| BeginTransformFeedback = (void ( *) (GLenum)) resolve("glBeginTransformFeedback"); | |
| BindBufferBase = (void ( *) (GLenum, GLuint, GLuint)) resolve("glBindBufferBase"); | |
| BindBufferRange = (void ( *) (GLenum, GLuint, GLuint, GLintptr, GLsizeiptr)) resolve("glBindBufferRange"); | |
| BindSampler = (void ( *) (GLuint, GLuint)) resolve("glBindSampler"); | |
| BindTransformFeedback = (void ( *) (GLenum, GLuint)) resolve("glBindTransformFeedback"); | |
| BindVertexArray = (void ( *) (GLuint)) resolve("glBindVertexArray"); | |
| BlitFramebuffer = (void ( *) (GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GLenum)) resolve("glBlitFramebuffer"); | |
| ClearBufferfi = (void ( *) (GLenum, GLint, GLfloat, GLint)) resolve("glClearBufferfi"); | |
| ClearBufferfv = (void ( *) (GLenum, GLint, const GLfloat *)) resolve("glClearBufferfv"); | |
| ClearBufferiv = (void ( *) (GLenum, GLint, const GLint *)) resolve("glClearBufferiv"); | |
| ClearBufferuiv = (void ( *) (GLenum, GLint, const GLuint *)) resolve("glClearBufferuiv"); | |
| ClientWaitSync = (GLenum ( *) (GLsync, GLbitfield, GLuint64)) resolve("glClientWaitSync"); | |
| CompressedTexImage3D = (void ( *) (GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, const void *)) resolve("glCompressedTexImage3D"); | |
| CompressedTexSubImage3D = (void ( *) (GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, const void *)) resolve("glCompressedTexSubImage3D"); | |
| CopyBufferSubData = (void ( *) (GLenum, GLenum, GLintptr, GLintptr, GLsizeiptr)) resolve("glCopyBufferSubData"); | |
| CopyTexSubImage3D = (void ( *) (GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei)) resolve("glCopyTexSubImage3D"); | |
| DeleteQueries = (void ( *) (GLsizei, const GLuint *)) resolve("glDeleteQueries"); | |
| DeleteSamplers = (void ( *) (GLsizei, const GLuint *)) resolve("glDeleteSamplers"); | |
| DeleteSync = (void ( *) (GLsync)) resolve("glDeleteSync"); | |
| DeleteTransformFeedbacks = (void ( *) (GLsizei, const GLuint *)) resolve("glDeleteTransformFeedbacks"); | |
| DeleteVertexArrays = (void ( *) (GLsizei, const GLuint *)) resolve("glDeleteVertexArrays"); | |
| DrawArraysInstanced = (void ( *) (GLenum, GLint, GLsizei, GLsizei)) resolve("glDrawArraysInstanced"); | |
| DrawBuffers = (void ( *) (GLsizei, const GLenum *)) resolve("glDrawBuffers"); | |
| DrawElementsInstanced = (void ( *) (GLenum, GLsizei, GLenum, const void *, GLsizei)) resolve("glDrawElementsInstanced"); | |
| DrawRangeElements = (void ( *) (GLenum, GLuint, GLuint, GLsizei, GLenum, const void *)) resolve("glDrawRangeElements"); | |
| EndQuery = (void ( *) (GLenum)) resolve("glEndQuery"); | |
| EndTransformFeedback = (void ( *) ()) resolve("glEndTransformFeedback"); | |
| FenceSync = (GLsync ( *) (GLenum, GLbitfield)) resolve("glFenceSync"); | |
| FlushMappedBufferRange = (void ( *) (GLenum, GLintptr, GLsizeiptr)) resolve("glFlushMappedBufferRange"); | |
| FramebufferTextureLayer = (void ( *) (GLenum, GLenum, GLuint, GLint, GLint)) resolve("glFramebufferTextureLayer"); | |
| GenQueries = (void ( *) (GLsizei, GLuint*)) resolve("glGenQueries"); | |
| GenSamplers = (void ( *) (GLsizei, GLuint*)) resolve("glGenSamplers"); | |
| GenTransformFeedbacks = (void ( *) (GLsizei, GLuint*)) resolve("glGenTransformFeedbacks"); | |
| GenVertexArrays = (void ( *) (GLsizei, GLuint*)) resolve("glGenVertexArrays"); | |
| GetActiveUniformBlockName = (void ( *) (GLuint, GLuint, GLsizei, GLsizei*, GLchar*)) resolve("glGetActiveUniformBlockName"); | |
| GetActiveUniformBlockiv = (void ( *) (GLuint, GLuint, GLenum, GLint*)) resolve("glGetActiveUniformBlockiv"); | |
| GetActiveUniformsiv = (void ( *) (GLuint, GLsizei, const GLuint *, GLenum, GLint*)) resolve("glGetActiveUniformsiv"); | |
| GetBufferParameteri64v = (void ( *) (GLenum, GLenum, GLint64*)) resolve("glGetBufferParameteri64v"); | |
| GetBufferPointerv = (void ( *) (GLenum, GLenum, void **)) resolve("glGetBufferPointerv"); | |
| GetFragDataLocation = (GLint ( *) (GLuint, const GLchar *)) resolve("glGetFragDataLocation"); | |
| GetInteger64i_v = (void ( *) (GLenum, GLuint, GLint64*)) resolve("glGetInteger64i_v"); | |
| GetInteger64v = (void ( *) (GLenum, GLint64*)) resolve("glGetInteger64v"); | |
| GetIntegeri_v = (void ( *) (GLenum, GLuint, GLint*)) resolve("glGetIntegeri_v"); | |
| GetInternalformativ = (void ( *) (GLenum, GLenum, GLenum, GLsizei, GLint*)) resolve("glGetInternalformativ"); | |
| GetProgramBinary = (void ( *) (GLuint, GLsizei, GLsizei*, GLenum*, void *)) resolve("glGetProgramBinary"); | |
| GetQueryObjectuiv = (void ( *) (GLuint, GLenum, GLuint*)) resolve("glGetQueryObjectuiv"); | |
| GetQueryiv = (void ( *) (GLenum, GLenum, GLint*)) resolve("glGetQueryiv"); | |
| GetSamplerParameterfv = (void ( *) (GLuint, GLenum, GLfloat*)) resolve("glGetSamplerParameterfv"); | |
| GetSamplerParameteriv = (void ( *) (GLuint, GLenum, GLint*)) resolve("glGetSamplerParameteriv"); | |
| GetStringi = (const GLubyte * ( *) (GLenum, GLuint)) resolve("glGetStringi"); | |
| GetSynciv = (void ( *) (GLsync, GLenum, GLsizei, GLsizei*, GLint*)) resolve("glGetSynciv"); | |
| GetTransformFeedbackVarying = (void ( *) (GLuint, GLuint, GLsizei, GLsizei*, GLsizei*, GLenum*, GLchar*)) resolve("glGetTransformFeedbackVarying"); | |
| GetUniformBlockIndex = (GLuint ( *) (GLuint, const GLchar *)) resolve("glGetUniformBlockIndex"); | |
| GetUniformIndices = (void ( *) (GLuint, GLsizei, const GLchar *const*, GLuint*)) resolve("glGetUniformIndices"); | |
| GetUniformuiv = (void ( *) (GLuint, GLint, GLuint*)) resolve("glGetUniformuiv"); | |
| GetVertexAttribIiv = (void ( *) (GLuint, GLenum, GLint*)) resolve("glGetVertexAttribIiv"); | |
| GetVertexAttribIuiv = (void ( *) (GLuint, GLenum, GLuint*)) resolve("glGetVertexAttribIuiv"); | |
| InvalidateFramebuffer = (void ( *) (GLenum, GLsizei, const GLenum *)) resolve("glInvalidateFramebuffer"); | |
| InvalidateSubFramebuffer = (void ( *) (GLenum, GLsizei, const GLenum *, GLint, GLint, GLsizei, GLsizei)) resolve("glInvalidateSubFramebuffer"); | |
| IsQuery = (GLboolean ( *) (GLuint)) resolve("glIsQuery"); | |
| IsSampler = (GLboolean ( *) (GLuint)) resolve("glIsSampler"); | |
| IsSync = (GLboolean ( *) (GLsync)) resolve("glIsSync"); | |
| IsTransformFeedback = (GLboolean ( *) (GLuint)) resolve("glIsTransformFeedback"); | |
| IsVertexArray = (GLboolean ( *) (GLuint)) resolve("glIsVertexArray"); | |
| MapBufferRange = (void * ( *) (GLenum, GLintptr, GLsizeiptr, GLbitfield)) resolve("glMapBufferRange"); | |
| PauseTransformFeedback = (void ( *) ()) resolve("glPauseTransformFeedback"); | |
| ProgramBinary = (void ( *) (GLuint, GLenum, const void *, GLsizei)) resolve("glProgramBinary"); | |
| ProgramParameteri = (void ( *) (GLuint, GLenum, GLint)) resolve("glProgramParameteri"); | |
| ReadBuffer = (void ( *) (GLenum)) resolve("glReadBuffer"); | |
| RenderbufferStorageMultisample = (void ( *) (GLenum, GLsizei, GLenum, GLsizei, GLsizei)) resolve("glRenderbufferStorageMultisample"); | |
| ResumeTransformFeedback = (void ( *) ()) resolve("glResumeTransformFeedback"); | |
| SamplerParameterf = (void ( *) (GLuint, GLenum, GLfloat)) resolve("glSamplerParameterf"); | |
| SamplerParameterfv = (void ( *) (GLuint, GLenum, const GLfloat *)) resolve("glSamplerParameterfv"); | |
| SamplerParameteri = (void ( *) (GLuint, GLenum, GLint)) resolve("glSamplerParameteri"); | |
| SamplerParameteriv = (void ( *) (GLuint, GLenum, const GLint *)) resolve("glSamplerParameteriv"); | |
| TexImage3D = (void ( *) (GLenum, GLint, GLint, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const void *)) resolve("glTexImage3D"); | |
| TexStorage2D = (void ( *) (GLenum, GLsizei, GLenum, GLsizei, GLsizei)) resolve("glTexStorage2D"); | |
| TexStorage3D = (void ( *) (GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei)) resolve("glTexStorage3D"); | |
| TexSubImage3D = (void ( *) (GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const void *)) resolve("glTexSubImage3D"); | |
| TransformFeedbackVaryings = (void ( *) (GLuint, GLsizei, const GLchar *const*, GLenum)) resolve("glTransformFeedbackVaryings"); | |
| Uniform1ui = (void ( *) (GLint, GLuint)) resolve("glUniform1ui"); | |
| Uniform1uiv = (void ( *) (GLint, GLsizei, const GLuint *)) resolve("glUniform1uiv"); | |
| Uniform2ui = (void ( *) (GLint, GLuint, GLuint)) resolve("glUniform2ui"); | |
| Uniform2uiv = (void ( *) (GLint, GLsizei, const GLuint *)) resolve("glUniform2uiv"); | |
| Uniform3ui = (void ( *) (GLint, GLuint, GLuint, GLuint)) resolve("glUniform3ui"); | |
| Uniform3uiv = (void ( *) (GLint, GLsizei, const GLuint *)) resolve("glUniform3uiv"); | |
| Uniform4ui = (void ( *) (GLint, GLuint, GLuint, GLuint, GLuint)) resolve("glUniform4ui"); | |
| Uniform4uiv = (void ( *) (GLint, GLsizei, const GLuint *)) resolve("glUniform4uiv"); | |
| UniformBlockBinding = (void ( *) (GLuint, GLuint, GLuint)) resolve("glUniformBlockBinding"); | |
| UniformMatrix2x3fv = (void ( *) (GLint, GLsizei, GLboolean, const GLfloat *)) resolve("glUniformMatrix2x3fv"); | |
| UniformMatrix2x4fv = (void ( *) (GLint, GLsizei, GLboolean, const GLfloat *)) resolve("glUniformMatrix2x4fv"); | |
| UniformMatrix3x2fv = (void ( *) (GLint, GLsizei, GLboolean, const GLfloat *)) resolve("glUniformMatrix3x2fv"); | |
| UniformMatrix3x4fv = (void ( *) (GLint, GLsizei, GLboolean, const GLfloat *)) resolve("glUniformMatrix3x4fv"); | |
| UniformMatrix4x2fv = (void ( *) (GLint, GLsizei, GLboolean, const GLfloat *)) resolve("glUniformMatrix4x2fv"); | |
| UniformMatrix4x3fv = (void ( *) (GLint, GLsizei, GLboolean, const GLfloat *)) resolve("glUniformMatrix4x3fv"); | |
| UnmapBuffer = (GLboolean ( *) (GLenum)) resolve("glUnmapBuffer"); | |
| VertexAttribDivisor = (void ( *) (GLuint, GLuint)) resolve("glVertexAttribDivisor"); | |
| VertexAttribI4i = (void ( *) (GLuint, GLint, GLint, GLint, GLint)) resolve("glVertexAttribI4i"); | |
| VertexAttribI4iv = (void ( *) (GLuint, const GLint *)) resolve("glVertexAttribI4iv"); | |
| VertexAttribI4ui = (void ( *) (GLuint, GLuint, GLuint, GLuint, GLuint)) resolve("glVertexAttribI4ui"); | |
| VertexAttribI4uiv = (void ( *) (GLuint, const GLuint *)) resolve("glVertexAttribI4uiv"); | |
| VertexAttribIPointer = (void ( *) (GLuint, GLint, GLenum, GLsizei, const void *)) resolve("glVertexAttribIPointer"); | |
| WaitSync = (void ( *) (GLsync, GLbitfield, GLuint64)) resolve("glWaitSync"); | |
| | |
| if (!BeginQuery || !BlitFramebuffer || !GenTransformFeedbacks || !GenVertexArrays || !MapBufferRange | |
| || !RenderbufferStorageMultisample || !TexStorage2D || !WaitSync) { | |
| QMessageLogger(__FILE__, 5910, __PRETTY_FUNCTION__).warning("OpenGL"gl""IsFramebuffer""\0" ES"gl""IsProgram""\0" 3.0"gl""IsRenderbuffer""\0" entry"gl""IsShader""\0" points"gl""LinkProgram""\0" not"gl""ReleaseShaderCompiler""\0" found."gl""RenderbufferStorage""\0" This"gl""SampleCoverage""\0" is"gl""ShaderBinary""\0" odd"gl""ShaderSource""\0" because"gl""StencilFuncSeparate""\0" the"gl""StencilMaskSeparate""\0" driver"gl""StencilOpSeparate""\0" returned"gl""Uniform1f""\0" a"gl""Uniform1fv""\0" context"gl""Uniform1i""\0" of"gl""Uniform1iv""\0" version"gl""Uniform2f""\0" %d.%d", | |
| contextVersion.first, contextVersion.second); | |
| return; | |
| } | |
| m_supportedVersion = qMakePair(3, 0); | |
| | |
| if (contextVersion >= qMakePair(3, 1)) { | |
| for (bool qt_category_enabled = lcGLES3().isDebugEnabled(); qt_category_enabled; qt_category_enabled = false) QMessageLogger(__FILE__, 5917, __PRETTY_FUNCTION__, lcGLES3().categoryName()).debug("Resolving"gl""Uniform2fv""\0" OpenGL"gl""Uniform2i""\0" ES"gl""Uniform2iv""\0" 3.1"gl""Uniform3f""\0" entry"gl""Uniform3fv""\0" points"); | |
| | |
| ActiveShaderProgram = (void ( *) (GLuint, GLuint)) resolve("glActiveShaderProgram"); | |
| BindImageTexture = (void ( *) (GLuint, GLuint, GLint, GLboolean, GLint, GLenum, GLenum)) resolve("glBindImageTexture"); | |
| BindProgramPipeline = (void ( *) (GLuint)) resolve("glBindProgramPipeline"); | |
| BindVertexBuffer = (void ( *) (GLuint, GLuint, GLintptr, GLsizei)) resolve("glBindVertexBuffer"); | |
| CreateShaderProgramv = (GLuint ( *) (GLenum, GLsizei, const GLchar *const*)) resolve("glCreateShaderProgramv"); | |
| DeleteProgramPipelines = (void ( *) (GLsizei, const GLuint *)) resolve("glDeleteProgramPipelines"); | |
| DispatchCompute = (void ( *) (GLuint, GLuint, GLuint)) resolve("glDispatchCompute"); | |
| DispatchComputeIndirect = (void ( *) (GLintptr)) resolve("glDispatchComputeIndirect"); | |
| DrawArraysIndirect = (void ( *) (GLenum, const void *)) resolve("glDrawArraysIndirect"); | |
| DrawElementsIndirect = (void ( *) (GLenum, GLenum, const void *)) resolve("glDrawElementsIndirect"); | |
| FramebufferParameteri = (void ( *) (GLenum, GLenum, GLint)) resolve("glFramebufferParameteri"); | |
| GenProgramPipelines = (void ( *) (GLsizei, GLuint*)) resolve("glGenProgramPipelines"); | |
| GetBooleani_v = (void ( *) (GLenum, GLuint, GLboolean*)) resolve("glGetBooleani_v"); | |
| GetFramebufferParameteriv = (void ( *) (GLenum, GLenum, GLint*)) resolve("glGetFramebufferParameteriv"); | |
| GetMultisamplefv = (void ( *) (GLenum, GLuint, GLfloat*)) resolve("glGetMultisamplefv"); | |
| GetProgramInterfaceiv = (void ( *) (GLuint, GLenum, GLenum, GLint*)) resolve("glGetProgramInterfaceiv"); | |
| GetProgramPipelineInfoLog = (void ( *) (GLuint, GLsizei, GLsizei*, GLchar*)) resolve("glGetProgramPipelineInfoLog"); | |
| GetProgramPipelineiv = (void ( *) (GLuint, GLenum, GLint*)) resolve("glGetProgramPipelineiv"); | |
| GetProgramResourceIndex = (GLuint ( *) (GLuint, GLenum, const GLchar *)) resolve("glGetProgramResourceIndex"); | |
| GetProgramResourceLocation = (GLint ( *) (GLuint, GLenum, const GLchar *)) resolve("glGetProgramResourceLocation"); | |
| GetProgramResourceName = (void ( *) (GLuint, GLenum, GLuint, GLsizei, GLsizei*, GLchar*)) resolve("glGetProgramResourceName"); | |
| GetProgramResourceiv = (void ( *) (GLuint, GLenum, GLuint, GLsizei, const GLenum *, GLsizei, GLsizei*, GLint*)) resolve("glGetProgramResourceiv"); | |
| GetTexLevelParameterfv = (void ( *) (GLenum, GLint, GLenum, GLfloat*)) resolve("glGetTexLevelParameterfv"); | |
| GetTexLevelParameteriv = (void ( *) (GLenum, GLint, GLenum, GLint*)) resolve("glGetTexLevelParameteriv"); | |
| IsProgramPipeline = (GLboolean ( *) (GLuint)) resolve("glIsProgramPipeline"); | |
| MemoryBarrierFunc = (void ( *) (GLbitfield)) resolve("glMemoryBarrier"); | |
| MemoryBarrierByRegion = (void ( *) (GLbitfield)) resolve("glMemoryBarrierByRegion"); | |
| ProgramUniform1f = (void ( *) (GLuint, GLint, GLfloat)) resolve("glProgramUniform1f"); | |
| ProgramUniform1fv = (void ( *) (GLuint, GLint, GLsizei, const GLfloat *)) resolve("glProgramUniform1fv"); | |
| ProgramUniform1i = (void ( *) (GLuint, GLint, GLint)) resolve("glProgramUniform1i"); | |
| ProgramUniform1iv = (void ( *) (GLuint, GLint, GLsizei, const GLint *)) resolve("glProgramUniform1iv"); | |
| ProgramUniform1ui = (void ( *) (GLuint, GLint, GLuint)) resolve("glProgramUniform1ui"); | |
| ProgramUniform1uiv = (void ( *) (GLuint, GLint, GLsizei, const GLuint *)) resolve("glProgramUniform1uiv"); | |
| ProgramUniform2f = (void ( *) (GLuint, GLint, GLfloat, GLfloat)) resolve("glProgramUniform2f"); | |
| ProgramUniform2fv = (void ( *) (GLuint, GLint, GLsizei, const GLfloat *)) resolve("glProgramUniform2fv"); | |
| ProgramUniform2i = (void ( *) (GLuint, GLint, GLint, GLint)) resolve("glProgramUniform2i"); | |
| ProgramUniform2iv = (void ( *) (GLuint, GLint, GLsizei, const GLint *)) resolve("glProgramUniform2iv"); | |
| ProgramUniform2ui = (void ( *) (GLuint, GLint, GLuint, GLuint)) resolve("glProgramUniform2ui"); | |
| ProgramUniform2uiv = (void ( *) (GLuint, GLint, GLsizei, const GLuint *)) resolve("glProgramUniform2uiv"); | |
| ProgramUniform3f = (void ( *) (GLuint, GLint, GLfloat, GLfloat, GLfloat)) resolve("glProgramUniform3f"); | |
| ProgramUniform3fv = (void ( *) (GLuint, GLint, GLsizei, const GLfloat *)) resolve("glProgramUniform3fv"); | |
| ProgramUniform3i = (void ( *) (GLuint, GLint, GLint, GLint, GLint)) resolve("glProgramUniform3i"); | |
| ProgramUniform3iv = (void ( *) (GLuint, GLint, GLsizei, const GLint *)) resolve("glProgramUniform3iv"); | |
| ProgramUniform3ui = (void ( *) (GLuint, GLint, GLuint, GLuint, GLuint)) resolve("glProgramUniform3ui"); | |
| ProgramUniform3uiv = (void ( *) (GLuint, GLint, GLsizei, const GLuint *)) resolve("glProgramUniform3uiv"); | |
| ProgramUniform4f = (void ( *) (GLuint, GLint, GLfloat, GLfloat, GLfloat, GLfloat)) resolve("glProgramUniform4f"); | |
| ProgramUniform4fv = (void ( *) (GLuint, GLint, GLsizei, const GLfloat *)) resolve("glProgramUniform4fv"); | |
| ProgramUniform4i = (void ( *) (GLuint, GLint, GLint, GLint, GLint, GLint)) resolve("glProgramUniform4i"); | |
| ProgramUniform4iv = (void ( *) (GLuint, GLint, GLsizei, const GLint *)) resolve("glProgramUniform4iv"); | |
| ProgramUniform4ui = (void ( *) (GLuint, GLint, GLuint, GLuint, GLuint, GLuint)) resolve("glProgramUniform4ui"); | |
| ProgramUniform4uiv = (void ( *) (GLuint, GLint, GLsizei, const GLuint *)) resolve("glProgramUniform4uiv"); | |
| ProgramUniformMatrix2fv = (void ( *) (GLuint, GLint, GLsizei, GLboolean, const GLfloat *)) resolve("glProgramUniformMatrix2fv"); | |
| ProgramUniformMatrix2x3fv = (void ( *) (GLuint, GLint, GLsizei, GLboolean, const GLfloat *)) resolve("glProgramUniformMatrix2x3fv"); | |
| ProgramUniformMatrix2x4fv = (void ( *) (GLuint, GLint, GLsizei, GLboolean, const GLfloat *)) resolve("glProgramUniformMatrix2x4fv"); | |
| ProgramUniformMatrix3fv = (void ( *) (GLuint, GLint, GLsizei, GLboolean, const GLfloat *)) resolve("glProgramUniformMatrix3fv"); | |
| ProgramUniformMatrix3x2fv = (void ( *) (GLuint, GLint, GLsizei, GLboolean, const GLfloat *)) resolve("glProgramUniformMatrix3x2fv"); | |
| ProgramUniformMatrix3x4fv = (void ( *) (GLuint, GLint, GLsizei, GLboolean, const GLfloat *)) resolve("glProgramUniformMatrix3x4fv"); | |
| ProgramUniformMatrix4fv = (void ( *) (GLuint, GLint, GLsizei, GLboolean, const GLfloat *)) resolve("glProgramUniformMatrix4fv"); | |
| ProgramUniformMatrix4x2fv = (void ( *) (GLuint, GLint, GLsizei, GLboolean, const GLfloat *)) resolve("glProgramUniformMatrix4x2fv"); | |
| ProgramUniformMatrix4x3fv = (void ( *) (GLuint, GLint, GLsizei, GLboolean, const GLfloat *)) resolve("glProgramUniformMatrix4x3fv"); | |
| SampleMaski = (void ( *) (GLuint, GLbitfield)) resolve("glSampleMaski"); | |
| TexStorage2DMultisample = (void ( *) (GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLboolean)) resolve("glTexStorage2DMultisample"); | |
| UseProgramStages = (void ( *) (GLuint, GLbitfield, GLuint)) resolve("glUseProgramStages"); | |
| ValidateProgramPipeline = (void ( *) (GLuint)) resolve("glValidateProgramPipeline"); | |
| VertexAttribBinding = (void ( *) (GLuint, GLuint)) resolve("glVertexAttribBinding"); | |
| VertexAttribFormat = (void ( *) (GLuint, GLint, GLenum, GLboolean, GLuint)) resolve("glVertexAttribFormat"); | |
| VertexAttribIFormat = (void ( *) (GLuint, GLint, GLenum, GLuint)) resolve("glVertexAttribIFormat"); | |
| VertexBindingDivisor = (void ( *) (GLuint, GLuint)) resolve("glVertexBindingDivisor"); | |
| | |
| if (!ActiveShaderProgram || !BindImageTexture || !DispatchCompute || !DrawArraysIndirect | |
| || !GenProgramPipelines || !MemoryBarrierFunc) { | |
| QMessageLogger(__FILE__, 5990, __PRETTY_FUNCTION__).warning("OpenGL"gl""Uniform3i""\0" ES"gl""Uniform3iv""\0" 3.1"gl""Uniform4f""\0" entry"gl""Uniform4fv""\0" points"gl""Uniform4i""\0" not"gl""Uniform4iv""\0" found."gl""UniformMatrix2fv""\0" This"gl""UniformMatrix3fv""\0" is"gl""UniformMatrix4fv""\0" odd"gl""UseProgram""\0" because"gl""ValidateProgram""\0" the"gl""VertexAttrib1f""\0" driver"gl""VertexAttrib1fv""\0" returned"gl""VertexAttrib2f""\0" a"gl""VertexAttrib2fv""\0" context"gl""VertexAttrib3f""\0" of"gl""VertexAttrib3fv""\0" version"gl""VertexAttrib4f""\0" %d.%d", | |
| contextVersion.first, contextVersion.second); | |
| return; | |
| } | |
| m_supportedVersion = qMakePair(3, 1); | |
| } | |
| } else { | |
| QMessageLogger(__FILE__, 5997, __PRETTY_FUNCTION__).fatal("Failed"gl""VertexAttrib4fv""\0" to"gl""VertexAttribPointer""\0" load"gl""ClearDepth""\0" libGLESv2"); | |
| } | |
| } | |
| | |
| | |
| | |
| | |
| | |
| static inline bool isES3(int minor) | |
| { | |
| QOpenGLContext *ctx = QOpenGLContext::currentContext(); | |
| | |
| const bool libMatches = QOpenGLContext::openGLModuleType() == QOpenGLContext::LibGLES"gl""DepthRange""\0"; const bool contextMatcheschar *name = ctx->isOpenGLES() && ctx->format().version() >= qMakePair(3, minor); | |
| | |
| | |
| | |
| if (libMatches && contextMatches) | |
| return qgles3Helper()->supportedVersion() >= qMakePair(3, minor); | |
| | |
| return falsenames; } | |
| | |
| | |
| | |
| | |
| static void qopenglfResolveBeginQuery(GLenum target, GLuint id) | |
| { | |
| if (isES3(0)) | |
| qgles3Helper()->BeginQuery(target, id); | |
| else | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::BeginQuery, "gl" "BeginQuery")(target, id); | |
| } | |
| | |
| static void qopenglfResolveBeginTransformFeedback(GLenum primitiveMode) | |
| { | |
| if (isES3for (int i = 0)) | |
| qgles3Helper()->BeginTransformFeedback(primitiveMode); | |
| else | |
| functionResolver; iTRUE | never evaluated | FALSE | never evaluated |
< void, 0>(&QOpenGLExtensionsPrivate::BeginTransformFeedback, "gl" "BeginTransformFeedback")(primitiveMode);TRUE | never evaluated | FALSE | never evaluated |
| |
| }TRUE | never evaluated | FALSE | never evaluated |
| |
| | |
| static void qopenglfResolveBindBufferBase(GLenum target, GLuint index, GLuint bufferTRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
+1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1TRUE | never evaluated | FALSE | never evaluated |
; ++i) { if (isES3(0)) | |
| qgles3Helper()->BindBufferBase(target, index, buffer); | |
| else | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivatefunctions[i] = ::BindBufferBase, "gl" "BindBufferBase")(target, index, buffer); | |
| } | |
| | |
| static void qopenglfResolveBindBufferRange(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size) | |
| { | |
| if (isES3(0)) | |
| qgles3Helper()->BindBufferRangegetProcAddress(target, index, buffer, offset, size); | |
| else | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::BindBufferRange, "gl" "BindBufferRange")(target, index, buffer, offsetcontext, sizename); } | |
| | |
| static void qopenglfResolveBindSamplername += strlen(GLuint unit, GLuint samplername) { | |
| if (isES3(0)) | |
| qgles3Helper()->BindSampler(unit, sampler); | |
| else | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::BindSampler, "gl" "BindSampler")(unit, sampler);+ 1; } never executed: end of block static void qopenglfResolveBindTransformFeedback(GLenum target, GLuint id) | |
| { | |
| if (isES3(0)) | |
| qgles3Helper()->BindTransformFeedback(target, id); | |
| else | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::BindTransformFeedback, "gl" "BindTransformFeedback")(target, id);} never executed: end of block | |
| static void qopenglfResolveBindVertexArray(GLuint array) | |
| { | |
| if (isES3(0)) | |
| qgles3Helper()->BindVertexArray(array); | |
| else | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivateQOpenGLExtraFunctions::BindVertexArray, "gl" "BindVertexArray")(array); | |
| } | |
| | |
| static void qopenglfResolveBlitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter)QOpenGLExtraFunctions() | |
425 | { | - |
| if (isES3(0)) | |
| qgles3Helper()->BlitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); | |
| else | |
| functionResolver<void, ResolveEXT | ResolveANGLE | ResolveNV>(&QOpenGLExtensionsPrivate::BlitFramebuffer, "gl" "BlitFramebuffer") | |
| (srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter);} | |
| static void qopenglfResolveClearBufferfi(GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil) | |
| { | |
| if (isES3(0)) | |
| qgles3Helper()->ClearBufferfi(buffer, drawbuffer, depth, stencil); | |
| else | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivateQOpenGLExtraFunctions::ClearBufferfi, "gl" "ClearBufferfi")(buffer, drawbuffer, depth, stencil); | |
| } | |
| | |
| static void qopenglfResolveClearBufferfvQOpenGLExtraFunctions(GLenum buffer, GLint drawbuffer, const GLfloatQOpenGLContext *valuecontext) | |
428 | { | - |
| if (isES3(0)) | |
| qgles3Helper()->ClearBufferfv(buffer, drawbuffer, value); | |
| else | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::ClearBufferfv, "gl" "ClearBufferfv")(buffer, drawbuffer, value); | |
| } | |
| | |
| static void qopenglfResolveClearBufferiv: QOpenGLFunctions(GLenum buffer, GLint drawbuffer, const GLint * valuecontext) | |
429 | { | - |
| if (isES3(0)) | |
| qgles3Helper()->ClearBufferiv(buffer, drawbuffer, value); | |
| else | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::ClearBufferiv, "gl" "ClearBufferiv")(buffer, drawbuffer, value);} | |
431 | | - |
| static void qopenglfResolveClearBufferuivQOpenGLExtraFunctionsPrivate::QOpenGLExtraFunctionsPrivate(GLenum buffer, GLint drawbuffer, const GLuintQOpenGLContext *valuectx) | |
433 | { | - |
| if (isES3(0)) | |
| qgles3Helper()->ClearBufferuiv(buffer, drawbuffer, value); | |
| else | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::ClearBufferuiv, "gl" "ClearBufferuiv")(buffer, drawbuffer, value); | |
| } | |
| | |
| static GLenum qopenglfResolveClientWaitSync: QOpenGLFunctionsPrivate(GLsync sync, GLbitfield flags, GLuint64 timeoutctx) | |
434 | { | - |
435 | if (isES3(0)) | - |
| return qgles3Helper()->ClientWaitSyncinit(sync, flags, timeout); | |
| else | |
| return functionResolver<GLenum, 0>(&QOpenGLExtensionsPrivate::ClientWaitSync, "gl" "ClientWaitSync")(sync, flags, timeoutctx); | |
436 | } never executed: end of block | 0 |
437 | | - |
| staticvoid qopenglfResolveCompressedTexImage3DQOpenGLExtraFunctionsPrivate::init(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const voidQOpenGLContext *datacontext) { if (isES3(0)) | |
| qgles3Helper()->CompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data); | |
| else | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::CompressedTexImage3D, "gl" "CompressedTexImage3D")(target, level, internalformat, width, height, depth, border, imageSize, data); | |
| } | |
| | |
| static void qopenglfResolveCompressedTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize,const voidchar *data) | |
| { | |
| if (isES3(0)) | |
| qgles3Helper()->CompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data); | |
| else | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::CompressedTexSubImage3D, "gl" "CompressedTexSubImage3D")(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data); | |
| } | |
| | |
| static void qopenglfResolveCopyBufferSubData(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size) | |
| { | |
| if (isES3(0)) | |
| qgles3Helper()->CopyBufferSubData(readTarget, writeTarget, readOffset, writeOffset, size); | |
| else | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::CopyBufferSubData, "gl" "CopyBufferSubData")(readTarget, writeTarget, readOffset, writeOffset, size); | |
| } | |
| | |
| static void qopenglfResolveCopyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height) | |
| { | |
| if (isES3(0)) | |
| qgles3Helper()->CopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height); | |
| else | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::CopyTexSubImage3D,names = "gl""gl""ReadBuffer""\0" "CopyTexSubImage3D")(target, level, xoffset, yoffset, zoffset, x, y, width, height); | |
| } | |
| | |
| static void qopenglfResolveDeleteQueries(GLsizei n, const GLuint * ids) | |
| { | |
| if (isES3(0)) | |
| qgles3Helper()->DeleteQueries(n, ids); | |
| else | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::DeleteQueries,"gl""DrawRangeElements""\0" "gl""gl""TexImage3D""\0" "DeleteQueries")(n, ids); | |
| } | |
| | |
| static void qopenglfResolveDeleteSamplers(GLsizei count, const GLuint * samplers) | |
| { | |
| if (isES3(0)) | |
| qgles3Helper()->DeleteSamplers(count, samplers); | |
| else | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::DeleteSamplers,"gl""TexSubImage3D""\0" "gl""gl""CopyTexSubImage3D""\0" "DeleteSamplers")(count, samplers); | |
| } | |
| | |
| static void qopenglfResolveDeleteSync(GLsync sync) | |
| { | |
| if (isES3(0)) | |
| qgles3Helper()->DeleteSync(sync); | |
| else | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::DeleteSync,"gl""CompressedTexImage3D""\0" "gl""gl""CompressedTexSubImage3D""\0" "DeleteSync")(sync); | |
| } | |
| | |
| static void qopenglfResolveDeleteTransformFeedbacks(GLsizei n, const GLuint * ids) | |
| { | |
| if (isES3(0)) | |
| qgles3Helper()->DeleteTransformFeedbacks(n, ids); | |
| else | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::DeleteTransformFeedbacks,"gl""GenQueries""\0" "gl""gl""DeleteQueries""\0" "DeleteTransformFeedbacks")(n, ids); | |
| } | |
| | |
| static void qopenglfResolveDeleteVertexArrays(GLsizei n, const GLuint * arrays) | |
| { | |
| if (isES3(0)) | |
| qgles3Helper()->DeleteVertexArrays(n, arrays); | |
| else | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::DeleteVertexArrays,"gl""IsQuery""\0" "gl""gl""BeginQuery""\0" "DeleteVertexArrays")(n, arrays); | |
| } | |
| | |
| static void qopenglfResolveDrawArraysInstanced(GLenum mode, GLint first, GLsizei count, GLsizei instancecount) | |
| { | |
| if (isES3(0)) | |
| qgles3Helper()->DrawArraysInstanced(mode, first, count, instancecount); | |
| else | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::DrawArraysInstanced,"gl""EndQuery""\0" "gl""gl""GetQueryiv""\0" "DrawArraysInstanced")(mode, first, count, instancecount); | |
| } | |
| | |
| static void qopenglfResolveDrawBuffers(GLsizei n, const GLenum * bufs) | |
| { | |
| if (isES3(0)) | |
| qgles3Helper()->DrawBuffers(n, bufs); | |
| else | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::DrawBuffers,"gl""GetQueryObjectuiv""\0" "gl""gl""UnmapBuffer""\0" "DrawBuffers")(n, bufs); | |
| } | |
| | |
| static void qopenglfResolveDrawElementsInstanced(GLenum mode, GLsizei count, GLenum type, const void * indices, GLsizei instancecount) | |
| { | |
| if (isES3(0)) | |
| qgles3Helper()->DrawElementsInstanced(mode, count, type, indices, instancecount); | |
| else | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::DrawElementsInstanced,"gl""GetBufferPointerv""\0" "gl""gl""DrawBuffers""\0" "DrawElementsInstanced")(mode, count, type, indices, instancecount); | |
| } | |
| | |
| static void qopenglfResolveDrawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void * indices) | |
| { | |
| if (isES3(0)) | |
| qgles3Helper()->DrawRangeElements(mode, start, end, count, type, indices); | |
| else | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::DrawRangeElements,"gl""UniformMatrix2x3fv""\0" "gl""gl""UniformMatrix3x2fv""\0" "DrawRangeElements")(mode, start, end, count, type, indices); | |
| } | |
| | |
| static void qopenglfResolveEndQuery(GLenum target) | |
| { | |
| if (isES3(0)) | |
| qgles3Helper()->EndQuery(target); | |
| else | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::EndQuery,"gl""UniformMatrix2x4fv""\0" "gl""gl""UniformMatrix4x2fv""\0" "EndQuery")(target); | |
| } | |
| | |
| static void qopenglfResolveEndTransformFeedback() | |
| { | |
| if (isES3(0)) | |
| qgles3Helper()->EndTransformFeedback(); | |
| else | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::EndTransformFeedback,"gl""UniformMatrix3x4fv""\0" "gl""gl""UniformMatrix4x3fv""\0" "EndTransformFeedback")(); | |
| } | |
| | |
| static GLsync qopenglfResolveFenceSync(GLenum condition, GLbitfield flags) | |
| { | |
| if (isES3(0)) | |
| return qgles3Helper()->FenceSync(condition, flags); | |
| else | |
| return functionResolver<GLsync, 0>(&QOpenGLExtensionsPrivate::FenceSync,"gl""BlitFramebuffer""\0" "gl""gl""RenderbufferStorageMultisample""\0" "FenceSync")(condition, flags); | |
| } | |
| | |
| static void qopenglfResolveFlushMappedBufferRange(GLenum target, GLintptr offset, GLsizeiptr length) | |
| { | |
| if (isES3(0)) | |
| qgles3Helper()->FlushMappedBufferRange(target, offset, length); | |
| else | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::FlushMappedBufferRange,"gl""FramebufferTextureLayer""\0" "gl""gl""MapBufferRange""\0" "FlushMappedBufferRange")(target, offset, length); | |
| } | |
| | |
| static void qopenglfResolveFramebufferTextureLayer(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer) | |
| { | |
| if (isES3(0)) | |
| qgles3Helper()->FramebufferTextureLayer(target, attachment, texture, level, layer); | |
| else | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::FramebufferTextureLayer,"gl""FlushMappedBufferRange""\0" "gl""gl""BindVertexArray""\0" "FramebufferTextureLayer")(target, attachment, texture, level, layer); | |
| } | |
| | |
| static void qopenglfResolveGenQueries(GLsizei n, GLuint* ids) | |
| { | |
| if (isES3(0)) | |
| qgles3Helper()->GenQueries(n, ids); | |
| else | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::GenQueries,"gl""DeleteVertexArrays""\0" "gl""gl""GenVertexArrays""\0" "GenQueries")(n, ids); | |
| } | |
| | |
| static void qopenglfResolveGenSamplers(GLsizei count, GLuint* samplers) | |
| { | |
| if (isES3(0)) | |
| qgles3Helper()->GenSamplers(count, samplers); | |
| else | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::GenSamplers,"gl""IsVertexArray""\0" "gl""gl""GetIntegeri_v""\0" "GenSamplers")(count, samplers); | |
| } | |
| | |
| static void qopenglfResolveGenTransformFeedbacks(GLsizei n, GLuint* ids) | |
| { | |
| if (isES3(0)) | |
| qgles3Helper()->GenTransformFeedbacks(n, ids); | |
| else | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::GenTransformFeedbacks,"gl""BeginTransformFeedback""\0" "gl""gl""EndTransformFeedback""\0" "GenTransformFeedbacks")(n, ids); | |
| } | |
| | |
| static void qopenglfResolveGenVertexArrays(GLsizei n, GLuint* arrays) | |
| { | |
| if (isES3(0)) | |
| qgles3Helper()->GenVertexArrays(n, arrays); | |
| else | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::GenVertexArrays,"gl""BindBufferRange""\0" "gl""gl""BindBufferBase""\0" "GenVertexArrays")(n, arrays); | |
| } | |
| | |
| static void qopenglfResolveGetActiveUniformBlockName(GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei* length, GLchar* uniformBlockName) | |
| { | |
| if (isES3(0)) | |
| qgles3Helper()->GetActiveUniformBlockName(program, uniformBlockIndex, bufSize, length, uniformBlockName); | |
| else | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::GetActiveUniformBlockName,"gl""TransformFeedbackVaryings""\0" "gl""gl""GetTransformFeedbackVarying""\0" "GetActiveUniformBlockName")(program, uniformBlockIndex, bufSize, length, uniformBlockName); | |
| } | |
| | |
| static void qopenglfResolveGetActiveUniformBlockiv(GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint* params) | |
| { | |
| if (isES3(0)) | |
| qgles3Helper()->GetActiveUniformBlockiv(program, uniformBlockIndex, pname, params); | |
| else | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::GetActiveUniformBlockiv,"gl""VertexAttribIPointer""\0" "gl""gl""GetVertexAttribIiv""\0" "GetActiveUniformBlockiv")(program, uniformBlockIndex, pname, params); | |
| } | |
| | |
| static void qopenglfResolveGetActiveUniformsiv(GLuint program, GLsizei uniformCount, const GLuint * uniformIndices, GLenum pname, GLint* params) | |
| { | |
| if (isES3(0)) | |
| qgles3Helper()->GetActiveUniformsiv(program, uniformCount, uniformIndices, pname, params); | |
| else | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::GetActiveUniformsiv,"gl""GetVertexAttribIuiv""\0" "gl""gl""VertexAttribI4i""\0" "GetActiveUniformsiv")(program, uniformCount, uniformIndices, pname, params); | |
| } | |
| | |
| static void qopenglfResolveGetBufferParameteri64v(GLenum target, GLenum pname, GLint64* params) | |
| { | |
| if (isES3(0)) | |
| qgles3Helper()->GetBufferParameteri64v(target, pname, params); | |
| else | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::GetBufferParameteri64v,"gl""VertexAttribI4ui""\0" "gl""gl""VertexAttribI4iv""\0" "GetBufferParameteri64v")(target, pname, params); | |
| } | |
| | |
| static void qopenglfResolveGetBufferPointerv(GLenum target, GLenum pname, void ** params) | |
| { | |
| if (isES3(0)) | |
| qgles3Helper()->GetBufferPointerv(target, pname, params); | |
| else | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::GetBufferPointerv,"gl""VertexAttribI4uiv""\0" "gl""gl""GetUniformuiv""\0" "GetBufferPointerv")(target, pname, params); | |
| } | |
| | |
| static GLint qopenglfResolveGetFragDataLocation(GLuint program, const GLchar * name) | |
| { | |
| if (isES3(0)) | |
| return qgles3Helper()->GetFragDataLocation(program, name); | |
| else | |
| return functionResolver<GLint, 0>(&QOpenGLExtensionsPrivate::GetFragDataLocation,"gl""GetFragDataLocation""\0" "gl""gl""Uniform1ui""\0" "GetFragDataLocation")(program, name); | |
| } | |
| | |
| static void qopenglfResolveGetInteger64i_v(GLenum target, GLuint index, GLint64* data) | |
| { | |
| if (isES3(0)) | |
| qgles3Helper()->GetInteger64i_v(target, index, data); | |
| else | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::GetInteger64i_v,"gl""Uniform2ui""\0" "gl""gl""Uniform3ui""\0" "GetInteger64i_v")(target, index, data); | |
| } | |
| | |
| static void qopenglfResolveGetInteger64v(GLenum pname, GLint64* data) | |
| { | |
| if (isES3(0)) | |
| qgles3Helper()->GetInteger64v(pname, data); | |
| else | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::GetInteger64v,"gl""Uniform4ui""\0" "gl""gl""Uniform1uiv""\0" "GetInteger64v")(pname, data); | |
| } | |
| | |
| static void qopenglfResolveGetIntegeri_v(GLenum target, GLuint index, GLint* data) | |
| { | |
| if (isES3(0)) | |
| qgles3Helper()->GetIntegeri_v(target, index, data); | |
| else | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::GetIntegeri_v,"gl""Uniform2uiv""\0" "gl""gl""Uniform3uiv""\0" "GetIntegeri_v")(target, index, data); | |
| } | |
| | |
| static void qopenglfResolveGetInternalformativ(GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint* params) | |
| { | |
| if (isES3(0)) | |
| qgles3Helper()->GetInternalformativ(target, internalformat, pname, bufSize, params); | |
| else | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::GetInternalformativ,"gl""Uniform4uiv""\0" "gl""gl""ClearBufferiv""\0" "GetInternalformativ")(target, internalformat, pname, bufSize, params); | |
| } | |
| | |
| static void qopenglfResolveGetProgramBinary(GLuint program, GLsizei bufSize, GLsizei* length, GLenum* binaryFormat, void * binary) | |
| { | |
| if (isES3(0)) | |
| qgles3Helper()->GetProgramBinary(program, bufSize, length, binaryFormat, binary); | |
| else | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::GetProgramBinary,"gl""ClearBufferuiv""\0" "gl""gl""ClearBufferfv""\0" "GetProgramBinary")(program, bufSize, length, binaryFormat, binary); | |
| } | |
| | |
| static void qopenglfResolveGetQueryObjectuiv(GLuint id, GLenum pname, GLuint* params) | |
| { | |
| if (isES3(0)) | |
| qgles3Helper()->GetQueryObjectuiv(id, pname, params); | |
| else | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::GetQueryObjectuiv,"gl""ClearBufferfi""\0" "gl""gl""GetStringi""\0" "GetQueryObjectuiv")(id, pname, params); | |
| } | |
| | |
| static void qopenglfResolveGetQueryiv(GLenum target, GLenum pname, GLint* params) | |
| { | |
| if (isES3(0)) | |
| qgles3Helper()->GetQueryiv(target, pname, params); | |
| else | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::GetQueryiv,"gl""CopyBufferSubData""\0" "gl""gl""GetUniformIndices""\0" "GetQueryiv")(target, pname, params); | |
| } | |
| | |
| static void qopenglfResolveGetSamplerParameterfv(GLuint sampler, GLenum pname, GLfloat* params) | |
| { | |
| if (isES3(0)) | |
| qgles3Helper()->GetSamplerParameterfv(sampler, pname, params); | |
| else | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::GetSamplerParameterfv,"gl""GetActiveUniformsiv""\0" "gl""gl""GetUniformBlockIndex""\0" "GetSamplerParameterfv")(sampler, pname, params); | |
| } | |
| | |
| static void qopenglfResolveGetSamplerParameteriv(GLuint sampler, GLenum pname, GLint* params) | |
| { | |
| if (isES3(0)) | |
| qgles3Helper()->GetSamplerParameteriv(sampler, pname, params); | |
| else | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::GetSamplerParameteriv,"gl""GetActiveUniformBlockiv""\0" "gl""gl""GetActiveUniformBlockName""\0" "GetSamplerParameteriv")(sampler, pname, params); | |
| } | |
| | |
| static const GLubyte * qopenglfResolveGetStringi(GLenum name, GLuint index) | |
| { | |
| if (isES3(0)) | |
| return qgles3Helper()->GetStringi(name, index); | |
| else | |
| return functionResolver<const GLubyte *, 0>(&QOpenGLExtensionsPrivate::GetStringi,"gl""UniformBlockBinding""\0" "gl""gl""DrawArraysInstanced""\0" "GetStringi")(name, index); | |
| } | |
| | |
| static void qopenglfResolveGetSynciv(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei* length, GLint* values) | |
| { | |
| if (isES3(0)) | |
| qgles3Helper()->GetSynciv(sync, pname, bufSize, length, values); | |
| else | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::GetSynciv,"gl""DrawElementsInstanced""\0" "gl""gl""FenceSync""\0" "GetSynciv")(sync, pname, bufSize, length, values); | |
| } | |
| | |
| static void qopenglfResolveGetTransformFeedbackVarying(GLuint program, GLuint index, GLsizei bufSize, GLsizei* length, GLsizei* size, GLenum* type, GLchar* name) | |
| { | |
| if (isES3(0)) | |
| qgles3Helper()->GetTransformFeedbackVarying(program, index, bufSize, length, size, type, name); | |
| else | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::GetTransformFeedbackVarying,"gl""IsSync""\0" "gl""gl""DeleteSync""\0" "GetTransformFeedbackVarying")(program, index, bufSize, length, size, type, name); | |
| } | |
| | |
| static GLuint qopenglfResolveGetUniformBlockIndex(GLuint program, const GLchar * uniformBlockName) | |
| { | |
| if (isES3(0)) | |
| return qgles3Helper()->GetUniformBlockIndex(program, uniformBlockName); | |
| else | |
| return functionResolver<GLuint, 0>(&QOpenGLExtensionsPrivate::GetUniformBlockIndex,"gl""ClientWaitSync""\0" "gl""gl""WaitSync""\0" "GetUniformBlockIndex")(program, uniformBlockName); | |
| } | |
| | |
| static void qopenglfResolveGetUniformIndices(GLuint program, GLsizei uniformCount, const GLchar *const* uniformNames, GLuint* uniformIndices) | |
| { | |
| if (isES3(0)) | |
| qgles3Helper()->GetUniformIndices(program, uniformCount, uniformNames, uniformIndices); | |
| else | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::GetUniformIndices,"gl""GetInteger64v""\0" "gl""gl""GetSynciv""\0" "GetUniformIndices")(program, uniformCount, uniformNames, uniformIndices); | |
| } | |
| | |
| static void qopenglfResolveGetUniformuiv(GLuint program, GLint location, GLuint* params) | |
| { | |
| if (isES3(0)) | |
| qgles3Helper()->GetUniformuiv(program, location, params); | |
| else | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::GetUniformuiv,"gl""GetInteger64i_v""\0" "gl""gl""GetBufferParameteri64v""\0" "GetUniformuiv")(program, location, params); | |
| } | |
| | |
| static void qopenglfResolveGetVertexAttribIiv(GLuint index, GLenum pname, GLint* params) | |
| { | |
| if (isES3(0)) | |
| qgles3Helper()->GetVertexAttribIiv(index, pname, params); | |
| else | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::GetVertexAttribIiv,"gl""GenSamplers""\0" "gl""gl""DeleteSamplers""\0" "GetVertexAttribIiv")(index, pname, params); | |
| } | |
| | |
| static void qopenglfResolveGetVertexAttribIuiv(GLuint index, GLenum pname, GLuint* params) | |
| { | |
| if (isES3(0)) | |
| qgles3Helper()->GetVertexAttribIuiv(index, pname, params); | |
| else | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::GetVertexAttribIuiv,"gl""IsSampler""\0" "gl""gl""BindSampler""\0" "GetVertexAttribIuiv")(index, pname, params); | |
| } | |
| | |
| static void qopenglfResolveInvalidateFramebuffer(GLenum target, GLsizei numAttachments, const GLenum * attachments) | |
| { | |
| if (isES3(0)) | |
| qgles3Helper()->InvalidateFramebuffer(target, numAttachments, attachments); | |
| else | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::InvalidateFramebuffer,"gl""SamplerParameteri""\0" "gl""gl""SamplerParameteriv""\0" "InvalidateFramebuffer")(target, numAttachments, attachments); | |
| } | |
| | |
| static void qopenglfResolveInvalidateSubFramebuffer(GLenum target, GLsizei numAttachments, const GLenum * attachments, GLint x, GLint y, GLsizei width, GLsizei height) | |
| { | |
| if (isES3(0)) | |
| qgles3Helper()->InvalidateSubFramebuffer(target, numAttachments, attachments, x, y, width, height); | |
| else | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::InvalidateSubFramebuffer,"gl""SamplerParameterf""\0" "gl""gl""SamplerParameterfv""\0" "InvalidateSubFramebuffer")(target, numAttachments, attachments, x, y, width, height); | |
| } | |
| | |
| static GLboolean qopenglfResolveIsQuery(GLuint id) | |
| { | |
| if (isES3(0)) | |
| return qgles3Helper()->IsQuery(id); | |
| else | |
| return functionResolver<GLboolean, 0>(&QOpenGLExtensionsPrivate::IsQuery,"gl""GetSamplerParameteriv""\0" "gl""gl""GetSamplerParameterfv""\0" "IsQuery")(id); | |
| } | |
| | |
| static GLboolean qopenglfResolveIsSampler(GLuint sampler) | |
| { | |
| if (isES3(0)) | |
| return qgles3Helper()->IsSampler(sampler); | |
| else | |
| return functionResolver<GLboolean, 0>(&QOpenGLExtensionsPrivate::IsSampler,"gl""VertexAttribDivisor""\0" "gl""gl""BindTransformFeedback""\0" "IsSampler")(sampler); | |
| } | |
| | |
| static GLboolean qopenglfResolveIsSync(GLsync sync) | |
| { | |
| if (isES3(0)) | |
| return qgles3Helper()->IsSync(sync); | |
| else | |
| return functionResolver<GLboolean, 0>(&QOpenGLExtensionsPrivate::IsSync,"gl""DeleteTransformFeedbacks""\0" "gl""gl""GenTransformFeedbacks""\0" "IsSync")(sync); | |
| } | |
| | |
| static GLboolean qopenglfResolveIsTransformFeedback(GLuint id) | |
| { | |
| if (isES3(0)) | |
| return qgles3Helper()->IsTransformFeedback(id); | |
| else | |
| return functionResolver<GLboolean, 0>(&QOpenGLExtensionsPrivate::IsTransformFeedback,"gl""IsTransformFeedback""\0" "gl""gl""PauseTransformFeedback""\0" "IsTransformFeedback")(id); | |
| } | |
| | |
| static GLboolean qopenglfResolveIsVertexArray(GLuint array) | |
| { | |
| if (isES3(0)) | |
| return qgles3Helper()->IsVertexArray(array); | |
| else | |
| return functionResolver<GLboolean, 0>(&QOpenGLExtensionsPrivate::IsVertexArray,"gl""ResumeTransformFeedback""\0" "gl""gl""GetProgramBinary""\0" "IsVertexArray")(array); | |
| } | |
| | |
| static void * qopenglfResolveMapBufferRange(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access) | |
| { | |
| if (isES3(0)) | |
| return qgles3Helper()->MapBufferRange(target, offset, length, access); | |
| else | |
| return functionResolver<void *, 0>(&QOpenGLExtensionsPrivate::MapBufferRange,"gl""ProgramBinary""\0" "gl""gl""ProgramParameteri""\0" "MapBufferRange")(target, offset, length, access); | |
| } | |
| | |
| static void qopenglfResolvePauseTransformFeedback() | |
| { | |
| if (isES3(0)) | |
| qgles3Helper()->PauseTransformFeedback(); | |
| else | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::PauseTransformFeedback,"gl""InvalidateFramebuffer""\0" "gl""gl""InvalidateSubFramebuffer""\0" "PauseTransformFeedback")(); | |
| } | |
| | |
| static void qopenglfResolveProgramBinary(GLuint program, GLenum binaryFormat, const void * binary, GLsizei length) | |
| { | |
| if (isES3(0)) | |
| qgles3Helper()->ProgramBinary(program, binaryFormat, binary, length); | |
| else | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::ProgramBinary,"gl""TexStorage2D""\0" "gl""gl""TexStorage3D""\0" "ProgramBinary")(program, binaryFormat, binary, length); | |
| } | |
| | |
| static void qopenglfResolveProgramParameteri(GLuint program, GLenum pname, GLint value) | |
| { | |
| if (isES3(0)) | |
| qgles3Helper()->ProgramParameteri(program, pname, value); | |
| else | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::ProgramParameteri,"gl""GetInternalformativ""\0" "gl""gl""DispatchCompute""\0" "ProgramParameteri")(program, pname, value); | |
| } | |
| | |
| static void qopenglfResolveReadBuffer(GLenum src) | |
| { | |
| if (isES3(0)) | |
| qgles3Helper()->ReadBuffer(src); | |
| else | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::ReadBuffer,"gl""DispatchComputeIndirect""\0" "gl""gl""DrawArraysIndirect""\0" "ReadBuffer")(src); | |
| } | |
| | |
| static void qopenglfResolveRenderbufferStorageMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) | |
| { | |
| if (isES3(0)) | |
| qgles3Helper()->RenderbufferStorageMultisample(target, samples, internalformat, width, height); | |
| else | |
| functionResolver<void, ResolveEXT | ResolveANGLE | ResolveNV>(&QOpenGLExtensionsPrivate::RenderbufferStorageMultisample,"gl""DrawElementsIndirect""\0" "gl""gl""FramebufferParameteri""\0" "RenderbufferStorageMultisample") | |
| (target, samples, internalformat, width, height); | |
| } | |
| | |
| static void qopenglfResolveResumeTransformFeedback() | |
| { | |
| if (isES3(0)) | |
| qgles3Helper()->ResumeTransformFeedback(); | |
| else | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::ResumeTransformFeedback,"gl""GetFramebufferParameteriv""\0" "gl""gl""GetProgramInterfaceiv""\0" "ResumeTransformFeedback")(); | |
| } | |
| | |
| static void qopenglfResolveSamplerParameterf(GLuint sampler, GLenum pname, GLfloat param) | |
| { | |
| if (isES3(0)) | |
| qgles3Helper()->SamplerParameterf(sampler, pname, param); | |
| else | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::SamplerParameterf,"gl""GetProgramResourceIndex""\0" "gl""gl""GetProgramResourceName""\0" "SamplerParameterf")(sampler, pname, param); | |
| } | |
| | |
| static void qopenglfResolveSamplerParameterfv(GLuint sampler, GLenum pname, const GLfloat * param) | |
| { | |
| if (isES3(0)) | |
| qgles3Helper()->SamplerParameterfv(sampler, pname, param); | |
| else | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::SamplerParameterfv,"gl""GetProgramResourceiv""\0" "gl""gl""GetProgramResourceLocation""\0" "SamplerParameterfv")(sampler, pname, param); | |
| } | |
| | |
| static void qopenglfResolveSamplerParameteri(GLuint sampler, GLenum pname, GLint param) | |
| { | |
| if (isES3(0)) | |
| qgles3Helper()->SamplerParameteri(sampler, pname, param); | |
| else | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::SamplerParameteri,"gl""UseProgramStages""\0" "gl""gl""ActiveShaderProgram""\0" "SamplerParameteri")(sampler, pname, param); | |
| } | |
| | |
| static void qopenglfResolveSamplerParameteriv(GLuint sampler, GLenum pname, const GLint * param) | |
| { | |
| if (isES3(0)) | |
| qgles3Helper()->SamplerParameteriv(sampler, pname, param); | |
| else | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::SamplerParameteriv,"gl""CreateShaderProgramv""\0" "gl""gl""BindProgramPipeline""\0" "SamplerParameteriv")(sampler, pname, param); | |
| } | |
| | |
| static void qopenglfResolveTexImage3D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void * pixels) | |
| { | |
| if (isES3(0)) | |
| qgles3Helper()->TexImage3D(target, level, internalformat, width, height, depth, border, format, type, pixels); | |
| else | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::TexImage3D,"gl""DeleteProgramPipelines""\0" "gl""gl""GenProgramPipelines""\0" "TexImage3D")(target, level, internalformat, width, height, depth, border, format, type, pixels); | |
| } | |
| | |
| static void qopenglfResolveTexStorage2D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height) | |
| { | |
| if (isES3(0)) | |
| qgles3Helper()->TexStorage2D(target, levels, internalformat, width, height); | |
| else | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::TexStorage2D,"gl""IsProgramPipeline""\0" "gl""gl""GetProgramPipelineiv""\0" "TexStorage2D")(target, levels, internalformat, width, height); | |
| } | |
| | |
| static void qopenglfResolveTexStorage3D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth) | |
| { | |
| if (isES3(0)) | |
| qgles3Helper()->TexStorage3D(target, levels, internalformat, width, height, depth); | |
| else | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::TexStorage3D,"gl""ProgramUniform1i""\0" "gl""gl""ProgramUniform2i""\0" "TexStorage3D")(target, levels, internalformat, width, height, depth); | |
| } | |
| | |
| static void qopenglfResolveTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void * pixels) | |
| { | |
| if (isES3(0)) | |
| qgles3Helper()->TexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); | |
| else | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::TexSubImage3D,"gl""ProgramUniform3i""\0" "gl""gl""ProgramUniform4i""\0" "TexSubImage3D")(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); | |
| } | |
| | |
| static void qopenglfResolveTransformFeedbackVaryings(GLuint program, GLsizei count, const GLchar *const* varyings, GLenum bufferMode) | |
| { | |
| if (isES3(0)) | |
| qgles3Helper()->TransformFeedbackVaryings(program, count, varyings, bufferMode); | |
| else | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::TransformFeedbackVaryings,"gl""ProgramUniform1ui""\0" "gl""gl""ProgramUniform2ui""\0" "TransformFeedbackVaryings")(program, count, varyings, bufferMode); | |
| } | |
| | |
| static void qopenglfResolveUniform1ui(GLint location, GLuint v0) | |
| { | |
| if (isES3(0)) | |
| qgles3Helper()->Uniform1ui(location, v0); | |
| else | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::Uniform1ui,"gl""ProgramUniform3ui""\0" "gl""gl""ProgramUniform4ui""\0" "Uniform1ui")(location, v0); | |
| } | |
| | |
| static void qopenglfResolveUniform1uiv(GLint location, GLsizei count, const GLuint * value) | |
| { | |
| if (isES3(0)) | |
| qgles3Helper()->Uniform1uiv(location, count, value); | |
| else | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::Uniform1uiv,"gl""ProgramUniform1f""\0" "gl""gl""ProgramUniform2f""\0" "Uniform1uiv")(location, count, value); | |
| } | |
| | |
| static void qopenglfResolveUniform2ui(GLint location, GLuint v0, GLuint v1) | |
| { | |
| if (isES3(0)) | |
| qgles3Helper()->Uniform2ui(location, v0, v1); | |
| else | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::Uniform2ui,"gl""ProgramUniform3f""\0" "gl""gl""ProgramUniform4f""\0" "Uniform2ui")(location, v0, v1); | |
| } | |
| | |
| static void qopenglfResolveUniform2uiv(GLint location, GLsizei count, const GLuint * value) | |
| { | |
| if (isES3(0)) | |
| qgles3Helper()->Uniform2uiv(location, count, value); | |
| else | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::Uniform2uiv,"gl""ProgramUniform1iv""\0" "gl""gl""ProgramUniform2iv""\0" "Uniform2uiv")(location, count, value); | |
| } | |
| | |
| static void qopenglfResolveUniform3ui(GLint location, GLuint v0, GLuint v1, GLuint v2) | |
| { | |
| if (isES3(0)) | |
| qgles3Helper()->Uniform3ui(location, v0, v1, v2); | |
| else | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::Uniform3ui,"gl""ProgramUniform3iv""\0" "gl""gl""ProgramUniform4iv""\0" "Uniform3ui")(location, v0, v1, v2); | |
| } | |
| | |
| static void qopenglfResolveUniform3uiv(GLint location, GLsizei count, const GLuint * value) | |
| { | |
| if (isES3(0)) | |
| qgles3Helper()->Uniform3uiv(location, count, value); | |
| else | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::Uniform3uiv,"gl""ProgramUniform1uiv""\0" "gl""gl""ProgramUniform2uiv""\0" "Uniform3uiv")(location, count, value); | |
| } | |
| | |
| static void qopenglfResolveUniform4ui(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3) | |
| { | |
| if (isES3(0)) | |
| qgles3Helper()->Uniform4ui(location, v0, v1, v2, v3); | |
| else | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::Uniform4ui,"gl""ProgramUniform3uiv""\0" "gl""gl""ProgramUniform4uiv""\0" "Uniform4ui")(location, v0, v1, v2, v3); | |
| } | |
| | |
| static void qopenglfResolveUniform4uiv(GLint location, GLsizei count, const GLuint * value) | |
| { | |
| if (isES3(0)) | |
| qgles3Helper()->Uniform4uiv(location, count, value); | |
| else | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::Uniform4uiv,"gl""ProgramUniform1fv""\0" "gl""gl""ProgramUniform2fv""\0" "Uniform4uiv")(location, count, value); | |
| } | |
| | |
| static void qopenglfResolveUniformBlockBinding(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding) | |
| { | |
| if (isES3(0)) | |
| qgles3Helper()->UniformBlockBinding(program, uniformBlockIndex, uniformBlockBinding); | |
| else | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::UniformBlockBinding,"gl""ProgramUniform3fv""\0" "gl""gl""ProgramUniform4fv""\0" "UniformBlockBinding")(program, uniformBlockIndex, uniformBlockBinding); | |
| } | |
| | |
| static void qopenglfResolveUniformMatrix2x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) | |
| { | |
| if (isES3(0)) | |
| qgles3Helper()->UniformMatrix2x3fv(location, count, transpose, value); | |
| else | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::UniformMatrix2x3fv,"gl""ProgramUniformMatrix2fv""\0" "gl""gl""ProgramUniformMatrix3fv""\0" "UniformMatrix2x3fv")(location, count, transpose, value); | |
| } | |
| | |
| static void qopenglfResolveUniformMatrix2x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) | |
| { | |
| if (isES3(0)) | |
| qgles3Helper()->UniformMatrix2x4fv(location, count, transpose, value); | |
| else | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::UniformMatrix2x4fv,"gl""ProgramUniformMatrix4fv""\0" "gl""gl""ProgramUniformMatrix2x3fv""\0" "UniformMatrix2x4fv")(location, count, transpose, value); | |
| } | |
| | |
| static void qopenglfResolveUniformMatrix3x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) | |
| { | |
| if (isES3(0)) | |
| qgles3Helper()->UniformMatrix3x2fv(location, count, transpose, value); | |
| else | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::UniformMatrix3x2fv,"gl""ProgramUniformMatrix3x2fv""\0" "gl""gl""ProgramUniformMatrix2x4fv""\0" "UniformMatrix3x2fv")(location, count, transpose, value); | |
| } | |
| | |
| static void qopenglfResolveUniformMatrix3x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) | |
| { | |
| if (isES3(0)) | |
| qgles3Helper()->UniformMatrix3x4fv(location, count, transpose, value); | |
| else | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::UniformMatrix3x4fv,"gl""ProgramUniformMatrix4x2fv""\0" "gl""gl""ProgramUniformMatrix3x4fv""\0" "UniformMatrix3x4fv")(location, count, transpose, value); | |
| } | |
| | |
| static void qopenglfResolveUniformMatrix4x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) | |
| { | |
| if (isES3(0)) | |
| qgles3Helper()->UniformMatrix4x2fv(location, count, transpose, value); | |
| else | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::UniformMatrix4x2fv,"gl""ProgramUniformMatrix4x3fv""\0" "gl""gl""ValidateProgramPipeline""\0" "UniformMatrix4x2fv")(location, count, transpose, value); | |
| } | |
| | |
| static void qopenglfResolveUniformMatrix4x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) | |
| { | |
| if (isES3(0)) | |
| qgles3Helper()->UniformMatrix4x3fv(location, count, transpose, value); | |
| else | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::UniformMatrix4x3fv,"gl""GetProgramPipelineInfoLog""\0" "gl""gl""BindImageTexture""\0" "UniformMatrix4x3fv")(location, count, transpose, value); | |
| } | |
| | |
| static GLboolean qopenglfResolveUnmapBuffer(GLenum target) | |
| { | |
| if (isES3(0)) | |
| return qgles3Helper()->UnmapBuffer(target); | |
| else | |
| return functionResolver<GLboolean, ResolveOES>(&QOpenGLExtensionsPrivate::UnmapBuffer,"gl""GetBooleani_v""\0" "gl""gl""MemoryBarrier""\0" "UnmapBuffer")(target); | |
| } | |
| | |
| static void qopenglfResolveVertexAttribDivisor(GLuint index, GLuint divisor) | |
| { | |
| if (isES3(0)) | |
| qgles3Helper()->VertexAttribDivisor(index, divisor); | |
| else | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::VertexAttribDivisor,"gl""MemoryBarrierByRegion""\0" "gl""gl""TexStorage2DMultisample""\0" "VertexAttribDivisor")(index, divisor); | |
| } | |
| | |
| static void qopenglfResolveVertexAttribI4i(GLuint index, GLint x, GLint y, GLint z, GLint w) | |
| { | |
| if (isES3(0)) | |
| qgles3Helper()->VertexAttribI4i(index, x, y, z, w); | |
| else | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::VertexAttribI4i,"gl""GetMultisamplefv""\0" "gl""gl""SampleMaski""\0" "VertexAttribI4i")(index, x, y, z, w); | |
| } | |
| | |
| static void qopenglfResolveVertexAttribI4iv(GLuint index, const GLint * v) | |
| { | |
| if (isES3(0)) | |
| qgles3Helper()->VertexAttribI4iv(index, v); | |
| else | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::VertexAttribI4iv,"gl""GetTexLevelParameteriv""\0" "gl""gl""GetTexLevelParameterfv""\0" "VertexAttribI4iv")(index, v); | |
| } | |
| | |
| static void qopenglfResolveVertexAttribI4ui(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w) | |
| { | |
| if (isES3(0)) | |
| qgles3Helper()->VertexAttribI4ui(index, x, y, z, w); | |
| else | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::VertexAttribI4ui,"gl""BindVertexBuffer""\0" "gl""gl""VertexAttribFormat""\0" "VertexAttribI4ui")(index, x, y, z, w); | |
| } | |
| | |
| static void qopenglfResolveVertexAttribI4uiv(GLuint index, const GLuint * v) | |
| { | |
| if (isES3(0)) | |
| qgles3Helper()->VertexAttribI4uiv(index, v); | |
| else | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::VertexAttribI4uiv,"gl""VertexAttribIFormat""\0" "gl""gl""VertexAttribBinding""\0" "VertexAttribI4uiv")(index, v); | |
| } | |
| | |
| static void qopenglfResolveVertexAttribIPointer(GLuint index, GLint size, GLenum type, GLsizei stride,"gl""VertexBindingDivisor""\0"; const voidchar *pointer) | |
| { | |
| if (isES3(0)) | |
| qgles3Helper()->VertexAttribIPointer(index, size, type, stride, pointer); | |
| else | |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::VertexAttribIPointer, "gl" "VertexAttribIPointer")(index, size, type, stride, pointer); | |
| } | |
| | |
| static void qopenglfResolveWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout) | |
| { | |
| if (isES3name = names; for (int i = 0)) | |
| qgles3Helper()->WaitSync(sync, flags, timeout); | |
| else | |
| functionResolver; iTRUE | never evaluated | FALSE | never evaluated |
< void, 0>(&QOpenGLExtensionsPrivate::WaitSync, "gl" "WaitSync")(sync, flags, timeout);TRUE | never evaluated | FALSE | never evaluated |
| |
| }TRUE | never evaluated | FALSE | never evaluated |
| |
| | |
| static void qopenglfResolveActiveShaderProgram(GLuint pipeline, GLuint program)TRUE | never evaluated | FALSE | never evaluated |
| |
| {TRUE | never evaluated | FALSE | never evaluated |
| |
| if (isES3(TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
+1 ))TRUE | never evaluated | FALSE | never evaluated |
| |
| qgles3Helper()->ActiveShaderProgram(pipeline, program);TRUE | never evaluated | FALSE | never evaluated |
| |
| elseTRUE | never evaluated | FALSE | never evaluated |
| |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::ActiveShaderProgram, "gl" "ActiveShaderProgram")(pipeline, program);TRUE | never evaluated | FALSE | never evaluated |
| |
| }TRUE | never evaluated | FALSE | never evaluated |
| |
| | |
| static void qopenglfResolveBindImageTexture(GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format)TRUE | never evaluated | FALSE | never evaluated |
| |
| {TRUE | never evaluated | FALSE | never evaluated |
| |
| if (isES3(TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
+1 ))TRUE | never evaluated | FALSE | never evaluated |
| |
| qgles3Helper()->BindImageTexture(unit, texture, level, layered, layer, access, format);TRUE | never evaluated | FALSE | never evaluated |
| |
| elseTRUE | never evaluated | FALSE | never evaluated |
| |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::BindImageTexture, "gl" "BindImageTexture")(unit, texture, level, layered, layer, access, format);TRUE | never evaluated | FALSE | never evaluated |
| |
| }TRUE | never evaluated | FALSE | never evaluated |
| |
| | |
| static void qopenglfResolveBindProgramPipeline(GLuint pipeline)TRUE | never evaluated | FALSE | never evaluated |
| |
| {TRUE | never evaluated | FALSE | never evaluated |
| |
| if (isES3(TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
+1 ))TRUE | never evaluated | FALSE | never evaluated |
| |
| qgles3Helper()->BindProgramPipeline(pipeline);TRUE | never evaluated | FALSE | never evaluated |
| |
| elseTRUE | never evaluated | FALSE | never evaluated |
| |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::BindProgramPipeline, "gl" "BindProgramPipeline")(pipeline);TRUE | never evaluated | FALSE | never evaluated |
| |
| }TRUE | never evaluated | FALSE | never evaluated |
| |
| | |
| static void qopenglfResolveBindVertexBuffer(GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride)TRUE | never evaluated | FALSE | never evaluated |
| |
| {TRUE | never evaluated | FALSE | never evaluated |
| |
| if (isES3(TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
+1 ))TRUE | never evaluated | FALSE | never evaluated |
| |
| qgles3Helper()->BindVertexBuffer(bindingindex, buffer, offset, stride);TRUE | never evaluated | FALSE | never evaluated |
| |
| elseTRUE | never evaluated | FALSE | never evaluated |
| |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::BindVertexBuffer, "gl" "BindVertexBuffer")(bindingindex, buffer, offset, stride);TRUE | never evaluated | FALSE | never evaluated |
| |
| }TRUE | never evaluated | FALSE | never evaluated |
| |
| | |
| static GLuint qopenglfResolveCreateShaderProgramv(GLenum type, GLsizei count, const GLchar *const* strings)TRUE | never evaluated | FALSE | never evaluated |
| |
| {TRUE | never evaluated | FALSE | never evaluated |
| |
| if (isES3(TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
+1 ))TRUE | never evaluated | FALSE | never evaluated |
| |
| return qgles3Helper()->CreateShaderProgramv(type, count, strings);TRUE | never evaluated | FALSE | never evaluated |
| |
| elseTRUE | never evaluated | FALSE | never evaluated |
| |
| return functionResolver<GLuint, 0>(&QOpenGLExtensionsPrivate::CreateShaderProgramv, "gl" "CreateShaderProgramv")(type, count, strings);TRUE | never evaluated | FALSE | never evaluated |
| |
| }TRUE | never evaluated | FALSE | never evaluated |
| |
| | |
| static void qopenglfResolveDeleteProgramPipelines(GLsizei n, const GLuint * pipelines)TRUE | never evaluated | FALSE | never evaluated |
| |
| {TRUE | never evaluated | FALSE | never evaluated |
| |
| if (isES3(TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
+1 ))TRUE | never evaluated | FALSE | never evaluated |
| |
| qgles3Helper()->DeleteProgramPipelines(n, pipelines);TRUE | never evaluated | FALSE | never evaluated |
| |
| elseTRUE | never evaluated | FALSE | never evaluated |
| |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::DeleteProgramPipelines, "gl" "DeleteProgramPipelines")(n, pipelines);TRUE | never evaluated | FALSE | never evaluated |
| |
| }TRUE | never evaluated | FALSE | never evaluated |
| |
| | |
| static void qopenglfResolveDispatchCompute(GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z)TRUE | never evaluated | FALSE | never evaluated |
| |
| {TRUE | never evaluated | FALSE | never evaluated |
| |
| if (isES3(TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
+1 ))TRUE | never evaluated | FALSE | never evaluated |
| |
| qgles3Helper()->DispatchCompute(num_groups_x, num_groups_y, num_groups_z);TRUE | never evaluated | FALSE | never evaluated |
| |
| elseTRUE | never evaluated | FALSE | never evaluated |
| |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::DispatchCompute, "gl" "DispatchCompute")(num_groups_x, num_groups_y, num_groups_z);TRUE | never evaluated | FALSE | never evaluated |
| |
| }TRUE | never evaluated | FALSE | never evaluated |
| |
| | |
| static void qopenglfResolveDispatchComputeIndirect(GLintptr indirect)TRUE | never evaluated | FALSE | never evaluated |
| |
| {TRUE | never evaluated | FALSE | never evaluated |
| |
| if (isES3(TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
+1 ))TRUE | never evaluated | FALSE | never evaluated |
| |
| qgles3Helper()->DispatchComputeIndirect(indirect);TRUE | never evaluated | FALSE | never evaluated |
| |
| elseTRUE | never evaluated | FALSE | never evaluated |
| |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::DispatchComputeIndirect, "gl" "DispatchComputeIndirect")(indirect);TRUE | never evaluated | FALSE | never evaluated |
| |
| }TRUE | never evaluated | FALSE | never evaluated |
| |
| | |
| static void qopenglfResolveDrawArraysIndirect(GLenum mode, const void * indirect)TRUE | never evaluated | FALSE | never evaluated |
| |
| {TRUE | never evaluated | FALSE | never evaluated |
| |
| if (isES3(TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
+1 ))TRUE | never evaluated | FALSE | never evaluated |
| |
| qgles3Helper()->DrawArraysIndirect(mode, indirect);TRUE | never evaluated | FALSE | never evaluated |
| |
| elseTRUE | never evaluated | FALSE | never evaluated |
| |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::DrawArraysIndirect, "gl" "DrawArraysIndirect")(mode, indirect);TRUE | never evaluated | FALSE | never evaluated |
| |
| }TRUE | never evaluated | FALSE | never evaluated |
| |
| | |
| static void qopenglfResolveDrawElementsIndirect(GLenum mode, GLenum type, const void * indirect)TRUE | never evaluated | FALSE | never evaluated |
| |
| {TRUE | never evaluated | FALSE | never evaluated |
| |
| if (isES3(TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
+1 ))TRUE | never evaluated | FALSE | never evaluated |
| |
| qgles3Helper()->DrawElementsIndirect(mode, type, indirect);TRUE | never evaluated | FALSE | never evaluated |
| |
| elseTRUE | never evaluated | FALSE | never evaluated |
| |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::DrawElementsIndirect, "gl" "DrawElementsIndirect")(mode, type, indirect);TRUE | never evaluated | FALSE | never evaluated |
| |
| }TRUE | never evaluated | FALSE | never evaluated |
| |
| | |
| static void qopenglfResolveFramebufferParameteri(GLenum target, GLenum pname, GLint param)TRUE | never evaluated | FALSE | never evaluated |
| |
| {TRUE | never evaluated | FALSE | never evaluated |
| |
| if (isES3(TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
+1 ))TRUE | never evaluated | FALSE | never evaluated |
| |
| qgles3Helper()->FramebufferParameteri(target, pname, param);TRUE | never evaluated | FALSE | never evaluated |
| |
| elseTRUE | never evaluated | FALSE | never evaluated |
| |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::FramebufferParameteri, "gl" "FramebufferParameteri")(target, pname, param);TRUE | never evaluated | FALSE | never evaluated |
| |
| }TRUE | never evaluated | FALSE | never evaluated |
| |
| | |
| static void qopenglfResolveGenProgramPipelines(GLsizei n, GLuint* pipelines)TRUE | never evaluated | FALSE | never evaluated |
| |
| {TRUE | never evaluated | FALSE | never evaluated |
| |
| if (isES3(TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
+1 ))TRUE | never evaluated | FALSE | never evaluated |
| |
| qgles3Helper()->GenProgramPipelines(n, pipelines);TRUE | never evaluated | FALSE | never evaluated |
| |
| elseTRUE | never evaluated | FALSE | never evaluated |
| |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::GenProgramPipelines, "gl" "GenProgramPipelines")(n, pipelines);TRUE | never evaluated | FALSE | never evaluated |
| |
| }TRUE | never evaluated | FALSE | never evaluated |
| |
| | |
| static void qopenglfResolveGetBooleani_v(GLenum target, GLuint index, GLboolean* data)TRUE | never evaluated | FALSE | never evaluated |
| |
| {TRUE | never evaluated | FALSE | never evaluated |
| |
| if (isES3(TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
+1 ))TRUE | never evaluated | FALSE | never evaluated |
| |
| qgles3Helper()->GetBooleani_v(target, index, data);TRUE | never evaluated | FALSE | never evaluated |
| |
| elseTRUE | never evaluated | FALSE | never evaluated |
| |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::GetBooleani_v, "gl" "GetBooleani_v")(target, index, data);TRUE | never evaluated | FALSE | never evaluated |
| |
| }TRUE | never evaluated | FALSE | never evaluated |
| |
| | |
| static void qopenglfResolveGetFramebufferParameteriv(GLenum target, GLenum pname, GLint* params)TRUE | never evaluated | FALSE | never evaluated |
| |
| {TRUE | never evaluated | FALSE | never evaluated |
| |
| if (isES3(TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
+1 ))TRUE | never evaluated | FALSE | never evaluated |
| |
| qgles3Helper()->GetFramebufferParameteriv(target, pname, params);TRUE | never evaluated | FALSE | never evaluated |
| |
| elseTRUE | never evaluated | FALSE | never evaluated |
| |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::GetFramebufferParameteriv, "gl" "GetFramebufferParameteriv")(target, pname, params);TRUE | never evaluated | FALSE | never evaluated |
| |
| }TRUE | never evaluated | FALSE | never evaluated |
| |
| | |
| static void qopenglfResolveGetMultisamplefv(GLenum pname, GLuint index, GLfloat* val)TRUE | never evaluated | FALSE | never evaluated |
| |
| {TRUE | never evaluated | FALSE | never evaluated |
| |
| if (isES3(TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
+1 ))TRUE | never evaluated | FALSE | never evaluated |
| |
| qgles3Helper()->GetMultisamplefv(pname, index, val);TRUE | never evaluated | FALSE | never evaluated |
| |
| elseTRUE | never evaluated | FALSE | never evaluated |
| |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::GetMultisamplefv, "gl" "GetMultisamplefv")(pname, index, val);TRUE | never evaluated | FALSE | never evaluated |
| |
| }TRUE | never evaluated | FALSE | never evaluated |
| |
| | |
| static void qopenglfResolveGetProgramInterfaceiv(GLuint program, GLenum programInterface, GLenum pname, GLint* params)TRUE | never evaluated | FALSE | never evaluated |
| |
| {TRUE | never evaluated | FALSE | never evaluated |
| |
| if (isES3(TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
+1 ))TRUE | never evaluated | FALSE | never evaluated |
| |
| qgles3Helper()->GetProgramInterfaceiv(program, programInterface, pname, params);TRUE | never evaluated | FALSE | never evaluated |
| |
| elseTRUE | never evaluated | FALSE | never evaluated |
| |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::GetProgramInterfaceiv, "gl" "GetProgramInterfaceiv")(program, programInterface, pname, params);TRUE | never evaluated | FALSE | never evaluated |
| |
| }TRUE | never evaluated | FALSE | never evaluated |
| |
| | |
| static void qopenglfResolveGetProgramPipelineInfoLog(GLuint pipeline, GLsizei bufSize, GLsizei* length, GLchar* infoLog)TRUE | never evaluated | FALSE | never evaluated |
| |
| {TRUE | never evaluated | FALSE | never evaluated |
| |
| if (isES3(TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
+1 ))TRUE | never evaluated | FALSE | never evaluated |
| |
| qgles3Helper()->GetProgramPipelineInfoLog(pipeline, bufSize, length, infoLog);TRUE | never evaluated | FALSE | never evaluated |
| |
| elseTRUE | never evaluated | FALSE | never evaluated |
| |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::GetProgramPipelineInfoLog, "gl" "GetProgramPipelineInfoLog")(pipeline, bufSize, length, infoLog);TRUE | never evaluated | FALSE | never evaluated |
| |
| }TRUE | never evaluated | FALSE | never evaluated |
| |
| | |
| static void qopenglfResolveGetProgramPipelineiv(GLuint pipeline, GLenum pname, GLint* params)TRUE | never evaluated | FALSE | never evaluated |
| |
| {TRUE | never evaluated | FALSE | never evaluated |
| |
| if (isES3(TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
+1 ))TRUE | never evaluated | FALSE | never evaluated |
| |
| qgles3Helper()->GetProgramPipelineiv(pipeline, pname, params);TRUE | never evaluated | FALSE | never evaluated |
| |
| elseTRUE | never evaluated | FALSE | never evaluated |
| |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::GetProgramPipelineiv, "gl" "GetProgramPipelineiv")(pipeline, pname, params);TRUE | never evaluated | FALSE | never evaluated |
| |
| }TRUE | never evaluated | FALSE | never evaluated |
| |
| | |
| static GLuint qopenglfResolveGetProgramResourceIndex(GLuint program, GLenum programInterface, const GLchar * name)TRUE | never evaluated | FALSE | never evaluated |
| |
| {TRUE | never evaluated | FALSE | never evaluated |
| |
| if (isES3(TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
+1 ))TRUE | never evaluated | FALSE | never evaluated |
| |
| return qgles3Helper()->GetProgramResourceIndex(program, programInterface, name);TRUE | never evaluated | FALSE | never evaluated |
| |
| elseTRUE | never evaluated | FALSE | never evaluated |
| |
| return functionResolver<GLuint, 0>(&QOpenGLExtensionsPrivate::GetProgramResourceIndex, "gl" "GetProgramResourceIndex")(program, programInterface, name);TRUE | never evaluated | FALSE | never evaluated |
| |
| }TRUE | never evaluated | FALSE | never evaluated |
| |
| | |
| static GLint qopenglfResolveGetProgramResourceLocation(GLuint program, GLenum programInterface, const GLchar * name)TRUE | never evaluated | FALSE | never evaluated |
| |
| {TRUE | never evaluated | FALSE | never evaluated |
| |
| if (isES3(TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
+1 ))TRUE | never evaluated | FALSE | never evaluated |
| |
| return qgles3Helper()->GetProgramResourceLocation(program, programInterface, name);TRUE | never evaluated | FALSE | never evaluated |
| |
| elseTRUE | never evaluated | FALSE | never evaluated |
| |
| return functionResolver<GLint, 0>(&QOpenGLExtensionsPrivate::GetProgramResourceLocation, "gl" "GetProgramResourceLocation")(program, programInterface, name);TRUE | never evaluated | FALSE | never evaluated |
| |
| }TRUE | never evaluated | FALSE | never evaluated |
| |
| | |
| static void qopenglfResolveGetProgramResourceName(GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei* length, GLchar* name)TRUE | never evaluated | FALSE | never evaluated |
| |
| {TRUE | never evaluated | FALSE | never evaluated |
| |
| if (isES3(TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
+1 ))TRUE | never evaluated | FALSE | never evaluated |
| |
| qgles3Helper()->GetProgramResourceName(program, programInterface, index, bufSize, length, name);TRUE | never evaluated | FALSE | never evaluated |
| |
| elseTRUE | never evaluated | FALSE | never evaluated |
| |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::GetProgramResourceName, "gl" "GetProgramResourceName")(program, programInterface, index, bufSize, length, name);TRUE | never evaluated | FALSE | never evaluated |
| |
| }TRUE | never evaluated | FALSE | never evaluated |
| |
| | |
| static void qopenglfResolveGetProgramResourceiv(GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum * props, GLsizei bufSize, GLsizei* length, GLint* params)TRUE | never evaluated | FALSE | never evaluated |
| |
| {TRUE | never evaluated | FALSE | never evaluated |
| |
| if (isES3(TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
+1 ))TRUE | never evaluated | FALSE | never evaluated |
| |
| qgles3Helper()->GetProgramResourceiv(program, programInterface, index, propCount, props, bufSize, length, params);TRUE | never evaluated | FALSE | never evaluated |
| |
| elseTRUE | never evaluated | FALSE | never evaluated |
| |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::GetProgramResourceiv, "gl" "GetProgramResourceiv")(program, programInterface, index, propCount, props, bufSize, length, params);TRUE | never evaluated | FALSE | never evaluated |
| |
| }TRUE | never evaluated | FALSE | never evaluated |
| |
| | |
| static void qopenglfResolveGetTexLevelParameterfv(GLenum target, GLint level, GLenum pname, GLfloat* params)TRUE | never evaluated | FALSE | never evaluated |
| |
| {TRUE | never evaluated | FALSE | never evaluated |
| |
| if (isES3(TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
+1 ))TRUE | never evaluated | FALSE | never evaluated |
| |
| qgles3Helper()->GetTexLevelParameterfv(target, level, pname, params);TRUE | never evaluated | FALSE | never evaluated |
| |
| elseTRUE | never evaluated | FALSE | never evaluated |
| |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::GetTexLevelParameterfv, "gl" "GetTexLevelParameterfv")(target, level, pname, params);TRUE | never evaluated | FALSE | never evaluated |
| |
| }TRUE | never evaluated | FALSE | never evaluated |
| |
| | |
| static void qopenglfResolveGetTexLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint* params)TRUE | never evaluated | FALSE | never evaluated |
| |
| {TRUE | never evaluated | FALSE | never evaluated |
| |
| if (isES3(TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
+1 ))TRUE | never evaluated | FALSE | never evaluated |
| |
| qgles3Helper()->GetTexLevelParameteriv(target, level, pname, params);TRUE | never evaluated | FALSE | never evaluated |
| |
| elseTRUE | never evaluated | FALSE | never evaluated |
| |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::GetTexLevelParameteriv, "gl" "GetTexLevelParameteriv")(target, level, pname, params);TRUE | never evaluated | FALSE | never evaluated |
| |
| }TRUE | never evaluated | FALSE | never evaluated |
| |
| | |
| static GLboolean qopenglfResolveIsProgramPipeline(GLuint pipeline)TRUE | never evaluated | FALSE | never evaluated |
| |
| {TRUE | never evaluated | FALSE | never evaluated |
| |
| if (isES3(TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
+1 ))TRUE | never evaluated | FALSE | never evaluated |
| |
| return qgles3Helper()->IsProgramPipeline(pipeline);TRUE | never evaluated | FALSE | never evaluated |
| |
| elseTRUE | never evaluated | FALSE | never evaluated |
| |
| return functionResolver<GLboolean, 0>(&QOpenGLExtensionsPrivate::IsProgramPipeline, "gl" "IsProgramPipeline")(pipeline);TRUE | never evaluated | FALSE | never evaluated |
| |
| }TRUE | never evaluated | FALSE | never evaluated |
| |
| | |
| static void qopenglfResolveMemoryBarrier(GLbitfield barriers)TRUE | never evaluated | FALSE | never evaluated |
| |
| {TRUE | never evaluated | FALSE | never evaluated |
| |
| if (isES3(TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
+1 ))TRUE | never evaluated | FALSE | never evaluated |
| |
| qgles3Helper()->MemoryBarrierFunc(barriers);TRUE | never evaluated | FALSE | never evaluated |
| |
| elseTRUE | never evaluated | FALSE | never evaluated |
| |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::MemoryBarrierFunc, "gl" "MemoryBarrierFunc")(barriers);TRUE | never evaluated | FALSE | never evaluated |
| |
| }TRUE | never evaluated | FALSE | never evaluated |
| |
| | |
| static void qopenglfResolveMemoryBarrierByRegion(GLbitfield barriers)TRUE | never evaluated | FALSE | never evaluated |
| |
| {TRUE | never evaluated | FALSE | never evaluated |
| |
| if (isES3(TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
+1 ))TRUE | never evaluated | FALSE | never evaluated |
| |
| qgles3Helper()->MemoryBarrierByRegion(barriers);TRUE | never evaluated | FALSE | never evaluated |
| |
| elseTRUE | never evaluated | FALSE | never evaluated |
| |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::MemoryBarrierByRegion, "gl" "MemoryBarrierByRegion")(barriers);TRUE | never evaluated | FALSE | never evaluated |
| |
| }TRUE | never evaluated | FALSE | never evaluated |
| |
| | |
| static void qopenglfResolveProgramUniform1f(GLuint program, GLint location, GLfloat v0)TRUE | never evaluated | FALSE | never evaluated |
| |
| {TRUE | never evaluated | FALSE | never evaluated |
| |
| if (isES3(TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
+1 ))TRUE | never evaluated | FALSE | never evaluated |
| |
| qgles3Helper()->ProgramUniform1f(program, location, v0);TRUE | never evaluated | FALSE | never evaluated |
| |
| elseTRUE | never evaluated | FALSE | never evaluated |
| |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::ProgramUniform1f, "gl" "ProgramUniform1f")(program, location, v0);TRUE | never evaluated | FALSE | never evaluated |
| |
| }TRUE | never evaluated | FALSE | never evaluated |
| |
| | |
| static void qopenglfResolveProgramUniform1fv(GLuint program, GLint location, GLsizei count, const GLfloat * value)TRUE | never evaluated | FALSE | never evaluated |
| |
| {TRUE | never evaluated | FALSE | never evaluated |
| |
| if (isES3(TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
+1 ))TRUE | never evaluated | FALSE | never evaluated |
| |
| qgles3Helper()->ProgramUniform1fv(program, location, count, value);TRUE | never evaluated | FALSE | never evaluated |
| |
| elseTRUE | never evaluated | FALSE | never evaluated |
| |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::ProgramUniform1fv, "gl" "ProgramUniform1fv")(program, location, count, value);TRUE | never evaluated | FALSE | never evaluated |
| |
| }TRUE | never evaluated | FALSE | never evaluated |
| |
| | |
| static void qopenglfResolveProgramUniform1i(GLuint program, GLint location, GLint v0)TRUE | never evaluated | FALSE | never evaluated |
| |
| {TRUE | never evaluated | FALSE | never evaluated |
| |
| if (isES3(TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
+1 ))TRUE | never evaluated | FALSE | never evaluated |
| |
| qgles3Helper()->ProgramUniform1i(program, location, v0);TRUE | never evaluated | FALSE | never evaluated |
| |
| elseTRUE | never evaluated | FALSE | never evaluated |
| |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::ProgramUniform1i, "gl" "ProgramUniform1i")(program, location, v0);TRUE | never evaluated | FALSE | never evaluated |
| |
| }TRUE | never evaluated | FALSE | never evaluated |
| |
| | |
| static void qopenglfResolveProgramUniform1iv(GLuint program, GLint location, GLsizei count, const GLint * value)TRUE | never evaluated | FALSE | never evaluated |
| |
| {TRUE | never evaluated | FALSE | never evaluated |
| |
| if (isES3(TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
+1 ))TRUE | never evaluated | FALSE | never evaluated |
| |
| qgles3Helper()->ProgramUniform1iv(program, location, count, value);TRUE | never evaluated | FALSE | never evaluated |
| |
| elseTRUE | never evaluated | FALSE | never evaluated |
| |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::ProgramUniform1iv, "gl" "ProgramUniform1iv")(program, location, count, value);TRUE | never evaluated | FALSE | never evaluated |
| |
| }TRUE | never evaluated | FALSE | never evaluated |
| |
| | |
| static void qopenglfResolveProgramUniform1ui(GLuint program, GLint location, GLuint v0)TRUE | never evaluated | FALSE | never evaluated |
| |
| {TRUE | never evaluated | FALSE | never evaluated |
| |
| if (isES3(TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
+1 ))TRUE | never evaluated | FALSE | never evaluated |
| |
| qgles3Helper()->ProgramUniform1ui(program, location, v0);TRUE | never evaluated | FALSE | never evaluated |
| |
| elseTRUE | never evaluated | FALSE | never evaluated |
| |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::ProgramUniform1ui, "gl" "ProgramUniform1ui")(program, location, v0);TRUE | never evaluated | FALSE | never evaluated |
| |
| }TRUE | never evaluated | FALSE | never evaluated |
| |
| | |
| static void qopenglfResolveProgramUniform1uiv(GLuint program, GLint location, GLsizei count, const GLuint * value)TRUE | never evaluated | FALSE | never evaluated |
| |
| {TRUE | never evaluated | FALSE | never evaluated |
| |
| if (isES3(TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
+1 ))TRUE | never evaluated | FALSE | never evaluated |
| |
| qgles3Helper()->ProgramUniform1uiv(program, location, count, value);TRUE | never evaluated | FALSE | never evaluated |
| |
| elseTRUE | never evaluated | FALSE | never evaluated |
| |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::ProgramUniform1uiv, "gl" "ProgramUniform1uiv")(program, location, count, value);TRUE | never evaluated | FALSE | never evaluated |
| |
| }TRUE | never evaluated | FALSE | never evaluated |
| |
| | |
| static void qopenglfResolveProgramUniform2f(GLuint program, GLint location, GLfloat v0, GLfloat v1)TRUE | never evaluated | FALSE | never evaluated |
| |
| {TRUE | never evaluated | FALSE | never evaluated |
| |
| if (isES3(TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
+1 ))TRUE | never evaluated | FALSE | never evaluated |
| |
| qgles3Helper()->ProgramUniform2f(program, location, v0, v1);TRUE | never evaluated | FALSE | never evaluated |
| |
| elseTRUE | never evaluated | FALSE | never evaluated |
| |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::ProgramUniform2f, "gl" "ProgramUniform2f")(program, location, v0, v1);TRUE | never evaluated | FALSE | never evaluated |
| |
| }TRUE | never evaluated | FALSE | never evaluated |
| |
| | |
| static void qopenglfResolveProgramUniform2fv(GLuint program, GLint location, GLsizei count, const GLfloat * value)TRUE | never evaluated | FALSE | never evaluated |
| |
| {TRUE | never evaluated | FALSE | never evaluated |
| |
| if (isES3(TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
+1 ))TRUE | never evaluated | FALSE | never evaluated |
| |
| qgles3Helper()->ProgramUniform2fv(program, location, count, value);TRUE | never evaluated | FALSE | never evaluated |
| |
| elseTRUE | never evaluated | FALSE | never evaluated |
| |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::ProgramUniform2fv, "gl" "ProgramUniform2fv")(program, location, count, value);TRUE | never evaluated | FALSE | never evaluated |
| |
| }TRUE | never evaluated | FALSE | never evaluated |
| |
| | |
| static void qopenglfResolveProgramUniform2i(GLuint program, GLint location, GLint v0, GLint v1)TRUE | never evaluated | FALSE | never evaluated |
| |
| {TRUE | never evaluated | FALSE | never evaluated |
| |
| if (isES3(TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
+1 ))TRUE | never evaluated | FALSE | never evaluated |
| |
| qgles3Helper()->ProgramUniform2i(program, location, v0, v1);TRUE | never evaluated | FALSE | never evaluated |
| |
| elseTRUE | never evaluated | FALSE | never evaluated |
| |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::ProgramUniform2i, "gl" "ProgramUniform2i")(program, location, v0, v1);TRUE | never evaluated | FALSE | never evaluated |
| |
| }TRUE | never evaluated | FALSE | never evaluated |
| |
| | |
| static void qopenglfResolveProgramUniform2iv(GLuint program, GLint location, GLsizei count, const GLint * value)TRUE | never evaluated | FALSE | never evaluated |
| |
| {TRUE | never evaluated | FALSE | never evaluated |
| |
| if (isES3(TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
+1 ))TRUE | never evaluated | FALSE | never evaluated |
| |
| qgles3Helper()->ProgramUniform2iv(program, location, count, value);TRUE | never evaluated | FALSE | never evaluated |
| |
| elseTRUE | never evaluated | FALSE | never evaluated |
| |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::ProgramUniform2iv, "gl" "ProgramUniform2iv")(program, location, count, value);TRUE | never evaluated | FALSE | never evaluated |
| |
| }TRUE | never evaluated | FALSE | never evaluated |
| |
| | |
| static void qopenglfResolveProgramUniform2ui(GLuint program, GLint location, GLuint v0, GLuint v1)TRUE | never evaluated | FALSE | never evaluated |
| |
| {TRUE | never evaluated | FALSE | never evaluated |
| |
| if (isES3(TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
+1 ))TRUE | never evaluated | FALSE | never evaluated |
| |
| qgles3Helper()->ProgramUniform2ui(program, location, v0, v1);TRUE | never evaluated | FALSE | never evaluated |
| |
| elseTRUE | never evaluated | FALSE | never evaluated |
| |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::ProgramUniform2ui, "gl" "ProgramUniform2ui")(program, location, v0, v1);TRUE | never evaluated | FALSE | never evaluated |
| |
| }TRUE | never evaluated | FALSE | never evaluated |
| |
| | |
| static void qopenglfResolveProgramUniform2uiv(GLuint program, GLint location, GLsizei count, const GLuint * value)TRUE | never evaluated | FALSE | never evaluated |
| |
| {TRUE | never evaluated | FALSE | never evaluated |
| |
| if (isES3(TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
+1 ))TRUE | never evaluated | FALSE | never evaluated |
| |
| qgles3Helper()->ProgramUniform2uiv(program, location, count, value);TRUE | never evaluated | FALSE | never evaluated |
| |
| elseTRUE | never evaluated | FALSE | never evaluated |
| |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::ProgramUniform2uiv, "gl" "ProgramUniform2uiv")(program, location, count, value);TRUE | never evaluated | FALSE | never evaluated |
| |
| }TRUE | never evaluated | FALSE | never evaluated |
| |
| | |
| static void qopenglfResolveProgramUniform3f(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2)TRUE | never evaluated | FALSE | never evaluated |
| |
| {TRUE | never evaluated | FALSE | never evaluated |
| |
| if (isES3(TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
+1 ))TRUE | never evaluated | FALSE | never evaluated |
| |
| qgles3Helper()->ProgramUniform3f(program, location, v0, v1, v2);TRUE | never evaluated | FALSE | never evaluated |
| |
| elseTRUE | never evaluated | FALSE | never evaluated |
| |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::ProgramUniform3f, "gl" "ProgramUniform3f")(program, location, v0, v1, v2);TRUE | never evaluated | FALSE | never evaluated |
| |
| }TRUE | never evaluated | FALSE | never evaluated |
| |
| | |
| static void qopenglfResolveProgramUniform3fv(GLuint program, GLint location, GLsizei count, const GLfloat * value)TRUE | never evaluated | FALSE | never evaluated |
| |
| {TRUE | never evaluated | FALSE | never evaluated |
| |
| if (isES3(TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
+1 ))TRUE | never evaluated | FALSE | never evaluated |
| |
| qgles3Helper()->ProgramUniform3fv(program, location, count, value);TRUE | never evaluated | FALSE | never evaluated |
| |
| elseTRUE | never evaluated | FALSE | never evaluated |
| |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::ProgramUniform3fv, "gl" "ProgramUniform3fv")(program, location, count, value);TRUE | never evaluated | FALSE | never evaluated |
| |
| }TRUE | never evaluated | FALSE | never evaluated |
| |
| | |
| static void qopenglfResolveProgramUniform3i(GLuint program, GLint location, GLint v0, GLint v1, GLint v2)TRUE | never evaluated | FALSE | never evaluated |
| |
| {TRUE | never evaluated | FALSE | never evaluated |
| |
| if (isES3(TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
+1 ))TRUE | never evaluated | FALSE | never evaluated |
| |
| qgles3Helper()->ProgramUniform3i(program, location, v0, v1, v2);TRUE | never evaluated | FALSE | never evaluated |
| |
| elseTRUE | never evaluated | FALSE | never evaluated |
| |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::ProgramUniform3i, "gl" "ProgramUniform3i")(program, location, v0, v1, v2);TRUE | never evaluated | FALSE | never evaluated |
| |
| }TRUE | never evaluated | FALSE | never evaluated |
| |
| | |
| static void qopenglfResolveProgramUniform3iv(GLuint program, GLint location, GLsizei count, const GLint * value)TRUE | never evaluated | FALSE | never evaluated |
| |
| {TRUE | never evaluated | FALSE | never evaluated |
| |
| if (isES3(TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
+1 ))TRUE | never evaluated | FALSE | never evaluated |
| |
| qgles3Helper()->ProgramUniform3iv(program, location, count, value);TRUE | never evaluated | FALSE | never evaluated |
| |
| elseTRUE | never evaluated | FALSE | never evaluated |
| |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::ProgramUniform3iv, "gl" "ProgramUniform3iv")(program, location, count, value);TRUE | never evaluated | FALSE | never evaluated |
| |
| }TRUE | never evaluated | FALSE | never evaluated |
| |
| | |
| static void qopenglfResolveProgramUniform3ui(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2)TRUE | never evaluated | FALSE | never evaluated |
| |
| {TRUE | never evaluated | FALSE | never evaluated |
| |
| if (isES3(TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
+1 ))TRUE | never evaluated | FALSE | never evaluated |
| |
| qgles3Helper()->ProgramUniform3ui(program, location, v0, v1, v2);TRUE | never evaluated | FALSE | never evaluated |
| |
| elseTRUE | never evaluated | FALSE | never evaluated |
| |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::ProgramUniform3ui, "gl" "ProgramUniform3ui")(program, location, v0, v1, v2);TRUE | never evaluated | FALSE | never evaluated |
| |
| }TRUE | never evaluated | FALSE | never evaluated |
| |
| | |
| static void qopenglfResolveProgramUniform3uiv(GLuint program, GLint location, GLsizei count, const GLuint * value)TRUE | never evaluated | FALSE | never evaluated |
| |
| {TRUE | never evaluated | FALSE | never evaluated |
| |
| if (isES3(TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
+1 ))TRUE | never evaluated | FALSE | never evaluated |
| |
| qgles3Helper()->ProgramUniform3uiv(program, location, count, value);TRUE | never evaluated | FALSE | never evaluated |
| |
| elseTRUE | never evaluated | FALSE | never evaluated |
| |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::ProgramUniform3uiv, "gl" "ProgramUniform3uiv")(program, location, count, value);TRUE | never evaluated | FALSE | never evaluated |
| |
| }TRUE | never evaluated | FALSE | never evaluated |
| |
| | |
| static void qopenglfResolveProgramUniform4f(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3)TRUE | never evaluated | FALSE | never evaluated |
| |
| {TRUE | never evaluated | FALSE | never evaluated |
| |
| if (isES3(TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
+1 ))TRUE | never evaluated | FALSE | never evaluated |
| |
| qgles3Helper()->ProgramUniform4f(program, location, v0, v1, v2, v3);TRUE | never evaluated | FALSE | never evaluated |
| |
| elseTRUE | never evaluated | FALSE | never evaluated |
| |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::ProgramUniform4f, "gl" "ProgramUniform4f")(program, location, v0, v1, v2, v3);TRUE | never evaluated | FALSE | never evaluated |
| |
| }TRUE | never evaluated | FALSE | never evaluated |
| |
| | |
| static void qopenglfResolveProgramUniform4fv(GLuint program, GLint location, GLsizei count, const GLfloat * value)TRUE | never evaluated | FALSE | never evaluated |
| |
| {TRUE | never evaluated | FALSE | never evaluated |
| |
| if (isES3(TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
+1 ))TRUE | never evaluated | FALSE | never evaluated |
| |
| qgles3Helper()->ProgramUniform4fv(program, location, count, value);TRUE | never evaluated | FALSE | never evaluated |
| |
| elseTRUE | never evaluated | FALSE | never evaluated |
| |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::ProgramUniform4fv, "gl" "ProgramUniform4fv")(program, location, count, value);TRUE | never evaluated | FALSE | never evaluated |
| |
| }TRUE | never evaluated | FALSE | never evaluated |
| |
| | |
| static void qopenglfResolveProgramUniform4i(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3)TRUE | never evaluated | FALSE | never evaluated |
| |
| {TRUE | never evaluated | FALSE | never evaluated |
| |
| if (isES3(TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
+1 ))TRUE | never evaluated | FALSE | never evaluated |
| |
| qgles3Helper()->ProgramUniform4i(program, location, v0, v1, v2, v3);TRUE | never evaluated | FALSE | never evaluated |
| |
| elseTRUE | never evaluated | FALSE | never evaluated |
| |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::ProgramUniform4i, "gl" "ProgramUniform4i")(program, location, v0, v1, v2, v3);TRUE | never evaluated | FALSE | never evaluated |
| |
| }TRUE | never evaluated | FALSE | never evaluated |
| |
| | |
| static void qopenglfResolveProgramUniform4iv(GLuint program, GLint location, GLsizei count, const GLint * value)TRUE | never evaluated | FALSE | never evaluated |
| |
| {TRUE | never evaluated | FALSE | never evaluated |
| |
| if (isES3(TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
+1 ))TRUE | never evaluated | FALSE | never evaluated |
| |
| qgles3Helper()->ProgramUniform4iv(program, location, count, value);TRUE | never evaluated | FALSE | never evaluated |
| |
| elseTRUE | never evaluated | FALSE | never evaluated |
| |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::ProgramUniform4iv, "gl" "ProgramUniform4iv")(program, location, count, value);TRUE | never evaluated | FALSE | never evaluated |
| |
| }TRUE | never evaluated | FALSE | never evaluated |
| |
| | |
| static void qopenglfResolveProgramUniform4ui(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3)TRUE | never evaluated | FALSE | never evaluated |
| |
| {TRUE | never evaluated | FALSE | never evaluated |
| |
| if (isES3(TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
+1 ))TRUE | never evaluated | FALSE | never evaluated |
| |
| qgles3Helper()->ProgramUniform4ui(program, location, v0, v1, v2, v3);TRUE | never evaluated | FALSE | never evaluated |
| |
| elseTRUE | never evaluated | FALSE | never evaluated |
| |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::ProgramUniform4ui, "gl" "ProgramUniform4ui")(program, location, v0, v1, v2, v3);TRUE | never evaluated | FALSE | never evaluated |
| |
| }TRUE | never evaluated | FALSE | never evaluated |
| |
| | |
| static void qopenglfResolveProgramUniform4uiv(GLuint program, GLint location, GLsizei count, const GLuint * value)TRUE | never evaluated | FALSE | never evaluated |
| |
| {TRUE | never evaluated | FALSE | never evaluated |
| |
| if (isES3(TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
+1 ))TRUE | never evaluated | FALSE | never evaluated |
| |
| qgles3Helper()->ProgramUniform4uiv(program, location, count, value);TRUE | never evaluated | FALSE | never evaluated |
| |
| elseTRUE | never evaluated | FALSE | never evaluated |
| |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::ProgramUniform4uiv, "gl" "ProgramUniform4uiv")(program, location, count, value);TRUE | never evaluated | FALSE | never evaluated |
| |
| }TRUE | never evaluated | FALSE | never evaluated |
| |
| | |
| static void qopenglfResolveProgramUniformMatrix2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value)TRUE | never evaluated | FALSE | never evaluated |
| |
| {TRUE | never evaluated | FALSE | never evaluated |
| |
| if (isES3(TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
+1 ))TRUE | never evaluated | FALSE | never evaluated |
| |
| qgles3Helper()->ProgramUniformMatrix2fv(program, location, count, transpose, value);TRUE | never evaluated | FALSE | never evaluated |
| |
| elseTRUE | never evaluated | FALSE | never evaluated |
| |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::ProgramUniformMatrix2fv, "gl" "ProgramUniformMatrix2fv")(program, location, count, transpose, value);TRUE | never evaluated | FALSE | never evaluated |
| |
| }TRUE | never evaluated | FALSE | never evaluated |
| |
| | |
| static void qopenglfResolveProgramUniformMatrix2x3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value)TRUE | never evaluated | FALSE | never evaluated |
| |
| {TRUE | never evaluated | FALSE | never evaluated |
| |
| if (isES3(TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
+1 ))TRUE | never evaluated | FALSE | never evaluated |
| |
| qgles3Helper()->ProgramUniformMatrix2x3fv(program, location, count, transpose, value);TRUE | never evaluated | FALSE | never evaluated |
| |
| elseTRUE | never evaluated | FALSE | never evaluated |
| |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::ProgramUniformMatrix2x3fv, "gl" "ProgramUniformMatrix2x3fv")(program, location, count, transpose, value);TRUE | never evaluated | FALSE | never evaluated |
| |
| }TRUE | never evaluated | FALSE | never evaluated |
| |
| | |
| static void qopenglfResolveProgramUniformMatrix2x4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value)TRUE | never evaluated | FALSE | never evaluated |
| |
| {TRUE | never evaluated | FALSE | never evaluated |
| |
| if (isES3(TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
+1 ))TRUE | never evaluated | FALSE | never evaluated |
| |
| qgles3Helper()->ProgramUniformMatrix2x4fv(program, location, count, transpose, value);TRUE | never evaluated | FALSE | never evaluated |
| |
| elseTRUE | never evaluated | FALSE | never evaluated |
| |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::ProgramUniformMatrix2x4fv, "gl" "ProgramUniformMatrix2x4fv")(program, location, count, transpose, value);TRUE | never evaluated | FALSE | never evaluated |
| |
| }TRUE | never evaluated | FALSE | never evaluated |
| |
| | |
| static void qopenglfResolveProgramUniformMatrix3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value)TRUE | never evaluated | FALSE | never evaluated |
| |
| {TRUE | never evaluated | FALSE | never evaluated |
| |
| if (isES3(TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
+1 ))TRUE | never evaluated | FALSE | never evaluated |
| |
| qgles3Helper()->ProgramUniformMatrix3fv(program, location, count, transpose, value);TRUE | never evaluated | FALSE | never evaluated |
| |
| elseTRUE | never evaluated | FALSE | never evaluated |
| |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::ProgramUniformMatrix3fv, "gl" "ProgramUniformMatrix3fv")(program, location, count, transpose, value);TRUE | never evaluated | FALSE | never evaluated |
| |
| }TRUE | never evaluated | FALSE | never evaluated |
| |
| | |
| static void qopenglfResolveProgramUniformMatrix3x2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value)TRUE | never evaluated | FALSE | never evaluated |
| |
| {TRUE | never evaluated | FALSE | never evaluated |
| |
| if (isES3(TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
+1 ))TRUE | never evaluated | FALSE | never evaluated |
| |
| qgles3Helper()->ProgramUniformMatrix3x2fv(program, location, count, transpose, value);TRUE | never evaluated | FALSE | never evaluated |
| |
| elseTRUE | never evaluated | FALSE | never evaluated |
| |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::ProgramUniformMatrix3x2fv, "gl" "ProgramUniformMatrix3x2fv")(program, location, count, transpose, value);TRUE | never evaluated | FALSE | never evaluated |
| |
| }TRUE | never evaluated | FALSE | never evaluated |
| |
| | |
| static void qopenglfResolveProgramUniformMatrix3x4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value)TRUE | never evaluated | FALSE | never evaluated |
| |
| {TRUE | never evaluated | FALSE | never evaluated |
| |
| if (isES3(TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
+1 ))TRUE | never evaluated | FALSE | never evaluated |
| |
| qgles3Helper()->ProgramUniformMatrix3x4fv(program, location, count, transpose, value);TRUE | never evaluated | FALSE | never evaluated |
| |
| elseTRUE | never evaluated | FALSE | never evaluated |
| |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::ProgramUniformMatrix3x4fv, "gl" "ProgramUniformMatrix3x4fv")(program, location, count, transpose, value);TRUE | never evaluated | FALSE | never evaluated |
| |
| }TRUE | never evaluated | FALSE | never evaluated |
| |
| | |
| static void qopenglfResolveProgramUniformMatrix4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value)TRUE | never evaluated | FALSE | never evaluated |
| |
| {TRUE | never evaluated | FALSE | never evaluated |
| |
| if (isES3(TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
+1 ))TRUE | never evaluated | FALSE | never evaluated |
| |
| qgles3Helper()->ProgramUniformMatrix4fv(program, location, count, transpose, value);TRUE | never evaluated | FALSE | never evaluated |
| |
| elseTRUE | never evaluated | FALSE | never evaluated |
| |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::ProgramUniformMatrix4fv, "gl" "ProgramUniformMatrix4fv")(program, location, count, transpose, value);TRUE | never evaluated | FALSE | never evaluated |
| |
| }TRUE | never evaluated | FALSE | never evaluated |
| |
| | |
| static void qopenglfResolveProgramUniformMatrix4x2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value)TRUE | never evaluated | FALSE | never evaluated |
| |
| {TRUE | never evaluated | FALSE | never evaluated |
| |
| if (isES3(TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
+1 ))TRUE | never evaluated | FALSE | never evaluated |
| |
| qgles3Helper()->ProgramUniformMatrix4x2fv(program, location, count, transpose, value);TRUE | never evaluated | FALSE | never evaluated |
| |
| elseTRUE | never evaluated | FALSE | never evaluated |
| |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::ProgramUniformMatrix4x2fv, "gl" "ProgramUniformMatrix4x2fv")(program, location, count, transpose, value);TRUE | never evaluated | FALSE | never evaluated |
| |
| }TRUE | never evaluated | FALSE | never evaluated |
| |
| | |
| static void qopenglfResolveProgramUniformMatrix4x3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value)TRUE | never evaluated | FALSE | never evaluated |
| |
| {TRUE | never evaluated | FALSE | never evaluated |
| |
| if (isES3(TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
+1 ))TRUE | never evaluated | FALSE | never evaluated |
| |
| qgles3Helper()->ProgramUniformMatrix4x3fv(program, location, count, transpose, value);TRUE | never evaluated | FALSE | never evaluated |
| |
| elseTRUE | never evaluated | FALSE | never evaluated |
| |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::ProgramUniformMatrix4x3fv, "gl" "ProgramUniformMatrix4x3fv")(program, location, count, transpose, value);TRUE | never evaluated | FALSE | never evaluated |
| |
| }TRUE | never evaluated | FALSE | never evaluated |
| |
| | |
| static void qopenglfResolveSampleMaski(GLuint maskNumber, GLbitfield mask)TRUE | never evaluated | FALSE | never evaluated |
| |
| {TRUE | never evaluated | FALSE | never evaluated |
| |
| if (isES3(TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
+1 ))TRUE | never evaluated | FALSE | never evaluated |
| |
| qgles3Helper()->SampleMaski(maskNumber, mask);TRUE | never evaluated | FALSE | never evaluated |
| |
| elseTRUE | never evaluated | FALSE | never evaluated |
| |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::SampleMaski, "gl" "SampleMaski")(maskNumber, mask);TRUE | never evaluated | FALSE | never evaluated |
| |
| }TRUE | never evaluated | FALSE | never evaluated |
| |
| | |
| static void qopenglfResolveTexStorage2DMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations)TRUE | never evaluated | FALSE | never evaluated |
| |
| {TRUE | never evaluated | FALSE | never evaluated |
| |
| if (isES3(TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
+1 ))TRUE | never evaluated | FALSE | never evaluated |
| |
| qgles3Helper()->TexStorage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations);TRUE | never evaluated | FALSE | never evaluated |
| |
| elseTRUE | never evaluated | FALSE | never evaluated |
| |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::TexStorage2DMultisample, "gl" "TexStorage2DMultisample")(target, samples, internalformat, width, height, fixedsamplelocations);TRUE | never evaluated | FALSE | never evaluated |
| |
| }TRUE | never evaluated | FALSE | never evaluated |
| |
| | |
| static void qopenglfResolveUseProgramStages(GLuint pipeline, GLbitfield stages, GLuint program)TRUE | never evaluated | FALSE | never evaluated |
| |
| {TRUE | never evaluated | FALSE | never evaluated |
| |
| if (isES3(TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
+1 ))TRUE | never evaluated | FALSE | never evaluated |
| |
| qgles3Helper()->UseProgramStages(pipeline, stages, program);TRUE | never evaluated | FALSE | never evaluated |
| |
| elseTRUE | never evaluated | FALSE | never evaluated |
| |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::UseProgramStages, "gl" "UseProgramStages")(pipeline, stages, program);TRUE | never evaluated | FALSE | never evaluated |
| |
| }TRUE | never evaluated | FALSE | never evaluated |
| |
| | |
| static void qopenglfResolveValidateProgramPipeline(GLuint pipeline)TRUE | never evaluated | FALSE | never evaluated |
| |
| {TRUE | never evaluated | FALSE | never evaluated |
| |
| if (isES3(TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
+1 ))TRUE | never evaluated | FALSE | never evaluated |
| |
| qgles3Helper()->ValidateProgramPipeline(pipeline);TRUE | never evaluated | FALSE | never evaluated |
| |
| elseTRUE | never evaluated | FALSE | never evaluated |
| |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::ValidateProgramPipeline, "gl" "ValidateProgramPipeline")(pipeline);TRUE | never evaluated | FALSE | never evaluated |
| |
| }TRUE | never evaluated | FALSE | never evaluated |
| |
| | |
| static void qopenglfResolveVertexAttribBinding(GLuint attribindex, GLuint bindingindex)TRUE | never evaluated | FALSE | never evaluated |
| |
| {TRUE | never evaluated | FALSE | never evaluated |
| |
| if (isES3(TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
+1 ))TRUE | never evaluated | FALSE | never evaluated |
| |
| qgles3Helper()->VertexAttribBinding(attribindex, bindingindex);TRUE | never evaluated | FALSE | never evaluated |
| |
| elseTRUE | never evaluated | FALSE | never evaluated |
| |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::VertexAttribBinding, "gl" "VertexAttribBinding")(attribindex, bindingindex);TRUE | never evaluated | FALSE | never evaluated |
| |
| }TRUE | never evaluated | FALSE | never evaluated |
| |
| | |
| static void qopenglfResolveVertexAttribFormat(GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset)TRUE | never evaluated | FALSE | never evaluated |
| |
| {TRUE | never evaluated | FALSE | never evaluated |
| |
| if (isES3(TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
+1 ))TRUE | never evaluated | FALSE | never evaluated |
| |
| qgles3Helper()->VertexAttribFormat(attribindex, size, type, normalized, relativeoffset);TRUE | never evaluated | FALSE | never evaluated |
| |
| elseTRUE | never evaluated | FALSE | never evaluated |
| |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::VertexAttribFormat, "gl" "VertexAttribFormat")(attribindex, size, type, normalized, relativeoffset);TRUE | never evaluated | FALSE | never evaluated |
| |
| }TRUE | never evaluated | FALSE | never evaluated |
| |
| | |
| static void qopenglfResolveVertexAttribIFormat(GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset)TRUE | never evaluated | FALSE | never evaluated |
| |
| {TRUE | never evaluated | FALSE | never evaluated |
| |
| if (isES3(TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
+1 ))TRUE | never evaluated | FALSE | never evaluated |
| |
| qgles3Helper()->VertexAttribIFormat(attribindex, size, type, relativeoffset);TRUE | never evaluated | FALSE | never evaluated |
| |
| elseTRUE | never evaluated | FALSE | never evaluated |
| |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::VertexAttribIFormat, "gl" "VertexAttribIFormat")(attribindex, size, type, relativeoffset);TRUE | never evaluated | FALSE | never evaluated |
| |
| }TRUE | never evaluated | FALSE | never evaluated |
| |
| | |
| static void qopenglfResolveVertexBindingDivisor(GLuint bindingindex, GLuint divisor)TRUE | never evaluated | FALSE | never evaluated |
| |
| {TRUE | never evaluated | FALSE | never evaluated |
| |
| if (isES3(TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
+1 ))TRUE | never evaluated | FALSE | never evaluated |
| |
| qgles3Helper()->VertexBindingDivisor(bindingindex, divisor);TRUE | never evaluated | FALSE | never evaluated |
| |
| elseTRUE | never evaluated | FALSE | never evaluated |
| |
| functionResolver<void, 0>(&QOpenGLExtensionsPrivate::VertexBindingDivisor, "gl" "VertexBindingDivisor")(bindingindex, divisor);TRUE | never evaluated | FALSE | never evaluated |
| |
| }TRUE | never evaluated | FALSE | never evaluated |
| |
| | |
| | |
| | |
| | |
| | |
| | |
| QOpenGLExtraFunctions::QOpenGLExtraFunctions()TRUE | never evaluated | FALSE | never evaluated |
| |
| {TRUE | never evaluated | FALSE | never evaluated |
| |
| }TRUE | never evaluated | FALSE | never evaluated |
| |
| QOpenGLExtraFunctions::QOpenGLExtraFunctions(QOpenGLContext *context)TRUE | never evaluated | FALSE | never evaluated |
| |
| : QOpenGLFunctions(contextTRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
+1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1TRUE | never evaluated | FALSE | never evaluated |
; ++i) { } | |
| | |
| QOpenGLExtraFunctionsPrivatefunctions[i] = ::QOpenGLExtraFunctionsPrivategetProcAddress(QOpenGLContext *ctx) | |
| : QOpenGLFunctionsPrivatecontext, name); name += strlen(ctxname) { | |
| ReadBuffer = qopenglfResolveReadBuffer; | |
| DrawRangeElements = qopenglfResolveDrawRangeElements; | |
| TexImage3D = qopenglfResolveTexImage3D; | |
| TexSubImage3D = qopenglfResolveTexSubImage3D; | |
| CopyTexSubImage3D = qopenglfResolveCopyTexSubImage3D; | |
| CompressedTexImage3D = qopenglfResolveCompressedTexImage3D; | |
| CompressedTexSubImage3D = qopenglfResolveCompressedTexSubImage3D; | |
| GenQueries = qopenglfResolveGenQueries; | |
| DeleteQueries = qopenglfResolveDeleteQueries; | |
| IsQuery = qopenglfResolveIsQuery; | |
| BeginQuery = qopenglfResolveBeginQuery; | |
| EndQuery = qopenglfResolveEndQuery; | |
| GetQueryiv = qopenglfResolveGetQueryiv; | |
| GetQueryObjectuiv = qopenglfResolveGetQueryObjectuiv; | |
| UnmapBuffer = qopenglfResolveUnmapBuffer; | |
| GetBufferPointerv = qopenglfResolveGetBufferPointerv; | |
| DrawBuffers = qopenglfResolveDrawBuffers; | |
| UniformMatrix2x3fv = qopenglfResolveUniformMatrix2x3fv; | |
| UniformMatrix3x2fv = qopenglfResolveUniformMatrix3x2fv; | |
| UniformMatrix2x4fv = qopenglfResolveUniformMatrix2x4fv; | |
| UniformMatrix4x2fv = qopenglfResolveUniformMatrix4x2fv; | |
| UniformMatrix3x4fv = qopenglfResolveUniformMatrix3x4fv; | |
| UniformMatrix4x3fv = qopenglfResolveUniformMatrix4x3fv; | |
| BlitFramebuffer = qopenglfResolveBlitFramebuffer; | |
| RenderbufferStorageMultisample = qopenglfResolveRenderbufferStorageMultisample; | |
| FramebufferTextureLayer = qopenglfResolveFramebufferTextureLayer; | |
| MapBufferRange = qopenglfResolveMapBufferRange; | |
| FlushMappedBufferRange = qopenglfResolveFlushMappedBufferRange; | |
| BindVertexArray = qopenglfResolveBindVertexArray; | |
| DeleteVertexArrays = qopenglfResolveDeleteVertexArrays; | |
| GenVertexArrays = qopenglfResolveGenVertexArrays; | |
| IsVertexArray = qopenglfResolveIsVertexArray; | |
| GetIntegeri_v = qopenglfResolveGetIntegeri_v; | |
| BeginTransformFeedback = qopenglfResolveBeginTransformFeedback; | |
| EndTransformFeedback = qopenglfResolveEndTransformFeedback; | |
| BindBufferRange = qopenglfResolveBindBufferRange; | |
| BindBufferBase = qopenglfResolveBindBufferBase; | |
| TransformFeedbackVaryings = qopenglfResolveTransformFeedbackVaryings; | |
| GetTransformFeedbackVarying = qopenglfResolveGetTransformFeedbackVarying; | |
| VertexAttribIPointer = qopenglfResolveVertexAttribIPointer; | |
| GetVertexAttribIiv = qopenglfResolveGetVertexAttribIiv; | |
| GetVertexAttribIuiv = qopenglfResolveGetVertexAttribIuiv; | |
| VertexAttribI4i = qopenglfResolveVertexAttribI4i; | |
| VertexAttribI4ui = qopenglfResolveVertexAttribI4ui; | |
| VertexAttribI4iv = qopenglfResolveVertexAttribI4iv; | |
| VertexAttribI4uiv = qopenglfResolveVertexAttribI4uiv; | |
| GetUniformuiv = qopenglfResolveGetUniformuiv; | |
| GetFragDataLocation = qopenglfResolveGetFragDataLocation; | |
| Uniform1ui = qopenglfResolveUniform1ui; | |
| Uniform2ui = qopenglfResolveUniform2ui; | |
| Uniform3ui = qopenglfResolveUniform3ui; | |
| Uniform4ui = qopenglfResolveUniform4ui; | |
| Uniform1uiv = qopenglfResolveUniform1uiv; | |
| Uniform2uiv = qopenglfResolveUniform2uiv; | |
| Uniform3uiv = qopenglfResolveUniform3uiv; | |
| Uniform4uiv = qopenglfResolveUniform4uiv; | |
| ClearBufferiv = qopenglfResolveClearBufferiv; | |
| ClearBufferuiv = qopenglfResolveClearBufferuiv; | |
| ClearBufferfv = qopenglfResolveClearBufferfv; | |
| ClearBufferfi = qopenglfResolveClearBufferfi; | |
| GetStringi = qopenglfResolveGetStringi; | |
| CopyBufferSubData = qopenglfResolveCopyBufferSubData; | |
| GetUniformIndices = qopenglfResolveGetUniformIndices; | |
| GetActiveUniformsiv = qopenglfResolveGetActiveUniformsiv; | |
| GetUniformBlockIndex = qopenglfResolveGetUniformBlockIndex; | |
| GetActiveUniformBlockiv = qopenglfResolveGetActiveUniformBlockiv; | |
| GetActiveUniformBlockName = qopenglfResolveGetActiveUniformBlockName; | |
| UniformBlockBinding = qopenglfResolveUniformBlockBinding; | |
| DrawArraysInstanced = qopenglfResolveDrawArraysInstanced; | |
| DrawElementsInstanced = qopenglfResolveDrawElementsInstanced; | |
| FenceSync = qopenglfResolveFenceSync; | |
| IsSync = qopenglfResolveIsSync; | |
| DeleteSync = qopenglfResolveDeleteSync; | |
| ClientWaitSync = qopenglfResolveClientWaitSync; | |
| WaitSync = qopenglfResolveWaitSync; | |
| GetInteger64v = qopenglfResolveGetInteger64v; | |
| GetSynciv = qopenglfResolveGetSynciv; | |
| GetInteger64i_v = qopenglfResolveGetInteger64i_v; | |
| GetBufferParameteri64v = qopenglfResolveGetBufferParameteri64v; | |
| GenSamplers = qopenglfResolveGenSamplers; | |
| DeleteSamplers = qopenglfResolveDeleteSamplers; | |
| IsSampler = qopenglfResolveIsSampler; | |
| BindSampler = qopenglfResolveBindSampler; | |
| SamplerParameteri = qopenglfResolveSamplerParameteri; | |
| SamplerParameteriv = qopenglfResolveSamplerParameteriv; | |
| SamplerParameterf = qopenglfResolveSamplerParameterf; | |
| SamplerParameterfv = qopenglfResolveSamplerParameterfv; | |
| GetSamplerParameteriv = qopenglfResolveGetSamplerParameteriv; | |
| GetSamplerParameterfv = qopenglfResolveGetSamplerParameterfv; | |
| VertexAttribDivisor = qopenglfResolveVertexAttribDivisor; | |
| BindTransformFeedback = qopenglfResolveBindTransformFeedback; | |
| DeleteTransformFeedbacks = qopenglfResolveDeleteTransformFeedbacks; | |
| GenTransformFeedbacks = qopenglfResolveGenTransformFeedbacks; | |
| IsTransformFeedback = qopenglfResolveIsTransformFeedback; | |
| PauseTransformFeedback = qopenglfResolvePauseTransformFeedback; | |
| ResumeTransformFeedback = qopenglfResolveResumeTransformFeedback; | |
| GetProgramBinary = qopenglfResolveGetProgramBinary; | |
| ProgramBinary = qopenglfResolveProgramBinary; | |
| ProgramParameteri = qopenglfResolveProgramParameteri; | |
| InvalidateFramebuffer = qopenglfResolveInvalidateFramebuffer; | |
| InvalidateSubFramebuffer = qopenglfResolveInvalidateSubFramebuffer; | |
| TexStorage2D = qopenglfResolveTexStorage2D; | |
| TexStorage3D = qopenglfResolveTexStorage3D; | |
| GetInternalformativ = qopenglfResolveGetInternalformativ; | |
| | |
| DispatchCompute = qopenglfResolveDispatchCompute; | |
| DispatchComputeIndirect = qopenglfResolveDispatchComputeIndirect; | |
| DrawArraysIndirect = qopenglfResolveDrawArraysIndirect; | |
| DrawElementsIndirect = qopenglfResolveDrawElementsIndirect; | |
| FramebufferParameteri = qopenglfResolveFramebufferParameteri; | |
| GetFramebufferParameteriv = qopenglfResolveGetFramebufferParameteriv; | |
| GetProgramInterfaceiv = qopenglfResolveGetProgramInterfaceiv; | |
| GetProgramResourceIndex = qopenglfResolveGetProgramResourceIndex; | |
| GetProgramResourceName = qopenglfResolveGetProgramResourceName; | |
| GetProgramResourceiv = qopenglfResolveGetProgramResourceiv; | |
| GetProgramResourceLocation = qopenglfResolveGetProgramResourceLocation; | |
| UseProgramStages = qopenglfResolveUseProgramStages; | |
| ActiveShaderProgram = qopenglfResolveActiveShaderProgram; | |
| CreateShaderProgramv = qopenglfResolveCreateShaderProgramv; | |
| BindProgramPipeline = qopenglfResolveBindProgramPipeline; | |
| DeleteProgramPipelines = qopenglfResolveDeleteProgramPipelines; | |
| GenProgramPipelines = qopenglfResolveGenProgramPipelines; | |
| IsProgramPipeline = qopenglfResolveIsProgramPipeline; | |
| GetProgramPipelineiv = qopenglfResolveGetProgramPipelineiv; | |
| ProgramUniform1i = qopenglfResolveProgramUniform1i; | |
| ProgramUniform2i = qopenglfResolveProgramUniform2i; | |
| ProgramUniform3i = qopenglfResolveProgramUniform3i; | |
| ProgramUniform4i = qopenglfResolveProgramUniform4i; | |
| ProgramUniform1ui = qopenglfResolveProgramUniform1ui; | |
| ProgramUniform2ui = qopenglfResolveProgramUniform2ui; | |
| ProgramUniform3ui = qopenglfResolveProgramUniform3ui; | |
| ProgramUniform4ui = qopenglfResolveProgramUniform4ui; | |
| ProgramUniform1f = qopenglfResolveProgramUniform1f; | |
| ProgramUniform2f = qopenglfResolveProgramUniform2f; | |
| ProgramUniform3f = qopenglfResolveProgramUniform3f; | |
| ProgramUniform4f = qopenglfResolveProgramUniform4f; | |
| ProgramUniform1iv = qopenglfResolveProgramUniform1iv; | |
| ProgramUniform2iv = qopenglfResolveProgramUniform2iv; | |
| ProgramUniform3iv = qopenglfResolveProgramUniform3iv; | |
| ProgramUniform4iv = qopenglfResolveProgramUniform4iv; | |
| ProgramUniform1uiv = qopenglfResolveProgramUniform1uiv; | |
| ProgramUniform2uiv = qopenglfResolveProgramUniform2uiv; | |
| ProgramUniform3uiv = qopenglfResolveProgramUniform3uiv; | |
| ProgramUniform4uiv = qopenglfResolveProgramUniform4uiv; | |
| ProgramUniform1fv = qopenglfResolveProgramUniform1fv; | |
| ProgramUniform2fv = qopenglfResolveProgramUniform2fv; | |
| ProgramUniform3fv = qopenglfResolveProgramUniform3fv; | |
| ProgramUniform4fv = qopenglfResolveProgramUniform4fv; | |
| ProgramUniformMatrix2fv = qopenglfResolveProgramUniformMatrix2fv; | |
| ProgramUniformMatrix3fv = qopenglfResolveProgramUniformMatrix3fv; | |
| ProgramUniformMatrix4fv = qopenglfResolveProgramUniformMatrix4fv; | |
| ProgramUniformMatrix2x3fv = qopenglfResolveProgramUniformMatrix2x3fv; | |
| ProgramUniformMatrix3x2fv = qopenglfResolveProgramUniformMatrix3x2fv; | |
| ProgramUniformMatrix2x4fv = qopenglfResolveProgramUniformMatrix2x4fv; | |
| ProgramUniformMatrix4x2fv = qopenglfResolveProgramUniformMatrix4x2fv; | |
| ProgramUniformMatrix3x4fv = qopenglfResolveProgramUniformMatrix3x4fv; | |
| ProgramUniformMatrix4x3fv = qopenglfResolveProgramUniformMatrix4x3fv; | |
| ValidateProgramPipeline = qopenglfResolveValidateProgramPipeline; | |
| GetProgramPipelineInfoLog = qopenglfResolveGetProgramPipelineInfoLog; | |
| BindImageTexture = qopenglfResolveBindImageTexture; | |
| GetBooleani_v = qopenglfResolveGetBooleani_v; | |
| MemoryBarrierFunc = qopenglfResolveMemoryBarrier; | |
| MemoryBarrierByRegion = qopenglfResolveMemoryBarrierByRegion; | |
| TexStorage2DMultisample = qopenglfResolveTexStorage2DMultisample; | |
| GetMultisamplefv = qopenglfResolveGetMultisamplefv; | |
| SampleMaski = qopenglfResolveSampleMaski; | |
| GetTexLevelParameteriv = qopenglfResolveGetTexLevelParameteriv; | |
| GetTexLevelParameterfv = qopenglfResolveGetTexLevelParameterfv; | |
| BindVertexBuffer = qopenglfResolveBindVertexBuffer; | |
| VertexAttribFormat = qopenglfResolveVertexAttribFormat; | |
| VertexAttribIFormat = qopenglfResolveVertexAttribIFormat; | |
| VertexAttribBinding = qopenglfResolveVertexAttribBinding; | |
| VertexBindingDivisor = qopenglfResolveVertexBindingDivisor+ 1; } never executed: end of block }never executed: end of block | |
439 | | - |
440 | QOpenGLExtensionsPrivate::QOpenGLExtensionsPrivate(QOpenGLContext *ctx) | - |
441 | : QOpenGLExtraFunctionsPrivate(ctx), | - |
442 | flushVendorChecked(false) | - |
443 | { | - |
444 | QOpenGLContext *context = QOpenGLContext::currentContext(); | - |
445 | | - |
446 | MapBuffer = qopenglfResolveMapBuffer;resolve(context, "gl""MapBuffer", MapBuffer); | - |
447 | GetBufferSubData = qopenglfResolveGetBufferSubData;resolve(context, "gl""GetBufferSubData", GetBufferSubData); | - |
448 | DiscardFramebuffer = qopenglfResolveDiscardFramebuffer; | - |
| } | |
| | |
| QOpenGLES3Helper *QOpenGLExtensions::gles3Helper() | |
| { | |
| return qgles3Helper();resolve(context, "gl""DiscardFramebuffer", DiscardFramebuffer); | |
449 | } never executed: end of block | 0 |
450 | | - |
451 | void QOpenGLExtensions::flushShared() | - |
452 | { | - |
453 | QOpenGLExtensionsPrivate * const d = d_func(); | - |
454 | | - |
455 | if (!d->flushVendorChecked) { | - |
456 | d->flushVendorChecked = true; | - |
457 | | - |
458 | | - |
459 | | - |
460 | | - |
461 | d->flushIsSufficientToSyncContexts = false; | - |
462 | const char *vendor = (const char *) glGetString(0x1F00); | - |
463 | if (vendor) { | - |
464 | static const char *const flushEnough[] = { "Apple", "ATI", "Intel", "NVIDIA" }; | - |
465 | for (size_t i = 0; i < sizeof(flushEnough) / sizeof(const char *); ++i) { | - |
466 | if (strstr(vendor, flushEnough[i])) { | - |
467 | d->flushIsSufficientToSyncContexts = true; | - |
468 | break; | - |
469 | } | - |
470 | } | - |
471 | } | - |
472 | } | - |
473 | | - |
474 | if (d->flushIsSufficientToSyncContexts) | - |
475 | glFlush(); | - |
476 | else | - |
477 | glFinish(); | - |
478 | } | - |
479 | | - |
480 | | - |
| | |