summaryrefslogtreecommitdiff
path: root/Source/WebCore/platform/graphics/qt/OpenGLShimsQt.h
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebCore/platform/graphics/qt/OpenGLShimsQt.h')
-rw-r--r--Source/WebCore/platform/graphics/qt/OpenGLShimsQt.h206
1 files changed, 206 insertions, 0 deletions
diff --git a/Source/WebCore/platform/graphics/qt/OpenGLShimsQt.h b/Source/WebCore/platform/graphics/qt/OpenGLShimsQt.h
new file mode 100644
index 000000000..827d8f6b2
--- /dev/null
+++ b/Source/WebCore/platform/graphics/qt/OpenGLShimsQt.h
@@ -0,0 +1,206 @@
+/*
+ * Copyright (C) 2017 Konstantin Tokarev <annulen@yandex.ru>
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#include <private/qopenglextensions_p.h>
+
+#ifndef FUNCTIONS
+#error You must define FUNCTIONS macro before including this header
+#endif
+
+namespace OpenGLShimsQt {
+ALWAYS_INLINE static void doNothing() { }
+}
+
+#define LOOKUP_GL_FUNCTION(f, ...) OpenGLShimsQt::doNothing(), FUNCTIONS->f(__VA_ARGS__)
+
+// Extra items
+#define glBindTexture(...) LOOKUP_GL_FUNCTION(glBindTexture, __VA_ARGS__)
+#define glBlendFunc(...) LOOKUP_GL_FUNCTION(glBlendFunc, __VA_ARGS__)
+#define glClear(...) LOOKUP_GL_FUNCTION(glClear, __VA_ARGS__)
+#define glClearColor(...) LOOKUP_GL_FUNCTION(glClearColor, __VA_ARGS__)
+#define glClearDepth(...) LOOKUP_GL_FUNCTION(glClearDepthf, __VA_ARGS__)
+#define glClearStencil(...) LOOKUP_GL_FUNCTION(glClearStencil, __VA_ARGS__)
+#define glColorMask(...) LOOKUP_GL_FUNCTION(glColorMask, __VA_ARGS__)
+#define glCopyTexImage2D(...) LOOKUP_GL_FUNCTION(glCopyTexImage2D, __VA_ARGS__)
+#define glCopyTexSubImage2D(...) LOOKUP_GL_FUNCTION(glCopyTexSubImage2D, __VA_ARGS__)
+#define glCullFace(...) LOOKUP_GL_FUNCTION(glCullFace, __VA_ARGS__)
+#define glDeleteTextures(...) LOOKUP_GL_FUNCTION(glDeleteTextures, __VA_ARGS__)
+#define glDepthFunc(...) LOOKUP_GL_FUNCTION(glDepthFunc, __VA_ARGS__)
+#define glDepthMask(...) LOOKUP_GL_FUNCTION(glDepthMask, __VA_ARGS__)
+#define glDepthRange(...) LOOKUP_GL_FUNCTION(glDepthRangef, __VA_ARGS__)
+#define glDisable(...) LOOKUP_GL_FUNCTION(glDisable, __VA_ARGS__)
+#define glDrawArrays(...) LOOKUP_GL_FUNCTION(glDrawArrays, __VA_ARGS__)
+#define glDrawElements(...) LOOKUP_GL_FUNCTION(glDrawElements, __VA_ARGS__)
+#define glEnable(...) LOOKUP_GL_FUNCTION(glEnable, __VA_ARGS__)
+#define glFinish(...) LOOKUP_GL_FUNCTION(glFinish, __VA_ARGS__)
+#define glFlush(...) LOOKUP_GL_FUNCTION(glFlush, __VA_ARGS__)
+#define glFrontFace(...) LOOKUP_GL_FUNCTION(glFrontFace, __VA_ARGS__)
+#define glGenTextures(...) LOOKUP_GL_FUNCTION(glGenTextures, __VA_ARGS__)
+#define glGetBooleanv(...) LOOKUP_GL_FUNCTION(glGetBooleanv, __VA_ARGS__)
+#define glGetFloatv(...) LOOKUP_GL_FUNCTION(glGetFloatv, __VA_ARGS__)
+#define glGetIntegerv(...) LOOKUP_GL_FUNCTION(glGetIntegerv, __VA_ARGS__)
+#define glGetString(...) LOOKUP_GL_FUNCTION(glGetString, __VA_ARGS__)
+#define glGetTexParameterfv(...) LOOKUP_GL_FUNCTION(glGetTexParameterfv, __VA_ARGS__)
+#define glGetTexParameteriv(...) LOOKUP_GL_FUNCTION(glGetTexParameteriv, __VA_ARGS__)
+#define glHint(...) LOOKUP_GL_FUNCTION(glHint, __VA_ARGS__)
+#define glIsTexture(...) LOOKUP_GL_FUNCTION(glIsTexture, __VA_ARGS__)
+#define glLineWidth(...) LOOKUP_GL_FUNCTION(glLineWidth, __VA_ARGS__)
+#define glPixelStorei(...) LOOKUP_GL_FUNCTION(glPixelStorei, __VA_ARGS__)
+#define glPolygonOffset(...) LOOKUP_GL_FUNCTION(glPolygonOffset, __VA_ARGS__)
+#define glReadPixels(...) LOOKUP_GL_FUNCTION(glReadPixels, __VA_ARGS__)
+#define glScissor(...) LOOKUP_GL_FUNCTION(glScissor, __VA_ARGS__)
+#define glStencilFunc(...) LOOKUP_GL_FUNCTION(glStencilFunc, __VA_ARGS__)
+#define glStencilMask(...) LOOKUP_GL_FUNCTION(glStencilMask, __VA_ARGS__)
+#define glStencilOp(...) LOOKUP_GL_FUNCTION(glStencilOp, __VA_ARGS__)
+#define glTexImage2D(...) LOOKUP_GL_FUNCTION(glTexImage2D, __VA_ARGS__)
+#define glTexParameterf(...) LOOKUP_GL_FUNCTION(glTexParameterf, __VA_ARGS__)
+#define glTexParameteri(...) LOOKUP_GL_FUNCTION(glTexParameteri, __VA_ARGS__)
+#define glTexSubImage2D(...) LOOKUP_GL_FUNCTION(glTexSubImage2D, __VA_ARGS__)
+#define glViewport(...) LOOKUP_GL_FUNCTION(glViewport, __VA_ARGS__)
+
+// Keep in sync with OpenGLShims.h
+
+#define glActiveTexture(...) LOOKUP_GL_FUNCTION(glActiveTexture, __VA_ARGS__)
+#define glAttachShader(...) LOOKUP_GL_FUNCTION(glAttachShader, __VA_ARGS__)
+#define glBindAttribLocation(...) LOOKUP_GL_FUNCTION(glBindAttribLocation, __VA_ARGS__)
+#define glBindBuffer(...) LOOKUP_GL_FUNCTION(glBindBuffer, __VA_ARGS__)
+#define glBindFramebufferEXT glBindFramebuffer
+#define glBindFramebuffer(...) LOOKUP_GL_FUNCTION(glBindFramebuffer, __VA_ARGS__)
+#define glBindRenderbufferEXT glBindRenderbuffer
+#define glBindRenderbuffer(...) LOOKUP_GL_FUNCTION(glBindRenderbuffer, __VA_ARGS__)
+#define glBlendColor(...) LOOKUP_GL_FUNCTION(glBlendColor, __VA_ARGS__)
+#define glBlendEquation(...) LOOKUP_GL_FUNCTION(glBlendEquation, __VA_ARGS__)
+#define glBlendEquationSeparate(...) LOOKUP_GL_FUNCTION(glBlendEquationSeparate, __VA_ARGS__)
+#define glBlendFuncSeparate(...) LOOKUP_GL_FUNCTION(glBlendFuncSeparate, __VA_ARGS__)
+#define glBlitFramebufferEXT glBlitFramebuffer
+#define glBlitFramebuffer(...) LOOKUP_GL_FUNCTION(glBlitFramebuffer, __VA_ARGS__)
+#define glBufferData(...) LOOKUP_GL_FUNCTION(glBufferData, __VA_ARGS__)
+#define glBufferSubData(...) LOOKUP_GL_FUNCTION(glBufferSubData, __VA_ARGS__)
+#define glCheckFramebufferStatusEXT glCheckFramebufferStatus
+#define glCheckFramebufferStatus(...) LOOKUP_GL_FUNCTION(glCheckFramebufferStatus, __VA_ARGS__)
+#define glCompileShader(...) LOOKUP_GL_FUNCTION(glCompileShader, __VA_ARGS__)
+#define glCompressedTexImage2D(...) LOOKUP_GL_FUNCTION(glCompressedTexImage2D, __VA_ARGS__)
+#define glCompressedTexSubImage2D(...) LOOKUP_GL_FUNCTION(glCompressedTexSubImage2D, __VA_ARGS__)
+#define glCreateProgram(...) LOOKUP_GL_FUNCTION(glCreateProgram, __VA_ARGS__)
+#define glCreateShader(...) LOOKUP_GL_FUNCTION(glCreateShader, __VA_ARGS__)
+#define glDeleteBuffers(...) LOOKUP_GL_FUNCTION(glDeleteBuffers, __VA_ARGS__)
+#define glDeleteFramebuffersEXT glDeleteFramebuffers
+#define glDeleteFramebuffers(...) LOOKUP_GL_FUNCTION(glDeleteFramebuffers, __VA_ARGS__)
+#define glDeleteProgram(...) LOOKUP_GL_FUNCTION(glDeleteProgram, __VA_ARGS__)
+#define glDeleteRenderbuffersEXT glDeleteRenderbuffers
+#define glDeleteRenderbuffers(...) LOOKUP_GL_FUNCTION(glDeleteRenderbuffers, __VA_ARGS__)
+#define glDeleteShader(...) LOOKUP_GL_FUNCTION(glDeleteShader, __VA_ARGS__)
+#define glDetachShader(...) LOOKUP_GL_FUNCTION(glDetachShader, __VA_ARGS__)
+#define glDisableVertexAttribArray(...) LOOKUP_GL_FUNCTION(glDisableVertexAttribArray, __VA_ARGS__)
+#define glDrawArraysInstancedEXT glDrawArraysInstanced
+#define glDrawArraysInstanced(...) LOOKUP_GL_FUNCTION(glDrawArraysInstanced, __VA_ARGS__)
+#define glDrawBuffersEXT glDrawBuffers
+#define glDrawBuffers(...) LOOKUP_GL_FUNCTION(glDrawBuffers, __VA_ARGS__)
+#define glDrawElementsInstancedEXT glDrawElementsInstanced
+#define glDrawElementsInstanced(...) LOOKUP_GL_FUNCTION(glDrawElementsInstanced, __VA_ARGS__)
+#define glEnableVertexAttribArray(...) LOOKUP_GL_FUNCTION(glEnableVertexAttribArray, __VA_ARGS__)
+#define glFramebufferRenderbufferEXT glFramebufferRenderbuffer
+#define glFramebufferRenderbuffer(...) LOOKUP_GL_FUNCTION(glFramebufferRenderbuffer, __VA_ARGS__)
+#define glFramebufferTexture2DEXT glFramebufferTexture2D
+#define glFramebufferTexture2D(...) LOOKUP_GL_FUNCTION(glFramebufferTexture2D, __VA_ARGS__)
+#define glGenBuffers(...) LOOKUP_GL_FUNCTION(glGenBuffers, __VA_ARGS__)
+#define glGenerateMipmapEXT glGenerateMipmap
+#define glGenerateMipmap(...) LOOKUP_GL_FUNCTION(glGenerateMipmap, __VA_ARGS__)
+#define glGenFramebuffersEXT glGenFramebuffers
+#define glGenFramebuffers(...) LOOKUP_GL_FUNCTION(glGenFramebuffers, __VA_ARGS__)
+#define glGenRenderbuffersEXT glGenRenderbuffers
+#define glGenRenderbuffers(...) LOOKUP_GL_FUNCTION(glGenRenderbuffers, __VA_ARGS__)
+#define glGetActiveAttrib(...) LOOKUP_GL_FUNCTION(glGetActiveAttrib, __VA_ARGS__)
+#define glGetActiveUniform(...) LOOKUP_GL_FUNCTION(glGetActiveUniform, __VA_ARGS__)
+#define glGetAttachedShaders(...) LOOKUP_GL_FUNCTION(glGetAttachedShaders, __VA_ARGS__)
+#define glGetAttribLocation(...) LOOKUP_GL_FUNCTION(glGetAttribLocation, __VA_ARGS__)
+#define glGetBufferParameterivEXT glGetBufferParameteriv
+#define glGetBufferParameteriv(...) LOOKUP_GL_FUNCTION(glGetBufferParameteriv, __VA_ARGS__)
+#define glGetFramebufferAttachmentParameterivEXT glGetFramebufferAttachmentParameteriv
+#define glGetFramebufferAttachmentParameteriv(...) LOOKUP_GL_FUNCTION(glGetFramebufferAttachmentParameteriv, __VA_ARGS__)
+#define glGetProgramInfoLog(...) LOOKUP_GL_FUNCTION(glGetProgramInfoLog, __VA_ARGS__)
+#define glGetProgramiv(...) LOOKUP_GL_FUNCTION(glGetProgramiv, __VA_ARGS__)
+#define glGetRenderbufferParameterivEXT glGetRenderbufferParameteriv
+#define glGetRenderbufferParameteriv(...) LOOKUP_GL_FUNCTION(glGetRenderbufferParameteriv, __VA_ARGS__)
+#define glGetShaderInfoLog(...) LOOKUP_GL_FUNCTION(glGetShaderInfoLog, __VA_ARGS__)
+#define glGetShaderiv(...) LOOKUP_GL_FUNCTION(glGetShaderiv, __VA_ARGS__)
+#define glGetShaderSource(...) LOOKUP_GL_FUNCTION(glGetShaderSource, __VA_ARGS__)
+#define glGetUniformfv(...) LOOKUP_GL_FUNCTION(glGetUniformfv, __VA_ARGS__)
+#define glGetUniformiv(...) LOOKUP_GL_FUNCTION(glGetUniformiv, __VA_ARGS__)
+#define glGetUniformLocation(...) LOOKUP_GL_FUNCTION(glGetUniformLocation, __VA_ARGS__)
+#define glGetVertexAttribfv(...) LOOKUP_GL_FUNCTION(glGetVertexAttribfv, __VA_ARGS__)
+#define glGetVertexAttribiv(...) LOOKUP_GL_FUNCTION(glGetVertexAttribiv, __VA_ARGS__)
+#define glGetVertexAttribPointerv(...) LOOKUP_GL_FUNCTION(glGetVertexAttribPointerv, __VA_ARGS__)
+#define glIsBuffer(...) LOOKUP_GL_FUNCTION(glIsBuffer, __VA_ARGS__)
+#define glIsFramebufferEXT glIsFramebuffer
+#define glIsFramebuffer(...) LOOKUP_GL_FUNCTION(glIsFramebuffer, __VA_ARGS__)
+#define glIsProgram(...) LOOKUP_GL_FUNCTION(glIsProgram, __VA_ARGS__)
+#define glIsRenderbufferEXT glIsRenderbuffer
+#define glIsRenderbuffer(...) LOOKUP_GL_FUNCTION(glIsRenderbuffer, __VA_ARGS__)
+#define glIsShader(...) LOOKUP_GL_FUNCTION(glIsShader, __VA_ARGS__)
+#define glLinkProgram(...) LOOKUP_GL_FUNCTION(glLinkProgram, __VA_ARGS__)
+#define glRenderbufferStorageEXT glRenderbufferStorage
+#define glRenderbufferStorage(...) LOOKUP_GL_FUNCTION(glRenderbufferStorage, __VA_ARGS__)
+#define glRenderbufferStorageMultisampleEXT glRenderbufferStorageMultisample
+#define glRenderbufferStorageMultisample(...) LOOKUP_GL_FUNCTION(glRenderbufferStorageMultisample, __VA_ARGS__)
+#define glSampleCoverage(...) LOOKUP_GL_FUNCTION(glSampleCoverage, __VA_ARGS__)
+#define glShaderSource(...) LOOKUP_GL_FUNCTION(glShaderSource, __VA_ARGS__)
+#define glStencilFuncSeparate(...) LOOKUP_GL_FUNCTION(glStencilFuncSeparate, __VA_ARGS__)
+#define glStencilMaskSeparate(...) LOOKUP_GL_FUNCTION(glStencilMaskSeparate, __VA_ARGS__)
+#define glStencilOpSeparate(...) LOOKUP_GL_FUNCTION(glStencilOpSeparate, __VA_ARGS__)
+#define glUniform1f(...) LOOKUP_GL_FUNCTION(glUniform1f, __VA_ARGS__)
+#define glUniform1fv(...) LOOKUP_GL_FUNCTION(glUniform1fv, __VA_ARGS__)
+#define glUniform1i(...) LOOKUP_GL_FUNCTION(glUniform1i, __VA_ARGS__)
+#define glUniform1iv(...) LOOKUP_GL_FUNCTION(glUniform1iv, __VA_ARGS__)
+#define glUniform2f(...) LOOKUP_GL_FUNCTION(glUniform2f, __VA_ARGS__)
+#define glUniform2fv(...) LOOKUP_GL_FUNCTION(glUniform2fv, __VA_ARGS__)
+#define glUniform2i(...) LOOKUP_GL_FUNCTION(glUniform2i, __VA_ARGS__)
+#define glUniform2iv(...) LOOKUP_GL_FUNCTION(glUniform2iv, __VA_ARGS__)
+#define glUniform3f(...) LOOKUP_GL_FUNCTION(glUniform3f, __VA_ARGS__)
+#define glUniform3fv(...) LOOKUP_GL_FUNCTION(glUniform3fv, __VA_ARGS__)
+#define glUniform3i(...) LOOKUP_GL_FUNCTION(glUniform3i, __VA_ARGS__)
+#define glUniform3iv(...) LOOKUP_GL_FUNCTION(glUniform3iv, __VA_ARGS__)
+#define glUniform4f(...) LOOKUP_GL_FUNCTION(glUniform4f, __VA_ARGS__)
+#define glUniform4fv(...) LOOKUP_GL_FUNCTION(glUniform4fv, __VA_ARGS__)
+#define glUniform4i(...) LOOKUP_GL_FUNCTION(glUniform4i, __VA_ARGS__)
+#define glUniform4iv(...) LOOKUP_GL_FUNCTION(glUniform4iv, __VA_ARGS__)
+#define glUniformMatrix2fv(...) LOOKUP_GL_FUNCTION(glUniformMatrix2fv, __VA_ARGS__)
+#define glUniformMatrix3fv(...) LOOKUP_GL_FUNCTION(glUniformMatrix3fv, __VA_ARGS__)
+#define glUniformMatrix4fv(...) LOOKUP_GL_FUNCTION(glUniformMatrix4fv, __VA_ARGS__)
+#define glUseProgram(...) LOOKUP_GL_FUNCTION(glUseProgram, __VA_ARGS__)
+#define glValidateProgram(...) LOOKUP_GL_FUNCTION(glValidateProgram, __VA_ARGS__)
+#define glVertexAttrib1f(...) LOOKUP_GL_FUNCTION(glVertexAttrib1f, __VA_ARGS__)
+#define glVertexAttrib1fv(...) LOOKUP_GL_FUNCTION(glVertexAttrib1fv, __VA_ARGS__)
+#define glVertexAttrib2f(...) LOOKUP_GL_FUNCTION(glVertexAttrib2f, __VA_ARGS__)
+#define glVertexAttrib2fv(...) LOOKUP_GL_FUNCTION(glVertexAttrib2fv, __VA_ARGS__)
+#define glVertexAttrib3f(...) LOOKUP_GL_FUNCTION(glVertexAttrib3f, __VA_ARGS__)
+#define glVertexAttrib3fv(...) LOOKUP_GL_FUNCTION(glVertexAttrib3fv, __VA_ARGS__)
+#define glVertexAttrib4f(...) LOOKUP_GL_FUNCTION(glVertexAttrib4f, __VA_ARGS__)
+#define glVertexAttrib4fv(...) LOOKUP_GL_FUNCTION(glVertexAttrib4fv, __VA_ARGS__)
+#define glVertexAttribDivisorEXT glVertexAttribDivisor
+#define glVertexAttribDivisor(...) LOOKUP_GL_FUNCTION(glVertexAttribDivisor, __VA_ARGS__)
+#define glVertexAttribPointer(...) LOOKUP_GL_FUNCTION(glVertexAttribPointer, __VA_ARGS__)