1e5c31af7Sopenharmony_ci/*------------------------------------------------------------------------- 2e5c31af7Sopenharmony_ci * drawElements Quality Program OpenGL ES Utilities 3e5c31af7Sopenharmony_ci * ------------------------------------------------ 4e5c31af7Sopenharmony_ci * 5e5c31af7Sopenharmony_ci * Copyright 2014 The Android Open Source Project 6e5c31af7Sopenharmony_ci * 7e5c31af7Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 8e5c31af7Sopenharmony_ci * you may not use this file except in compliance with the License. 9e5c31af7Sopenharmony_ci * You may obtain a copy of the License at 10e5c31af7Sopenharmony_ci * 11e5c31af7Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 12e5c31af7Sopenharmony_ci * 13e5c31af7Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 14e5c31af7Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 15e5c31af7Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16e5c31af7Sopenharmony_ci * See the License for the specific language governing permissions and 17e5c31af7Sopenharmony_ci * limitations under the License. 18e5c31af7Sopenharmony_ci * 19e5c31af7Sopenharmony_ci *//*! 20e5c31af7Sopenharmony_ci * \file 21e5c31af7Sopenharmony_ci * \brief Context wrapper that exposes sglr API as GL-compatible API. 22e5c31af7Sopenharmony_ci *//*--------------------------------------------------------------------*/ 23e5c31af7Sopenharmony_ci 24e5c31af7Sopenharmony_ci#include "sglrContextWrapper.hpp" 25e5c31af7Sopenharmony_ci#include "sglrContext.hpp" 26e5c31af7Sopenharmony_ci 27e5c31af7Sopenharmony_cinamespace sglr 28e5c31af7Sopenharmony_ci{ 29e5c31af7Sopenharmony_ci 30e5c31af7Sopenharmony_ciContextWrapper::ContextWrapper (void) 31e5c31af7Sopenharmony_ci : m_curCtx(DE_NULL) 32e5c31af7Sopenharmony_ci{ 33e5c31af7Sopenharmony_ci} 34e5c31af7Sopenharmony_ci 35e5c31af7Sopenharmony_ciContextWrapper::~ContextWrapper (void) 36e5c31af7Sopenharmony_ci{ 37e5c31af7Sopenharmony_ci} 38e5c31af7Sopenharmony_ci 39e5c31af7Sopenharmony_civoid ContextWrapper::setContext (Context* context) 40e5c31af7Sopenharmony_ci{ 41e5c31af7Sopenharmony_ci m_curCtx = context; 42e5c31af7Sopenharmony_ci} 43e5c31af7Sopenharmony_ci 44e5c31af7Sopenharmony_ciContext* ContextWrapper::getCurrentContext (void) const 45e5c31af7Sopenharmony_ci{ 46e5c31af7Sopenharmony_ci return m_curCtx; 47e5c31af7Sopenharmony_ci} 48e5c31af7Sopenharmony_ci 49e5c31af7Sopenharmony_ciint ContextWrapper::getWidth (void) const 50e5c31af7Sopenharmony_ci{ 51e5c31af7Sopenharmony_ci return m_curCtx->getWidth(); 52e5c31af7Sopenharmony_ci} 53e5c31af7Sopenharmony_ci 54e5c31af7Sopenharmony_ciint ContextWrapper::getHeight (void) const 55e5c31af7Sopenharmony_ci{ 56e5c31af7Sopenharmony_ci return m_curCtx->getHeight(); 57e5c31af7Sopenharmony_ci} 58e5c31af7Sopenharmony_ci 59e5c31af7Sopenharmony_civoid ContextWrapper::glViewport (int x, int y, int width, int height) 60e5c31af7Sopenharmony_ci{ 61e5c31af7Sopenharmony_ci m_curCtx->viewport(x, y, width, height); 62e5c31af7Sopenharmony_ci} 63e5c31af7Sopenharmony_ci 64e5c31af7Sopenharmony_civoid ContextWrapper::glActiveTexture (deUint32 texture) 65e5c31af7Sopenharmony_ci{ 66e5c31af7Sopenharmony_ci m_curCtx->activeTexture(texture); 67e5c31af7Sopenharmony_ci} 68e5c31af7Sopenharmony_ci 69e5c31af7Sopenharmony_civoid ContextWrapper::glBindTexture (deUint32 target, deUint32 texture) 70e5c31af7Sopenharmony_ci{ 71e5c31af7Sopenharmony_ci m_curCtx->bindTexture(target, texture); 72e5c31af7Sopenharmony_ci} 73e5c31af7Sopenharmony_ci 74e5c31af7Sopenharmony_civoid ContextWrapper::glGenTextures (int numTextures, deUint32* textures) 75e5c31af7Sopenharmony_ci{ 76e5c31af7Sopenharmony_ci m_curCtx->genTextures(numTextures, textures); 77e5c31af7Sopenharmony_ci} 78e5c31af7Sopenharmony_ci 79e5c31af7Sopenharmony_civoid ContextWrapper::glDeleteTextures (int numTextures, const deUint32* textures) 80e5c31af7Sopenharmony_ci{ 81e5c31af7Sopenharmony_ci m_curCtx->deleteTextures(numTextures, textures); 82e5c31af7Sopenharmony_ci} 83e5c31af7Sopenharmony_ci 84e5c31af7Sopenharmony_civoid ContextWrapper::glBindFramebuffer (deUint32 target, deUint32 framebuffer) 85e5c31af7Sopenharmony_ci{ 86e5c31af7Sopenharmony_ci m_curCtx->bindFramebuffer(target, framebuffer); 87e5c31af7Sopenharmony_ci} 88e5c31af7Sopenharmony_ci 89e5c31af7Sopenharmony_civoid ContextWrapper::glGenFramebuffers (int numFramebuffers, deUint32* framebuffers) 90e5c31af7Sopenharmony_ci{ 91e5c31af7Sopenharmony_ci m_curCtx->genFramebuffers(numFramebuffers, framebuffers); 92e5c31af7Sopenharmony_ci} 93e5c31af7Sopenharmony_ci 94e5c31af7Sopenharmony_civoid ContextWrapper::glDeleteFramebuffers (int numFramebuffers, const deUint32* framebuffers) 95e5c31af7Sopenharmony_ci{ 96e5c31af7Sopenharmony_ci m_curCtx->deleteFramebuffers(numFramebuffers, framebuffers); 97e5c31af7Sopenharmony_ci} 98e5c31af7Sopenharmony_ci 99e5c31af7Sopenharmony_civoid ContextWrapper::glBindRenderbuffer (deUint32 target, deUint32 renderbuffer) 100e5c31af7Sopenharmony_ci{ 101e5c31af7Sopenharmony_ci m_curCtx->bindRenderbuffer(target, renderbuffer); 102e5c31af7Sopenharmony_ci} 103e5c31af7Sopenharmony_ci 104e5c31af7Sopenharmony_civoid ContextWrapper::glGenRenderbuffers (int numRenderbuffers, deUint32* renderbuffers) 105e5c31af7Sopenharmony_ci{ 106e5c31af7Sopenharmony_ci m_curCtx->genRenderbuffers(numRenderbuffers, renderbuffers); 107e5c31af7Sopenharmony_ci} 108e5c31af7Sopenharmony_ci 109e5c31af7Sopenharmony_civoid ContextWrapper::glDeleteRenderbuffers (int numRenderbuffers, const deUint32* renderbuffers) 110e5c31af7Sopenharmony_ci{ 111e5c31af7Sopenharmony_ci m_curCtx->deleteRenderbuffers(numRenderbuffers, renderbuffers); 112e5c31af7Sopenharmony_ci} 113e5c31af7Sopenharmony_ci 114e5c31af7Sopenharmony_civoid ContextWrapper::glPixelStorei (deUint32 pname, int param) 115e5c31af7Sopenharmony_ci{ 116e5c31af7Sopenharmony_ci m_curCtx->pixelStorei(pname, param); 117e5c31af7Sopenharmony_ci} 118e5c31af7Sopenharmony_ci 119e5c31af7Sopenharmony_civoid ContextWrapper::glTexImage1D (deUint32 target, int level, int internalFormat, int width, int border, deUint32 format, deUint32 type, const void* data) 120e5c31af7Sopenharmony_ci{ 121e5c31af7Sopenharmony_ci m_curCtx->texImage1D(target, level, (deUint32)internalFormat, width, border, format, type, data); 122e5c31af7Sopenharmony_ci} 123e5c31af7Sopenharmony_ci 124e5c31af7Sopenharmony_civoid ContextWrapper::glTexImage2D (deUint32 target, int level, int internalFormat, int width, int height, int border, deUint32 format, deUint32 type, const void* data) 125e5c31af7Sopenharmony_ci{ 126e5c31af7Sopenharmony_ci m_curCtx->texImage2D(target, level, (deUint32)internalFormat, width, height, border, format, type, data); 127e5c31af7Sopenharmony_ci} 128e5c31af7Sopenharmony_ci 129e5c31af7Sopenharmony_civoid ContextWrapper::glTexImage3D (deUint32 target, int level, int internalFormat, int width, int height, int depth, int border, deUint32 format, deUint32 type, const void* data) 130e5c31af7Sopenharmony_ci{ 131e5c31af7Sopenharmony_ci m_curCtx->texImage3D(target, level, (deUint32)internalFormat, width, height, depth, border, format, type, data); 132e5c31af7Sopenharmony_ci} 133e5c31af7Sopenharmony_ci 134e5c31af7Sopenharmony_civoid ContextWrapper::glTexSubImage1D (deUint32 target, int level, int xoffset, int width, deUint32 format, deUint32 type, const void* data) 135e5c31af7Sopenharmony_ci{ 136e5c31af7Sopenharmony_ci m_curCtx->texSubImage1D(target, level, xoffset, width, format, type, data); 137e5c31af7Sopenharmony_ci} 138e5c31af7Sopenharmony_ci 139e5c31af7Sopenharmony_civoid ContextWrapper::glTexSubImage2D (deUint32 target, int level, int xoffset, int yoffset, int width, int height, deUint32 format, deUint32 type, const void* data) 140e5c31af7Sopenharmony_ci{ 141e5c31af7Sopenharmony_ci m_curCtx->texSubImage2D(target, level, xoffset, yoffset, width, height, format, type, data); 142e5c31af7Sopenharmony_ci} 143e5c31af7Sopenharmony_ci 144e5c31af7Sopenharmony_civoid ContextWrapper::glTexSubImage3D (deUint32 target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, deUint32 format, deUint32 type, const void* data) 145e5c31af7Sopenharmony_ci{ 146e5c31af7Sopenharmony_ci m_curCtx->texSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, data); 147e5c31af7Sopenharmony_ci} 148e5c31af7Sopenharmony_ci 149e5c31af7Sopenharmony_civoid ContextWrapper::glCopyTexImage1D (deUint32 target, int level, deUint32 internalFormat, int x, int y, int width, int border) 150e5c31af7Sopenharmony_ci{ 151e5c31af7Sopenharmony_ci m_curCtx->copyTexImage1D(target, level, internalFormat, x, y, width, border); 152e5c31af7Sopenharmony_ci} 153e5c31af7Sopenharmony_ci 154e5c31af7Sopenharmony_civoid ContextWrapper::glCopyTexImage2D (deUint32 target, int level, deUint32 internalFormat, int x, int y, int width, int height, int border) 155e5c31af7Sopenharmony_ci{ 156e5c31af7Sopenharmony_ci m_curCtx->copyTexImage2D(target, level, internalFormat, x, y, width, height, border); 157e5c31af7Sopenharmony_ci} 158e5c31af7Sopenharmony_ci 159e5c31af7Sopenharmony_civoid ContextWrapper::glCopyTexSubImage1D (deUint32 target, int level, int xoffset, int x, int y, int width) 160e5c31af7Sopenharmony_ci{ 161e5c31af7Sopenharmony_ci m_curCtx->copyTexSubImage1D(target, level, xoffset, x, y, width); 162e5c31af7Sopenharmony_ci} 163e5c31af7Sopenharmony_ci 164e5c31af7Sopenharmony_civoid ContextWrapper::glCopyTexSubImage2D (deUint32 target, int level, int xoffset, int yoffset, int x, int y, int width, int height) 165e5c31af7Sopenharmony_ci{ 166e5c31af7Sopenharmony_ci m_curCtx->copyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height); 167e5c31af7Sopenharmony_ci} 168e5c31af7Sopenharmony_ci 169e5c31af7Sopenharmony_civoid ContextWrapper::glTexStorage2D (deUint32 target, int levels, deUint32 internalFormat, int width, int height) 170e5c31af7Sopenharmony_ci{ 171e5c31af7Sopenharmony_ci m_curCtx->texStorage2D(target, levels, internalFormat, width, height); 172e5c31af7Sopenharmony_ci} 173e5c31af7Sopenharmony_ci 174e5c31af7Sopenharmony_civoid ContextWrapper::glTexStorage3D (deUint32 target, int levels, deUint32 internalFormat, int width, int height, int depth) 175e5c31af7Sopenharmony_ci{ 176e5c31af7Sopenharmony_ci m_curCtx->texStorage3D(target, levels, internalFormat, width, height, depth); 177e5c31af7Sopenharmony_ci} 178e5c31af7Sopenharmony_ci 179e5c31af7Sopenharmony_civoid ContextWrapper::glTexParameteri (deUint32 target, deUint32 pname, int value) 180e5c31af7Sopenharmony_ci{ 181e5c31af7Sopenharmony_ci m_curCtx->texParameteri(target, pname, value); 182e5c31af7Sopenharmony_ci} 183e5c31af7Sopenharmony_ci 184e5c31af7Sopenharmony_civoid ContextWrapper::glUseProgram (deUint32 program) 185e5c31af7Sopenharmony_ci{ 186e5c31af7Sopenharmony_ci m_curCtx->useProgram(program); 187e5c31af7Sopenharmony_ci} 188e5c31af7Sopenharmony_ci 189e5c31af7Sopenharmony_civoid ContextWrapper::glFramebufferTexture2D (deUint32 target, deUint32 attachment, deUint32 textarget, deUint32 texture, int level) 190e5c31af7Sopenharmony_ci{ 191e5c31af7Sopenharmony_ci m_curCtx->framebufferTexture2D(target, attachment, textarget, texture, level); 192e5c31af7Sopenharmony_ci} 193e5c31af7Sopenharmony_ci 194e5c31af7Sopenharmony_civoid ContextWrapper::glFramebufferTextureLayer (deUint32 target, deUint32 attachment, deUint32 texture, int level, int layer) 195e5c31af7Sopenharmony_ci{ 196e5c31af7Sopenharmony_ci m_curCtx->framebufferTextureLayer(target, attachment, texture, level, layer); 197e5c31af7Sopenharmony_ci} 198e5c31af7Sopenharmony_ci 199e5c31af7Sopenharmony_civoid ContextWrapper::glFramebufferRenderbuffer (deUint32 target, deUint32 attachment, deUint32 renderbuffertarget, deUint32 renderbuffer) 200e5c31af7Sopenharmony_ci{ 201e5c31af7Sopenharmony_ci m_curCtx->framebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer); 202e5c31af7Sopenharmony_ci} 203e5c31af7Sopenharmony_ci 204e5c31af7Sopenharmony_cideUint32 ContextWrapper::glCheckFramebufferStatus (deUint32 target) 205e5c31af7Sopenharmony_ci{ 206e5c31af7Sopenharmony_ci return m_curCtx->checkFramebufferStatus(target); 207e5c31af7Sopenharmony_ci} 208e5c31af7Sopenharmony_ci 209e5c31af7Sopenharmony_civoid ContextWrapper::glGetFramebufferAttachmentParameteriv (deUint32 target, deUint32 attachment, deUint32 pname, int* params) 210e5c31af7Sopenharmony_ci{ 211e5c31af7Sopenharmony_ci m_curCtx->getFramebufferAttachmentParameteriv(target, attachment, pname, params); 212e5c31af7Sopenharmony_ci} 213e5c31af7Sopenharmony_ci 214e5c31af7Sopenharmony_civoid ContextWrapper::glRenderbufferStorage (deUint32 target, deUint32 internalformat, int width, int height) 215e5c31af7Sopenharmony_ci{ 216e5c31af7Sopenharmony_ci m_curCtx->renderbufferStorage(target, internalformat, width, height); 217e5c31af7Sopenharmony_ci} 218e5c31af7Sopenharmony_ci 219e5c31af7Sopenharmony_civoid ContextWrapper::glRenderbufferStorageMultisample (deUint32 target, int samples, deUint32 internalformat, int width, int height) 220e5c31af7Sopenharmony_ci{ 221e5c31af7Sopenharmony_ci m_curCtx->renderbufferStorageMultisample(target, samples, internalformat, width, height); 222e5c31af7Sopenharmony_ci} 223e5c31af7Sopenharmony_ci 224e5c31af7Sopenharmony_civoid ContextWrapper::glBindBuffer (deUint32 target, deUint32 buffer) 225e5c31af7Sopenharmony_ci{ 226e5c31af7Sopenharmony_ci m_curCtx->bindBuffer(target, buffer); 227e5c31af7Sopenharmony_ci} 228e5c31af7Sopenharmony_ci 229e5c31af7Sopenharmony_civoid ContextWrapper::glGenBuffers (int n, deUint32* buffers) 230e5c31af7Sopenharmony_ci{ 231e5c31af7Sopenharmony_ci m_curCtx->genBuffers(n, buffers); 232e5c31af7Sopenharmony_ci} 233e5c31af7Sopenharmony_ci 234e5c31af7Sopenharmony_civoid ContextWrapper::glDeleteBuffers (int n, const deUint32* buffers) 235e5c31af7Sopenharmony_ci{ 236e5c31af7Sopenharmony_ci m_curCtx->deleteBuffers(n, buffers); 237e5c31af7Sopenharmony_ci} 238e5c31af7Sopenharmony_ci 239e5c31af7Sopenharmony_civoid ContextWrapper::glBufferData (deUint32 target, deIntptr size, const void* data, deUint32 usage) 240e5c31af7Sopenharmony_ci{ 241e5c31af7Sopenharmony_ci m_curCtx->bufferData(target, size, data, usage); 242e5c31af7Sopenharmony_ci} 243e5c31af7Sopenharmony_ci 244e5c31af7Sopenharmony_civoid ContextWrapper::glBufferSubData (deUint32 target, deIntptr offset, deIntptr size, const void* data) 245e5c31af7Sopenharmony_ci{ 246e5c31af7Sopenharmony_ci m_curCtx->bufferSubData(target, offset, size, data); 247e5c31af7Sopenharmony_ci} 248e5c31af7Sopenharmony_ci 249e5c31af7Sopenharmony_civoid ContextWrapper::glClearColor (float red, float green, float blue, float alpha) 250e5c31af7Sopenharmony_ci{ 251e5c31af7Sopenharmony_ci m_curCtx->clearColor(red, green, blue, alpha); 252e5c31af7Sopenharmony_ci} 253e5c31af7Sopenharmony_ci 254e5c31af7Sopenharmony_civoid ContextWrapper::glClearDepthf (float depth) 255e5c31af7Sopenharmony_ci{ 256e5c31af7Sopenharmony_ci m_curCtx->clearDepthf(depth); 257e5c31af7Sopenharmony_ci} 258e5c31af7Sopenharmony_ci 259e5c31af7Sopenharmony_civoid ContextWrapper::glClearStencil (int stencil) 260e5c31af7Sopenharmony_ci{ 261e5c31af7Sopenharmony_ci m_curCtx->clearStencil(stencil); 262e5c31af7Sopenharmony_ci} 263e5c31af7Sopenharmony_ci 264e5c31af7Sopenharmony_civoid ContextWrapper::glClear (deUint32 buffers) 265e5c31af7Sopenharmony_ci{ 266e5c31af7Sopenharmony_ci m_curCtx->clear(buffers); 267e5c31af7Sopenharmony_ci} 268e5c31af7Sopenharmony_ci 269e5c31af7Sopenharmony_civoid ContextWrapper::glClearBufferiv (deUint32 buffer, int drawbuffer, const int* value) 270e5c31af7Sopenharmony_ci{ 271e5c31af7Sopenharmony_ci m_curCtx->clearBufferiv(buffer, drawbuffer, value); 272e5c31af7Sopenharmony_ci} 273e5c31af7Sopenharmony_ci 274e5c31af7Sopenharmony_civoid ContextWrapper::glClearBufferfv (deUint32 buffer, int drawbuffer, const float* value) 275e5c31af7Sopenharmony_ci{ 276e5c31af7Sopenharmony_ci m_curCtx->clearBufferfv(buffer, drawbuffer, value); 277e5c31af7Sopenharmony_ci} 278e5c31af7Sopenharmony_ci 279e5c31af7Sopenharmony_civoid ContextWrapper::glClearBufferuiv (deUint32 buffer, int drawbuffer, const deUint32* value) 280e5c31af7Sopenharmony_ci{ 281e5c31af7Sopenharmony_ci m_curCtx->clearBufferuiv(buffer, drawbuffer, value); 282e5c31af7Sopenharmony_ci} 283e5c31af7Sopenharmony_ci 284e5c31af7Sopenharmony_civoid ContextWrapper::glClearBufferfi (deUint32 buffer, int drawbuffer, float depth, int stencil) 285e5c31af7Sopenharmony_ci{ 286e5c31af7Sopenharmony_ci m_curCtx->clearBufferfi(buffer, drawbuffer, depth, stencil); 287e5c31af7Sopenharmony_ci} 288e5c31af7Sopenharmony_ci 289e5c31af7Sopenharmony_civoid ContextWrapper::glScissor (int x, int y, int width, int height) 290e5c31af7Sopenharmony_ci{ 291e5c31af7Sopenharmony_ci m_curCtx->scissor(x, y, width, height); 292e5c31af7Sopenharmony_ci} 293e5c31af7Sopenharmony_ci 294e5c31af7Sopenharmony_civoid ContextWrapper::glEnable (deUint32 cap) 295e5c31af7Sopenharmony_ci{ 296e5c31af7Sopenharmony_ci m_curCtx->enable(cap); 297e5c31af7Sopenharmony_ci} 298e5c31af7Sopenharmony_ci 299e5c31af7Sopenharmony_civoid ContextWrapper::glDisable (deUint32 cap) 300e5c31af7Sopenharmony_ci{ 301e5c31af7Sopenharmony_ci m_curCtx->disable(cap); 302e5c31af7Sopenharmony_ci} 303e5c31af7Sopenharmony_ci 304e5c31af7Sopenharmony_civoid ContextWrapper::glStencilFunc (deUint32 func, int ref, deUint32 mask) 305e5c31af7Sopenharmony_ci{ 306e5c31af7Sopenharmony_ci m_curCtx->stencilFunc(func, ref, mask); 307e5c31af7Sopenharmony_ci} 308e5c31af7Sopenharmony_ci 309e5c31af7Sopenharmony_civoid ContextWrapper::glStencilOp (deUint32 sfail, deUint32 dpfail, deUint32 dppass) 310e5c31af7Sopenharmony_ci{ 311e5c31af7Sopenharmony_ci m_curCtx->stencilOp(sfail, dpfail, dppass); 312e5c31af7Sopenharmony_ci} 313e5c31af7Sopenharmony_ci 314e5c31af7Sopenharmony_civoid ContextWrapper::glDepthFunc (deUint32 func) 315e5c31af7Sopenharmony_ci{ 316e5c31af7Sopenharmony_ci m_curCtx->depthFunc(func); 317e5c31af7Sopenharmony_ci} 318e5c31af7Sopenharmony_ci 319e5c31af7Sopenharmony_civoid ContextWrapper::glBlendEquation (deUint32 mode) 320e5c31af7Sopenharmony_ci{ 321e5c31af7Sopenharmony_ci m_curCtx->blendEquation(mode); 322e5c31af7Sopenharmony_ci} 323e5c31af7Sopenharmony_ci 324e5c31af7Sopenharmony_civoid ContextWrapper::glBlendEquationSeparate (deUint32 modeRGB, deUint32 modeAlpha) 325e5c31af7Sopenharmony_ci{ 326e5c31af7Sopenharmony_ci m_curCtx->blendEquationSeparate(modeRGB, modeAlpha); 327e5c31af7Sopenharmony_ci} 328e5c31af7Sopenharmony_ci 329e5c31af7Sopenharmony_civoid ContextWrapper::glBlendFunc (deUint32 src, deUint32 dst) 330e5c31af7Sopenharmony_ci{ 331e5c31af7Sopenharmony_ci m_curCtx->blendFunc(src, dst); 332e5c31af7Sopenharmony_ci} 333e5c31af7Sopenharmony_ci 334e5c31af7Sopenharmony_civoid ContextWrapper::glBlendFuncSeparate (deUint32 srcRGB, deUint32 dstRGB, deUint32 srcAlpha, deUint32 dstAlpha) 335e5c31af7Sopenharmony_ci{ 336e5c31af7Sopenharmony_ci m_curCtx->blendFuncSeparate(srcRGB, dstRGB, srcAlpha, dstAlpha); 337e5c31af7Sopenharmony_ci} 338e5c31af7Sopenharmony_ci 339e5c31af7Sopenharmony_civoid ContextWrapper::glBlendColor (float red, float green, float blue, float alpha) 340e5c31af7Sopenharmony_ci{ 341e5c31af7Sopenharmony_ci m_curCtx->blendColor(red, green, blue, alpha); 342e5c31af7Sopenharmony_ci} 343e5c31af7Sopenharmony_ci 344e5c31af7Sopenharmony_civoid ContextWrapper::glColorMask (deBool r, deBool g, deBool b, deBool a) 345e5c31af7Sopenharmony_ci{ 346e5c31af7Sopenharmony_ci m_curCtx->colorMask(r, g, b, a); 347e5c31af7Sopenharmony_ci} 348e5c31af7Sopenharmony_ci 349e5c31af7Sopenharmony_civoid ContextWrapper::glDepthMask (deBool mask) 350e5c31af7Sopenharmony_ci{ 351e5c31af7Sopenharmony_ci m_curCtx->depthMask(mask); 352e5c31af7Sopenharmony_ci} 353e5c31af7Sopenharmony_ci 354e5c31af7Sopenharmony_civoid ContextWrapper::glStencilMask (deUint32 mask) 355e5c31af7Sopenharmony_ci{ 356e5c31af7Sopenharmony_ci m_curCtx->stencilMask(mask); 357e5c31af7Sopenharmony_ci} 358e5c31af7Sopenharmony_ci 359e5c31af7Sopenharmony_civoid ContextWrapper::glBlitFramebuffer (int srcX0, int srcY0, int srcX1, int srcY1, int dstX0, int dstY0, int dstX1, int dstY1, deUint32 mask, deUint32 filter) 360e5c31af7Sopenharmony_ci{ 361e5c31af7Sopenharmony_ci m_curCtx->blitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); 362e5c31af7Sopenharmony_ci} 363e5c31af7Sopenharmony_ci 364e5c31af7Sopenharmony_civoid ContextWrapper::glInvalidateSubFramebuffer (deUint32 target, int numAttachments, const deUint32* attachments, int x, int y, int width, int height) 365e5c31af7Sopenharmony_ci{ 366e5c31af7Sopenharmony_ci m_curCtx->invalidateSubFramebuffer(target, numAttachments, attachments, x, y, width, height); 367e5c31af7Sopenharmony_ci} 368e5c31af7Sopenharmony_ci 369e5c31af7Sopenharmony_civoid ContextWrapper::glInvalidateFramebuffer (deUint32 target, int numAttachments, const deUint32* attachments) 370e5c31af7Sopenharmony_ci{ 371e5c31af7Sopenharmony_ci m_curCtx->invalidateFramebuffer(target, numAttachments, attachments); 372e5c31af7Sopenharmony_ci} 373e5c31af7Sopenharmony_ci 374e5c31af7Sopenharmony_civoid ContextWrapper::glReadPixels (int x, int y, int width, int height, deUint32 format, deUint32 type, void* data) 375e5c31af7Sopenharmony_ci{ 376e5c31af7Sopenharmony_ci m_curCtx->readPixels(x, y, width, height, format, type, data); 377e5c31af7Sopenharmony_ci} 378e5c31af7Sopenharmony_ci 379e5c31af7Sopenharmony_cideUint32 ContextWrapper::glGetError (void) 380e5c31af7Sopenharmony_ci{ 381e5c31af7Sopenharmony_ci return m_curCtx->getError(); 382e5c31af7Sopenharmony_ci} 383e5c31af7Sopenharmony_ci 384e5c31af7Sopenharmony_civoid ContextWrapper::glGetIntegerv (deUint32 pname, int* params) 385e5c31af7Sopenharmony_ci{ 386e5c31af7Sopenharmony_ci m_curCtx->getIntegerv(pname, params); 387e5c31af7Sopenharmony_ci} 388e5c31af7Sopenharmony_ci 389e5c31af7Sopenharmony_ci} // sglr 390