blob: d1c3290517d296c51e356e8b4e570c067bb7758d [file] [log] [blame]
/* Copyright (C) 2020 Apple Inc. All rights reserved.
*
* 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. AND ITS CONTRIBUTORS ``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 ITS 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.
*/
// This file is generated by generate-gpup-webgl. Do not edit.
// This file should be included in the private section of the
// RemoteGraphicsContextGL implementations.
#pragma once
void moveErrorsToSyntheticErrorList(CompletionHandler<void(bool)>&& completionHandler)
{
bool returnValue = { };
assertIsCurrent(m_streamThread);
returnValue = m_context->moveErrorsToSyntheticErrorList();
completionHandler(returnValue);
}
void activeTexture(uint32_t texture)
{
assertIsCurrent(m_streamThread);
m_context->activeTexture(texture);
}
void attachShader(uint32_t program, uint32_t shader)
{
assertIsCurrent(m_streamThread);
m_context->attachShader(program, shader);
}
void bindAttribLocation(uint32_t arg0, uint32_t index, String&& name)
{
assertIsCurrent(m_streamThread);
m_context->bindAttribLocation(arg0, index, name);
}
void bindBuffer(uint32_t target, uint32_t arg1)
{
assertIsCurrent(m_streamThread);
m_context->bindBuffer(target, arg1);
}
void bindFramebuffer(uint32_t target, uint32_t arg1)
{
assertIsCurrent(m_streamThread);
m_context->bindFramebuffer(target, arg1);
}
void bindRenderbuffer(uint32_t target, uint32_t arg1)
{
assertIsCurrent(m_streamThread);
m_context->bindRenderbuffer(target, arg1);
}
void bindTexture(uint32_t target, uint32_t arg1)
{
assertIsCurrent(m_streamThread);
m_context->bindTexture(target, arg1);
}
void blendColor(float red, float green, float blue, float alpha)
{
assertIsCurrent(m_streamThread);
m_context->blendColor(red, green, blue, alpha);
}
void blendEquation(uint32_t mode)
{
assertIsCurrent(m_streamThread);
m_context->blendEquation(mode);
}
void blendEquationSeparate(uint32_t modeRGB, uint32_t modeAlpha)
{
assertIsCurrent(m_streamThread);
m_context->blendEquationSeparate(modeRGB, modeAlpha);
}
void blendFunc(uint32_t sfactor, uint32_t dfactor)
{
assertIsCurrent(m_streamThread);
m_context->blendFunc(sfactor, dfactor);
}
void blendFuncSeparate(uint32_t srcRGB, uint32_t dstRGB, uint32_t srcAlpha, uint32_t dstAlpha)
{
assertIsCurrent(m_streamThread);
m_context->blendFuncSeparate(srcRGB, dstRGB, srcAlpha, dstAlpha);
}
void checkFramebufferStatus(uint32_t target, CompletionHandler<void(uint32_t)>&& completionHandler)
{
GCGLenum returnValue = { };
assertIsCurrent(m_streamThread);
returnValue = m_context->checkFramebufferStatus(target);
completionHandler(returnValue);
}
void clear(uint32_t mask)
{
assertIsCurrent(m_streamThread);
m_context->clear(mask);
}
void clearColor(float red, float green, float blue, float alpha)
{
assertIsCurrent(m_streamThread);
m_context->clearColor(red, green, blue, alpha);
}
void clearDepth(float depth)
{
assertIsCurrent(m_streamThread);
m_context->clearDepth(depth);
}
void clearStencil(int32_t s)
{
assertIsCurrent(m_streamThread);
m_context->clearStencil(s);
}
void colorMask(bool red, bool green, bool blue, bool alpha)
{
assertIsCurrent(m_streamThread);
m_context->colorMask(static_cast<GCGLboolean>(red), static_cast<GCGLboolean>(green), static_cast<GCGLboolean>(blue), static_cast<GCGLboolean>(alpha));
}
void compileShader(uint32_t arg0)
{
assertIsCurrent(m_streamThread);
m_context->compileShader(arg0);
}
void copyTexImage2D(uint32_t target, int32_t level, uint32_t internalformat, int32_t x, int32_t y, int32_t width, int32_t height, int32_t border)
{
assertIsCurrent(m_streamThread);
m_context->copyTexImage2D(target, level, internalformat, x, y, width, height, border);
}
void copyTexSubImage2D(uint32_t target, int32_t level, int32_t xoffset, int32_t yoffset, int32_t x, int32_t y, int32_t width, int32_t height)
{
assertIsCurrent(m_streamThread);
m_context->copyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height);
}
void createBuffer(CompletionHandler<void(uint32_t)>&& completionHandler)
{
PlatformGLObject returnValue = { };
assertIsCurrent(m_streamThread);
returnValue = m_context->createBuffer();
completionHandler(returnValue);
}
void createFramebuffer(CompletionHandler<void(uint32_t)>&& completionHandler)
{
PlatformGLObject returnValue = { };
assertIsCurrent(m_streamThread);
returnValue = m_context->createFramebuffer();
completionHandler(returnValue);
}
void createProgram(CompletionHandler<void(uint32_t)>&& completionHandler)
{
PlatformGLObject returnValue = { };
assertIsCurrent(m_streamThread);
returnValue = m_context->createProgram();
completionHandler(returnValue);
}
void createRenderbuffer(CompletionHandler<void(uint32_t)>&& completionHandler)
{
PlatformGLObject returnValue = { };
assertIsCurrent(m_streamThread);
returnValue = m_context->createRenderbuffer();
completionHandler(returnValue);
}
void createShader(uint32_t arg0, CompletionHandler<void(uint32_t)>&& completionHandler)
{
PlatformGLObject returnValue = { };
assertIsCurrent(m_streamThread);
returnValue = m_context->createShader(arg0);
completionHandler(returnValue);
}
void createTexture(CompletionHandler<void(uint32_t)>&& completionHandler)
{
PlatformGLObject returnValue = { };
assertIsCurrent(m_streamThread);
returnValue = m_context->createTexture();
completionHandler(returnValue);
}
void cullFace(uint32_t mode)
{
assertIsCurrent(m_streamThread);
m_context->cullFace(mode);
}
void deleteBuffer(uint32_t arg0)
{
assertIsCurrent(m_streamThread);
m_context->deleteBuffer(arg0);
}
void deleteFramebuffer(uint32_t arg0)
{
assertIsCurrent(m_streamThread);
m_context->deleteFramebuffer(arg0);
}
void deleteProgram(uint32_t arg0)
{
assertIsCurrent(m_streamThread);
m_context->deleteProgram(arg0);
}
void deleteRenderbuffer(uint32_t arg0)
{
assertIsCurrent(m_streamThread);
m_context->deleteRenderbuffer(arg0);
}
void deleteShader(uint32_t arg0)
{
assertIsCurrent(m_streamThread);
m_context->deleteShader(arg0);
}
void deleteTexture(uint32_t arg0)
{
assertIsCurrent(m_streamThread);
m_context->deleteTexture(arg0);
}
void depthFunc(uint32_t func)
{
assertIsCurrent(m_streamThread);
m_context->depthFunc(func);
}
void depthMask(bool flag)
{
assertIsCurrent(m_streamThread);
m_context->depthMask(static_cast<GCGLboolean>(flag));
}
void depthRange(float zNear, float zFar)
{
assertIsCurrent(m_streamThread);
m_context->depthRange(zNear, zFar);
}
void detachShader(uint32_t arg0, uint32_t arg1)
{
assertIsCurrent(m_streamThread);
m_context->detachShader(arg0, arg1);
}
void disable(uint32_t cap)
{
assertIsCurrent(m_streamThread);
m_context->disable(cap);
}
void disableVertexAttribArray(uint32_t index)
{
assertIsCurrent(m_streamThread);
m_context->disableVertexAttribArray(index);
}
void drawArrays(uint32_t mode, int32_t first, int32_t count)
{
assertIsCurrent(m_streamThread);
m_context->drawArrays(mode, first, count);
}
void drawElements(uint32_t mode, int32_t count, uint32_t type, uint64_t offset)
{
assertIsCurrent(m_streamThread);
m_context->drawElements(mode, count, type, static_cast<GCGLintptr>(offset));
}
void enable(uint32_t cap)
{
assertIsCurrent(m_streamThread);
m_context->enable(cap);
}
void enableVertexAttribArray(uint32_t index)
{
assertIsCurrent(m_streamThread);
m_context->enableVertexAttribArray(index);
}
void finish()
{
assertIsCurrent(m_streamThread);
m_context->finish();
}
void flush()
{
assertIsCurrent(m_streamThread);
m_context->flush();
}
void framebufferRenderbuffer(uint32_t target, uint32_t attachment, uint32_t renderbuffertarget, uint32_t arg3)
{
assertIsCurrent(m_streamThread);
m_context->framebufferRenderbuffer(target, attachment, renderbuffertarget, arg3);
}
void framebufferTexture2D(uint32_t target, uint32_t attachment, uint32_t textarget, uint32_t arg3, int32_t level)
{
assertIsCurrent(m_streamThread);
m_context->framebufferTexture2D(target, attachment, textarget, arg3, level);
}
void frontFace(uint32_t mode)
{
assertIsCurrent(m_streamThread);
m_context->frontFace(mode);
}
void generateMipmap(uint32_t target)
{
assertIsCurrent(m_streamThread);
m_context->generateMipmap(target);
}
void getActiveAttrib(uint32_t program, uint32_t index, CompletionHandler<void(bool, WebCore::GraphicsContextGL::ActiveInfo&&)>&& completionHandler)
{
bool returnValue = { };
WebCore::GraphicsContextGL::ActiveInfo arg2 { };
assertIsCurrent(m_streamThread);
returnValue = m_context->getActiveAttrib(program, index, arg2);
completionHandler(returnValue, WTFMove(arg2));
}
void getActiveUniform(uint32_t program, uint32_t index, CompletionHandler<void(bool, WebCore::GraphicsContextGL::ActiveInfo&&)>&& completionHandler)
{
bool returnValue = { };
WebCore::GraphicsContextGL::ActiveInfo arg2 { };
assertIsCurrent(m_streamThread);
returnValue = m_context->getActiveUniform(program, index, arg2);
completionHandler(returnValue, WTFMove(arg2));
}
void getAttribLocation(uint32_t arg0, String&& name, CompletionHandler<void(int32_t)>&& completionHandler)
{
GCGLint returnValue = { };
assertIsCurrent(m_streamThread);
returnValue = m_context->getAttribLocation(arg0, name);
completionHandler(returnValue);
}
void getBufferParameteri(uint32_t target, uint32_t pname, CompletionHandler<void(int32_t)>&& completionHandler)
{
GCGLint returnValue = { };
assertIsCurrent(m_streamThread);
returnValue = m_context->getBufferParameteri(target, pname);
completionHandler(returnValue);
}
void getString(uint32_t name, CompletionHandler<void(String&&)>&& completionHandler)
{
String returnValue = { };
assertIsCurrent(m_streamThread);
returnValue = m_context->getString(name);
completionHandler(WTFMove(returnValue));
}
void getFloatv(uint32_t pname, uint64_t valueSize, CompletionHandler<void(IPC::ArrayReference<float>)>&& completionHandler)
{
Vector<GCGLfloat, 16> value(static_cast<size_t>(valueSize), 0);
assertIsCurrent(m_streamThread);
m_context->getFloatv(pname, value);
completionHandler(IPC::ArrayReference<float>(reinterpret_cast<float*>(value.data()), value.size()));
}
void getIntegerv(uint32_t pname, uint64_t valueSize, CompletionHandler<void(IPC::ArrayReference<int32_t>)>&& completionHandler)
{
Vector<GCGLint, 4> value(static_cast<size_t>(valueSize), 0);
assertIsCurrent(m_streamThread);
m_context->getIntegerv(pname, value);
completionHandler(IPC::ArrayReference<int32_t>(reinterpret_cast<int32_t*>(value.data()), value.size()));
}
void getInteger64(uint32_t pname, CompletionHandler<void(int64_t)>&& completionHandler)
{
GCGLint64 returnValue = { };
assertIsCurrent(m_streamThread);
returnValue = m_context->getInteger64(pname);
completionHandler(static_cast<int64_t>(returnValue));
}
void getInteger64i(uint32_t pname, uint32_t index, CompletionHandler<void(int64_t)>&& completionHandler)
{
GCGLint64 returnValue = { };
assertIsCurrent(m_streamThread);
returnValue = m_context->getInteger64i(pname, index);
completionHandler(static_cast<int64_t>(returnValue));
}
void getProgrami(uint32_t program, uint32_t pname, CompletionHandler<void(int32_t)>&& completionHandler)
{
GCGLint returnValue = { };
assertIsCurrent(m_streamThread);
returnValue = m_context->getProgrami(program, pname);
completionHandler(returnValue);
}
void getBooleanv(uint32_t pname, uint64_t valueSize, CompletionHandler<void(IPC::ArrayReference<bool>)>&& completionHandler)
{
Vector<GCGLboolean, 4> value(static_cast<size_t>(valueSize), 0);
assertIsCurrent(m_streamThread);
m_context->getBooleanv(pname, value);
completionHandler(IPC::ArrayReference<bool>(reinterpret_cast<bool*>(value.data()), value.size()));
}
void getFramebufferAttachmentParameteri(uint32_t target, uint32_t attachment, uint32_t pname, CompletionHandler<void(int32_t)>&& completionHandler)
{
GCGLint returnValue = { };
assertIsCurrent(m_streamThread);
returnValue = m_context->getFramebufferAttachmentParameteri(target, attachment, pname);
completionHandler(returnValue);
}
void getProgramInfoLog(uint32_t arg0, CompletionHandler<void(String&&)>&& completionHandler)
{
String returnValue = { };
assertIsCurrent(m_streamThread);
returnValue = m_context->getProgramInfoLog(arg0);
completionHandler(WTFMove(returnValue));
}
void getRenderbufferParameteri(uint32_t target, uint32_t pname, CompletionHandler<void(int32_t)>&& completionHandler)
{
GCGLint returnValue = { };
assertIsCurrent(m_streamThread);
returnValue = m_context->getRenderbufferParameteri(target, pname);
completionHandler(returnValue);
}
void getShaderi(uint32_t arg0, uint32_t pname, CompletionHandler<void(int32_t)>&& completionHandler)
{
GCGLint returnValue = { };
assertIsCurrent(m_streamThread);
returnValue = m_context->getShaderi(arg0, pname);
completionHandler(returnValue);
}
void getShaderInfoLog(uint32_t arg0, CompletionHandler<void(String&&)>&& completionHandler)
{
String returnValue = { };
assertIsCurrent(m_streamThread);
returnValue = m_context->getShaderInfoLog(arg0);
completionHandler(WTFMove(returnValue));
}
void getShaderPrecisionFormat(uint32_t shaderType, uint32_t precisionType, CompletionHandler<void(IPC::ArrayReference<int32_t, 2>, int32_t)>&& completionHandler)
{
std::array<GCGLint, 2> range { };
GCGLint precision = { };
assertIsCurrent(m_streamThread);
m_context->getShaderPrecisionFormat(shaderType, precisionType, range, &precision);
completionHandler(IPC::ArrayReference<int32_t, 2>(reinterpret_cast<int32_t*>(range.data()), range.size()), precision);
}
void getShaderSource(uint32_t arg0, CompletionHandler<void(String&&)>&& completionHandler)
{
String returnValue = { };
assertIsCurrent(m_streamThread);
returnValue = m_context->getShaderSource(arg0);
completionHandler(WTFMove(returnValue));
}
void getTexParameterf(uint32_t target, uint32_t pname, CompletionHandler<void(float)>&& completionHandler)
{
GCGLfloat returnValue = { };
assertIsCurrent(m_streamThread);
returnValue = m_context->getTexParameterf(target, pname);
completionHandler(returnValue);
}
void getTexParameteri(uint32_t target, uint32_t pname, CompletionHandler<void(int32_t)>&& completionHandler)
{
GCGLint returnValue = { };
assertIsCurrent(m_streamThread);
returnValue = m_context->getTexParameteri(target, pname);
completionHandler(returnValue);
}
void getUniformfv(uint32_t program, int32_t location, uint64_t valueSize, CompletionHandler<void(IPC::ArrayReference<float>)>&& completionHandler)
{
Vector<GCGLfloat, 16> value(static_cast<size_t>(valueSize), 0);
assertIsCurrent(m_streamThread);
m_context->getUniformfv(program, location, value);
completionHandler(IPC::ArrayReference<float>(reinterpret_cast<float*>(value.data()), value.size()));
}
void getUniformiv(uint32_t program, int32_t location, uint64_t valueSize, CompletionHandler<void(IPC::ArrayReference<int32_t>)>&& completionHandler)
{
Vector<GCGLint, 4> value(static_cast<size_t>(valueSize), 0);
assertIsCurrent(m_streamThread);
m_context->getUniformiv(program, location, value);
completionHandler(IPC::ArrayReference<int32_t>(reinterpret_cast<int32_t*>(value.data()), value.size()));
}
void getUniformuiv(uint32_t program, int32_t location, uint64_t valueSize, CompletionHandler<void(IPC::ArrayReference<uint32_t>)>&& completionHandler)
{
Vector<GCGLuint, 4> value(static_cast<size_t>(valueSize), 0);
assertIsCurrent(m_streamThread);
m_context->getUniformuiv(program, location, value);
completionHandler(IPC::ArrayReference<uint32_t>(reinterpret_cast<uint32_t*>(value.data()), value.size()));
}
void getUniformLocation(uint32_t arg0, String&& name, CompletionHandler<void(int32_t)>&& completionHandler)
{
GCGLint returnValue = { };
assertIsCurrent(m_streamThread);
returnValue = m_context->getUniformLocation(arg0, name);
completionHandler(returnValue);
}
void getVertexAttribOffset(uint32_t index, uint32_t pname, CompletionHandler<void(uint64_t)>&& completionHandler)
{
GCGLsizeiptr returnValue = { };
assertIsCurrent(m_streamThread);
returnValue = m_context->getVertexAttribOffset(index, pname);
completionHandler(static_cast<uint64_t>(returnValue));
}
void hint(uint32_t target, uint32_t mode)
{
assertIsCurrent(m_streamThread);
m_context->hint(target, mode);
}
void isBuffer(uint32_t arg0, CompletionHandler<void(bool)>&& completionHandler)
{
GCGLboolean returnValue = { };
assertIsCurrent(m_streamThread);
returnValue = m_context->isBuffer(arg0);
completionHandler(static_cast<bool>(returnValue));
}
void isEnabled(uint32_t cap, CompletionHandler<void(bool)>&& completionHandler)
{
GCGLboolean returnValue = { };
assertIsCurrent(m_streamThread);
returnValue = m_context->isEnabled(cap);
completionHandler(static_cast<bool>(returnValue));
}
void isFramebuffer(uint32_t arg0, CompletionHandler<void(bool)>&& completionHandler)
{
GCGLboolean returnValue = { };
assertIsCurrent(m_streamThread);
returnValue = m_context->isFramebuffer(arg0);
completionHandler(static_cast<bool>(returnValue));
}
void isProgram(uint32_t arg0, CompletionHandler<void(bool)>&& completionHandler)
{
GCGLboolean returnValue = { };
assertIsCurrent(m_streamThread);
returnValue = m_context->isProgram(arg0);
completionHandler(static_cast<bool>(returnValue));
}
void isRenderbuffer(uint32_t arg0, CompletionHandler<void(bool)>&& completionHandler)
{
GCGLboolean returnValue = { };
assertIsCurrent(m_streamThread);
returnValue = m_context->isRenderbuffer(arg0);
completionHandler(static_cast<bool>(returnValue));
}
void isShader(uint32_t arg0, CompletionHandler<void(bool)>&& completionHandler)
{
GCGLboolean returnValue = { };
assertIsCurrent(m_streamThread);
returnValue = m_context->isShader(arg0);
completionHandler(static_cast<bool>(returnValue));
}
void isTexture(uint32_t arg0, CompletionHandler<void(bool)>&& completionHandler)
{
GCGLboolean returnValue = { };
assertIsCurrent(m_streamThread);
returnValue = m_context->isTexture(arg0);
completionHandler(static_cast<bool>(returnValue));
}
void lineWidth(float arg0)
{
assertIsCurrent(m_streamThread);
m_context->lineWidth(arg0);
}
void linkProgram(uint32_t arg0)
{
assertIsCurrent(m_streamThread);
m_context->linkProgram(arg0);
}
void pixelStorei(uint32_t pname, int32_t param)
{
assertIsCurrent(m_streamThread);
m_context->pixelStorei(pname, param);
}
void polygonOffset(float factor, float units)
{
assertIsCurrent(m_streamThread);
m_context->polygonOffset(factor, units);
}
void renderbufferStorage(uint32_t target, uint32_t internalformat, int32_t width, int32_t height)
{
assertIsCurrent(m_streamThread);
m_context->renderbufferStorage(target, internalformat, width, height);
}
void sampleCoverage(float value, bool invert)
{
assertIsCurrent(m_streamThread);
m_context->sampleCoverage(value, static_cast<GCGLboolean>(invert));
}
void scissor(int32_t x, int32_t y, int32_t width, int32_t height)
{
assertIsCurrent(m_streamThread);
m_context->scissor(x, y, width, height);
}
void shaderSource(uint32_t arg0, String&& arg1)
{
assertIsCurrent(m_streamThread);
m_context->shaderSource(arg0, arg1);
}
void stencilFunc(uint32_t func, int32_t ref, uint32_t mask)
{
assertIsCurrent(m_streamThread);
m_context->stencilFunc(func, ref, mask);
}
void stencilFuncSeparate(uint32_t face, uint32_t func, int32_t ref, uint32_t mask)
{
assertIsCurrent(m_streamThread);
m_context->stencilFuncSeparate(face, func, ref, mask);
}
void stencilMask(uint32_t mask)
{
assertIsCurrent(m_streamThread);
m_context->stencilMask(mask);
}
void stencilMaskSeparate(uint32_t face, uint32_t mask)
{
assertIsCurrent(m_streamThread);
m_context->stencilMaskSeparate(face, mask);
}
void stencilOp(uint32_t fail, uint32_t zfail, uint32_t zpass)
{
assertIsCurrent(m_streamThread);
m_context->stencilOp(fail, zfail, zpass);
}
void stencilOpSeparate(uint32_t face, uint32_t fail, uint32_t zfail, uint32_t zpass)
{
assertIsCurrent(m_streamThread);
m_context->stencilOpSeparate(face, fail, zfail, zpass);
}
void texParameterf(uint32_t target, uint32_t pname, float param)
{
assertIsCurrent(m_streamThread);
m_context->texParameterf(target, pname, param);
}
void texParameteri(uint32_t target, uint32_t pname, int32_t param)
{
assertIsCurrent(m_streamThread);
m_context->texParameteri(target, pname, param);
}
void uniform1f(int32_t location, float x)
{
assertIsCurrent(m_streamThread);
m_context->uniform1f(location, x);
}
void uniform1fv(int32_t location, IPC::ArrayReference<float>&& v)
{
assertIsCurrent(m_streamThread);
m_context->uniform1fv(location, makeGCGLSpan(reinterpret_cast<const GCGLfloat*>(v.data()), v.size()));
}
void uniform1i(int32_t location, int32_t x)
{
assertIsCurrent(m_streamThread);
m_context->uniform1i(location, x);
}
void uniform1iv(int32_t location, IPC::ArrayReference<int32_t>&& v)
{
assertIsCurrent(m_streamThread);
m_context->uniform1iv(location, makeGCGLSpan(reinterpret_cast<const GCGLint*>(v.data()), v.size()));
}
void uniform2f(int32_t location, float x, float y)
{
assertIsCurrent(m_streamThread);
m_context->uniform2f(location, x, y);
}
void uniform2fv(int32_t location, IPC::ArrayReference<float>&& v)
{
assertIsCurrent(m_streamThread);
m_context->uniform2fv(location, makeGCGLSpan(reinterpret_cast<const GCGLfloat*>(v.data()), v.size()));
}
void uniform2i(int32_t location, int32_t x, int32_t y)
{
assertIsCurrent(m_streamThread);
m_context->uniform2i(location, x, y);
}
void uniform2iv(int32_t location, IPC::ArrayReference<int32_t>&& v)
{
assertIsCurrent(m_streamThread);
m_context->uniform2iv(location, makeGCGLSpan(reinterpret_cast<const GCGLint*>(v.data()), v.size()));
}
void uniform3f(int32_t location, float x, float y, float z)
{
assertIsCurrent(m_streamThread);
m_context->uniform3f(location, x, y, z);
}
void uniform3fv(int32_t location, IPC::ArrayReference<float>&& v)
{
assertIsCurrent(m_streamThread);
m_context->uniform3fv(location, makeGCGLSpan(reinterpret_cast<const GCGLfloat*>(v.data()), v.size()));
}
void uniform3i(int32_t location, int32_t x, int32_t y, int32_t z)
{
assertIsCurrent(m_streamThread);
m_context->uniform3i(location, x, y, z);
}
void uniform3iv(int32_t location, IPC::ArrayReference<int32_t>&& v)
{
assertIsCurrent(m_streamThread);
m_context->uniform3iv(location, makeGCGLSpan(reinterpret_cast<const GCGLint*>(v.data()), v.size()));
}
void uniform4f(int32_t location, float x, float y, float z, float w)
{
assertIsCurrent(m_streamThread);
m_context->uniform4f(location, x, y, z, w);
}
void uniform4fv(int32_t location, IPC::ArrayReference<float>&& v)
{
assertIsCurrent(m_streamThread);
m_context->uniform4fv(location, makeGCGLSpan(reinterpret_cast<const GCGLfloat*>(v.data()), v.size()));
}
void uniform4i(int32_t location, int32_t x, int32_t y, int32_t z, int32_t w)
{
assertIsCurrent(m_streamThread);
m_context->uniform4i(location, x, y, z, w);
}
void uniform4iv(int32_t location, IPC::ArrayReference<int32_t>&& v)
{
assertIsCurrent(m_streamThread);
m_context->uniform4iv(location, makeGCGLSpan(reinterpret_cast<const GCGLint*>(v.data()), v.size()));
}
void uniformMatrix2fv(int32_t location, bool transpose, IPC::ArrayReference<float>&& value)
{
assertIsCurrent(m_streamThread);
m_context->uniformMatrix2fv(location, static_cast<GCGLboolean>(transpose), makeGCGLSpan(reinterpret_cast<const GCGLfloat*>(value.data()), value.size()));
}
void uniformMatrix3fv(int32_t location, bool transpose, IPC::ArrayReference<float>&& value)
{
assertIsCurrent(m_streamThread);
m_context->uniformMatrix3fv(location, static_cast<GCGLboolean>(transpose), makeGCGLSpan(reinterpret_cast<const GCGLfloat*>(value.data()), value.size()));
}
void uniformMatrix4fv(int32_t location, bool transpose, IPC::ArrayReference<float>&& value)
{
assertIsCurrent(m_streamThread);
m_context->uniformMatrix4fv(location, static_cast<GCGLboolean>(transpose), makeGCGLSpan(reinterpret_cast<const GCGLfloat*>(value.data()), value.size()));
}
void useProgram(uint32_t arg0)
{
assertIsCurrent(m_streamThread);
m_context->useProgram(arg0);
}
void validateProgram(uint32_t arg0)
{
assertIsCurrent(m_streamThread);
m_context->validateProgram(arg0);
}
void vertexAttrib1f(uint32_t index, float x)
{
assertIsCurrent(m_streamThread);
m_context->vertexAttrib1f(index, x);
}
void vertexAttrib1fv(uint32_t index, IPC::ArrayReference<float, 1>&& values)
{
assertIsCurrent(m_streamThread);
m_context->vertexAttrib1fv(index, makeGCGLSpan<1>(reinterpret_cast<const GCGLfloat*>(values.data())));
}
void vertexAttrib2f(uint32_t index, float x, float y)
{
assertIsCurrent(m_streamThread);
m_context->vertexAttrib2f(index, x, y);
}
void vertexAttrib2fv(uint32_t index, IPC::ArrayReference<float, 2>&& values)
{
assertIsCurrent(m_streamThread);
m_context->vertexAttrib2fv(index, makeGCGLSpan<2>(reinterpret_cast<const GCGLfloat*>(values.data())));
}
void vertexAttrib3f(uint32_t index, float x, float y, float z)
{
assertIsCurrent(m_streamThread);
m_context->vertexAttrib3f(index, x, y, z);
}
void vertexAttrib3fv(uint32_t index, IPC::ArrayReference<float, 3>&& values)
{
assertIsCurrent(m_streamThread);
m_context->vertexAttrib3fv(index, makeGCGLSpan<3>(reinterpret_cast<const GCGLfloat*>(values.data())));
}
void vertexAttrib4f(uint32_t index, float x, float y, float z, float w)
{
assertIsCurrent(m_streamThread);
m_context->vertexAttrib4f(index, x, y, z, w);
}
void vertexAttrib4fv(uint32_t index, IPC::ArrayReference<float, 4>&& values)
{
assertIsCurrent(m_streamThread);
m_context->vertexAttrib4fv(index, makeGCGLSpan<4>(reinterpret_cast<const GCGLfloat*>(values.data())));
}
void vertexAttribPointer(uint32_t index, int32_t size, uint32_t type, bool normalized, int32_t stride, uint64_t offset)
{
assertIsCurrent(m_streamThread);
m_context->vertexAttribPointer(index, size, type, static_cast<GCGLboolean>(normalized), stride, static_cast<GCGLintptr>(offset));
}
void viewport(int32_t x, int32_t y, int32_t width, int32_t height)
{
assertIsCurrent(m_streamThread);
m_context->viewport(x, y, width, height);
}
void bufferData0(uint32_t target, uint64_t arg1, uint32_t usage)
{
assertIsCurrent(m_streamThread);
m_context->bufferData(target, static_cast<GCGLsizeiptr>(arg1), usage);
}
void bufferData1(uint32_t target, IPC::ArrayReference<uint8_t>&& data, uint32_t usage)
{
assertIsCurrent(m_streamThread);
m_context->bufferData(target, makeGCGLSpan(reinterpret_cast<const GCGLvoid*>(data.data()), data.size()), usage);
}
void bufferSubData(uint32_t target, uint64_t offset, IPC::ArrayReference<uint8_t>&& data)
{
assertIsCurrent(m_streamThread);
m_context->bufferSubData(target, static_cast<GCGLintptr>(offset), makeGCGLSpan(reinterpret_cast<const GCGLvoid*>(data.data()), data.size()));
}
void readnPixels0(int32_t x, int32_t y, int32_t width, int32_t height, uint32_t format, uint32_t type, uint64_t dataSize, CompletionHandler<void(IPC::ArrayReference<uint8_t>)>&& completionHandler)
{
Vector<GCGLchar, 4> data(static_cast<size_t>(dataSize), 0);
assertIsCurrent(m_streamThread);
m_context->readnPixels(x, y, width, height, format, type, data);
completionHandler(IPC::ArrayReference<uint8_t>(reinterpret_cast<uint8_t*>(data.data()), data.size()));
}
void readnPixels1(int32_t x, int32_t y, int32_t width, int32_t height, uint32_t format, uint32_t type, uint64_t offset)
{
assertIsCurrent(m_streamThread);
m_context->readnPixels(x, y, width, height, format, type, static_cast<GCGLintptr>(offset));
}
void texImage2D0(uint32_t target, int32_t level, uint32_t internalformat, int32_t width, int32_t height, int32_t border, uint32_t format, uint32_t type, IPC::ArrayReference<uint8_t>&& pixels)
{
assertIsCurrent(m_streamThread);
m_context->texImage2D(target, level, internalformat, width, height, border, format, type, makeGCGLSpan(reinterpret_cast<const GCGLvoid*>(pixels.data()), pixels.size()));
}
void texImage2D1(uint32_t target, int32_t level, uint32_t internalformat, int32_t width, int32_t height, int32_t border, uint32_t format, uint32_t type, uint64_t offset)
{
assertIsCurrent(m_streamThread);
m_context->texImage2D(target, level, internalformat, width, height, border, format, type, static_cast<GCGLintptr>(offset));
}
void texSubImage2D0(uint32_t target, int32_t level, int32_t xoffset, int32_t yoffset, int32_t width, int32_t height, uint32_t format, uint32_t type, IPC::ArrayReference<uint8_t>&& pixels)
{
assertIsCurrent(m_streamThread);
m_context->texSubImage2D(target, level, xoffset, yoffset, width, height, format, type, makeGCGLSpan(reinterpret_cast<const GCGLvoid*>(pixels.data()), pixels.size()));
}
void texSubImage2D1(uint32_t target, int32_t level, int32_t xoffset, int32_t yoffset, int32_t width, int32_t height, uint32_t format, uint32_t type, uint64_t offset)
{
assertIsCurrent(m_streamThread);
m_context->texSubImage2D(target, level, xoffset, yoffset, width, height, format, type, static_cast<GCGLintptr>(offset));
}
void compressedTexImage2D0(uint32_t target, int32_t level, uint32_t internalformat, int32_t width, int32_t height, int32_t border, int32_t imageSize, IPC::ArrayReference<uint8_t>&& data)
{
assertIsCurrent(m_streamThread);
m_context->compressedTexImage2D(target, level, internalformat, width, height, border, imageSize, makeGCGLSpan(reinterpret_cast<const GCGLvoid*>(data.data()), data.size()));
}
void compressedTexImage2D1(uint32_t target, int32_t level, uint32_t internalformat, int32_t width, int32_t height, int32_t border, int32_t imageSize, uint64_t offset)
{
assertIsCurrent(m_streamThread);
m_context->compressedTexImage2D(target, level, internalformat, width, height, border, imageSize, static_cast<GCGLintptr>(offset));
}
void compressedTexSubImage2D0(uint32_t target, int32_t level, int32_t xoffset, int32_t yoffset, int32_t width, int32_t height, uint32_t format, int32_t imageSize, IPC::ArrayReference<uint8_t>&& data)
{
assertIsCurrent(m_streamThread);
m_context->compressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, makeGCGLSpan(reinterpret_cast<const GCGLvoid*>(data.data()), data.size()));
}
void compressedTexSubImage2D1(uint32_t target, int32_t level, int32_t xoffset, int32_t yoffset, int32_t width, int32_t height, uint32_t format, int32_t imageSize, uint64_t offset)
{
assertIsCurrent(m_streamThread);
m_context->compressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, static_cast<GCGLintptr>(offset));
}
void drawArraysInstanced(uint32_t mode, int32_t first, int32_t count, int32_t primcount)
{
assertIsCurrent(m_streamThread);
m_context->drawArraysInstanced(mode, first, count, primcount);
}
void drawElementsInstanced(uint32_t mode, int32_t count, uint32_t type, uint64_t offset, int32_t primcount)
{
assertIsCurrent(m_streamThread);
m_context->drawElementsInstanced(mode, count, type, static_cast<GCGLintptr>(offset), primcount);
}
void vertexAttribDivisor(uint32_t index, uint32_t divisor)
{
assertIsCurrent(m_streamThread);
m_context->vertexAttribDivisor(index, divisor);
}
void createVertexArray(CompletionHandler<void(uint32_t)>&& completionHandler)
{
PlatformGLObject returnValue = { };
assertIsCurrent(m_streamThread);
returnValue = m_context->createVertexArray();
completionHandler(returnValue);
}
void deleteVertexArray(uint32_t arg0)
{
assertIsCurrent(m_streamThread);
m_context->deleteVertexArray(arg0);
}
void isVertexArray(uint32_t arg0, CompletionHandler<void(bool)>&& completionHandler)
{
GCGLboolean returnValue = { };
assertIsCurrent(m_streamThread);
returnValue = m_context->isVertexArray(arg0);
completionHandler(static_cast<bool>(returnValue));
}
void bindVertexArray(uint32_t arg0)
{
assertIsCurrent(m_streamThread);
m_context->bindVertexArray(arg0);
}
void copyBufferSubData(uint32_t readTarget, uint32_t writeTarget, uint64_t readOffset, uint64_t writeOffset, uint64_t arg4)
{
assertIsCurrent(m_streamThread);
m_context->copyBufferSubData(readTarget, writeTarget, static_cast<GCGLintptr>(readOffset), static_cast<GCGLintptr>(writeOffset), static_cast<GCGLsizeiptr>(arg4));
}
void getBufferSubData(uint32_t target, uint64_t offset, uint64_t dataSize, CompletionHandler<void(IPC::ArrayReference<uint8_t>)>&& completionHandler)
{
Vector<GCGLchar, 4> data(static_cast<size_t>(dataSize), 0);
assertIsCurrent(m_streamThread);
m_context->getBufferSubData(target, static_cast<GCGLintptr>(offset), data);
completionHandler(IPC::ArrayReference<uint8_t>(reinterpret_cast<uint8_t*>(data.data()), data.size()));
}
void blitFramebuffer(int32_t srcX0, int32_t srcY0, int32_t srcX1, int32_t srcY1, int32_t dstX0, int32_t dstY0, int32_t dstX1, int32_t dstY1, uint32_t mask, uint32_t filter)
{
assertIsCurrent(m_streamThread);
m_context->blitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter);
}
void framebufferTextureLayer(uint32_t target, uint32_t attachment, uint32_t texture, int32_t level, int32_t layer)
{
assertIsCurrent(m_streamThread);
m_context->framebufferTextureLayer(target, attachment, texture, level, layer);
}
void invalidateFramebuffer(uint32_t target, IPC::ArrayReference<uint32_t>&& attachments)
{
assertIsCurrent(m_streamThread);
m_context->invalidateFramebuffer(target, makeGCGLSpan(reinterpret_cast<const GCGLenum*>(attachments.data()), attachments.size()));
}
void invalidateSubFramebuffer(uint32_t target, IPC::ArrayReference<uint32_t>&& attachments, int32_t x, int32_t y, int32_t width, int32_t height)
{
assertIsCurrent(m_streamThread);
m_context->invalidateSubFramebuffer(target, makeGCGLSpan(reinterpret_cast<const GCGLenum*>(attachments.data()), attachments.size()), x, y, width, height);
}
void readBuffer(uint32_t src)
{
assertIsCurrent(m_streamThread);
m_context->readBuffer(src);
}
void renderbufferStorageMultisample(uint32_t target, int32_t samples, uint32_t internalformat, int32_t width, int32_t height)
{
assertIsCurrent(m_streamThread);
m_context->renderbufferStorageMultisample(target, samples, internalformat, width, height);
}
void texStorage2D(uint32_t target, int32_t levels, uint32_t internalformat, int32_t width, int32_t height)
{
assertIsCurrent(m_streamThread);
m_context->texStorage2D(target, levels, internalformat, width, height);
}
void texStorage3D(uint32_t target, int32_t levels, uint32_t internalformat, int32_t width, int32_t height, int32_t depth)
{
assertIsCurrent(m_streamThread);
m_context->texStorage3D(target, levels, internalformat, width, height, depth);
}
void texImage3D0(uint32_t target, int32_t level, int32_t internalformat, int32_t width, int32_t height, int32_t depth, int32_t border, uint32_t format, uint32_t type, IPC::ArrayReference<uint8_t>&& pixels)
{
assertIsCurrent(m_streamThread);
m_context->texImage3D(target, level, internalformat, width, height, depth, border, format, type, makeGCGLSpan(reinterpret_cast<const GCGLvoid*>(pixels.data()), pixels.size()));
}
void texImage3D1(uint32_t target, int32_t level, int32_t internalformat, int32_t width, int32_t height, int32_t depth, int32_t border, uint32_t format, uint32_t type, uint64_t offset)
{
assertIsCurrent(m_streamThread);
m_context->texImage3D(target, level, internalformat, width, height, depth, border, format, type, static_cast<GCGLintptr>(offset));
}
void texSubImage3D0(uint32_t target, int32_t level, int32_t xoffset, int32_t yoffset, int32_t zoffset, int32_t width, int32_t height, int32_t depth, uint32_t format, uint32_t type, IPC::ArrayReference<uint8_t>&& pixels)
{
assertIsCurrent(m_streamThread);
m_context->texSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, makeGCGLSpan(reinterpret_cast<const GCGLvoid*>(pixels.data()), pixels.size()));
}
void texSubImage3D1(uint32_t target, int32_t level, int32_t xoffset, int32_t yoffset, int32_t zoffset, int32_t width, int32_t height, int32_t depth, uint32_t format, uint32_t type, uint64_t offset)
{
assertIsCurrent(m_streamThread);
m_context->texSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, static_cast<GCGLintptr>(offset));
}
void copyTexSubImage3D(uint32_t target, int32_t level, int32_t xoffset, int32_t yoffset, int32_t zoffset, int32_t x, int32_t y, int32_t width, int32_t height)
{
assertIsCurrent(m_streamThread);
m_context->copyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height);
}
void compressedTexImage3D0(uint32_t target, int32_t level, uint32_t internalformat, int32_t width, int32_t height, int32_t depth, int32_t border, int32_t imageSize, IPC::ArrayReference<uint8_t>&& data)
{
assertIsCurrent(m_streamThread);
m_context->compressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, makeGCGLSpan(reinterpret_cast<const GCGLvoid*>(data.data()), data.size()));
}
void compressedTexImage3D1(uint32_t target, int32_t level, uint32_t internalformat, int32_t width, int32_t height, int32_t depth, int32_t border, int32_t imageSize, uint64_t offset)
{
assertIsCurrent(m_streamThread);
m_context->compressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, static_cast<GCGLintptr>(offset));
}
void compressedTexSubImage3D0(uint32_t target, int32_t level, int32_t xoffset, int32_t yoffset, int32_t zoffset, int32_t width, int32_t height, int32_t depth, uint32_t format, int32_t imageSize, IPC::ArrayReference<uint8_t>&& data)
{
assertIsCurrent(m_streamThread);
m_context->compressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, makeGCGLSpan(reinterpret_cast<const GCGLvoid*>(data.data()), data.size()));
}
void compressedTexSubImage3D1(uint32_t target, int32_t level, int32_t xoffset, int32_t yoffset, int32_t zoffset, int32_t width, int32_t height, int32_t depth, uint32_t format, int32_t imageSize, uint64_t offset)
{
assertIsCurrent(m_streamThread);
m_context->compressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, static_cast<GCGLintptr>(offset));
}
void getFragDataLocation(uint32_t program, String&& name, CompletionHandler<void(int32_t)>&& completionHandler)
{
GCGLint returnValue = { };
assertIsCurrent(m_streamThread);
returnValue = m_context->getFragDataLocation(program, name);
completionHandler(returnValue);
}
void uniform1ui(int32_t location, uint32_t v0)
{
assertIsCurrent(m_streamThread);
m_context->uniform1ui(location, v0);
}
void uniform2ui(int32_t location, uint32_t v0, uint32_t v1)
{
assertIsCurrent(m_streamThread);
m_context->uniform2ui(location, v0, v1);
}
void uniform3ui(int32_t location, uint32_t v0, uint32_t v1, uint32_t v2)
{
assertIsCurrent(m_streamThread);
m_context->uniform3ui(location, v0, v1, v2);
}
void uniform4ui(int32_t location, uint32_t v0, uint32_t v1, uint32_t v2, uint32_t v3)
{
assertIsCurrent(m_streamThread);
m_context->uniform4ui(location, v0, v1, v2, v3);
}
void uniform1uiv(int32_t location, IPC::ArrayReference<uint32_t>&& data)
{
assertIsCurrent(m_streamThread);
m_context->uniform1uiv(location, makeGCGLSpan(reinterpret_cast<const GCGLuint*>(data.data()), data.size()));
}
void uniform2uiv(int32_t location, IPC::ArrayReference<uint32_t>&& data)
{
assertIsCurrent(m_streamThread);
m_context->uniform2uiv(location, makeGCGLSpan(reinterpret_cast<const GCGLuint*>(data.data()), data.size()));
}
void uniform3uiv(int32_t location, IPC::ArrayReference<uint32_t>&& data)
{
assertIsCurrent(m_streamThread);
m_context->uniform3uiv(location, makeGCGLSpan(reinterpret_cast<const GCGLuint*>(data.data()), data.size()));
}
void uniform4uiv(int32_t location, IPC::ArrayReference<uint32_t>&& data)
{
assertIsCurrent(m_streamThread);
m_context->uniform4uiv(location, makeGCGLSpan(reinterpret_cast<const GCGLuint*>(data.data()), data.size()));
}
void uniformMatrix2x3fv(int32_t location, bool transpose, IPC::ArrayReference<float>&& data)
{
assertIsCurrent(m_streamThread);
m_context->uniformMatrix2x3fv(location, static_cast<GCGLboolean>(transpose), makeGCGLSpan(reinterpret_cast<const GCGLfloat*>(data.data()), data.size()));
}
void uniformMatrix3x2fv(int32_t location, bool transpose, IPC::ArrayReference<float>&& data)
{
assertIsCurrent(m_streamThread);
m_context->uniformMatrix3x2fv(location, static_cast<GCGLboolean>(transpose), makeGCGLSpan(reinterpret_cast<const GCGLfloat*>(data.data()), data.size()));
}
void uniformMatrix2x4fv(int32_t location, bool transpose, IPC::ArrayReference<float>&& data)
{
assertIsCurrent(m_streamThread);
m_context->uniformMatrix2x4fv(location, static_cast<GCGLboolean>(transpose), makeGCGLSpan(reinterpret_cast<const GCGLfloat*>(data.data()), data.size()));
}
void uniformMatrix4x2fv(int32_t location, bool transpose, IPC::ArrayReference<float>&& data)
{
assertIsCurrent(m_streamThread);
m_context->uniformMatrix4x2fv(location, static_cast<GCGLboolean>(transpose), makeGCGLSpan(reinterpret_cast<const GCGLfloat*>(data.data()), data.size()));
}
void uniformMatrix3x4fv(int32_t location, bool transpose, IPC::ArrayReference<float>&& data)
{
assertIsCurrent(m_streamThread);
m_context->uniformMatrix3x4fv(location, static_cast<GCGLboolean>(transpose), makeGCGLSpan(reinterpret_cast<const GCGLfloat*>(data.data()), data.size()));
}
void uniformMatrix4x3fv(int32_t location, bool transpose, IPC::ArrayReference<float>&& data)
{
assertIsCurrent(m_streamThread);
m_context->uniformMatrix4x3fv(location, static_cast<GCGLboolean>(transpose), makeGCGLSpan(reinterpret_cast<const GCGLfloat*>(data.data()), data.size()));
}
void vertexAttribI4i(uint32_t index, int32_t x, int32_t y, int32_t z, int32_t w)
{
assertIsCurrent(m_streamThread);
m_context->vertexAttribI4i(index, x, y, z, w);
}
void vertexAttribI4iv(uint32_t index, IPC::ArrayReference<int32_t, 4>&& values)
{
assertIsCurrent(m_streamThread);
m_context->vertexAttribI4iv(index, makeGCGLSpan<4>(reinterpret_cast<const GCGLint*>(values.data())));
}
void vertexAttribI4ui(uint32_t index, uint32_t x, uint32_t y, uint32_t z, uint32_t w)
{
assertIsCurrent(m_streamThread);
m_context->vertexAttribI4ui(index, x, y, z, w);
}
void vertexAttribI4uiv(uint32_t index, IPC::ArrayReference<uint32_t, 4>&& values)
{
assertIsCurrent(m_streamThread);
m_context->vertexAttribI4uiv(index, makeGCGLSpan<4>(reinterpret_cast<const GCGLuint*>(values.data())));
}
void vertexAttribIPointer(uint32_t index, int32_t size, uint32_t type, int32_t stride, uint64_t offset)
{
assertIsCurrent(m_streamThread);
m_context->vertexAttribIPointer(index, size, type, stride, static_cast<GCGLintptr>(offset));
}
void drawRangeElements(uint32_t mode, uint32_t start, uint32_t end, int32_t count, uint32_t type, uint64_t offset)
{
assertIsCurrent(m_streamThread);
m_context->drawRangeElements(mode, start, end, count, type, static_cast<GCGLintptr>(offset));
}
void drawBuffers(IPC::ArrayReference<uint32_t>&& bufs)
{
assertIsCurrent(m_streamThread);
m_context->drawBuffers(makeGCGLSpan(reinterpret_cast<const GCGLenum*>(bufs.data()), bufs.size()));
}
void clearBufferiv(uint32_t buffer, int32_t drawbuffer, IPC::ArrayReference<int32_t>&& values)
{
assertIsCurrent(m_streamThread);
m_context->clearBufferiv(buffer, drawbuffer, makeGCGLSpan(reinterpret_cast<const GCGLint*>(values.data()), values.size()));
}
void clearBufferuiv(uint32_t buffer, int32_t drawbuffer, IPC::ArrayReference<uint32_t>&& values)
{
assertIsCurrent(m_streamThread);
m_context->clearBufferuiv(buffer, drawbuffer, makeGCGLSpan(reinterpret_cast<const GCGLuint*>(values.data()), values.size()));
}
void clearBufferfv(uint32_t buffer, int32_t drawbuffer, IPC::ArrayReference<float>&& values)
{
assertIsCurrent(m_streamThread);
m_context->clearBufferfv(buffer, drawbuffer, makeGCGLSpan(reinterpret_cast<const GCGLfloat*>(values.data()), values.size()));
}
void clearBufferfi(uint32_t buffer, int32_t drawbuffer, float depth, int32_t stencil)
{
assertIsCurrent(m_streamThread);
m_context->clearBufferfi(buffer, drawbuffer, depth, stencil);
}
void createQuery(CompletionHandler<void(uint32_t)>&& completionHandler)
{
PlatformGLObject returnValue = { };
assertIsCurrent(m_streamThread);
returnValue = m_context->createQuery();
completionHandler(returnValue);
}
void deleteQuery(uint32_t query)
{
assertIsCurrent(m_streamThread);
m_context->deleteQuery(query);
}
void isQuery(uint32_t query, CompletionHandler<void(bool)>&& completionHandler)
{
GCGLboolean returnValue = { };
assertIsCurrent(m_streamThread);
returnValue = m_context->isQuery(query);
completionHandler(static_cast<bool>(returnValue));
}
void beginQuery(uint32_t target, uint32_t query)
{
assertIsCurrent(m_streamThread);
m_context->beginQuery(target, query);
}
void endQuery(uint32_t target)
{
assertIsCurrent(m_streamThread);
m_context->endQuery(target);
}
void getQuery(uint32_t target, uint32_t pname, CompletionHandler<void(uint32_t)>&& completionHandler)
{
PlatformGLObject returnValue = { };
assertIsCurrent(m_streamThread);
returnValue = m_context->getQuery(target, pname);
completionHandler(returnValue);
}
void getQueryObjectui(uint32_t query, uint32_t pname, CompletionHandler<void(uint32_t)>&& completionHandler)
{
GCGLuint returnValue = { };
assertIsCurrent(m_streamThread);
returnValue = m_context->getQueryObjectui(query, pname);
completionHandler(returnValue);
}
void createSampler(CompletionHandler<void(uint32_t)>&& completionHandler)
{
PlatformGLObject returnValue = { };
assertIsCurrent(m_streamThread);
returnValue = m_context->createSampler();
completionHandler(returnValue);
}
void deleteSampler(uint32_t sampler)
{
assertIsCurrent(m_streamThread);
m_context->deleteSampler(sampler);
}
void isSampler(uint32_t sampler, CompletionHandler<void(bool)>&& completionHandler)
{
GCGLboolean returnValue = { };
assertIsCurrent(m_streamThread);
returnValue = m_context->isSampler(sampler);
completionHandler(static_cast<bool>(returnValue));
}
void bindSampler(uint32_t unit, uint32_t sampler)
{
assertIsCurrent(m_streamThread);
m_context->bindSampler(unit, sampler);
}
void samplerParameteri(uint32_t sampler, uint32_t pname, int32_t param)
{
assertIsCurrent(m_streamThread);
m_context->samplerParameteri(sampler, pname, param);
}
void samplerParameterf(uint32_t sampler, uint32_t pname, float param)
{
assertIsCurrent(m_streamThread);
m_context->samplerParameterf(sampler, pname, param);
}
void getSamplerParameterf(uint32_t sampler, uint32_t pname, CompletionHandler<void(float)>&& completionHandler)
{
GCGLfloat returnValue = { };
assertIsCurrent(m_streamThread);
returnValue = m_context->getSamplerParameterf(sampler, pname);
completionHandler(returnValue);
}
void getSamplerParameteri(uint32_t sampler, uint32_t pname, CompletionHandler<void(int32_t)>&& completionHandler)
{
GCGLint returnValue = { };
assertIsCurrent(m_streamThread);
returnValue = m_context->getSamplerParameteri(sampler, pname);
completionHandler(returnValue);
}
void fenceSync(uint32_t condition, uint32_t flags, CompletionHandler<void(uint64_t)>&& completionHandler)
{
GCGLsync returnValue = { };
assertIsCurrent(m_streamThread);
returnValue = m_context->fenceSync(condition, flags);
completionHandler(static_cast<uint64_t>(reinterpret_cast<intptr_t>(returnValue)));
}
void isSync(uint64_t arg0, CompletionHandler<void(bool)>&& completionHandler)
{
GCGLboolean returnValue = { };
assertIsCurrent(m_streamThread);
returnValue = m_context->isSync(reinterpret_cast<GCGLsync>(static_cast<intptr_t>(arg0)));
completionHandler(static_cast<bool>(returnValue));
}
void deleteSync(uint64_t arg0)
{
assertIsCurrent(m_streamThread);
m_context->deleteSync(reinterpret_cast<GCGLsync>(static_cast<intptr_t>(arg0)));
}
void clientWaitSync(uint64_t arg0, uint32_t flags, uint64_t timeout, CompletionHandler<void(uint32_t)>&& completionHandler)
{
GCGLenum returnValue = { };
assertIsCurrent(m_streamThread);
returnValue = m_context->clientWaitSync(reinterpret_cast<GCGLsync>(static_cast<intptr_t>(arg0)), flags, static_cast<GCGLuint64>(timeout));
completionHandler(returnValue);
}
void waitSync(uint64_t arg0, uint32_t flags, int64_t timeout)
{
assertIsCurrent(m_streamThread);
m_context->waitSync(reinterpret_cast<GCGLsync>(static_cast<intptr_t>(arg0)), flags, static_cast<GCGLint64>(timeout));
}
void getSynci(uint64_t arg0, uint32_t pname, CompletionHandler<void(int32_t)>&& completionHandler)
{
GCGLint returnValue = { };
assertIsCurrent(m_streamThread);
returnValue = m_context->getSynci(reinterpret_cast<GCGLsync>(static_cast<intptr_t>(arg0)), pname);
completionHandler(returnValue);
}
void createTransformFeedback(CompletionHandler<void(uint32_t)>&& completionHandler)
{
PlatformGLObject returnValue = { };
assertIsCurrent(m_streamThread);
returnValue = m_context->createTransformFeedback();
completionHandler(returnValue);
}
void deleteTransformFeedback(uint32_t id)
{
assertIsCurrent(m_streamThread);
m_context->deleteTransformFeedback(id);
}
void isTransformFeedback(uint32_t id, CompletionHandler<void(bool)>&& completionHandler)
{
GCGLboolean returnValue = { };
assertIsCurrent(m_streamThread);
returnValue = m_context->isTransformFeedback(id);
completionHandler(static_cast<bool>(returnValue));
}
void bindTransformFeedback(uint32_t target, uint32_t id)
{
assertIsCurrent(m_streamThread);
m_context->bindTransformFeedback(target, id);
}
void beginTransformFeedback(uint32_t primitiveMode)
{
assertIsCurrent(m_streamThread);
m_context->beginTransformFeedback(primitiveMode);
}
void endTransformFeedback()
{
assertIsCurrent(m_streamThread);
m_context->endTransformFeedback();
}
void transformFeedbackVaryings(uint32_t program, Vector<String>&& varyings, uint32_t bufferMode)
{
assertIsCurrent(m_streamThread);
m_context->transformFeedbackVaryings(program, varyings, bufferMode);
}
void getTransformFeedbackVarying(uint32_t program, uint32_t index, CompletionHandler<void(WebCore::GraphicsContextGL::ActiveInfo&&)>&& completionHandler)
{
WebCore::GraphicsContextGL::ActiveInfo arg2 { };
assertIsCurrent(m_streamThread);
m_context->getTransformFeedbackVarying(program, index, arg2);
completionHandler(WTFMove(arg2));
}
void pauseTransformFeedback()
{
assertIsCurrent(m_streamThread);
m_context->pauseTransformFeedback();
}
void resumeTransformFeedback()
{
assertIsCurrent(m_streamThread);
m_context->resumeTransformFeedback();
}
void bindBufferBase(uint32_t target, uint32_t index, uint32_t buffer)
{
assertIsCurrent(m_streamThread);
m_context->bindBufferBase(target, index, buffer);
}
void bindBufferRange(uint32_t target, uint32_t index, uint32_t buffer, uint64_t offset, uint64_t arg4)
{
assertIsCurrent(m_streamThread);
m_context->bindBufferRange(target, index, buffer, static_cast<GCGLintptr>(offset), static_cast<GCGLsizeiptr>(arg4));
}
void getUniformIndices(uint32_t program, Vector<String>&& uniformNames, CompletionHandler<void(Vector<uint32_t>&&)>&& completionHandler)
{
Vector<GCGLuint> returnValue = { };
assertIsCurrent(m_streamThread);
returnValue = m_context->getUniformIndices(program, uniformNames);
completionHandler(WTFMove(returnValue));
}
void getActiveUniforms(uint32_t program, Vector<uint32_t>&& uniformIndices, uint32_t pname, CompletionHandler<void(Vector<int32_t>&&)>&& completionHandler)
{
Vector<GCGLint> returnValue = { };
assertIsCurrent(m_streamThread);
returnValue = m_context->getActiveUniforms(program, uniformIndices, pname);
completionHandler(WTFMove(returnValue));
}
void getUniformBlockIndex(uint32_t program, String&& uniformBlockName, CompletionHandler<void(uint32_t)>&& completionHandler)
{
GCGLuint returnValue = { };
assertIsCurrent(m_streamThread);
returnValue = m_context->getUniformBlockIndex(program, uniformBlockName);
completionHandler(returnValue);
}
void getActiveUniformBlockName(uint32_t program, uint32_t uniformBlockIndex, CompletionHandler<void(String&&)>&& completionHandler)
{
String returnValue = { };
assertIsCurrent(m_streamThread);
returnValue = m_context->getActiveUniformBlockName(program, uniformBlockIndex);
completionHandler(WTFMove(returnValue));
}
void uniformBlockBinding(uint32_t program, uint32_t uniformBlockIndex, uint32_t uniformBlockBinding)
{
assertIsCurrent(m_streamThread);
m_context->uniformBlockBinding(program, uniformBlockIndex, uniformBlockBinding);
}
void getActiveUniformBlockiv(uint32_t program, uint32_t uniformBlockIndex, uint32_t pname, uint64_t paramsSize, CompletionHandler<void(IPC::ArrayReference<int32_t>)>&& completionHandler)
{
Vector<GCGLint, 4> params(static_cast<size_t>(paramsSize), 0);
assertIsCurrent(m_streamThread);
m_context->getActiveUniformBlockiv(program, uniformBlockIndex, pname, params);
completionHandler(IPC::ArrayReference<int32_t>(reinterpret_cast<int32_t*>(params.data()), params.size()));
}
void getGraphicsResetStatusARB(CompletionHandler<void(int32_t)>&& completionHandler)
{
GCGLint returnValue = { };
assertIsCurrent(m_streamThread);
returnValue = m_context->getExtensions().getGraphicsResetStatusARB();
completionHandler(returnValue);
}
void getTranslatedShaderSourceANGLE(uint32_t arg0, CompletionHandler<void(String&&)>&& completionHandler)
{
String returnValue = { };
assertIsCurrent(m_streamThread);
returnValue = m_context->getExtensions().getTranslatedShaderSourceANGLE(arg0);
completionHandler(WTFMove(returnValue));
}
void drawBuffersEXT(IPC::ArrayReference<uint32_t>&& bufs)
{
assertIsCurrent(m_streamThread);
m_context->getExtensions().drawBuffersEXT(makeGCGLSpan(reinterpret_cast<const GCGLenum*>(bufs.data()), bufs.size()));
}
void getInternalformativ(uint32_t target, uint32_t internalformat, uint32_t pname, uint64_t paramsSize, CompletionHandler<void(IPC::ArrayReference<int32_t>)>&& completionHandler)
{
Vector<GCGLint, 4> params(static_cast<size_t>(paramsSize), 0);
assertIsCurrent(m_streamThread);
m_context->getInternalformativ(target, internalformat, pname, params);
completionHandler(IPC::ArrayReference<int32_t>(reinterpret_cast<int32_t*>(params.data()), params.size()));
}
void multiDrawArraysANGLE(uint32_t mode, IPC::ArrayReference<int32_t>&& firsts, IPC::ArrayReference<int32_t>&& counts, int32_t drawcount)
{
assertIsCurrent(m_streamThread);
m_context->multiDrawArraysANGLE(mode, makeGCGLSpan(reinterpret_cast<const GCGLint*>(firsts.data()), firsts.size()), makeGCGLSpan(reinterpret_cast<const GCGLsizei*>(counts.data()), counts.size()), drawcount);
}
void multiDrawArraysInstancedANGLE(uint32_t mode, IPC::ArrayReference<int32_t>&& firsts, IPC::ArrayReference<int32_t>&& counts, IPC::ArrayReference<int32_t>&& instanceCounts, int32_t drawcount)
{
assertIsCurrent(m_streamThread);
m_context->multiDrawArraysInstancedANGLE(mode, makeGCGLSpan(reinterpret_cast<const GCGLint*>(firsts.data()), firsts.size()), makeGCGLSpan(reinterpret_cast<const GCGLsizei*>(counts.data()), counts.size()), makeGCGLSpan(reinterpret_cast<const GCGLsizei*>(instanceCounts.data()), instanceCounts.size()), drawcount);
}
void multiDrawElementsANGLE(uint32_t mode, IPC::ArrayReference<int32_t>&& counts, uint32_t type, IPC::ArrayReference<int32_t>&& offsets, int32_t drawcount)
{
assertIsCurrent(m_streamThread);
m_context->multiDrawElementsANGLE(mode, makeGCGLSpan(reinterpret_cast<const GCGLsizei*>(counts.data()), counts.size()), type, makeGCGLSpan(reinterpret_cast<const GCGLint*>(offsets.data()), offsets.size()), drawcount);
}
void multiDrawElementsInstancedANGLE(uint32_t mode, IPC::ArrayReference<int32_t>&& counts, uint32_t type, IPC::ArrayReference<int32_t>&& offsets, IPC::ArrayReference<int32_t>&& instanceCounts, int32_t drawcount)
{
assertIsCurrent(m_streamThread);
m_context->multiDrawElementsInstancedANGLE(mode, makeGCGLSpan(reinterpret_cast<const GCGLsizei*>(counts.data()), counts.size()), type, makeGCGLSpan(reinterpret_cast<const GCGLint*>(offsets.data()), offsets.size()), makeGCGLSpan(reinterpret_cast<const GCGLsizei*>(instanceCounts.data()), instanceCounts.size()), drawcount);
}
void paintRenderingResultsToPixelBuffer(CompletionHandler<void(std::optional<WebCore::PixelBuffer>&&)>&& completionHandler)
{
std::optional<WebCore::PixelBuffer> returnValue = { };
assertIsCurrent(m_streamThread);
returnValue = m_context->paintRenderingResultsToPixelBuffer();
completionHandler(WTFMove(returnValue));
}