1*35238bceSAndroid Build Coastguard Worker #ifndef _SGLRCONTEXTWRAPPER_HPP 2*35238bceSAndroid Build Coastguard Worker #define _SGLRCONTEXTWRAPPER_HPP 3*35238bceSAndroid Build Coastguard Worker /*------------------------------------------------------------------------- 4*35238bceSAndroid Build Coastguard Worker * drawElements Quality Program OpenGL ES Utilities 5*35238bceSAndroid Build Coastguard Worker * ------------------------------------------------ 6*35238bceSAndroid Build Coastguard Worker * 7*35238bceSAndroid Build Coastguard Worker * Copyright 2014 The Android Open Source Project 8*35238bceSAndroid Build Coastguard Worker * 9*35238bceSAndroid Build Coastguard Worker * Licensed under the Apache License, Version 2.0 (the "License"); 10*35238bceSAndroid Build Coastguard Worker * you may not use this file except in compliance with the License. 11*35238bceSAndroid Build Coastguard Worker * You may obtain a copy of the License at 12*35238bceSAndroid Build Coastguard Worker * 13*35238bceSAndroid Build Coastguard Worker * http://www.apache.org/licenses/LICENSE-2.0 14*35238bceSAndroid Build Coastguard Worker * 15*35238bceSAndroid Build Coastguard Worker * Unless required by applicable law or agreed to in writing, software 16*35238bceSAndroid Build Coastguard Worker * distributed under the License is distributed on an "AS IS" BASIS, 17*35238bceSAndroid Build Coastguard Worker * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 18*35238bceSAndroid Build Coastguard Worker * See the License for the specific language governing permissions and 19*35238bceSAndroid Build Coastguard Worker * limitations under the License. 20*35238bceSAndroid Build Coastguard Worker * 21*35238bceSAndroid Build Coastguard Worker *//*! 22*35238bceSAndroid Build Coastguard Worker * \file 23*35238bceSAndroid Build Coastguard Worker * \brief Context wrapper that exposes sglr API as GL-compatible API. 24*35238bceSAndroid Build Coastguard Worker *//*--------------------------------------------------------------------*/ 25*35238bceSAndroid Build Coastguard Worker 26*35238bceSAndroid Build Coastguard Worker #include "tcuDefs.hpp" 27*35238bceSAndroid Build Coastguard Worker #include "tcuVector.hpp" 28*35238bceSAndroid Build Coastguard Worker 29*35238bceSAndroid Build Coastguard Worker namespace sglr 30*35238bceSAndroid Build Coastguard Worker { 31*35238bceSAndroid Build Coastguard Worker 32*35238bceSAndroid Build Coastguard Worker class Shader; 33*35238bceSAndroid Build Coastguard Worker class Context; 34*35238bceSAndroid Build Coastguard Worker 35*35238bceSAndroid Build Coastguard Worker class ContextWrapper 36*35238bceSAndroid Build Coastguard Worker { 37*35238bceSAndroid Build Coastguard Worker public: 38*35238bceSAndroid Build Coastguard Worker ContextWrapper(void); 39*35238bceSAndroid Build Coastguard Worker ~ContextWrapper(void); 40*35238bceSAndroid Build Coastguard Worker 41*35238bceSAndroid Build Coastguard Worker void setContext(Context *context); 42*35238bceSAndroid Build Coastguard Worker Context *getCurrentContext(void) const; 43*35238bceSAndroid Build Coastguard Worker 44*35238bceSAndroid Build Coastguard Worker int getWidth(void) const; 45*35238bceSAndroid Build Coastguard Worker int getHeight(void) const; 46*35238bceSAndroid Build Coastguard Worker 47*35238bceSAndroid Build Coastguard Worker // GL-compatible API. 48*35238bceSAndroid Build Coastguard Worker void glActiveTexture(uint32_t texture); 49*35238bceSAndroid Build Coastguard Worker void glAttachShader(uint32_t program, uint32_t shader); 50*35238bceSAndroid Build Coastguard Worker void glBindAttribLocation(uint32_t program, uint32_t index, const char *name); 51*35238bceSAndroid Build Coastguard Worker void glBindBuffer(uint32_t target, uint32_t buffer); 52*35238bceSAndroid Build Coastguard Worker void glBindFramebuffer(uint32_t target, uint32_t framebuffer); 53*35238bceSAndroid Build Coastguard Worker void glBindRenderbuffer(uint32_t target, uint32_t renderbuffer); 54*35238bceSAndroid Build Coastguard Worker void glBindTexture(uint32_t target, uint32_t texture); 55*35238bceSAndroid Build Coastguard Worker void glBlendColor(float red, float green, float blue, float alpha); 56*35238bceSAndroid Build Coastguard Worker void glBlendEquation(uint32_t mode); 57*35238bceSAndroid Build Coastguard Worker void glBlendEquationSeparate(uint32_t modeRGB, uint32_t modeAlpha); 58*35238bceSAndroid Build Coastguard Worker void glBlendFunc(uint32_t sfactor, uint32_t dfactor); 59*35238bceSAndroid Build Coastguard Worker void glBlendFuncSeparate(uint32_t srcRGB, uint32_t dstRGB, uint32_t srcAlpha, uint32_t dstAlpha); 60*35238bceSAndroid Build Coastguard Worker void glBufferData(uint32_t target, intptr_t size, const void *data, uint32_t usage); 61*35238bceSAndroid Build Coastguard Worker void glBufferSubData(uint32_t target, intptr_t offset, intptr_t size, const void *data); 62*35238bceSAndroid Build Coastguard Worker uint32_t glCheckFramebufferStatus(uint32_t target); 63*35238bceSAndroid Build Coastguard Worker void glClear(uint32_t mask); 64*35238bceSAndroid Build Coastguard Worker void glClearColor(float red, float green, float blue, float alpha); 65*35238bceSAndroid Build Coastguard Worker void glClearDepthf(float depth); 66*35238bceSAndroid Build Coastguard Worker void glClearStencil(int s); 67*35238bceSAndroid Build Coastguard Worker void glColorMask(bool red, bool green, bool blue, bool alpha); 68*35238bceSAndroid Build Coastguard Worker void glCompileShader(uint32_t shader); 69*35238bceSAndroid Build Coastguard Worker void glCompressedTexImage2D(uint32_t target, int level, uint32_t internalformat, int width, int height, int border, 70*35238bceSAndroid Build Coastguard Worker int imageSize, const void *data); 71*35238bceSAndroid Build Coastguard Worker void glCompressedTexSubImage2D(uint32_t target, int level, int xoffset, int yoffset, int width, int height, 72*35238bceSAndroid Build Coastguard Worker uint32_t format, int imageSize, const void *data); 73*35238bceSAndroid Build Coastguard Worker void glCopyTexImage1D(uint32_t target, int level, uint32_t internalformat, int x, int y, int width, int border); 74*35238bceSAndroid Build Coastguard Worker void glCopyTexImage2D(uint32_t target, int level, uint32_t internalformat, int x, int y, int width, int height, 75*35238bceSAndroid Build Coastguard Worker int border); 76*35238bceSAndroid Build Coastguard Worker void glCopyTexSubImage1D(uint32_t target, int level, int xoffset, int x, int y, int width); 77*35238bceSAndroid Build Coastguard Worker void glCopyTexSubImage2D(uint32_t target, int level, int xoffset, int yoffset, int x, int y, int width, int height); 78*35238bceSAndroid Build Coastguard Worker uint32_t glCreateProgram(); 79*35238bceSAndroid Build Coastguard Worker uint32_t glCreateShader(uint32_t type); 80*35238bceSAndroid Build Coastguard Worker void glCullFace(uint32_t mode); 81*35238bceSAndroid Build Coastguard Worker void glDeleteBuffers(int n, const uint32_t *buffers); 82*35238bceSAndroid Build Coastguard Worker void glDeleteFramebuffers(int n, const uint32_t *framebuffers); 83*35238bceSAndroid Build Coastguard Worker void glDeleteProgram(uint32_t program); 84*35238bceSAndroid Build Coastguard Worker void glDeleteRenderbuffers(int n, const uint32_t *renderbuffers); 85*35238bceSAndroid Build Coastguard Worker void glDeleteShader(uint32_t shader); 86*35238bceSAndroid Build Coastguard Worker void glDeleteTextures(int n, const uint32_t *textures); 87*35238bceSAndroid Build Coastguard Worker void glDepthFunc(uint32_t func); 88*35238bceSAndroid Build Coastguard Worker void glDepthMask(bool flag); 89*35238bceSAndroid Build Coastguard Worker void glDepthRangef(float n, float f); 90*35238bceSAndroid Build Coastguard Worker void glDetachShader(uint32_t program, uint32_t shader); 91*35238bceSAndroid Build Coastguard Worker void glDisable(uint32_t cap); 92*35238bceSAndroid Build Coastguard Worker void glDisableVertexAttribArray(uint32_t index); 93*35238bceSAndroid Build Coastguard Worker void glDrawArrays(uint32_t mode, int first, int count); 94*35238bceSAndroid Build Coastguard Worker void glDrawElements(uint32_t mode, int count, uint32_t type, const void *indices); 95*35238bceSAndroid Build Coastguard Worker void glEnable(uint32_t cap); 96*35238bceSAndroid Build Coastguard Worker void glEnableVertexAttribArray(uint32_t index); 97*35238bceSAndroid Build Coastguard Worker void glFinish(); 98*35238bceSAndroid Build Coastguard Worker void glFlush(); 99*35238bceSAndroid Build Coastguard Worker void glFramebufferRenderbuffer(uint32_t target, uint32_t attachment, uint32_t renderbuffertarget, 100*35238bceSAndroid Build Coastguard Worker uint32_t renderbuffer); 101*35238bceSAndroid Build Coastguard Worker void glFramebufferTexture2D(uint32_t target, uint32_t attachment, uint32_t textarget, uint32_t texture, int level); 102*35238bceSAndroid Build Coastguard Worker void glFrontFace(uint32_t mode); 103*35238bceSAndroid Build Coastguard Worker void glGenBuffers(int n, uint32_t *buffers); 104*35238bceSAndroid Build Coastguard Worker void glGenerateMipmap(uint32_t target); 105*35238bceSAndroid Build Coastguard Worker void glGenFramebuffers(int n, uint32_t *framebuffers); 106*35238bceSAndroid Build Coastguard Worker void glGenRenderbuffers(int n, uint32_t *renderbuffers); 107*35238bceSAndroid Build Coastguard Worker void glGenTextures(int n, uint32_t *textures); 108*35238bceSAndroid Build Coastguard Worker void glGetActiveAttrib(uint32_t program, uint32_t index, int bufsize, int *length, int *size, uint32_t *type, 109*35238bceSAndroid Build Coastguard Worker char *name); 110*35238bceSAndroid Build Coastguard Worker void glGetActiveUniform(uint32_t program, uint32_t index, int bufsize, int *length, int *size, uint32_t *type, 111*35238bceSAndroid Build Coastguard Worker char *name); 112*35238bceSAndroid Build Coastguard Worker void glGetAttachedShaders(uint32_t program, int maxcount, int *count, uint32_t *shaders); 113*35238bceSAndroid Build Coastguard Worker int glGetAttribLocation(uint32_t program, const char *name); 114*35238bceSAndroid Build Coastguard Worker void glGetBooleanv(uint32_t pname, bool *params); 115*35238bceSAndroid Build Coastguard Worker void glGetBufferParameteriv(uint32_t target, uint32_t pname, int *params); 116*35238bceSAndroid Build Coastguard Worker uint32_t glGetError(); 117*35238bceSAndroid Build Coastguard Worker void glGetFloatv(uint32_t pname, float *params); 118*35238bceSAndroid Build Coastguard Worker void glGetFramebufferAttachmentParameteriv(uint32_t target, uint32_t attachment, uint32_t pname, int *params); 119*35238bceSAndroid Build Coastguard Worker void glGetIntegerv(uint32_t pname, int *params); 120*35238bceSAndroid Build Coastguard Worker void glGetProgramiv(uint32_t program, uint32_t pname, int *params); 121*35238bceSAndroid Build Coastguard Worker void glGetProgramInfoLog(uint32_t program, int bufsize, int *length, char *infolog); 122*35238bceSAndroid Build Coastguard Worker void glGetRenderbufferParameteriv(uint32_t target, uint32_t pname, int *params); 123*35238bceSAndroid Build Coastguard Worker void glGetShaderiv(uint32_t shader, uint32_t pname, int *params); 124*35238bceSAndroid Build Coastguard Worker void glGetShaderInfoLog(uint32_t shader, int bufsize, int *length, char *infolog); 125*35238bceSAndroid Build Coastguard Worker void glGetShaderPrecisionFormat(uint32_t shadertype, uint32_t precisiontype, int *range, int *precision); 126*35238bceSAndroid Build Coastguard Worker void glGetShaderSource(uint32_t shader, int bufsize, int *length, char *source); 127*35238bceSAndroid Build Coastguard Worker const uint8_t *glGetString(uint32_t name); 128*35238bceSAndroid Build Coastguard Worker void glGetTexParameterfv(uint32_t target, uint32_t pname, float *params); 129*35238bceSAndroid Build Coastguard Worker void glGetTexParameteriv(uint32_t target, uint32_t pname, int *params); 130*35238bceSAndroid Build Coastguard Worker void glGetUniformfv(uint32_t program, int location, float *params); 131*35238bceSAndroid Build Coastguard Worker void glGetUniformiv(uint32_t program, int location, int *params); 132*35238bceSAndroid Build Coastguard Worker int glGetUniformLocation(uint32_t program, const char *name); 133*35238bceSAndroid Build Coastguard Worker void glGetVertexAttribfv(uint32_t index, uint32_t pname, float *params); 134*35238bceSAndroid Build Coastguard Worker void glGetVertexAttribiv(uint32_t index, uint32_t pname, int *params); 135*35238bceSAndroid Build Coastguard Worker void glGetVertexAttribPointerv(uint32_t index, uint32_t pname, void **pointer); 136*35238bceSAndroid Build Coastguard Worker void glHint(uint32_t target, uint32_t mode); 137*35238bceSAndroid Build Coastguard Worker bool glIsBuffer(uint32_t buffer); 138*35238bceSAndroid Build Coastguard Worker bool glIsEnabled(uint32_t cap); 139*35238bceSAndroid Build Coastguard Worker bool glIsFramebuffer(uint32_t framebuffer); 140*35238bceSAndroid Build Coastguard Worker bool glIsProgram(uint32_t program); 141*35238bceSAndroid Build Coastguard Worker bool glIsRenderbuffer(uint32_t renderbuffer); 142*35238bceSAndroid Build Coastguard Worker bool glIsShader(uint32_t shader); 143*35238bceSAndroid Build Coastguard Worker bool glIsTexture(uint32_t texture); 144*35238bceSAndroid Build Coastguard Worker void glLineWidth(float width); 145*35238bceSAndroid Build Coastguard Worker void glLinkProgram(uint32_t program); 146*35238bceSAndroid Build Coastguard Worker void glPixelStorei(uint32_t pname, int param); 147*35238bceSAndroid Build Coastguard Worker void glPolygonOffset(float factor, float units); 148*35238bceSAndroid Build Coastguard Worker void glReadPixels(int x, int y, int width, int height, uint32_t format, uint32_t type, void *pixels); 149*35238bceSAndroid Build Coastguard Worker void glReleaseShaderCompiler(); 150*35238bceSAndroid Build Coastguard Worker void glRenderbufferStorage(uint32_t target, uint32_t internalformat, int width, int height); 151*35238bceSAndroid Build Coastguard Worker void glSampleCoverage(float value, bool invert); 152*35238bceSAndroid Build Coastguard Worker void glScissor(int x, int y, int width, int height); 153*35238bceSAndroid Build Coastguard Worker void glShaderBinary(int n, const uint32_t *shaders, uint32_t binaryformat, const void *binary, int length); 154*35238bceSAndroid Build Coastguard Worker void glShaderSource(uint32_t shader, int count, const char *const *string, const int *length); 155*35238bceSAndroid Build Coastguard Worker void glStencilFunc(uint32_t func, int ref, uint32_t mask); 156*35238bceSAndroid Build Coastguard Worker void glStencilFuncSeparate(uint32_t face, uint32_t func, int ref, uint32_t mask); 157*35238bceSAndroid Build Coastguard Worker void glStencilMask(uint32_t mask); 158*35238bceSAndroid Build Coastguard Worker void glStencilMaskSeparate(uint32_t face, uint32_t mask); 159*35238bceSAndroid Build Coastguard Worker void glStencilOp(uint32_t fail, uint32_t zfail, uint32_t zpass); 160*35238bceSAndroid Build Coastguard Worker void glStencilOpSeparate(uint32_t face, uint32_t fail, uint32_t zfail, uint32_t zpass); 161*35238bceSAndroid Build Coastguard Worker void glTexImage1D(uint32_t target, int level, int internalformat, int width, int border, uint32_t format, 162*35238bceSAndroid Build Coastguard Worker uint32_t type, const void *pixels); 163*35238bceSAndroid Build Coastguard Worker void glTexImage2D(uint32_t target, int level, int internalformat, int width, int height, int border, 164*35238bceSAndroid Build Coastguard Worker uint32_t format, uint32_t type, const void *pixels); 165*35238bceSAndroid Build Coastguard Worker void glTexParameterf(uint32_t target, uint32_t pname, float param); 166*35238bceSAndroid Build Coastguard Worker void glTexParameterfv(uint32_t target, uint32_t pname, const float *params); 167*35238bceSAndroid Build Coastguard Worker void glTexParameteri(uint32_t target, uint32_t pname, int param); 168*35238bceSAndroid Build Coastguard Worker void glTexParameteriv(uint32_t target, uint32_t pname, const int *params); 169*35238bceSAndroid Build Coastguard Worker void glTexSubImage1D(uint32_t target, int level, int xoffset, int width, uint32_t format, uint32_t type, 170*35238bceSAndroid Build Coastguard Worker const void *pixels); 171*35238bceSAndroid Build Coastguard Worker void glTexSubImage2D(uint32_t target, int level, int xoffset, int yoffset, int width, int height, uint32_t format, 172*35238bceSAndroid Build Coastguard Worker uint32_t type, const void *pixels); 173*35238bceSAndroid Build Coastguard Worker void glUniform1f(int location, float x); 174*35238bceSAndroid Build Coastguard Worker void glUniform1fv(int location, int count, const float *v); 175*35238bceSAndroid Build Coastguard Worker void glUniform1i(int location, int x); 176*35238bceSAndroid Build Coastguard Worker void glUniform1iv(int location, int count, const int *v); 177*35238bceSAndroid Build Coastguard Worker void glUniform2f(int location, float x, float y); 178*35238bceSAndroid Build Coastguard Worker void glUniform2fv(int location, int count, const float *v); 179*35238bceSAndroid Build Coastguard Worker void glUniform2i(int location, int x, int y); 180*35238bceSAndroid Build Coastguard Worker void glUniform2iv(int location, int count, const int *v); 181*35238bceSAndroid Build Coastguard Worker void glUniform3f(int location, float x, float y, float z); 182*35238bceSAndroid Build Coastguard Worker void glUniform3fv(int location, int count, const float *v); 183*35238bceSAndroid Build Coastguard Worker void glUniform3i(int location, int x, int y, int z); 184*35238bceSAndroid Build Coastguard Worker void glUniform3iv(int location, int count, const int *v); 185*35238bceSAndroid Build Coastguard Worker void glUniform4f(int location, float x, float y, float z, float w); 186*35238bceSAndroid Build Coastguard Worker void glUniform4fv(int location, int count, const float *v); 187*35238bceSAndroid Build Coastguard Worker void glUniform4i(int location, int x, int y, int z, int w); 188*35238bceSAndroid Build Coastguard Worker void glUniform4iv(int location, int count, const int *v); 189*35238bceSAndroid Build Coastguard Worker void glUniformMatrix2fv(int location, int count, bool transpose, const float *value); 190*35238bceSAndroid Build Coastguard Worker void glUniformMatrix3fv(int location, int count, bool transpose, const float *value); 191*35238bceSAndroid Build Coastguard Worker void glUniformMatrix4fv(int location, int count, bool transpose, const float *value); 192*35238bceSAndroid Build Coastguard Worker void glUseProgram(uint32_t program); 193*35238bceSAndroid Build Coastguard Worker void glValidateProgram(uint32_t program); 194*35238bceSAndroid Build Coastguard Worker void glVertexAttrib1f(uint32_t indx, float x); 195*35238bceSAndroid Build Coastguard Worker void glVertexAttrib1fv(uint32_t indx, const float *values); 196*35238bceSAndroid Build Coastguard Worker void glVertexAttrib2f(uint32_t indx, float x, float y); 197*35238bceSAndroid Build Coastguard Worker void glVertexAttrib2fv(uint32_t indx, const float *values); 198*35238bceSAndroid Build Coastguard Worker void glVertexAttrib3f(uint32_t indx, float x, float y, float z); 199*35238bceSAndroid Build Coastguard Worker void glVertexAttrib3fv(uint32_t indx, const float *values); 200*35238bceSAndroid Build Coastguard Worker void glVertexAttrib4f(uint32_t indx, float x, float y, float z, float w); 201*35238bceSAndroid Build Coastguard Worker void glVertexAttrib4fv(uint32_t indx, const float *values); 202*35238bceSAndroid Build Coastguard Worker void glVertexAttribPointer(uint32_t indx, int size, uint32_t type, bool normalized, int stride, const void *ptr); 203*35238bceSAndroid Build Coastguard Worker void glViewport(int x, int y, int width, int height); 204*35238bceSAndroid Build Coastguard Worker void glReadBuffer(uint32_t mode); 205*35238bceSAndroid Build Coastguard Worker void glDrawRangeElements(uint32_t mode, uint32_t start, uint32_t end, int count, uint32_t type, 206*35238bceSAndroid Build Coastguard Worker const void *indices); 207*35238bceSAndroid Build Coastguard Worker void glTexImage3D(uint32_t target, int level, int internalformat, int width, int height, int depth, int border, 208*35238bceSAndroid Build Coastguard Worker uint32_t format, uint32_t type, const void *pixels); 209*35238bceSAndroid Build Coastguard Worker void glTexSubImage3D(uint32_t target, int level, int xoffset, int yoffset, int zoffset, int width, int height, 210*35238bceSAndroid Build Coastguard Worker int depth, uint32_t format, uint32_t type, const void *pixels); 211*35238bceSAndroid Build Coastguard Worker void glCopyTexSubImage3D(uint32_t target, int level, int xoffset, int yoffset, int zoffset, int x, int y, int width, 212*35238bceSAndroid Build Coastguard Worker int height); 213*35238bceSAndroid Build Coastguard Worker void glCompressedTexImage3D(uint32_t target, int level, uint32_t internalformat, int width, int height, int depth, 214*35238bceSAndroid Build Coastguard Worker int border, int imageSize, const void *data); 215*35238bceSAndroid Build Coastguard Worker void glCompressedTexSubImage3D(uint32_t target, int level, int xoffset, int yoffset, int zoffset, int width, 216*35238bceSAndroid Build Coastguard Worker int height, int depth, uint32_t format, int imageSize, const void *data); 217*35238bceSAndroid Build Coastguard Worker void glGenQueries(int n, uint32_t *ids); 218*35238bceSAndroid Build Coastguard Worker void glDeleteQueries(int n, const uint32_t *ids); 219*35238bceSAndroid Build Coastguard Worker bool glIsQuery(uint32_t id); 220*35238bceSAndroid Build Coastguard Worker void glBeginQuery(uint32_t target, uint32_t id); 221*35238bceSAndroid Build Coastguard Worker void glEndQuery(uint32_t target); 222*35238bceSAndroid Build Coastguard Worker void glGetQueryiv(uint32_t target, uint32_t pname, int *params); 223*35238bceSAndroid Build Coastguard Worker void glGetQueryObjectuiv(uint32_t id, uint32_t pname, uint32_t *params); 224*35238bceSAndroid Build Coastguard Worker bool glUnmapBuffer(uint32_t target); 225*35238bceSAndroid Build Coastguard Worker void glGetBufferPointerv(uint32_t target, uint32_t pname, void **params); 226*35238bceSAndroid Build Coastguard Worker void glDrawBuffers(int n, const uint32_t *bufs); 227*35238bceSAndroid Build Coastguard Worker void glUniformMatrix2x3fv(int location, int count, bool transpose, const float *value); 228*35238bceSAndroid Build Coastguard Worker void glUniformMatrix3x2fv(int location, int count, bool transpose, const float *value); 229*35238bceSAndroid Build Coastguard Worker void glUniformMatrix2x4fv(int location, int count, bool transpose, const float *value); 230*35238bceSAndroid Build Coastguard Worker void glUniformMatrix4x2fv(int location, int count, bool transpose, const float *value); 231*35238bceSAndroid Build Coastguard Worker void glUniformMatrix3x4fv(int location, int count, bool transpose, const float *value); 232*35238bceSAndroid Build Coastguard Worker void glUniformMatrix4x3fv(int location, int count, bool transpose, const float *value); 233*35238bceSAndroid Build Coastguard Worker void glBlitFramebuffer(int srcX0, int srcY0, int srcX1, int srcY1, int dstX0, int dstY0, int dstX1, int dstY1, 234*35238bceSAndroid Build Coastguard Worker uint32_t mask, uint32_t filter); 235*35238bceSAndroid Build Coastguard Worker void glRenderbufferStorageMultisample(uint32_t target, int samples, uint32_t internalformat, int width, int height); 236*35238bceSAndroid Build Coastguard Worker void glFramebufferTextureLayer(uint32_t target, uint32_t attachment, uint32_t texture, int level, int layer); 237*35238bceSAndroid Build Coastguard Worker void *glMapBufferRange(uint32_t target, intptr_t offset, intptr_t length, uint32_t access); 238*35238bceSAndroid Build Coastguard Worker void glFlushMappedBufferRange(uint32_t target, intptr_t offset, intptr_t length); 239*35238bceSAndroid Build Coastguard Worker void glBindVertexArray(uint32_t array); 240*35238bceSAndroid Build Coastguard Worker void glDeleteVertexArrays(int n, const uint32_t *arrays); 241*35238bceSAndroid Build Coastguard Worker void glGenVertexArrays(int n, uint32_t *arrays); 242*35238bceSAndroid Build Coastguard Worker bool glIsVertexArray(uint32_t array); 243*35238bceSAndroid Build Coastguard Worker void glGetIntegeri_v(uint32_t target, uint32_t index, int *data); 244*35238bceSAndroid Build Coastguard Worker void glBeginTransformFeedback(uint32_t primitiveMode); 245*35238bceSAndroid Build Coastguard Worker void glEndTransformFeedback(); 246*35238bceSAndroid Build Coastguard Worker void glBindBufferRange(uint32_t target, uint32_t index, uint32_t buffer, intptr_t offset, intptr_t size); 247*35238bceSAndroid Build Coastguard Worker void glBindBufferBase(uint32_t target, uint32_t index, uint32_t buffer); 248*35238bceSAndroid Build Coastguard Worker void glTransformFeedbackVaryings(uint32_t program, int count, const char *const *varyings, uint32_t bufferMode); 249*35238bceSAndroid Build Coastguard Worker void glGetTransformFeedbackVarying(uint32_t program, uint32_t index, int bufSize, int *length, int *size, 250*35238bceSAndroid Build Coastguard Worker uint32_t *type, char *name); 251*35238bceSAndroid Build Coastguard Worker void glVertexAttribIPointer(uint32_t index, int size, uint32_t type, int stride, const void *pointer); 252*35238bceSAndroid Build Coastguard Worker void glGetVertexAttribIiv(uint32_t index, uint32_t pname, int *params); 253*35238bceSAndroid Build Coastguard Worker void glGetVertexAttribIuiv(uint32_t index, uint32_t pname, uint32_t *params); 254*35238bceSAndroid Build Coastguard Worker void glVertexAttribI4i(uint32_t index, int x, int y, int z, int w); 255*35238bceSAndroid Build Coastguard Worker void glVertexAttribI4ui(uint32_t index, uint32_t x, uint32_t y, uint32_t z, uint32_t w); 256*35238bceSAndroid Build Coastguard Worker void glVertexAttribI4iv(uint32_t index, const int *v); 257*35238bceSAndroid Build Coastguard Worker void glVertexAttribI4uiv(uint32_t index, const uint32_t *v); 258*35238bceSAndroid Build Coastguard Worker void glGetUniformuiv(uint32_t program, int location, uint32_t *params); 259*35238bceSAndroid Build Coastguard Worker int glGetFragDataLocation(uint32_t program, const char *name); 260*35238bceSAndroid Build Coastguard Worker void glUniform1ui(int location, uint32_t v0); 261*35238bceSAndroid Build Coastguard Worker void glUniform2ui(int location, uint32_t v0, uint32_t v1); 262*35238bceSAndroid Build Coastguard Worker void glUniform3ui(int location, uint32_t v0, uint32_t v1, uint32_t v2); 263*35238bceSAndroid Build Coastguard Worker void glUniform4ui(int location, uint32_t v0, uint32_t v1, uint32_t v2, uint32_t v3); 264*35238bceSAndroid Build Coastguard Worker void glUniform1uiv(int location, int count, const uint32_t *value); 265*35238bceSAndroid Build Coastguard Worker void glUniform2uiv(int location, int count, const uint32_t *value); 266*35238bceSAndroid Build Coastguard Worker void glUniform3uiv(int location, int count, const uint32_t *value); 267*35238bceSAndroid Build Coastguard Worker void glUniform4uiv(int location, int count, const uint32_t *value); 268*35238bceSAndroid Build Coastguard Worker void glClearBufferiv(uint32_t buffer, int drawbuffer, const int *value); 269*35238bceSAndroid Build Coastguard Worker void glClearBufferuiv(uint32_t buffer, int drawbuffer, const uint32_t *value); 270*35238bceSAndroid Build Coastguard Worker void glClearBufferfv(uint32_t buffer, int drawbuffer, const float *value); 271*35238bceSAndroid Build Coastguard Worker void glClearBufferfi(uint32_t buffer, int drawbuffer, float depth, int stencil); 272*35238bceSAndroid Build Coastguard Worker const uint8_t *glGetStringi(uint32_t name, uint32_t index); 273*35238bceSAndroid Build Coastguard Worker void glCopyBufferSubData(uint32_t readTarget, uint32_t writeTarget, intptr_t readOffset, intptr_t writeOffset, 274*35238bceSAndroid Build Coastguard Worker intptr_t size); 275*35238bceSAndroid Build Coastguard Worker void glGetUniformIndices(uint32_t program, int uniformCount, const char *const *uniformNames, 276*35238bceSAndroid Build Coastguard Worker uint32_t *uniformIndices); 277*35238bceSAndroid Build Coastguard Worker void glGetActiveUniformsiv(uint32_t program, int uniformCount, const uint32_t *uniformIndices, uint32_t pname, 278*35238bceSAndroid Build Coastguard Worker int *params); 279*35238bceSAndroid Build Coastguard Worker uint32_t glGetUniformBlockIndex(uint32_t program, const char *uniformBlockName); 280*35238bceSAndroid Build Coastguard Worker void glGetActiveUniformBlockiv(uint32_t program, uint32_t uniformBlockIndex, uint32_t pname, int *params); 281*35238bceSAndroid Build Coastguard Worker void glGetActiveUniformBlockName(uint32_t program, uint32_t uniformBlockIndex, int bufSize, int *length, 282*35238bceSAndroid Build Coastguard Worker char *uniformBlockName); 283*35238bceSAndroid Build Coastguard Worker void glUniformBlockBinding(uint32_t program, uint32_t uniformBlockIndex, uint32_t uniformBlockBinding); 284*35238bceSAndroid Build Coastguard Worker void glDrawArraysInstanced(uint32_t mode, int first, int count, int primcount); 285*35238bceSAndroid Build Coastguard Worker void glDrawElementsInstanced(uint32_t mode, int count, uint32_t type, const void *indices, int primcount); 286*35238bceSAndroid Build Coastguard Worker void *glFenceSync(uint32_t condition, uint32_t flags); 287*35238bceSAndroid Build Coastguard Worker bool glIsSync(void *sync); 288*35238bceSAndroid Build Coastguard Worker void glDeleteSync(void *sync); 289*35238bceSAndroid Build Coastguard Worker uint32_t glClientWaitSync(void *sync, uint32_t flags, uint64_t timeout); 290*35238bceSAndroid Build Coastguard Worker void glWaitSync(void *sync, uint32_t flags, uint64_t timeout); 291*35238bceSAndroid Build Coastguard Worker void glGetInteger64v(uint32_t pname, int64_t *params); 292*35238bceSAndroid Build Coastguard Worker void glGetSynciv(void *sync, uint32_t pname, int bufSize, int *length, int *values); 293*35238bceSAndroid Build Coastguard Worker void glGetInteger64i_v(uint32_t target, uint32_t index, int64_t *data); 294*35238bceSAndroid Build Coastguard Worker void glGetBufferParameteri64v(uint32_t target, uint32_t pname, int64_t *params); 295*35238bceSAndroid Build Coastguard Worker void glGenSamplers(int count, uint32_t *samplers); 296*35238bceSAndroid Build Coastguard Worker void glDeleteSamplers(int count, const uint32_t *samplers); 297*35238bceSAndroid Build Coastguard Worker bool glIsSampler(uint32_t sampler); 298*35238bceSAndroid Build Coastguard Worker void glBindSampler(uint32_t unit, uint32_t sampler); 299*35238bceSAndroid Build Coastguard Worker void glSamplerParameteri(uint32_t sampler, uint32_t pname, int param); 300*35238bceSAndroid Build Coastguard Worker void glSamplerParameteriv(uint32_t sampler, uint32_t pname, const int *param); 301*35238bceSAndroid Build Coastguard Worker void glSamplerParameterf(uint32_t sampler, uint32_t pname, float param); 302*35238bceSAndroid Build Coastguard Worker void glSamplerParameterfv(uint32_t sampler, uint32_t pname, const float *param); 303*35238bceSAndroid Build Coastguard Worker void glGetSamplerParameteriv(uint32_t sampler, uint32_t pname, int *params); 304*35238bceSAndroid Build Coastguard Worker void glGetSamplerParameterfv(uint32_t sampler, uint32_t pname, float *params); 305*35238bceSAndroid Build Coastguard Worker void glVertexAttribDivisor(uint32_t index, uint32_t divisor); 306*35238bceSAndroid Build Coastguard Worker void glBindTransformFeedback(uint32_t target, uint32_t id); 307*35238bceSAndroid Build Coastguard Worker void glDeleteTransformFeedbacks(int n, const uint32_t *ids); 308*35238bceSAndroid Build Coastguard Worker void glGenTransformFeedbacks(int n, uint32_t *ids); 309*35238bceSAndroid Build Coastguard Worker bool glIsTransformFeedback(uint32_t id); 310*35238bceSAndroid Build Coastguard Worker void glPauseTransformFeedback(); 311*35238bceSAndroid Build Coastguard Worker void glResumeTransformFeedback(); 312*35238bceSAndroid Build Coastguard Worker void glGetProgramBinary(uint32_t program, int bufSize, int *length, uint32_t *binaryFormat, void *binary); 313*35238bceSAndroid Build Coastguard Worker void glProgramBinary(uint32_t program, uint32_t binaryFormat, const void *binary, int length); 314*35238bceSAndroid Build Coastguard Worker void glProgramParameteri(uint32_t program, uint32_t pname, int value); 315*35238bceSAndroid Build Coastguard Worker void glInvalidateFramebuffer(uint32_t target, int numAttachments, const uint32_t *attachments); 316*35238bceSAndroid Build Coastguard Worker void glInvalidateSubFramebuffer(uint32_t target, int numAttachments, const uint32_t *attachments, int x, int y, 317*35238bceSAndroid Build Coastguard Worker int width, int height); 318*35238bceSAndroid Build Coastguard Worker void glTexStorage2D(uint32_t target, int levels, uint32_t internalformat, int width, int height); 319*35238bceSAndroid Build Coastguard Worker void glTexStorage3D(uint32_t target, int levels, uint32_t internalformat, int width, int height, int depth); 320*35238bceSAndroid Build Coastguard Worker void glGetInternalformativ(uint32_t target, uint32_t internalformat, uint32_t pname, int bufSize, int *params); 321*35238bceSAndroid Build Coastguard Worker 322*35238bceSAndroid Build Coastguard Worker private: 323*35238bceSAndroid Build Coastguard Worker Context *m_curCtx; 324*35238bceSAndroid Build Coastguard Worker }; 325*35238bceSAndroid Build Coastguard Worker 326*35238bceSAndroid Build Coastguard Worker } // namespace sglr 327*35238bceSAndroid Build Coastguard Worker 328*35238bceSAndroid Build Coastguard Worker #endif // _SGLRCONTEXTWRAPPER_HPP 329