blob: 97fb649183b71366fdba2a991ec95da841889a83 [file] [log] [blame]
/*
* Copyright 2015, The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* THIS FILE WAS GENERATED BY apic. DO NOT EDIT.
*/
#ifndef GAPII_GLES_SPY_H
#define GAPII_GLES_SPY_H
#include "gles_imports.h"
#include "gles_types.h"
#include "spy_base.h"
#include <gapic/log.h>
#include <gapic/coder/memory.h>
#include <gapic/coder/atom.h>
#include <gapic/coder/gles.h>
#define __STDC_FORMAT_MACROS
#include <inttypes.h>
#include <memory>
#include <string>
using gapic::coder::atom::Observations;
namespace gapii {
class GlesSpy : public SpyBase {
public:
inline void init(std::shared_ptr<gapic::Encoder> encoder);
inline void glBlendBarrierKHR();
inline void glBlendEquationSeparateiEXT(uint32_t buf, uint32_t modeRGB, uint32_t modeAlpha);
inline void glBlendEquationiEXT(uint32_t buf, uint32_t mode);
inline void glBlendFuncSeparateiEXT(uint32_t buf, uint32_t srcRGB, uint32_t dstRGB,
uint32_t srcAlpha, uint32_t dstAlpha);
inline void glBlendFunciEXT(uint32_t buf, uint32_t src, uint32_t dst);
inline void glColorMaskiEXT(uint32_t index, uint8_t r, uint8_t g, uint8_t b, uint8_t a);
inline void glCopyImageSubDataEXT(uint32_t srcName, uint32_t srcTarget, int32_t srcLevel,
int32_t srcX, int32_t srcY, int32_t srcZ, uint32_t dstName,
uint32_t dstTarget, int32_t dstLevel, int32_t dstX,
int32_t dstY, int32_t dstZ, int32_t srcWidth,
int32_t srcHeight, int32_t srcDepth);
inline void glDebugMessageCallbackKHR(void* callback, void* userParam);
inline void glDebugMessageControlKHR(uint32_t source, uint32_t type, uint32_t severity,
int32_t count, uint32_t* ids, uint8_t enabled);
inline void glDebugMessageInsertKHR(uint32_t source, uint32_t type, uint32_t id,
uint32_t severity, int32_t length, char* buf);
inline void glDisableiEXT(uint32_t target, uint32_t index);
inline void glEnableiEXT(uint32_t target, uint32_t index);
inline void glFramebufferTextureEXT(uint32_t target, uint32_t attachment, uint32_t texture,
int32_t level);
inline uint32_t glGetDebugMessageLogKHR(uint32_t count, int32_t bufSize, uint32_t* sources,
uint32_t* types, uint32_t* ids, uint32_t* severities,
int32_t* lengths, char* messageLog);
inline void glGetObjectLabelKHR(uint32_t identifier, uint32_t name, int32_t bufSize,
int32_t* length, char* label);
inline void glGetObjectPtrLabelKHR(void* ptr, int32_t bufSize, int32_t* length, char* label);
inline void glGetPointervKHR(uint32_t pname, void** params);
inline void glGetSamplerParameterIivEXT(uint32_t sampler, uint32_t pname, int32_t* params);
inline void glGetSamplerParameterIuivEXT(uint32_t sampler, uint32_t pname, uint32_t* params);
inline void glGetTexParameterIivEXT(uint32_t target, uint32_t pname, int32_t* params);
inline void glGetTexParameterIuivEXT(uint32_t target, uint32_t pname, uint32_t* params);
inline uint8_t glIsEnablediEXT(uint32_t target, uint32_t index);
inline void glMinSampleShadingOES(float value);
inline void glObjectLabelKHR(uint32_t identifier, uint32_t name, int32_t length, char* label);
inline void glObjectPtrLabelKHR(void* ptr, int32_t length, char* label);
inline void glPatchParameteriEXT(uint32_t pname, int32_t value);
inline void glPopDebugGroupKHR();
inline void glPrimitiveBoundingBoxEXT(float minX, float minY, float minZ, float minW,
float maxX, float maxY, float maxZ, float maxW);
inline void glPushDebugGroupKHR(uint32_t source, uint32_t id, int32_t length, char* message);
inline void glSamplerParameterIivEXT(uint32_t sampler, uint32_t pname, int32_t* param);
inline void glSamplerParameterIuivEXT(uint32_t sampler, uint32_t pname, uint32_t* param);
inline void glTexBufferEXT(uint32_t target, uint32_t internalformat, uint32_t buffer);
inline void glTexBufferRangeEXT(uint32_t target, uint32_t internalformat, uint32_t buffer,
int32_t offset, int32_t size);
inline void glTexParameterIivEXT(uint32_t target, uint32_t pname, int32_t* params);
inline void glTexParameterIuivEXT(uint32_t target, uint32_t pname, uint32_t* params);
inline void glTexStorage3DMultisampleOES(uint32_t target, int32_t samples,
uint32_t internalformat, int32_t width, int32_t height,
int32_t depth, uint8_t fixedsamplelocations);
inline void glBeginQuery(uint32_t target, uint32_t query);
inline void glDeleteQueries(int32_t count, uint32_t* queries);
inline void glEndQuery(uint32_t target);
inline void glGenQueries(int32_t count, uint32_t* queries);
inline void glGetQueryObjectuiv(uint32_t query, uint32_t parameter, uint32_t* value);
inline void glGetQueryiv(uint32_t target, uint32_t parameter, int32_t* value);
inline uint8_t glIsQuery(uint32_t query);
inline void glBindBuffer(uint32_t target, uint32_t buffer);
inline void glBindBufferBase(uint32_t target, uint32_t index, uint32_t buffer);
inline void glBindBufferRange(uint32_t target, uint32_t index, uint32_t buffer, int32_t offset,
int32_t size);
inline void glBufferData(uint32_t target, int32_t size, void* data, uint32_t usage);
inline void glBufferSubData(uint32_t target, int32_t offset, int32_t size, void* data);
inline void glCopyBufferSubData(uint32_t readTarget, uint32_t writeTarget, int32_t readOffset,
int32_t writeOffset, int32_t size);
inline void glDeleteBuffers(int32_t count, uint32_t* buffers);
inline void glGenBuffers(int32_t count, uint32_t* buffers);
inline void glGetBufferParameteri64v(uint32_t target, uint32_t pname, int64_t* params);
inline void glGetBufferParameteriv(uint32_t target, uint32_t parameter, int32_t* value);
inline void glGetBufferPointerv(uint32_t target, uint32_t pname, void** params);
inline uint8_t glIsBuffer(uint32_t buffer);
inline void* glMapBufferRange(uint32_t target, int32_t offset, int32_t length, uint32_t access);
inline uint8_t glUnmapBuffer(uint32_t target);
inline void glDrawArrays(uint32_t draw_mode, int32_t first_index, int32_t index_count);
inline void glDrawArraysIndirect(uint32_t mode, void* indirect);
inline void glDrawArraysInstanced(uint32_t mode, int32_t first, int32_t count,
int32_t instancecount);
inline void glDrawBuffers(int32_t n, uint32_t* bufs);
inline void glDrawElements(uint32_t draw_mode, int32_t element_count, uint32_t indices_type,
void* indices);
inline void glDrawElementsIndirect(uint32_t mode, uint32_t type, void* indirect);
inline void glDrawElementsInstanced(uint32_t mode, int32_t count, uint32_t type, void* indices,
int32_t instancecount);
inline void glDrawRangeElements(uint32_t mode, uint32_t start, uint32_t end, int32_t count,
uint32_t type, void* indices);
inline void glActiveShaderProgramEXT(uint32_t pipeline, uint32_t program);
inline void glAlphaFuncQCOM(uint32_t func, float ref);
inline void glBeginConditionalRenderNV(uint32_t id, uint32_t mode);
inline void glBeginPerfMonitorAMD(uint32_t monitor);
inline void glBeginPerfQueryINTEL(uint32_t queryHandle);
inline void glBeginQueryEXT(uint32_t target, uint32_t query);
inline void glBindProgramPipelineEXT(uint32_t pipeline);
inline void glBindVertexArrayOES(uint32_t array);
inline void glBlendBarrierNV();
inline void glBlendEquationSeparateiOES(uint32_t buf, uint32_t modeRGB, uint32_t modeAlpha);
inline void glBlendEquationiOES(uint32_t buf, uint32_t mode);
inline void glBlendFuncSeparateiOES(uint32_t buf, uint32_t srcRGB, uint32_t dstRGB,
uint32_t srcAlpha, uint32_t dstAlpha);
inline void glBlendFunciOES(uint32_t buf, uint32_t src, uint32_t dst);
inline void glBlendParameteriNV(uint32_t pname, int32_t value);
inline void glBlitFramebufferANGLE(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);
inline void glBlitFramebufferNV(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);
inline void glBufferStorageEXT(uint32_t target, int32_t size, void* data, uint32_t flag);
inline uint32_t glClientWaitSyncAPPLE(uint64_t sync, uint32_t flag, uint64_t timeout);
inline void glColorMaskiOES(uint32_t index, uint8_t r, uint8_t g, uint8_t b, uint8_t a);
inline void glCompressedTexImage3DOES(uint32_t target, int32_t level, uint32_t internalformat,
int32_t width, int32_t height, int32_t depth,
int32_t border, int32_t imageSize, void* data);
inline void glCompressedTexSubImage3DOES(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, void* data);
inline void glCopyBufferSubDataNV(uint32_t readTarget, uint32_t writeTarget, int32_t readOffset,
int32_t writeOffset, int32_t size);
inline void glCopyImageSubDataOES(uint32_t srcName, uint32_t srcTarget, int32_t srcLevel,
int32_t srcX, int32_t srcY, int32_t srcZ, uint32_t dstName,
uint32_t dstTarget, int32_t dstLevel, int32_t dstX,
int32_t dstY, int32_t dstZ, int32_t srcWidth,
int32_t srcHeight, int32_t srcDepth);
inline void glCopyPathNV(uint32_t resultPath, uint32_t srcPath);
inline void glCopyTexSubImage3DOES(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);
inline void glCopyTextureLevelsAPPLE(uint32_t destinationTexture, uint32_t sourceTexture,
int32_t sourceBaseLevel, int32_t sourceLevelCount);
inline void glCoverFillPathInstancedNV(int32_t numPaths, uint32_t pathNameType, void* paths,
uint32_t pathBase, uint32_t coverMode,
uint32_t transformType, float* transformValues);
inline void glCoverFillPathNV(uint32_t path, uint32_t coverMode);
inline void glCoverStrokePathInstancedNV(int32_t numPaths, uint32_t pathNameType, void* paths,
uint32_t pathBase, uint32_t coverMode,
uint32_t transformType, float* transformValues);
inline void glCoverStrokePathNV(uint32_t path, uint32_t coverMode);
inline void glCoverageMaskNV(uint8_t mask);
inline void glCoverageOperationNV(uint32_t operation);
inline void glCreatePerfQueryINTEL(uint32_t queryId, uint32_t* queryHandle);
inline uint32_t glCreateShaderProgramvEXT(uint32_t type, int32_t count, char** strings);
inline void glDeleteFencesNV(int32_t n, uint32_t* fences);
inline void glDeletePathsNV(uint32_t path, int32_t range);
inline void glDeletePerfMonitorsAMD(int32_t n, uint32_t* monitors);
inline void glDeletePerfQueryINTEL(uint32_t queryHandle);
inline void glDeleteProgramPipelinesEXT(int32_t n, uint32_t* pipelines);
inline void glDeleteQueriesEXT(int32_t count, uint32_t* queries);
inline void glDeleteSyncAPPLE(uint64_t sync);
inline void glDeleteVertexArraysOES(int32_t count, uint32_t* arrays);
inline void glDepthRangeArrayfvNV(uint32_t first, int32_t count, float* v);
inline void glDepthRangeIndexedfNV(uint32_t index, float n, float f);
inline void glDisableDriverControlQCOM(uint32_t driverControl);
inline void glDisableiNV(uint32_t target, uint32_t index);
inline void glDisableiOES(uint32_t target, uint32_t index);
inline void glDiscardFramebufferEXT(uint32_t target, int32_t numAttachments,
uint32_t* attachments);
inline void glDrawArraysInstancedANGLE(uint32_t mode, int32_t first, int32_t count,
int32_t primcount);
inline void glDrawArraysInstancedBaseInstanceEXT(uint32_t mode, int32_t first, int32_t count,
int32_t instancecount, uint32_t baseinstance);
inline void glDrawArraysInstancedEXT(uint32_t mode, int32_t start, int32_t count,
int32_t primcount);
inline void glDrawArraysInstancedNV(uint32_t mode, int32_t first, int32_t count,
int32_t primcount);
inline void glDrawBuffersEXT(int32_t n, uint32_t* bufs);
inline void glDrawBuffersIndexedEXT(int32_t n, uint32_t* location, int32_t* indices);
inline void glDrawBuffersNV(int32_t n, uint32_t* bufs);
inline void glDrawElementsBaseVertexEXT(uint32_t mode, int32_t count, uint32_t type,
void* indices, int32_t basevertex);
inline void glDrawElementsBaseVertexOES(uint32_t mode, int32_t count, uint32_t type,
void* indices, int32_t basevertex);
inline void glDrawElementsInstancedANGLE(uint32_t mode, int32_t count, uint32_t type,
void* indices, int32_t primcount);
inline void glDrawElementsInstancedBaseInstanceEXT(uint32_t mode, int32_t count, uint32_t type,
void* indices, int32_t instancecount,
uint32_t baseinstance);
inline void glDrawElementsInstancedBaseVertexEXT(uint32_t mode, int32_t count, uint32_t type,
void* indices, int32_t instancecount,
int32_t basevertex);
inline void glDrawElementsInstancedBaseVertexOES(uint32_t mode, int32_t count, uint32_t type,
void* indices, int32_t instancecount,
int32_t basevertex);
inline void glDrawElementsInstancedBaseVertexBaseInstanceEXT(uint32_t mode, int32_t count,
uint32_t type, void* indices,
int32_t instancecount,
int32_t basevertex,
uint32_t baseinstance);
inline void glDrawElementsInstancedEXT(uint32_t mode, int32_t count, uint32_t type,
void* indices, int32_t primcount);
inline void glDrawElementsInstancedNV(uint32_t mode, int32_t count, uint32_t type,
void* indices, int32_t primcount);
inline void glDrawRangeElementsBaseVertexEXT(uint32_t mode, uint32_t start, uint32_t end,
int32_t count, uint32_t type, void* indices,
int32_t basevertex);
inline void glDrawRangeElementsBaseVertexOES(uint32_t mode, uint32_t start, uint32_t end,
int32_t count, uint32_t type, void* indices,
int32_t basevertex);
inline void glEGLImageTargetRenderbufferStorageOES(uint32_t target, void* image);
inline void glEGLImageTargetTexture2DOES(uint32_t target, void* image);
inline void glEnableDriverControlQCOM(uint32_t driverControl);
inline void glEnableiNV(uint32_t target, uint32_t index);
inline void glEnableiOES(uint32_t target, uint32_t index);
inline void glEndConditionalRenderNV();
inline void glEndPerfMonitorAMD(uint32_t monitor);
inline void glEndPerfQueryINTEL(uint32_t queryHandle);
inline void glEndQueryEXT(uint32_t target);
inline void glEndTilingQCOM(uint32_t preserve_mask);
inline void glExtGetBufferPointervQCOM(uint32_t target, void** params);
inline void glExtGetBuffersQCOM(uint32_t* buffers, int32_t maxBuffers, int32_t* numBuffers);
inline void glExtGetFramebuffersQCOM(uint32_t* framebuffers, int32_t maxFramebuffers,
int32_t* numFramebuffers);
inline void glExtGetProgramBinarySourceQCOM(uint32_t program, uint32_t shadertype, char* source,
int32_t* length);
inline void glExtGetProgramsQCOM(uint32_t* programs, int32_t maxPrograms, int32_t* numPrograms);
inline void glExtGetRenderbuffersQCOM(uint32_t* renderbuffers, int32_t maxRenderbuffers,
int32_t* numRenderbuffers);
inline void glExtGetShadersQCOM(uint32_t* shaders, int32_t maxShaders, int32_t* numShaders);
inline void glExtGetTexLevelParameterivQCOM(uint32_t texture, uint32_t face, int32_t level,
uint32_t pname, int32_t* params);
inline void glExtGetTexSubImageQCOM(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, void* texels);
inline void glExtGetTexturesQCOM(uint32_t* textures, int32_t maxTextures, int32_t* numTextures);
inline uint8_t glExtIsProgramBinaryQCOM(uint32_t program);
inline void glExtTexObjectStateOverrideiQCOM(uint32_t target, uint32_t pname, int32_t param);
inline uint64_t glFenceSyncAPPLE(uint32_t condition, uint32_t flag);
inline void glFinishFenceNV(uint32_t fence);
inline void glFlushMappedBufferRangeEXT(uint32_t target, int32_t offset, int32_t length);
inline void glFramebufferTexture2DMultisampleEXT(uint32_t target, uint32_t attachment,
uint32_t textarget, uint32_t texture,
int32_t level, int32_t samples);
inline void glFramebufferTexture2DMultisampleIMG(uint32_t target, uint32_t attachment,
uint32_t textarget, uint32_t texture,
int32_t level, int32_t samples);
inline void glFramebufferTexture3DOES(uint32_t target, uint32_t attachment, uint32_t textarget,
uint32_t texture, int32_t level, int32_t zoffset);
inline void glFramebufferTextureOES(uint32_t target, uint32_t attachment, uint32_t texture,
int32_t level);
inline void glFramebufferTextureMultiviewOVR(uint32_t target, uint32_t attachment,
uint32_t texture, int32_t level,
int32_t baseViewIndex, int32_t numViews);
inline void glGenFencesNV(int32_t n, uint32_t* fences);
inline uint32_t glGenPathsNV(int32_t range);
inline void glGenPerfMonitorsAMD(int32_t n, uint32_t* monitors);
inline void glGenProgramPipelinesEXT(int32_t n, uint32_t* pipelines);
inline void glGenQueriesEXT(int32_t count, uint32_t* queries);
inline void glGenVertexArraysOES(int32_t count, uint32_t* arrays);
inline void glGetBufferPointervOES(uint32_t target, uint32_t pname, void** params);
inline void glGetDriverControlStringQCOM(uint32_t driverControl, int32_t bufSize,
int32_t* length, char* driverControlString);
inline void glGetDriverControlsQCOM(int32_t* num, int32_t size, uint32_t* driverControls);
inline void glGetFenceivNV(uint32_t fence, uint32_t pname, int32_t* params);
inline void glGetFirstPerfQueryIdINTEL(uint32_t* queryId);
inline void glGetFloati_vNV(uint32_t target, uint32_t index, float* data);
inline uint32_t glGetGraphicsResetStatusEXT();
inline uint32_t glGetGraphicsResetStatusKHR();
inline uint64_t glGetImageHandleNV(uint32_t texture, int32_t level, uint8_t layered,
int32_t layer, uint32_t format);
inline void glGetInteger64vAPPLE(uint32_t pname, int64_t* params);
inline void glGetIntegeri_vEXT(uint32_t target, uint32_t index, int32_t* data);
inline void glGetInternalformatSampleivNV(uint32_t target, uint32_t internalformat,
int32_t samples, uint32_t pname, int32_t bufSize,
int32_t* params);
inline void glGetNextPerfQueryIdINTEL(uint32_t queryId, uint32_t* nextQueryId);
inline void glGetObjectLabelEXT(uint32_t type, uint32_t object, int32_t bufSize,
int32_t* length, char* label);
inline void glGetPathCommandsNV(uint32_t path, uint8_t* commands);
inline void glGetPathCoordsNV(uint32_t path, float* coords);
inline void glGetPathDashArrayNV(uint32_t path, float* dashArray);
inline float glGetPathLengthNV(uint32_t path, int32_t startSegment, int32_t numSegments);
inline void glGetPathMetricRangeNV(uint32_t metricQueryMask, uint32_t firstPathName,
int32_t numPaths, int32_t stride, float* metrics);
inline void glGetPathMetricsNV(uint32_t metricQueryMask, int32_t numPaths,
uint32_t pathNameType, void* paths, uint32_t pathBase,
int32_t stride, float* metrics);
inline void glGetPathParameterfvNV(uint32_t path, uint32_t pname, float* value);
inline void glGetPathParameterivNV(uint32_t path, uint32_t pname, int32_t* value);
inline void glGetPathSpacingNV(uint32_t pathListMode, int32_t numPaths, uint32_t pathNameType,
void* paths, uint32_t pathBase, float advanceScale,
float kerningScale, uint32_t transformType,
float* returnedSpacing);
inline void glGetPerfCounterInfoINTEL(uint32_t queryId, uint32_t counterId,
uint32_t counterNameLength, char* counterName,
uint32_t counterDescLength, char* counterDesc,
uint32_t* counterOffset, uint32_t* counterDataSize,
uint32_t* counterTypeEnum, uint32_t* counterDataTypeEnum,
uint64_t* rawCounterMaxValue);
inline void glGetPerfMonitorCounterDataAMD(uint32_t monitor, uint32_t pname, int32_t dataSize,
uint32_t* data, int32_t* bytesWritten);
inline void glGetPerfMonitorCounterInfoAMD(uint32_t group, uint32_t counter, uint32_t pname,
void* data);
inline void glGetPerfMonitorCounterStringAMD(uint32_t group, uint32_t counter, int32_t bufSize,
int32_t* length, char* counterString);
inline void glGetPerfMonitorCountersAMD(uint32_t group, int32_t* numCounters,
int32_t* maxActiveCounters, int32_t counterSize,
uint32_t* counters);
inline void glGetPerfMonitorGroupStringAMD(uint32_t group, int32_t bufSize, int32_t* length,
char* groupString);
inline void glGetPerfMonitorGroupsAMD(int32_t* numGroups, int32_t groupsSize, uint32_t* groups);
inline void glGetPerfQueryDataINTEL(uint32_t queryHandle, uint32_t flag, int32_t dataSize,
void* data, uint32_t* bytesWritten);
inline void glGetPerfQueryIdByNameINTEL(char* queryName, uint32_t* queryId);
inline void glGetPerfQueryInfoINTEL(uint32_t queryId, uint32_t queryNameLength, char* queryName,
uint32_t* dataSize, uint32_t* noCounters,
uint32_t* noInstances, uint32_t* capsMask);
inline void glGetProgramBinaryOES(uint32_t program, int32_t buffer_size, int32_t* bytes_written,
uint32_t* binary_format, void* binary);
inline void glGetProgramPipelineInfoLogEXT(uint32_t pipeline, int32_t bufSize, int32_t* length,
char* infoLog);
inline void glGetProgramPipelineivEXT(uint32_t pipeline, uint32_t pname, int32_t* params);
inline void glGetProgramResourcefvNV(uint32_t program, uint32_t programInterface,
uint32_t index, int32_t propCount, uint32_t* props,
int32_t bufSize, int32_t* length, float* params);
inline void glGetQueryObjecti64vEXT(uint32_t query, uint32_t parameter, int64_t* value);
inline void glGetQueryObjectivEXT(uint32_t query, uint32_t parameter, int32_t* value);
inline void glGetQueryObjectui64vEXT(uint32_t query, uint32_t parameter, uint64_t* value);
inline void glGetQueryObjectuivEXT(uint32_t query, uint32_t parameter, uint32_t* value);
inline void glGetQueryivEXT(uint32_t target, uint32_t parameter, int32_t* value);
inline void glGetSamplerParameterIivOES(uint32_t sampler, uint32_t pname, int32_t* params);
inline void glGetSamplerParameterIuivOES(uint32_t sampler, uint32_t pname, uint32_t* params);
inline void glGetSyncivAPPLE(uint64_t sync, uint32_t pname, int32_t bufSize, int32_t* length,
int32_t* values);
inline void glGetTexParameterIivOES(uint32_t target, uint32_t pname, int32_t* params);
inline void glGetTexParameterIuivOES(uint32_t target, uint32_t pname, uint32_t* params);
inline uint64_t glGetTextureHandleNV(uint32_t texture);
inline uint64_t glGetTextureSamplerHandleNV(uint32_t texture, uint32_t sampler);
inline void glGetTranslatedShaderSourceANGLE(uint32_t shader, int32_t bufsize, int32_t* length,
char* source);
inline void glGetnUniformfvEXT(uint32_t program, int32_t location, int32_t bufSize,
float* params);
inline void glGetnUniformfvKHR(uint32_t program, int32_t location, int32_t bufSize,
float* params);
inline void glGetnUniformivEXT(uint32_t program, int32_t location, int32_t bufSize,
int32_t* params);
inline void glGetnUniformivKHR(uint32_t program, int32_t location, int32_t bufSize,
int32_t* params);
inline void glGetnUniformuivKHR(uint32_t program, int32_t location, int32_t bufSize,
uint32_t* params);
inline void glInsertEventMarkerEXT(int32_t length, char* marker);
inline void glInterpolatePathsNV(uint32_t resultPath, uint32_t pathA, uint32_t pathB,
float weight);
inline uint8_t glIsEnablediOES(uint32_t target, uint32_t index);
inline uint8_t glIsEnablediNV(uint32_t target, uint32_t index);
inline uint8_t glIsFenceNV(uint32_t fence);
inline uint8_t glIsImageHandleResidentNV(uint64_t handle);
inline uint8_t glIsPathNV(uint32_t path);
inline uint8_t glIsPointInFillPathNV(uint32_t path, uint32_t mask, float x, float y);
inline uint8_t glIsPointInStrokePathNV(uint32_t path, float x, float y);
inline uint8_t glIsProgramPipelineEXT(uint32_t pipeline);
inline uint8_t glIsQueryEXT(uint32_t query);
inline uint8_t glIsSyncAPPLE(uint64_t sync);
inline uint8_t glIsTextureHandleResidentNV(uint64_t handle);
inline uint8_t glIsVertexArrayOES(uint32_t array);
inline void glLabelObjectEXT(uint32_t type, uint32_t object, int32_t length, char* label);
inline void glMakeImageHandleNonResidentNV(uint64_t handle);
inline void glMakeImageHandleResidentNV(uint64_t handle, uint32_t access);
inline void glMakeTextureHandleNonResidentNV(uint64_t handle);
inline void glMakeTextureHandleResidentNV(uint64_t handle);
inline void* glMapBufferOES(uint32_t target, uint32_t access);
inline void* glMapBufferRangeEXT(uint32_t target, int32_t offset, int32_t length,
uint32_t access);
inline void glMatrixLoad3x2fNV(uint32_t matrixMode, float* m);
inline void glMatrixLoad3x3fNV(uint32_t matrixMode, float* m);
inline void glMatrixLoadTranspose3x3fNV(uint32_t matrixMode, float* m);
inline void glMatrixMult3x2fNV(uint32_t matrixMode, float* m);
inline void glMatrixMult3x3fNV(uint32_t matrixMode, float* m);
inline void glMatrixMultTranspose3x3fNV(uint32_t matrixMode, float* m);
inline void glMultiDrawArraysEXT(uint32_t mode, int32_t* first, int32_t* count,
int32_t primcount);
inline void glMultiDrawArraysIndirectEXT(uint32_t mode, void* indirect, int32_t drawcount,
int32_t stride);
inline void glMultiDrawElementsBaseVertexEXT(uint32_t mode, int32_t* count, uint32_t type,
void** indices, int32_t primcount,
int32_t* basevertex);
inline void glMultiDrawElementsBaseVertexOES(uint32_t mode, int32_t* count, uint32_t type,
void** indices, int32_t primcount,
int32_t* basevertex);
inline void glMultiDrawElementsEXT(uint32_t mode, int32_t* count, uint32_t type, void** indices,
int32_t primcount);
inline void glMultiDrawElementsIndirectEXT(uint32_t mode, uint32_t type, void* indirect,
int32_t drawcount, int32_t stride);
inline void glPatchParameteriOES(uint32_t pname, int32_t value);
inline void glPathCommandsNV(uint32_t path, int32_t numCommands, uint8_t* commands,
int32_t numCoords, uint32_t coordType, void* coords);
inline void glPathCoordsNV(uint32_t path, int32_t numCoords, uint32_t coordType, void* coords);
inline void glPathCoverDepthFuncNV(uint32_t func);
inline void glPathDashArrayNV(uint32_t path, int32_t dashCount, float* dashArray);
inline uint32_t glPathGlyphIndexArrayNV(uint32_t firstPathName, uint32_t fontTarget,
void* fontName, uint32_t fontStyle,
uint32_t firstGlyphIndex, int32_t numGlyphs,
uint32_t pathParameterTemplate, float emScale);
inline uint32_t glPathGlyphIndexRangeNV(uint32_t fontTarget, void* fontName, uint32_t fontStyle,
uint32_t pathParameterTemplate, float emScale,
uint32_t baseAndCount);
inline void glPathGlyphRangeNV(uint32_t firstPathName, uint32_t fontTarget, void* fontName,
uint32_t fontStyle, uint32_t firstGlyph, int32_t numGlyphs,
uint32_t handleMissingGlyphs, uint32_t pathParameterTemplate,
float emScale);
inline void glPathGlyphsNV(uint32_t firstPathName, uint32_t fontTarget, void* fontName,
uint32_t fontStyle, int32_t numGlyphs, uint32_t type,
void* charcodes, uint32_t handleMissingGlyphs,
uint32_t pathParameterTemplate, float emScale);
inline uint32_t glPathMemoryGlyphIndexArrayNV(uint32_t firstPathName, uint32_t fontTarget,
int32_t fontSize, void* fontData,
int32_t faceIndex, uint32_t firstGlyphIndex,
int32_t numGlyphs, uint32_t pathParameterTemplate,
float emScale);
inline void glPathParameterfNV(uint32_t path, uint32_t pname, float value);
inline void glPathParameterfvNV(uint32_t path, uint32_t pname, float* value);
inline void glPathParameteriNV(uint32_t path, uint32_t pname, int32_t value);
inline void glPathParameterivNV(uint32_t path, uint32_t pname, int32_t* value);
inline void glPathStencilDepthOffsetNV(float factor, float units);
inline void glPathStencilFuncNV(uint32_t func, int32_t ref, uint32_t mask);
inline void glPathStringNV(uint32_t path, uint32_t format, int32_t length, void* pathString);
inline void glPathSubCommandsNV(uint32_t path, int32_t commandStart, int32_t commandsToDelete,
int32_t numCommands, uint8_t* commands, int32_t numCoords,
uint32_t coordType, void* coords);
inline void glPathSubCoordsNV(uint32_t path, int32_t coordStart, int32_t numCoords,
uint32_t coordType, void* coords);
inline uint8_t glPointAlongPathNV(uint32_t path, int32_t startSegment, int32_t numSegments,
float distance, float* x, float* y, float* tangentX,
float* tangentY);
inline void glPolygonModeNV(uint32_t face, uint32_t mode);
inline void glPopGroupMarkerEXT();
inline void glPrimitiveBoundingBoxOES(float minX, float minY, float minZ, float minW,
float maxX, float maxY, float maxZ, float maxW);
inline void glProgramBinaryOES(uint32_t program, uint32_t binary_format, void* binary,
int32_t binary_size);
inline void glProgramParameteriEXT(uint32_t program, uint32_t pname, int32_t value);
inline void glProgramPathFragmentInputGenNV(uint32_t program, int32_t location,
uint32_t genMode, int32_t components,
float* coeffs);
inline void glProgramUniform1fEXT(uint32_t program, int32_t location, float v0);
inline void glProgramUniform1fvEXT(uint32_t program, int32_t location, int32_t count,
float* value);
inline void glProgramUniform1iEXT(uint32_t program, int32_t location, int32_t v0);
inline void glProgramUniform1ivEXT(uint32_t program, int32_t location, int32_t count,
int32_t* value);
inline void glProgramUniform1uiEXT(uint32_t program, int32_t location, uint32_t v0);
inline void glProgramUniform1uivEXT(uint32_t program, int32_t location, int32_t count,
uint32_t* value);
inline void glProgramUniform2fEXT(uint32_t program, int32_t location, float v0, float v1);
inline void glProgramUniform2fvEXT(uint32_t program, int32_t location, int32_t count,
float* value);
inline void glProgramUniform2iEXT(uint32_t program, int32_t location, int32_t v0, int32_t v1);
inline void glProgramUniform2ivEXT(uint32_t program, int32_t location, int32_t count,
int32_t* value);
inline void glProgramUniform2uiEXT(uint32_t program, int32_t location, uint32_t v0,
uint32_t v1);
inline void glProgramUniform2uivEXT(uint32_t program, int32_t location, int32_t count,
uint32_t* value);
inline void glProgramUniform3fEXT(uint32_t program, int32_t location, float v0, float v1,
float v2);
inline void glProgramUniform3fvEXT(uint32_t program, int32_t location, int32_t count,
float* value);
inline void glProgramUniform3iEXT(uint32_t program, int32_t location, int32_t v0, int32_t v1,
int32_t v2);
inline void glProgramUniform3ivEXT(uint32_t program, int32_t location, int32_t count,
int32_t* value);
inline void glProgramUniform3uiEXT(uint32_t program, int32_t location, uint32_t v0, uint32_t v1,
uint32_t v2);
inline void glProgramUniform3uivEXT(uint32_t program, int32_t location, int32_t count,
uint32_t* value);
inline void glProgramUniform4fEXT(uint32_t program, int32_t location, float v0, float v1,
float v2, float v3);
inline void glProgramUniform4fvEXT(uint32_t program, int32_t location, int32_t count,
float* value);
inline void glProgramUniform4iEXT(uint32_t program, int32_t location, int32_t v0, int32_t v1,
int32_t v2, int32_t v3);
inline void glProgramUniform4ivEXT(uint32_t program, int32_t location, int32_t count,
int32_t* value);
inline void glProgramUniform4uiEXT(uint32_t program, int32_t location, uint32_t v0, uint32_t v1,
uint32_t v2, uint32_t v3);
inline void glProgramUniform4uivEXT(uint32_t program, int32_t location, int32_t count,
uint32_t* value);
inline void glProgramUniformHandleui64NV(uint32_t program, int32_t location, uint64_t value);
inline void glProgramUniformHandleui64vNV(uint32_t program, int32_t location, int32_t count,
uint64_t* values);
inline void glProgramUniformMatrix2fvEXT(uint32_t program, int32_t location, int32_t count,
uint8_t transpose, float* value);
inline void glProgramUniformMatrix2x3fvEXT(uint32_t program, int32_t location, int32_t count,
uint8_t transpose, float* value);
inline void glProgramUniformMatrix2x4fvEXT(uint32_t program, int32_t location, int32_t count,
uint8_t transpose, float* value);
inline void glProgramUniformMatrix3fvEXT(uint32_t program, int32_t location, int32_t count,
uint8_t transpose, float* value);
inline void glProgramUniformMatrix3x2fvEXT(uint32_t program, int32_t location, int32_t count,
uint8_t transpose, float* value);
inline void glProgramUniformMatrix3x4fvEXT(uint32_t program, int32_t location, int32_t count,
uint8_t transpose, float* value);
inline void glProgramUniformMatrix4fvEXT(uint32_t program, int32_t location, int32_t count,
uint8_t transpose, float* value);
inline void glProgramUniformMatrix4x2fvEXT(uint32_t program, int32_t location, int32_t count,
uint8_t transpose, float* value);
inline void glProgramUniformMatrix4x3fvEXT(uint32_t program, int32_t location, int32_t count,
uint8_t transpose, float* value);
inline void glPushGroupMarkerEXT(int32_t length, char* marker);
inline void glQueryCounterEXT(uint32_t query, uint32_t target);
inline void glReadBufferIndexedEXT(uint32_t src, int32_t index);
inline void glReadBufferNV(uint32_t mode);
inline void glReadnPixelsEXT(int32_t x, int32_t y, int32_t width, int32_t height,
uint32_t format, uint32_t type, int32_t bufSize, void* data);
inline void glReadnPixelsKHR(int32_t x, int32_t y, int32_t width, int32_t height,
uint32_t format, uint32_t type, int32_t bufSize, void* data);
inline void glRenderbufferStorageMultisampleANGLE(uint32_t target, int32_t samples,
uint32_t internalformat, int32_t width,
int32_t height);
inline void glRenderbufferStorageMultisampleAPPLE(uint32_t target, int32_t samples,
uint32_t internalformat, int32_t width,
int32_t height);
inline void glRenderbufferStorageMultisampleEXT(uint32_t target, int32_t samples,
uint32_t internalformat, int32_t width,
int32_t height);
inline void glRenderbufferStorageMultisampleIMG(uint32_t target, int32_t samples,
uint32_t internalformat, int32_t width,
int32_t height);
inline void glRenderbufferStorageMultisampleNV(uint32_t target, int32_t samples,
uint32_t internalformat, int32_t width,
int32_t height);
inline void glResolveMultisampleFramebufferAPPLE();
inline void glSamplerParameterIivOES(uint32_t sampler, uint32_t pname, int32_t* param);
inline void glSamplerParameterIuivOES(uint32_t sampler, uint32_t pname, uint32_t* param);
inline void glScissorArrayvNV(uint32_t first, int32_t count, int32_t* v);
inline void glScissorIndexedNV(uint32_t index, int32_t left, int32_t bottom, int32_t width,
int32_t height);
inline void glScissorIndexedvNV(uint32_t index, int32_t* v);
inline void glSelectPerfMonitorCountersAMD(uint32_t monitor, uint8_t enable, uint32_t group,
int32_t numCounters, uint32_t* counterList);
inline void glSetFenceNV(uint32_t fence, uint32_t condition);
inline void glStartTilingQCOM(uint32_t x, uint32_t y, uint32_t width, uint32_t height,
uint32_t preserveMask);
inline void glStencilFillPathInstancedNV(int32_t numPaths, uint32_t pathNameType, void* paths,
uint32_t pathBase, uint32_t fillMode, uint32_t mask,
uint32_t transformType, float* transformValues);
inline void glStencilFillPathNV(uint32_t path, uint32_t fillMode, uint32_t mask);
inline void glStencilStrokePathInstancedNV(int32_t numPaths, uint32_t pathNameType, void* paths,
uint32_t pathBase, int32_t reference, uint32_t mask,
uint32_t transformType, float* transformValues);
inline void glStencilStrokePathNV(uint32_t path, int32_t reference, uint32_t mask);
inline void glStencilThenCoverFillPathInstancedNV(int32_t numPaths, uint32_t pathNameType,
void* paths, uint32_t pathBase,
uint32_t fillMode, uint32_t mask,
uint32_t coverMode, uint32_t transformType,
float* transformValues);
inline void glStencilThenCoverFillPathNV(uint32_t path, uint32_t fillMode, uint32_t mask,
uint32_t coverMode);
inline void glStencilThenCoverStrokePathInstancedNV(int32_t numPaths, uint32_t pathNameType,
void* paths, uint32_t pathBase,
int32_t reference, uint32_t mask,
uint32_t coverMode, uint32_t transformType,
float* transformValues);
inline void glStencilThenCoverStrokePathNV(uint32_t path, int32_t reference, uint32_t mask,
uint32_t coverMode);
inline uint8_t glTestFenceNV(uint32_t fence);
inline void glTexBufferOES(uint32_t target, uint32_t internalformat, uint32_t buffer);
inline void glTexBufferRangeOES(uint32_t target, uint32_t internalformat, uint32_t buffer,
int32_t offset, int32_t size);
inline void glTexImage3DOES(uint32_t target, int32_t level, uint32_t internalformat,
int32_t width, int32_t height, int32_t depth, int32_t border,
uint32_t format, uint32_t type, void* pixels);
inline void glTexPageCommitmentARB(uint32_t target, int32_t level, int32_t xoffset,
int32_t yoffset, int32_t zoffset, int32_t width,
int32_t height, int32_t depth, uint8_t commit);
inline void glTexParameterIivOES(uint32_t target, uint32_t pname, int32_t* params);
inline void glTexParameterIuivOES(uint32_t target, uint32_t pname, uint32_t* params);
inline void glTexStorage1DEXT(uint32_t target, int32_t levels, uint32_t format, int32_t width);
inline void glTexStorage2DEXT(uint32_t target, int32_t levels, uint32_t format, int32_t width,
int32_t height);
inline void glTexStorage3DEXT(uint32_t target, int32_t levels, uint32_t format, int32_t width,
int32_t height, int32_t depth);
inline void glTexSubImage3DOES(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, void* pixels);
inline void glTextureStorage1DEXT(uint32_t texture, uint32_t target, int32_t levels,
uint32_t format, int32_t width);
inline void glTextureStorage2DEXT(uint32_t texture, uint32_t target, int32_t levels,
uint32_t format, int32_t width, int32_t height);
inline void glTextureStorage3DEXT(uint32_t texture, uint32_t target, int32_t levels,
uint32_t format, int32_t width, int32_t height,
int32_t depth);
inline void glTextureViewEXT(uint32_t texture, uint32_t target, uint32_t origtexture,
uint32_t internalformat, uint32_t minlevel, uint32_t numlevels,
uint32_t minlayer, uint32_t numlayers);
inline void glTextureViewOES(uint32_t texture, uint32_t target, uint32_t origtexture,
uint32_t internalformat, uint32_t minlevel, uint32_t numlevels,
uint32_t minlayer, uint32_t numlayers);
inline void glTransformPathNV(uint32_t resultPath, uint32_t srcPath, uint32_t transformType,
float* transformValues);
inline void glUniformHandleui64NV(int32_t location, uint64_t value);
inline void glUniformHandleui64vNV(int32_t location, int32_t count, uint64_t* value);
inline void glUniformMatrix2x3fvNV(int32_t location, int32_t count, uint8_t transpose,
float* value);
inline void glUniformMatrix2x4fvNV(int32_t location, int32_t count, uint8_t transpose,
float* value);
inline void glUniformMatrix3x2fvNV(int32_t location, int32_t count, uint8_t transpose,
float* value);
inline void glUniformMatrix3x4fvNV(int32_t location, int32_t count, uint8_t transpose,
float* value);
inline void glUniformMatrix4x2fvNV(int32_t location, int32_t count, uint8_t transpose,
float* value);
inline void glUniformMatrix4x3fvNV(int32_t location, int32_t count, uint8_t transpose,
float* value);
inline uint8_t glUnmapBufferOES(uint32_t target);
inline void glUseProgramStagesEXT(uint32_t pipeline, uint32_t stages, uint32_t program);
inline void glValidateProgramPipelineEXT(uint32_t pipeline);
inline void glVertexAttribDivisorANGLE(uint32_t index, uint32_t divisor);
inline void glVertexAttribDivisorEXT(uint32_t index, uint32_t divisor);
inline void glVertexAttribDivisorNV(uint32_t index, uint32_t divisor);
inline void glViewportArrayvNV(uint32_t first, int32_t count, float* v);
inline void glViewportIndexedfNV(uint32_t index, float x, float y, float w, float h);
inline void glViewportIndexedfvNV(uint32_t index, float* v);
inline void glWaitSyncAPPLE(uint64_t sync, uint32_t flag, uint64_t timeout);
inline void glWeightPathsNV(uint32_t resultPath, int32_t numPaths, uint32_t* paths,
float* weights);
inline void glCoverageModulationNV(uint32_t components);
inline void glCoverageModulationTableNV(int32_t n, float* v);
inline void glFragmentCoverageColorNV(uint32_t color);
inline void glFramebufferSampleLocationsfvNV(uint32_t target, uint32_t start, int32_t count,
float* v);
inline void glGetCoverageModulationTableNV(int32_t bufsize, float* v);
inline void glNamedFramebufferSampleLocationsfvNV(uint32_t framebuffer, uint32_t start,
int32_t count, float* v);
inline void glRasterSamplesEXT(uint32_t samples, uint8_t fixedsamplelocations);
inline void glResolveDepthValuesNV();
inline void glSubpixelPrecisionBiasNV(uint32_t xbits, uint32_t ybits);
inline void glBlendColor(float red, float green, float blue, float alpha);
inline void glBlendEquation(uint32_t equation);
inline void glBlendEquationSeparate(uint32_t rgb, uint32_t alpha);
inline void glBlendFunc(uint32_t src_factor, uint32_t dst_factor);
inline void glBlendFuncSeparate(uint32_t src_factor_rgb, uint32_t dst_factor_rgb,
uint32_t src_factor_alpha, uint32_t dst_factor_alpha);
inline void glDepthFunc(uint32_t function);
inline void glSampleCoverage(float value, uint8_t invert);
inline void glSampleMaski(uint32_t maskNumber, uint32_t mask);
inline void glScissor(int32_t x, int32_t y, int32_t width, int32_t height);
inline void glStencilFunc(uint32_t func, int32_t ref, uint32_t mask);
inline void glStencilFuncSeparate(uint32_t face, uint32_t function, int32_t reference_value,
uint32_t mask);
inline void glStencilOp(uint32_t fail, uint32_t zfail, uint32_t zpass);
inline void glStencilOpSeparate(uint32_t face, uint32_t stencil_fail,
uint32_t stencil_pass_depth_fail,
uint32_t stencil_pass_depth_pass);
inline void glBindFramebuffer(uint32_t target, uint32_t framebuffer);
inline void glBindRenderbuffer(uint32_t target, uint32_t renderbuffer);
inline void glBlitFramebuffer(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);
inline uint32_t glCheckFramebufferStatus(uint32_t target);
inline void glClear(uint32_t mask);
inline void glClearBufferfi(uint32_t buffer, int32_t drawbuffer, float depth, int32_t stencil);
inline void glClearBufferfv(uint32_t buffer, int32_t drawbuffer, float* value);
inline void glClearBufferiv(uint32_t buffer, int32_t drawbuffer, int32_t* value);
inline void glClearBufferuiv(uint32_t buffer, int32_t drawbuffer, uint32_t* value);
inline void glClearColor(float r, float g, float b, float a);
inline void glClearDepthf(float depth);
inline void glClearStencil(int32_t stencil);
inline void glColorMask(uint8_t red, uint8_t green, uint8_t blue, uint8_t alpha);
inline void glDeleteFramebuffers(int32_t count, uint32_t* framebuffers);
inline void glDeleteRenderbuffers(int32_t count, uint32_t* renderbuffers);
inline void glDepthMask(uint8_t enabled);
inline void glFramebufferParameteri(uint32_t target, uint32_t pname, int32_t param);
inline void glFramebufferRenderbuffer(uint32_t framebuffer_target,
uint32_t framebuffer_attachment,
uint32_t renderbuffer_target, uint32_t renderbuffer);
inline void glFramebufferTexture2D(uint32_t framebuffer_target, uint32_t framebuffer_attachment,
uint32_t texture_target, uint32_t texture, int32_t level);
inline void glFramebufferTextureLayer(uint32_t target, uint32_t attachment, uint32_t texture,
int32_t level, int32_t layer);
inline void glGenFramebuffers(int32_t count, uint32_t* framebuffers);
inline void glGenRenderbuffers(int32_t count, uint32_t* renderbuffers);
inline void glGetFramebufferAttachmentParameteriv(uint32_t framebuffer_target,
uint32_t attachment, uint32_t parameter,
int32_t* value);
inline void glGetFramebufferParameteriv(uint32_t target, uint32_t pname, int32_t* params);
inline void glGetRenderbufferParameteriv(uint32_t target, uint32_t parameter, int32_t* values);
inline void glInvalidateFramebuffer(uint32_t target, int32_t count, uint32_t* attachments);
inline void glInvalidateSubFramebuffer(uint32_t target, int32_t numAttachments,
uint32_t* attachments, int32_t x, int32_t y,
int32_t width, int32_t height);
inline uint8_t glIsFramebuffer(uint32_t framebuffer);
inline uint8_t glIsRenderbuffer(uint32_t renderbuffer);
inline void glReadBuffer(uint32_t src);
inline void glReadPixels(int32_t x, int32_t y, int32_t width, int32_t height, uint32_t format,
uint32_t type, void* data);
inline void glRenderbufferStorage(uint32_t target, uint32_t format, int32_t width,
int32_t height);
inline void glRenderbufferStorageMultisample(uint32_t target, int32_t samples, uint32_t format,
int32_t width, int32_t height);
inline void glStencilMask(uint32_t mask);
inline void glStencilMaskSeparate(uint32_t face, uint32_t mask);
inline void glDisable(uint32_t capability);
inline void glEnable(uint32_t capability);
inline void glFinish();
inline void glFlush();
inline void glFlushMappedBufferRange(uint32_t target, int32_t offset, int32_t length);
inline uint32_t glGetError();
inline void glHint(uint32_t target, uint32_t mode);
inline void glActiveShaderProgram(uint32_t pipeline, uint32_t program);
inline void glAttachShader(uint32_t program, uint32_t shader);
inline void glBindAttribLocation(uint32_t program, uint32_t location, char* name);
inline void glBindProgramPipeline(uint32_t pipeline);
inline void glCompileShader(uint32_t shader);
inline uint32_t glCreateProgram();
inline uint32_t glCreateShader(uint32_t type);
inline uint32_t glCreateShaderProgramv(uint32_t type, int32_t count, char** strings);
inline void glDeleteProgram(uint32_t program);
inline void glDeleteProgramPipelines(int32_t n, uint32_t* pipelines);
inline void glDeleteShader(uint32_t shader);
inline void glDetachShader(uint32_t program, uint32_t shader);
inline void glDispatchCompute(uint32_t num_groups_x, uint32_t num_groups_y,
uint32_t num_groups_z);
inline void glDispatchComputeIndirect(int32_t indirect);
inline void glGenProgramPipelines(int32_t n, uint32_t* pipelines);
inline void glGetActiveAttrib(uint32_t program, uint32_t location, int32_t buffer_size,
int32_t* buffer_bytes_written, int32_t* vector_count,
uint32_t* type, char* name);
inline void glGetActiveUniform(uint32_t program, uint32_t location, int32_t buffer_size,
int32_t* buffer_bytes_written, int32_t* vector_count,
uint32_t* type, char* name);
inline void glGetActiveUniformBlockName(uint32_t program, uint32_t uniform_block_index,
int32_t buffer_size, int32_t* buffer_bytes_written,
char* name);
inline void glGetActiveUniformBlockiv(uint32_t program, uint32_t uniform_block_index,
uint32_t parameter_name, int32_t* parameters);
inline void glGetActiveUniformsiv(uint32_t program, int32_t uniform_count,
uint32_t* uniform_indices, uint32_t parameter_name,
int32_t* parameters);
inline void glGetAttachedShaders(uint32_t program, int32_t buffer_length,
int32_t* shaders_length_written, uint32_t* shaders);
inline int32_t glGetAttribLocation(uint32_t program, char* name);
inline int32_t glGetFragDataLocation(uint32_t program, char* name);
inline void glGetProgramBinary(uint32_t program, int32_t bufSize, int32_t* length,
uint32_t* binaryFormat, void* binary);
inline void glGetProgramInfoLog(uint32_t program, int32_t buffer_length,
int32_t* string_length_written, char* info);
inline void glGetProgramInterfaceiv(uint32_t program, uint32_t programInterface, uint32_t pname,
int32_t* params);
inline void glGetProgramPipelineInfoLog(uint32_t pipeline, int32_t bufSize, int32_t* length,
char* infoLog);
inline void glGetProgramPipelineiv(uint32_t pipeline, uint32_t pname, int32_t* params);
inline uint32_t glGetProgramResourceIndex(uint32_t program, uint32_t programInterface,
char* name);
inline int32_t glGetProgramResourceLocation(uint32_t program, uint32_t programInterface,
char* name);
inline void glGetProgramResourceName(uint32_t program, uint32_t programInterface,
uint32_t index, int32_t bufSize, int32_t* length,
char* name);
inline void glGetProgramResourceiv(uint32_t program, uint32_t programInterface, uint32_t index,
int32_t propCount, uint32_t* props, int32_t bufSize,
int32_t* length, int32_t* params);
inline void glGetProgramiv(uint32_t program, uint32_t parameter, int32_t* value);
inline void glGetShaderInfoLog(uint32_t shader, int32_t buffer_length,
int32_t* string_length_written, char* info);
inline void glGetShaderPrecisionFormat(uint32_t shader_type, uint32_t precision_type,
int32_t* range, int32_t* precision);
inline void glGetShaderSource(uint32_t shader, int32_t buffer_length,
int32_t* string_length_written, char* source);
inline void glGetShaderiv(uint32_t shader, uint32_t parameter, int32_t* value);
inline uint32_t glGetUniformBlockIndex(uint32_t program, char* uniformBlockName);
inline void glGetUniformIndices(uint32_t program, int32_t uniformCount, char** uniformNames,
uint32_t* uniformIndices);
inline int32_t glGetUniformLocation(uint32_t program, char* name);
inline void glGetUniformfv(uint32_t program, int32_t location, float* values);
inline void glGetUniformiv(uint32_t program, int32_t location, int32_t* values);
inline void glGetUniformuiv(uint32_t program, int32_t location, uint32_t* params);
inline uint8_t glIsProgram(uint32_t program);
inline uint8_t glIsProgramPipeline(uint32_t pipeline);
inline uint8_t glIsShader(uint32_t shader);
inline void glLinkProgram(uint32_t program);
inline void glMemoryBarrier(uint32_t barriers);
inline void glMemoryBarrierByRegion(uint32_t barriers);
inline void glProgramBinary(uint32_t program, uint32_t binaryFormat, void* binary,
int32_t length);
inline void glProgramParameteri(uint32_t program, uint32_t pname, int32_t value);
inline void glProgramUniform1f(uint32_t program, int32_t location, float v0);
inline void glProgramUniform1fv(uint32_t program, int32_t location, int32_t count,
float* value);
inline void glProgramUniform1i(uint32_t program, int32_t location, int32_t v0);
inline void glProgramUniform1iv(uint32_t program, int32_t location, int32_t count,
int32_t* value);
inline void glProgramUniform1ui(uint32_t program, int32_t location, uint32_t v0);
inline void glProgramUniform1uiv(uint32_t program, int32_t location, int32_t count,
uint32_t* value);
inline void glProgramUniform2f(uint32_t program, int32_t location, float v0, float v1);
inline void glProgramUniform2fv(uint32_t program, int32_t location, int32_t count,
float* value);
inline void glProgramUniform2i(uint32_t program, int32_t location, int32_t v0, int32_t v1);
inline void glProgramUniform2iv(uint32_t program, int32_t location, int32_t count,
int32_t* value);
inline void glProgramUniform2ui(uint32_t program, int32_t location, uint32_t v0, uint32_t v1);
inline void glProgramUniform2uiv(uint32_t program, int32_t location, int32_t count,
uint32_t* value);
inline void glProgramUniform3f(uint32_t program, int32_t location, float v0, float v1,
float v2);
inline void glProgramUniform3fv(uint32_t program, int32_t location, int32_t count,
float* value);
inline void glProgramUniform3i(uint32_t program, int32_t location, int32_t v0, int32_t v1,
int32_t v2);
inline void glProgramUniform3iv(uint32_t program, int32_t location, int32_t count,
int32_t* value);
inline void glProgramUniform3ui(uint32_t program, int32_t location, uint32_t v0, uint32_t v1,
uint32_t v2);
inline void glProgramUniform3uiv(uint32_t program, int32_t location, int32_t count,
uint32_t* value);
inline void glProgramUniform4f(uint32_t program, int32_t location, float v0, float v1, float v2,
float v3);
inline void glProgramUniform4fv(uint32_t program, int32_t location, int32_t count,
float* value);
inline void glProgramUniform4i(uint32_t program, int32_t location, int32_t v0, int32_t v1,
int32_t v2, int32_t v3);
inline void glProgramUniform4iv(uint32_t program, int32_t location, int32_t count,
int32_t* value);
inline void glProgramUniform4ui(uint32_t program, int32_t location, uint32_t v0, uint32_t v1,
uint32_t v2, uint32_t v3);
inline void glProgramUniform4uiv(uint32_t program, int32_t location, int32_t count,
uint32_t* value);
inline void glProgramUniformMatrix2fv(uint32_t program, int32_t location, int32_t count,
uint8_t transpose, float* value);
inline void glProgramUniformMatrix2x3fv(uint32_t program, int32_t location, int32_t count,
uint8_t transpose, float* value);
inline void glProgramUniformMatrix2x4fv(uint32_t program, int32_t location, int32_t count,
uint8_t transpose, float* value);
inline void glProgramUniformMatrix3fv(uint32_t program, int32_t location, int32_t count,
uint8_t transpose, float* value);
inline void glProgramUniformMatrix3x2fv(uint32_t program, int32_t location, int32_t count,
uint8_t transpose, float* value);
inline void glProgramUniformMatrix3x4fv(uint32_t program, int32_t location, int32_t count,
uint8_t transpose, float* value);
inline void glProgramUniformMatrix4fv(uint32_t program, int32_t location, int32_t count,
uint8_t transpose, float* value);
inline void glProgramUniformMatrix4x2fv(uint32_t program, int32_t location, int32_t count,
uint8_t transpose, float* value);
inline void glProgramUniformMatrix4x3fv(uint32_t program, int32_t location, int32_t count,
uint8_t transpose, float* value);
inline void glReleaseShaderCompiler();
inline void glShaderBinary(int32_t count, uint32_t* shaders, uint32_t binary_format,
void* binary, int32_t binary_size);
inline void glShaderSource(uint32_t shader, int32_t count, char** source, int32_t* length);
inline void glUniform1f(int32_t location, float value);
inline void glUniform1fv(int32_t location, int32_t count, float* values);
inline void glUniform1i(int32_t location, int32_t value);
inline void glUniform1iv(int32_t location, int32_t count, int32_t* values);
inline void glUniform1ui(int32_t location, uint32_t v0);
inline void glUniform1uiv(int32_t location, int32_t count, uint32_t* value);
inline void glUniform2f(int32_t location, float value0, float value1);
inline void glUniform2fv(int32_t location, int32_t count, float* values);
inline void glUniform2i(int32_t location, int32_t value0, int32_t value1);
inline void glUniform2iv(int32_t location, int32_t count, int32_t* values);
inline void glUniform2ui(int32_t location, uint32_t v0, uint32_t v1);
inline void glUniform2uiv(int32_t location, int32_t count, uint32_t* value);
inline void glUniform3f(int32_t location, float value0, float value1, float value2);
inline void glUniform3fv(int32_t location, int32_t count, float* values);
inline void glUniform3i(int32_t location, int32_t value0, int32_t value1, int32_t value2);
inline void glUniform3iv(int32_t location, int32_t count, int32_t* values);
inline void glUniform3ui(int32_t location, uint32_t v0, uint32_t v1, uint32_t v2);
inline void glUniform3uiv(int32_t location, int32_t count, uint32_t* value);
inline void glUniform4f(int32_t location, float value0, float value1, float value2,
float value3);
inline void glUniform4fv(int32_t location, int32_t count, float* values);
inline void glUniform4i(int32_t location, int32_t value0, int32_t value1, int32_t value2,
int32_t value3);
inline void glUniform4iv(int32_t location, int32_t count, int32_t* values);
inline void glUniform4ui(int32_t location, uint32_t v0, uint32_t v1, uint32_t v2, uint32_t v3);
inline void glUniform4uiv(int32_t location, int32_t count, uint32_t* value);
inline void glUniformBlockBinding(uint32_t program, uint32_t uniform_block_index,
uint32_t uniform_block_binding);
inline void glUniformMatrix2fv(int32_t location, int32_t count, uint8_t transpose,
float* values);
inline void glUniformMatrix2x3fv(int32_t location, int32_t count, uint8_t transpose,
float* value);
inline void glUniformMatrix2x4fv(int32_t location, int32_t count, uint8_t transpose,
float* value);
inline void glUniformMatrix3fv(int32_t location, int32_t count, uint8_t transpose,
float* values);
inline void glUniformMatrix3x2fv(int32_t location, int32_t count, uint8_t transpose,
float* value);
inline void glUniformMatrix3x4fv(int32_t location, int32_t count, uint8_t transpose,
float* value);
inline void glUniformMatrix4fv(int32_t location, int32_t count, uint8_t transpose,
float* values);
inline void glUniformMatrix4x2fv(int32_t location, int32_t count, uint8_t transpose,
float* value);
inline void glUniformMatrix4x3fv(int32_t location, int32_t count, uint8_t transpose,
float* value);
inline void glUseProgram(uint32_t program);
inline void glUseProgramStages(uint32_t pipeline, uint32_t stages, uint32_t program);
inline void glValidateProgram(uint32_t program);
inline void glValidateProgramPipeline(uint32_t pipeline);
inline void glCullFace(uint32_t mode);
inline void glDepthRangef(float near, float far);
inline void glFrontFace(uint32_t orientation);
inline void glGetMultisamplefv(uint32_t pname, uint32_t index, float* val);
inline void glLineWidth(float width);
inline void glPolygonOffset(float scale_factor, float units);
inline void glViewport(int32_t x, int32_t y, int32_t width, int32_t height);
inline void glGetBooleani_v(uint32_t target, uint32_t index, uint8_t* data);
inline void glGetBooleanv(uint32_t param, uint8_t* values);
inline void glGetFloatv(uint32_t param, float* values);
inline void glGetInteger64i_v(uint32_t target, uint32_t index, int64_t* data);
inline void glGetInteger64v(uint32_t pname, int64_t* data);
inline void glGetIntegeri_v(uint32_t target, uint32_t index, int32_t* data);
inline void glGetIntegerv(uint32_t param, int32_t* values);
inline void glGetInternalformativ(uint32_t target, uint32_t internalformat, uint32_t pname,
int32_t bufSize, int32_t* params);
inline uint8_t* glGetString(uint32_t param);
inline uint8_t* glGetStringi(uint32_t name, uint32_t index);
inline uint8_t glIsEnabled(uint32_t capability);
inline uint32_t glClientWaitSync(uint64_t sync, uint32_t syncFlags, uint64_t timeout);
inline void glDeleteSync(uint64_t sync);
inline uint64_t glFenceSync(uint32_t condition, uint32_t syncFlags);
inline void glGetSynciv(uint64_t sync, uint32_t pname, int32_t bufSize, int32_t* length,
int32_t* values);
inline uint8_t glIsSync(uint64_t sync);
inline void glWaitSync(uint64_t sync, uint32_t syncFlags, uint64_t timeout);
inline void glActiveTexture(uint32_t unit);
inline void glBindImageTexture(uint32_t unit, uint32_t texture, int32_t level, uint8_t layered,
int32_t layer, uint32_t access, uint32_t format);
inline void glBindSampler(uint32_t unit, uint32_t sampler);
inline void glBindTexture(uint32_t target, uint32_t texture);
inline void glCompressedTexImage2D(uint32_t target, int32_t level, uint32_t format,
int32_t width, int32_t height, int32_t border,
int32_t image_size, void* data);
inline void glCompressedTexImage3D(uint32_t target, int32_t level, uint32_t internalformat,
int32_t width, int32_t height, int32_t depth, int32_t border,
int32_t imageSize, void* data);
inline void glCompressedTexSubImage2D(uint32_t target, int32_t level, int32_t xoffset,
int32_t yoffset, int32_t width, int32_t height,
uint32_t format, int32_t image_size, void* data);
inline void glCompressedTexSubImage3D(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, void* data);
inline void glCopyTexImage2D(uint32_t target, int32_t level, uint32_t format, int32_t x,
int32_t y, int32_t width, int32_t height, int32_t border);
inline void glCopyTexSubImage2D(uint32_t target, int32_t level, int32_t xoffset,
int32_t yoffset, int32_t x, int32_t y, int32_t width,
int32_t height);
inline void glCopyTexSubImage3D(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);
inline void glDeleteSamplers(int32_t count, uint32_t* samplers);
inline void glDeleteTextures(int32_t count, uint32_t* textures);
inline void glGenSamplers(int32_t count, uint32_t* samplers);
inline void glGenTextures(int32_t count, uint32_t* textures);
inline void glGenerateMipmap(uint32_t target);
inline void glGetSamplerParameterfv(uint32_t sampler, uint32_t pname, float* params);
inline void glGetSamplerParameteriv(uint32_t sampler, uint32_t pname, int32_t* params);
inline void glGetTexLevelParameterfv(uint32_t target, int32_t level, uint32_t pname,
float* params);
inline void glGetTexLevelParameteriv(uint32_t target, int32_t level, uint32_t pname,
int32_t* params);
inline void glGetTexParameterfv(uint32_t target, uint32_t parameter, float* values);
inline void glGetTexParameteriv(uint32_t target, uint32_t parameter, int32_t* values);
inline uint8_t glIsSampler(uint32_t sampler);
inline uint8_t glIsTexture(uint32_t texture);
inline void glPixelStorei(uint32_t parameter, int32_t value);
inline void glSamplerParameterf(uint32_t sampler, uint32_t pname, float param);
inline void glSamplerParameterfv(uint32_t sampler, uint32_t pname, float* param);
inline void glSamplerParameteri(uint32_t sampler, uint32_t pname, int32_t param);
inline void glSamplerParameteriv(uint32_t sampler, uint32_t pname, int32_t* param);
inline void glTexImage2D(uint32_t target, int32_t level, int32_t internal_format, int32_t width,
int32_t height, int32_t border, uint32_t format, uint32_t type,
void* data);
inline void glTexImage3D(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, void* pixels);
inline void glTexParameterf(uint32_t target, uint32_t parameter, float value);
inline void glTexParameterfv(uint32_t target, uint32_t pname, float* params);
inline void glTexParameteri(uint32_t target, uint32_t parameter, int32_t value);
inline void glTexParameteriv(uint32_t target, uint32_t pname, int32_t* params);
inline void glTexStorage2D(uint32_t target, int32_t levels, uint32_t internalformat,
int32_t width, int32_t height);
inline void glTexStorage2DMultisample(uint32_t target, int32_t samples, uint32_t internalformat,
int32_t width, int32_t height,
uint8_t fixedsamplelocations);
inline void glTexStorage3D(uint32_t target, int32_t levels, uint32_t internalformat,
int32_t width, int32_t height, int32_t depth);
inline void glTexSubImage2D(uint32_t target, int32_t level, int32_t xoffset, int32_t yoffset,
int32_t width, int32_t height, uint32_t format, uint32_t type,
void* data);
inline void glTexSubImage3D(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, void* pixels);
inline void glBeginTransformFeedback(uint32_t primitiveMode);
inline void glBindTransformFeedback(uint32_t target, uint32_t id);
inline void glDeleteTransformFeedbacks(int32_t n, uint32_t* ids);
inline void glEndTransformFeedback();
inline void glGenTransformFeedbacks(int32_t n, uint32_t* ids);
inline void glGetTransformFeedbackVarying(uint32_t program, uint32_t index, int32_t bufSize,
int32_t* length, int32_t* size, uint32_t* type,
char* name);
inline uint8_t glIsTransformFeedback(uint32_t id);
inline void glPauseTransformFeedback();
inline void glResumeTransformFeedback();
inline void glTransformFeedbackVaryings(uint32_t program, int32_t count, char** varyings,
uint32_t bufferMode);
inline void glBindVertexArray(uint32_t array);
inline void glBindVertexBuffer(uint32_t bindingindex, uint32_t buffer, int32_t offset,
int32_t stride);
inline void glDeleteVertexArrays(int32_t count, uint32_t* arrays);
inline void glDisableVertexAttribArray(uint32_t location);
inline void glEnableVertexAttribArray(uint32_t location);
inline void glGenVertexArrays(int32_t count, uint32_t* arrays);
inline void glGetVertexAttribIiv(uint32_t index, uint32_t pname, int32_t* params);
inline void glGetVertexAttribIuiv(uint32_t index, uint32_t pname, uint32_t* params);
inline void glGetVertexAttribPointerv(uint32_t index, uint32_t pname, void** pointer);
inline void glGetVertexAttribfv(uint32_t index, uint32_t pname, float* params);
inline void glGetVertexAttribiv(uint32_t index, uint32_t pname, int32_t* params);
inline uint8_t glIsVertexArray(uint32_t array);
inline void glVertexAttrib1f(uint32_t location, float value0);
inline void glVertexAttrib1fv(uint32_t location, float* value);
inline void glVertexAttrib2f(uint32_t location, float value0, float value1);
inline void glVertexAttrib2fv(uint32_t location, float* value);
inline void glVertexAttrib3f(uint32_t location, float value0, float value1, float value2);
inline void glVertexAttrib3fv(uint32_t location, float* value);
inline void glVertexAttrib4f(uint32_t location, float value0, float value1, float value2,
float value3);
inline void glVertexAttrib4fv(uint32_t location, float* value);
inline void glVertexAttribBinding(uint32_t attribindex, uint32_t bindingindex);
inline void glVertexAttribDivisor(uint32_t index, uint32_t divisor);
inline void glVertexAttribFormat(uint32_t attribindex, int32_t size, uint32_t type,
uint8_t normalized, uint32_t relativeoffset);
inline void glVertexAttribI4i(uint32_t index, int32_t x, int32_t y, int32_t z, int32_t w);
inline void glVertexAttribI4iv(uint32_t index, int32_t* v);
inline void glVertexAttribI4ui(uint32_t index, uint32_t x, uint32_t y, uint32_t z, uint32_t w);
inline void glVertexAttribI4uiv(uint32_t index, uint32_t* v);
inline void glVertexAttribIFormat(uint32_t attribindex, int32_t size, uint32_t type,
uint32_t relativeoffset);
inline void glVertexAttribIPointer(uint32_t index, int32_t size, uint32_t type, int32_t stride,
void* pointer);
inline void glVertexAttribPointer(uint32_t location, int32_t size, uint32_t type,
uint8_t normalized, int32_t stride, void* data);
inline void glVertexBindingDivisor(uint32_t bindingindex, uint32_t divisor);
inline int eglInitialize(void* dpy, int* major, int* minor);
inline void* eglCreateContext(void* display, void* config, void* share_context,
int* attrib_list);
inline int eglMakeCurrent(void* display, void* draw, void* read, void* context);
inline int eglSwapBuffers(void* display, void* surface);
inline int eglQuerySurface(void* display, void* surface, int attribute, int* value);
inline void* glXCreateContext(void* dpy, void* vis, void* shareList, bool direct);
inline void* glXCreateNewContext(void* display, void* fbconfig, uint32_t type, void* shared,
bool direct);
inline int glXMakeContextCurrent(void* display, void* draw, void* read, void* ctx);
inline int glXMakeCurrent(void* display, void* drawable, void* ctx);
inline void glXSwapBuffers(void* display, void* drawable);
inline int glXQueryDrawable(void* display, void* draw, int attribute, int* value);
inline void* wglCreateContext(void* hdc);
inline void* wglCreateContextAttribsARB(void* hdc, void* hShareContext, int* attribList);
inline int wglMakeCurrent(void* hdc, void* hglrc);
inline void wglSwapBuffers(void* hdc);
inline int CGLCreateContext(void* pix, void* share, void** ctx);
inline int CGLSetCurrentContext(void* ctx);
inline int CGLGetSurface(void* ctx, void** cid, int32_t* wid, int32_t* sid);
inline int CGSGetSurfaceBounds(void* cid, int32_t wid, int32_t sid, double* bounds);
inline int CGLFlushDrawable(void* ctx);
inline void glGetQueryObjecti64v(uint32_t query, uint32_t parameter, int64_t* value);
inline void glGetQueryObjectui64v(uint32_t query, uint32_t parameter, uint64_t* value);
inline void architecture(uint32_t pointer_alignment, uint32_t pointer_size,
uint32_t integer_size, bool little_endian);
inline void replayCreateRenderer(uint32_t id);
inline void replayBindRenderer(uint32_t id);
inline void switchThread(uint64_t threadID);
inline void backbufferInfo(int32_t width, int32_t height, uint32_t color_fmt,
uint32_t depth_fmt, uint32_t stencil_fmt, bool resetViewportScissor,
bool preserveBuffersOnSwap);
inline void startTimer(uint8_t index);
inline uint64_t stopTimer(uint8_t index);
inline void flushPostBuffer();
protected:
GlesImports mImports;
// Globals
ContextID NextContextID;
ThreadID CurrentThread;
ThreadIDToContext__R Contexts;
EGLContextToContext__R EGLContexts;
GLXContextToContext__R GLXContexts;
HGLRCToContext__R WGLContexts;
CGLContextObjToContext__R CGLContexts;
#include "gles_state_externs.inl"
};
// Inline methods
inline void GlesSpy::init(std::shared_ptr<gapic::Encoder> encoder) {
SpyBase::init(encoder);
mImports.Resolve();
NextContextID = 0;
CurrentThread = 0;
Contexts = ThreadIDToContext__R();
EGLContexts = EGLContextToContext__R();
GLXContexts = GLXContextToContext__R();
WGLContexts = HGLRCToContext__R();
CGLContexts = CGLContextObjToContext__R();
}
inline void GlesSpy::glBlendBarrierKHR() {
GAPID_INFO("glBlendBarrierKHR()\n");
Observations observations;
do {
uint32_t l_requiresExtension_0_ext = ExtensionId::GL_KHR_blend_equation_advanced;
observe(observations.mReads);
mImports.glBlendBarrierKHR();
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlBlendBarrierKHR coder(observations);
mEncoder->Object(&coder);
}
inline void GlesSpy::glBlendEquationSeparateiEXT(uint32_t buf, uint32_t modeRGB,
uint32_t modeAlpha) {
GAPID_INFO("glBlendEquationSeparateiEXT(%" PRIu32 ", %u, %u)\n", buf, modeRGB, modeAlpha);
Observations observations;
do {
uint32_t l_requiresExtension_1_ext = ExtensionId::GL_EXT_draw_buffers_indexed;
observe(observations.mReads);
mImports.glBlendEquationSeparateiEXT(buf, modeRGB, modeAlpha);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlBlendEquationSeparateiEXT coder(observations, buf, modeRGB, modeAlpha);
mEncoder->Object(&coder);
}
inline void GlesSpy::glBlendEquationiEXT(uint32_t buf, uint32_t mode) {
GAPID_INFO("glBlendEquationiEXT(%" PRIu32 ", %u)\n", buf, mode);
Observations observations;
do {
uint32_t l_requiresExtension_2_ext = ExtensionId::GL_EXT_draw_buffers_indexed;
observe(observations.mReads);
mImports.glBlendEquationiEXT(buf, mode);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlBlendEquationiEXT coder(observations, buf, mode);
mEncoder->Object(&coder);
}
inline void GlesSpy::glBlendFuncSeparateiEXT(uint32_t buf, uint32_t srcRGB, uint32_t dstRGB,
uint32_t srcAlpha, uint32_t dstAlpha) {
GAPID_INFO("glBlendFuncSeparateiEXT(%" PRIu32 ", %u, %u, %u, %u)\n", buf, srcRGB, dstRGB,
srcAlpha, dstAlpha);
Observations observations;
do {
uint32_t l_requiresExtension_3_ext = ExtensionId::GL_EXT_draw_buffers_indexed;
observe(observations.mReads);
mImports.glBlendFuncSeparateiEXT(buf, srcRGB, dstRGB, srcAlpha, dstAlpha);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlBlendFuncSeparateiEXT coder(observations, buf, srcRGB, dstRGB, srcAlpha,
dstAlpha);
mEncoder->Object(&coder);
}
inline void GlesSpy::glBlendFunciEXT(uint32_t buf, uint32_t src, uint32_t dst) {
GAPID_INFO("glBlendFunciEXT(%" PRIu32 ", %u, %u)\n", buf, src, dst);
Observations observations;
do {
uint32_t l_requiresExtension_4_ext = ExtensionId::GL_EXT_draw_buffers_indexed;
observe(observations.mReads);
mImports.glBlendFunciEXT(buf, src, dst);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlBlendFunciEXT coder(observations, buf, src, dst);
mEncoder->Object(&coder);
}
inline void GlesSpy::glColorMaskiEXT(uint32_t index, uint8_t r, uint8_t g, uint8_t b, uint8_t a) {
GAPID_INFO("glColorMaskiEXT(%" PRIu32 ", %" PRIu8 ", %" PRIu8 ", %" PRIu8 ", %" PRIu8 ")\n",
index, r, g, b, a);
Observations observations;
do {
uint32_t l_requiresExtension_5_ext = ExtensionId::GL_EXT_draw_buffers_indexed;
observe(observations.mReads);
mImports.glColorMaskiEXT(index, r, g, b, a);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlColorMaskiEXT coder(observations, index, r, g, b, a);
mEncoder->Object(&coder);
}
inline void GlesSpy::glCopyImageSubDataEXT(uint32_t srcName, uint32_t srcTarget, int32_t srcLevel,
int32_t srcX, int32_t srcY, int32_t srcZ,
uint32_t dstName, uint32_t dstTarget, int32_t dstLevel,
int32_t dstX, int32_t dstY, int32_t dstZ,
int32_t srcWidth, int32_t srcHeight, int32_t srcDepth) {
GAPID_INFO("glCopyImageSubDataEXT(%" PRIu32 ", %u, %" PRId32 ", %" PRId32 ", %" PRId32
", %" PRId32 ", %" PRIu32 ", %u, %" PRId32 ", %" PRId32 ", %" PRId32 ", %" PRId32
", %" PRId32 ", %" PRId32 ", %" PRId32 ")\n",
srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX,
dstY, dstZ, srcWidth, srcHeight, srcDepth);
Observations observations;
do {
uint32_t l_requiresExtension_6_ext = ExtensionId::GL_EXT_copy_image;
observe(observations.mReads);
mImports.glCopyImageSubDataEXT(srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName,
dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight,
srcDepth);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlCopyImageSubDataEXT coder(
observations, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget,
dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth);
mEncoder->Object(&coder);
}
inline void GlesSpy::glDebugMessageCallbackKHR(void* callback, void* userParam) {
GAPID_INFO("glDebugMessageCallbackKHR(%p, %p)\n", callback, userParam);
Observations observations;
do {
uint32_t l_requiresExtension_7_ext = ExtensionId::GL_KHR_debug;
observe(observations.mReads);
mImports.glDebugMessageCallbackKHR(callback, userParam);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlDebugMessageCallbackKHR coder(
observations, gapic::coder::gles::GLDEBUGPROCKHR(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(callback), 0)),
gapic::coder::gles::Void__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(userParam), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glDebugMessageControlKHR(uint32_t source, uint32_t type, uint32_t severity,
int32_t count, uint32_t* ids, uint8_t enabled) {
GAPID_INFO("glDebugMessageControlKHR(%u, %u, %u, %" PRId32 ", %p, %" PRIu8 ")\n", source, type,
severity, count, ids, enabled);
Observations observations;
do {
uint32_t l_requiresExtension_8_ext = ExtensionId::GL_KHR_debug;
observe(observations.mReads);
mImports.glDebugMessageControlKHR(source, type, severity, count, ids, enabled);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlDebugMessageControlKHR coder(
observations, source, type, severity, count,
gapic::coder::gles::GLuint__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(ids), 0)),
enabled);
mEncoder->Object(&coder);
}
inline void GlesSpy::glDebugMessageInsertKHR(uint32_t source, uint32_t type, uint32_t id,
uint32_t severity, int32_t length, char* buf) {
GAPID_INFO("glDebugMessageInsertKHR(%u, %u, %" PRIu32 ", %u, %" PRId32 ", %p)\n", source, type,
id, severity, length, buf);
Observations observations;
do {
uint32_t l_requiresExtension_9_ext = ExtensionId::GL_KHR_debug;
observe(observations.mReads);
mImports.glDebugMessageInsertKHR(source, type, id, severity, length, buf);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlDebugMessageInsertKHR coder(
observations, source, type, id, severity, length,
gapic::coder::gles::GLchar__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(buf), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glDisableiEXT(uint32_t target, uint32_t index) {
GAPID_INFO("glDisableiEXT(%u, %" PRIu32 ")\n", target, index);
Observations observations;
do {
uint32_t l_requiresExtension_10_ext = ExtensionId::GL_EXT_draw_buffers_indexed;
observe(observations.mReads);
mImports.glDisableiEXT(target, index);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlDisableiEXT coder(observations, target, index);
mEncoder->Object(&coder);
}
inline void GlesSpy::glEnableiEXT(uint32_t target, uint32_t index) {
GAPID_INFO("glEnableiEXT(%u, %" PRIu32 ")\n", target, index);
Observations observations;
do {
uint32_t l_requiresExtension_11_ext = ExtensionId::GL_EXT_draw_buffers_indexed;
observe(observations.mReads);
mImports.glEnableiEXT(target, index);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlEnableiEXT coder(observations, target, index);
mEncoder->Object(&coder);
}
inline void GlesSpy::glFramebufferTextureEXT(uint32_t target, uint32_t attachment, uint32_t texture,
int32_t level) {
GAPID_INFO("glFramebufferTextureEXT(%u, %u, %" PRIu32 ", %" PRId32 ")\n", target, attachment,
texture, level);
Observations observations;
do {
uint32_t l_requiresExtension_12_ext = ExtensionId::GL_EXT_geometry_shader;
observe(observations.mReads);
mImports.glFramebufferTextureEXT(target, attachment, texture, level);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlFramebufferTextureEXT coder(observations, target, attachment, texture,
level);
mEncoder->Object(&coder);
}
inline uint32_t GlesSpy::glGetDebugMessageLogKHR(uint32_t count, int32_t bufSize, uint32_t* sources,
uint32_t* types, uint32_t* ids,
uint32_t* severities, int32_t* lengths,
char* messageLog) {
GAPID_INFO("glGetDebugMessageLogKHR(%" PRIu32 ", %" PRId32 ", %p, %p, %p, %p, %p, %p)\n", count,
bufSize, sources, types, ids, severities, lengths, messageLog);
uint32_t result = 0;
Observations observations;
do {
uint32_t l_requiresExtension_13_ext = ExtensionId::GL_KHR_debug;
observe(observations.mReads);
result = mImports.glGetDebugMessageLogKHR(count, bufSize, sources, types, ids, severities,
lengths, messageLog);
break;
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetDebugMessageLogKHR coder(
observations, count, bufSize,
gapic::coder::gles::GLenum__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(sources), 0)),
gapic::coder::gles::GLenum__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(types), 0)),
gapic::coder::gles::GLuint__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(ids), 0)),
gapic::coder::gles::GLenum__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(severities), 0)),
gapic::coder::gles::GLsizei__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(lengths), 0)),
gapic::coder::gles::GLchar__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(messageLog), 0)),
result);
mEncoder->Object(&coder);
return result;
}
inline void GlesSpy::glGetObjectLabelKHR(uint32_t identifier, uint32_t name, int32_t bufSize,
int32_t* length, char* label) {
GAPID_INFO("glGetObjectLabelKHR(%u, %" PRIu32 ", %" PRId32 ", %p, %p)\n", identifier, name,
bufSize, length, label);
Observations observations;
do {
uint32_t l_requiresExtension_14_ext = ExtensionId::GL_KHR_debug;
observe(observations.mReads);
mImports.glGetObjectLabelKHR(identifier, name, bufSize, length, label);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetObjectLabelKHR coder(
observations, identifier, name, bufSize,
gapic::coder::gles::GLsizei__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(length), 0)),
gapic::coder::gles::GLchar__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(label), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetObjectPtrLabelKHR(void* ptr, int32_t bufSize, int32_t* length,
char* label) {
GAPID_INFO("glGetObjectPtrLabelKHR(%p, %" PRId32 ", %p, %p)\n", ptr, bufSize, length, label);
Observations observations;
do {
uint32_t l_requiresExtension_15_ext = ExtensionId::GL_KHR_debug;
observe(observations.mReads);
mImports.glGetObjectPtrLabelKHR(ptr, bufSize, length, label);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetObjectPtrLabelKHR coder(
observations, gapic::coder::gles::Void__CP(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(ptr), 0)),
bufSize, gapic::coder::gles::GLsizei__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(length), 0)),
gapic::coder::gles::GLchar__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(label), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetPointervKHR(uint32_t pname, void** params) {
GAPID_INFO("glGetPointervKHR(%u, %p)\n", pname, params);
Observations observations;
do {
uint32_t l_requiresExtension_16_ext = ExtensionId::GL_KHR_debug;
observe(observations.mReads);
mImports.glGetPointervKHR(pname, params);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetPointervKHR coder(
observations, pname, gapic::coder::gles::Void__P__P(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(params), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetSamplerParameterIivEXT(uint32_t sampler, uint32_t pname,
int32_t* params) {
GAPID_INFO("glGetSamplerParameterIivEXT(%" PRIu32 ", %u, %p)\n", sampler, pname, params);
Observations observations;
do {
uint32_t l_requiresExtension_17_ext = ExtensionId::GL_EXT_texture_border_clamp;
observe(observations.mReads);
mImports.glGetSamplerParameterIivEXT(sampler, pname, params);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetSamplerParameterIivEXT coder(
observations, sampler, pname,
gapic::coder::gles::GLint__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(params), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetSamplerParameterIuivEXT(uint32_t sampler, uint32_t pname,
uint32_t* params) {
GAPID_INFO("glGetSamplerParameterIuivEXT(%" PRIu32 ", %u, %p)\n", sampler, pname, params);
Observations observations;
do {
uint32_t l_requiresExtension_18_ext = ExtensionId::GL_EXT_texture_border_clamp;
observe(observations.mReads);
mImports.glGetSamplerParameterIuivEXT(sampler, pname, params);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetSamplerParameterIuivEXT coder(
observations, sampler, pname,
gapic::coder::gles::GLuint__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(params), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetTexParameterIivEXT(uint32_t target, uint32_t pname, int32_t* params) {
GAPID_INFO("glGetTexParameterIivEXT(%u, %u, %p)\n", target, pname, params);
Observations observations;
do {
uint32_t l_requiresExtension_19_ext = ExtensionId::GL_EXT_texture_border_clamp;
observe(observations.mReads);
mImports.glGetTexParameterIivEXT(target, pname, params);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetTexParameterIivEXT coder(
observations, target, pname, gapic::coder::gles::GLint__P(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(params), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetTexParameterIuivEXT(uint32_t target, uint32_t pname, uint32_t* params) {
GAPID_INFO("glGetTexParameterIuivEXT(%u, %u, %p)\n", target, pname, params);
Observations observations;
do {
uint32_t l_requiresExtension_20_ext = ExtensionId::GL_EXT_texture_border_clamp;
observe(observations.mReads);
mImports.glGetTexParameterIuivEXT(target, pname, params);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetTexParameterIuivEXT coder(
observations, target, pname,
gapic::coder::gles::GLuint__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(params), 0)));
mEncoder->Object(&coder);
}
inline uint8_t GlesSpy::glIsEnablediEXT(uint32_t target, uint32_t index) {
GAPID_INFO("glIsEnablediEXT(%u, %" PRIu32 ")\n", target, index);
uint8_t result = 0;
Observations observations;
do {
uint32_t l_requiresExtension_21_ext = ExtensionId::GL_EXT_draw_buffers_indexed;
observe(observations.mReads);
result = mImports.glIsEnablediEXT(target, index);
break;
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlIsEnablediEXT coder(observations, target, index, result);
mEncoder->Object(&coder);
return result;
}
inline void GlesSpy::glMinSampleShadingOES(float value) {
GAPID_INFO("glMinSampleShadingOES(%f)\n", value);
Observations observations;
do {
uint32_t l_requiresExtension_22_ext = ExtensionId::GL_OES_sample_shading;
observe(observations.mReads);
mImports.glMinSampleShadingOES(value);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlMinSampleShadingOES coder(observations, value);
mEncoder->Object(&coder);
}
inline void GlesSpy::glObjectLabelKHR(uint32_t identifier, uint32_t name, int32_t length,
char* label) {
GAPID_INFO("glObjectLabelKHR(%u, %" PRIu32 ", %" PRId32 ", %p)\n", identifier, name, length,
label);
Observations observations;
do {
uint32_t l_requiresExtension_23_ext = ExtensionId::GL_KHR_debug;
observe(observations.mReads);
mImports.glObjectLabelKHR(identifier, name, length, label);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlObjectLabelKHR coder(
observations, identifier, name, length,
gapic::coder::gles::GLchar__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(label), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glObjectPtrLabelKHR(void* ptr, int32_t length, char* label) {
GAPID_INFO("glObjectPtrLabelKHR(%p, %" PRId32 ", %p)\n", ptr, length, label);
Observations observations;
do {
uint32_t l_requiresExtension_24_ext = ExtensionId::GL_KHR_debug;
observe(observations.mReads);
mImports.glObjectPtrLabelKHR(ptr, length, label);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlObjectPtrLabelKHR coder(
observations, gapic::coder::gles::Void__CP(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(ptr), 0)),
length, gapic::coder::gles::GLchar__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(label), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glPatchParameteriEXT(uint32_t pname, int32_t value) {
GAPID_INFO("glPatchParameteriEXT(%u, %" PRId32 ")\n", pname, value);
Observations observations;
do {
uint32_t l_requiresExtension_25_ext = ExtensionId::GL_EXT_tessellation_shader;
observe(observations.mReads);
mImports.glPatchParameteriEXT(pname, value);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlPatchParameteriEXT coder(observations, pname, value);
mEncoder->Object(&coder);
}
inline void GlesSpy::glPopDebugGroupKHR() {
GAPID_INFO("glPopDebugGroupKHR()\n");
Observations observations;
do {
uint32_t l_requiresExtension_26_ext = ExtensionId::GL_KHR_debug;
observe(observations.mReads);
mImports.glPopDebugGroupKHR();
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlPopDebugGroupKHR coder(observations);
mEncoder->Object(&coder);
}
inline void GlesSpy::glPrimitiveBoundingBoxEXT(float minX, float minY, float minZ, float minW,
float maxX, float maxY, float maxZ, float maxW) {
GAPID_INFO("glPrimitiveBoundingBoxEXT(%f, %f, %f, %f, %f, %f, %f, %f)\n", minX, minY, minZ,
minW, maxX, maxY, maxZ, maxW);
Observations observations;
do {
uint32_t l_requiresExtension_27_ext = ExtensionId::GL_EXT_primitive_bounding_box;
observe(observations.mReads);
mImports.glPrimitiveBoundingBoxEXT(minX, minY, minZ, minW, maxX, maxY, maxZ, maxW);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlPrimitiveBoundingBoxEXT coder(observations, minX, minY, minZ, minW, maxX,
maxY, maxZ, maxW);
mEncoder->Object(&coder);
}
inline void GlesSpy::glPushDebugGroupKHR(uint32_t source, uint32_t id, int32_t length,
char* message) {
GAPID_INFO("glPushDebugGroupKHR(%u, %" PRIu32 ", %" PRId32 ", %p)\n", source, id, length,
message);
Observations observations;
do {
uint32_t l_requiresExtension_28_ext = ExtensionId::GL_KHR_debug;
observe(observations.mReads);
mImports.glPushDebugGroupKHR(source, id, length, message);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlPushDebugGroupKHR coder(
observations, source, id, length,
gapic::coder::gles::GLchar__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(message), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glSamplerParameterIivEXT(uint32_t sampler, uint32_t pname, int32_t* param) {
GAPID_INFO("glSamplerParameterIivEXT(%" PRIu32 ", %u, %p)\n", sampler, pname, param);
Observations observations;
do {
uint32_t l_requiresExtension_29_ext = ExtensionId::GL_EXT_texture_border_clamp;
observe(observations.mReads);
mImports.glSamplerParameterIivEXT(sampler, pname, param);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlSamplerParameterIivEXT coder(
observations, sampler, pname,
gapic::coder::gles::GLint__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(param), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glSamplerParameterIuivEXT(uint32_t sampler, uint32_t pname, uint32_t* param) {
GAPID_INFO("glSamplerParameterIuivEXT(%" PRIu32 ", %u, %p)\n", sampler, pname, param);
Observations observations;
do {
uint32_t l_requiresExtension_30_ext = ExtensionId::GL_EXT_texture_border_clamp;
observe(observations.mReads);
mImports.glSamplerParameterIuivEXT(sampler, pname, param);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlSamplerParameterIuivEXT coder(
observations, sampler, pname,
gapic::coder::gles::GLuint__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(param), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glTexBufferEXT(uint32_t target, uint32_t internalformat, uint32_t buffer) {
GAPID_INFO("glTexBufferEXT(%u, %u, %" PRIu32 ")\n", target, internalformat, buffer);
Observations observations;
do {
uint32_t l_requiresExtension_31_ext = ExtensionId::GL_EXT_texture_buffer;
observe(observations.mReads);
mImports.glTexBufferEXT(target, internalformat, buffer);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlTexBufferEXT coder(observations, target, internalformat, buffer);
mEncoder->Object(&coder);
}
inline void GlesSpy::glTexBufferRangeEXT(uint32_t target, uint32_t internalformat, uint32_t buffer,
int32_t offset, int32_t size) {
GAPID_INFO("glTexBufferRangeEXT(%u, %u, %" PRIu32 ", %" PRId32 ", %" PRId32 ")\n", target,
internalformat, buffer, offset, size);
Observations observations;
do {
uint32_t l_requiresExtension_32_ext = ExtensionId::GL_EXT_texture_buffer;
observe(observations.mReads);
mImports.glTexBufferRangeEXT(target, internalformat, buffer, offset, size);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlTexBufferRangeEXT coder(observations, target, internalformat, buffer,
offset, size);
mEncoder->Object(&coder);
}
inline void GlesSpy::glTexParameterIivEXT(uint32_t target, uint32_t pname, int32_t* params) {
GAPID_INFO("glTexParameterIivEXT(%u, %u, %p)\n", target, pname, params);
Observations observations;
do {
uint32_t l_requiresExtension_33_ext = ExtensionId::GL_EXT_texture_border_clamp;
observe(observations.mReads);
mImports.glTexParameterIivEXT(target, pname, params);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlTexParameterIivEXT coder(
observations, target, pname,
gapic::coder::gles::GLint__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(params), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glTexParameterIuivEXT(uint32_t target, uint32_t pname, uint32_t* params) {
GAPID_INFO("glTexParameterIuivEXT(%u, %u, %p)\n", target, pname, params);
Observations observations;
do {
uint32_t l_requiresExtension_34_ext = ExtensionId::GL_EXT_texture_border_clamp;
observe(observations.mReads);
mImports.glTexParameterIuivEXT(target, pname, params);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlTexParameterIuivEXT coder(
observations, target, pname,
gapic::coder::gles::GLuint__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(params), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glTexStorage3DMultisampleOES(uint32_t target, int32_t samples,
uint32_t internalformat, int32_t width,
int32_t height, int32_t depth,
uint8_t fixedsamplelocations) {
GAPID_INFO("glTexStorage3DMultisampleOES(%u, %" PRId32 ", %u, %" PRId32 ", %" PRId32
", %" PRId32 ", %" PRIu8 ")\n",
target, samples, internalformat, width, height, depth, fixedsamplelocations);
Observations observations;
do {
uint32_t l_requiresExtension_35_ext =
ExtensionId::GL_OES_texture_storage_multisample_2d_array;
observe(observations.mReads);
mImports.glTexStorage3DMultisampleOES(target, samples, internalformat, width, height, depth,
fixedsamplelocations);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlTexStorage3DMultisampleOES coder(observations, target, samples,
internalformat, width, height, depth,
fixedsamplelocations);
mEncoder->Object(&coder);
}
inline void GlesSpy::glBeginQuery(uint32_t target, uint32_t query) {
GAPID_INFO("glBeginQuery(%u, %" PRIu32 ")\n", target, query);
Observations observations;
do {
uint32_t l_minRequiredVersion_36_major = 3;
uint32_t l_minRequiredVersion_36_minor = 0;
switch (target) {
case GLenum::GL_ANY_SAMPLES_PASSED: // fall-through...
case GLenum::GL_ANY_SAMPLES_PASSED_CONSERVATIVE: // fall-through...
case GLenum::GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN: {
break;
}
}
observe(observations.mReads);
mImports.glBeginQuery(target, query);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlBeginQuery coder(observations, target, query);
mEncoder->Object(&coder);
}
inline void GlesSpy::glDeleteQueries(int32_t count, uint32_t* queries) {
GAPID_INFO("glDeleteQueries(%" PRId32 ", %p)\n", count, queries);
Observations observations;
do {
uint32_t l_minRequiredVersion_38_major = 3;
uint32_t l_minRequiredVersion_38_minor = 0;
Slice<QueryId> l_q = slice(queries, (uint64_t)((GLsizei)(0)), (uint64_t)(count));
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_39_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_39_result;
for (GLsizei l_i = (GLsizei)(0); l_i < count; ++l_i) {
l_ctx->mInstances.mQueries[read(l_q, (uint64_t)(l_i))] = std::shared_ptr<Query>();
}
observe(observations.mReads);
mImports.glDeleteQueries(count, queries);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlDeleteQueries coder(
observations, count, gapic::coder::gles::QueryId__CP(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(queries), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glEndQuery(uint32_t target) {
GAPID_INFO("glEndQuery(%u)\n", target);
Observations observations;
do {
uint32_t l_minRequiredVersion_40_major = 3;
uint32_t l_minRequiredVersion_40_minor = 0;
switch (target) {
case GLenum::GL_ANY_SAMPLES_PASSED: // fall-through...
case GLenum::GL_ANY_SAMPLES_PASSED_CONSERVATIVE: // fall-through...
case GLenum::GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN: {
break;
}
}
observe(observations.mReads);
mImports.glEndQuery(target);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlEndQuery coder(observations, target);
mEncoder->Object(&coder);
}
inline void GlesSpy::glGenQueries(int32_t count, uint32_t* queries) {
GAPID_INFO("glGenQueries(%" PRId32 ", %p)\n", count, queries);
Observations observations;
do {
uint32_t l_minRequiredVersion_42_major = 3;
uint32_t l_minRequiredVersion_42_minor = 0;
Slice<QueryId> l_q = slice(queries, (uint64_t)((GLsizei)(0)), (uint64_t)(count));
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_43_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_43_result;
observe(observations.mReads);
mImports.glGenQueries(count, queries);
for (GLsizei l_i = (GLsizei)(0); l_i < count; ++l_i) {
QueryId l_id = (QueryId)(
slice(queries, (uint64_t)((GLsizei)(0)), (uint64_t)(count))[(uint64_t)(l_i)]);
l_ctx->mInstances.mQueries[l_id] = std::shared_ptr<Query>((new Query()));
write(l_q, (uint64_t)(l_i), l_id);
}
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGenQueries coder(
observations, count, gapic::coder::gles::QueryId__P(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(queries), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetQueryObjectuiv(uint32_t query, uint32_t parameter, uint32_t* value) {
GAPID_INFO("glGetQueryObjectuiv(%" PRIu32 ", %u, %p)\n", query, parameter, value);
Observations observations;
do {
uint32_t l_minRequiredVersion_44_major = 3;
uint32_t l_minRequiredVersion_44_minor = 0;
switch (parameter) {
case GLenum::GL_QUERY_RESULT: // fall-through...
case GLenum::GL_QUERY_RESULT_AVAILABLE: {
break;
}
}
observe(observations.mReads);
mImports.glGetQueryObjectuiv(query, parameter, value);
write(slice(value, 0, 1), 0, slice(value, 0, 1)[0]);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetQueryObjectuiv coder(
observations, query, parameter,
gapic::coder::gles::GLuint__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(value), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetQueryiv(uint32_t target, uint32_t parameter, int32_t* value) {
GAPID_INFO("glGetQueryiv(%u, %u, %p)\n", target, parameter, value);
Observations observations;
do {
uint32_t l_minRequiredVersion_46_major = 3;
uint32_t l_minRequiredVersion_46_minor = 0;
switch (target) {
case GLenum::GL_ANY_SAMPLES_PASSED: // fall-through...
case GLenum::GL_ANY_SAMPLES_PASSED_CONSERVATIVE: // fall-through...
case GLenum::GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN: {
break;
}
}
switch (parameter) {
case GLenum::GL_CURRENT_QUERY: {
break;
}
}
observe(observations.mReads);
mImports.glGetQueryiv(target, parameter, value);
write(slice(value, 0, 1), 0, slice(value, 0, 1)[0]);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetQueryiv coder(
observations, target, parameter,
gapic::coder::gles::GLint__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(value), 0)));
mEncoder->Object(&coder);
}
inline uint8_t GlesSpy::glIsQuery(uint32_t query) {
GAPID_INFO("glIsQuery(%" PRIu32 ")\n", query);
uint8_t result = 0;
Observations observations;
do {
uint32_t l_minRequiredVersion_49_major = 3;
uint32_t l_minRequiredVersion_49_minor = 0;
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_50_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_50_result;
observe(observations.mReads);
result = mImports.glIsQuery(query);
break;
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlIsQuery coder(observations, query, result);
mEncoder->Object(&coder);
return result;
}
inline void GlesSpy::glBindBuffer(uint32_t target, uint32_t buffer) {
GAPID_INFO("glBindBuffer(%u, %" PRIu32 ")\n", target, buffer);
Observations observations;
do {
uint32_t l_minRequiredVersion_51_major = 2;
uint32_t l_minRequiredVersion_51_minor = 0;
switch (target) {
case GLenum::GL_ARRAY_BUFFER: // fall-through...
case GLenum::GL_ELEMENT_ARRAY_BUFFER: {
break;
}
case GLenum::GL_COPY_READ_BUFFER: // fall-through...
case GLenum::GL_COPY_WRITE_BUFFER: // fall-through...
case GLenum::GL_PIXEL_PACK_BUFFER: // fall-through...
case GLenum::GL_PIXEL_UNPACK_BUFFER: // fall-through...
case GLenum::GL_TRANSFORM_FEEDBACK_BUFFER: // fall-through...
case GLenum::GL_UNIFORM_BUFFER: {
uint32_t l_minRequiredVersion_52_major = 3;
uint32_t l_minRequiredVersion_52_minor = 0;
break;
}
case GLenum::GL_ATOMIC_COUNTER_BUFFER: // fall-through...
case GLenum::GL_DISPATCH_INDIRECT_BUFFER: // fall-through...
case GLenum::GL_DRAW_INDIRECT_BUFFER: // fall-through...
case GLenum::GL_SHADER_STORAGE_BUFFER: {
uint32_t l_minRequiredVersion_53_major = 3;
uint32_t l_minRequiredVersion_53_minor = 1;
break;
}
}
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_55_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_55_result;
if (!(l_ctx->mInstances.mBuffers.count(buffer) > 0)) {
l_ctx->mInstances.mBuffers[buffer] = std::shared_ptr<Buffer>((new Buffer()));
}
l_ctx->mBoundBuffers[target] = buffer;
observe(observations.mReads);
mImports.glBindBuffer(target, buffer);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlBindBuffer coder(observations, target, buffer);
mEncoder->Object(&coder);
}
inline void GlesSpy::glBindBufferBase(uint32_t target, uint32_t index, uint32_t buffer) {
GAPID_INFO("glBindBufferBase(%u, %" PRIu32 ", %" PRIu32 ")\n", target, index, buffer);
Observations observations;
do {
uint32_t l_minRequiredVersion_56_major = 3;
uint32_t l_minRequiredVersion_56_minor = 0;
switch (target) {
case GLenum::GL_TRANSFORM_FEEDBACK_BUFFER: // fall-through...
case GLenum::GL_UNIFORM_BUFFER: {
break;
}
case GLenum::GL_ATOMIC_COUNTER_BUFFER: // fall-through...
case GLenum::GL_SHADER_STORAGE_BUFFER: {
uint32_t l_minRequiredVersion_57_major = 3;
uint32_t l_minRequiredVersion_57_minor = 1;
break;
}
}
observe(observations.mReads);
mImports.glBindBufferBase(target, index, buffer);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlBindBufferBase coder(observations, target, index, buffer);
mEncoder->Object(&coder);
}
inline void GlesSpy::glBindBufferRange(uint32_t target, uint32_t index, uint32_t buffer,
int32_t offset, int32_t size) {
GAPID_INFO("glBindBufferRange(%u, %" PRIu32 ", %" PRIu32 ", %" PRId32 ", %" PRId32 ")\n",
target, index, buffer, offset, size);
Observations observations;
do {
uint32_t l_minRequiredVersion_59_major = 3;
uint32_t l_minRequiredVersion_59_minor = 0;
switch (target) {
case GLenum::GL_TRANSFORM_FEEDBACK_BUFFER: // fall-through...
case GLenum::GL_UNIFORM_BUFFER: {
break;
}
case GLenum::GL_ATOMIC_COUNTER_BUFFER: // fall-through...
case GLenum::GL_SHADER_STORAGE_BUFFER: {
uint32_t l_minRequiredVersion_60_major = 3;
uint32_t l_minRequiredVersion_60_minor = 1;
break;
}
}
observe(observations.mReads);
mImports.glBindBufferRange(target, index, buffer, offset, size);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlBindBufferRange coder(observations, target, index, buffer, offset, size);
mEncoder->Object(&coder);
}
inline void GlesSpy::glBufferData(uint32_t target, int32_t size, void* data, uint32_t usage) {
GAPID_INFO("glBufferData(%u, %" PRId32 ", %p, %u)\n", target, size, data, usage);
Observations observations;
do {
uint32_t l_minRequiredVersion_62_major = 2;
uint32_t l_minRequiredVersion_62_minor = 0;
switch (target) {
case GLenum::GL_ARRAY_BUFFER: // fall-through...
case GLenum::GL_ELEMENT_ARRAY_BUFFER: {
break;
}
case GLenum::GL_COPY_READ_BUFFER: // fall-through...
case GLenum::GL_COPY_WRITE_BUFFER: // fall-through...
case GLenum::GL_PIXEL_PACK_BUFFER: // fall-through...
case GLenum::GL_PIXEL_UNPACK_BUFFER: // fall-through...
case GLenum::GL_TRANSFORM_FEEDBACK_BUFFER: // fall-through...
case GLenum::GL_UNIFORM_BUFFER: {
uint32_t l_minRequiredVersion_63_major = 3;
uint32_t l_minRequiredVersion_63_minor = 0;
break;
}
case GLenum::GL_ATOMIC_COUNTER_BUFFER: // fall-through...
case GLenum::GL_DISPATCH_INDIRECT_BUFFER: // fall-through...
case GLenum::GL_DRAW_INDIRECT_BUFFER: // fall-through...
case GLenum::GL_SHADER_STORAGE_BUFFER: {
uint32_t l_minRequiredVersion_64_major = 3;
uint32_t l_minRequiredVersion_64_minor = 1;
break;
}
}
switch (usage) {
case GLenum::GL_DYNAMIC_DRAW: // fall-through...
case GLenum::GL_STATIC_DRAW: // fall-through...
case GLenum::GL_STREAM_DRAW: {
break;
}
case GLenum::GL_DYNAMIC_COPY: // fall-through...
case GLenum::GL_DYNAMIC_READ: // fall-through...
case GLenum::GL_STATIC_COPY: // fall-through...
case GLenum::GL_STATIC_READ: // fall-through...
case GLenum::GL_STREAM_COPY: // fall-through...
case GLenum::GL_STREAM_READ: {
uint32_t l_minRequiredVersion_66_major = 3;
uint32_t l_minRequiredVersion_66_minor = 0;
break;
}
}
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_68_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_68_result;
BufferId l_id = l_ctx->mBoundBuffers[target];
std::shared_ptr<Buffer> l_b = l_ctx->mInstances.mBuffers[l_id];
l_b->mData = /* clang-format off */
/* switch(data != nullptr) */
/* case true: */(((data != nullptr) == (true))) ? (clone(slice((uint8_t*)(data), (uint64_t)((GLsizeiptr)(0)), (uint64_t)(size)))) :
/* case false: */(((data != nullptr) == (false))) ? (make<uint8_t>((uint64_t)(size))) :
/* default: */ Slice<uint8_t>() /* clang-format on */;
l_b->mSize = size;
l_b->mUsage = usage;
observe(observations.mReads);
mImports.glBufferData(target, size, data, usage);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlBufferData coder(
observations, target, size,
gapic::coder::gles::BufferDataPointer(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(data), 0)),
usage);
mEncoder->Object(&coder);
}
inline void GlesSpy::glBufferSubData(uint32_t target, int32_t offset, int32_t size, void* data) {
GAPID_INFO("glBufferSubData(%u, %" PRId32 ", %" PRId32 ", %p)\n", target, offset, size, data);
Observations observations;
do {
uint32_t l_minRequiredVersion_69_major = 2;
uint32_t l_minRequiredVersion_69_minor = 0;
switch (target) {
case GLenum::GL_ARRAY_BUFFER: // fall-through...
case GLenum::GL_ELEMENT_ARRAY_BUFFER: {
break;
}
case GLenum::GL_COPY_READ_BUFFER: // fall-through...
case GLenum::GL_COPY_WRITE_BUFFER: // fall-through...
case GLenum::GL_PIXEL_PACK_BUFFER: // fall-through...
case GLenum::GL_PIXEL_UNPACK_BUFFER: // fall-through...
case GLenum::GL_TRANSFORM_FEEDBACK_BUFFER: // fall-through...
case GLenum::GL_UNIFORM_BUFFER: {
uint32_t l_minRequiredVersion_70_major = 3;
uint32_t l_minRequiredVersion_70_minor = 0;
break;
}
case GLenum::GL_ATOMIC_COUNTER_BUFFER: // fall-through...
case GLenum::GL_DISPATCH_INDIRECT_BUFFER: // fall-through...
case GLenum::GL_DRAW_INDIRECT_BUFFER: // fall-through...
case GLenum::GL_SHADER_STORAGE_BUFFER: {
uint32_t l_minRequiredVersion_71_major = 3;
uint32_t l_minRequiredVersion_71_minor = 1;
break;
}
}
read(slice(data, (uint64_t)((GLsizeiptr)(0)), (uint64_t)(size)));
observe(observations.mReads);
mImports.glBufferSubData(target, offset, size, data);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlBufferSubData coder(
observations, target, offset, size,
gapic::coder::gles::BufferDataPointer(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(data), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glCopyBufferSubData(uint32_t readTarget, uint32_t writeTarget,
int32_t readOffset, int32_t writeOffset, int32_t size) {
GAPID_INFO("glCopyBufferSubData(%u, %u, %" PRId32 ", %" PRId32 ", %" PRId32 ")\n", readTarget,
writeTarget, readOffset, writeOffset, size);
Observations observations;
do {
uint32_t l_minRequiredVersion_73_major = 3;
uint32_t l_minRequiredVersion_73_minor = 0;
switch (readTarget) {
case GLenum::GL_ARRAY_BUFFER: // fall-through...
case GLenum::GL_COPY_READ_BUFFER: // fall-through...
case GLenum::GL_COPY_WRITE_BUFFER: // fall-through...
case GLenum::GL_ELEMENT_ARRAY_BUFFER: // fall-through...
case GLenum::GL_PIXEL_PACK_BUFFER: // fall-through...
case GLenum::GL_PIXEL_UNPACK_BUFFER: // fall-through...
case GLenum::GL_TRANSFORM_FEEDBACK_BUFFER: // fall-through...
case GLenum::GL_UNIFORM_BUFFER: {
break;
}
}
switch (writeTarget) {
case GLenum::GL_ARRAY_BUFFER: // fall-through...
case GLenum::GL_COPY_READ_BUFFER: // fall-through...
case GLenum::GL_COPY_WRITE_BUFFER: // fall-through...
case GLenum::GL_ELEMENT_ARRAY_BUFFER: // fall-through...
case GLenum::GL_PIXEL_PACK_BUFFER: // fall-through...
case GLenum::GL_PIXEL_UNPACK_BUFFER: // fall-through...
case GLenum::GL_TRANSFORM_FEEDBACK_BUFFER: // fall-through...
case GLenum::GL_UNIFORM_BUFFER: {
break;
}
}
observe(observations.mReads);
mImports.glCopyBufferSubData(readTarget, writeTarget, readOffset, writeOffset, size);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlCopyBufferSubData coder(observations, readTarget, writeTarget, readOffset,
writeOffset, size);
mEncoder->Object(&coder);
}
inline void GlesSpy::glDeleteBuffers(int32_t count, uint32_t* buffers) {
GAPID_INFO("glDeleteBuffers(%" PRId32 ", %p)\n", count, buffers);
Observations observations;
do {
uint32_t l_minRequiredVersion_76_major = 2;
uint32_t l_minRequiredVersion_76_minor = 0;
Slice<BufferId> l_b = slice(buffers, (uint64_t)((GLsizei)(0)), (uint64_t)(count));
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_77_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_77_result;
for (GLsizei l_i = (GLsizei)(0); l_i < count; ++l_i) {
l_ctx->mInstances.mBuffers[read(l_b, (uint64_t)(l_i))] = std::shared_ptr<Buffer>();
}
observe(observations.mReads);
mImports.glDeleteBuffers(count, buffers);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlDeleteBuffers coder(
observations, count, gapic::coder::gles::BufferId__CP(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(buffers), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGenBuffers(int32_t count, uint32_t* buffers) {
GAPID_INFO("glGenBuffers(%" PRId32 ", %p)\n", count, buffers);
Observations observations;
do {
uint32_t l_minRequiredVersion_78_major = 2;
uint32_t l_minRequiredVersion_78_minor = 0;
Slice<BufferId> l_b = slice(buffers, (uint64_t)((GLsizei)(0)), (uint64_t)(count));
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_79_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_79_result;
observe(observations.mReads);
mImports.glGenBuffers(count, buffers);
for (GLsizei l_i = (GLsizei)(0); l_i < count; ++l_i) {
BufferId l_id = (BufferId)(
slice(buffers, (uint64_t)((GLsizei)(0)), (uint64_t)(count))[(uint64_t)(l_i)]);
l_ctx->mInstances.mBuffers[l_id] = std::shared_ptr<Buffer>((new Buffer()));
write(l_b, (uint64_t)(l_i), l_id);
}
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGenBuffers coder(
observations, count, gapic::coder::gles::BufferId__P(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(buffers), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetBufferParameteri64v(uint32_t target, uint32_t pname, int64_t* params) {
GAPID_INFO("glGetBufferParameteri64v(%u, %u, %p)\n", target, pname, params);
Observations observations;
do {
uint32_t l_minRequiredVersion_80_major = 3;
uint32_t l_minRequiredVersion_80_minor = 0;
switch (target) {
case GLenum::GL_ARRAY_BUFFER: // fall-through...
case GLenum::GL_COPY_READ_BUFFER: // fall-through...
case GLenum::GL_COPY_WRITE_BUFFER: // fall-through...
case GLenum::GL_ELEMENT_ARRAY_BUFFER: // fall-through...
case GLenum::GL_PIXEL_PACK_BUFFER: // fall-through...
case GLenum::GL_PIXEL_UNPACK_BUFFER: // fall-through...
case GLenum::GL_TRANSFORM_FEEDBACK_BUFFER: // fall-through...
case GLenum::GL_UNIFORM_BUFFER: {
break;
}
}
switch (pname) {
case GLenum::GL_BUFFER_ACCESS_FLAGS: // fall-through...
case GLenum::GL_BUFFER_MAPPED: // fall-through...
case GLenum::GL_BUFFER_MAP_LENGTH: // fall-through...
case GLenum::GL_BUFFER_MAP_OFFSET: // fall-through...
case GLenum::GL_BUFFER_SIZE: // fall-through...
case GLenum::GL_BUFFER_USAGE: {
break;
}
}
observe(observations.mReads);
mImports.glGetBufferParameteri64v(target, pname, params);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetBufferParameteri64v coder(
observations, target, pname,
gapic::coder::gles::GLint64__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(params), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetBufferParameteriv(uint32_t target, uint32_t parameter, int32_t* value) {
GAPID_INFO("glGetBufferParameteriv(%u, %u, %p)\n", target, parameter, value);
Observations observations;
do {
uint32_t l_minRequiredVersion_83_major = 2;
uint32_t l_minRequiredVersion_83_minor = 0;
switch (target) {
case GLenum::GL_ARRAY_BUFFER: // fall-through...
case GLenum::GL_ELEMENT_ARRAY_BUFFER: {
break;
}
case GLenum::GL_COPY_READ_BUFFER: // fall-through...
case GLenum::GL_COPY_WRITE_BUFFER: // fall-through...
case GLenum::GL_PIXEL_PACK_BUFFER: // fall-through...
case GLenum::GL_PIXEL_UNPACK_BUFFER: // fall-through...
case GLenum::GL_TRANSFORM_FEEDBACK_BUFFER: // fall-through...
case GLenum::GL_UNIFORM_BUFFER: {
uint32_t l_minRequiredVersion_84_major = 3;
uint32_t l_minRequiredVersion_84_minor = 0;
break;
}
}
switch (parameter) {
case GLenum::GL_BUFFER_SIZE: // fall-through...
case GLenum::GL_BUFFER_USAGE: {
break;
}
case GLenum::GL_BUFFER_ACCESS_FLAGS: // fall-through...
case GLenum::GL_BUFFER_MAPPED: // fall-through...
case GLenum::GL_BUFFER_MAP_LENGTH: // fall-through...
case GLenum::GL_BUFFER_MAP_OFFSET: {
uint32_t l_minRequiredVersion_86_major = 3;
uint32_t l_minRequiredVersion_86_minor = 0;
break;
}
}
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_88_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_88_result;
BufferId l_id = l_ctx->mBoundBuffers[target];
std::shared_ptr<Buffer> l_b = l_ctx->mInstances.mBuffers[l_id];
observe(observations.mReads);
mImports.glGetBufferParameteriv(target, parameter, value);
write(slice(value, 0, 1), 0, /* clang-format off */
/* switch(parameter) */
/* case GLenum::GL_BUFFER_SIZE: */(((parameter) == (GLenum::GL_BUFFER_SIZE))) ? ((GLint)(l_b->mSize)) :
/* case GLenum::GL_BUFFER_USAGE: */(((parameter) == (GLenum::GL_BUFFER_USAGE))) ? ((GLint)(l_b->mUsage)) :
/* default: */ 0 /* clang-format on */);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetBufferParameteriv coder(
observations, target, parameter,
gapic::coder::gles::GLint__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(value), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetBufferPointerv(uint32_t target, uint32_t pname, void** params) {
GAPID_INFO("glGetBufferPointerv(%u, %u, %p)\n", target, pname, params);
Observations observations;
do {
uint32_t l_minRequiredVersion_89_major = 3;
uint32_t l_minRequiredVersion_89_minor = 0;
switch (target) {
case GLenum::GL_ARRAY_BUFFER: // fall-through...
case GLenum::GL_COPY_READ_BUFFER: // fall-through...
case GLenum::GL_COPY_WRITE_BUFFER: // fall-through...
case GLenum::GL_ELEMENT_ARRAY_BUFFER: // fall-through...
case GLenum::GL_PIXEL_PACK_BUFFER: // fall-through...
case GLenum::GL_PIXEL_UNPACK_BUFFER: // fall-through...
case GLenum::GL_TRANSFORM_FEEDBACK_BUFFER: // fall-through...
case GLenum::GL_UNIFORM_BUFFER: {
break;
}
}
switch (pname) {
case GLenum::GL_BUFFER_MAP_POINTER: {
break;
}
}
observe(observations.mReads);
mImports.glGetBufferPointerv(target, pname, params);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetBufferPointerv coder(
observations, target, pname,
gapic::coder::gles::Void__P__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(params), 0)));
mEncoder->Object(&coder);
}
inline uint8_t GlesSpy::glIsBuffer(uint32_t buffer) {
GAPID_INFO("glIsBuffer(%" PRIu32 ")\n", buffer);
uint8_t result = 0;
Observations observations;
do {
uint32_t l_minRequiredVersion_92_major = 2;
uint32_t l_minRequiredVersion_92_minor = 0;
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_93_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_93_result;
observe(observations.mReads);
result = mImports.glIsBuffer(buffer);
break;
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlIsBuffer coder(observations, buffer, result);
mEncoder->Object(&coder);
return result;
}
inline void* GlesSpy::glMapBufferRange(uint32_t target, int32_t offset, int32_t length,
uint32_t access) {
GAPID_INFO("glMapBufferRange(%u, %" PRId32 ", %" PRId32 ", %u)\n", target, offset, length,
access);
void* result = nullptr;
Observations observations;
do {
uint32_t l_minRequiredVersion_94_major = 3;
uint32_t l_minRequiredVersion_94_minor = 0;
switch (target) {
case GLenum::GL_ARRAY_BUFFER: // fall-through...
case GLenum::GL_COPY_READ_BUFFER: // fall-through...
case GLenum::GL_COPY_WRITE_BUFFER: // fall-through...
case GLenum::GL_ELEMENT_ARRAY_BUFFER: // fall-through...
case GLenum::GL_PIXEL_PACK_BUFFER: // fall-through...
case GLenum::GL_PIXEL_UNPACK_BUFFER: // fall-through...
case GLenum::GL_TRANSFORM_FEEDBACK_BUFFER: // fall-through...
case GLenum::GL_UNIFORM_BUFFER: {
break;
}
case GLenum::GL_ATOMIC_COUNTER_BUFFER: // fall-through...
case GLenum::GL_DISPATCH_INDIRECT_BUFFER: // fall-through...
case GLenum::GL_DRAW_INDIRECT_BUFFER: // fall-through...
case GLenum::GL_SHADER_STORAGE_BUFFER: {
uint32_t l_minRequiredVersion_95_major = 3;
uint32_t l_minRequiredVersion_95_minor = 1;
break;
}
}
uint32_t l_supportsBits_97_seenBits = access;
uint32_t l_supportsBits_97_validBits =
GLbitfield::GL_MAP_FLUSH_EXPLICIT_BIT | GLbitfield::GL_MAP_INVALIDATE_BUFFER_BIT |
GLbitfield::GL_MAP_INVALIDATE_RANGE_BIT | GLbitfield::GL_MAP_READ_BIT |
GLbitfield::GL_MAP_UNSYNCHRONIZED_BIT | GLbitfield::GL_MAP_WRITE_BIT;
if ((access & GLbitfield::GL_MAP_FLUSH_EXPLICIT_BIT) != 0) {
}
if ((access & GLbitfield::GL_MAP_INVALIDATE_BUFFER_BIT) != 0) {
}
if ((access & GLbitfield::GL_MAP_INVALIDATE_RANGE_BIT) != 0) {
}
if ((access & GLbitfield::GL_MAP_READ_BIT) != 0) {
}
if ((access & GLbitfield::GL_MAP_UNSYNCHRONIZED_BIT) != 0) {
}
if ((access & GLbitfield::GL_MAP_WRITE_BIT) != 0) {
}
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_98_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_98_result;
std::shared_ptr<Buffer> l_b = l_ctx->mInstances.mBuffers[l_ctx->mBoundBuffers[target]];
observe(observations.mReads);
result = mImports.glMapBufferRange(target, offset, length, access);
uint8_t* l_ptr = (uint8_t*)(result);
l_b->mMappingAccess = access;
l_b->mMappingData = slice(l_ptr, (uint64_t)((GLsizeiptr)(0)), (uint64_t)(length));
if ((access & GLbitfield::GL_MAP_READ_BIT) != 0) {
Slice<uint8_t> l_src =
slice(l_b->mData, (uint64_t)(offset), (uint64_t)(offset + (GLintptr)(length)));
Slice<uint8_t> l_dst = l_b->mMappingData;
write(l_dst);
}
break;
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlMapBufferRange coder(
observations, target, offset, length, access,
gapic::coder::gles::Void__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(result), 0)));
mEncoder->Object(&coder);
return result;
}
inline uint8_t GlesSpy::glUnmapBuffer(uint32_t target) {
GAPID_INFO("glUnmapBuffer(%u)\n", target);
uint8_t result = 0;
Observations observations;
do {
uint32_t l_minRequiredVersion_99_major = 3;
uint32_t l_minRequiredVersion_99_minor = 0;
switch (target) {
case GLenum::GL_ARRAY_BUFFER: // fall-through...
case GLenum::GL_COPY_READ_BUFFER: // fall-through...
case GLenum::GL_COPY_WRITE_BUFFER: // fall-through...
case GLenum::GL_ELEMENT_ARRAY_BUFFER: // fall-through...
case GLenum::GL_PIXEL_PACK_BUFFER: // fall-through...
case GLenum::GL_PIXEL_UNPACK_BUFFER: // fall-through...
case GLenum::GL_TRANSFORM_FEEDBACK_BUFFER: // fall-through...
case GLenum::GL_UNIFORM_BUFFER: {
break;
}
case GLenum::GL_ATOMIC_COUNTER_BUFFER: // fall-through...
case GLenum::GL_DISPATCH_INDIRECT_BUFFER: // fall-through...
case GLenum::GL_DRAW_INDIRECT_BUFFER: // fall-through...
case GLenum::GL_SHADER_STORAGE_BUFFER: {
uint32_t l_minRequiredVersion_100_major = 3;
uint32_t l_minRequiredVersion_100_minor = 1;
break;
}
}
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_102_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_102_result;
std::shared_ptr<Buffer> l_b = l_ctx->mInstances.mBuffers[l_ctx->mBoundBuffers[target]];
Slice<uint8_t> copy__dst__ =
copy(slice(l_b->mData, (uint64_t)(l_b->mMappingOffset),
(uint64_t)(l_b->mMappingOffset + int32_t((l_b->mMappingData.count())))),
l_b->mMappingData);
observe(observations.mReads);
result = mImports.glUnmapBuffer(target);
write(copy__dst__);
break;
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlUnmapBuffer coder(observations, target, result);
mEncoder->Object(&coder);
return result;
}
inline void GlesSpy::glDrawArrays(uint32_t draw_mode, int32_t first_index, int32_t index_count) {
GAPID_INFO("glDrawArrays(%u, %" PRId32 ", %" PRId32 ")\n", draw_mode, first_index, index_count);
Observations observations;
do {
uint32_t l_minRequiredVersion_103_major = 2;
uint32_t l_minRequiredVersion_103_minor = 0;
switch (draw_mode) {
case GLenum::GL_LINES: // fall-through...
case GLenum::GL_LINE_LOOP: // fall-through...
case GLenum::GL_LINE_STRIP: // fall-through...
case GLenum::GL_POINTS: // fall-through...
case GLenum::GL_TRIANGLES: // fall-through...
case GLenum::GL_TRIANGLE_FAN: // fall-through...
case GLenum::GL_TRIANGLE_STRIP: {
break;
}
}
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_105_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_105_result;
uint32_t l_last_index = (uint32_t)(first_index) + (uint32_t)(index_count)-1;
std::shared_ptr<Context> l_ReadVertexArrays_106_ctx = l_ctx;
uint32_t l_ReadVertexArrays_106_first_index = (uint32_t)(first_index);
uint32_t l_ReadVertexArrays_106_last_index = l_last_index;
for (int32_t l_i = 0;
l_i < int32_t((l_ReadVertexArrays_106_ctx->mVertexAttributeArrays.size())); ++l_i) {
std::shared_ptr<VertexAttributeArray> l_arr =
l_ReadVertexArrays_106_ctx->mVertexAttributeArrays[(AttributeLocation)(l_i)];
if (l_arr->mEnabled && l_arr->mBuffer == (BufferId)(0)) {
uint32_t l_vertexAttribTypeSize_107_t = l_arr->mType;
uint32_t l_vertexAttribTypeSize_107_result = /* clang-format off */
/* switch(l_vertexAttribTypeSize_107_t) */
/* case GLenum::GL_BYTE: */(((l_vertexAttribTypeSize_107_t) == (GLenum::GL_BYTE))) ? (1) :
/* case GLenum::GL_UNSIGNED_BYTE: */(((l_vertexAttribTypeSize_107_t) == (GLenum::GL_UNSIGNED_BYTE))) ? (1) :
/* case GLenum::GL_SHORT: */(((l_vertexAttribTypeSize_107_t) == (GLenum::GL_SHORT))) ? (2) :
/* case GLenum::GL_UNSIGNED_SHORT: */(((l_vertexAttribTypeSize_107_t) == (GLenum::GL_UNSIGNED_SHORT))) ? (2) :
/* case GLenum::GL_FIXED: */(((l_vertexAttribTypeSize_107_t) == (GLenum::GL_FIXED))) ? (4) :
/* case GLenum::GL_FLOAT: */(((l_vertexAttribTypeSize_107_t) == (GLenum::GL_FLOAT))) ? (4) :
/* case GLenum::GL_HALF_FLOAT_ARB: */(((l_vertexAttribTypeSize_107_t) == (GLenum::GL_HALF_FLOAT_ARB))) ? (2) :
/* case GLenum::GL_HALF_FLOAT_OES: */(((l_vertexAttribTypeSize_107_t) == (GLenum::GL_HALF_FLOAT_OES))) ? (2) :
/* default: */ 0 /* clang-format on */;
uint32_t l_elsize = l_vertexAttribTypeSize_107_result * l_arr->mSize;
uint32_t l_elstride = /* clang-format off */
/* switch(l_arr->mStride == (GLsizei)(0)) */
/* case true: */(((l_arr->mStride == (GLsizei)(0)) == (true))) ? (l_elsize) :
/* case false: */(((l_arr->mStride == (GLsizei)(0)) == (false))) ? ((uint32_t)(l_arr->mStride)) :
/* default: */ 0 /* clang-format on */;
for (uint32_t l_v = l_ReadVertexArrays_106_first_index;
l_v < l_ReadVertexArrays_106_last_index + 1; ++l_v) {
uint32_t l_offset = l_elstride * l_v;
read(slice(l_arr->mPointer, (uint64_t)(l_offset),
(uint64_t)(l_offset + l_elsize)));
}
}
}
observe(observations.mReads);
mImports.glDrawArrays(draw_mode, first_index, index_count);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlDrawArrays coder(observations, draw_mode, first_index, index_count);
mEncoder->Object(&coder);
}
inline void GlesSpy::glDrawArraysIndirect(uint32_t mode, void* indirect) {
GAPID_INFO("glDrawArraysIndirect(%u, %p)\n", mode, indirect);
Observations observations;
do {
uint32_t l_minRequiredVersion_108_major = 3;
uint32_t l_minRequiredVersion_108_minor = 1;
switch (mode) {
case GLenum::GL_LINES: // fall-through...
case GLenum::GL_LINE_LOOP: // fall-through...
case GLenum::GL_LINE_STRIP: // fall-through...
case GLenum::GL_POINTS: // fall-through...
case GLenum::GL_TRIANGLES: // fall-through...
case GLenum::GL_TRIANGLE_FAN: // fall-through...
case GLenum::GL_TRIANGLE_STRIP: {
break;
}
}
observe(observations.mReads);
mImports.glDrawArraysIndirect(mode, indirect);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlDrawArraysIndirect coder(
observations, mode, gapic::coder::gles::Void__CP(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(indirect), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glDrawArraysInstanced(uint32_t mode, int32_t first, int32_t count,
int32_t instancecount) {
GAPID_INFO("glDrawArraysInstanced(%u, %" PRId32 ", %" PRId32 ", %" PRId32 ")\n", mode, first,
count, instancecount);
Observations observations;
do {
uint32_t l_minRequiredVersion_110_major = 3;
uint32_t l_minRequiredVersion_110_minor = 0;
switch (mode) {
case GLenum::GL_LINES: // fall-through...
case GLenum::GL_LINE_LOOP: // fall-through...
case GLenum::GL_LINE_STRIP: // fall-through...
case GLenum::GL_POINTS: // fall-through...
case GLenum::GL_TRIANGLES: // fall-through...
case GLenum::GL_TRIANGLE_FAN: // fall-through...
case GLenum::GL_TRIANGLE_STRIP: {
break;
}
}
observe(observations.mReads);
mImports.glDrawArraysInstanced(mode, first, count, instancecount);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlDrawArraysInstanced coder(observations, mode, first, count,
instancecount);
mEncoder->Object(&coder);
}
inline void GlesSpy::glDrawBuffers(int32_t n, uint32_t* bufs) {
GAPID_INFO("glDrawBuffers(%" PRId32 ", %p)\n", n, bufs);
Observations observations;
do {
uint32_t l_minRequiredVersion_112_major = 3;
uint32_t l_minRequiredVersion_112_minor = 0;
observe(observations.mReads);
mImports.glDrawBuffers(n, bufs);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlDrawBuffers coder(
observations, n, gapic::coder::gles::GLenum__CP(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(bufs), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glDrawElements(uint32_t draw_mode, int32_t element_count,
uint32_t indices_type, void* indices) {
GAPID_INFO("glDrawElements(%u, %" PRId32 ", %u, %p)\n", draw_mode, element_count, indices_type,
indices);
Observations observations;
do {
uint32_t l_minRequiredVersion_113_major = 2;
uint32_t l_minRequiredVersion_113_minor = 0;
switch (draw_mode) {
case GLenum::GL_LINES: // fall-through...
case GLenum::GL_LINE_LOOP: // fall-through...
case GLenum::GL_LINE_STRIP: // fall-through...
case GLenum::GL_POINTS: // fall-through...
case GLenum::GL_TRIANGLES: // fall-through...
case GLenum::GL_TRIANGLE_FAN: // fall-through...
case GLenum::GL_TRIANGLE_STRIP: {
break;
}
}
switch (indices_type) {
case GLenum::GL_UNSIGNED_BYTE: // fall-through...
case GLenum::GL_UNSIGNED_SHORT: {
break;
}
case GLenum::GL_UNSIGNED_INT: {
uint32_t l_minRequiredVersion_115_major = 3;
uint32_t l_minRequiredVersion_115_minor = 0;
break;
}
}
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_117_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_117_result;
uint32_t l_count = (uint32_t)(element_count);
BufferId l_id = l_ctx->mBoundBuffers[GLenum::GL_ELEMENT_ARRAY_BUFFER];
if (l_id != (BufferId)(0)) {
Slice<uint8_t> l_index_data = l_ctx->mInstances.mBuffers[l_id]->mData;
uint32_t l_offset = (uint32_t)((uint64_t)(indices));
uint32_t l_first = minIndex(l_index_data.begin(), indices_type, l_offset, l_count);
uint32_t l_last = maxIndex(l_index_data.begin(), indices_type, l_offset, l_count);
std::shared_ptr<Context> l_ReadVertexArrays_118_ctx = l_ctx;
uint32_t l_ReadVertexArrays_118_first_index = l_first;
uint32_t l_ReadVertexArrays_118_last_index = l_last;
for (int32_t l_i = 0;
l_i < int32_t((l_ReadVertexArrays_118_ctx->mVertexAttributeArrays.size()));
++l_i) {
std::shared_ptr<VertexAttributeArray> l_arr =
l_ReadVertexArrays_118_ctx
->mVertexAttributeArrays[(AttributeLocation)(l_i)];
if (l_arr->mEnabled && l_arr->mBuffer == (BufferId)(0)) {
uint32_t l_vertexAttribTypeSize_119_t = l_arr->mType;
uint32_t l_vertexAttribTypeSize_119_result = /* clang-format off */
/* switch(l_vertexAttribTypeSize_119_t) */
/* case GLenum::GL_BYTE: */(((l_vertexAttribTypeSize_119_t) == (GLenum::GL_BYTE))) ? (1) :
/* case GLenum::GL_UNSIGNED_BYTE: */(((l_vertexAttribTypeSize_119_t) == (GLenum::GL_UNSIGNED_BYTE))) ? (1) :
/* case GLenum::GL_SHORT: */(((l_vertexAttribTypeSize_119_t) == (GLenum::GL_SHORT))) ? (2) :
/* case GLenum::GL_UNSIGNED_SHORT: */(((l_vertexAttribTypeSize_119_t) == (GLenum::GL_UNSIGNED_SHORT))) ? (2) :
/* case GLenum::GL_FIXED: */(((l_vertexAttribTypeSize_119_t) == (GLenum::GL_FIXED))) ? (4) :
/* case GLenum::GL_FLOAT: */(((l_vertexAttribTypeSize_119_t) == (GLenum::GL_FLOAT))) ? (4) :
/* case GLenum::GL_HALF_FLOAT_ARB: */(((l_vertexAttribTypeSize_119_t) == (GLenum::GL_HALF_FLOAT_ARB))) ? (2) :
/* case GLenum::GL_HALF_FLOAT_OES: */(((l_vertexAttribTypeSize_119_t) == (GLenum::GL_HALF_FLOAT_OES))) ? (2) :
/* default: */ 0 /* clang-format on */;
uint32_t l_elsize = l_vertexAttribTypeSize_119_result * l_arr->mSize;
uint32_t l_elstride = /* clang-format off */
/* switch(l_arr->mStride == (GLsizei)(0)) */
/* case true: */(((l_arr->mStride == (GLsizei)(0)) == (true))) ? (l_elsize) :
/* case false: */(((l_arr->mStride == (GLsizei)(0)) == (false))) ? ((uint32_t)(l_arr->mStride)) :
/* default: */ 0 /* clang-format on */;
for (uint32_t l_v = l_ReadVertexArrays_118_first_index;
l_v < l_ReadVertexArrays_118_last_index + 1; ++l_v) {
uint32_t l_offset = l_elstride * l_v;
read(slice(l_arr->mPointer, (uint64_t)(l_offset),
(uint64_t)(l_offset + l_elsize)));
}
}
}
} else {
uint8_t* l_index_data = (uint8_t*)(indices);
uint32_t l_first = minIndex(l_index_data, indices_type, 0, l_count);
uint32_t l_last = maxIndex(l_index_data, indices_type, 0, l_count);
std::shared_ptr<Context> l_ReadVertexArrays_120_ctx = l_ctx;
uint32_t l_ReadVertexArrays_120_first_index = l_first;
uint32_t l_ReadVertexArrays_120_last_index = l_last;
for (int32_t l_i = 0;
l_i < int32_t((l_ReadVertexArrays_120_ctx->mVertexAttributeArrays.size()));
++l_i) {
std::shared_ptr<VertexAttributeArray> l_arr =
l_ReadVertexArrays_120_ctx
->mVertexAttributeArrays[(AttributeLocation)(l_i)];
if (l_arr->mEnabled && l_arr->mBuffer == (BufferId)(0)) {
uint32_t l_vertexAttribTypeSize_121_t = l_arr->mType;
uint32_t l_vertexAttribTypeSize_121_result = /* clang-format off */
/* switch(l_vertexAttribTypeSize_121_t) */
/* case GLenum::GL_BYTE: */(((l_vertexAttribTypeSize_121_t) == (GLenum::GL_BYTE))) ? (1) :
/* case GLenum::GL_UNSIGNED_BYTE: */(((l_vertexAttribTypeSize_121_t) == (GLenum::GL_UNSIGNED_BYTE))) ? (1) :
/* case GLenum::GL_SHORT: */(((l_vertexAttribTypeSize_121_t) == (GLenum::GL_SHORT))) ? (2) :
/* case GLenum::GL_UNSIGNED_SHORT: */(((l_vertexAttribTypeSize_121_t) == (GLenum::GL_UNSIGNED_SHORT))) ? (2) :
/* case GLenum::GL_FIXED: */(((l_vertexAttribTypeSize_121_t) == (GLenum::GL_FIXED))) ? (4) :
/* case GLenum::GL_FLOAT: */(((l_vertexAttribTypeSize_121_t) == (GLenum::GL_FLOAT))) ? (4) :
/* case GLenum::GL_HALF_FLOAT_ARB: */(((l_vertexAttribTypeSize_121_t) == (GLenum::GL_HALF_FLOAT_ARB))) ? (2) :
/* case GLenum::GL_HALF_FLOAT_OES: */(((l_vertexAttribTypeSize_121_t) == (GLenum::GL_HALF_FLOAT_OES))) ? (2) :
/* default: */ 0 /* clang-format on */;
uint32_t l_elsize = l_vertexAttribTypeSize_121_result * l_arr->mSize;
uint32_t l_elstride = /* clang-format off */
/* switch(l_arr->mStride == (GLsizei)(0)) */
/* case true: */(((l_arr->mStride == (GLsizei)(0)) == (true))) ? (l_elsize) :
/* case false: */(((l_arr->mStride == (GLsizei)(0)) == (false))) ? ((uint32_t)(l_arr->mStride)) :
/* default: */ 0 /* clang-format on */;
for (uint32_t l_v = l_ReadVertexArrays_120_first_index;
l_v < l_ReadVertexArrays_120_last_index + 1; ++l_v) {
uint32_t l_offset = l_elstride * l_v;
read(slice(l_arr->mPointer, (uint64_t)(l_offset),
(uint64_t)(l_offset + l_elsize)));
}
}
}
uint32_t l_IndexSize_122_indices_type = indices_type;
uint32_t l_IndexSize_122_result = /* clang-format off */
/* switch(l_IndexSize_122_indices_type) */
/* case GLenum::GL_UNSIGNED_BYTE: */(((l_IndexSize_122_indices_type) == (GLenum::GL_UNSIGNED_BYTE))) ? (1) :
/* case GLenum::GL_UNSIGNED_SHORT: */(((l_IndexSize_122_indices_type) == (GLenum::GL_UNSIGNED_SHORT))) ? (2) :
/* case GLenum::GL_UNSIGNED_INT: */(((l_IndexSize_122_indices_type) == (GLenum::GL_UNSIGNED_INT))) ? (4) :
/* default: */ 0 /* clang-format on */;
read(slice(l_index_data, (uint64_t)(0),
(uint64_t)((uint32_t)(element_count)*l_IndexSize_122_result)));
}
observe(observations.mReads);
mImports.glDrawElements(draw_mode, element_count, indices_type, indices);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlDrawElements coder(
observations, draw_mode, element_count, indices_type,
gapic::coder::gles::IndicesPointer(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(indices), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glDrawElementsIndirect(uint32_t mode, uint32_t type, void* indirect) {
GAPID_INFO("glDrawElementsIndirect(%u, %u, %p)\n", mode, type, indirect);
Observations observations;
do {
uint32_t l_minRequiredVersion_123_major = 3;
uint32_t l_minRequiredVersion_123_minor = 1;
switch (mode) {
case GLenum::GL_LINES: // fall-through...
case GLenum::GL_LINE_LOOP: // fall-through...
case GLenum::GL_LINE_STRIP: // fall-through...
case GLenum::GL_POINTS: // fall-through...
case GLenum::GL_TRIANGLES: // fall-through...
case GLenum::GL_TRIANGLE_FAN: // fall-through...
case GLenum::GL_TRIANGLE_STRIP: {
break;
}
}
switch (type) {
case GLenum::GL_UNSIGNED_BYTE: // fall-through...
case GLenum::GL_UNSIGNED_INT: // fall-through...
case GLenum::GL_UNSIGNED_SHORT: {
break;
}
}
observe(observations.mReads);
mImports.glDrawElementsIndirect(mode, type, indirect);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlDrawElementsIndirect coder(
observations, mode, type, gapic::coder::gles::Void__CP(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(indirect), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glDrawElementsInstanced(uint32_t mode, int32_t count, uint32_t type,
void* indices, int32_t instancecount) {
GAPID_INFO("glDrawElementsInstanced(%u, %" PRId32 ", %u, %p, %" PRId32 ")\n", mode, count, type,
indices, instancecount);
Observations observations;
do {
uint32_t l_minRequiredVersion_126_major = 3;
uint32_t l_minRequiredVersion_126_minor = 0;
switch (mode) {
case GLenum::GL_LINES: // fall-through...
case GLenum::GL_LINE_LOOP: // fall-through...
case GLenum::GL_LINE_STRIP: // fall-through...
case GLenum::GL_POINTS: // fall-through...
case GLenum::GL_TRIANGLES: // fall-through...
case GLenum::GL_TRIANGLE_FAN: // fall-through...
case GLenum::GL_TRIANGLE_STRIP: {
break;
}
}
switch (type) {
case GLenum::GL_UNSIGNED_BYTE: // fall-through...
case GLenum::GL_UNSIGNED_INT: // fall-through...
case GLenum::GL_UNSIGNED_SHORT: {
break;
}
}
observe(observations.mReads);
mImports.glDrawElementsInstanced(mode, count, type, indices, instancecount);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlDrawElementsInstanced coder(
observations, mode, count, type,
gapic::coder::gles::Void__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(indices), 0)),
instancecount);
mEncoder->Object(&coder);
}
inline void GlesSpy::glDrawRangeElements(uint32_t mode, uint32_t start, uint32_t end, int32_t count,
uint32_t type, void* indices) {
GAPID_INFO("glDrawRangeElements(%u, %" PRIu32 ", %" PRIu32 ", %" PRId32 ", %u, %p)\n", mode,
start, end, count, type, indices);
Observations observations;
do {
uint32_t l_minRequiredVersion_129_major = 3;
uint32_t l_minRequiredVersion_129_minor = 0;
switch (mode) {
case GLenum::GL_LINES: // fall-through...
case GLenum::GL_LINE_LOOP: // fall-through...
case GLenum::GL_LINE_STRIP: // fall-through...
case GLenum::GL_POINTS: // fall-through...
case GLenum::GL_TRIANGLES: // fall-through...
case GLenum::GL_TRIANGLE_FAN: // fall-through...
case GLenum::GL_TRIANGLE_STRIP: {
break;
}
}
switch (type) {
case GLenum::GL_UNSIGNED_BYTE: // fall-through...
case GLenum::GL_UNSIGNED_INT: // fall-through...
case GLenum::GL_UNSIGNED_SHORT: {
break;
}
}
observe(observations.mReads);
mImports.glDrawRangeElements(mode, start, end, count, type, indices);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlDrawRangeElements coder(
observations, mode, start, end, count, type,
gapic::coder::gles::Void__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(indices), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glActiveShaderProgramEXT(uint32_t pipeline, uint32_t program) {
GAPID_INFO("glActiveShaderProgramEXT(%" PRIu32 ", %" PRIu32 ")\n", pipeline, program);
Observations observations;
do {
uint32_t l_requiresExtension_132_ext = ExtensionId::GL_EXT_separate_shader_objects;
observe(observations.mReads);
mImports.glActiveShaderProgramEXT(pipeline, program);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlActiveShaderProgramEXT coder(observations, pipeline, program);
mEncoder->Object(&coder);
}
inline void GlesSpy::glAlphaFuncQCOM(uint32_t func, float ref) {
GAPID_INFO("glAlphaFuncQCOM(%u, %f)\n", func, ref);
Observations observations;
do {
uint32_t l_requiresExtension_133_ext = ExtensionId::GL_QCOM_alpha_test;
observe(observations.mReads);
mImports.glAlphaFuncQCOM(func, ref);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlAlphaFuncQCOM coder(observations, func, ref);
mEncoder->Object(&coder);
}
inline void GlesSpy::glBeginConditionalRenderNV(uint32_t id, uint32_t mode) {
GAPID_INFO("glBeginConditionalRenderNV(%" PRIu32 ", %u)\n", id, mode);
Observations observations;
do {
uint32_t l_requiresExtension_134_ext = ExtensionId::GL_NV_conditional_render;
observe(observations.mReads);
mImports.glBeginConditionalRenderNV(id, mode);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlBeginConditionalRenderNV coder(observations, id, mode);
mEncoder->Object(&coder);
}
inline void GlesSpy::glBeginPerfMonitorAMD(uint32_t monitor) {
GAPID_INFO("glBeginPerfMonitorAMD(%" PRIu32 ")\n", monitor);
Observations observations;
do {
uint32_t l_requiresExtension_135_ext = ExtensionId::GL_AMD_performance_monitor;
observe(observations.mReads);
mImports.glBeginPerfMonitorAMD(monitor);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlBeginPerfMonitorAMD coder(observations, monitor);
mEncoder->Object(&coder);
}
inline void GlesSpy::glBeginPerfQueryINTEL(uint32_t queryHandle) {
GAPID_INFO("glBeginPerfQueryINTEL(%" PRIu32 ")\n", queryHandle);
Observations observations;
do {
uint32_t l_requiresExtension_136_ext = ExtensionId::GL_INTEL_performance_query;
observe(observations.mReads);
mImports.glBeginPerfQueryINTEL(queryHandle);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlBeginPerfQueryINTEL coder(observations, queryHandle);
mEncoder->Object(&coder);
}
inline void GlesSpy::glBeginQueryEXT(uint32_t target, uint32_t query) {
GAPID_INFO("glBeginQueryEXT(%u, %" PRIu32 ")\n", target, query);
Observations observations;
do {
uint32_t l_requiresExtension_137_ext = ExtensionId::GL_EXT_disjoint_timer_query;
uint32_t l_requiresExtension_138_ext = ExtensionId::GL_EXT_occlusion_query_boolean;
observe(observations.mReads);
mImports.glBeginQueryEXT(target, query);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlBeginQueryEXT coder(observations, target, query);
mEncoder->Object(&coder);
}
inline void GlesSpy::glBindProgramPipelineEXT(uint32_t pipeline) {
GAPID_INFO("glBindProgramPipelineEXT(%" PRIu32 ")\n", pipeline);
Observations observations;
do {
uint32_t l_requiresExtension_139_ext = ExtensionId::GL_EXT_separate_shader_objects;
observe(observations.mReads);
mImports.glBindProgramPipelineEXT(pipeline);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlBindProgramPipelineEXT coder(observations, pipeline);
mEncoder->Object(&coder);
}
inline void GlesSpy::glBindVertexArrayOES(uint32_t array) {
GAPID_INFO("glBindVertexArrayOES(%" PRIu32 ")\n", array);
Observations observations;
do {
uint32_t l_requiresExtension_140_ext = ExtensionId::GL_OES_vertex_array_object;
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_141_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_141_result;
if (!(l_ctx->mInstances.mVertexArrays.count(array) > 0)) {
l_ctx->mInstances.mVertexArrays[array] =
std::shared_ptr<VertexArray>((new VertexArray()));
}
l_ctx->mBoundVertexArray = array;
observe(observations.mReads);
mImports.glBindVertexArrayOES(array);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlBindVertexArrayOES coder(observations, array);
mEncoder->Object(&coder);
}
inline void GlesSpy::glBlendBarrierNV() {
GAPID_INFO("glBlendBarrierNV()\n");
Observations observations;
do {
uint32_t l_requiresExtension_142_ext = ExtensionId::GL_NV_blend_equation_advanced;
observe(observations.mReads);
mImports.glBlendBarrierNV();
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlBlendBarrierNV coder(observations);
mEncoder->Object(&coder);
}
inline void GlesSpy::glBlendEquationSeparateiOES(uint32_t buf, uint32_t modeRGB,
uint32_t modeAlpha) {
GAPID_INFO("glBlendEquationSeparateiOES(%" PRIu32 ", %u, %u)\n", buf, modeRGB, modeAlpha);
Observations observations;
do {
uint32_t l_requiresExtension_143_ext = ExtensionId::GL_OES_draw_buffers_indexed;
observe(observations.mReads);
mImports.glBlendEquationSeparateiOES(buf, modeRGB, modeAlpha);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlBlendEquationSeparateiOES coder(observations, buf, modeRGB, modeAlpha);
mEncoder->Object(&coder);
}
inline void GlesSpy::glBlendEquationiOES(uint32_t buf, uint32_t mode) {
GAPID_INFO("glBlendEquationiOES(%" PRIu32 ", %u)\n", buf, mode);
Observations observations;
do {
uint32_t l_requiresExtension_144_ext = ExtensionId::GL_OES_draw_buffers_indexed;
observe(observations.mReads);
mImports.glBlendEquationiOES(buf, mode);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlBlendEquationiOES coder(observations, buf, mode);
mEncoder->Object(&coder);
}
inline void GlesSpy::glBlendFuncSeparateiOES(uint32_t buf, uint32_t srcRGB, uint32_t dstRGB,
uint32_t srcAlpha, uint32_t dstAlpha) {
GAPID_INFO("glBlendFuncSeparateiOES(%" PRIu32 ", %u, %u, %u, %u)\n", buf, srcRGB, dstRGB,
srcAlpha, dstAlpha);
Observations observations;
do {
uint32_t l_requiresExtension_145_ext = ExtensionId::GL_OES_draw_buffers_indexed;
observe(observations.mReads);
mImports.glBlendFuncSeparateiOES(buf, srcRGB, dstRGB, srcAlpha, dstAlpha);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlBlendFuncSeparateiOES coder(observations, buf, srcRGB, dstRGB, srcAlpha,
dstAlpha);
mEncoder->Object(&coder);
}
inline void GlesSpy::glBlendFunciOES(uint32_t buf, uint32_t src, uint32_t dst) {
GAPID_INFO("glBlendFunciOES(%" PRIu32 ", %u, %u)\n", buf, src, dst);
Observations observations;
do {
uint32_t l_requiresExtension_146_ext = ExtensionId::GL_OES_draw_buffers_indexed;
observe(observations.mReads);
mImports.glBlendFunciOES(buf, src, dst);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlBlendFunciOES coder(observations, buf, src, dst);
mEncoder->Object(&coder);
}
inline void GlesSpy::glBlendParameteriNV(uint32_t pname, int32_t value) {
GAPID_INFO("glBlendParameteriNV(%u, %" PRId32 ")\n", pname, value);
Observations observations;
do {
uint32_t l_requiresExtension_147_ext = ExtensionId::GL_NV_blend_equation_advanced;
observe(observations.mReads);
mImports.glBlendParameteriNV(pname, value);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlBlendParameteriNV coder(observations, pname, value);
mEncoder->Object(&coder);
}
inline void GlesSpy::glBlitFramebufferANGLE(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) {
GAPID_INFO("glBlitFramebufferANGLE(%" PRId32 ", %" PRId32 ", %" PRId32 ", %" PRId32 ", %" PRId32
", %" PRId32 ", %" PRId32 ", %" PRId32 ", %u, %u)\n",
srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter);
Observations observations;
do {
uint32_t l_requiresExtension_148_ext = ExtensionId::GL_ANGLE_framebuffer_blit;
observe(observations.mReads);
mImports.glBlitFramebufferANGLE(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1,
mask, filter);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlBlitFramebufferANGLE coder(observations, srcX0, srcY0, srcX1, srcY1,
dstX0, dstY0, dstX1, dstY1, mask, filter);
mEncoder->Object(&coder);
}
inline void GlesSpy::glBlitFramebufferNV(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) {
GAPID_INFO("glBlitFramebufferNV(%" PRId32 ", %" PRId32 ", %" PRId32 ", %" PRId32 ", %" PRId32
", %" PRId32 ", %" PRId32 ", %" PRId32 ", %u, %u)\n",
srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter);
Observations observations;
do {
uint32_t l_requiresExtension_149_ext = ExtensionId::GL_NV_framebuffer_blit;
observe(observations.mReads);
mImports.glBlitFramebufferNV(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask,
filter);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlBlitFramebufferNV coder(observations, srcX0, srcY0, srcX1, srcY1, dstX0,
dstY0, dstX1, dstY1, mask, filter);
mEncoder->Object(&coder);
}
inline void GlesSpy::glBufferStorageEXT(uint32_t target, int32_t size, void* data, uint32_t flag) {
GAPID_INFO("glBufferStorageEXT(%u, %" PRId32 ", %p, %u)\n", target, size, data, flag);
Observations observations;
do {
uint32_t l_requiresExtension_150_ext = ExtensionId::GL_EXT_buffer_storage;
observe(observations.mReads);
mImports.glBufferStorageEXT(target, size, data, flag);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlBufferStorageEXT coder(
observations, target, size, gapic::coder::gles::Void__CP(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(data), 0)),
flag);
mEncoder->Object(&coder);
}
inline uint32_t GlesSpy::glClientWaitSyncAPPLE(uint64_t sync, uint32_t flag, uint64_t timeout) {
GAPID_INFO("glClientWaitSyncAPPLE(%" PRIu64 ", %u, %" PRIu64 ")\n", sync, flag, timeout);
uint32_t result = 0;
Observations observations;
do {
uint32_t l_requiresExtension_151_ext = ExtensionId::GL_APPLE_sync;
observe(observations.mReads);
result = mImports.glClientWaitSyncAPPLE(sync, flag, timeout);
break;
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlClientWaitSyncAPPLE coder(observations, sync, flag, timeout, result);
mEncoder->Object(&coder);
return result;
}
inline void GlesSpy::glColorMaskiOES(uint32_t index, uint8_t r, uint8_t g, uint8_t b, uint8_t a) {
GAPID_INFO("glColorMaskiOES(%" PRIu32 ", %" PRIu8 ", %" PRIu8 ", %" PRIu8 ", %" PRIu8 ")\n",
index, r, g, b, a);
Observations observations;
do {
uint32_t l_requiresExtension_152_ext = ExtensionId::GL_OES_draw_buffers_indexed;
observe(observations.mReads);
mImports.glColorMaskiOES(index, r, g, b, a);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlColorMaskiOES coder(observations, index, r, g, b, a);
mEncoder->Object(&coder);
}
inline void GlesSpy::glCompressedTexImage3DOES(uint32_t target, int32_t level,
uint32_t internalformat, int32_t width,
int32_t height, int32_t depth, int32_t border,
int32_t imageSize, void* data) {
GAPID_INFO("glCompressedTexImage3DOES(%u, %" PRId32 ", %u, %" PRId32 ", %" PRId32 ", %" PRId32
", %" PRId32 ", %" PRId32 ", %p)\n",
target, level, internalformat, width, height, depth, border, imageSize, data);
Observations observations;
do {
uint32_t l_requiresExtension_153_ext = ExtensionId::GL_OES_texture_3D;
observe(observations.mReads);
mImports.glCompressedTexImage3DOES(target, level, internalformat, width, height, depth,
border, imageSize, data);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlCompressedTexImage3DOES coder(
observations, target, level, internalformat, width, height, depth, border, imageSize,
gapic::coder::gles::Void__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(data), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glCompressedTexSubImage3DOES(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, void* data) {
GAPID_INFO("glCompressedTexSubImage3DOES(%u, %" PRId32 ", %" PRId32 ", %" PRId32 ", %" PRId32
", %" PRId32 ", %" PRId32 ", %" PRId32 ", %u, %" PRId32 ", %p)\n",
target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize,
data);
Observations observations;
do {
uint32_t l_requiresExtension_154_ext = ExtensionId::GL_OES_texture_3D;
observe(observations.mReads);
mImports.glCompressedTexSubImage3DOES(target, level, xoffset, yoffset, zoffset, width,
height, depth, format, imageSize, data);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlCompressedTexSubImage3DOES coder(
observations, target, level, xoffset, yoffset, zoffset, width, height, depth, format,
imageSize, gapic::coder::gles::Void__CP(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(data), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glCopyBufferSubDataNV(uint32_t readTarget, uint32_t writeTarget,
int32_t readOffset, int32_t writeOffset, int32_t size) {
GAPID_INFO("glCopyBufferSubDataNV(%u, %u, %" PRId32 ", %" PRId32 ", %" PRId32 ")\n", readTarget,
writeTarget, readOffset, writeOffset, size);
Observations observations;
do {
uint32_t l_requiresExtension_155_ext = ExtensionId::GL_NV_copy_buffer;
observe(observations.mReads);
mImports.glCopyBufferSubDataNV(readTarget, writeTarget, readOffset, writeOffset, size);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlCopyBufferSubDataNV coder(observations, readTarget, writeTarget,
readOffset, writeOffset, size);
mEncoder->Object(&coder);
}
inline void GlesSpy::glCopyImageSubDataOES(uint32_t srcName, uint32_t srcTarget, int32_t srcLevel,
int32_t srcX, int32_t srcY, int32_t srcZ,
uint32_t dstName, uint32_t dstTarget, int32_t dstLevel,
int32_t dstX, int32_t dstY, int32_t dstZ,
int32_t srcWidth, int32_t srcHeight, int32_t srcDepth) {
GAPID_INFO("glCopyImageSubDataOES(%" PRIu32 ", %u, %" PRId32 ", %" PRId32 ", %" PRId32
", %" PRId32 ", %" PRIu32 ", %u, %" PRId32 ", %" PRId32 ", %" PRId32 ", %" PRId32
", %" PRId32 ", %" PRId32 ", %" PRId32 ")\n",
srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX,
dstY, dstZ, srcWidth, srcHeight, srcDepth);
Observations observations;
do {
uint32_t l_requiresExtension_156_ext = ExtensionId::GL_OES_copy_image;
observe(observations.mReads);
mImports.glCopyImageSubDataOES(srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName,
dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight,
srcDepth);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlCopyImageSubDataOES coder(
observations, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget,
dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth);
mEncoder->Object(&coder);
}
inline void GlesSpy::glCopyPathNV(uint32_t resultPath, uint32_t srcPath) {
GAPID_INFO("glCopyPathNV(%" PRIu32 ", %" PRIu32 ")\n", resultPath, srcPath);
Observations observations;
do {
uint32_t l_requiresExtension_157_ext = ExtensionId::GL_NV_path_rendering;
observe(observations.mReads);
mImports.glCopyPathNV(resultPath, srcPath);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlCopyPathNV coder(observations, resultPath, srcPath);
mEncoder->Object(&coder);
}
inline void GlesSpy::glCopyTexSubImage3DOES(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) {
GAPID_INFO("glCopyTexSubImage3DOES(%u, %" PRId32 ", %" PRId32 ", %" PRId32 ", %" PRId32
", %" PRId32 ", %" PRId32 ", %" PRId32 ", %" PRId32 ")\n",
target, level, xoffset, yoffset, zoffset, x, y, width, height);
Observations observations;
do {
uint32_t l_requiresExtension_158_ext = ExtensionId::GL_OES_texture_3D;
observe(observations.mReads);
mImports.glCopyTexSubImage3DOES(target, level, xoffset, yoffset, zoffset, x, y, width,
height);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlCopyTexSubImage3DOES coder(observations, target, level, xoffset, yoffset,
zoffset, x, y, width, height);
mEncoder->Object(&coder);
}
inline void GlesSpy::glCopyTextureLevelsAPPLE(uint32_t destinationTexture, uint32_t sourceTexture,
int32_t sourceBaseLevel, int32_t sourceLevelCount) {
GAPID_INFO("glCopyTextureLevelsAPPLE(%" PRIu32 ", %" PRIu32 ", %" PRId32 ", %" PRId32 ")\n",
destinationTexture, sourceTexture, sourceBaseLevel, sourceLevelCount);
Observations observations;
do {
uint32_t l_requiresExtension_159_ext = ExtensionId::GL_APPLE_copy_texture_levels;
observe(observations.mReads);
mImports.glCopyTextureLevelsAPPLE(destinationTexture, sourceTexture, sourceBaseLevel,
sourceLevelCount);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlCopyTextureLevelsAPPLE coder(
observations, destinationTexture, sourceTexture, sourceBaseLevel, sourceLevelCount);
mEncoder->Object(&coder);
}
inline void GlesSpy::glCoverFillPathInstancedNV(int32_t numPaths, uint32_t pathNameType,
void* paths, uint32_t pathBase, uint32_t coverMode,
uint32_t transformType, float* transformValues) {
GAPID_INFO("glCoverFillPathInstancedNV(%" PRId32 ", %u, %p, %" PRIu32 ", %u, %u, %p)\n",
numPaths, pathNameType, paths, pathBase, coverMode, transformType, transformValues);
Observations observations;
do {
uint32_t l_requiresExtension_160_ext = ExtensionId::GL_NV_path_rendering;
observe(observations.mReads);
mImports.glCoverFillPathInstancedNV(numPaths, pathNameType, paths, pathBase, coverMode,
transformType, transformValues);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlCoverFillPathInstancedNV coder(
observations, numPaths, pathNameType,
gapic::coder::gles::Void__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(paths), 0)),
pathBase, coverMode, transformType,
gapic::coder::gles::GLfloat__CP(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(transformValues), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glCoverFillPathNV(uint32_t path, uint32_t coverMode) {
GAPID_INFO("glCoverFillPathNV(%" PRIu32 ", %u)\n", path, coverMode);
Observations observations;
do {
uint32_t l_requiresExtension_161_ext = ExtensionId::GL_NV_path_rendering;
observe(observations.mReads);
mImports.glCoverFillPathNV(path, coverMode);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlCoverFillPathNV coder(observations, path, coverMode);
mEncoder->Object(&coder);
}
inline void GlesSpy::glCoverStrokePathInstancedNV(int32_t numPaths, uint32_t pathNameType,
void* paths, uint32_t pathBase,
uint32_t coverMode, uint32_t transformType,
float* transformValues) {
GAPID_INFO("glCoverStrokePathInstancedNV(%" PRId32 ", %u, %p, %" PRIu32 ", %u, %u, %p)\n",
numPaths, pathNameType, paths, pathBase, coverMode, transformType, transformValues);
Observations observations;
do {
uint32_t l_requiresExtension_162_ext = ExtensionId::GL_NV_path_rendering;
observe(observations.mReads);
mImports.glCoverStrokePathInstancedNV(numPaths, pathNameType, paths, pathBase, coverMode,
transformType, transformValues);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlCoverStrokePathInstancedNV coder(
observations, numPaths, pathNameType,
gapic::coder::gles::Void__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(paths), 0)),
pathBase, coverMode, transformType,
gapic::coder::gles::GLfloat__CP(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(transformValues), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glCoverStrokePathNV(uint32_t path, uint32_t coverMode) {
GAPID_INFO("glCoverStrokePathNV(%" PRIu32 ", %u)\n", path, coverMode);
Observations observations;
do {
uint32_t l_requiresExtension_163_ext = ExtensionId::GL_NV_path_rendering;
observe(observations.mReads);
mImports.glCoverStrokePathNV(path, coverMode);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlCoverStrokePathNV coder(observations, path, coverMode);
mEncoder->Object(&coder);
}
inline void GlesSpy::glCoverageMaskNV(uint8_t mask) {
GAPID_INFO("glCoverageMaskNV(%" PRIu8 ")\n", mask);
Observations observations;
do {
uint32_t l_requiresExtension_164_ext = ExtensionId::GL_NV_coverage_sample;
observe(observations.mReads);
mImports.glCoverageMaskNV(mask);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlCoverageMaskNV coder(observations, mask);
mEncoder->Object(&coder);
}
inline void GlesSpy::glCoverageOperationNV(uint32_t operation) {
GAPID_INFO("glCoverageOperationNV(%u)\n", operation);
Observations observations;
do {
uint32_t l_requiresExtension_165_ext = ExtensionId::GL_NV_coverage_sample;
observe(observations.mReads);
mImports.glCoverageOperationNV(operation);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlCoverageOperationNV coder(observations, operation);
mEncoder->Object(&coder);
}
inline void GlesSpy::glCreatePerfQueryINTEL(uint32_t queryId, uint32_t* queryHandle) {
GAPID_INFO("glCreatePerfQueryINTEL(%" PRIu32 ", %p)\n", queryId, queryHandle);
Observations observations;
do {
uint32_t l_requiresExtension_166_ext = ExtensionId::GL_INTEL_performance_query;
observe(observations.mReads);
mImports.glCreatePerfQueryINTEL(queryId, queryHandle);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlCreatePerfQueryINTEL coder(
observations, queryId, gapic::coder::gles::GLuint__P(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(queryHandle), 0)));
mEncoder->Object(&coder);
}
inline uint32_t GlesSpy::glCreateShaderProgramvEXT(uint32_t type, int32_t count, char** strings) {
GAPID_INFO("glCreateShaderProgramvEXT(%u, %" PRId32 ", %p)\n", type, count, strings);
uint32_t result = 0;
Observations observations;
do {
uint32_t l_requiresExtension_167_ext = ExtensionId::GL_EXT_separate_shader_objects;
observe(observations.mReads);
result = mImports.glCreateShaderProgramvEXT(type, count, strings);
break;
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlCreateShaderProgramvEXT coder(
observations, type, count,
gapic::coder::gles::GLchar__CP__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(strings), 0)),
result);
mEncoder->Object(&coder);
return result;
}
inline void GlesSpy::glDeleteFencesNV(int32_t n, uint32_t* fences) {
GAPID_INFO("glDeleteFencesNV(%" PRId32 ", %p)\n", n, fences);
Observations observations;
do {
uint32_t l_requiresExtension_168_ext = ExtensionId::GL_NV_fence;
observe(observations.mReads);
mImports.glDeleteFencesNV(n, fences);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlDeleteFencesNV coder(
observations, n, gapic::coder::gles::GLuint__CP(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(fences), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glDeletePathsNV(uint32_t path, int32_t range) {
GAPID_INFO("glDeletePathsNV(%" PRIu32 ", %" PRId32 ")\n", path, range);
Observations observations;
do {
uint32_t l_requiresExtension_169_ext = ExtensionId::GL_NV_path_rendering;
observe(observations.mReads);
mImports.glDeletePathsNV(path, range);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlDeletePathsNV coder(observations, path, range);
mEncoder->Object(&coder);
}
inline void GlesSpy::glDeletePerfMonitorsAMD(int32_t n, uint32_t* monitors) {
GAPID_INFO("glDeletePerfMonitorsAMD(%" PRId32 ", %p)\n", n, monitors);
Observations observations;
do {
uint32_t l_requiresExtension_170_ext = ExtensionId::GL_AMD_performance_monitor;
observe(observations.mReads);
mImports.glDeletePerfMonitorsAMD(n, monitors);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlDeletePerfMonitorsAMD coder(
observations, n, gapic::coder::gles::GLuint__P(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(monitors), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glDeletePerfQueryINTEL(uint32_t queryHandle) {
GAPID_INFO("glDeletePerfQueryINTEL(%" PRIu32 ")\n", queryHandle);
Observations observations;
do {
uint32_t l_requiresExtension_171_ext = ExtensionId::GL_INTEL_performance_query;
observe(observations.mReads);
mImports.glDeletePerfQueryINTEL(queryHandle);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlDeletePerfQueryINTEL coder(observations, queryHandle);
mEncoder->Object(&coder);
}
inline void GlesSpy::glDeleteProgramPipelinesEXT(int32_t n, uint32_t* pipelines) {
GAPID_INFO("glDeleteProgramPipelinesEXT(%" PRId32 ", %p)\n", n, pipelines);
Observations observations;
do {
uint32_t l_requiresExtension_172_ext = ExtensionId::GL_EXT_separate_shader_objects;
observe(observations.mReads);
mImports.glDeleteProgramPipelinesEXT(n, pipelines);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlDeleteProgramPipelinesEXT coder(
observations, n, gapic::coder::gles::PipelineId__CP(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(pipelines), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glDeleteQueriesEXT(int32_t count, uint32_t* queries) {
GAPID_INFO("glDeleteQueriesEXT(%" PRId32 ", %p)\n", count, queries);
Observations observations;
do {
uint32_t l_requiresExtension_173_ext = ExtensionId::GL_EXT_disjoint_timer_query;
uint32_t l_requiresExtension_174_ext = ExtensionId::GL_EXT_occlusion_query_boolean;
Slice<QueryId> l_q = slice(queries, (uint64_t)((GLsizei)(0)), (uint64_t)(count));
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_175_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_175_result;
for (GLsizei l_i = (GLsizei)(0); l_i < count; ++l_i) {
l_ctx->mInstances.mQueries[read(l_q, (uint64_t)(l_i))] = std::shared_ptr<Query>();
}
observe(observations.mReads);
mImports.glDeleteQueriesEXT(count, queries);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlDeleteQueriesEXT coder(
observations, count, gapic::coder::gles::QueryId__CP(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(queries), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glDeleteSyncAPPLE(uint64_t sync) {
GAPID_INFO("glDeleteSyncAPPLE(%" PRIu64 ")\n", sync);
Observations observations;
do {
uint32_t l_requiresExtension_176_ext = ExtensionId::GL_APPLE_sync;
observe(observations.mReads);
mImports.glDeleteSyncAPPLE(sync);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlDeleteSyncAPPLE coder(observations, sync);
mEncoder->Object(&coder);
}
inline void GlesSpy::glDeleteVertexArraysOES(int32_t count, uint32_t* arrays) {
GAPID_INFO("glDeleteVertexArraysOES(%" PRId32 ", %p)\n", count, arrays);
Observations observations;
do {
uint32_t l_requiresExtension_177_ext = ExtensionId::GL_OES_vertex_array_object;
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_178_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_178_result;
Slice<VertexArrayId> l_a = slice(arrays, (uint64_t)((GLsizei)(0)), (uint64_t)(count));
for (GLsizei l_i = (GLsizei)(0); l_i < count; ++l_i) {
l_ctx->mInstances.mVertexArrays[read(l_a, (uint64_t)(l_i))] =
std::shared_ptr<VertexArray>();
}
observe(observations.mReads);
mImports.glDeleteVertexArraysOES(count, arrays);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlDeleteVertexArraysOES coder(
observations, count,
gapic::coder::gles::VertexArrayId__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(arrays), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glDepthRangeArrayfvNV(uint32_t first, int32_t count, float* v) {
GAPID_INFO("glDepthRangeArrayfvNV(%" PRIu32 ", %" PRId32 ", %p)\n", first, count, v);
Observations observations;
do {
uint32_t l_requiresExtension_179_ext = ExtensionId::GL_NV_viewport_array;
observe(observations.mReads);
mImports.glDepthRangeArrayfvNV(first, count, v);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlDepthRangeArrayfvNV coder(
observations, first, count,
gapic::coder::gles::GLfloat__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(v), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glDepthRangeIndexedfNV(uint32_t index, float n, float f) {
GAPID_INFO("glDepthRangeIndexedfNV(%" PRIu32 ", %f, %f)\n", index, n, f);
Observations observations;
do {
uint32_t l_requiresExtension_180_ext = ExtensionId::GL_NV_viewport_array;
observe(observations.mReads);
mImports.glDepthRangeIndexedfNV(index, n, f);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlDepthRangeIndexedfNV coder(observations, index, n, f);
mEncoder->Object(&coder);
}
inline void GlesSpy::glDisableDriverControlQCOM(uint32_t driverControl) {
GAPID_INFO("glDisableDriverControlQCOM(%" PRIu32 ")\n", driverControl);
Observations observations;
do {
uint32_t l_requiresExtension_181_ext = ExtensionId::GL_QCOM_driver_control;
observe(observations.mReads);
mImports.glDisableDriverControlQCOM(driverControl);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlDisableDriverControlQCOM coder(observations, driverControl);
mEncoder->Object(&coder);
}
inline void GlesSpy::glDisableiNV(uint32_t target, uint32_t index) {
GAPID_INFO("glDisableiNV(%u, %" PRIu32 ")\n", target, index);
Observations observations;
do {
uint32_t l_requiresExtension_182_ext = ExtensionId::GL_NV_viewport_array;
observe(observations.mReads);
mImports.glDisableiNV(target, index);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlDisableiNV coder(observations, target, index);
mEncoder->Object(&coder);
}
inline void GlesSpy::glDisableiOES(uint32_t target, uint32_t index) {
GAPID_INFO("glDisableiOES(%u, %" PRIu32 ")\n", target, index);
Observations observations;
do {
uint32_t l_requiresExtension_183_ext = ExtensionId::GL_OES_draw_buffers_indexed;
observe(observations.mReads);
mImports.glDisableiOES(target, index);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlDisableiOES coder(observations, target, index);
mEncoder->Object(&coder);
}
inline void GlesSpy::glDiscardFramebufferEXT(uint32_t target, int32_t numAttachments,
uint32_t* attachments) {
GAPID_INFO("glDiscardFramebufferEXT(%u, %" PRId32 ", %p)\n", target, numAttachments,
attachments);
Observations observations;
do {
uint32_t l_requiresExtension_184_ext = ExtensionId::GL_EXT_discard_framebuffer;
observe(observations.mReads);
mImports.glDiscardFramebufferEXT(target, numAttachments, attachments);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlDiscardFramebufferEXT coder(
observations, target, numAttachments,
gapic::coder::gles::GLenum__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(attachments), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glDrawArraysInstancedANGLE(uint32_t mode, int32_t first, int32_t count,
int32_t primcount) {
GAPID_INFO("glDrawArraysInstancedANGLE(%u, %" PRId32 ", %" PRId32 ", %" PRId32 ")\n", mode,
first, count, primcount);
Observations observations;
do {
uint32_t l_requiresExtension_185_ext = ExtensionId::GL_ANGLE_instanced_arrays;
observe(observations.mReads);
mImports.glDrawArraysInstancedANGLE(mode, first, count, primcount);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlDrawArraysInstancedANGLE coder(observations, mode, first, count,
primcount);
mEncoder->Object(&coder);
}
inline void GlesSpy::glDrawArraysInstancedBaseInstanceEXT(uint32_t mode, int32_t first,
int32_t count, int32_t instancecount,
uint32_t baseinstance) {
GAPID_INFO("glDrawArraysInstancedBaseInstanceEXT(%u, %" PRId32 ", %" PRId32 ", %" PRId32
", %" PRIu32 ")\n",
mode, first, count, instancecount, baseinstance);
Observations observations;
do {
uint32_t l_requiresExtension_186_ext = ExtensionId::GL_EXT_base_instance;
observe(observations.mReads);
mImports.glDrawArraysInstancedBaseInstanceEXT(mode, first, count, instancecount,
baseinstance);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlDrawArraysInstancedBaseInstanceEXT coder(observations, mode, first, count,
instancecount, baseinstance);
mEncoder->Object(&coder);
}
inline void GlesSpy::glDrawArraysInstancedEXT(uint32_t mode, int32_t start, int32_t count,
int32_t primcount) {
GAPID_INFO("glDrawArraysInstancedEXT(%u, %" PRId32 ", %" PRId32 ", %" PRId32 ")\n", mode, start,
count, primcount);
Observations observations;
do {
uint32_t l_requiresExtension_187_ext = ExtensionId::GL_EXT_draw_instanced;
uint32_t l_requiresExtension_188_ext = ExtensionId::GL_EXT_instanced_arrays;
observe(observations.mReads);
mImports.glDrawArraysInstancedEXT(mode, start, count, primcount);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlDrawArraysInstancedEXT coder(observations, mode, start, count, primcount);
mEncoder->Object(&coder);
}
inline void GlesSpy::glDrawArraysInstancedNV(uint32_t mode, int32_t first, int32_t count,
int32_t primcount) {
GAPID_INFO("glDrawArraysInstancedNV(%u, %" PRId32 ", %" PRId32 ", %" PRId32 ")\n", mode, first,
count, primcount);
Observations observations;
do {
uint32_t l_requiresExtension_189_ext = ExtensionId::GL_NV_draw_instanced;
observe(observations.mReads);
mImports.glDrawArraysInstancedNV(mode, first, count, primcount);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlDrawArraysInstancedNV coder(observations, mode, first, count, primcount);
mEncoder->Object(&coder);
}
inline void GlesSpy::glDrawBuffersEXT(int32_t n, uint32_t* bufs) {
GAPID_INFO("glDrawBuffersEXT(%" PRId32 ", %p)\n", n, bufs);
Observations observations;
do {
uint32_t l_requiresExtension_190_ext = ExtensionId::GL_EXT_draw_buffers;
observe(observations.mReads);
mImports.glDrawBuffersEXT(n, bufs);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlDrawBuffersEXT coder(
observations, n, gapic::coder::gles::GLenum__CP(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(bufs), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glDrawBuffersIndexedEXT(int32_t n, uint32_t* location, int32_t* indices) {
GAPID_INFO("glDrawBuffersIndexedEXT(%" PRId32 ", %p, %p)\n", n, location, indices);
Observations observations;
do {
uint32_t l_requiresExtension_191_ext = ExtensionId::GL_EXT_multiview_draw_buffers;
observe(observations.mReads);
mImports.glDrawBuffersIndexedEXT(n, location, indices);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlDrawBuffersIndexedEXT coder(
observations, n, gapic::coder::gles::GLenum__CP(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(location), 0)),
gapic::coder::gles::GLint__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(indices), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glDrawBuffersNV(int32_t n, uint32_t* bufs) {
GAPID_INFO("glDrawBuffersNV(%" PRId32 ", %p)\n", n, bufs);
Observations observations;
do {
uint32_t l_requiresExtension_192_ext = ExtensionId::GL_NV_draw_buffers;
observe(observations.mReads);
mImports.glDrawBuffersNV(n, bufs);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlDrawBuffersNV coder(
observations, n, gapic::coder::gles::GLenum__CP(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(bufs), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glDrawElementsBaseVertexEXT(uint32_t mode, int32_t count, uint32_t type,
void* indices, int32_t basevertex) {
GAPID_INFO("glDrawElementsBaseVertexEXT(%u, %" PRId32 ", %u, %p, %" PRId32 ")\n", mode, count,
type, indices, basevertex);
Observations observations;
do {
uint32_t l_requiresExtension_193_ext = ExtensionId::GL_EXT_draw_elements_base_vertex;
observe(observations.mReads);
mImports.glDrawElementsBaseVertexEXT(mode, count, type, indices, basevertex);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlDrawElementsBaseVertexEXT coder(
observations, mode, count, type,
gapic::coder::gles::Void__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(indices), 0)),
basevertex);
mEncoder->Object(&coder);
}
inline void GlesSpy::glDrawElementsBaseVertexOES(uint32_t mode, int32_t count, uint32_t type,
void* indices, int32_t basevertex) {
GAPID_INFO("glDrawElementsBaseVertexOES(%u, %" PRId32 ", %u, %p, %" PRId32 ")\n", mode, count,
type, indices, basevertex);
Observations observations;
do {
uint32_t l_requiresExtension_194_ext = ExtensionId::GL_OES_draw_elements_base_vertex;
observe(observations.mReads);
mImports.glDrawElementsBaseVertexOES(mode, count, type, indices, basevertex);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlDrawElementsBaseVertexOES coder(
observations, mode, count, type,
gapic::coder::gles::Void__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(indices), 0)),
basevertex);
mEncoder->Object(&coder);
}
inline void GlesSpy::glDrawElementsInstancedANGLE(uint32_t mode, int32_t count, uint32_t type,
void* indices, int32_t primcount) {
GAPID_INFO("glDrawElementsInstancedANGLE(%u, %" PRId32 ", %u, %p, %" PRId32 ")\n", mode, count,
type, indices, primcount);
Observations observations;
do {
uint32_t l_requiresExtension_195_ext = ExtensionId::GL_ANGLE_instanced_arrays;
observe(observations.mReads);
mImports.glDrawElementsInstancedANGLE(mode, count, type, indices, primcount);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlDrawElementsInstancedANGLE coder(
observations, mode, count, type,
gapic::coder::gles::Void__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(indices), 0)),
primcount);
mEncoder->Object(&coder);
}
inline void GlesSpy::glDrawElementsInstancedBaseInstanceEXT(uint32_t mode, int32_t count,
uint32_t type, void* indices,
int32_t instancecount,
uint32_t baseinstance) {
GAPID_INFO("glDrawElementsInstancedBaseInstanceEXT(%u, %" PRId32 ", %u, %p, %" PRId32
", %" PRIu32 ")\n",
mode, count, type, indices, instancecount, baseinstance);
Observations observations;
do {
uint32_t l_requiresExtension_196_ext = ExtensionId::GL_EXT_base_instance;
observe(observations.mReads);
mImports.glDrawElementsInstancedBaseInstanceEXT(mode, count, type, indices, instancecount,
baseinstance);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlDrawElementsInstancedBaseInstanceEXT coder(
observations, mode, count, type,
gapic::coder::gles::Void__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(indices), 0)),
instancecount, baseinstance);
mEncoder->Object(&coder);
}
inline void GlesSpy::glDrawElementsInstancedBaseVertexEXT(uint32_t mode, int32_t count,
uint32_t type, void* indices,
int32_t instancecount,
int32_t basevertex) {
GAPID_INFO("glDrawElementsInstancedBaseVertexEXT(%u, %" PRId32 ", %u, %p, %" PRId32 ", %" PRId32
")\n",
mode, count, type, indices, instancecount, basevertex);
Observations observations;
do {
uint32_t l_requiresExtension_197_ext = ExtensionId::GL_EXT_draw_elements_base_vertex;
observe(observations.mReads);
mImports.glDrawElementsInstancedBaseVertexEXT(mode, count, type, indices, instancecount,
basevertex);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlDrawElementsInstancedBaseVertexEXT coder(
observations, mode, count, type,
gapic::coder::gles::Void__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(indices), 0)),
instancecount, basevertex);
mEncoder->Object(&coder);
}
inline void GlesSpy::glDrawElementsInstancedBaseVertexOES(uint32_t mode, int32_t count,
uint32_t type, void* indices,
int32_t instancecount,
int32_t basevertex) {
GAPID_INFO("glDrawElementsInstancedBaseVertexOES(%u, %" PRId32 ", %u, %p, %" PRId32 ", %" PRId32
")\n",
mode, count, type, indices, instancecount, basevertex);
Observations observations;
do {
uint32_t l_requiresExtension_198_ext = ExtensionId::GL_OES_draw_elements_base_vertex;
observe(observations.mReads);
mImports.glDrawElementsInstancedBaseVertexOES(mode, count, type, indices, instancecount,
basevertex);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlDrawElementsInstancedBaseVertexOES coder(
observations, mode, count, type,
gapic::coder::gles::Void__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(indices), 0)),
instancecount, basevertex);
mEncoder->Object(&coder);
}
inline void GlesSpy::glDrawElementsInstancedBaseVertexBaseInstanceEXT(uint32_t mode, int32_t count,
uint32_t type, void* indices,
int32_t instancecount,
int32_t basevertex,
uint32_t baseinstance) {
GAPID_INFO("glDrawElementsInstancedBaseVertexBaseInstanceEXT(%u, %" PRId32 ", %u, %p, %" PRId32
", %" PRId32 ", %" PRIu32 ")\n",
mode, count, type, indices, instancecount, basevertex, baseinstance);
Observations observations;
do {
uint32_t l_requiresExtension_199_ext = ExtensionId::GL_EXT_base_instance;
observe(observations.mReads);
mImports.glDrawElementsInstancedBaseVertexBaseInstanceEXT(
mode, count, type, indices, instancecount, basevertex, baseinstance);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlDrawElementsInstancedBaseVertexBaseInstanceEXT coder(
observations, mode, count, type,
gapic::coder::gles::Void__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(indices), 0)),
instancecount, basevertex, baseinstance);
mEncoder->Object(&coder);
}
inline void GlesSpy::glDrawElementsInstancedEXT(uint32_t mode, int32_t count, uint32_t type,
void* indices, int32_t primcount) {
GAPID_INFO("glDrawElementsInstancedEXT(%u, %" PRId32 ", %u, %p, %" PRId32 ")\n", mode, count,
type, indices, primcount);
Observations observations;
do {
uint32_t l_requiresExtension_200_ext = ExtensionId::GL_EXT_draw_instanced;
uint32_t l_requiresExtension_201_ext = ExtensionId::GL_EXT_instanced_arrays;
observe(observations.mReads);
mImports.glDrawElementsInstancedEXT(mode, count, type, indices, primcount);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlDrawElementsInstancedEXT coder(
observations, mode, count, type,
gapic::coder::gles::Void__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(indices), 0)),
primcount);
mEncoder->Object(&coder);
}
inline void GlesSpy::glDrawElementsInstancedNV(uint32_t mode, int32_t count, uint32_t type,
void* indices, int32_t primcount) {
GAPID_INFO("glDrawElementsInstancedNV(%u, %" PRId32 ", %u, %p, %" PRId32 ")\n", mode, count,
type, indices, primcount);
Observations observations;
do {
uint32_t l_requiresExtension_202_ext = ExtensionId::GL_NV_draw_instanced;
observe(observations.mReads);
mImports.glDrawElementsInstancedNV(mode, count, type, indices, primcount);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlDrawElementsInstancedNV coder(
observations, mode, count, type,
gapic::coder::gles::Void__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(indices), 0)),
primcount);
mEncoder->Object(&coder);
}
inline void GlesSpy::glDrawRangeElementsBaseVertexEXT(uint32_t mode, uint32_t start, uint32_t end,
int32_t count, uint32_t type, void* indices,
int32_t basevertex) {
GAPID_INFO("glDrawRangeElementsBaseVertexEXT(%u, %" PRIu32 ", %" PRIu32 ", %" PRId32
", %u, %p, %" PRId32 ")\n",
mode, start, end, count, type, indices, basevertex);
Observations observations;
do {
uint32_t l_requiresExtension_203_ext = ExtensionId::GL_EXT_draw_elements_base_vertex;
observe(observations.mReads);
mImports.glDrawRangeElementsBaseVertexEXT(mode, start, end, count, type, indices,
basevertex);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlDrawRangeElementsBaseVertexEXT coder(
observations, mode, start, end, count, type,
gapic::coder::gles::Void__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(indices), 0)),
basevertex);
mEncoder->Object(&coder);
}
inline void GlesSpy::glDrawRangeElementsBaseVertexOES(uint32_t mode, uint32_t start, uint32_t end,
int32_t count, uint32_t type, void* indices,
int32_t basevertex) {
GAPID_INFO("glDrawRangeElementsBaseVertexOES(%u, %" PRIu32 ", %" PRIu32 ", %" PRId32
", %u, %p, %" PRId32 ")\n",
mode, start, end, count, type, indices, basevertex);
Observations observations;
do {
uint32_t l_requiresExtension_204_ext = ExtensionId::GL_OES_draw_elements_base_vertex;
observe(observations.mReads);
mImports.glDrawRangeElementsBaseVertexOES(mode, start, end, count, type, indices,
basevertex);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlDrawRangeElementsBaseVertexOES coder(
observations, mode, start, end, count, type,
gapic::coder::gles::Void__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(indices), 0)),
basevertex);
mEncoder->Object(&coder);
}
inline void GlesSpy::glEGLImageTargetRenderbufferStorageOES(uint32_t target, void* image) {
GAPID_INFO("glEGLImageTargetRenderbufferStorageOES(%u, %p)\n", target, image);
Observations observations;
do {
uint32_t l_requiresExtension_205_ext = ExtensionId::GL_OES_EGL_image;
observe(observations.mReads);
mImports.glEGLImageTargetRenderbufferStorageOES(target, image);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlEGLImageTargetRenderbufferStorageOES coder(
observations, target, gapic::coder::gles::GLeglImageOES(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(image), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glEGLImageTargetTexture2DOES(uint32_t target, void* image) {
GAPID_INFO("glEGLImageTargetTexture2DOES(%u, %p)\n", target, image);
Observations observations;
do {
uint32_t l_requiresExtension_206_ext = ExtensionId::GL_OES_EGL_image;
observe(observations.mReads);
mImports.glEGLImageTargetTexture2DOES(target, image);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlEGLImageTargetTexture2DOES coder(
observations, target, gapic::coder::gles::GLeglImageOES(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(image), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glEnableDriverControlQCOM(uint32_t driverControl) {
GAPID_INFO("glEnableDriverControlQCOM(%" PRIu32 ")\n", driverControl);
Observations observations;
do {
uint32_t l_requiresExtension_207_ext = ExtensionId::GL_QCOM_driver_control;
observe(observations.mReads);
mImports.glEnableDriverControlQCOM(driverControl);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlEnableDriverControlQCOM coder(observations, driverControl);
mEncoder->Object(&coder);
}
inline void GlesSpy::glEnableiNV(uint32_t target, uint32_t index) {
GAPID_INFO("glEnableiNV(%u, %" PRIu32 ")\n", target, index);
Observations observations;
do {
uint32_t l_requiresExtension_208_ext = ExtensionId::GL_NV_viewport_array;
observe(observations.mReads);
mImports.glEnableiNV(target, index);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlEnableiNV coder(observations, target, index);
mEncoder->Object(&coder);
}
inline void GlesSpy::glEnableiOES(uint32_t target, uint32_t index) {
GAPID_INFO("glEnableiOES(%u, %" PRIu32 ")\n", target, index);
Observations observations;
do {
uint32_t l_requiresExtension_209_ext = ExtensionId::GL_OES_draw_buffers_indexed;
observe(observations.mReads);
mImports.glEnableiOES(target, index);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlEnableiOES coder(observations, target, index);
mEncoder->Object(&coder);
}
inline void GlesSpy::glEndConditionalRenderNV() {
GAPID_INFO("glEndConditionalRenderNV()\n");
Observations observations;
do {
uint32_t l_requiresExtension_210_ext = ExtensionId::GL_NV_conditional_render;
observe(observations.mReads);
mImports.glEndConditionalRenderNV();
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlEndConditionalRenderNV coder(observations);
mEncoder->Object(&coder);
}
inline void GlesSpy::glEndPerfMonitorAMD(uint32_t monitor) {
GAPID_INFO("glEndPerfMonitorAMD(%" PRIu32 ")\n", monitor);
Observations observations;
do {
uint32_t l_requiresExtension_211_ext = ExtensionId::GL_AMD_performance_monitor;
observe(observations.mReads);
mImports.glEndPerfMonitorAMD(monitor);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlEndPerfMonitorAMD coder(observations, monitor);
mEncoder->Object(&coder);
}
inline void GlesSpy::glEndPerfQueryINTEL(uint32_t queryHandle) {
GAPID_INFO("glEndPerfQueryINTEL(%" PRIu32 ")\n", queryHandle);
Observations observations;
do {
uint32_t l_requiresExtension_212_ext = ExtensionId::GL_INTEL_performance_query;
observe(observations.mReads);
mImports.glEndPerfQueryINTEL(queryHandle);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlEndPerfQueryINTEL coder(observations, queryHandle);
mEncoder->Object(&coder);
}
inline void GlesSpy::glEndQueryEXT(uint32_t target) {
GAPID_INFO("glEndQueryEXT(%u)\n", target);
Observations observations;
do {
uint32_t l_requiresExtension_213_ext = ExtensionId::GL_EXT_disjoint_timer_query;
uint32_t l_requiresExtension_214_ext = ExtensionId::GL_EXT_occlusion_query_boolean;
observe(observations.mReads);
mImports.glEndQueryEXT(target);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlEndQueryEXT coder(observations, target);
mEncoder->Object(&coder);
}
inline void GlesSpy::glEndTilingQCOM(uint32_t preserve_mask) {
GAPID_INFO("glEndTilingQCOM(%u)\n", preserve_mask);
Observations observations;
do {
uint32_t l_requiresExtension_215_ext = ExtensionId::GL_QCOM_tiled_rendering;
observe(observations.mReads);
mImports.glEndTilingQCOM(preserve_mask);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlEndTilingQCOM coder(observations, preserve_mask);
mEncoder->Object(&coder);
}
inline void GlesSpy::glExtGetBufferPointervQCOM(uint32_t target, void** params) {
GAPID_INFO("glExtGetBufferPointervQCOM(%u, %p)\n", target, params);
Observations observations;
do {
uint32_t l_requiresExtension_216_ext = ExtensionId::GL_QCOM_extended_get;
observe(observations.mReads);
mImports.glExtGetBufferPointervQCOM(target, params);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlExtGetBufferPointervQCOM coder(
observations, target, gapic::coder::gles::Void__P__P(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(params), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glExtGetBuffersQCOM(uint32_t* buffers, int32_t maxBuffers,
int32_t* numBuffers) {
GAPID_INFO("glExtGetBuffersQCOM(%p, %" PRId32 ", %p)\n", buffers, maxBuffers, numBuffers);
Observations observations;
do {
uint32_t l_requiresExtension_217_ext = ExtensionId::GL_QCOM_extended_get;
observe(observations.mReads);
mImports.glExtGetBuffersQCOM(buffers, maxBuffers, numBuffers);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlExtGetBuffersQCOM coder(
observations, gapic::coder::gles::BufferId__P(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(buffers), 0)),
maxBuffers, gapic::coder::gles::GLint__P(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(numBuffers), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glExtGetFramebuffersQCOM(uint32_t* framebuffers, int32_t maxFramebuffers,
int32_t* numFramebuffers) {
GAPID_INFO("glExtGetFramebuffersQCOM(%p, %" PRId32 ", %p)\n", framebuffers, maxFramebuffers,
numFramebuffers);
Observations observations;
do {
uint32_t l_requiresExtension_218_ext = ExtensionId::GL_QCOM_extended_get;
observe(observations.mReads);
mImports.glExtGetFramebuffersQCOM(framebuffers, maxFramebuffers, numFramebuffers);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlExtGetFramebuffersQCOM coder(
observations, gapic::coder::gles::FramebufferId__P(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(framebuffers), 0)),
maxFramebuffers, gapic::coder::gles::GLint__P(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(numFramebuffers), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glExtGetProgramBinarySourceQCOM(uint32_t program, uint32_t shadertype,
char* source, int32_t* length) {
GAPID_INFO("glExtGetProgramBinarySourceQCOM(%" PRIu32 ", %u, %p, %p)\n", program, shadertype,
source, length);
Observations observations;
do {
uint32_t l_requiresExtension_219_ext = ExtensionId::GL_QCOM_extended_get2;
observe(observations.mReads);
mImports.glExtGetProgramBinarySourceQCOM(program, shadertype, source, length);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlExtGetProgramBinarySourceQCOM coder(
observations, program, shadertype,
gapic::coder::gles::GLchar__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(source), 0)),
gapic::coder::gles::GLint__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(length), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glExtGetProgramsQCOM(uint32_t* programs, int32_t maxPrograms,
int32_t* numPrograms) {
GAPID_INFO("glExtGetProgramsQCOM(%p, %" PRId32 ", %p)\n", programs, maxPrograms, numPrograms);
Observations observations;
do {
uint32_t l_requiresExtension_220_ext = ExtensionId::GL_QCOM_extended_get2;
observe(observations.mReads);
mImports.glExtGetProgramsQCOM(programs, maxPrograms, numPrograms);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlExtGetProgramsQCOM coder(
observations, gapic::coder::gles::ProgramId__P(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(programs), 0)),
maxPrograms, gapic::coder::gles::GLint__P(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(numPrograms), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glExtGetRenderbuffersQCOM(uint32_t* renderbuffers, int32_t maxRenderbuffers,
int32_t* numRenderbuffers) {
GAPID_INFO("glExtGetRenderbuffersQCOM(%p, %" PRId32 ", %p)\n", renderbuffers, maxRenderbuffers,
numRenderbuffers);
Observations observations;
do {
uint32_t l_requiresExtension_221_ext = ExtensionId::GL_QCOM_extended_get;
observe(observations.mReads);
mImports.glExtGetRenderbuffersQCOM(renderbuffers, maxRenderbuffers, numRenderbuffers);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlExtGetRenderbuffersQCOM coder(
observations, gapic::coder::gles::RenderbufferId__P(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(renderbuffers), 0)),
maxRenderbuffers, gapic::coder::gles::GLint__P(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(numRenderbuffers), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glExtGetShadersQCOM(uint32_t* shaders, int32_t maxShaders,
int32_t* numShaders) {
GAPID_INFO("glExtGetShadersQCOM(%p, %" PRId32 ", %p)\n", shaders, maxShaders, numShaders);
Observations observations;
do {
uint32_t l_requiresExtension_222_ext = ExtensionId::GL_QCOM_extended_get2;
observe(observations.mReads);
mImports.glExtGetShadersQCOM(shaders, maxShaders, numShaders);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlExtGetShadersQCOM coder(
observations, gapic::coder::gles::ShaderId__P(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(shaders), 0)),
maxShaders, gapic::coder::gles::GLint__P(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(numShaders), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glExtGetTexLevelParameterivQCOM(uint32_t texture, uint32_t face, int32_t level,
uint32_t pname, int32_t* params) {
GAPID_INFO("glExtGetTexLevelParameterivQCOM(%" PRIu32 ", %u, %" PRId32 ", %u, %p)\n", texture,
face, level, pname, params);
Observations observations;
do {
uint32_t l_requiresExtension_223_ext = ExtensionId::GL_QCOM_extended_get;
observe(observations.mReads);
mImports.glExtGetTexLevelParameterivQCOM(texture, face, level, pname, params);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlExtGetTexLevelParameterivQCOM coder(
observations, texture, face, level, pname,
gapic::coder::gles::GLint__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(params), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glExtGetTexSubImageQCOM(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, void* texels) {
GAPID_INFO("glExtGetTexSubImageQCOM(%u, %" PRId32 ", %" PRId32 ", %" PRId32 ", %" PRId32
", %" PRId32 ", %" PRId32 ", %" PRId32 ", %u, %u, %p)\n",
target, level, xoffset, yoffset, zoffset, width, height, depth, format, type,
texels);
Observations observations;
do {
uint32_t l_requiresExtension_224_ext = ExtensionId::GL_QCOM_extended_get;
observe(observations.mReads);
mImports.glExtGetTexSubImageQCOM(target, level, xoffset, yoffset, zoffset, width, height,
depth, format, type, texels);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlExtGetTexSubImageQCOM coder(
observations, target, level, xoffset, yoffset, zoffset, width, height, depth, format,
type, gapic::coder::gles::Void__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(texels), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glExtGetTexturesQCOM(uint32_t* textures, int32_t maxTextures,
int32_t* numTextures) {
GAPID_INFO("glExtGetTexturesQCOM(%p, %" PRId32 ", %p)\n", textures, maxTextures, numTextures);
Observations observations;
do {
uint32_t l_requiresExtension_225_ext = ExtensionId::GL_QCOM_extended_get;
observe(observations.mReads);
mImports.glExtGetTexturesQCOM(textures, maxTextures, numTextures);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlExtGetTexturesQCOM coder(
observations, gapic::coder::gles::TextureId__P(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(textures), 0)),
maxTextures, gapic::coder::gles::GLint__P(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(numTextures), 0)));
mEncoder->Object(&coder);
}
inline uint8_t GlesSpy::glExtIsProgramBinaryQCOM(uint32_t program) {
GAPID_INFO("glExtIsProgramBinaryQCOM(%" PRIu32 ")\n", program);
uint8_t result = 0;
Observations observations;
do {
uint32_t l_requiresExtension_226_ext = ExtensionId::GL_QCOM_extended_get2;
observe(observations.mReads);
result = mImports.glExtIsProgramBinaryQCOM(program);
break;
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlExtIsProgramBinaryQCOM coder(observations, program, result);
mEncoder->Object(&coder);
return result;
}
inline void GlesSpy::glExtTexObjectStateOverrideiQCOM(uint32_t target, uint32_t pname,
int32_t param) {
GAPID_INFO("glExtTexObjectStateOverrideiQCOM(%u, %u, %" PRId32 ")\n", target, pname, param);
Observations observations;
do {
uint32_t l_requiresExtension_227_ext = ExtensionId::GL_QCOM_extended_get;
observe(observations.mReads);
mImports.glExtTexObjectStateOverrideiQCOM(target, pname, param);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlExtTexObjectStateOverrideiQCOM coder(observations, target, pname, param);
mEncoder->Object(&coder);
}
inline uint64_t GlesSpy::glFenceSyncAPPLE(uint32_t condition, uint32_t flag) {
GAPID_INFO("glFenceSyncAPPLE(%u, %u)\n", condition, flag);
uint64_t result = 0;
Observations observations;
do {
uint32_t l_requiresExtension_228_ext = ExtensionId::GL_APPLE_sync;
observe(observations.mReads);
result = mImports.glFenceSyncAPPLE(condition, flag);
break;
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlFenceSyncAPPLE coder(observations, condition, flag, result);
mEncoder->Object(&coder);
return result;
}
inline void GlesSpy::glFinishFenceNV(uint32_t fence) {
GAPID_INFO("glFinishFenceNV(%" PRIu32 ")\n", fence);
Observations observations;
do {
uint32_t l_requiresExtension_229_ext = ExtensionId::GL_NV_fence;
observe(observations.mReads);
mImports.glFinishFenceNV(fence);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlFinishFenceNV coder(observations, fence);
mEncoder->Object(&coder);
}
inline void GlesSpy::glFlushMappedBufferRangeEXT(uint32_t target, int32_t offset, int32_t length) {
GAPID_INFO("glFlushMappedBufferRangeEXT(%u, %" PRId32 ", %" PRId32 ")\n", target, offset,
length);
Observations observations;
do {
uint32_t l_requiresExtension_230_ext = ExtensionId::GL_EXT_map_buffer_range;
observe(observations.mReads);
mImports.glFlushMappedBufferRangeEXT(target, offset, length);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlFlushMappedBufferRangeEXT coder(observations, target, offset, length);
mEncoder->Object(&coder);
}
inline void GlesSpy::glFramebufferTexture2DMultisampleEXT(uint32_t target, uint32_t attachment,
uint32_t textarget, uint32_t texture,
int32_t level, int32_t samples) {
GAPID_INFO("glFramebufferTexture2DMultisampleEXT(%u, %u, %u, %" PRIu32 ", %" PRId32 ", %" PRId32
")\n",
target, attachment, textarget, texture, level, samples);
Observations observations;
do {
uint32_t l_requiresExtension_231_ext = ExtensionId::GL_EXT_multisampled_render_to_texture;
observe(observations.mReads);
mImports.glFramebufferTexture2DMultisampleEXT(target, attachment, textarget, texture, level,
samples);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlFramebufferTexture2DMultisampleEXT coder(
observations, target, attachment, textarget, texture, level, samples);
mEncoder->Object(&coder);
}
inline void GlesSpy::glFramebufferTexture2DMultisampleIMG(uint32_t target, uint32_t attachment,
uint32_t textarget, uint32_t texture,
int32_t level, int32_t samples) {
GAPID_INFO("glFramebufferTexture2DMultisampleIMG(%u, %u, %u, %" PRIu32 ", %" PRId32 ", %" PRId32
")\n",
target, attachment, textarget, texture, level, samples);
Observations observations;
do {
uint32_t l_requiresExtension_232_ext = ExtensionId::GL_IMG_multisampled_render_to_texture;
observe(observations.mReads);
mImports.glFramebufferTexture2DMultisampleIMG(target, attachment, textarget, texture, level,
samples);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlFramebufferTexture2DMultisampleIMG coder(
observations, target, attachment, textarget, texture, level, samples);
mEncoder->Object(&coder);
}
inline void GlesSpy::glFramebufferTexture3DOES(uint32_t target, uint32_t attachment,
uint32_t textarget, uint32_t texture, int32_t level,
int32_t zoffset) {
GAPID_INFO("glFramebufferTexture3DOES(%u, %u, %u, %" PRIu32 ", %" PRId32 ", %" PRId32 ")\n",
target, attachment, textarget, texture, level, zoffset);
Observations observations;
do {
uint32_t l_requiresExtension_233_ext = ExtensionId::GL_OES_texture_3D;
observe(observations.mReads);
mImports.glFramebufferTexture3DOES(target, attachment, textarget, texture, level, zoffset);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlFramebufferTexture3DOES coder(observations, target, attachment, textarget,
texture, level, zoffset);
mEncoder->Object(&coder);
}
inline void GlesSpy::glFramebufferTextureOES(uint32_t target, uint32_t attachment, uint32_t texture,
int32_t level) {
GAPID_INFO("glFramebufferTextureOES(%u, %u, %" PRIu32 ", %" PRId32 ")\n", target, attachment,
texture, level);
Observations observations;
do {
uint32_t l_requiresExtension_234_ext = ExtensionId::GL_OES_geometry_shader;
observe(observations.mReads);
mImports.glFramebufferTextureOES(target, attachment, texture, level);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlFramebufferTextureOES coder(observations, target, attachment, texture,
level);
mEncoder->Object(&coder);
}
inline void GlesSpy::glFramebufferTextureMultiviewOVR(uint32_t target, uint32_t attachment,
uint32_t texture, int32_t level,
int32_t baseViewIndex, int32_t numViews) {
GAPID_INFO("glFramebufferTextureMultiviewOVR(%u, %u, %" PRIu32 ", %" PRId32 ", %" PRId32
", %" PRId32 ")\n",
target, attachment, texture, level, baseViewIndex, numViews);
Observations observations;
do {
uint32_t l_requiresExtension_235_ext = ExtensionId::GL_OVR_multiview;
observe(observations.mReads);
mImports.glFramebufferTextureMultiviewOVR(target, attachment, texture, level, baseViewIndex,
numViews);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlFramebufferTextureMultiviewOVR coder(
observations, target, attachment, texture, level, baseViewIndex, numViews);
mEncoder->Object(&coder);
}
inline void GlesSpy::glGenFencesNV(int32_t n, uint32_t* fences) {
GAPID_INFO("glGenFencesNV(%" PRId32 ", %p)\n", n, fences);
Observations observations;
do {
uint32_t l_requiresExtension_236_ext = ExtensionId::GL_NV_fence;
observe(observations.mReads);
mImports.glGenFencesNV(n, fences);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGenFencesNV coder(
observations, n, gapic::coder::gles::GLuint__P(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(fences), 0)));
mEncoder->Object(&coder);
}
inline uint32_t GlesSpy::glGenPathsNV(int32_t range) {
GAPID_INFO("glGenPathsNV(%" PRId32 ")\n", range);
uint32_t result = 0;
Observations observations;
do {
uint32_t l_requiresExtension_237_ext = ExtensionId::GL_NV_path_rendering;
observe(observations.mReads);
result = mImports.glGenPathsNV(range);
break;
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGenPathsNV coder(observations, range, result);
mEncoder->Object(&coder);
return result;
}
inline void GlesSpy::glGenPerfMonitorsAMD(int32_t n, uint32_t* monitors) {
GAPID_INFO("glGenPerfMonitorsAMD(%" PRId32 ", %p)\n", n, monitors);
Observations observations;
do {
uint32_t l_requiresExtension_238_ext = ExtensionId::GL_AMD_performance_monitor;
observe(observations.mReads);
mImports.glGenPerfMonitorsAMD(n, monitors);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGenPerfMonitorsAMD coder(
observations, n, gapic::coder::gles::GLuint__P(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(monitors), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGenProgramPipelinesEXT(int32_t n, uint32_t* pipelines) {
GAPID_INFO("glGenProgramPipelinesEXT(%" PRId32 ", %p)\n", n, pipelines);
Observations observations;
do {
uint32_t l_requiresExtension_239_ext = ExtensionId::GL_EXT_separate_shader_objects;
observe(observations.mReads);
mImports.glGenProgramPipelinesEXT(n, pipelines);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGenProgramPipelinesEXT coder(
observations, n, gapic::coder::gles::PipelineId__P(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(pipelines), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGenQueriesEXT(int32_t count, uint32_t* queries) {
GAPID_INFO("glGenQueriesEXT(%" PRId32 ", %p)\n", count, queries);
Observations observations;
do {
uint32_t l_requiresExtension_240_ext = ExtensionId::GL_EXT_disjoint_timer_query;
uint32_t l_requiresExtension_241_ext = ExtensionId::GL_EXT_occlusion_query_boolean;
Slice<QueryId> l_q = slice(queries, (uint64_t)((GLsizei)(0)), (uint64_t)(count));
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_242_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_242_result;
observe(observations.mReads);
mImports.glGenQueriesEXT(count, queries);
for (GLsizei l_i = (GLsizei)(0); l_i < count; ++l_i) {
QueryId l_id = (QueryId)(
slice(queries, (uint64_t)((GLsizei)(0)), (uint64_t)(count))[(uint64_t)(l_i)]);
l_ctx->mInstances.mQueries[l_id] = std::shared_ptr<Query>((new Query()));
write(l_q, (uint64_t)(l_i), l_id);
}
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGenQueriesEXT coder(
observations, count, gapic::coder::gles::QueryId__P(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(queries), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGenVertexArraysOES(int32_t count, uint32_t* arrays) {
GAPID_INFO("glGenVertexArraysOES(%" PRId32 ", %p)\n", count, arrays);
Observations observations;
do {
uint32_t l_requiresExtension_243_ext = ExtensionId::GL_OES_vertex_array_object;
Slice<VertexArrayId> l_a = slice(arrays, (uint64_t)((GLsizei)(0)), (uint64_t)(count));
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_244_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_244_result;
observe(observations.mReads);
mImports.glGenVertexArraysOES(count, arrays);
for (GLsizei l_i = (GLsizei)(0); l_i < count; ++l_i) {
VertexArrayId l_id = (VertexArrayId)(
slice(arrays, (uint64_t)((GLsizei)(0)), (uint64_t)(count))[(uint64_t)(l_i)]);
l_ctx->mInstances.mVertexArrays[l_id] =
std::shared_ptr<VertexArray>((new VertexArray()));
write(l_a, (uint64_t)(l_i), l_id);
}
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGenVertexArraysOES coder(
observations, count, gapic::coder::gles::VertexArrayId__P(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(arrays), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetBufferPointervOES(uint32_t target, uint32_t pname, void** params) {
GAPID_INFO("glGetBufferPointervOES(%u, %u, %p)\n", target, pname, params);
Observations observations;
do {
uint32_t l_requiresExtension_245_ext = ExtensionId::GL_OES_mapbuffer;
observe(observations.mReads);
mImports.glGetBufferPointervOES(target, pname, params);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetBufferPointervOES coder(
observations, target, pname,
gapic::coder::gles::Void__P__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(params), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetDriverControlStringQCOM(uint32_t driverControl, int32_t bufSize,
int32_t* length, char* driverControlString) {
GAPID_INFO("glGetDriverControlStringQCOM(%" PRIu32 ", %" PRId32 ", %p, %p)\n", driverControl,
bufSize, length, driverControlString);
Observations observations;
do {
uint32_t l_requiresExtension_246_ext = ExtensionId::GL_QCOM_driver_control;
observe(observations.mReads);
mImports.glGetDriverControlStringQCOM(driverControl, bufSize, length, driverControlString);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetDriverControlStringQCOM coder(
observations, driverControl, bufSize,
gapic::coder::gles::GLsizei__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(length), 0)),
gapic::coder::gles::GLchar__P(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(driverControlString), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetDriverControlsQCOM(int32_t* num, int32_t size, uint32_t* driverControls) {
GAPID_INFO("glGetDriverControlsQCOM(%p, %" PRId32 ", %p)\n", num, size, driverControls);
Observations observations;
do {
uint32_t l_requiresExtension_247_ext = ExtensionId::GL_QCOM_driver_control;
observe(observations.mReads);
mImports.glGetDriverControlsQCOM(num, size, driverControls);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetDriverControlsQCOM coder(
observations, gapic::coder::gles::GLint__P(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(num), 0)),
size, gapic::coder::gles::GLuint__P(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(driverControls), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetFenceivNV(uint32_t fence, uint32_t pname, int32_t* params) {
GAPID_INFO("glGetFenceivNV(%" PRIu32 ", %u, %p)\n", fence, pname, params);
Observations observations;
do {
uint32_t l_requiresExtension_248_ext = ExtensionId::GL_NV_fence;
observe(observations.mReads);
mImports.glGetFenceivNV(fence, pname, params);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetFenceivNV coder(
observations, fence, pname, gapic::coder::gles::GLint__P(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(params), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetFirstPerfQueryIdINTEL(uint32_t* queryId) {
GAPID_INFO("glGetFirstPerfQueryIdINTEL(%p)\n", queryId);
Observations observations;
do {
uint32_t l_requiresExtension_249_ext = ExtensionId::GL_INTEL_performance_query;
observe(observations.mReads);
mImports.glGetFirstPerfQueryIdINTEL(queryId);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetFirstPerfQueryIdINTEL coder(
observations, gapic::coder::gles::GLuint__P(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(queryId), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetFloati_vNV(uint32_t target, uint32_t index, float* data) {
GAPID_INFO("glGetFloati_vNV(%u, %" PRIu32 ", %p)\n", target, index, data);
Observations observations;
do {
uint32_t l_requiresExtension_250_ext = ExtensionId::GL_NV_viewport_array;
observe(observations.mReads);
mImports.glGetFloati_vNV(target, index, data);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetFloati_vNV coder(
observations, target, index,
gapic::coder::gles::GLfloat__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(data), 0)));
mEncoder->Object(&coder);
}
inline uint32_t GlesSpy::glGetGraphicsResetStatusEXT() {
GAPID_INFO("glGetGraphicsResetStatusEXT()\n");
uint32_t result = 0;
Observations observations;
do {
uint32_t l_requiresExtension_251_ext = ExtensionId::GL_EXT_robustness;
observe(observations.mReads);
result = mImports.glGetGraphicsResetStatusEXT();
break;
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetGraphicsResetStatusEXT coder(observations, result);
mEncoder->Object(&coder);
return result;
}
inline uint32_t GlesSpy::glGetGraphicsResetStatusKHR() {
GAPID_INFO("glGetGraphicsResetStatusKHR()\n");
uint32_t result = 0;
Observations observations;
do {
uint32_t l_requiresExtension_252_ext = ExtensionId::GL_KHR_robustness;
observe(observations.mReads);
result = mImports.glGetGraphicsResetStatusKHR();
break;
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetGraphicsResetStatusKHR coder(observations, result);
mEncoder->Object(&coder);
return result;
}
inline uint64_t GlesSpy::glGetImageHandleNV(uint32_t texture, int32_t level, uint8_t layered,
int32_t layer, uint32_t format) {
GAPID_INFO("glGetImageHandleNV(%" PRIu32 ", %" PRId32 ", %" PRIu8 ", %" PRId32 ", %u)\n",
texture, level, layered, layer, format);
uint64_t result = 0;
Observations observations;
do {
uint32_t l_requiresExtension_253_ext = ExtensionId::GL_NV_bindless_texture;
observe(observations.mReads);
result = mImports.glGetImageHandleNV(texture, level, layered, layer, format);
break;
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetImageHandleNV coder(observations, texture, level, layered, layer,
format, result);
mEncoder->Object(&coder);
return result;
}
inline void GlesSpy::glGetInteger64vAPPLE(uint32_t pname, int64_t* params) {
GAPID_INFO("glGetInteger64vAPPLE(%u, %p)\n", pname, params);
Observations observations;
do {
uint32_t l_requiresExtension_254_ext = ExtensionId::GL_APPLE_sync;
observe(observations.mReads);
mImports.glGetInteger64vAPPLE(pname, params);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetInteger64vAPPLE coder(
observations, pname, gapic::coder::gles::GLint64__P(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(params), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetIntegeri_vEXT(uint32_t target, uint32_t index, int32_t* data) {
GAPID_INFO("glGetIntegeri_vEXT(%u, %" PRIu32 ", %p)\n", target, index, data);
Observations observations;
do {
uint32_t l_requiresExtension_255_ext = ExtensionId::GL_EXT_multiview_draw_buffers;
observe(observations.mReads);
mImports.glGetIntegeri_vEXT(target, index, data);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetIntegeri_vEXT coder(
observations, target, index, gapic::coder::gles::GLint__P(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(data), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetInternalformatSampleivNV(uint32_t target, uint32_t internalformat,
int32_t samples, uint32_t pname, int32_t bufSize,
int32_t* params) {
GAPID_INFO("glGetInternalformatSampleivNV(%u, %u, %" PRId32 ", %u, %" PRId32 ", %p)\n", target,
internalformat, samples, pname, bufSize, params);
Observations observations;
do {
uint32_t l_requiresExtension_256_ext = ExtensionId::GL_NV_internalformat_sample_query;
observe(observations.mReads);
mImports.glGetInternalformatSampleivNV(target, internalformat, samples, pname, bufSize,
params);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetInternalformatSampleivNV coder(
observations, target, internalformat, samples, pname, bufSize,
gapic::coder::gles::GLint__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(params), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetNextPerfQueryIdINTEL(uint32_t queryId, uint32_t* nextQueryId) {
GAPID_INFO("glGetNextPerfQueryIdINTEL(%" PRIu32 ", %p)\n", queryId, nextQueryId);
Observations observations;
do {
uint32_t l_requiresExtension_257_ext = ExtensionId::GL_INTEL_performance_query;
observe(observations.mReads);
mImports.glGetNextPerfQueryIdINTEL(queryId, nextQueryId);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetNextPerfQueryIdINTEL coder(
observations, queryId, gapic::coder::gles::GLuint__P(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(nextQueryId), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetObjectLabelEXT(uint32_t type, uint32_t object, int32_t bufSize,
int32_t* length, char* label) {
GAPID_INFO("glGetObjectLabelEXT(%u, %" PRIu32 ", %" PRId32 ", %p, %p)\n", type, object, bufSize,
length, label);
Observations observations;
do {
uint32_t l_requiresExtension_258_ext = ExtensionId::GL_EXT_debug_label;
observe(observations.mReads);
mImports.glGetObjectLabelEXT(type, object, bufSize, length, label);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetObjectLabelEXT coder(
observations, type, object, bufSize,
gapic::coder::gles::GLsizei__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(length), 0)),
gapic::coder::gles::GLchar__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(label), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetPathCommandsNV(uint32_t path, uint8_t* commands) {
GAPID_INFO("glGetPathCommandsNV(%" PRIu32 ", %p)\n", path, commands);
Observations observations;
do {
uint32_t l_requiresExtension_259_ext = ExtensionId::GL_NV_path_rendering;
observe(observations.mReads);
mImports.glGetPathCommandsNV(path, commands);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetPathCommandsNV coder(
observations, path, gapic::coder::gles::GLubyte__P(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(commands), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetPathCoordsNV(uint32_t path, float* coords) {
GAPID_INFO("glGetPathCoordsNV(%" PRIu32 ", %p)\n", path, coords);
Observations observations;
do {
uint32_t l_requiresExtension_260_ext = ExtensionId::GL_NV_path_rendering;
observe(observations.mReads);
mImports.glGetPathCoordsNV(path, coords);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetPathCoordsNV coder(
observations, path, gapic::coder::gles::GLfloat__P(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(coords), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetPathDashArrayNV(uint32_t path, float* dashArray) {
GAPID_INFO("glGetPathDashArrayNV(%" PRIu32 ", %p)\n", path, dashArray);
Observations observations;
do {
uint32_t l_requiresExtension_261_ext = ExtensionId::GL_NV_path_rendering;
observe(observations.mReads);
mImports.glGetPathDashArrayNV(path, dashArray);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetPathDashArrayNV coder(
observations, path, gapic::coder::gles::GLfloat__P(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(dashArray), 0)));
mEncoder->Object(&coder);
}
inline float GlesSpy::glGetPathLengthNV(uint32_t path, int32_t startSegment, int32_t numSegments) {
GAPID_INFO("glGetPathLengthNV(%" PRIu32 ", %" PRId32 ", %" PRId32 ")\n", path, startSegment,
numSegments);
float result = 0;
Observations observations;
do {
uint32_t l_requiresExtension_262_ext = ExtensionId::GL_NV_path_rendering;
observe(observations.mReads);
result = mImports.glGetPathLengthNV(path, startSegment, numSegments);
break;
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetPathLengthNV coder(observations, path, startSegment, numSegments,
result);
mEncoder->Object(&coder);
return result;
}
inline void GlesSpy::glGetPathMetricRangeNV(uint32_t metricQueryMask, uint32_t firstPathName,
int32_t numPaths, int32_t stride, float* metrics) {
GAPID_INFO("glGetPathMetricRangeNV(%u, %" PRIu32 ", %" PRId32 ", %" PRId32 ", %p)\n",
metricQueryMask, firstPathName, numPaths, stride, metrics);
Observations observations;
do {
uint32_t l_requiresExtension_263_ext = ExtensionId::GL_NV_path_rendering;
observe(observations.mReads);
mImports.glGetPathMetricRangeNV(metricQueryMask, firstPathName, numPaths, stride, metrics);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetPathMetricRangeNV coder(
observations, metricQueryMask, firstPathName, numPaths, stride,
gapic::coder::gles::GLfloat__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(metrics), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetPathMetricsNV(uint32_t metricQueryMask, int32_t numPaths,
uint32_t pathNameType, void* paths, uint32_t pathBase,
int32_t stride, float* metrics) {
GAPID_INFO("glGetPathMetricsNV(%u, %" PRId32 ", %u, %p, %" PRIu32 ", %" PRId32 ", %p)\n",
metricQueryMask, numPaths, pathNameType, paths, pathBase, stride, metrics);
Observations observations;
do {
uint32_t l_requiresExtension_264_ext = ExtensionId::GL_NV_path_rendering;
observe(observations.mReads);
mImports.glGetPathMetricsNV(metricQueryMask, numPaths, pathNameType, paths, pathBase,
stride, metrics);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetPathMetricsNV coder(
observations, metricQueryMask, numPaths, pathNameType,
gapic::coder::gles::Void__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(paths), 0)),
pathBase, stride, gapic::coder::gles::GLfloat__P(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(metrics), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetPathParameterfvNV(uint32_t path, uint32_t pname, float* value) {
GAPID_INFO("glGetPathParameterfvNV(%" PRIu32 ", %u, %p)\n", path, pname, value);
Observations observations;
do {
uint32_t l_requiresExtension_265_ext = ExtensionId::GL_NV_path_rendering;
observe(observations.mReads);
mImports.glGetPathParameterfvNV(path, pname, value);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetPathParameterfvNV coder(
observations, path, pname, gapic::coder::gles::GLfloat__P(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(value), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetPathParameterivNV(uint32_t path, uint32_t pname, int32_t* value) {
GAPID_INFO("glGetPathParameterivNV(%" PRIu32 ", %u, %p)\n", path, pname, value);
Observations observations;
do {
uint32_t l_requiresExtension_266_ext = ExtensionId::GL_NV_path_rendering;
observe(observations.mReads);
mImports.glGetPathParameterivNV(path, pname, value);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetPathParameterivNV coder(
observations, path, pname, gapic::coder::gles::GLint__P(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(value), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetPathSpacingNV(uint32_t pathListMode, int32_t numPaths,
uint32_t pathNameType, void* paths, uint32_t pathBase,
float advanceScale, float kerningScale,
uint32_t transformType, float* returnedSpacing) {
GAPID_INFO("glGetPathSpacingNV(%u, %" PRId32 ", %u, %p, %" PRIu32 ", %f, %f, %u, %p)\n",
pathListMode, numPaths, pathNameType, paths, pathBase, advanceScale, kerningScale,
transformType, returnedSpacing);
Observations observations;
do {
uint32_t l_requiresExtension_267_ext = ExtensionId::GL_NV_path_rendering;
observe(observations.mReads);
mImports.glGetPathSpacingNV(pathListMode, numPaths, pathNameType, paths, pathBase,
advanceScale, kerningScale, transformType, returnedSpacing);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetPathSpacingNV coder(
observations, pathListMode, numPaths, pathNameType,
gapic::coder::gles::Void__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(paths), 0)),
pathBase, advanceScale, kerningScale, transformType,
gapic::coder::gles::GLfloat__P(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(returnedSpacing), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetPerfCounterInfoINTEL(uint32_t queryId, uint32_t counterId,
uint32_t counterNameLength, char* counterName,
uint32_t counterDescLength, char* counterDesc,
uint32_t* counterOffset, uint32_t* counterDataSize,
uint32_t* counterTypeEnum,
uint32_t* counterDataTypeEnum,
uint64_t* rawCounterMaxValue) {
GAPID_INFO("glGetPerfCounterInfoINTEL(%" PRIu32 ", %" PRIu32 ", %" PRIu32 ", %p, %" PRIu32
", %p, %p, %p, %p, %p, %p)\n",
queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc,
counterOffset, counterDataSize, counterTypeEnum, counterDataTypeEnum,
rawCounterMaxValue);
Observations observations;
do {
uint32_t l_requiresExtension_268_ext = ExtensionId::GL_INTEL_performance_query;
observe(observations.mReads);
mImports.glGetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName,
counterDescLength, counterDesc, counterOffset,
counterDataSize, counterTypeEnum, counterDataTypeEnum,
rawCounterMaxValue);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetPerfCounterInfoINTEL coder(
observations, queryId, counterId, counterNameLength,
gapic::coder::gles::GLchar__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(counterName), 0)),
counterDescLength, gapic::coder::gles::GLchar__P(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(counterDesc), 0)),
gapic::coder::gles::GLuint__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(counterOffset), 0)),
gapic::coder::gles::GLuint__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(counterDataSize), 0)),
gapic::coder::gles::GLuint__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(counterTypeEnum), 0)),
gapic::coder::gles::GLuint__P(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(counterDataTypeEnum), 0)),
gapic::coder::gles::GLuint64__P(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(rawCounterMaxValue), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetPerfMonitorCounterDataAMD(uint32_t monitor, uint32_t pname,
int32_t dataSize, uint32_t* data,
int32_t* bytesWritten) {
GAPID_INFO("glGetPerfMonitorCounterDataAMD(%" PRIu32 ", %u, %" PRId32 ", %p, %p)\n", monitor,
pname, dataSize, data, bytesWritten);
Observations observations;
do {
uint32_t l_requiresExtension_269_ext = ExtensionId::GL_AMD_performance_monitor;
observe(observations.mReads);
mImports.glGetPerfMonitorCounterDataAMD(monitor, pname, dataSize, data, bytesWritten);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetPerfMonitorCounterDataAMD coder(
observations, monitor, pname, dataSize,
gapic::coder::gles::GLuint__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(data), 0)),
gapic::coder::gles::GLint__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(bytesWritten), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetPerfMonitorCounterInfoAMD(uint32_t group, uint32_t counter,
uint32_t pname, void* data) {
GAPID_INFO("glGetPerfMonitorCounterInfoAMD(%" PRIu32 ", %" PRIu32 ", %u, %p)\n", group, counter,
pname, data);
Observations observations;
do {
uint32_t l_requiresExtension_270_ext = ExtensionId::GL_AMD_performance_monitor;
observe(observations.mReads);
mImports.glGetPerfMonitorCounterInfoAMD(group, counter, pname, data);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetPerfMonitorCounterInfoAMD coder(
observations, group, counter, pname,
gapic::coder::gles::Void__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(data), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetPerfMonitorCounterStringAMD(uint32_t group, uint32_t counter,
int32_t bufSize, int32_t* length,
char* counterString) {
GAPID_INFO("glGetPerfMonitorCounterStringAMD(%" PRIu32 ", %" PRIu32 ", %" PRId32 ", %p, %p)\n",
group, counter, bufSize, length, counterString);
Observations observations;
do {
uint32_t l_requiresExtension_271_ext = ExtensionId::GL_AMD_performance_monitor;
observe(observations.mReads);
mImports.glGetPerfMonitorCounterStringAMD(group, counter, bufSize, length, counterString);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetPerfMonitorCounterStringAMD coder(
observations, group, counter, bufSize,
gapic::coder::gles::GLsizei__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(length), 0)),
gapic::coder::gles::GLchar__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(counterString), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetPerfMonitorCountersAMD(uint32_t group, int32_t* numCounters,
int32_t* maxActiveCounters, int32_t counterSize,
uint32_t* counters) {
GAPID_INFO("glGetPerfMonitorCountersAMD(%" PRIu32 ", %p, %p, %" PRId32 ", %p)\n", group,
numCounters, maxActiveCounters, counterSize, counters);
Observations observations;
do {
uint32_t l_requiresExtension_272_ext = ExtensionId::GL_AMD_performance_monitor;
observe(observations.mReads);
mImports.glGetPerfMonitorCountersAMD(group, numCounters, maxActiveCounters, counterSize,
counters);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetPerfMonitorCountersAMD coder(
observations, group, gapic::coder::gles::GLint__P(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(numCounters), 0)),
gapic::coder::gles::GLint__P(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(maxActiveCounters), 0)),
counterSize, gapic::coder::gles::GLuint__P(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(counters), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetPerfMonitorGroupStringAMD(uint32_t group, int32_t bufSize,
int32_t* length, char* groupString) {
GAPID_INFO("glGetPerfMonitorGroupStringAMD(%" PRIu32 ", %" PRId32 ", %p, %p)\n", group, bufSize,
length, groupString);
Observations observations;
do {
uint32_t l_requiresExtension_273_ext = ExtensionId::GL_AMD_performance_monitor;
observe(observations.mReads);
mImports.glGetPerfMonitorGroupStringAMD(group, bufSize, length, groupString);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetPerfMonitorGroupStringAMD coder(
observations, group, bufSize,
gapic::coder::gles::GLsizei__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(length), 0)),
gapic::coder::gles::GLchar__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(groupString), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetPerfMonitorGroupsAMD(int32_t* numGroups, int32_t groupsSize,
uint32_t* groups) {
GAPID_INFO("glGetPerfMonitorGroupsAMD(%p, %" PRId32 ", %p)\n", numGroups, groupsSize, groups);
Observations observations;
do {
uint32_t l_requiresExtension_274_ext = ExtensionId::GL_AMD_performance_monitor;
observe(observations.mReads);
mImports.glGetPerfMonitorGroupsAMD(numGroups, groupsSize, groups);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetPerfMonitorGroupsAMD coder(
observations, gapic::coder::gles::GLint__P(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(numGroups), 0)),
groupsSize, gapic::coder::gles::GLuint__P(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(groups), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetPerfQueryDataINTEL(uint32_t queryHandle, uint32_t flag, int32_t dataSize,
void* data, uint32_t* bytesWritten) {
GAPID_INFO("glGetPerfQueryDataINTEL(%" PRIu32 ", %" PRIu32 ", %" PRId32 ", %p, %p)\n",
queryHandle, flag, dataSize, data, bytesWritten);
Observations observations;
do {
uint32_t l_requiresExtension_275_ext = ExtensionId::GL_INTEL_performance_query;
observe(observations.mReads);
mImports.glGetPerfQueryDataINTEL(queryHandle, flag, dataSize, data, bytesWritten);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetPerfQueryDataINTEL coder(
observations, queryHandle, flag, dataSize,
gapic::coder::gles::GLvoid__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(data), 0)),
gapic::coder::gles::GLuint__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(bytesWritten), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetPerfQueryIdByNameINTEL(char* queryName, uint32_t* queryId) {
GAPID_INFO("glGetPerfQueryIdByNameINTEL(%p, %p)\n", queryName, queryId);
Observations observations;
do {
uint32_t l_requiresExtension_276_ext = ExtensionId::GL_INTEL_performance_query;
observe(observations.mReads);
mImports.glGetPerfQueryIdByNameINTEL(queryName, queryId);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetPerfQueryIdByNameINTEL coder(
observations, gapic::coder::gles::GLchar__P(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(queryName), 0)),
gapic::coder::gles::GLuint__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(queryId), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetPerfQueryInfoINTEL(uint32_t queryId, uint32_t queryNameLength,
char* queryName, uint32_t* dataSize,
uint32_t* noCounters, uint32_t* noInstances,
uint32_t* capsMask) {
GAPID_INFO("glGetPerfQueryInfoINTEL(%" PRIu32 ", %" PRIu32 ", %p, %p, %p, %p, %p)\n", queryId,
queryNameLength, queryName, dataSize, noCounters, noInstances, capsMask);
Observations observations;
do {
uint32_t l_requiresExtension_277_ext = ExtensionId::GL_INTEL_performance_query;
observe(observations.mReads);
mImports.glGetPerfQueryInfoINTEL(queryId, queryNameLength, queryName, dataSize, noCounters,
noInstances, capsMask);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetPerfQueryInfoINTEL coder(
observations, queryId, queryNameLength,
gapic::coder::gles::GLchar__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(queryName), 0)),
gapic::coder::gles::GLuint__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(dataSize), 0)),
gapic::coder::gles::GLuint__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(noCounters), 0)),
gapic::coder::gles::GLuint__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(noInstances), 0)),
gapic::coder::gles::GLuint__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(capsMask), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetProgramBinaryOES(uint32_t program, int32_t buffer_size,
int32_t* bytes_written, uint32_t* binary_format,
void* binary) {
GAPID_INFO("glGetProgramBinaryOES(%" PRIu32 ", %" PRId32 ", %p, %p, %p)\n", program,
buffer_size, bytes_written, binary_format, binary);
Observations observations;
do {
uint32_t l_requiresExtension_278_ext = ExtensionId::GL_OES_get_program_binary;
observe(observations.mReads);
mImports.glGetProgramBinaryOES(program, buffer_size, bytes_written, binary_format, binary);
GLsizei l_l = (GLsizei)(slice(bytes_written, 0, 1)[0]);
write(slice(bytes_written, 0, 1), 0, l_l);
write(slice(binary_format, 0, 1), 0, slice(binary_format, 0, 1)[0]);
write(slice(binary, (uint64_t)((GLsizei)(0)), (uint64_t)(l_l)));
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetProgramBinaryOES coder(
observations, program, buffer_size,
gapic::coder::gles::GLsizei__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(bytes_written), 0)),
gapic::coder::gles::GLenum__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(binary_format), 0)),
gapic::coder::gles::Void__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(binary), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetProgramPipelineInfoLogEXT(uint32_t pipeline, int32_t bufSize,
int32_t* length, char* infoLog) {
GAPID_INFO("glGetProgramPipelineInfoLogEXT(%" PRIu32 ", %" PRId32 ", %p, %p)\n", pipeline,
bufSize, length, infoLog);
Observations observations;
do {
uint32_t l_requiresExtension_279_ext = ExtensionId::GL_EXT_separate_shader_objects;
observe(observations.mReads);
mImports.glGetProgramPipelineInfoLogEXT(pipeline, bufSize, length, infoLog);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetProgramPipelineInfoLogEXT coder(
observations, pipeline, bufSize,
gapic::coder::gles::GLsizei__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(length), 0)),
gapic::coder::gles::GLchar__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(infoLog), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetProgramPipelineivEXT(uint32_t pipeline, uint32_t pname, int32_t* params) {
GAPID_INFO("glGetProgramPipelineivEXT(%" PRIu32 ", %u, %p)\n", pipeline, pname, params);
Observations observations;
do {
uint32_t l_requiresExtension_280_ext = ExtensionId::GL_EXT_separate_shader_objects;
observe(observations.mReads);
mImports.glGetProgramPipelineivEXT(pipeline, pname, params);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetProgramPipelineivEXT coder(
observations, pipeline, pname,
gapic::coder::gles::GLint__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(params), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetProgramResourcefvNV(uint32_t program, uint32_t programInterface,
uint32_t index, int32_t propCount, uint32_t* props,
int32_t bufSize, int32_t* length, float* params) {
GAPID_INFO("glGetProgramResourcefvNV(%" PRIu32 ", %u, %" PRIu32 ", %" PRId32 ", %p, %" PRId32
", %p, %p)\n",
program, programInterface, index, propCount, props, bufSize, length, params);
Observations observations;
do {
uint32_t l_requiresExtension_281_ext = ExtensionId::GL_NV_path_rendering;
observe(observations.mReads);
mImports.glGetProgramResourcefvNV(program, programInterface, index, propCount, props,
bufSize, length, params);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetProgramResourcefvNV coder(
observations, program, programInterface, index, propCount,
gapic::coder::gles::GLenum__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(props), 0)),
bufSize, gapic::coder::gles::GLsizei__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(length), 0)),
gapic::coder::gles::GLfloat__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(params), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetQueryObjecti64vEXT(uint32_t query, uint32_t parameter, int64_t* value) {
GAPID_INFO("glGetQueryObjecti64vEXT(%" PRIu32 ", %u, %p)\n", query, parameter, value);
Observations observations;
do {
uint32_t l_requiresExtension_282_ext = ExtensionId::GL_EXT_disjoint_timer_query;
observe(observations.mReads);
mImports.glGetQueryObjecti64vEXT(query, parameter, value);
write(slice(value, 0, 1), 0, slice(value, 0, 1)[0]);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetQueryObjecti64vEXT coder(
observations, query, parameter,
gapic::coder::gles::GLint64__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(value), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetQueryObjectivEXT(uint32_t query, uint32_t parameter, int32_t* value) {
GAPID_INFO("glGetQueryObjectivEXT(%" PRIu32 ", %u, %p)\n", query, parameter, value);
Observations observations;
do {
uint32_t l_requiresExtension_283_ext = ExtensionId::GL_EXT_disjoint_timer_query;
observe(observations.mReads);
mImports.glGetQueryObjectivEXT(query, parameter, value);
write(slice(value, 0, 1), 0, slice(value, 0, 1)[0]);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetQueryObjectivEXT coder(
observations, query, parameter,
gapic::coder::gles::GLint__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(value), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetQueryObjectui64vEXT(uint32_t query, uint32_t parameter, uint64_t* value) {
GAPID_INFO("glGetQueryObjectui64vEXT(%" PRIu32 ", %u, %p)\n", query, parameter, value);
Observations observations;
do {
uint32_t l_requiresExtension_284_ext = ExtensionId::GL_EXT_disjoint_timer_query;
observe(observations.mReads);
mImports.glGetQueryObjectui64vEXT(query, parameter, value);
write(slice(value, 0, 1), 0, slice(value, 0, 1)[0]);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetQueryObjectui64vEXT coder(
observations, query, parameter,
gapic::coder::gles::GLuint64__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(value), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetQueryObjectuivEXT(uint32_t query, uint32_t parameter, uint32_t* value) {
GAPID_INFO("glGetQueryObjectuivEXT(%" PRIu32 ", %u, %p)\n", query, parameter, value);
Observations observations;
do {
uint32_t l_requiresExtension_285_ext = ExtensionId::GL_EXT_disjoint_timer_query;
uint32_t l_requiresExtension_286_ext = ExtensionId::GL_EXT_occlusion_query_boolean;
observe(observations.mReads);
mImports.glGetQueryObjectuivEXT(query, parameter, value);
write(slice(value, 0, 1), 0, slice(value, 0, 1)[0]);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetQueryObjectuivEXT coder(
observations, query, parameter,
gapic::coder::gles::GLuint__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(value), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetQueryivEXT(uint32_t target, uint32_t parameter, int32_t* value) {
GAPID_INFO("glGetQueryivEXT(%u, %u, %p)\n", target, parameter, value);
Observations observations;
do {
uint32_t l_requiresExtension_287_ext = ExtensionId::GL_EXT_disjoint_timer_query;
uint32_t l_requiresExtension_288_ext = ExtensionId::GL_EXT_occlusion_query_boolean;
observe(observations.mReads);
mImports.glGetQueryivEXT(target, parameter, value);
write(slice(value, 0, 1), 0, slice(value, 0, 1)[0]);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetQueryivEXT coder(
observations, target, parameter,
gapic::coder::gles::GLint__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(value), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetSamplerParameterIivOES(uint32_t sampler, uint32_t pname,
int32_t* params) {
GAPID_INFO("glGetSamplerParameterIivOES(%" PRIu32 ", %u, %p)\n", sampler, pname, params);
Observations observations;
do {
uint32_t l_requiresExtension_289_ext = ExtensionId::GL_OES_texture_border_clamp;
observe(observations.mReads);
mImports.glGetSamplerParameterIivOES(sampler, pname, params);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetSamplerParameterIivOES coder(
observations, sampler, pname,
gapic::coder::gles::GLint__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(params), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetSamplerParameterIuivOES(uint32_t sampler, uint32_t pname,
uint32_t* params) {
GAPID_INFO("glGetSamplerParameterIuivOES(%" PRIu32 ", %u, %p)\n", sampler, pname, params);
Observations observations;
do {
uint32_t l_requiresExtension_290_ext = ExtensionId::GL_OES_texture_border_clamp;
observe(observations.mReads);
mImports.glGetSamplerParameterIuivOES(sampler, pname, params);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetSamplerParameterIuivOES coder(
observations, sampler, pname,
gapic::coder::gles::GLuint__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(params), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetSyncivAPPLE(uint64_t sync, uint32_t pname, int32_t bufSize,
int32_t* length, int32_t* values) {
GAPID_INFO("glGetSyncivAPPLE(%" PRIu64 ", %u, %" PRId32 ", %p, %p)\n", sync, pname, bufSize,
length, values);
Observations observations;
do {
uint32_t l_requiresExtension_291_ext = ExtensionId::GL_APPLE_sync;
observe(observations.mReads);
mImports.glGetSyncivAPPLE(sync, pname, bufSize, length, values);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetSyncivAPPLE coder(
observations, sync, pname, bufSize,
gapic::coder::gles::GLsizei__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(length), 0)),
gapic::coder::gles::GLint__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(values), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetTexParameterIivOES(uint32_t target, uint32_t pname, int32_t* params) {
GAPID_INFO("glGetTexParameterIivOES(%u, %u, %p)\n", target, pname, params);
Observations observations;
do {
uint32_t l_requiresExtension_292_ext = ExtensionId::GL_OES_texture_border_clamp;
observe(observations.mReads);
mImports.glGetTexParameterIivOES(target, pname, params);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetTexParameterIivOES coder(
observations, target, pname, gapic::coder::gles::GLint__P(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(params), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetTexParameterIuivOES(uint32_t target, uint32_t pname, uint32_t* params) {
GAPID_INFO("glGetTexParameterIuivOES(%u, %u, %p)\n", target, pname, params);
Observations observations;
do {
uint32_t l_requiresExtension_293_ext = ExtensionId::GL_OES_texture_border_clamp;
observe(observations.mReads);
mImports.glGetTexParameterIuivOES(target, pname, params);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetTexParameterIuivOES coder(
observations, target, pname,
gapic::coder::gles::GLuint__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(params), 0)));
mEncoder->Object(&coder);
}
inline uint64_t GlesSpy::glGetTextureHandleNV(uint32_t texture) {
GAPID_INFO("glGetTextureHandleNV(%" PRIu32 ")\n", texture);
uint64_t result = 0;
Observations observations;
do {
uint32_t l_requiresExtension_294_ext = ExtensionId::GL_NV_bindless_texture;
observe(observations.mReads);
result = mImports.glGetTextureHandleNV(texture);
break;
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetTextureHandleNV coder(observations, texture, result);
mEncoder->Object(&coder);
return result;
}
inline uint64_t GlesSpy::glGetTextureSamplerHandleNV(uint32_t texture, uint32_t sampler) {
GAPID_INFO("glGetTextureSamplerHandleNV(%" PRIu32 ", %" PRIu32 ")\n", texture, sampler);
uint64_t result = 0;
Observations observations;
do {
uint32_t l_requiresExtension_295_ext = ExtensionId::GL_NV_bindless_texture;
observe(observations.mReads);
result = mImports.glGetTextureSamplerHandleNV(texture, sampler);
break;
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetTextureSamplerHandleNV coder(observations, texture, sampler, result);
mEncoder->Object(&coder);
return result;
}
inline void GlesSpy::glGetTranslatedShaderSourceANGLE(uint32_t shader, int32_t bufsize,
int32_t* length, char* source) {
GAPID_INFO("glGetTranslatedShaderSourceANGLE(%" PRIu32 ", %" PRId32 ", %p, %p)\n", shader,
bufsize, length, source);
Observations observations;
do {
uint32_t l_requiresExtension_296_ext = ExtensionId::GL_ANGLE_translated_shader_source;
observe(observations.mReads);
mImports.glGetTranslatedShaderSourceANGLE(shader, bufsize, length, source);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetTranslatedShaderSourceANGLE coder(
observations, shader, bufsize,
gapic::coder::gles::GLsizei__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(length), 0)),
gapic::coder::gles::GLchar__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(source), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetnUniformfvEXT(uint32_t program, int32_t location, int32_t bufSize,
float* params) {
GAPID_INFO("glGetnUniformfvEXT(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %p)\n", program, location,
bufSize, params);
Observations observations;
do {
uint32_t l_requiresExtension_297_ext = ExtensionId::GL_EXT_robustness;
observe(observations.mReads);
mImports.glGetnUniformfvEXT(program, location, bufSize, params);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetnUniformfvEXT coder(
observations, program, location, bufSize,
gapic::coder::gles::GLfloat__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(params), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetnUniformfvKHR(uint32_t program, int32_t location, int32_t bufSize,
float* params) {
GAPID_INFO("glGetnUniformfvKHR(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %p)\n", program, location,
bufSize, params);
Observations observations;
do {
uint32_t l_requiresExtension_298_ext = ExtensionId::GL_KHR_robustness;
observe(observations.mReads);
mImports.glGetnUniformfvKHR(program, location, bufSize, params);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetnUniformfvKHR coder(
observations, program, location, bufSize,
gapic::coder::gles::GLfloat__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(params), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetnUniformivEXT(uint32_t program, int32_t location, int32_t bufSize,
int32_t* params) {
GAPID_INFO("glGetnUniformivEXT(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %p)\n", program, location,
bufSize, params);
Observations observations;
do {
uint32_t l_requiresExtension_299_ext = ExtensionId::GL_EXT_robustness;
observe(observations.mReads);
mImports.glGetnUniformivEXT(program, location, bufSize, params);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetnUniformivEXT coder(
observations, program, location, bufSize,
gapic::coder::gles::GLint__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(params), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetnUniformivKHR(uint32_t program, int32_t location, int32_t bufSize,
int32_t* params) {
GAPID_INFO("glGetnUniformivKHR(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %p)\n", program, location,
bufSize, params);
Observations observations;
do {
uint32_t l_requiresExtension_300_ext = ExtensionId::GL_KHR_robustness;
observe(observations.mReads);
mImports.glGetnUniformivKHR(program, location, bufSize, params);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetnUniformivKHR coder(
observations, program, location, bufSize,
gapic::coder::gles::GLint__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(params), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetnUniformuivKHR(uint32_t program, int32_t location, int32_t bufSize,
uint32_t* params) {
GAPID_INFO("glGetnUniformuivKHR(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %p)\n", program,
location, bufSize, params);
Observations observations;
do {
uint32_t l_requiresExtension_301_ext = ExtensionId::GL_KHR_robustness;
observe(observations.mReads);
mImports.glGetnUniformuivKHR(program, location, bufSize, params);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetnUniformuivKHR coder(
observations, program, location, bufSize,
gapic::coder::gles::GLuint__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(params), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glInsertEventMarkerEXT(int32_t length, char* marker) {
GAPID_INFO("glInsertEventMarkerEXT(%" PRId32 ", %p)\n", length, marker);
Observations observations;
do {
uint32_t l_requiresExtension_302_ext = ExtensionId::GL_EXT_debug_marker;
if (length > (GLsizei)(0)) {
read(slice(marker, (uint64_t)((GLsizei)(0)), (uint64_t)(length)));
} else {
string((char*)(marker));
}
observe(observations.mReads);
mImports.glInsertEventMarkerEXT(length, marker);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlInsertEventMarkerEXT coder(
observations, length, gapic::coder::gles::GLchar__CP(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(marker), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glInterpolatePathsNV(uint32_t resultPath, uint32_t pathA, uint32_t pathB,
float weight) {
GAPID_INFO("glInterpolatePathsNV(%" PRIu32 ", %" PRIu32 ", %" PRIu32 ", %f)\n", resultPath,
pathA, pathB, weight);
Observations observations;
do {
uint32_t l_requiresExtension_303_ext = ExtensionId::GL_NV_path_rendering;
observe(observations.mReads);
mImports.glInterpolatePathsNV(resultPath, pathA, pathB, weight);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlInterpolatePathsNV coder(observations, resultPath, pathA, pathB, weight);
mEncoder->Object(&coder);
}
inline uint8_t GlesSpy::glIsEnablediOES(uint32_t target, uint32_t index) {
GAPID_INFO("glIsEnablediOES(%u, %" PRIu32 ")\n", target, index);
uint8_t result = 0;
Observations observations;
do {
uint32_t l_requiresExtension_304_ext = ExtensionId::GL_OES_draw_buffers_indexed;
observe(observations.mReads);
result = mImports.glIsEnablediOES(target, index);
break;
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlIsEnablediOES coder(observations, target, index, result);
mEncoder->Object(&coder);
return result;
}
inline uint8_t GlesSpy::glIsEnablediNV(uint32_t target, uint32_t index) {
GAPID_INFO("glIsEnablediNV(%u, %" PRIu32 ")\n", target, index);
uint8_t result = 0;
Observations observations;
do {
uint32_t l_requiresExtension_305_ext = ExtensionId::GL_NV_viewport_array;
observe(observations.mReads);
result = mImports.glIsEnablediNV(target, index);
break;
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlIsEnablediNV coder(observations, target, index, result);
mEncoder->Object(&coder);
return result;
}
inline uint8_t GlesSpy::glIsFenceNV(uint32_t fence) {
GAPID_INFO("glIsFenceNV(%" PRIu32 ")\n", fence);
uint8_t result = 0;
Observations observations;
do {
uint32_t l_requiresExtension_306_ext = ExtensionId::GL_NV_fence;
observe(observations.mReads);
result = mImports.glIsFenceNV(fence);
break;
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlIsFenceNV coder(observations, fence, result);
mEncoder->Object(&coder);
return result;
}
inline uint8_t GlesSpy::glIsImageHandleResidentNV(uint64_t handle) {
GAPID_INFO("glIsImageHandleResidentNV(%" PRIu64 ")\n", handle);
uint8_t result = 0;
Observations observations;
do {
uint32_t l_requiresExtension_307_ext = ExtensionId::GL_NV_bindless_texture;
observe(observations.mReads);
result = mImports.glIsImageHandleResidentNV(handle);
break;
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlIsImageHandleResidentNV coder(observations, handle, result);
mEncoder->Object(&coder);
return result;
}
inline uint8_t GlesSpy::glIsPathNV(uint32_t path) {
GAPID_INFO("glIsPathNV(%" PRIu32 ")\n", path);
uint8_t result = 0;
Observations observations;
do {
uint32_t l_requiresExtension_308_ext = ExtensionId::GL_NV_path_rendering;
observe(observations.mReads);
result = mImports.glIsPathNV(path);
break;
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlIsPathNV coder(observations, path, result);
mEncoder->Object(&coder);
return result;
}
inline uint8_t GlesSpy::glIsPointInFillPathNV(uint32_t path, uint32_t mask, float x, float y) {
GAPID_INFO("glIsPointInFillPathNV(%" PRIu32 ", %" PRIu32 ", %f, %f)\n", path, mask, x, y);
uint8_t result = 0;
Observations observations;
do {
uint32_t l_requiresExtension_309_ext = ExtensionId::GL_NV_path_rendering;
observe(observations.mReads);
result = mImports.glIsPointInFillPathNV(path, mask, x, y);
break;
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlIsPointInFillPathNV coder(observations, path, mask, x, y, result);
mEncoder->Object(&coder);
return result;
}
inline uint8_t GlesSpy::glIsPointInStrokePathNV(uint32_t path, float x, float y) {
GAPID_INFO("glIsPointInStrokePathNV(%" PRIu32 ", %f, %f)\n", path, x, y);
uint8_t result = 0;
Observations observations;
do {
uint32_t l_requiresExtension_310_ext = ExtensionId::GL_NV_path_rendering;
observe(observations.mReads);
result = mImports.glIsPointInStrokePathNV(path, x, y);
break;
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlIsPointInStrokePathNV coder(observations, path, x, y, result);
mEncoder->Object(&coder);
return result;
}
inline uint8_t GlesSpy::glIsProgramPipelineEXT(uint32_t pipeline) {
GAPID_INFO("glIsProgramPipelineEXT(%" PRIu32 ")\n", pipeline);
uint8_t result = 0;
Observations observations;
do {
uint32_t l_requiresExtension_311_ext = ExtensionId::GL_EXT_separate_shader_objects;
observe(observations.mReads);
result = mImports.glIsProgramPipelineEXT(pipeline);
break;
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlIsProgramPipelineEXT coder(observations, pipeline, result);
mEncoder->Object(&coder);
return result;
}
inline uint8_t GlesSpy::glIsQueryEXT(uint32_t query) {
GAPID_INFO("glIsQueryEXT(%" PRIu32 ")\n", query);
uint8_t result = 0;
Observations observations;
do {
uint32_t l_requiresExtension_312_ext = ExtensionId::GL_EXT_disjoint_timer_query;
uint32_t l_requiresExtension_313_ext = ExtensionId::GL_EXT_occlusion_query_boolean;
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_314_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_314_result;
observe(observations.mReads);
result = mImports.glIsQueryEXT(query);
break;
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlIsQueryEXT coder(observations, query, result);
mEncoder->Object(&coder);
return result;
}
inline uint8_t GlesSpy::glIsSyncAPPLE(uint64_t sync) {
GAPID_INFO("glIsSyncAPPLE(%" PRIu64 ")\n", sync);
uint8_t result = 0;
Observations observations;
do {
uint32_t l_requiresExtension_315_ext = ExtensionId::GL_APPLE_sync;
observe(observations.mReads);
result = mImports.glIsSyncAPPLE(sync);
break;
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlIsSyncAPPLE coder(observations, sync, result);
mEncoder->Object(&coder);
return result;
}
inline uint8_t GlesSpy::glIsTextureHandleResidentNV(uint64_t handle) {
GAPID_INFO("glIsTextureHandleResidentNV(%" PRIu64 ")\n", handle);
uint8_t result = 0;
Observations observations;
do {
uint32_t l_requiresExtension_316_ext = ExtensionId::GL_NV_bindless_texture;
observe(observations.mReads);
result = mImports.glIsTextureHandleResidentNV(handle);
break;
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlIsTextureHandleResidentNV coder(observations, handle, result);
mEncoder->Object(&coder);
return result;
}
inline uint8_t GlesSpy::glIsVertexArrayOES(uint32_t array) {
GAPID_INFO("glIsVertexArrayOES(%" PRIu32 ")\n", array);
uint8_t result = 0;
Observations observations;
do {
uint32_t l_requiresExtension_317_ext = ExtensionId::GL_OES_vertex_array_object;
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_318_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_318_result;
observe(observations.mReads);
result = mImports.glIsVertexArrayOES(array);
break;
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlIsVertexArrayOES coder(observations, array, result);
mEncoder->Object(&coder);
return result;
}
inline void GlesSpy::glLabelObjectEXT(uint32_t type, uint32_t object, int32_t length, char* label) {
GAPID_INFO("glLabelObjectEXT(%u, %" PRIu32 ", %" PRId32 ", %p)\n", type, object, length, label);
Observations observations;
do {
uint32_t l_requiresExtension_319_ext = ExtensionId::GL_EXT_debug_label;
observe(observations.mReads);
mImports.glLabelObjectEXT(type, object, length, label);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlLabelObjectEXT coder(
observations, type, object, length,
gapic::coder::gles::GLchar__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(label), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glMakeImageHandleNonResidentNV(uint64_t handle) {
GAPID_INFO("glMakeImageHandleNonResidentNV(%" PRIu64 ")\n", handle);
Observations observations;
do {
uint32_t l_requiresExtension_320_ext = ExtensionId::GL_NV_bindless_texture;
observe(observations.mReads);
mImports.glMakeImageHandleNonResidentNV(handle);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlMakeImageHandleNonResidentNV coder(observations, handle);
mEncoder->Object(&coder);
}
inline void GlesSpy::glMakeImageHandleResidentNV(uint64_t handle, uint32_t access) {
GAPID_INFO("glMakeImageHandleResidentNV(%" PRIu64 ", %u)\n", handle, access);
Observations observations;
do {
uint32_t l_requiresExtension_321_ext = ExtensionId::GL_NV_bindless_texture;
observe(observations.mReads);
mImports.glMakeImageHandleResidentNV(handle, access);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlMakeImageHandleResidentNV coder(observations, handle, access);
mEncoder->Object(&coder);
}
inline void GlesSpy::glMakeTextureHandleNonResidentNV(uint64_t handle) {
GAPID_INFO("glMakeTextureHandleNonResidentNV(%" PRIu64 ")\n", handle);
Observations observations;
do {
uint32_t l_requiresExtension_322_ext = ExtensionId::GL_NV_bindless_texture;
observe(observations.mReads);
mImports.glMakeTextureHandleNonResidentNV(handle);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlMakeTextureHandleNonResidentNV coder(observations, handle);
mEncoder->Object(&coder);
}
inline void GlesSpy::glMakeTextureHandleResidentNV(uint64_t handle) {
GAPID_INFO("glMakeTextureHandleResidentNV(%" PRIu64 ")\n", handle);
Observations observations;
do {
uint32_t l_requiresExtension_323_ext = ExtensionId::GL_NV_bindless_texture;
observe(observations.mReads);
mImports.glMakeTextureHandleResidentNV(handle);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlMakeTextureHandleResidentNV coder(observations, handle);
mEncoder->Object(&coder);
}
inline void* GlesSpy::glMapBufferOES(uint32_t target, uint32_t access) {
GAPID_INFO("glMapBufferOES(%u, %u)\n", target, access);
void* result = nullptr;
Observations observations;
do {
uint32_t l_requiresExtension_324_ext = ExtensionId::GL_OES_mapbuffer;
observe(observations.mReads);
result = mImports.glMapBufferOES(target, access);
break;
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlMapBufferOES coder(
observations, target, access, gapic::coder::gles::Void__P(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(result), 0)));
mEncoder->Object(&coder);
return result;
}
inline void* GlesSpy::glMapBufferRangeEXT(uint32_t target, int32_t offset, int32_t length,
uint32_t access) {
GAPID_INFO("glMapBufferRangeEXT(%u, %" PRId32 ", %" PRId32 ", %u)\n", target, offset, length,
access);
void* result = nullptr;
Observations observations;
do {
uint32_t l_requiresExtension_325_ext = ExtensionId::GL_EXT_map_buffer_range;
observe(observations.mReads);
result = mImports.glMapBufferRangeEXT(target, offset, length, access);
break;
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlMapBufferRangeEXT coder(
observations, target, offset, length, access,
gapic::coder::gles::Void__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(result), 0)));
mEncoder->Object(&coder);
return result;
}
inline void GlesSpy::glMatrixLoad3x2fNV(uint32_t matrixMode, float* m) {
GAPID_INFO("glMatrixLoad3x2fNV(%u, %p)\n", matrixMode, m);
Observations observations;
do {
uint32_t l_requiresExtension_326_ext = ExtensionId::GL_NV_path_rendering;
observe(observations.mReads);
mImports.glMatrixLoad3x2fNV(matrixMode, m);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlMatrixLoad3x2fNV coder(
observations, matrixMode, gapic::coder::gles::GLfloat__CP(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(m), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glMatrixLoad3x3fNV(uint32_t matrixMode, float* m) {
GAPID_INFO("glMatrixLoad3x3fNV(%u, %p)\n", matrixMode, m);
Observations observations;
do {
uint32_t l_requiresExtension_327_ext = ExtensionId::GL_NV_path_rendering;
observe(observations.mReads);
mImports.glMatrixLoad3x3fNV(matrixMode, m);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlMatrixLoad3x3fNV coder(
observations, matrixMode, gapic::coder::gles::GLfloat__CP(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(m), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glMatrixLoadTranspose3x3fNV(uint32_t matrixMode, float* m) {
GAPID_INFO("glMatrixLoadTranspose3x3fNV(%u, %p)\n", matrixMode, m);
Observations observations;
do {
uint32_t l_requiresExtension_328_ext = ExtensionId::GL_NV_path_rendering;
observe(observations.mReads);
mImports.glMatrixLoadTranspose3x3fNV(matrixMode, m);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlMatrixLoadTranspose3x3fNV coder(
observations, matrixMode, gapic::coder::gles::GLfloat__CP(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(m), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glMatrixMult3x2fNV(uint32_t matrixMode, float* m) {
GAPID_INFO("glMatrixMult3x2fNV(%u, %p)\n", matrixMode, m);
Observations observations;
do {
uint32_t l_requiresExtension_329_ext = ExtensionId::GL_NV_path_rendering;
observe(observations.mReads);
mImports.glMatrixMult3x2fNV(matrixMode, m);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlMatrixMult3x2fNV coder(
observations, matrixMode, gapic::coder::gles::GLfloat__CP(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(m), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glMatrixMult3x3fNV(uint32_t matrixMode, float* m) {
GAPID_INFO("glMatrixMult3x3fNV(%u, %p)\n", matrixMode, m);
Observations observations;
do {
uint32_t l_requiresExtension_330_ext = ExtensionId::GL_NV_path_rendering;
observe(observations.mReads);
mImports.glMatrixMult3x3fNV(matrixMode, m);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlMatrixMult3x3fNV coder(
observations, matrixMode, gapic::coder::gles::GLfloat__CP(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(m), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glMatrixMultTranspose3x3fNV(uint32_t matrixMode, float* m) {
GAPID_INFO("glMatrixMultTranspose3x3fNV(%u, %p)\n", matrixMode, m);
Observations observations;
do {
uint32_t l_requiresExtension_331_ext = ExtensionId::GL_NV_path_rendering;
observe(observations.mReads);
mImports.glMatrixMultTranspose3x3fNV(matrixMode, m);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlMatrixMultTranspose3x3fNV coder(
observations, matrixMode, gapic::coder::gles::GLfloat__CP(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(m), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glMultiDrawArraysEXT(uint32_t mode, int32_t* first, int32_t* count,
int32_t primcount) {
GAPID_INFO("glMultiDrawArraysEXT(%u, %p, %p, %" PRId32 ")\n", mode, first, count, primcount);
Observations observations;
do {
uint32_t l_requiresExtension_332_ext = ExtensionId::GL_EXT_multi_draw_arrays;
observe(observations.mReads);
mImports.glMultiDrawArraysEXT(mode, first, count, primcount);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlMultiDrawArraysEXT coder(
observations, mode, gapic::coder::gles::GLint__CP(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(first), 0)),
gapic::coder::gles::GLsizei__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(count), 0)),
primcount);
mEncoder->Object(&coder);
}
inline void GlesSpy::glMultiDrawArraysIndirectEXT(uint32_t mode, void* indirect, int32_t drawcount,
int32_t stride) {
GAPID_INFO("glMultiDrawArraysIndirectEXT(%u, %p, %" PRId32 ", %" PRId32 ")\n", mode, indirect,
drawcount, stride);
Observations observations;
do {
uint32_t l_requiresExtension_333_ext = ExtensionId::GL_EXT_multi_draw_indirect;
observe(observations.mReads);
mImports.glMultiDrawArraysIndirectEXT(mode, indirect, drawcount, stride);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlMultiDrawArraysIndirectEXT coder(
observations, mode, gapic::coder::gles::Void__CP(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(indirect), 0)),
drawcount, stride);
mEncoder->Object(&coder);
}
inline void GlesSpy::glMultiDrawElementsBaseVertexEXT(uint32_t mode, int32_t* count, uint32_t type,
void** indices, int32_t primcount,
int32_t* basevertex) {
GAPID_INFO("glMultiDrawElementsBaseVertexEXT(%u, %p, %u, %p, %" PRId32 ", %p)\n", mode, count,
type, indices, primcount, basevertex);
Observations observations;
do {
uint32_t l_requiresExtension_334_ext = ExtensionId::GL_EXT_draw_elements_base_vertex;
observe(observations.mReads);
mImports.glMultiDrawElementsBaseVertexEXT(mode, count, type, indices, primcount,
basevertex);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlMultiDrawElementsBaseVertexEXT coder(
observations, mode, gapic::coder::gles::GLsizei__CP(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(count), 0)),
type, gapic::coder::gles::Void__CP__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(indices), 0)),
primcount, gapic::coder::gles::GLint__CP(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(basevertex), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glMultiDrawElementsBaseVertexOES(uint32_t mode, int32_t* count, uint32_t type,
void** indices, int32_t primcount,
int32_t* basevertex) {
GAPID_INFO("glMultiDrawElementsBaseVertexOES(%u, %p, %u, %p, %" PRId32 ", %p)\n", mode, count,
type, indices, primcount, basevertex);
Observations observations;
do {
uint32_t l_requiresExtension_335_ext = ExtensionId::GL_OES_draw_elements_base_vertex;
observe(observations.mReads);
mImports.glMultiDrawElementsBaseVertexOES(mode, count, type, indices, primcount,
basevertex);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlMultiDrawElementsBaseVertexOES coder(
observations, mode, gapic::coder::gles::GLsizei__CP(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(count), 0)),
type, gapic::coder::gles::Void__CP__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(indices), 0)),
primcount, gapic::coder::gles::GLint__CP(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(basevertex), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glMultiDrawElementsEXT(uint32_t mode, int32_t* count, uint32_t type,
void** indices, int32_t primcount) {
GAPID_INFO("glMultiDrawElementsEXT(%u, %p, %u, %p, %" PRId32 ")\n", mode, count, type, indices,
primcount);
Observations observations;
do {
uint32_t l_requiresExtension_336_ext = ExtensionId::GL_EXT_multi_draw_arrays;
observe(observations.mReads);
mImports.glMultiDrawElementsEXT(mode, count, type, indices, primcount);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlMultiDrawElementsEXT coder(
observations, mode, gapic::coder::gles::GLsizei__CP(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(count), 0)),
type, gapic::coder::gles::Void__CP__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(indices), 0)),
primcount);
mEncoder->Object(&coder);
}
inline void GlesSpy::glMultiDrawElementsIndirectEXT(uint32_t mode, uint32_t type, void* indirect,
int32_t drawcount, int32_t stride) {
GAPID_INFO("glMultiDrawElementsIndirectEXT(%u, %u, %p, %" PRId32 ", %" PRId32 ")\n", mode, type,
indirect, drawcount, stride);
Observations observations;
do {
uint32_t l_requiresExtension_337_ext = ExtensionId::GL_EXT_multi_draw_indirect;
observe(observations.mReads);
mImports.glMultiDrawElementsIndirectEXT(mode, type, indirect, drawcount, stride);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlMultiDrawElementsIndirectEXT coder(
observations, mode, type, gapic::coder::gles::Void__CP(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(indirect), 0)),
drawcount, stride);
mEncoder->Object(&coder);
}
inline void GlesSpy::glPatchParameteriOES(uint32_t pname, int32_t value) {
GAPID_INFO("glPatchParameteriOES(%u, %" PRId32 ")\n", pname, value);
Observations observations;
do {
uint32_t l_requiresExtension_338_ext = ExtensionId::GL_OES_tessellation_shader;
observe(observations.mReads);
mImports.glPatchParameteriOES(pname, value);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlPatchParameteriOES coder(observations, pname, value);
mEncoder->Object(&coder);
}
inline void GlesSpy::glPathCommandsNV(uint32_t path, int32_t numCommands, uint8_t* commands,
int32_t numCoords, uint32_t coordType, void* coords) {
GAPID_INFO("glPathCommandsNV(%" PRIu32 ", %" PRId32 ", %p, %" PRId32 ", %u, %p)\n", path,
numCommands, commands, numCoords, coordType, coords);
Observations observations;
do {
uint32_t l_requiresExtension_339_ext = ExtensionId::GL_NV_path_rendering;
observe(observations.mReads);
mImports.glPathCommandsNV(path, numCommands, commands, numCoords, coordType, coords);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlPathCommandsNV coder(
observations, path, numCommands,
gapic::coder::gles::GLubyte__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(commands), 0)),
numCoords, coordType, gapic::coder::gles::Void__CP(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(coords), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glPathCoordsNV(uint32_t path, int32_t numCoords, uint32_t coordType,
void* coords) {
GAPID_INFO("glPathCoordsNV(%" PRIu32 ", %" PRId32 ", %u, %p)\n", path, numCoords, coordType,
coords);
Observations observations;
do {
uint32_t l_requiresExtension_340_ext = ExtensionId::GL_NV_path_rendering;
observe(observations.mReads);
mImports.glPathCoordsNV(path, numCoords, coordType, coords);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlPathCoordsNV coder(
observations, path, numCoords, coordType,
gapic::coder::gles::Void__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(coords), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glPathCoverDepthFuncNV(uint32_t func) {
GAPID_INFO("glPathCoverDepthFuncNV(%u)\n", func);
Observations observations;
do {
uint32_t l_requiresExtension_341_ext = ExtensionId::GL_NV_path_rendering;
observe(observations.mReads);
mImports.glPathCoverDepthFuncNV(func);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlPathCoverDepthFuncNV coder(observations, func);
mEncoder->Object(&coder);
}
inline void GlesSpy::glPathDashArrayNV(uint32_t path, int32_t dashCount, float* dashArray) {
GAPID_INFO("glPathDashArrayNV(%" PRIu32 ", %" PRId32 ", %p)\n", path, dashCount, dashArray);
Observations observations;
do {
uint32_t l_requiresExtension_342_ext = ExtensionId::GL_NV_path_rendering;
observe(observations.mReads);
mImports.glPathDashArrayNV(path, dashCount, dashArray);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlPathDashArrayNV coder(
observations, path, dashCount,
gapic::coder::gles::GLfloat__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(dashArray), 0)));
mEncoder->Object(&coder);
}
inline uint32_t GlesSpy::glPathGlyphIndexArrayNV(uint32_t firstPathName, uint32_t fontTarget,
void* fontName, uint32_t fontStyle,
uint32_t firstGlyphIndex, int32_t numGlyphs,
uint32_t pathParameterTemplate, float emScale) {
GAPID_INFO("glPathGlyphIndexArrayNV(%" PRIu32 ", %u, %p, %u, %" PRIu32 ", %" PRId32 ", %" PRIu32
", %f)\n",
firstPathName, fontTarget, fontName, fontStyle, firstGlyphIndex, numGlyphs,
pathParameterTemplate, emScale);
uint32_t result = 0;
Observations observations;
do {
uint32_t l_requiresExtension_343_ext = ExtensionId::GL_NV_path_rendering;
observe(observations.mReads);
result = mImports.glPathGlyphIndexArrayNV(firstPathName, fontTarget, fontName, fontStyle,
firstGlyphIndex, numGlyphs, pathParameterTemplate,
emScale);
break;
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlPathGlyphIndexArrayNV coder(
observations, firstPathName, fontTarget,
gapic::coder::gles::Void__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(fontName), 0)),
fontStyle, firstGlyphIndex, numGlyphs, pathParameterTemplate, emScale, result);
mEncoder->Object(&coder);
return result;
}
inline uint32_t GlesSpy::glPathGlyphIndexRangeNV(uint32_t fontTarget, void* fontName,
uint32_t fontStyle, uint32_t pathParameterTemplate,
float emScale, uint32_t baseAndCount) {
GAPID_INFO("glPathGlyphIndexRangeNV(%u, %p, %u, %" PRIu32 ", %f, %" PRIu32 ")\n", fontTarget,
fontName, fontStyle, pathParameterTemplate, emScale, baseAndCount);
uint32_t result = 0;
Observations observations;
do {
uint32_t l_requiresExtension_344_ext = ExtensionId::GL_NV_path_rendering;
observe(observations.mReads);
result = mImports.glPathGlyphIndexRangeNV(fontTarget, fontName, fontStyle,
pathParameterTemplate, emScale, baseAndCount);
break;
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlPathGlyphIndexRangeNV coder(
observations, fontTarget, gapic::coder::gles::Void__CP(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(fontName), 0)),
fontStyle, pathParameterTemplate, emScale, baseAndCount, result);
mEncoder->Object(&coder);
return result;
}
inline void GlesSpy::glPathGlyphRangeNV(uint32_t firstPathName, uint32_t fontTarget, void* fontName,
uint32_t fontStyle, uint32_t firstGlyph, int32_t numGlyphs,
uint32_t handleMissingGlyphs,
uint32_t pathParameterTemplate, float emScale) {
GAPID_INFO("glPathGlyphRangeNV(%" PRIu32 ", %u, %p, %u, %" PRIu32 ", %" PRId32 ", %u, %" PRIu32
", %f)\n",
firstPathName, fontTarget, fontName, fontStyle, firstGlyph, numGlyphs,
handleMissingGlyphs, pathParameterTemplate, emScale);
Observations observations;
do {
uint32_t l_requiresExtension_345_ext = ExtensionId::GL_NV_path_rendering;
observe(observations.mReads);
mImports.glPathGlyphRangeNV(firstPathName, fontTarget, fontName, fontStyle, firstGlyph,
numGlyphs, handleMissingGlyphs, pathParameterTemplate, emScale);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlPathGlyphRangeNV coder(
observations, firstPathName, fontTarget,
gapic::coder::gles::Void__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(fontName), 0)),
fontStyle, firstGlyph, numGlyphs, handleMissingGlyphs, pathParameterTemplate, emScale);
mEncoder->Object(&coder);
}
inline void GlesSpy::glPathGlyphsNV(uint32_t firstPathName, uint32_t fontTarget, void* fontName,
uint32_t fontStyle, int32_t numGlyphs, uint32_t type,
void* charcodes, uint32_t handleMissingGlyphs,
uint32_t pathParameterTemplate, float emScale) {
GAPID_INFO("glPathGlyphsNV(%" PRIu32 ", %u, %p, %u, %" PRId32 ", %u, %p, %u, %" PRIu32
", %f)\n",
firstPathName, fontTarget, fontName, fontStyle, numGlyphs, type, charcodes,
handleMissingGlyphs, pathParameterTemplate, emScale);
Observations observations;
do {
uint32_t l_requiresExtension_346_ext = ExtensionId::GL_NV_path_rendering;
observe(observations.mReads);
mImports.glPathGlyphsNV(firstPathName, fontTarget, fontName, fontStyle, numGlyphs, type,
charcodes, handleMissingGlyphs, pathParameterTemplate, emScale);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlPathGlyphsNV coder(
observations, firstPathName, fontTarget,
gapic::coder::gles::Void__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(fontName), 0)),
fontStyle, numGlyphs, type, gapic::coder::gles::Void__CP(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(charcodes), 0)),
handleMissingGlyphs, pathParameterTemplate, emScale);
mEncoder->Object(&coder);
}
inline uint32_t GlesSpy::glPathMemoryGlyphIndexArrayNV(uint32_t firstPathName, uint32_t fontTarget,
int32_t fontSize, void* fontData,
int32_t faceIndex, uint32_t firstGlyphIndex,
int32_t numGlyphs,
uint32_t pathParameterTemplate,
float emScale) {
GAPID_INFO("glPathMemoryGlyphIndexArrayNV(%" PRIu32 ", %u, %" PRId32 ", %p, %" PRId32
", %" PRIu32 ", %" PRId32 ", %" PRIu32 ", %f)\n",
firstPathName, fontTarget, fontSize, fontData, faceIndex, firstGlyphIndex, numGlyphs,
pathParameterTemplate, emScale);
uint32_t result = 0;
Observations observations;
do {
uint32_t l_requiresExtension_347_ext = ExtensionId::GL_NV_path_rendering;
observe(observations.mReads);
result = mImports.glPathMemoryGlyphIndexArrayNV(firstPathName, fontTarget, fontSize,
fontData, faceIndex, firstGlyphIndex,
numGlyphs, pathParameterTemplate, emScale);
break;
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlPathMemoryGlyphIndexArrayNV coder(
observations, firstPathName, fontTarget, fontSize,
gapic::coder::gles::Void__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(fontData), 0)),
faceIndex, firstGlyphIndex, numGlyphs, pathParameterTemplate, emScale, result);
mEncoder->Object(&coder);
return result;
}
inline void GlesSpy::glPathParameterfNV(uint32_t path, uint32_t pname, float value) {
GAPID_INFO("glPathParameterfNV(%" PRIu32 ", %u, %f)\n", path, pname, value);
Observations observations;
do {
uint32_t l_requiresExtension_348_ext = ExtensionId::GL_NV_path_rendering;
observe(observations.mReads);
mImports.glPathParameterfNV(path, pname, value);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlPathParameterfNV coder(observations, path, pname, value);
mEncoder->Object(&coder);
}
inline void GlesSpy::glPathParameterfvNV(uint32_t path, uint32_t pname, float* value) {
GAPID_INFO("glPathParameterfvNV(%" PRIu32 ", %u, %p)\n", path, pname, value);
Observations observations;
do {
uint32_t l_requiresExtension_349_ext = ExtensionId::GL_NV_path_rendering;
observe(observations.mReads);
mImports.glPathParameterfvNV(path, pname, value);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlPathParameterfvNV coder(
observations, path, pname,
gapic::coder::gles::GLfloat__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(value), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glPathParameteriNV(uint32_t path, uint32_t pname, int32_t value) {
GAPID_INFO("glPathParameteriNV(%" PRIu32 ", %u, %" PRId32 ")\n", path, pname, value);
Observations observations;
do {
uint32_t l_requiresExtension_350_ext = ExtensionId::GL_NV_path_rendering;
observe(observations.mReads);
mImports.glPathParameteriNV(path, pname, value);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlPathParameteriNV coder(observations, path, pname, value);
mEncoder->Object(&coder);
}
inline void GlesSpy::glPathParameterivNV(uint32_t path, uint32_t pname, int32_t* value) {
GAPID_INFO("glPathParameterivNV(%" PRIu32 ", %u, %p)\n", path, pname, value);
Observations observations;
do {
uint32_t l_requiresExtension_351_ext = ExtensionId::GL_NV_path_rendering;
observe(observations.mReads);
mImports.glPathParameterivNV(path, pname, value);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlPathParameterivNV coder(
observations, path, pname, gapic::coder::gles::GLint__CP(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(value), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glPathStencilDepthOffsetNV(float factor, float units) {
GAPID_INFO("glPathStencilDepthOffsetNV(%f, %f)\n", factor, units);
Observations observations;
do {
uint32_t l_requiresExtension_352_ext = ExtensionId::GL_NV_path_rendering;
observe(observations.mReads);
mImports.glPathStencilDepthOffsetNV(factor, units);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlPathStencilDepthOffsetNV coder(observations, factor, units);
mEncoder->Object(&coder);
}
inline void GlesSpy::glPathStencilFuncNV(uint32_t func, int32_t ref, uint32_t mask) {
GAPID_INFO("glPathStencilFuncNV(%u, %" PRId32 ", %" PRIu32 ")\n", func, ref, mask);
Observations observations;
do {
uint32_t l_requiresExtension_353_ext = ExtensionId::GL_NV_path_rendering;
observe(observations.mReads);
mImports.glPathStencilFuncNV(func, ref, mask);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlPathStencilFuncNV coder(observations, func, ref, mask);
mEncoder->Object(&coder);
}
inline void GlesSpy::glPathStringNV(uint32_t path, uint32_t format, int32_t length,
void* pathString) {
GAPID_INFO("glPathStringNV(%" PRIu32 ", %u, %" PRId32 ", %p)\n", path, format, length,
pathString);
Observations observations;
do {
uint32_t l_requiresExtension_354_ext = ExtensionId::GL_NV_path_rendering;
observe(observations.mReads);
mImports.glPathStringNV(path, format, length, pathString);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlPathStringNV coder(
observations, path, format, length,
gapic::coder::gles::Void__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(pathString), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glPathSubCommandsNV(uint32_t path, int32_t commandStart,
int32_t commandsToDelete, int32_t numCommands,
uint8_t* commands, int32_t numCoords, uint32_t coordType,
void* coords) {
GAPID_INFO("glPathSubCommandsNV(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %" PRId32
", %p, %" PRId32 ", %u, %p)\n",
path, commandStart, commandsToDelete, numCommands, commands, numCoords, coordType,
coords);
Observations observations;
do {
uint32_t l_requiresExtension_355_ext = ExtensionId::GL_NV_path_rendering;
observe(observations.mReads);
mImports.glPathSubCommandsNV(path, commandStart, commandsToDelete, numCommands, commands,
numCoords, coordType, coords);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlPathSubCommandsNV coder(
observations, path, commandStart, commandsToDelete, numCommands,
gapic::coder::gles::GLubyte__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(commands), 0)),
numCoords, coordType, gapic::coder::gles::Void__CP(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(coords), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glPathSubCoordsNV(uint32_t path, int32_t coordStart, int32_t numCoords,
uint32_t coordType, void* coords) {
GAPID_INFO("glPathSubCoordsNV(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %u, %p)\n", path,
coordStart, numCoords, coordType, coords);
Observations observations;
do {
uint32_t l_requiresExtension_356_ext = ExtensionId::GL_NV_path_rendering;
observe(observations.mReads);
mImports.glPathSubCoordsNV(path, coordStart, numCoords, coordType, coords);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlPathSubCoordsNV coder(
observations, path, coordStart, numCoords, coordType,
gapic::coder::gles::Void__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(coords), 0)));
mEncoder->Object(&coder);
}
inline uint8_t GlesSpy::glPointAlongPathNV(uint32_t path, int32_t startSegment, int32_t numSegments,
float distance, float* x, float* y, float* tangentX,
float* tangentY) {
GAPID_INFO("glPointAlongPathNV(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %f, %p, %p, %p, %p)\n",
path, startSegment, numSegments, distance, x, y, tangentX, tangentY);
uint8_t result = 0;
Observations observations;
do {
uint32_t l_requiresExtension_357_ext = ExtensionId::GL_NV_path_rendering;
observe(observations.mReads);
result = mImports.glPointAlongPathNV(path, startSegment, numSegments, distance, x, y,
tangentX, tangentY);
break;
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlPointAlongPathNV coder(
observations, path, startSegment, numSegments, distance,
gapic::coder::gles::GLfloat__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(x), 0)),
gapic::coder::gles::GLfloat__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(y), 0)),
gapic::coder::gles::GLfloat__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(tangentX), 0)),
gapic::coder::gles::GLfloat__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(tangentY), 0)),
result);
mEncoder->Object(&coder);
return result;
}
inline void GlesSpy::glPolygonModeNV(uint32_t face, uint32_t mode) {
GAPID_INFO("glPolygonModeNV(%u, %u)\n", face, mode);
Observations observations;
do {
uint32_t l_requiresExtension_358_ext = ExtensionId::GL_NV_polygon_mode;
observe(observations.mReads);
mImports.glPolygonModeNV(face, mode);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlPolygonModeNV coder(observations, face, mode);
mEncoder->Object(&coder);
}
inline void GlesSpy::glPopGroupMarkerEXT() {
GAPID_INFO("glPopGroupMarkerEXT()\n");
Observations observations;
do {
uint32_t l_requiresExtension_359_ext = ExtensionId::GL_EXT_debug_marker;
observe(observations.mReads);
mImports.glPopGroupMarkerEXT();
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlPopGroupMarkerEXT coder(observations);
mEncoder->Object(&coder);
}
inline void GlesSpy::glPrimitiveBoundingBoxOES(float minX, float minY, float minZ, float minW,
float maxX, float maxY, float maxZ, float maxW) {
GAPID_INFO("glPrimitiveBoundingBoxOES(%f, %f, %f, %f, %f, %f, %f, %f)\n", minX, minY, minZ,
minW, maxX, maxY, maxZ, maxW);
Observations observations;
do {
uint32_t l_requiresExtension_360_ext = ExtensionId::GL_OES_primitive_bounding_box;
observe(observations.mReads);
mImports.glPrimitiveBoundingBoxOES(minX, minY, minZ, minW, maxX, maxY, maxZ, maxW);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlPrimitiveBoundingBoxOES coder(observations, minX, minY, minZ, minW, maxX,
maxY, maxZ, maxW);
mEncoder->Object(&coder);
}
inline void GlesSpy::glProgramBinaryOES(uint32_t program, uint32_t binary_format, void* binary,
int32_t binary_size) {
GAPID_INFO("glProgramBinaryOES(%" PRIu32 ", %u, %p, %" PRId32 ")\n", program, binary_format,
binary, binary_size);
Observations observations;
do {
uint32_t l_requiresExtension_361_ext = ExtensionId::GL_OES_get_program_binary;
observe(observations.mReads);
mImports.glProgramBinaryOES(program, binary_format, binary, binary_size);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlProgramBinaryOES coder(
observations, program, binary_format,
gapic::coder::gles::Void__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(binary), 0)),
binary_size);
mEncoder->Object(&coder);
}
inline void GlesSpy::glProgramParameteriEXT(uint32_t program, uint32_t pname, int32_t value) {
GAPID_INFO("glProgramParameteriEXT(%" PRIu32 ", %u, %" PRId32 ")\n", program, pname, value);
Observations observations;
do {
uint32_t l_requiresExtension_362_ext = ExtensionId::GL_EXT_separate_shader_objects;
observe(observations.mReads);
mImports.glProgramParameteriEXT(program, pname, value);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlProgramParameteriEXT coder(observations, program, pname, value);
mEncoder->Object(&coder);
}
inline void GlesSpy::glProgramPathFragmentInputGenNV(uint32_t program, int32_t location,
uint32_t genMode, int32_t components,
float* coeffs) {
GAPID_INFO("glProgramPathFragmentInputGenNV(%" PRIu32 ", %" PRId32 ", %u, %" PRId32 ", %p)\n",
program, location, genMode, components, coeffs);
Observations observations;
do {
uint32_t l_requiresExtension_363_ext = ExtensionId::GL_NV_path_rendering;
observe(observations.mReads);
mImports.glProgramPathFragmentInputGenNV(program, location, genMode, components, coeffs);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlProgramPathFragmentInputGenNV coder(
observations, program, location, genMode, components,
gapic::coder::gles::GLfloat__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(coeffs), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glProgramUniform1fEXT(uint32_t program, int32_t location, float v0) {
GAPID_INFO("glProgramUniform1fEXT(%" PRIu32 ", %" PRId32 ", %f)\n", program, location, v0);
Observations observations;
do {
uint32_t l_requiresExtension_364_ext = ExtensionId::GL_EXT_separate_shader_objects;
observe(observations.mReads);
mImports.glProgramUniform1fEXT(program, location, v0);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlProgramUniform1fEXT coder(observations, program, location, v0);
mEncoder->Object(&coder);
}
inline void GlesSpy::glProgramUniform1fvEXT(uint32_t program, int32_t location, int32_t count,
float* value) {
GAPID_INFO("glProgramUniform1fvEXT(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %p)\n", program,
location, count, value);
Observations observations;
do {
uint32_t l_requiresExtension_365_ext = ExtensionId::GL_EXT_separate_shader_objects;
observe(observations.mReads);
mImports.glProgramUniform1fvEXT(program, location, count, value);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlProgramUniform1fvEXT coder(
observations, program, location, count,
gapic::coder::gles::GLfloat__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(value), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glProgramUniform1iEXT(uint32_t program, int32_t location, int32_t v0) {
GAPID_INFO("glProgramUniform1iEXT(%" PRIu32 ", %" PRId32 ", %" PRId32 ")\n", program, location,
v0);
Observations observations;
do {
uint32_t l_requiresExtension_366_ext = ExtensionId::GL_EXT_separate_shader_objects;
observe(observations.mReads);
mImports.glProgramUniform1iEXT(program, location, v0);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlProgramUniform1iEXT coder(observations, program, location, v0);
mEncoder->Object(&coder);
}
inline void GlesSpy::glProgramUniform1ivEXT(uint32_t program, int32_t location, int32_t count,
int32_t* value) {
GAPID_INFO("glProgramUniform1ivEXT(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %p)\n", program,
location, count, value);
Observations observations;
do {
uint32_t l_requiresExtension_367_ext = ExtensionId::GL_EXT_separate_shader_objects;
observe(observations.mReads);
mImports.glProgramUniform1ivEXT(program, location, count, value);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlProgramUniform1ivEXT coder(
observations, program, location, count,
gapic::coder::gles::GLint__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(value), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glProgramUniform1uiEXT(uint32_t program, int32_t location, uint32_t v0) {
GAPID_INFO("glProgramUniform1uiEXT(%" PRIu32 ", %" PRId32 ", %" PRIu32 ")\n", program, location,
v0);
Observations observations;
do {
uint32_t l_requiresExtension_368_ext = ExtensionId::GL_EXT_separate_shader_objects;
observe(observations.mReads);
mImports.glProgramUniform1uiEXT(program, location, v0);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlProgramUniform1uiEXT coder(observations, program, location, v0);
mEncoder->Object(&coder);
}
inline void GlesSpy::glProgramUniform1uivEXT(uint32_t program, int32_t location, int32_t count,
uint32_t* value) {
GAPID_INFO("glProgramUniform1uivEXT(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %p)\n", program,
location, count, value);
Observations observations;
do {
uint32_t l_requiresExtension_369_ext = ExtensionId::GL_EXT_separate_shader_objects;
observe(observations.mReads);
mImports.glProgramUniform1uivEXT(program, location, count, value);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlProgramUniform1uivEXT coder(
observations, program, location, count,
gapic::coder::gles::GLuint__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(value), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glProgramUniform2fEXT(uint32_t program, int32_t location, float v0, float v1) {
GAPID_INFO("glProgramUniform2fEXT(%" PRIu32 ", %" PRId32 ", %f, %f)\n", program, location, v0,
v1);
Observations observations;
do {
uint32_t l_requiresExtension_370_ext = ExtensionId::GL_EXT_separate_shader_objects;
observe(observations.mReads);
mImports.glProgramUniform2fEXT(program, location, v0, v1);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlProgramUniform2fEXT coder(observations, program, location, v0, v1);
mEncoder->Object(&coder);
}
inline void GlesSpy::glProgramUniform2fvEXT(uint32_t program, int32_t location, int32_t count,
float* value) {
GAPID_INFO("glProgramUniform2fvEXT(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %p)\n", program,
location, count, value);
Observations observations;
do {
uint32_t l_requiresExtension_371_ext = ExtensionId::GL_EXT_separate_shader_objects;
observe(observations.mReads);
mImports.glProgramUniform2fvEXT(program, location, count, value);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlProgramUniform2fvEXT coder(
observations, program, location, count,
gapic::coder::gles::GLfloat__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(value), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glProgramUniform2iEXT(uint32_t program, int32_t location, int32_t v0,
int32_t v1) {
GAPID_INFO("glProgramUniform2iEXT(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %" PRId32 ")\n",
program, location, v0, v1);
Observations observations;
do {
uint32_t l_requiresExtension_372_ext = ExtensionId::GL_EXT_separate_shader_objects;
observe(observations.mReads);
mImports.glProgramUniform2iEXT(program, location, v0, v1);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlProgramUniform2iEXT coder(observations, program, location, v0, v1);
mEncoder->Object(&coder);
}
inline void GlesSpy::glProgramUniform2ivEXT(uint32_t program, int32_t location, int32_t count,
int32_t* value) {
GAPID_INFO("glProgramUniform2ivEXT(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %p)\n", program,
location, count, value);
Observations observations;
do {
uint32_t l_requiresExtension_373_ext = ExtensionId::GL_EXT_separate_shader_objects;
observe(observations.mReads);
mImports.glProgramUniform2ivEXT(program, location, count, value);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlProgramUniform2ivEXT coder(
observations, program, location, count,
gapic::coder::gles::GLint__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(value), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glProgramUniform2uiEXT(uint32_t program, int32_t location, uint32_t v0,
uint32_t v1) {
GAPID_INFO("glProgramUniform2uiEXT(%" PRIu32 ", %" PRId32 ", %" PRIu32 ", %" PRIu32 ")\n",
program, location, v0, v1);
Observations observations;
do {
uint32_t l_requiresExtension_374_ext = ExtensionId::GL_EXT_separate_shader_objects;
observe(observations.mReads);
mImports.glProgramUniform2uiEXT(program, location, v0, v1);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlProgramUniform2uiEXT coder(observations, program, location, v0, v1);
mEncoder->Object(&coder);
}
inline void GlesSpy::glProgramUniform2uivEXT(uint32_t program, int32_t location, int32_t count,
uint32_t* value) {
GAPID_INFO("glProgramUniform2uivEXT(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %p)\n", program,
location, count, value);
Observations observations;
do {
uint32_t l_requiresExtension_375_ext = ExtensionId::GL_EXT_separate_shader_objects;
observe(observations.mReads);
mImports.glProgramUniform2uivEXT(program, location, count, value);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlProgramUniform2uivEXT coder(
observations, program, location, count,
gapic::coder::gles::GLuint__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(value), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glProgramUniform3fEXT(uint32_t program, int32_t location, float v0, float v1,
float v2) {
GAPID_INFO("glProgramUniform3fEXT(%" PRIu32 ", %" PRId32 ", %f, %f, %f)\n", program, location,
v0, v1, v2);
Observations observations;
do {
uint32_t l_requiresExtension_376_ext = ExtensionId::GL_EXT_separate_shader_objects;
observe(observations.mReads);
mImports.glProgramUniform3fEXT(program, location, v0, v1, v2);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlProgramUniform3fEXT coder(observations, program, location, v0, v1, v2);
mEncoder->Object(&coder);
}
inline void GlesSpy::glProgramUniform3fvEXT(uint32_t program, int32_t location, int32_t count,
float* value) {
GAPID_INFO("glProgramUniform3fvEXT(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %p)\n", program,
location, count, value);
Observations observations;
do {
uint32_t l_requiresExtension_377_ext = ExtensionId::GL_EXT_separate_shader_objects;
observe(observations.mReads);
mImports.glProgramUniform3fvEXT(program, location, count, value);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlProgramUniform3fvEXT coder(
observations, program, location, count,
gapic::coder::gles::GLfloat__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(value), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glProgramUniform3iEXT(uint32_t program, int32_t location, int32_t v0,
int32_t v1, int32_t v2) {
GAPID_INFO("glProgramUniform3iEXT(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %" PRId32 ", %" PRId32
")\n",
program, location, v0, v1, v2);
Observations observations;
do {
uint32_t l_requiresExtension_378_ext = ExtensionId::GL_EXT_separate_shader_objects;
observe(observations.mReads);
mImports.glProgramUniform3iEXT(program, location, v0, v1, v2);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlProgramUniform3iEXT coder(observations, program, location, v0, v1, v2);
mEncoder->Object(&coder);
}
inline void GlesSpy::glProgramUniform3ivEXT(uint32_t program, int32_t location, int32_t count,
int32_t* value) {
GAPID_INFO("glProgramUniform3ivEXT(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %p)\n", program,
location, count, value);
Observations observations;
do {
uint32_t l_requiresExtension_379_ext = ExtensionId::GL_EXT_separate_shader_objects;
observe(observations.mReads);
mImports.glProgramUniform3ivEXT(program, location, count, value);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlProgramUniform3ivEXT coder(
observations, program, location, count,
gapic::coder::gles::GLint__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(value), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glProgramUniform3uiEXT(uint32_t program, int32_t location, uint32_t v0,
uint32_t v1, uint32_t v2) {
GAPID_INFO("glProgramUniform3uiEXT(%" PRIu32 ", %" PRId32 ", %" PRIu32 ", %" PRIu32 ", %" PRIu32
")\n",
program, location, v0, v1, v2);
Observations observations;
do {
uint32_t l_requiresExtension_380_ext = ExtensionId::GL_EXT_separate_shader_objects;
observe(observations.mReads);
mImports.glProgramUniform3uiEXT(program, location, v0, v1, v2);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlProgramUniform3uiEXT coder(observations, program, location, v0, v1, v2);
mEncoder->Object(&coder);
}
inline void GlesSpy::glProgramUniform3uivEXT(uint32_t program, int32_t location, int32_t count,
uint32_t* value) {
GAPID_INFO("glProgramUniform3uivEXT(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %p)\n", program,
location, count, value);
Observations observations;
do {
uint32_t l_requiresExtension_381_ext = ExtensionId::GL_EXT_separate_shader_objects;
observe(observations.mReads);
mImports.glProgramUniform3uivEXT(program, location, count, value);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlProgramUniform3uivEXT coder(
observations, program, location, count,
gapic::coder::gles::GLuint__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(value), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glProgramUniform4fEXT(uint32_t program, int32_t location, float v0, float v1,
float v2, float v3) {
GAPID_INFO("glProgramUniform4fEXT(%" PRIu32 ", %" PRId32 ", %f, %f, %f, %f)\n", program,
location, v0, v1, v2, v3);
Observations observations;
do {
uint32_t l_requiresExtension_382_ext = ExtensionId::GL_EXT_separate_shader_objects;
observe(observations.mReads);
mImports.glProgramUniform4fEXT(program, location, v0, v1, v2, v3);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlProgramUniform4fEXT coder(observations, program, location, v0, v1, v2,
v3);
mEncoder->Object(&coder);
}
inline void GlesSpy::glProgramUniform4fvEXT(uint32_t program, int32_t location, int32_t count,
float* value) {
GAPID_INFO("glProgramUniform4fvEXT(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %p)\n", program,
location, count, value);
Observations observations;
do {
uint32_t l_requiresExtension_383_ext = ExtensionId::GL_EXT_separate_shader_objects;
observe(observations.mReads);
mImports.glProgramUniform4fvEXT(program, location, count, value);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlProgramUniform4fvEXT coder(
observations, program, location, count,
gapic::coder::gles::GLfloat__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(value), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glProgramUniform4iEXT(uint32_t program, int32_t location, int32_t v0,
int32_t v1, int32_t v2, int32_t v3) {
GAPID_INFO("glProgramUniform4iEXT(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %" PRId32 ", %" PRId32
", %" PRId32 ")\n",
program, location, v0, v1, v2, v3);
Observations observations;
do {
uint32_t l_requiresExtension_384_ext = ExtensionId::GL_EXT_separate_shader_objects;
observe(observations.mReads);
mImports.glProgramUniform4iEXT(program, location, v0, v1, v2, v3);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlProgramUniform4iEXT coder(observations, program, location, v0, v1, v2,
v3);
mEncoder->Object(&coder);
}
inline void GlesSpy::glProgramUniform4ivEXT(uint32_t program, int32_t location, int32_t count,
int32_t* value) {
GAPID_INFO("glProgramUniform4ivEXT(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %p)\n", program,
location, count, value);
Observations observations;
do {
uint32_t l_requiresExtension_385_ext = ExtensionId::GL_EXT_separate_shader_objects;
observe(observations.mReads);
mImports.glProgramUniform4ivEXT(program, location, count, value);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlProgramUniform4ivEXT coder(
observations, program, location, count,
gapic::coder::gles::GLint__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(value), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glProgramUniform4uiEXT(uint32_t program, int32_t location, uint32_t v0,
uint32_t v1, uint32_t v2, uint32_t v3) {
GAPID_INFO("glProgramUniform4uiEXT(%" PRIu32 ", %" PRId32 ", %" PRIu32 ", %" PRIu32 ", %" PRIu32
", %" PRIu32 ")\n",
program, location, v0, v1, v2, v3);
Observations observations;
do {
uint32_t l_requiresExtension_386_ext = ExtensionId::GL_EXT_separate_shader_objects;
observe(observations.mReads);
mImports.glProgramUniform4uiEXT(program, location, v0, v1, v2, v3);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlProgramUniform4uiEXT coder(observations, program, location, v0, v1, v2,
v3);
mEncoder->Object(&coder);
}
inline void GlesSpy::glProgramUniform4uivEXT(uint32_t program, int32_t location, int32_t count,
uint32_t* value) {
GAPID_INFO("glProgramUniform4uivEXT(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %p)\n", program,
location, count, value);
Observations observations;
do {
uint32_t l_requiresExtension_387_ext = ExtensionId::GL_EXT_separate_shader_objects;
observe(observations.mReads);
mImports.glProgramUniform4uivEXT(program, location, count, value);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlProgramUniform4uivEXT coder(
observations, program, location, count,
gapic::coder::gles::GLuint__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(value), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glProgramUniformHandleui64NV(uint32_t program, int32_t location,
uint64_t value) {
GAPID_INFO("glProgramUniformHandleui64NV(%" PRIu32 ", %" PRId32 ", %" PRIu64 ")\n", program,
location, value);
Observations observations;
do {
uint32_t l_requiresExtension_388_ext = ExtensionId::GL_NV_bindless_texture;
observe(observations.mReads);
mImports.glProgramUniformHandleui64NV(program, location, value);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlProgramUniformHandleui64NV coder(observations, program, location, value);
mEncoder->Object(&coder);
}
inline void GlesSpy::glProgramUniformHandleui64vNV(uint32_t program, int32_t location,
int32_t count, uint64_t* values) {
GAPID_INFO("glProgramUniformHandleui64vNV(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %p)\n",
program, location, count, values);
Observations observations;
do {
uint32_t l_requiresExtension_389_ext = ExtensionId::GL_NV_bindless_texture;
observe(observations.mReads);
mImports.glProgramUniformHandleui64vNV(program, location, count, values);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlProgramUniformHandleui64vNV coder(
observations, program, location, count,
gapic::coder::gles::GLuint64__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(values), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glProgramUniformMatrix2fvEXT(uint32_t program, int32_t location, int32_t count,
uint8_t transpose, float* value) {
GAPID_INFO("glProgramUniformMatrix2fvEXT(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %" PRIu8
", %p)\n",
program, location, count, transpose, value);
Observations observations;
do {
uint32_t l_requiresExtension_390_ext = ExtensionId::GL_EXT_separate_shader_objects;
observe(observations.mReads);
mImports.glProgramUniformMatrix2fvEXT(program, location, count, transpose, value);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlProgramUniformMatrix2fvEXT coder(
observations, program, location, count, transpose,
gapic::coder::gles::GLfloat__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(value), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glProgramUniformMatrix2x3fvEXT(uint32_t program, int32_t location,
int32_t count, uint8_t transpose,
float* value) {
GAPID_INFO("glProgramUniformMatrix2x3fvEXT(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %" PRIu8
", %p)\n",
program, location, count, transpose, value);
Observations observations;
do {
uint32_t l_requiresExtension_391_ext = ExtensionId::GL_EXT_separate_shader_objects;
observe(observations.mReads);
mImports.glProgramUniformMatrix2x3fvEXT(program, location, count, transpose, value);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlProgramUniformMatrix2x3fvEXT coder(
observations, program, location, count, transpose,
gapic::coder::gles::GLfloat__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(value), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glProgramUniformMatrix2x4fvEXT(uint32_t program, int32_t location,
int32_t count, uint8_t transpose,
float* value) {
GAPID_INFO("glProgramUniformMatrix2x4fvEXT(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %" PRIu8
", %p)\n",
program, location, count, transpose, value);
Observations observations;
do {
uint32_t l_requiresExtension_392_ext = ExtensionId::GL_EXT_separate_shader_objects;
observe(observations.mReads);
mImports.glProgramUniformMatrix2x4fvEXT(program, location, count, transpose, value);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlProgramUniformMatrix2x4fvEXT coder(
observations, program, location, count, transpose,
gapic::coder::gles::GLfloat__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(value), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glProgramUniformMatrix3fvEXT(uint32_t program, int32_t location, int32_t count,
uint8_t transpose, float* value) {
GAPID_INFO("glProgramUniformMatrix3fvEXT(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %" PRIu8
", %p)\n",
program, location, count, transpose, value);
Observations observations;
do {
uint32_t l_requiresExtension_393_ext = ExtensionId::GL_EXT_separate_shader_objects;
observe(observations.mReads);
mImports.glProgramUniformMatrix3fvEXT(program, location, count, transpose, value);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlProgramUniformMatrix3fvEXT coder(
observations, program, location, count, transpose,
gapic::coder::gles::GLfloat__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(value), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glProgramUniformMatrix3x2fvEXT(uint32_t program, int32_t location,
int32_t count, uint8_t transpose,
float* value) {
GAPID_INFO("glProgramUniformMatrix3x2fvEXT(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %" PRIu8
", %p)\n",
program, location, count, transpose, value);
Observations observations;
do {
uint32_t l_requiresExtension_394_ext = ExtensionId::GL_EXT_separate_shader_objects;
observe(observations.mReads);
mImports.glProgramUniformMatrix3x2fvEXT(program, location, count, transpose, value);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlProgramUniformMatrix3x2fvEXT coder(
observations, program, location, count, transpose,
gapic::coder::gles::GLfloat__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(value), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glProgramUniformMatrix3x4fvEXT(uint32_t program, int32_t location,
int32_t count, uint8_t transpose,
float* value) {
GAPID_INFO("glProgramUniformMatrix3x4fvEXT(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %" PRIu8
", %p)\n",
program, location, count, transpose, value);
Observations observations;
do {
uint32_t l_requiresExtension_395_ext = ExtensionId::GL_EXT_separate_shader_objects;
observe(observations.mReads);
mImports.glProgramUniformMatrix3x4fvEXT(program, location, count, transpose, value);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlProgramUniformMatrix3x4fvEXT coder(
observations, program, location, count, transpose,
gapic::coder::gles::GLfloat__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(value), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glProgramUniformMatrix4fvEXT(uint32_t program, int32_t location, int32_t count,
uint8_t transpose, float* value) {
GAPID_INFO("glProgramUniformMatrix4fvEXT(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %" PRIu8
", %p)\n",
program, location, count, transpose, value);
Observations observations;
do {
uint32_t l_requiresExtension_396_ext = ExtensionId::GL_EXT_separate_shader_objects;
observe(observations.mReads);
mImports.glProgramUniformMatrix4fvEXT(program, location, count, transpose, value);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlProgramUniformMatrix4fvEXT coder(
observations, program, location, count, transpose,
gapic::coder::gles::GLfloat__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(value), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glProgramUniformMatrix4x2fvEXT(uint32_t program, int32_t location,
int32_t count, uint8_t transpose,
float* value) {
GAPID_INFO("glProgramUniformMatrix4x2fvEXT(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %" PRIu8
", %p)\n",
program, location, count, transpose, value);
Observations observations;
do {
uint32_t l_requiresExtension_397_ext = ExtensionId::GL_EXT_separate_shader_objects;
observe(observations.mReads);
mImports.glProgramUniformMatrix4x2fvEXT(program, location, count, transpose, value);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlProgramUniformMatrix4x2fvEXT coder(
observations, program, location, count, transpose,
gapic::coder::gles::GLfloat__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(value), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glProgramUniformMatrix4x3fvEXT(uint32_t program, int32_t location,
int32_t count, uint8_t transpose,
float* value) {
GAPID_INFO("glProgramUniformMatrix4x3fvEXT(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %" PRIu8
", %p)\n",
program, location, count, transpose, value);
Observations observations;
do {
uint32_t l_requiresExtension_398_ext = ExtensionId::GL_EXT_separate_shader_objects;
observe(observations.mReads);
mImports.glProgramUniformMatrix4x3fvEXT(program, location, count, transpose, value);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlProgramUniformMatrix4x3fvEXT coder(
observations, program, location, count, transpose,
gapic::coder::gles::GLfloat__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(value), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glPushGroupMarkerEXT(int32_t length, char* marker) {
GAPID_INFO("glPushGroupMarkerEXT(%" PRId32 ", %p)\n", length, marker);
Observations observations;
do {
uint32_t l_requiresExtension_399_ext = ExtensionId::GL_EXT_debug_marker;
if (length > (GLsizei)(0)) {
read(slice(marker, (uint64_t)((GLsizei)(0)), (uint64_t)(length)));
} else {
string((char*)(marker));
}
observe(observations.mReads);
mImports.glPushGroupMarkerEXT(length, marker);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlPushGroupMarkerEXT coder(
observations, length, gapic::coder::gles::GLchar__CP(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(marker), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glQueryCounterEXT(uint32_t query, uint32_t target) {
GAPID_INFO("glQueryCounterEXT(%" PRIu32 ", %u)\n", query, target);
Observations observations;
do {
uint32_t l_requiresExtension_400_ext = ExtensionId::GL_EXT_disjoint_timer_query;
observe(observations.mReads);
mImports.glQueryCounterEXT(query, target);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlQueryCounterEXT coder(observations, query, target);
mEncoder->Object(&coder);
}
inline void GlesSpy::glReadBufferIndexedEXT(uint32_t src, int32_t index) {
GAPID_INFO("glReadBufferIndexedEXT(%u, %" PRId32 ")\n", src, index);
Observations observations;
do {
uint32_t l_requiresExtension_401_ext = ExtensionId::GL_EXT_multiview_draw_buffers;
observe(observations.mReads);
mImports.glReadBufferIndexedEXT(src, index);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlReadBufferIndexedEXT coder(observations, src, index);
mEncoder->Object(&coder);
}
inline void GlesSpy::glReadBufferNV(uint32_t mode) {
GAPID_INFO("glReadBufferNV(%u)\n", mode);
Observations observations;
do {
uint32_t l_requiresExtension_402_ext = ExtensionId::GL_NV_read_buffer;
observe(observations.mReads);
mImports.glReadBufferNV(mode);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlReadBufferNV coder(observations, mode);
mEncoder->Object(&coder);
}
inline void GlesSpy::glReadnPixelsEXT(int32_t x, int32_t y, int32_t width, int32_t height,
uint32_t format, uint32_t type, int32_t bufSize, void* data) {
GAPID_INFO("glReadnPixelsEXT(%" PRId32 ", %" PRId32 ", %" PRId32 ", %" PRId32
", %u, %u, %" PRId32 ", %p)\n",
x, y, width, height, format, type, bufSize, data);
Observations observations;
do {
uint32_t l_requiresExtension_403_ext = ExtensionId::GL_EXT_robustness;
observe(observations.mReads);
mImports.glReadnPixelsEXT(x, y, width, height, format, type, bufSize, data);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlReadnPixelsEXT coder(
observations, x, y, width, height, format, type, bufSize,
gapic::coder::gles::Void__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(data), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glReadnPixelsKHR(int32_t x, int32_t y, int32_t width, int32_t height,
uint32_t format, uint32_t type, int32_t bufSize, void* data) {
GAPID_INFO("glReadnPixelsKHR(%" PRId32 ", %" PRId32 ", %" PRId32 ", %" PRId32
", %u, %u, %" PRId32 ", %p)\n",
x, y, width, height, format, type, bufSize, data);
Observations observations;
do {
uint32_t l_requiresExtension_404_ext = ExtensionId::GL_KHR_robustness;
observe(observations.mReads);
mImports.glReadnPixelsKHR(x, y, width, height, format, type, bufSize, data);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlReadnPixelsKHR coder(
observations, x, y, width, height, format, type, bufSize,
gapic::coder::gles::Void__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(data), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glRenderbufferStorageMultisampleANGLE(uint32_t target, int32_t samples,
uint32_t internalformat, int32_t width,
int32_t height) {
GAPID_INFO("glRenderbufferStorageMultisampleANGLE(%u, %" PRId32 ", %u, %" PRId32 ", %" PRId32
")\n",
target, samples, internalformat, width, height);
Observations observations;
do {
uint32_t l_requiresExtension_405_ext = ExtensionId::GL_ANGLE_framebuffer_multisample;
observe(observations.mReads);
mImports.glRenderbufferStorageMultisampleANGLE(target, samples, internalformat, width,
height);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlRenderbufferStorageMultisampleANGLE coder(observations, target, samples,
internalformat, width, height);
mEncoder->Object(&coder);
}
inline void GlesSpy::glRenderbufferStorageMultisampleAPPLE(uint32_t target, int32_t samples,
uint32_t internalformat, int32_t width,
int32_t height) {
GAPID_INFO("glRenderbufferStorageMultisampleAPPLE(%u, %" PRId32 ", %u, %" PRId32 ", %" PRId32
")\n",
target, samples, internalformat, width, height);
Observations observations;
do {
uint32_t l_requiresExtension_406_ext = ExtensionId::GL_APPLE_framebuffer_multisample;
observe(observations.mReads);
mImports.glRenderbufferStorageMultisampleAPPLE(target, samples, internalformat, width,
height);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlRenderbufferStorageMultisampleAPPLE coder(observations, target, samples,
internalformat, width, height);
mEncoder->Object(&coder);
}
inline void GlesSpy::glRenderbufferStorageMultisampleEXT(uint32_t target, int32_t samples,
uint32_t internalformat, int32_t width,
int32_t height) {
GAPID_INFO("glRenderbufferStorageMultisampleEXT(%u, %" PRId32 ", %u, %" PRId32 ", %" PRId32
")\n",
target, samples, internalformat, width, height);
Observations observations;
do {
uint32_t l_requiresExtension_407_ext = ExtensionId::GL_EXT_multisampled_render_to_texture;
observe(observations.mReads);
mImports.glRenderbufferStorageMultisampleEXT(target, samples, internalformat, width,
height);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlRenderbufferStorageMultisampleEXT coder(observations, target, samples,
internalformat, width, height);
mEncoder->Object(&coder);
}
inline void GlesSpy::glRenderbufferStorageMultisampleIMG(uint32_t target, int32_t samples,
uint32_t internalformat, int32_t width,
int32_t height) {
GAPID_INFO("glRenderbufferStorageMultisampleIMG(%u, %" PRId32 ", %u, %" PRId32 ", %" PRId32
")\n",
target, samples, internalformat, width, height);
Observations observations;
do {
uint32_t l_requiresExtension_408_ext = ExtensionId::GL_IMG_multisampled_render_to_texture;
observe(observations.mReads);
mImports.glRenderbufferStorageMultisampleIMG(target, samples, internalformat, width,
height);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlRenderbufferStorageMultisampleIMG coder(observations, target, samples,
internalformat, width, height);
mEncoder->Object(&coder);
}
inline void GlesSpy::glRenderbufferStorageMultisampleNV(uint32_t target, int32_t samples,
uint32_t internalformat, int32_t width,
int32_t height) {
GAPID_INFO("glRenderbufferStorageMultisampleNV(%u, %" PRId32 ", %u, %" PRId32 ", %" PRId32
")\n",
target, samples, internalformat, width, height);
Observations observations;
do {
uint32_t l_requiresExtension_409_ext = ExtensionId::GL_NV_framebuffer_multisample;
observe(observations.mReads);
mImports.glRenderbufferStorageMultisampleNV(target, samples, internalformat, width, height);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlRenderbufferStorageMultisampleNV coder(observations, target, samples,
internalformat, width, height);
mEncoder->Object(&coder);
}
inline void GlesSpy::glResolveMultisampleFramebufferAPPLE() {
GAPID_INFO("glResolveMultisampleFramebufferAPPLE()\n");
Observations observations;
do {
uint32_t l_requiresExtension_410_ext = ExtensionId::GL_APPLE_framebuffer_multisample;
observe(observations.mReads);
mImports.glResolveMultisampleFramebufferAPPLE();
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlResolveMultisampleFramebufferAPPLE coder(observations);
mEncoder->Object(&coder);
}
inline void GlesSpy::glSamplerParameterIivOES(uint32_t sampler, uint32_t pname, int32_t* param) {
GAPID_INFO("glSamplerParameterIivOES(%" PRIu32 ", %u, %p)\n", sampler, pname, param);
Observations observations;
do {
uint32_t l_requiresExtension_411_ext = ExtensionId::GL_OES_texture_border_clamp;
observe(observations.mReads);
mImports.glSamplerParameterIivOES(sampler, pname, param);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlSamplerParameterIivOES coder(
observations, sampler, pname,
gapic::coder::gles::GLint__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(param), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glSamplerParameterIuivOES(uint32_t sampler, uint32_t pname, uint32_t* param) {
GAPID_INFO("glSamplerParameterIuivOES(%" PRIu32 ", %u, %p)\n", sampler, pname, param);
Observations observations;
do {
uint32_t l_requiresExtension_412_ext = ExtensionId::GL_OES_texture_border_clamp;
observe(observations.mReads);
mImports.glSamplerParameterIuivOES(sampler, pname, param);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlSamplerParameterIuivOES coder(
observations, sampler, pname,
gapic::coder::gles::GLuint__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(param), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glScissorArrayvNV(uint32_t first, int32_t count, int32_t* v) {
GAPID_INFO("glScissorArrayvNV(%" PRIu32 ", %" PRId32 ", %p)\n", first, count, v);
Observations observations;
do {
uint32_t l_requiresExtension_413_ext = ExtensionId::GL_NV_viewport_array;
observe(observations.mReads);
mImports.glScissorArrayvNV(first, count, v);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlScissorArrayvNV coder(
observations, first, count, gapic::coder::gles::GLint__CP(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(v), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glScissorIndexedNV(uint32_t index, int32_t left, int32_t bottom, int32_t width,
int32_t height) {
GAPID_INFO("glScissorIndexedNV(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %" PRId32 ", %" PRId32
")\n",
index, left, bottom, width, height);
Observations observations;
do {
uint32_t l_requiresExtension_414_ext = ExtensionId::GL_NV_viewport_array;
observe(observations.mReads);
mImports.glScissorIndexedNV(index, left, bottom, width, height);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlScissorIndexedNV coder(observations, index, left, bottom, width, height);
mEncoder->Object(&coder);
}
inline void GlesSpy::glScissorIndexedvNV(uint32_t index, int32_t* v) {
GAPID_INFO("glScissorIndexedvNV(%" PRIu32 ", %p)\n", index, v);
Observations observations;
do {
uint32_t l_requiresExtension_415_ext = ExtensionId::GL_NV_viewport_array;
observe(observations.mReads);
mImports.glScissorIndexedvNV(index, v);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlScissorIndexedvNV coder(
observations, index, gapic::coder::gles::GLint__CP(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(v), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glSelectPerfMonitorCountersAMD(uint32_t monitor, uint8_t enable,
uint32_t group, int32_t numCounters,
uint32_t* counterList) {
GAPID_INFO("glSelectPerfMonitorCountersAMD(%" PRIu32 ", %" PRIu8 ", %" PRIu32 ", %" PRId32
", %p)\n",
monitor, enable, group, numCounters, counterList);
Observations observations;
do {
uint32_t l_requiresExtension_416_ext = ExtensionId::GL_AMD_performance_monitor;
observe(observations.mReads);
mImports.glSelectPerfMonitorCountersAMD(monitor, enable, group, numCounters, counterList);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlSelectPerfMonitorCountersAMD coder(
observations, monitor, enable, group, numCounters,
gapic::coder::gles::GLuint__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(counterList), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glSetFenceNV(uint32_t fence, uint32_t condition) {
GAPID_INFO("glSetFenceNV(%" PRIu32 ", %u)\n", fence, condition);
Observations observations;
do {
uint32_t l_requiresExtension_417_ext = ExtensionId::GL_NV_fence;
observe(observations.mReads);
mImports.glSetFenceNV(fence, condition);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlSetFenceNV coder(observations, fence, condition);
mEncoder->Object(&coder);
}
inline void GlesSpy::glStartTilingQCOM(uint32_t x, uint32_t y, uint32_t width, uint32_t height,
uint32_t preserveMask) {
GAPID_INFO("glStartTilingQCOM(%" PRIu32 ", %" PRIu32 ", %" PRIu32 ", %" PRIu32 ", %u)\n", x, y,
width, height, preserveMask);
Observations observations;
do {
uint32_t l_requiresExtension_418_ext = ExtensionId::GL_QCOM_tiled_rendering;
observe(observations.mReads);
mImports.glStartTilingQCOM(x, y, width, height, preserveMask);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlStartTilingQCOM coder(observations, x, y, width, height, preserveMask);
mEncoder->Object(&coder);
}
inline void GlesSpy::glStencilFillPathInstancedNV(int32_t numPaths, uint32_t pathNameType,
void* paths, uint32_t pathBase, uint32_t fillMode,
uint32_t mask, uint32_t transformType,
float* transformValues) {
GAPID_INFO("glStencilFillPathInstancedNV(%" PRId32 ", %u, %p, %" PRIu32 ", %u, %" PRIu32
", %u, %p)\n",
numPaths, pathNameType, paths, pathBase, fillMode, mask, transformType,
transformValues);
Observations observations;
do {
uint32_t l_requiresExtension_419_ext = ExtensionId::GL_NV_path_rendering;
observe(observations.mReads);
mImports.glStencilFillPathInstancedNV(numPaths, pathNameType, paths, pathBase, fillMode,
mask, transformType, transformValues);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlStencilFillPathInstancedNV coder(
observations, numPaths, pathNameType,
gapic::coder::gles::Void__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(paths), 0)),
pathBase, fillMode, mask, transformType,
gapic::coder::gles::GLfloat__CP(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(transformValues), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glStencilFillPathNV(uint32_t path, uint32_t fillMode, uint32_t mask) {
GAPID_INFO("glStencilFillPathNV(%" PRIu32 ", %u, %" PRIu32 ")\n", path, fillMode, mask);
Observations observations;
do {
uint32_t l_requiresExtension_420_ext = ExtensionId::GL_NV_path_rendering;
observe(observations.mReads);
mImports.glStencilFillPathNV(path, fillMode, mask);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlStencilFillPathNV coder(observations, path, fillMode, mask);
mEncoder->Object(&coder);
}
inline void GlesSpy::glStencilStrokePathInstancedNV(int32_t numPaths, uint32_t pathNameType,
void* paths, uint32_t pathBase,
int32_t reference, uint32_t mask,
uint32_t transformType,
float* transformValues) {
GAPID_INFO("glStencilStrokePathInstancedNV(%" PRId32 ", %u, %p, %" PRIu32 ", %" PRId32
", %" PRIu32 ", %u, %p)\n",
numPaths, pathNameType, paths, pathBase, reference, mask, transformType,
transformValues);
Observations observations;
do {
uint32_t l_requiresExtension_421_ext = ExtensionId::GL_NV_path_rendering;
observe(observations.mReads);
mImports.glStencilStrokePathInstancedNV(numPaths, pathNameType, paths, pathBase, reference,
mask, transformType, transformValues);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlStencilStrokePathInstancedNV coder(
observations, numPaths, pathNameType,
gapic::coder::gles::Void__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(paths), 0)),
pathBase, reference, mask, transformType,
gapic::coder::gles::GLfloat__CP(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(transformValues), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glStencilStrokePathNV(uint32_t path, int32_t reference, uint32_t mask) {
GAPID_INFO("glStencilStrokePathNV(%" PRIu32 ", %" PRId32 ", %" PRIu32 ")\n", path, reference,
mask);
Observations observations;
do {
uint32_t l_requiresExtension_422_ext = ExtensionId::GL_NV_path_rendering;
observe(observations.mReads);
mImports.glStencilStrokePathNV(path, reference, mask);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlStencilStrokePathNV coder(observations, path, reference, mask);
mEncoder->Object(&coder);
}
inline void GlesSpy::glStencilThenCoverFillPathInstancedNV(
int32_t numPaths, uint32_t pathNameType, void* paths, uint32_t pathBase, uint32_t fillMode,
uint32_t mask, uint32_t coverMode, uint32_t transformType, float* transformValues) {
GAPID_INFO("glStencilThenCoverFillPathInstancedNV(%" PRId32 ", %u, %p, %" PRIu32
", %u, %" PRIu32 ", %u, %u, %p)\n",
numPaths, pathNameType, paths, pathBase, fillMode, mask, coverMode, transformType,
transformValues);
Observations observations;
do {
uint32_t l_requiresExtension_423_ext = ExtensionId::GL_NV_path_rendering;
observe(observations.mReads);
mImports.glStencilThenCoverFillPathInstancedNV(numPaths, pathNameType, paths, pathBase,
fillMode, mask, coverMode, transformType,
transformValues);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlStencilThenCoverFillPathInstancedNV coder(
observations, numPaths, pathNameType,
gapic::coder::gles::Void__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(paths), 0)),
pathBase, fillMode, mask, coverMode, transformType,
gapic::coder::gles::GLfloat__CP(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(transformValues), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glStencilThenCoverFillPathNV(uint32_t path, uint32_t fillMode, uint32_t mask,
uint32_t coverMode) {
GAPID_INFO("glStencilThenCoverFillPathNV(%" PRIu32 ", %u, %" PRIu32 ", %u)\n", path, fillMode,
mask, coverMode);
Observations observations;
do {
uint32_t l_requiresExtension_424_ext = ExtensionId::GL_NV_path_rendering;
observe(observations.mReads);
mImports.glStencilThenCoverFillPathNV(path, fillMode, mask, coverMode);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlStencilThenCoverFillPathNV coder(observations, path, fillMode, mask,
coverMode);
mEncoder->Object(&coder);
}
inline void GlesSpy::glStencilThenCoverStrokePathInstancedNV(
int32_t numPaths, uint32_t pathNameType, void* paths, uint32_t pathBase, int32_t reference,
uint32_t mask, uint32_t coverMode, uint32_t transformType, float* transformValues) {
GAPID_INFO("glStencilThenCoverStrokePathInstancedNV(%" PRId32 ", %u, %p, %" PRIu32 ", %" PRId32
", %" PRIu32 ", %u, %u, %p)\n",
numPaths, pathNameType, paths, pathBase, reference, mask, coverMode, transformType,
transformValues);
Observations observations;
do {
uint32_t l_requiresExtension_425_ext = ExtensionId::GL_NV_path_rendering;
observe(observations.mReads);
mImports.glStencilThenCoverStrokePathInstancedNV(numPaths, pathNameType, paths, pathBase,
reference, mask, coverMode, transformType,
transformValues);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlStencilThenCoverStrokePathInstancedNV coder(
observations, numPaths, pathNameType,
gapic::coder::gles::Void__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(paths), 0)),
pathBase, reference, mask, coverMode, transformType,
gapic::coder::gles::GLfloat__CP(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(transformValues), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glStencilThenCoverStrokePathNV(uint32_t path, int32_t reference, uint32_t mask,
uint32_t coverMode) {
GAPID_INFO("glStencilThenCoverStrokePathNV(%" PRIu32 ", %" PRId32 ", %" PRIu32 ", %u)\n", path,
reference, mask, coverMode);
Observations observations;
do {
uint32_t l_requiresExtension_426_ext = ExtensionId::GL_NV_path_rendering;
observe(observations.mReads);
mImports.glStencilThenCoverStrokePathNV(path, reference, mask, coverMode);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlStencilThenCoverStrokePathNV coder(observations, path, reference, mask,
coverMode);
mEncoder->Object(&coder);
}
inline uint8_t GlesSpy::glTestFenceNV(uint32_t fence) {
GAPID_INFO("glTestFenceNV(%" PRIu32 ")\n", fence);
uint8_t result = 0;
Observations observations;
do {
uint32_t l_requiresExtension_427_ext = ExtensionId::GL_NV_fence;
observe(observations.mReads);
result = mImports.glTestFenceNV(fence);
break;
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlTestFenceNV coder(observations, fence, result);
mEncoder->Object(&coder);
return result;
}
inline void GlesSpy::glTexBufferOES(uint32_t target, uint32_t internalformat, uint32_t buffer) {
GAPID_INFO("glTexBufferOES(%u, %u, %" PRIu32 ")\n", target, internalformat, buffer);
Observations observations;
do {
uint32_t l_requiresExtension_428_ext = ExtensionId::GL_OES_texture_buffer;
observe(observations.mReads);
mImports.glTexBufferOES(target, internalformat, buffer);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlTexBufferOES coder(observations, target, internalformat, buffer);
mEncoder->Object(&coder);
}
inline void GlesSpy::glTexBufferRangeOES(uint32_t target, uint32_t internalformat, uint32_t buffer,
int32_t offset, int32_t size) {
GAPID_INFO("glTexBufferRangeOES(%u, %u, %" PRIu32 ", %" PRId32 ", %" PRId32 ")\n", target,
internalformat, buffer, offset, size);
Observations observations;
do {
uint32_t l_requiresExtension_429_ext = ExtensionId::GL_OES_texture_buffer;
observe(observations.mReads);
mImports.glTexBufferRangeOES(target, internalformat, buffer, offset, size);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlTexBufferRangeOES coder(observations, target, internalformat, buffer,
offset, size);
mEncoder->Object(&coder);
}
inline void GlesSpy::glTexImage3DOES(uint32_t target, int32_t level, uint32_t internalformat,
int32_t width, int32_t height, int32_t depth, int32_t border,
uint32_t format, uint32_t type, void* pixels) {
GAPID_INFO("glTexImage3DOES(%u, %" PRId32 ", %u, %" PRId32 ", %" PRId32 ", %" PRId32
", %" PRId32 ", %u, %u, %p)\n",
target, level, internalformat, width, height, depth, border, format, type, pixels);
Observations observations;
do {
uint32_t l_requiresExtension_430_ext = ExtensionId::GL_OES_texture_3D;
observe(observations.mReads);
mImports.glTexImage3DOES(target, level, internalformat, width, height, depth, border,
format, type, pixels);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlTexImage3DOES coder(
observations, target, level, internalformat, width, height, depth, border, format, type,
gapic::coder::gles::Void__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(pixels), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glTexPageCommitmentARB(uint32_t target, int32_t level, int32_t xoffset,
int32_t yoffset, int32_t zoffset, int32_t width,
int32_t height, int32_t depth, uint8_t commit) {
GAPID_INFO("glTexPageCommitmentARB(%u, %" PRId32 ", %" PRId32 ", %" PRId32 ", %" PRId32
", %" PRId32 ", %" PRId32 ", %" PRId32 ", %" PRIu8 ")\n",
target, level, xoffset, yoffset, zoffset, width, height, depth, commit);
Observations observations;
do {
uint32_t l_requiresExtension_431_ext = ExtensionId::GL_EXT_sparse_texture;
observe(observations.mReads);
mImports.glTexPageCommitmentARB(target, level, xoffset, yoffset, zoffset, width, height,
depth, commit);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlTexPageCommitmentARB coder(observations, target, level, xoffset, yoffset,
zoffset, width, height, depth, commit);
mEncoder->Object(&coder);
}
inline void GlesSpy::glTexParameterIivOES(uint32_t target, uint32_t pname, int32_t* params) {
GAPID_INFO("glTexParameterIivOES(%u, %u, %p)\n", target, pname, params);
Observations observations;
do {
uint32_t l_requiresExtension_432_ext = ExtensionId::GL_OES_texture_border_clamp;
observe(observations.mReads);
mImports.glTexParameterIivOES(target, pname, params);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlTexParameterIivOES coder(
observations, target, pname,
gapic::coder::gles::GLint__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(params), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glTexParameterIuivOES(uint32_t target, uint32_t pname, uint32_t* params) {
GAPID_INFO("glTexParameterIuivOES(%u, %u, %p)\n", target, pname, params);
Observations observations;
do {
uint32_t l_requiresExtension_433_ext = ExtensionId::GL_OES_texture_border_clamp;
observe(observations.mReads);
mImports.glTexParameterIuivOES(target, pname, params);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlTexParameterIuivOES coder(
observations, target, pname,
gapic::coder::gles::GLuint__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(params), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glTexStorage1DEXT(uint32_t target, int32_t levels, uint32_t format,
int32_t width) {
GAPID_INFO("glTexStorage1DEXT(%u, %" PRId32 ", %u, %" PRId32 ")\n", target, levels, format,
width);
Observations observations;
do {
uint32_t l_requiresExtension_434_ext = ExtensionId::GL_EXT_texture_storage;
observe(observations.mReads);
mImports.glTexStorage1DEXT(target, levels, format, width);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlTexStorage1DEXT coder(observations, target, levels, format, width);
mEncoder->Object(&coder);
}
inline void GlesSpy::glTexStorage2DEXT(uint32_t target, int32_t levels, uint32_t format,
int32_t width, int32_t height) {
GAPID_INFO("glTexStorage2DEXT(%u, %" PRId32 ", %u, %" PRId32 ", %" PRId32 ")\n", target, levels,
format, width, height);
Observations observations;
do {
uint32_t l_requiresExtension_435_ext = ExtensionId::GL_EXT_texture_storage;
observe(observations.mReads);
mImports.glTexStorage2DEXT(target, levels, format, width, height);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlTexStorage2DEXT coder(observations, target, levels, format, width,
height);
mEncoder->Object(&coder);
}
inline void GlesSpy::glTexStorage3DEXT(uint32_t target, int32_t levels, uint32_t format,
int32_t width, int32_t height, int32_t depth) {
GAPID_INFO("glTexStorage3DEXT(%u, %" PRId32 ", %u, %" PRId32 ", %" PRId32 ", %" PRId32 ")\n",
target, levels, format, width, height, depth);
Observations observations;
do {
uint32_t l_requiresExtension_436_ext = ExtensionId::GL_EXT_texture_storage;
observe(observations.mReads);
mImports.glTexStorage3DEXT(target, levels, format, width, height, depth);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlTexStorage3DEXT coder(observations, target, levels, format, width, height,
depth);
mEncoder->Object(&coder);
}
inline void GlesSpy::glTexSubImage3DOES(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, void* pixels) {
GAPID_INFO("glTexSubImage3DOES(%u, %" PRId32 ", %" PRId32 ", %" PRId32 ", %" PRId32 ", %" PRId32
", %" PRId32 ", %" PRId32 ", %u, %u, %p)\n",
target, level, xoffset, yoffset, zoffset, width, height, depth, format, type,
pixels);
Observations observations;
do {
uint32_t l_requiresExtension_437_ext = ExtensionId::GL_OES_texture_3D;
observe(observations.mReads);
mImports.glTexSubImage3DOES(target, level, xoffset, yoffset, zoffset, width, height, depth,
format, type, pixels);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlTexSubImage3DOES coder(
observations, target, level, xoffset, yoffset, zoffset, width, height, depth, format,
type, gapic::coder::gles::Void__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(pixels), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glTextureStorage1DEXT(uint32_t texture, uint32_t target, int32_t levels,
uint32_t format, int32_t width) {
GAPID_INFO("glTextureStorage1DEXT(%" PRIu32 ", %u, %" PRId32 ", %u, %" PRId32 ")\n", texture,
target, levels, format, width);
Observations observations;
do {
uint32_t l_requiresExtension_438_ext = ExtensionId::GL_EXT_texture_storage;
observe(observations.mReads);
mImports.glTextureStorage1DEXT(texture, target, levels, format, width);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlTextureStorage1DEXT coder(observations, texture, target, levels, format,
width);
mEncoder->Object(&coder);
}
inline void GlesSpy::glTextureStorage2DEXT(uint32_t texture, uint32_t target, int32_t levels,
uint32_t format, int32_t width, int32_t height) {
GAPID_INFO("glTextureStorage2DEXT(%" PRIu32 ", %u, %" PRId32 ", %u, %" PRId32 ", %" PRId32
")\n",
texture, target, levels, format, width, height);
Observations observations;
do {
uint32_t l_requiresExtension_439_ext = ExtensionId::GL_EXT_texture_storage;
observe(observations.mReads);
mImports.glTextureStorage2DEXT(texture, target, levels, format, width, height);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlTextureStorage2DEXT coder(observations, texture, target, levels, format,
width, height);
mEncoder->Object(&coder);
}
inline void GlesSpy::glTextureStorage3DEXT(uint32_t texture, uint32_t target, int32_t levels,
uint32_t format, int32_t width, int32_t height,
int32_t depth) {
GAPID_INFO("glTextureStorage3DEXT(%" PRIu32 ", %u, %" PRId32 ", %u, %" PRId32 ", %" PRId32
", %" PRId32 ")\n",
texture, target, levels, format, width, height, depth);
Observations observations;
do {
uint32_t l_requiresExtension_440_ext = ExtensionId::GL_EXT_texture_storage;
observe(observations.mReads);
mImports.glTextureStorage3DEXT(texture, target, levels, format, width, height, depth);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlTextureStorage3DEXT coder(observations, texture, target, levels, format,
width, height, depth);
mEncoder->Object(&coder);
}
inline void GlesSpy::glTextureViewEXT(uint32_t texture, uint32_t target, uint32_t origtexture,
uint32_t internalformat, uint32_t minlevel,
uint32_t numlevels, uint32_t minlayer, uint32_t numlayers) {
GAPID_INFO("glTextureViewEXT(%" PRIu32 ", %u, %" PRIu32 ", %u, %" PRIu32 ", %" PRIu32
", %" PRIu32 ", %" PRIu32 ")\n",
texture, target, origtexture, internalformat, minlevel, numlevels, minlayer,
numlayers);
Observations observations;
do {
uint32_t l_requiresExtension_441_ext = ExtensionId::GL_EXT_texture_view;
observe(observations.mReads);
mImports.glTextureViewEXT(texture, target, origtexture, internalformat, minlevel, numlevels,
minlayer, numlayers);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlTextureViewEXT coder(observations, texture, target, origtexture,
internalformat, minlevel, numlevels, minlayer,
numlayers);
mEncoder->Object(&coder);
}
inline void GlesSpy::glTextureViewOES(uint32_t texture, uint32_t target, uint32_t origtexture,
uint32_t internalformat, uint32_t minlevel,
uint32_t numlevels, uint32_t minlayer, uint32_t numlayers) {
GAPID_INFO("glTextureViewOES(%" PRIu32 ", %u, %" PRIu32 ", %u, %" PRIu32 ", %" PRIu32
", %" PRIu32 ", %" PRIu32 ")\n",
texture, target, origtexture, internalformat, minlevel, numlevels, minlayer,
numlayers);
Observations observations;
do {
uint32_t l_requiresExtension_442_ext = ExtensionId::GL_OES_texture_view;
observe(observations.mReads);
mImports.glTextureViewOES(texture, target, origtexture, internalformat, minlevel, numlevels,
minlayer, numlayers);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlTextureViewOES coder(observations, texture, target, origtexture,
internalformat, minlevel, numlevels, minlayer,
numlayers);
mEncoder->Object(&coder);
}
inline void GlesSpy::glTransformPathNV(uint32_t resultPath, uint32_t srcPath,
uint32_t transformType, float* transformValues) {
GAPID_INFO("glTransformPathNV(%" PRIu32 ", %" PRIu32 ", %u, %p)\n", resultPath, srcPath,
transformType, transformValues);
Observations observations;
do {
uint32_t l_requiresExtension_443_ext = ExtensionId::GL_NV_path_rendering;
observe(observations.mReads);
mImports.glTransformPathNV(resultPath, srcPath, transformType, transformValues);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlTransformPathNV coder(
observations, resultPath, srcPath, transformType,
gapic::coder::gles::GLfloat__CP(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(transformValues), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glUniformHandleui64NV(int32_t location, uint64_t value) {
GAPID_INFO("glUniformHandleui64NV(%" PRId32 ", %" PRIu64 ")\n", location, value);
Observations observations;
do {
uint32_t l_requiresExtension_444_ext = ExtensionId::GL_NV_bindless_texture;
observe(observations.mReads);
mImports.glUniformHandleui64NV(location, value);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlUniformHandleui64NV coder(observations, location, value);
mEncoder->Object(&coder);
}
inline void GlesSpy::glUniformHandleui64vNV(int32_t location, int32_t count, uint64_t* value) {
GAPID_INFO("glUniformHandleui64vNV(%" PRId32 ", %" PRId32 ", %p)\n", location, count, value);
Observations observations;
do {
uint32_t l_requiresExtension_445_ext = ExtensionId::GL_NV_bindless_texture;
observe(observations.mReads);
mImports.glUniformHandleui64vNV(location, count, value);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlUniformHandleui64vNV coder(
observations, location, count,
gapic::coder::gles::GLuint64__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(value), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glUniformMatrix2x3fvNV(int32_t location, int32_t count, uint8_t transpose,
float* value) {
GAPID_INFO("glUniformMatrix2x3fvNV(%" PRId32 ", %" PRId32 ", %" PRIu8 ", %p)\n", location,
count, transpose, value);
Observations observations;
do {
uint32_t l_requiresExtension_446_ext = ExtensionId::GL_NV_non_square_matrices;
observe(observations.mReads);
mImports.glUniformMatrix2x3fvNV(location, count, transpose, value);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlUniformMatrix2x3fvNV coder(
observations, location, count, transpose,
gapic::coder::gles::GLfloat__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(value), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glUniformMatrix2x4fvNV(int32_t location, int32_t count, uint8_t transpose,
float* value) {
GAPID_INFO("glUniformMatrix2x4fvNV(%" PRId32 ", %" PRId32 ", %" PRIu8 ", %p)\n", location,
count, transpose, value);
Observations observations;
do {
uint32_t l_requiresExtension_447_ext = ExtensionId::GL_NV_non_square_matrices;
observe(observations.mReads);
mImports.glUniformMatrix2x4fvNV(location, count, transpose, value);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlUniformMatrix2x4fvNV coder(
observations, location, count, transpose,
gapic::coder::gles::GLfloat__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(value), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glUniformMatrix3x2fvNV(int32_t location, int32_t count, uint8_t transpose,
float* value) {
GAPID_INFO("glUniformMatrix3x2fvNV(%" PRId32 ", %" PRId32 ", %" PRIu8 ", %p)\n", location,
count, transpose, value);
Observations observations;
do {
uint32_t l_requiresExtension_448_ext = ExtensionId::GL_NV_non_square_matrices;
observe(observations.mReads);
mImports.glUniformMatrix3x2fvNV(location, count, transpose, value);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlUniformMatrix3x2fvNV coder(
observations, location, count, transpose,
gapic::coder::gles::GLfloat__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(value), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glUniformMatrix3x4fvNV(int32_t location, int32_t count, uint8_t transpose,
float* value) {
GAPID_INFO("glUniformMatrix3x4fvNV(%" PRId32 ", %" PRId32 ", %" PRIu8 ", %p)\n", location,
count, transpose, value);
Observations observations;
do {
uint32_t l_requiresExtension_449_ext = ExtensionId::GL_NV_non_square_matrices;
observe(observations.mReads);
mImports.glUniformMatrix3x4fvNV(location, count, transpose, value);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlUniformMatrix3x4fvNV coder(
observations, location, count, transpose,
gapic::coder::gles::GLfloat__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(value), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glUniformMatrix4x2fvNV(int32_t location, int32_t count, uint8_t transpose,
float* value) {
GAPID_INFO("glUniformMatrix4x2fvNV(%" PRId32 ", %" PRId32 ", %" PRIu8 ", %p)\n", location,
count, transpose, value);
Observations observations;
do {
uint32_t l_requiresExtension_450_ext = ExtensionId::GL_NV_non_square_matrices;
observe(observations.mReads);
mImports.glUniformMatrix4x2fvNV(location, count, transpose, value);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlUniformMatrix4x2fvNV coder(
observations, location, count, transpose,
gapic::coder::gles::GLfloat__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(value), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glUniformMatrix4x3fvNV(int32_t location, int32_t count, uint8_t transpose,
float* value) {
GAPID_INFO("glUniformMatrix4x3fvNV(%" PRId32 ", %" PRId32 ", %" PRIu8 ", %p)\n", location,
count, transpose, value);
Observations observations;
do {
uint32_t l_requiresExtension_451_ext = ExtensionId::GL_NV_non_square_matrices;
observe(observations.mReads);
mImports.glUniformMatrix4x3fvNV(location, count, transpose, value);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlUniformMatrix4x3fvNV coder(
observations, location, count, transpose,
gapic::coder::gles::GLfloat__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(value), 0)));
mEncoder->Object(&coder);
}
inline uint8_t GlesSpy::glUnmapBufferOES(uint32_t target) {
GAPID_INFO("glUnmapBufferOES(%u)\n", target);
uint8_t result = 0;
Observations observations;
do {
uint32_t l_requiresExtension_452_ext = ExtensionId::GL_OES_mapbuffer;
observe(observations.mReads);
result = mImports.glUnmapBufferOES(target);
break;
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlUnmapBufferOES coder(observations, target, result);
mEncoder->Object(&coder);
return result;
}
inline void GlesSpy::glUseProgramStagesEXT(uint32_t pipeline, uint32_t stages, uint32_t program) {
GAPID_INFO("glUseProgramStagesEXT(%" PRIu32 ", %u, %" PRIu32 ")\n", pipeline, stages, program);
Observations observations;
do {
uint32_t l_requiresExtension_453_ext = ExtensionId::GL_EXT_separate_shader_objects;
observe(observations.mReads);
mImports.glUseProgramStagesEXT(pipeline, stages, program);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlUseProgramStagesEXT coder(observations, pipeline, stages, program);
mEncoder->Object(&coder);
}
inline void GlesSpy::glValidateProgramPipelineEXT(uint32_t pipeline) {
GAPID_INFO("glValidateProgramPipelineEXT(%" PRIu32 ")\n", pipeline);
Observations observations;
do {
uint32_t l_requiresExtension_454_ext = ExtensionId::GL_EXT_separate_shader_objects;
observe(observations.mReads);
mImports.glValidateProgramPipelineEXT(pipeline);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlValidateProgramPipelineEXT coder(observations, pipeline);
mEncoder->Object(&coder);
}
inline void GlesSpy::glVertexAttribDivisorANGLE(uint32_t index, uint32_t divisor) {
GAPID_INFO("glVertexAttribDivisorANGLE(%" PRIu32 ", %" PRIu32 ")\n", index, divisor);
Observations observations;
do {
uint32_t l_requiresExtension_455_ext = ExtensionId::GL_ANGLE_instanced_arrays;
observe(observations.mReads);
mImports.glVertexAttribDivisorANGLE(index, divisor);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlVertexAttribDivisorANGLE coder(observations, index, divisor);
mEncoder->Object(&coder);
}
inline void GlesSpy::glVertexAttribDivisorEXT(uint32_t index, uint32_t divisor) {
GAPID_INFO("glVertexAttribDivisorEXT(%" PRIu32 ", %" PRIu32 ")\n", index, divisor);
Observations observations;
do {
uint32_t l_requiresExtension_456_ext = ExtensionId::GL_EXT_instanced_arrays;
observe(observations.mReads);
mImports.glVertexAttribDivisorEXT(index, divisor);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlVertexAttribDivisorEXT coder(observations, index, divisor);
mEncoder->Object(&coder);
}
inline void GlesSpy::glVertexAttribDivisorNV(uint32_t index, uint32_t divisor) {
GAPID_INFO("glVertexAttribDivisorNV(%" PRIu32 ", %" PRIu32 ")\n", index, divisor);
Observations observations;
do {
uint32_t l_requiresExtension_457_ext = ExtensionId::GL_NV_instanced_arrays;
observe(observations.mReads);
mImports.glVertexAttribDivisorNV(index, divisor);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlVertexAttribDivisorNV coder(observations, index, divisor);
mEncoder->Object(&coder);
}
inline void GlesSpy::glViewportArrayvNV(uint32_t first, int32_t count, float* v) {
GAPID_INFO("glViewportArrayvNV(%" PRIu32 ", %" PRId32 ", %p)\n", first, count, v);
Observations observations;
do {
uint32_t l_requiresExtension_458_ext = ExtensionId::GL_NV_viewport_array;
observe(observations.mReads);
mImports.glViewportArrayvNV(first, count, v);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlViewportArrayvNV coder(
observations, first, count,
gapic::coder::gles::GLfloat__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(v), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glViewportIndexedfNV(uint32_t index, float x, float y, float w, float h) {
GAPID_INFO("glViewportIndexedfNV(%" PRIu32 ", %f, %f, %f, %f)\n", index, x, y, w, h);
Observations observations;
do {
uint32_t l_requiresExtension_459_ext = ExtensionId::GL_NV_viewport_array;
observe(observations.mReads);
mImports.glViewportIndexedfNV(index, x, y, w, h);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlViewportIndexedfNV coder(observations, index, x, y, w, h);
mEncoder->Object(&coder);
}
inline void GlesSpy::glViewportIndexedfvNV(uint32_t index, float* v) {
GAPID_INFO("glViewportIndexedfvNV(%" PRIu32 ", %p)\n", index, v);
Observations observations;
do {
uint32_t l_requiresExtension_460_ext = ExtensionId::GL_NV_viewport_array;
observe(observations.mReads);
mImports.glViewportIndexedfvNV(index, v);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlViewportIndexedfvNV coder(
observations, index, gapic::coder::gles::GLfloat__CP(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(v), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glWaitSyncAPPLE(uint64_t sync, uint32_t flag, uint64_t timeout) {
GAPID_INFO("glWaitSyncAPPLE(%" PRIu64 ", %u, %" PRIu64 ")\n", sync, flag, timeout);
Observations observations;
do {
uint32_t l_requiresExtension_461_ext = ExtensionId::GL_APPLE_sync;
observe(observations.mReads);
mImports.glWaitSyncAPPLE(sync, flag, timeout);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlWaitSyncAPPLE coder(observations, sync, flag, timeout);
mEncoder->Object(&coder);
}
inline void GlesSpy::glWeightPathsNV(uint32_t resultPath, int32_t numPaths, uint32_t* paths,
float* weights) {
GAPID_INFO("glWeightPathsNV(%" PRIu32 ", %" PRId32 ", %p, %p)\n", resultPath, numPaths, paths,
weights);
Observations observations;
do {
uint32_t l_requiresExtension_462_ext = ExtensionId::GL_NV_path_rendering;
observe(observations.mReads);
mImports.glWeightPathsNV(resultPath, numPaths, paths, weights);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlWeightPathsNV coder(
observations, resultPath, numPaths,
gapic::coder::gles::GLuint__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(paths), 0)),
gapic::coder::gles::GLfloat__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(weights), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glCoverageModulationNV(uint32_t components) {
GAPID_INFO("glCoverageModulationNV(%u)\n", components);
Observations observations;
do {
uint32_t l_requiresExtension_463_ext = ExtensionId::GL_NV_framebuffer_mixed_samples;
observe(observations.mReads);
mImports.glCoverageModulationNV(components);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlCoverageModulationNV coder(observations, components);
mEncoder->Object(&coder);
}
inline void GlesSpy::glCoverageModulationTableNV(int32_t n, float* v) {
GAPID_INFO("glCoverageModulationTableNV(%" PRId32 ", %p)\n", n, v);
Observations observations;
do {
uint32_t l_requiresExtension_464_ext = ExtensionId::GL_NV_framebuffer_mixed_samples;
observe(observations.mReads);
mImports.glCoverageModulationTableNV(n, v);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlCoverageModulationTableNV coder(
observations, n, gapic::coder::gles::GLfloat__CP(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(v), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glFragmentCoverageColorNV(uint32_t color) {
GAPID_INFO("glFragmentCoverageColorNV(%" PRIu32 ")\n", color);
Observations observations;
do {
uint32_t l_requiresExtension_465_ext = ExtensionId::GL_NV_fragment_coverage_to_color;
observe(observations.mReads);
mImports.glFragmentCoverageColorNV(color);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlFragmentCoverageColorNV coder(observations, color);
mEncoder->Object(&coder);
}
inline void GlesSpy::glFramebufferSampleLocationsfvNV(uint32_t target, uint32_t start,
int32_t count, float* v) {
GAPID_INFO("glFramebufferSampleLocationsfvNV(%u, %" PRIu32 ", %" PRId32 ", %p)\n", target,
start, count, v);
Observations observations;
do {
uint32_t l_requiresExtension_466_ext = ExtensionId::GL_NV_sample_locations;
observe(observations.mReads);
mImports.glFramebufferSampleLocationsfvNV(target, start, count, v);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlFramebufferSampleLocationsfvNV coder(
observations, target, start, count,
gapic::coder::gles::GLfloat__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(v), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetCoverageModulationTableNV(int32_t bufsize, float* v) {
GAPID_INFO("glGetCoverageModulationTableNV(%" PRId32 ", %p)\n", bufsize, v);
Observations observations;
do {
uint32_t l_requiresExtension_467_ext = ExtensionId::GL_NV_framebuffer_mixed_samples;
observe(observations.mReads);
mImports.glGetCoverageModulationTableNV(bufsize, v);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetCoverageModulationTableNV coder(
observations, bufsize, gapic::coder::gles::GLfloat__P(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(v), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glNamedFramebufferSampleLocationsfvNV(uint32_t framebuffer, uint32_t start,
int32_t count, float* v) {
GAPID_INFO("glNamedFramebufferSampleLocationsfvNV(%" PRIu32 ", %" PRIu32 ", %" PRId32 ", %p)\n",
framebuffer, start, count, v);
Observations observations;
do {
uint32_t l_requiresExtension_468_ext = ExtensionId::GL_NV_sample_locations;
observe(observations.mReads);
mImports.glNamedFramebufferSampleLocationsfvNV(framebuffer, start, count, v);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlNamedFramebufferSampleLocationsfvNV coder(
observations, framebuffer, start, count,
gapic::coder::gles::GLfloat__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(v), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glRasterSamplesEXT(uint32_t samples, uint8_t fixedsamplelocations) {
GAPID_INFO("glRasterSamplesEXT(%" PRIu32 ", %" PRIu8 ")\n", samples, fixedsamplelocations);
Observations observations;
do {
uint32_t l_requiresExtension_469_ext = ExtensionId::GL_EXT_raster_multisample;
uint32_t l_requiresExtension_470_ext = ExtensionId::GL_EXT_texture_filter_minmax;
uint32_t l_requiresExtension_471_ext = ExtensionId::GL_NV_framebuffer_mixed_samples;
observe(observations.mReads);
mImports.glRasterSamplesEXT(samples, fixedsamplelocations);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlRasterSamplesEXT coder(observations, samples, fixedsamplelocations);
mEncoder->Object(&coder);
}
inline void GlesSpy::glResolveDepthValuesNV() {
GAPID_INFO("glResolveDepthValuesNV()\n");
Observations observations;
do {
uint32_t l_requiresExtension_472_ext = ExtensionId::GL_NV_sample_locations;
observe(observations.mReads);
mImports.glResolveDepthValuesNV();
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlResolveDepthValuesNV coder(observations);
mEncoder->Object(&coder);
}
inline void GlesSpy::glSubpixelPrecisionBiasNV(uint32_t xbits, uint32_t ybits) {
GAPID_INFO("glSubpixelPrecisionBiasNV(%" PRIu32 ", %" PRIu32 ")\n", xbits, ybits);
Observations observations;
do {
uint32_t l_requiresExtension_473_ext = ExtensionId::GL_NV_conservative_raster;
observe(observations.mReads);
mImports.glSubpixelPrecisionBiasNV(xbits, ybits);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlSubpixelPrecisionBiasNV coder(observations, xbits, ybits);
mEncoder->Object(&coder);
}
inline void GlesSpy::glBlendColor(float red, float green, float blue, float alpha) {
GAPID_INFO("glBlendColor(%f, %f, %f, %f)\n", red, green, blue, alpha);
Observations observations;
do {
uint32_t l_minRequiredVersion_474_major = 2;
uint32_t l_minRequiredVersion_474_minor = 0;
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_475_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_475_result;
l_ctx->mBlending.mBlendColor =
Color().SetRed(red).SetGreen(green).SetBlue(blue).SetAlpha(alpha);
observe(observations.mReads);
mImports.glBlendColor(red, green, blue, alpha);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlBlendColor coder(observations, red, green, blue, alpha);
mEncoder->Object(&coder);
}
inline void GlesSpy::glBlendEquation(uint32_t equation) {
GAPID_INFO("glBlendEquation(%u)\n", equation);
Observations observations;
do {
uint32_t l_minRequiredVersion_476_major = 2;
uint32_t l_minRequiredVersion_476_minor = 0;
switch (equation) {
case GLenum::GL_FUNC_ADD: // fall-through...
case GLenum::GL_FUNC_REVERSE_SUBTRACT: // fall-through...
case GLenum::GL_FUNC_SUBTRACT: {
break;
}
case GLenum::GL_MAX: // fall-through...
case GLenum::GL_MIN: {
uint32_t l_minRequiredVersion_477_major = 3;
uint32_t l_minRequiredVersion_477_minor = 0;
break;
}
}
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_479_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_479_result;
l_ctx->mBlending.mBlendEquationRgb = equation;
l_ctx->mBlending.mBlendEquationAlpha = equation;
observe(observations.mReads);
mImports.glBlendEquation(equation);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlBlendEquation coder(observations, equation);
mEncoder->Object(&coder);
}
inline void GlesSpy::glBlendEquationSeparate(uint32_t rgb, uint32_t alpha) {
GAPID_INFO("glBlendEquationSeparate(%u, %u)\n", rgb, alpha);
Observations observations;
do {
uint32_t l_minRequiredVersion_480_major = 2;
uint32_t l_minRequiredVersion_480_minor = 0;
switch (rgb) {
case GLenum::GL_FUNC_ADD: // fall-through...
case GLenum::GL_FUNC_REVERSE_SUBTRACT: // fall-through...
case GLenum::GL_FUNC_SUBTRACT: {
break;
}
case GLenum::GL_MAX: // fall-through...
case GLenum::GL_MIN: {
uint32_t l_minRequiredVersion_481_major = 3;
uint32_t l_minRequiredVersion_481_minor = 0;
break;
}
}
switch (alpha) {
case GLenum::GL_FUNC_ADD: // fall-through...
case GLenum::GL_FUNC_REVERSE_SUBTRACT: // fall-through...
case GLenum::GL_FUNC_SUBTRACT: {
break;
}
case GLenum::GL_MAX: // fall-through...
case GLenum::GL_MIN: {
uint32_t l_minRequiredVersion_483_major = 3;
uint32_t l_minRequiredVersion_483_minor = 0;
break;
}
}
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_485_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_485_result;
l_ctx->mBlending.mBlendEquationRgb = rgb;
l_ctx->mBlending.mBlendEquationAlpha = alpha;
observe(observations.mReads);
mImports.glBlendEquationSeparate(rgb, alpha);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlBlendEquationSeparate coder(observations, rgb, alpha);
mEncoder->Object(&coder);
}
inline void GlesSpy::glBlendFunc(uint32_t src_factor, uint32_t dst_factor) {
GAPID_INFO("glBlendFunc(%u, %u)\n", src_factor, dst_factor);
Observations observations;
do {
uint32_t l_minRequiredVersion_486_major = 2;
uint32_t l_minRequiredVersion_486_minor = 0;
switch (src_factor) {
case GLenum::GL_CONSTANT_ALPHA: // fall-through...
case GLenum::GL_CONSTANT_COLOR: // fall-through...
case GLenum::GL_DST_ALPHA: // fall-through...
case GLenum::GL_DST_COLOR: // fall-through...
case GLenum::GL_ONE: // fall-through...
case GLenum::GL_ONE_MINUS_CONSTANT_ALPHA: // fall-through...
case GLenum::GL_ONE_MINUS_CONSTANT_COLOR: // fall-through...
case GLenum::GL_ONE_MINUS_DST_ALPHA: // fall-through...
case GLenum::GL_ONE_MINUS_DST_COLOR: // fall-through...
case GLenum::GL_ONE_MINUS_SRC_ALPHA: // fall-through...
case GLenum::GL_ONE_MINUS_SRC_COLOR: // fall-through...
case GLenum::GL_SRC_ALPHA: // fall-through...
case GLenum::GL_SRC_ALPHA_SATURATE: // fall-through...
case GLenum::GL_SRC_COLOR: // fall-through...
case GLenum::GL_ZERO: {
break;
}
}
switch (dst_factor) {
case GLenum::GL_CONSTANT_ALPHA: // fall-through...
case GLenum::GL_CONSTANT_COLOR: // fall-through...
case GLenum::GL_DST_ALPHA: // fall-through...
case GLenum::GL_DST_COLOR: // fall-through...
case GLenum::GL_ONE: // fall-through...
case GLenum::GL_ONE_MINUS_CONSTANT_ALPHA: // fall-through...
case GLenum::GL_ONE_MINUS_CONSTANT_COLOR: // fall-through...
case GLenum::GL_ONE_MINUS_DST_ALPHA: // fall-through...
case GLenum::GL_ONE_MINUS_DST_COLOR: // fall-through...
case GLenum::GL_ONE_MINUS_SRC_ALPHA: // fall-through...
case GLenum::GL_ONE_MINUS_SRC_COLOR: // fall-through...
case GLenum::GL_SRC_ALPHA: // fall-through...
case GLenum::GL_SRC_COLOR: // fall-through...
case GLenum::GL_ZERO: {
break;
}
}
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_489_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_489_result;
l_ctx->mBlending.mSrcRgbBlendFactor = src_factor;
l_ctx->mBlending.mSrcAlphaBlendFactor = src_factor;
l_ctx->mBlending.mDstRgbBlendFactor = dst_factor;
l_ctx->mBlending.mDstAlphaBlendFactor = dst_factor;
observe(observations.mReads);
mImports.glBlendFunc(src_factor, dst_factor);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlBlendFunc coder(observations, src_factor, dst_factor);
mEncoder->Object(&coder);
}
inline void GlesSpy::glBlendFuncSeparate(uint32_t src_factor_rgb, uint32_t dst_factor_rgb,
uint32_t src_factor_alpha, uint32_t dst_factor_alpha) {
GAPID_INFO("glBlendFuncSeparate(%u, %u, %u, %u)\n", src_factor_rgb, dst_factor_rgb,
src_factor_alpha, dst_factor_alpha);
Observations observations;
do {
uint32_t l_minRequiredVersion_490_major = 2;
uint32_t l_minRequiredVersion_490_minor = 0;
switch (src_factor_rgb) {
case GLenum::GL_CONSTANT_ALPHA: // fall-through...
case GLenum::GL_CONSTANT_COLOR: // fall-through...
case GLenum::GL_DST_ALPHA: // fall-through...
case GLenum::GL_DST_COLOR: // fall-through...
case GLenum::GL_ONE: // fall-through...
case GLenum::GL_ONE_MINUS_CONSTANT_ALPHA: // fall-through...
case GLenum::GL_ONE_MINUS_CONSTANT_COLOR: // fall-through...
case GLenum::GL_ONE_MINUS_DST_ALPHA: // fall-through...
case GLenum::GL_ONE_MINUS_DST_COLOR: // fall-through...
case GLenum::GL_ONE_MINUS_SRC_ALPHA: // fall-through...
case GLenum::GL_ONE_MINUS_SRC_COLOR: // fall-through...
case GLenum::GL_SRC_ALPHA: // fall-through...
case GLenum::GL_SRC_ALPHA_SATURATE: // fall-through...
case GLenum::GL_SRC_COLOR: // fall-through...
case GLenum::GL_ZERO: {
break;
}
}
switch (dst_factor_rgb) {
case GLenum::GL_CONSTANT_ALPHA: // fall-through...
case GLenum::GL_CONSTANT_COLOR: // fall-through...
case GLenum::GL_DST_ALPHA: // fall-through...
case GLenum::GL_DST_COLOR: // fall-through...
case GLenum::GL_ONE: // fall-through...
case GLenum::GL_ONE_MINUS_CONSTANT_ALPHA: // fall-through...
case GLenum::GL_ONE_MINUS_CONSTANT_COLOR: // fall-through...
case GLenum::GL_ONE_MINUS_DST_ALPHA: // fall-through...
case GLenum::GL_ONE_MINUS_DST_COLOR: // fall-through...
case GLenum::GL_ONE_MINUS_SRC_ALPHA: // fall-through...
case GLenum::GL_ONE_MINUS_SRC_COLOR: // fall-through...
case GLenum::GL_SRC_ALPHA: // fall-through...
case GLenum::GL_SRC_COLOR: // fall-through...
case GLenum::GL_ZERO: {
break;
}
}
switch (src_factor_alpha) {
case GLenum::GL_CONSTANT_ALPHA: // fall-through...
case GLenum::GL_CONSTANT_COLOR: // fall-through...
case GLenum::GL_DST_ALPHA: // fall-through...
case GLenum::GL_DST_COLOR: // fall-through...
case GLenum::GL_ONE: // fall-through...
case GLenum::GL_ONE_MINUS_CONSTANT_ALPHA: // fall-through...
case GLenum::GL_ONE_MINUS_CONSTANT_COLOR: // fall-through...
case GLenum::GL_ONE_MINUS_DST_ALPHA: // fall-through...
case GLenum::GL_ONE_MINUS_DST_COLOR: // fall-through...
case GLenum::GL_ONE_MINUS_SRC_ALPHA: // fall-through...
case GLenum::GL_ONE_MINUS_SRC_COLOR: // fall-through...
case GLenum::GL_SRC_ALPHA: // fall-through...
case GLenum::GL_SRC_ALPHA_SATURATE: // fall-through...
case GLenum::GL_SRC_COLOR: // fall-through...
case GLenum::GL_ZERO: {
break;
}
}
switch (dst_factor_alpha) {
case GLenum::GL_CONSTANT_ALPHA: // fall-through...
case GLenum::GL_CONSTANT_COLOR: // fall-through...
case GLenum::GL_DST_ALPHA: // fall-through...
case GLenum::GL_DST_COLOR: // fall-through...
case GLenum::GL_ONE: // fall-through...
case GLenum::GL_ONE_MINUS_CONSTANT_ALPHA: // fall-through...
case GLenum::GL_ONE_MINUS_CONSTANT_COLOR: // fall-through...
case GLenum::GL_ONE_MINUS_DST_ALPHA: // fall-through...
case GLenum::GL_ONE_MINUS_DST_COLOR: // fall-through...
case GLenum::GL_ONE_MINUS_SRC_ALPHA: // fall-through...
case GLenum::GL_ONE_MINUS_SRC_COLOR: // fall-through...
case GLenum::GL_SRC_ALPHA: // fall-through...
case GLenum::GL_SRC_COLOR: // fall-through...
case GLenum::GL_ZERO: {
break;
}
}
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_495_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_495_result;
l_ctx->mBlending.mSrcRgbBlendFactor = src_factor_rgb;
l_ctx->mBlending.mDstRgbBlendFactor = dst_factor_rgb;
l_ctx->mBlending.mSrcAlphaBlendFactor = src_factor_alpha;
l_ctx->mBlending.mDstAlphaBlendFactor = dst_factor_alpha;
observe(observations.mReads);
mImports.glBlendFuncSeparate(src_factor_rgb, dst_factor_rgb, src_factor_alpha,
dst_factor_alpha);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlBlendFuncSeparate coder(observations, src_factor_rgb, dst_factor_rgb,
src_factor_alpha, dst_factor_alpha);
mEncoder->Object(&coder);
}
inline void GlesSpy::glDepthFunc(uint32_t function) {
GAPID_INFO("glDepthFunc(%u)\n", function);
Observations observations;
do {
uint32_t l_minRequiredVersion_496_major = 2;
uint32_t l_minRequiredVersion_496_minor = 0;
switch (function) {
case GLenum::GL_ALWAYS: // fall-through...
case GLenum::GL_EQUAL: // fall-through...
case GLenum::GL_GEQUAL: // fall-through...
case GLenum::GL_GREATER: // fall-through...
case GLenum::GL_LEQUAL: // fall-through...
case GLenum::GL_LESS: // fall-through...
case GLenum::GL_NEVER: // fall-through...
case GLenum::GL_NOTEQUAL: {
break;
}
}
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_498_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_498_result;
l_ctx->mRasterizing.mDepthTestFunction = function;
observe(observations.mReads);
mImports.glDepthFunc(function);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlDepthFunc coder(observations, function);
mEncoder->Object(&coder);
}
inline void GlesSpy::glSampleCoverage(float value, uint8_t invert) {
GAPID_INFO("glSampleCoverage(%f, %" PRIu8 ")\n", value, invert);
Observations observations;
do {
uint32_t l_minRequiredVersion_499_major = 2;
uint32_t l_minRequiredVersion_499_minor = 0;
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_500_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_500_result;
l_ctx->mRasterizing.mSampleCoverageValue = value;
l_ctx->mRasterizing.mSampleCoverageInvert = invert;
observe(observations.mReads);
mImports.glSampleCoverage(value, invert);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlSampleCoverage coder(observations, value, invert);
mEncoder->Object(&coder);
}
inline void GlesSpy::glSampleMaski(uint32_t maskNumber, uint32_t mask) {
GAPID_INFO("glSampleMaski(%" PRIu32 ", %u)\n", maskNumber, mask);
Observations observations;
do {
uint32_t l_minRequiredVersion_501_major = 3;
uint32_t l_minRequiredVersion_501_minor = 1;
observe(observations.mReads);
mImports.glSampleMaski(maskNumber, mask);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlSampleMaski coder(observations, maskNumber, mask);
mEncoder->Object(&coder);
}
inline void GlesSpy::glScissor(int32_t x, int32_t y, int32_t width, int32_t height) {
GAPID_INFO("glScissor(%" PRId32 ", %" PRId32 ", %" PRId32 ", %" PRId32 ")\n", x, y, width,
height);
Observations observations;
do {
uint32_t l_minRequiredVersion_502_major = 2;
uint32_t l_minRequiredVersion_502_minor = 0;
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_503_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_503_result;
l_ctx->mRasterizing.mScissor = Rect().SetX(x).SetY(y).SetWidth(width).SetHeight(height);
observe(observations.mReads);
mImports.glScissor(x, y, width, height);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlScissor coder(observations, x, y, width, height);
mEncoder->Object(&coder);
}
inline void GlesSpy::glStencilFunc(uint32_t func, int32_t ref, uint32_t mask) {
GAPID_INFO("glStencilFunc(%u, %" PRId32 ", %" PRIu32 ")\n", func, ref, mask);
Observations observations;
do {
uint32_t l_minRequiredVersion_504_major = 2;
uint32_t l_minRequiredVersion_504_minor = 0;
switch (func) {
case GLenum::GL_ALWAYS: // fall-through...
case GLenum::GL_EQUAL: // fall-through...
case GLenum::GL_GEQUAL: // fall-through...
case GLenum::GL_GREATER: // fall-through...
case GLenum::GL_LEQUAL: // fall-through...
case GLenum::GL_LESS: // fall-through...
case GLenum::GL_NEVER: // fall-through...
case GLenum::GL_NOTEQUAL: {
break;
}
}
observe(observations.mReads);
mImports.glStencilFunc(func, ref, mask);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlStencilFunc coder(observations, func, ref, mask);
mEncoder->Object(&coder);
}
inline void GlesSpy::glStencilFuncSeparate(uint32_t face, uint32_t function,
int32_t reference_value, uint32_t mask) {
GAPID_INFO("glStencilFuncSeparate(%u, %u, %" PRId32 ", %" PRIu32 ")\n", face, function,
reference_value, mask);
Observations observations;
do {
uint32_t l_minRequiredVersion_506_major = 2;
uint32_t l_minRequiredVersion_506_minor = 0;
switch (face) {
case GLenum::GL_BACK: // fall-through...
case GLenum::GL_FRONT: // fall-through...
case GLenum::GL_FRONT_AND_BACK: {
break;
}
}
switch (function) {
case GLenum::GL_ALWAYS: // fall-through...
case GLenum::GL_EQUAL: // fall-through...
case GLenum::GL_GEQUAL: // fall-through...
case GLenum::GL_GREATER: // fall-through...
case GLenum::GL_LEQUAL: // fall-through...
case GLenum::GL_LESS: // fall-through...
case GLenum::GL_NEVER: // fall-through...
case GLenum::GL_NOTEQUAL: {
break;
}
}
observe(observations.mReads);
mImports.glStencilFuncSeparate(face, function, reference_value, mask);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlStencilFuncSeparate coder(observations, face, function, reference_value,
mask);
mEncoder->Object(&coder);
}
inline void GlesSpy::glStencilOp(uint32_t fail, uint32_t zfail, uint32_t zpass) {
GAPID_INFO("glStencilOp(%u, %u, %u)\n", fail, zfail, zpass);
Observations observations;
do {
uint32_t l_minRequiredVersion_509_major = 2;
uint32_t l_minRequiredVersion_509_minor = 0;
switch (fail) {
case GLenum::GL_DECR: // fall-through...
case GLenum::GL_DECR_WRAP: // fall-through...
case GLenum::GL_INCR: // fall-through...
case GLenum::GL_INCR_WRAP: // fall-through...
case GLenum::GL_INVERT: // fall-through...
case GLenum::GL_KEEP: // fall-through...
case GLenum::GL_REPLACE: // fall-through...
case GLenum::GL_ZERO: {
break;
}
}
switch (zfail) {
case GLenum::GL_DECR: // fall-through...
case GLenum::GL_DECR_WRAP: // fall-through...
case GLenum::GL_INCR: // fall-through...
case GLenum::GL_INCR_WRAP: // fall-through...
case GLenum::GL_INVERT: // fall-through...
case GLenum::GL_KEEP: // fall-through...
case GLenum::GL_REPLACE: // fall-through...
case GLenum::GL_ZERO: {
break;
}
}
switch (zpass) {
case GLenum::GL_DECR: // fall-through...
case GLenum::GL_DECR_WRAP: // fall-through...
case GLenum::GL_INCR: // fall-through...
case GLenum::GL_INCR_WRAP: // fall-through...
case GLenum::GL_INVERT: // fall-through...
case GLenum::GL_KEEP: // fall-through...
case GLenum::GL_REPLACE: // fall-through...
case GLenum::GL_ZERO: {
break;
}
}
observe(observations.mReads);
mImports.glStencilOp(fail, zfail, zpass);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlStencilOp coder(observations, fail, zfail, zpass);
mEncoder->Object(&coder);
}
inline void GlesSpy::glStencilOpSeparate(uint32_t face, uint32_t stencil_fail,
uint32_t stencil_pass_depth_fail,
uint32_t stencil_pass_depth_pass) {
GAPID_INFO("glStencilOpSeparate(%u, %u, %u, %u)\n", face, stencil_fail, stencil_pass_depth_fail,
stencil_pass_depth_pass);
Observations observations;
do {
uint32_t l_minRequiredVersion_513_major = 2;
uint32_t l_minRequiredVersion_513_minor = 0;
switch (face) {
case GLenum::GL_BACK: // fall-through...
case GLenum::GL_FRONT: // fall-through...
case GLenum::GL_FRONT_AND_BACK: {
break;
}
}
switch (stencil_fail) {
case GLenum::GL_DECR: // fall-through...
case GLenum::GL_DECR_WRAP: // fall-through...
case GLenum::GL_INCR: // fall-through...
case GLenum::GL_INCR_WRAP: // fall-through...
case GLenum::GL_INVERT: // fall-through...
case GLenum::GL_KEEP: // fall-through...
case GLenum::GL_REPLACE: // fall-through...
case GLenum::GL_ZERO: {
break;
}
}
switch (stencil_pass_depth_fail) {
case GLenum::GL_DECR: // fall-through...
case GLenum::GL_DECR_WRAP: // fall-through...
case GLenum::GL_INCR: // fall-through...
case GLenum::GL_INCR_WRAP: // fall-through...
case GLenum::GL_INVERT: // fall-through...
case GLenum::GL_KEEP: // fall-through...
case GLenum::GL_REPLACE: // fall-through...
case GLenum::GL_ZERO: {
break;
}
}
switch (stencil_pass_depth_pass) {
case GLenum::GL_DECR: // fall-through...
case GLenum::GL_DECR_WRAP: // fall-through...
case GLenum::GL_INCR: // fall-through...
case GLenum::GL_INCR_WRAP: // fall-through...
case GLenum::GL_INVERT: // fall-through...
case GLenum::GL_KEEP: // fall-through...
case GLenum::GL_REPLACE: // fall-through...
case GLenum::GL_ZERO: {
break;
}
}
observe(observations.mReads);
mImports.glStencilOpSeparate(face, stencil_fail, stencil_pass_depth_fail,
stencil_pass_depth_pass);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlStencilOpSeparate coder(observations, face, stencil_fail,
stencil_pass_depth_fail, stencil_pass_depth_pass);
mEncoder->Object(&coder);
}
inline void GlesSpy::glBindFramebuffer(uint32_t target, uint32_t framebuffer) {
GAPID_INFO("glBindFramebuffer(%u, %" PRIu32 ")\n", target, framebuffer);
Observations observations;
do {
uint32_t l_minRequiredVersion_518_major = 2;
uint32_t l_minRequiredVersion_518_minor = 0;
switch (target) {
case GLenum::GL_FRAMEBUFFER: {
break;
}
case GLenum::GL_DRAW_FRAMEBUFFER: // fall-through...
case GLenum::GL_READ_FRAMEBUFFER: {
uint32_t l_minRequiredVersion_519_major = 3;
uint32_t l_minRequiredVersion_519_minor = 0;
break;
}
}
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_521_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_521_result;
if (!(l_ctx->mInstances.mFramebuffers.count(framebuffer) > 0)) {
l_ctx->mInstances.mFramebuffers[framebuffer] =
std::shared_ptr<Framebuffer>((new Framebuffer()));
}
if (target == GLenum::GL_FRAMEBUFFER) {
l_ctx->mBoundFramebuffers[GLenum::GL_READ_FRAMEBUFFER] = framebuffer;
l_ctx->mBoundFramebuffers[GLenum::GL_DRAW_FRAMEBUFFER] = framebuffer;
} else {
l_ctx->mBoundFramebuffers[target] = framebuffer;
}
observe(observations.mReads);
mImports.glBindFramebuffer(target, framebuffer);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlBindFramebuffer coder(observations, target, framebuffer);
mEncoder->Object(&coder);
}
inline void GlesSpy::glBindRenderbuffer(uint32_t target, uint32_t renderbuffer) {
GAPID_INFO("glBindRenderbuffer(%u, %" PRIu32 ")\n", target, renderbuffer);
Observations observations;
do {
uint32_t l_minRequiredVersion_522_major = 2;
uint32_t l_minRequiredVersion_522_minor = 0;
switch (target) {
case GLenum::GL_RENDERBUFFER: {
break;
}
}
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_524_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_524_result;
if (!(l_ctx->mInstances.mRenderbuffers.count(renderbuffer) > 0)) {
l_ctx->mInstances.mRenderbuffers[renderbuffer] =
std::shared_ptr<Renderbuffer>((new Renderbuffer()));
}
l_ctx->mBoundRenderbuffers[target] = renderbuffer;
observe(observations.mReads);
mImports.glBindRenderbuffer(target, renderbuffer);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlBindRenderbuffer coder(observations, target, renderbuffer);
mEncoder->Object(&coder);
}
inline void GlesSpy::glBlitFramebuffer(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) {
GAPID_INFO("glBlitFramebuffer(%" PRId32 ", %" PRId32 ", %" PRId32 ", %" PRId32 ", %" PRId32
", %" PRId32 ", %" PRId32 ", %" PRId32 ", %u, %u)\n",
srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter);
Observations observations;
do {
uint32_t l_minRequiredVersion_525_major = 3;
uint32_t l_minRequiredVersion_525_minor = 0;
uint32_t l_supportsBits_526_seenBits = mask;
uint32_t l_supportsBits_526_validBits = GLbitfield::GL_COLOR_BUFFER_BIT |
GLbitfield::GL_DEPTH_BUFFER_BIT |
GLbitfield::GL_STENCIL_BUFFER_BIT;
if ((mask & GLbitfield::GL_COLOR_BUFFER_BIT) != 0) {
}
if ((mask & GLbitfield::GL_DEPTH_BUFFER_BIT) != 0) {
}
if ((mask & GLbitfield::GL_STENCIL_BUFFER_BIT) != 0) {
}
switch (filter) {
case GLenum::GL_LINEAR: // fall-through...
case GLenum::GL_NEAREST: {
break;
}
}
observe(observations.mReads);
mImports.glBlitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask,
filter);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlBlitFramebuffer coder(observations, srcX0, srcY0, srcX1, srcY1, dstX0,
dstY0, dstX1, dstY1, mask, filter);
mEncoder->Object(&coder);
}
inline uint32_t GlesSpy::glCheckFramebufferStatus(uint32_t target) {
GAPID_INFO("glCheckFramebufferStatus(%u)\n", target);
uint32_t result = 0;
Observations observations;
do {
uint32_t l_minRequiredVersion_528_major = 2;
uint32_t l_minRequiredVersion_528_minor = 0;
switch (target) {
case GLenum::GL_FRAMEBUFFER: {
break;
}
case GLenum::GL_DRAW_FRAMEBUFFER: // fall-through...
case GLenum::GL_READ_FRAMEBUFFER: {
uint32_t l_minRequiredVersion_529_major = 3;
uint32_t l_minRequiredVersion_529_minor = 0;
break;
}
}
observe(observations.mReads);
result = mImports.glCheckFramebufferStatus(target);
break;
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlCheckFramebufferStatus coder(observations, target, result);
mEncoder->Object(&coder);
return result;
}
inline void GlesSpy::glClear(uint32_t mask) {
GAPID_INFO("glClear(%u)\n", mask);
Observations observations;
do {
uint32_t l_minRequiredVersion_531_major = 2;
uint32_t l_minRequiredVersion_531_minor = 0;
uint32_t l_supportsBits_532_seenBits = mask;
uint32_t l_supportsBits_532_validBits = GLbitfield::GL_COLOR_BUFFER_BIT |
GLbitfield::GL_DEPTH_BUFFER_BIT |
GLbitfield::GL_STENCIL_BUFFER_BIT;
if ((mask & GLbitfield::GL_COLOR_BUFFER_BIT) != 0) {
}
if ((mask & GLbitfield::GL_DEPTH_BUFFER_BIT) != 0) {
}
if ((mask & GLbitfield::GL_STENCIL_BUFFER_BIT) != 0) {
}
if ((mask & GLbitfield::GL_COLOR_BUFFER_BIT) != 0) {
}
observe(observations.mReads);
mImports.glClear(mask);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlClear coder(observations, mask);
mEncoder->Object(&coder);
}
inline void GlesSpy::glClearBufferfi(uint32_t buffer, int32_t drawbuffer, float depth,
int32_t stencil) {
GAPID_INFO("glClearBufferfi(%u, %" PRId32 ", %f, %" PRId32 ")\n", buffer, drawbuffer, depth,
stencil);
Observations observations;
do {
uint32_t l_minRequiredVersion_533_major = 3;
uint32_t l_minRequiredVersion_533_minor = 0;
switch (buffer) {
case GLenum::GL_DEPTH_STENCIL: {
break;
}
}
observe(observations.mReads);
mImports.glClearBufferfi(buffer, drawbuffer, depth, stencil);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlClearBufferfi coder(observations, buffer, drawbuffer, depth, stencil);
mEncoder->Object(&coder);
}
inline void GlesSpy::glClearBufferfv(uint32_t buffer, int32_t drawbuffer, float* value) {
GAPID_INFO("glClearBufferfv(%u, %" PRId32 ", %p)\n", buffer, drawbuffer, value);
Observations observations;
do {
uint32_t l_minRequiredVersion_535_major = 3;
uint32_t l_minRequiredVersion_535_minor = 0;
switch (buffer) {
case GLenum::GL_COLOR: // fall-through...
case GLenum::GL_DEPTH: {
break;
}
}
observe(observations.mReads);
mImports.glClearBufferfv(buffer, drawbuffer, value);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlClearBufferfv coder(
observations, buffer, drawbuffer,
gapic::coder::gles::GLfloat__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(value), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glClearBufferiv(uint32_t buffer, int32_t drawbuffer, int32_t* value) {
GAPID_INFO("glClearBufferiv(%u, %" PRId32 ", %p)\n", buffer, drawbuffer, value);
Observations observations;
do {
uint32_t l_minRequiredVersion_537_major = 3;
uint32_t l_minRequiredVersion_537_minor = 0;
switch (buffer) {
case GLenum::GL_COLOR: // fall-through...
case GLenum::GL_STENCIL: {
break;
}
}
observe(observations.mReads);
mImports.glClearBufferiv(buffer, drawbuffer, value);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlClearBufferiv coder(
observations, buffer, drawbuffer,
gapic::coder::gles::GLint__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(value), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glClearBufferuiv(uint32_t buffer, int32_t drawbuffer, uint32_t* value) {
GAPID_INFO("glClearBufferuiv(%u, %" PRId32 ", %p)\n", buffer, drawbuffer, value);
Observations observations;
do {
uint32_t l_minRequiredVersion_539_major = 3;
uint32_t l_minRequiredVersion_539_minor = 0;
switch (buffer) {
case GLenum::GL_COLOR: {
break;
}
}
observe(observations.mReads);
mImports.glClearBufferuiv(buffer, drawbuffer, value);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlClearBufferuiv coder(
observations, buffer, drawbuffer,
gapic::coder::gles::GLuint__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(value), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glClearColor(float r, float g, float b, float a) {
GAPID_INFO("glClearColor(%f, %f, %f, %f)\n", r, g, b, a);
Observations observations;
do {
uint32_t l_minRequiredVersion_541_major = 2;
uint32_t l_minRequiredVersion_541_minor = 0;
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_542_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_542_result;
l_ctx->mClearing.mClearColor = Color().SetRed(r).SetGreen(g).SetBlue(b).SetAlpha(a);
observe(observations.mReads);
mImports.glClearColor(r, g, b, a);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlClearColor coder(observations, r, g, b, a);
mEncoder->Object(&coder);
}
inline void GlesSpy::glClearDepthf(float depth) {
GAPID_INFO("glClearDepthf(%f)\n", depth);
Observations observations;
do {
uint32_t l_minRequiredVersion_543_major = 2;
uint32_t l_minRequiredVersion_543_minor = 0;
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_544_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_544_result;
l_ctx->mClearing.mClearDepth = depth;
observe(observations.mReads);
mImports.glClearDepthf(depth);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlClearDepthf coder(observations, depth);
mEncoder->Object(&coder);
}
inline void GlesSpy::glClearStencil(int32_t stencil) {
GAPID_INFO("glClearStencil(%" PRId32 ")\n", stencil);
Observations observations;
do {
uint32_t l_minRequiredVersion_545_major = 2;
uint32_t l_minRequiredVersion_545_minor = 0;
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_546_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_546_result;
l_ctx->mClearing.mClearStencil = stencil;
observe(observations.mReads);
mImports.glClearStencil(stencil);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlClearStencil coder(observations, stencil);
mEncoder->Object(&coder);
}
inline void GlesSpy::glColorMask(uint8_t red, uint8_t green, uint8_t blue, uint8_t alpha) {
GAPID_INFO("glColorMask(%" PRIu8 ", %" PRIu8 ", %" PRIu8 ", %" PRIu8 ")\n", red, green, blue,
alpha);
Observations observations;
do {
uint32_t l_minRequiredVersion_547_major = 2;
uint32_t l_minRequiredVersion_547_minor = 0;
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_548_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_548_result;
l_ctx->mRasterizing.mColorMaskRed = red;
l_ctx->mRasterizing.mColorMaskGreen = green;
l_ctx->mRasterizing.mColorMaskBlue = blue;
l_ctx->mRasterizing.mColorMaskAlpha = alpha;
observe(observations.mReads);
mImports.glColorMask(red, green, blue, alpha);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlColorMask coder(observations, red, green, blue, alpha);
mEncoder->Object(&coder);
}
inline void GlesSpy::glDeleteFramebuffers(int32_t count, uint32_t* framebuffers) {
GAPID_INFO("glDeleteFramebuffers(%" PRId32 ", %p)\n", count, framebuffers);
Observations observations;
do {
uint32_t l_minRequiredVersion_549_major = 2;
uint32_t l_minRequiredVersion_549_minor = 0;
Slice<FramebufferId> l_f = slice(framebuffers, (uint64_t)((GLsizei)(0)), (uint64_t)(count));
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_550_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_550_result;
for (GLsizei l_i = (GLsizei)(0); l_i < count; ++l_i) {
l_ctx->mInstances.mFramebuffers[read(l_f, (uint64_t)(l_i))] =
std::shared_ptr<Framebuffer>();
}
observe(observations.mReads);
mImports.glDeleteFramebuffers(count, framebuffers);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlDeleteFramebuffers coder(
observations, count,
gapic::coder::gles::FramebufferId__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(framebuffers), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glDeleteRenderbuffers(int32_t count, uint32_t* renderbuffers) {
GAPID_INFO("glDeleteRenderbuffers(%" PRId32 ", %p)\n", count, renderbuffers);
Observations observations;
do {
uint32_t l_minRequiredVersion_551_major = 2;
uint32_t l_minRequiredVersion_551_minor = 0;
Slice<RenderbufferId> l_r =
slice(renderbuffers, (uint64_t)((GLsizei)(0)), (uint64_t)(count));
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_552_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_552_result;
for (GLsizei l_i = (GLsizei)(0); l_i < count; ++l_i) {
l_ctx->mInstances.mRenderbuffers[read(l_r, (uint64_t)(l_i))] =
std::shared_ptr<Renderbuffer>();
}
observe(observations.mReads);
mImports.glDeleteRenderbuffers(count, renderbuffers);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlDeleteRenderbuffers coder(
observations, count,
gapic::coder::gles::RenderbufferId__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(renderbuffers), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glDepthMask(uint8_t enabled) {
GAPID_INFO("glDepthMask(%" PRIu8 ")\n", enabled);
Observations observations;
do {
uint32_t l_minRequiredVersion_553_major = 2;
uint32_t l_minRequiredVersion_553_minor = 0;
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_554_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_554_result;
l_ctx->mRasterizing.mDepthMask = enabled;
observe(observations.mReads);
mImports.glDepthMask(enabled);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlDepthMask coder(observations, enabled);
mEncoder->Object(&coder);
}
inline void GlesSpy::glFramebufferParameteri(uint32_t target, uint32_t pname, int32_t param) {
GAPID_INFO("glFramebufferParameteri(%u, %u, %" PRId32 ")\n", target, pname, param);
Observations observations;
do {
uint32_t l_minRequiredVersion_555_major = 3;
uint32_t l_minRequiredVersion_555_minor = 1;
switch (target) {
case GLenum::GL_DRAW_FRAMEBUFFER: // fall-through...
case GLenum::GL_FRAMEBUFFER: // fall-through...
case GLenum::GL_READ_FRAMEBUFFER: {
break;
}
}
switch (pname) {
case GLenum::GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS: // fall-through...
case GLenum::GL_FRAMEBUFFER_DEFAULT_HEIGHT: // fall-through...
case GLenum::GL_FRAMEBUFFER_DEFAULT_SAMPLES: // fall-through...
case GLenum::GL_FRAMEBUFFER_DEFAULT_WIDTH: {
break;
}
}
observe(observations.mReads);
mImports.glFramebufferParameteri(target, pname, param);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlFramebufferParameteri coder(observations, target, pname, param);
mEncoder->Object(&coder);
}
inline void GlesSpy::glFramebufferRenderbuffer(uint32_t framebuffer_target,
uint32_t framebuffer_attachment,
uint32_t renderbuffer_target,
uint32_t renderbuffer) {
GAPID_INFO("glFramebufferRenderbuffer(%u, %u, %u, %" PRIu32 ")\n", framebuffer_target,
framebuffer_attachment, renderbuffer_target, renderbuffer);
Observations observations;
do {
uint32_t l_minRequiredVersion_558_major = 2;
uint32_t l_minRequiredVersion_558_minor = 0;
switch (framebuffer_target) {
case GLenum::GL_FRAMEBUFFER: {
break;
}
case GLenum::GL_DRAW_FRAMEBUFFER: // fall-through...
case GLenum::GL_READ_FRAMEBUFFER: {
uint32_t l_minRequiredVersion_559_major = 3;
uint32_t l_minRequiredVersion_559_minor = 0;
break;
}
}
switch (framebuffer_attachment) {
case GLenum::GL_COLOR_ATTACHMENT0: // fall-through...
case GLenum::GL_DEPTH_ATTACHMENT: // fall-through...
case GLenum::GL_STENCIL_ATTACHMENT: {
break;
}
case GLenum::GL_COLOR_ATTACHMENT1: // fall-through...
case GLenum::GL_COLOR_ATTACHMENT10: // fall-through...
case GLenum::GL_COLOR_ATTACHMENT11: // fall-through...
case GLenum::GL_COLOR_ATTACHMENT12: // fall-through...
case GLenum::GL_COLOR_ATTACHMENT13: // fall-through...
case GLenum::GL_COLOR_ATTACHMENT14: // fall-through...
case GLenum::GL_COLOR_ATTACHMENT15: // fall-through...
case GLenum::GL_COLOR_ATTACHMENT2: // fall-through...
case GLenum::GL_COLOR_ATTACHMENT3: // fall-through...
case GLenum::GL_COLOR_ATTACHMENT4: // fall-through...
case GLenum::GL_COLOR_ATTACHMENT5: // fall-through...
case GLenum::GL_COLOR_ATTACHMENT6: // fall-through...
case GLenum::GL_COLOR_ATTACHMENT7: // fall-through...
case GLenum::GL_COLOR_ATTACHMENT8: // fall-through...
case GLenum::GL_COLOR_ATTACHMENT9: // fall-through...
case GLenum::GL_DEPTH_STENCIL_ATTACHMENT: {
uint32_t l_minRequiredVersion_561_major = 3;
uint32_t l_minRequiredVersion_561_minor = 0;
break;
}
}
switch (renderbuffer_target) {
case GLenum::GL_RENDERBUFFER: {
break;
}
}
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_564_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_564_result;
uint32_t l_target = /* clang-format off */
/* switch(framebuffer_target) */
/* case GLenum::GL_FRAMEBUFFER: */(((framebuffer_target) == (GLenum::GL_FRAMEBUFFER))) ? (GLenum::GL_DRAW_FRAMEBUFFER) :
/* case GLenum::GL_DRAW_FRAMEBUFFER: */(((framebuffer_target) == (GLenum::GL_DRAW_FRAMEBUFFER))) ? (GLenum::GL_DRAW_FRAMEBUFFER) :
/* case GLenum::GL_READ_FRAMEBUFFER: */(((framebuffer_target) == (GLenum::GL_READ_FRAMEBUFFER))) ? (GLenum::GL_READ_FRAMEBUFFER) :
/* default: */ 0 /* clang-format on */;
FramebufferId l_framebufferId = l_ctx->mBoundFramebuffers[l_target];
std::shared_ptr<Framebuffer> l_framebuffer =
l_ctx->mInstances.mFramebuffers[l_framebufferId];
FramebufferAttachmentInfo l_attachment =
l_framebuffer->mAttachments[framebuffer_attachment];
if (renderbuffer == (RenderbufferId)(0)) {
l_attachment.mType = GLenum::GL_NONE;
} else {
l_attachment.mType = GLenum::GL_RENDERBUFFER;
}
l_attachment.mObject = (uint32_t)(renderbuffer);
l_attachment.mTextureLevel = (GLint)(0);
l_attachment.mCubeMapFace = GLenum::GL_TEXTURE_CUBE_MAP_POSITIVE_X;
l_framebuffer->mAttachments[framebuffer_attachment] = l_attachment;
observe(observations.mReads);
mImports.glFramebufferRenderbuffer(framebuffer_target, framebuffer_attachment,
renderbuffer_target, renderbuffer);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlFramebufferRenderbuffer coder(observations, framebuffer_target,
framebuffer_attachment, renderbuffer_target,
renderbuffer);
mEncoder->Object(&coder);
}
inline void GlesSpy::glFramebufferTexture2D(uint32_t framebuffer_target,
uint32_t framebuffer_attachment,
uint32_t texture_target, uint32_t texture,
int32_t level) {
GAPID_INFO("glFramebufferTexture2D(%u, %u, %u, %" PRIu32 ", %" PRId32 ")\n", framebuffer_target,
framebuffer_attachment, texture_target, texture, level);
Observations observations;
do {
uint32_t l_minRequiredVersion_565_major = 2;
uint32_t l_minRequiredVersion_565_minor = 0;
switch (framebuffer_target) {
case GLenum::GL_FRAMEBUFFER: {
break;
}
case GLenum::GL_DRAW_FRAMEBUFFER: // fall-through...
case GLenum::GL_READ_FRAMEBUFFER: {
uint32_t l_minRequiredVersion_566_major = 3;
uint32_t l_minRequiredVersion_566_minor = 0;
break;
}
}
switch (framebuffer_attachment) {
case GLenum::GL_COLOR_ATTACHMENT0: // fall-through...
case GLenum::GL_DEPTH_ATTACHMENT: // fall-through...
case GLenum::GL_STENCIL_ATTACHMENT: {
break;
}
case GLenum::GL_COLOR_ATTACHMENT1: // fall-through...
case GLenum::GL_COLOR_ATTACHMENT10: // fall-through...
case GLenum::GL_COLOR_ATTACHMENT11: // fall-through...
case GLenum::GL_COLOR_ATTACHMENT12: // fall-through...
case GLenum::GL_COLOR_ATTACHMENT13: // fall-through...
case GLenum::GL_COLOR_ATTACHMENT14: // fall-through...
case GLenum::GL_COLOR_ATTACHMENT15: // fall-through...
case GLenum::GL_COLOR_ATTACHMENT2: // fall-through...
case GLenum::GL_COLOR_ATTACHMENT3: // fall-through...
case GLenum::GL_COLOR_ATTACHMENT4: // fall-through...
case GLenum::GL_COLOR_ATTACHMENT5: // fall-through...
case GLenum::GL_COLOR_ATTACHMENT6: // fall-through...
case GLenum::GL_COLOR_ATTACHMENT7: // fall-through...
case GLenum::GL_COLOR_ATTACHMENT8: // fall-through...
case GLenum::GL_COLOR_ATTACHMENT9: // fall-through...
case GLenum::GL_DEPTH_STENCIL_ATTACHMENT: {
uint32_t l_minRequiredVersion_568_major = 3;
uint32_t l_minRequiredVersion_568_minor = 0;
break;
}
}
switch (texture_target) {
case GLenum::GL_TEXTURE_2D: // fall-through...
case GLenum::GL_TEXTURE_CUBE_MAP_NEGATIVE_X: // fall-through...
case GLenum::GL_TEXTURE_CUBE_MAP_NEGATIVE_Y: // fall-through...
case GLenum::GL_TEXTURE_CUBE_MAP_NEGATIVE_Z: // fall-through...
case GLenum::GL_TEXTURE_CUBE_MAP_POSITIVE_X: // fall-through...
case GLenum::GL_TEXTURE_CUBE_MAP_POSITIVE_Y: // fall-through...
case GLenum::GL_TEXTURE_CUBE_MAP_POSITIVE_Z: {
break;
}
case GLenum::GL_TEXTURE_2D_MULTISAMPLE: {
uint32_t l_minRequiredVersion_570_major = 3;
uint32_t l_minRequiredVersion_570_minor = 1;
break;
}
}
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_572_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_572_result;
uint32_t l_target = /* clang-format off */
/* switch(framebuffer_target) */
/* case GLenum::GL_FRAMEBUFFER: */(((framebuffer_target) == (GLenum::GL_FRAMEBUFFER))) ? (GLenum::GL_DRAW_FRAMEBUFFER) :
/* case GLenum::GL_DRAW_FRAMEBUFFER: */(((framebuffer_target) == (GLenum::GL_DRAW_FRAMEBUFFER))) ? (GLenum::GL_DRAW_FRAMEBUFFER) :
/* case GLenum::GL_READ_FRAMEBUFFER: */(((framebuffer_target) == (GLenum::GL_READ_FRAMEBUFFER))) ? (GLenum::GL_READ_FRAMEBUFFER) :
/* default: */ 0 /* clang-format on */;
FramebufferId l_framebufferId = l_ctx->mBoundFramebuffers[l_target];
std::shared_ptr<Framebuffer> l_framebuffer =
l_ctx->mInstances.mFramebuffers[l_framebufferId];
FramebufferAttachmentInfo l_attachment =
l_framebuffer->mAttachments[framebuffer_attachment];
if (texture == (TextureId)(0)) {
l_attachment.mType = GLenum::GL_NONE;
l_attachment.mObject = 0;
l_attachment.mTextureLevel = (GLint)(0);
l_attachment.mCubeMapFace = GLenum::GL_TEXTURE_CUBE_MAP_POSITIVE_X;
} else {
l_attachment.mType = GLenum::GL_TEXTURE;
l_attachment.mObject = (uint32_t)(texture);
l_attachment.mTextureLevel = level;
l_attachment.mCubeMapFace = /* clang-format off */
/* switch(texture_target) */
/* case GLenum::GL_TEXTURE_2D: */(((texture_target) == (GLenum::GL_TEXTURE_2D))) ? (GLenum::GL_TEXTURE_CUBE_MAP_POSITIVE_X) :
/* case GLenum::GL_TEXTURE_CUBE_MAP_POSITIVE_X: */(((texture_target) == (GLenum::GL_TEXTURE_CUBE_MAP_POSITIVE_X))) ? (GLenum::GL_TEXTURE_CUBE_MAP_POSITIVE_X) :
/* case GLenum::GL_TEXTURE_CUBE_MAP_POSITIVE_Y: */(((texture_target) == (GLenum::GL_TEXTURE_CUBE_MAP_POSITIVE_Y))) ? (GLenum::GL_TEXTURE_CUBE_MAP_POSITIVE_Y) :
/* case GLenum::GL_TEXTURE_CUBE_MAP_POSITIVE_Z: */(((texture_target) == (GLenum::GL_TEXTURE_CUBE_MAP_POSITIVE_Z))) ? (GLenum::GL_TEXTURE_CUBE_MAP_POSITIVE_Z) :
/* case GLenum::GL_TEXTURE_CUBE_MAP_NEGATIVE_X: */(((texture_target) == (GLenum::GL_TEXTURE_CUBE_MAP_NEGATIVE_X))) ? (GLenum::GL_TEXTURE_CUBE_MAP_NEGATIVE_X) :
/* case GLenum::GL_TEXTURE_CUBE_MAP_NEGATIVE_Y: */(((texture_target) == (GLenum::GL_TEXTURE_CUBE_MAP_NEGATIVE_Y))) ? (GLenum::GL_TEXTURE_CUBE_MAP_NEGATIVE_Y) :
/* case GLenum::GL_TEXTURE_CUBE_MAP_NEGATIVE_Z: */(((texture_target) == (GLenum::GL_TEXTURE_CUBE_MAP_NEGATIVE_Z))) ? (GLenum::GL_TEXTURE_CUBE_MAP_NEGATIVE_Z) :
/* default: */ 0 /* clang-format on */;
}
l_framebuffer->mAttachments[framebuffer_attachment] = l_attachment;
observe(observations.mReads);
mImports.glFramebufferTexture2D(framebuffer_target, framebuffer_attachment, texture_target,
texture, level);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlFramebufferTexture2D coder(observations, framebuffer_target,
framebuffer_attachment, texture_target,
texture, level);
mEncoder->Object(&coder);
}
inline void GlesSpy::glFramebufferTextureLayer(uint32_t target, uint32_t attachment,
uint32_t texture, int32_t level, int32_t layer) {
GAPID_INFO("glFramebufferTextureLayer(%u, %u, %" PRIu32 ", %" PRId32 ", %" PRId32 ")\n", target,
attachment, texture, level, layer);
Observations observations;
do {
uint32_t l_minRequiredVersion_573_major = 3;
uint32_t l_minRequiredVersion_573_minor = 0;
switch (target) {
case GLenum::GL_DRAW_FRAMEBUFFER: // fall-through...
case GLenum::GL_FRAMEBUFFER: // fall-through...
case GLenum::GL_READ_FRAMEBUFFER: {
break;
}
}
switch (attachment) {
case GLenum::GL_COLOR_ATTACHMENT0: // fall-through...
case GLenum::GL_COLOR_ATTACHMENT1: // fall-through...
case GLenum::GL_COLOR_ATTACHMENT10: // fall-through...
case GLenum::GL_COLOR_ATTACHMENT11: // fall-through...
case GLenum::GL_COLOR_ATTACHMENT12: // fall-through...
case GLenum::GL_COLOR_ATTACHMENT13: // fall-through...
case GLenum::GL_COLOR_ATTACHMENT14: // fall-through...
case GLenum::GL_COLOR_ATTACHMENT15: // fall-through...
case GLenum::GL_COLOR_ATTACHMENT2: // fall-through...
case GLenum::GL_COLOR_ATTACHMENT3: // fall-through...
case GLenum::GL_COLOR_ATTACHMENT4: // fall-through...
case GLenum::GL_COLOR_ATTACHMENT5: // fall-through...
case GLenum::GL_COLOR_ATTACHMENT6: // fall-through...
case GLenum::GL_COLOR_ATTACHMENT7: // fall-through...
case GLenum::GL_COLOR_ATTACHMENT8: // fall-through...
case GLenum::GL_COLOR_ATTACHMENT9: // fall-through...
case GLenum::GL_DEPTH_ATTACHMENT: // fall-through...
case GLenum::GL_DEPTH_STENCIL_ATTACHMENT: // fall-through...
case GLenum::GL_STENCIL_ATTACHMENT: {
break;
}
}
observe(observations.mReads);
mImports.glFramebufferTextureLayer(target, attachment, texture, level, layer);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlFramebufferTextureLayer coder(observations, target, attachment, texture,
level, layer);
mEncoder->Object(&coder);
}
inline void GlesSpy::glGenFramebuffers(int32_t count, uint32_t* framebuffers) {
GAPID_INFO("glGenFramebuffers(%" PRId32 ", %p)\n", count, framebuffers);
Observations observations;
do {
uint32_t l_minRequiredVersion_576_major = 2;
uint32_t l_minRequiredVersion_576_minor = 0;
Slice<FramebufferId> l_f = slice(framebuffers, (uint64_t)((GLsizei)(0)), (uint64_t)(count));
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_577_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_577_result;
observe(observations.mReads);
mImports.glGenFramebuffers(count, framebuffers);
for (GLsizei l_i = (GLsizei)(0); l_i < count; ++l_i) {
FramebufferId l_id = (FramebufferId)(slice(framebuffers, (uint64_t)((GLsizei)(0)),
(uint64_t)(count))[(uint64_t)(l_i)]);
l_ctx->mInstances.mFramebuffers[l_id] =
std::shared_ptr<Framebuffer>((new Framebuffer()));
write(l_f, (uint64_t)(l_i), l_id);
}
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGenFramebuffers coder(
observations, count, gapic::coder::gles::FramebufferId__P(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(framebuffers), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGenRenderbuffers(int32_t count, uint32_t* renderbuffers) {
GAPID_INFO("glGenRenderbuffers(%" PRId32 ", %p)\n", count, renderbuffers);
Observations observations;
do {
uint32_t l_minRequiredVersion_578_major = 2;
uint32_t l_minRequiredVersion_578_minor = 0;
Slice<RenderbufferId> l_r =
slice(renderbuffers, (uint64_t)((GLsizei)(0)), (uint64_t)(count));
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_579_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_579_result;
observe(observations.mReads);
mImports.glGenRenderbuffers(count, renderbuffers);
for (GLsizei l_i = (GLsizei)(0); l_i < count; ++l_i) {
RenderbufferId l_id = (RenderbufferId)(slice(renderbuffers, (uint64_t)((GLsizei)(0)),
(uint64_t)(count))[(uint64_t)(l_i)]);
l_ctx->mInstances.mRenderbuffers[l_id] =
std::shared_ptr<Renderbuffer>((new Renderbuffer()));
write(l_r, (uint64_t)(l_i), l_id);
}
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGenRenderbuffers coder(
observations, count,
gapic::coder::gles::RenderbufferId__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(renderbuffers), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetFramebufferAttachmentParameteriv(uint32_t framebuffer_target,
uint32_t attachment, uint32_t parameter,
int32_t* value) {
GAPID_INFO("glGetFramebufferAttachmentParameteriv(%u, %u, %u, %p)\n", framebuffer_target,
attachment, parameter, value);
Observations observations;
do {
uint32_t l_minRequiredVersion_580_major = 2;
uint32_t l_minRequiredVersion_580_minor = 0;
switch (framebuffer_target) {
case GLenum::GL_FRAMEBUFFER: {
break;
}
case GLenum::GL_DRAW_FRAMEBUFFER: // fall-through...
case GLenum::GL_READ_FRAMEBUFFER: {
uint32_t l_minRequiredVersion_581_major = 3;
uint32_t l_minRequiredVersion_581_minor = 0;
break;
}
}
switch (attachment) {
case GLenum::GL_COLOR_ATTACHMENT0: // fall-through...
case GLenum::GL_DEPTH_ATTACHMENT: // fall-through...
case GLenum::GL_STENCIL_ATTACHMENT: {
break;
}
case GLenum::GL_BACK: // fall-through...
case GLenum::GL_COLOR_ATTACHMENT1: // fall-through...
case GLenum::GL_COLOR_ATTACHMENT10: // fall-through...
case GLenum::GL_COLOR_ATTACHMENT11: // fall-through...
case GLenum::GL_COLOR_ATTACHMENT12: // fall-through...
case GLenum::GL_COLOR_ATTACHMENT13: // fall-through...
case GLenum::GL_COLOR_ATTACHMENT14: // fall-through...
case GLenum::GL_COLOR_ATTACHMENT15: // fall-through...
case GLenum::GL_COLOR_ATTACHMENT2: // fall-through...
case GLenum::GL_COLOR_ATTACHMENT3: // fall-through...
case GLenum::GL_COLOR_ATTACHMENT4: // fall-through...
case GLenum::GL_COLOR_ATTACHMENT5: // fall-through...
case GLenum::GL_COLOR_ATTACHMENT6: // fall-through...
case GLenum::GL_COLOR_ATTACHMENT7: // fall-through...
case GLenum::GL_COLOR_ATTACHMENT8: // fall-through...
case GLenum::GL_COLOR_ATTACHMENT9: // fall-through...
case GLenum::GL_DEPTH: // fall-through...
case GLenum::GL_DEPTH_STENCIL_ATTACHMENT: // fall-through...
case GLenum::GL_STENCIL: {
uint32_t l_minRequiredVersion_583_major = 3;
uint32_t l_minRequiredVersion_583_minor = 0;
break;
}
}
switch (parameter) {
case GLenum::GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME: // fall-through...
case GLenum::GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE: // fall-through...
case GLenum::GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE: // fall-through...
case GLenum::GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL: {
break;
}
case GLenum::GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE: // fall-through...
case GLenum::GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE: // fall-through...
case GLenum::GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING: // fall-through...
case GLenum::GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE: // fall-through...
case GLenum::GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE: // fall-through...
case GLenum::GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE: // fall-through...
case GLenum::GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE: // fall-through...
case GLenum::GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE: // fall-through...
case GLenum::GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER: {
uint32_t l_minRequiredVersion_585_major = 3;
uint32_t l_minRequiredVersion_585_minor = 0;
break;
}
}
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_587_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_587_result;
uint32_t l_target = /* clang-format off */
/* switch(framebuffer_target) */
/* case GLenum::GL_FRAMEBUFFER: */(((framebuffer_target) == (GLenum::GL_FRAMEBUFFER))) ? (GLenum::GL_DRAW_FRAMEBUFFER) :
/* case GLenum::GL_DRAW_FRAMEBUFFER: */(((framebuffer_target) == (GLenum::GL_DRAW_FRAMEBUFFER))) ? (GLenum::GL_DRAW_FRAMEBUFFER) :
/* case GLenum::GL_READ_FRAMEBUFFER: */(((framebuffer_target) == (GLenum::GL_READ_FRAMEBUFFER))) ? (GLenum::GL_READ_FRAMEBUFFER) :
/* default: */ 0 /* clang-format on */;
FramebufferId l_framebufferId = l_ctx->mBoundFramebuffers[l_target];
std::shared_ptr<Framebuffer> l_framebuffer =
l_ctx->mInstances.mFramebuffers[l_framebufferId];
FramebufferAttachmentInfo l_a = l_framebuffer->mAttachments[attachment];
observe(observations.mReads);
mImports.glGetFramebufferAttachmentParameteriv(framebuffer_target, attachment, parameter,
value);
write(slice(value, 0, 1), 0, /* clang-format off */
/* switch(parameter) */
/* case GLenum::GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE: */(((parameter) == (GLenum::GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE))) ? ((GLint)(l_a.mType)) :
/* case GLenum::GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME: */(((parameter) == (GLenum::GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME))) ? ((GLint)(l_a.mObject)) :
/* case GLenum::GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL: */(((parameter) == (GLenum::GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL))) ? (l_a.mTextureLevel) :
/* case GLenum::GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE: */(((parameter) == (GLenum::GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE))) ? ((GLint)(l_a.mCubeMapFace)) :
/* default: */ 0 /* clang-format on */);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetFramebufferAttachmentParameteriv coder(
observations, framebuffer_target, attachment, parameter,
gapic::coder::gles::GLint__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(value), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetFramebufferParameteriv(uint32_t target, uint32_t pname, int32_t* params) {
GAPID_INFO("glGetFramebufferParameteriv(%u, %u, %p)\n", target, pname, params);
Observations observations;
do {
uint32_t l_minRequiredVersion_588_major = 3;
uint32_t l_minRequiredVersion_588_minor = 1;
switch (target) {
case GLenum::GL_DRAW_FRAMEBUFFER: // fall-through...
case GLenum::GL_FRAMEBUFFER: // fall-through...
case GLenum::GL_READ_FRAMEBUFFER: {
break;
}
}
switch (pname) {
case GLenum::GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS: // fall-through...
case GLenum::GL_FRAMEBUFFER_DEFAULT_HEIGHT: // fall-through...
case GLenum::GL_FRAMEBUFFER_DEFAULT_SAMPLES: // fall-through...
case GLenum::GL_FRAMEBUFFER_DEFAULT_WIDTH: {
break;
}
}
observe(observations.mReads);
mImports.glGetFramebufferParameteriv(target, pname, params);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetFramebufferParameteriv coder(
observations, target, pname, gapic::coder::gles::GLint__P(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(params), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetRenderbufferParameteriv(uint32_t target, uint32_t parameter,
int32_t* values) {
GAPID_INFO("glGetRenderbufferParameteriv(%u, %u, %p)\n", target, parameter, values);
Observations observations;
do {
uint32_t l_minRequiredVersion_591_major = 2;
uint32_t l_minRequiredVersion_591_minor = 0;
switch (target) {
case GLenum::GL_RENDERBUFFER: {
break;
}
}
switch (parameter) {
case GLenum::GL_RENDERBUFFER_ALPHA_SIZE: // fall-through...
case GLenum::GL_RENDERBUFFER_BLUE_SIZE: // fall-through...
case GLenum::GL_RENDERBUFFER_DEPTH_SIZE: // fall-through...
case GLenum::GL_RENDERBUFFER_GREEN_SIZE: // fall-through...
case GLenum::GL_RENDERBUFFER_HEIGHT: // fall-through...
case GLenum::GL_RENDERBUFFER_INTERNAL_FORMAT: // fall-through...
case GLenum::GL_RENDERBUFFER_RED_SIZE: // fall-through...
case GLenum::GL_RENDERBUFFER_STENCIL_SIZE: // fall-through...
case GLenum::GL_RENDERBUFFER_WIDTH: {
break;
}
case GLenum::GL_RENDERBUFFER_SAMPLES: {
uint32_t l_minRequiredVersion_593_major = 3;
uint32_t l_minRequiredVersion_593_minor = 0;
break;
}
}
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_595_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_595_result;
RenderbufferId l_id = l_ctx->mBoundRenderbuffers[target];
std::shared_ptr<Renderbuffer> l_rb = l_ctx->mInstances.mRenderbuffers[l_id];
observe(observations.mReads);
mImports.glGetRenderbufferParameteriv(target, parameter, values);
write(slice(values, 0, 1), 0, /* clang-format off */
/* switch(parameter) */
/* case GLenum::GL_RENDERBUFFER_WIDTH: */(((parameter) == (GLenum::GL_RENDERBUFFER_WIDTH))) ? ((GLint)(l_rb->mWidth)) :
/* case GLenum::GL_RENDERBUFFER_HEIGHT: */(((parameter) == (GLenum::GL_RENDERBUFFER_HEIGHT))) ? ((GLint)(l_rb->mHeight)) :
/* case GLenum::GL_RENDERBUFFER_INTERNAL_FORMAT: */(((parameter) == (GLenum::GL_RENDERBUFFER_INTERNAL_FORMAT))) ? ((GLint)(l_rb->mFormat)) :
/* default: */ 0 /* clang-format on */);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetRenderbufferParameteriv coder(
observations, target, parameter,
gapic::coder::gles::GLint__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(values), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glInvalidateFramebuffer(uint32_t target, int32_t count,
uint32_t* attachments) {
GAPID_INFO("glInvalidateFramebuffer(%u, %" PRId32 ", %p)\n", target, count, attachments);
Observations observations;
do {
uint32_t l_minRequiredVersion_596_major = 3;
uint32_t l_minRequiredVersion_596_minor = 0;
switch (target) {
case GLenum::GL_FRAMEBUFFER: {
break;
}
}
observe(observations.mReads);
mImports.glInvalidateFramebuffer(target, count, attachments);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlInvalidateFramebuffer coder(
observations, target, count,
gapic::coder::gles::GLenum__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(attachments), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glInvalidateSubFramebuffer(uint32_t target, int32_t numAttachments,
uint32_t* attachments, int32_t x, int32_t y,
int32_t width, int32_t height) {
GAPID_INFO("glInvalidateSubFramebuffer(%u, %" PRId32 ", %p, %" PRId32 ", %" PRId32 ", %" PRId32
", %" PRId32 ")\n",
target, numAttachments, attachments, x, y, width, height);
Observations observations;
do {
uint32_t l_minRequiredVersion_598_major = 3;
uint32_t l_minRequiredVersion_598_minor = 0;
switch (target) {
case GLenum::GL_FRAMEBUFFER: {
break;
}
}
observe(observations.mReads);
mImports.glInvalidateSubFramebuffer(target, numAttachments, attachments, x, y, width,
height);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlInvalidateSubFramebuffer coder(
observations, target, numAttachments,
gapic::coder::gles::GLenum__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(attachments), 0)),
x, y, width, height);
mEncoder->Object(&coder);
}
inline uint8_t GlesSpy::glIsFramebuffer(uint32_t framebuffer) {
GAPID_INFO("glIsFramebuffer(%" PRIu32 ")\n", framebuffer);
uint8_t result = 0;
Observations observations;
do {
uint32_t l_minRequiredVersion_600_major = 2;
uint32_t l_minRequiredVersion_600_minor = 0;
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_601_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_601_result;
observe(observations.mReads);
result = mImports.glIsFramebuffer(framebuffer);
break;
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlIsFramebuffer coder(observations, framebuffer, result);
mEncoder->Object(&coder);
return result;
}
inline uint8_t GlesSpy::glIsRenderbuffer(uint32_t renderbuffer) {
GAPID_INFO("glIsRenderbuffer(%" PRIu32 ")\n", renderbuffer);
uint8_t result = 0;
Observations observations;
do {
uint32_t l_minRequiredVersion_602_major = 2;
uint32_t l_minRequiredVersion_602_minor = 0;
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_603_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_603_result;
observe(observations.mReads);
result = mImports.glIsRenderbuffer(renderbuffer);
break;
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlIsRenderbuffer coder(observations, renderbuffer, result);
mEncoder->Object(&coder);
return result;
}
inline void GlesSpy::glReadBuffer(uint32_t src) {
GAPID_INFO("glReadBuffer(%u)\n", src);
Observations observations;
do {
uint32_t l_minRequiredVersion_604_major = 3;
uint32_t l_minRequiredVersion_604_minor = 0;
switch (src) {
case GLenum::GL_BACK: // fall-through...
case GLenum::GL_COLOR_ATTACHMENT0: // fall-through...
case GLenum::GL_COLOR_ATTACHMENT1: // fall-through...
case GLenum::GL_COLOR_ATTACHMENT10: // fall-through...
case GLenum::GL_COLOR_ATTACHMENT11: // fall-through...
case GLenum::GL_COLOR_ATTACHMENT12: // fall-through...
case GLenum::GL_COLOR_ATTACHMENT13: // fall-through...
case GLenum::GL_COLOR_ATTACHMENT14: // fall-through...
case GLenum::GL_COLOR_ATTACHMENT15: // fall-through...
case GLenum::GL_COLOR_ATTACHMENT2: // fall-through...
case GLenum::GL_COLOR_ATTACHMENT3: // fall-through...
case GLenum::GL_COLOR_ATTACHMENT4: // fall-through...
case GLenum::GL_COLOR_ATTACHMENT5: // fall-through...
case GLenum::GL_COLOR_ATTACHMENT6: // fall-through...
case GLenum::GL_COLOR_ATTACHMENT7: // fall-through...
case GLenum::GL_COLOR_ATTACHMENT8: // fall-through...
case GLenum::GL_COLOR_ATTACHMENT9: // fall-through...
case GLenum::GL_NONE: {
break;
}
}
observe(observations.mReads);
mImports.glReadBuffer(src);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlReadBuffer coder(observations, src);
mEncoder->Object(&coder);
}
inline void GlesSpy::glReadPixels(int32_t x, int32_t y, int32_t width, int32_t height,
uint32_t format, uint32_t type, void* data) {
GAPID_INFO("glReadPixels(%" PRId32 ", %" PRId32 ", %" PRId32 ", %" PRId32 ", %u, %u, %p)\n", x,
y, width, height, format, type, data);
Observations observations;
do {
uint32_t l_minRequiredVersion_606_major = 2;
uint32_t l_minRequiredVersion_606_minor = 0;
switch (format) {
case GLenum::GL_ALPHA: // fall-through...
case GLenum::GL_RGB: // fall-through...
case GLenum::GL_RGBA: {
break;
}
case GLenum::GL_LUMINANCE: // fall-through...
case GLenum::GL_LUMINANCE_ALPHA: // fall-through...
case GLenum::GL_RED: // fall-through...
case GLenum::GL_RED_INTEGER: // fall-through...
case GLenum::GL_RG: // fall-through...
case GLenum::GL_RGBA_INTEGER: // fall-through...
case GLenum::GL_RGB_INTEGER: // fall-through...
case GLenum::GL_RG_INTEGER: {
uint32_t l_minRequiredVersion_607_major = 3;
uint32_t l_minRequiredVersion_607_minor = 0;
break;
}
}
switch (type) {
case GLenum::GL_UNSIGNED_BYTE: // fall-through...
case GLenum::GL_UNSIGNED_SHORT_4_4_4_4: // fall-through...
case GLenum::GL_UNSIGNED_SHORT_5_5_5_1: // fall-through...
case GLenum::GL_UNSIGNED_SHORT_5_6_5: {
break;
}
case GLenum::GL_BYTE: // fall-through...
case GLenum::GL_FLOAT: // fall-through...
case GLenum::GL_HALF_FLOAT: // fall-through...
case GLenum::GL_INT: // fall-through...
case GLenum::GL_UNSIGNED_INT: // fall-through...
case GLenum::GL_UNSIGNED_INT_10F_11F_11F_REV: // fall-through...
case GLenum::GL_UNSIGNED_INT_2_10_10_10_REV: // fall-through...
case GLenum::GL_UNSIGNED_INT_5_9_9_9_REV: {
uint32_t l_minRequiredVersion_609_major = 3;
uint32_t l_minRequiredVersion_609_minor = 0;
break;
}
}
observe(observations.mReads);
mImports.glReadPixels(x, y, width, height, format, type, data);
write(slice(data, (uint64_t)(0),
(uint64_t)(imageSize((uint32_t)(width), (uint32_t)(height), format, type))));
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlReadPixels coder(
observations, x, y, width, height, format, type,
gapic::coder::gles::Void__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(data), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glRenderbufferStorage(uint32_t target, uint32_t format, int32_t width,
int32_t height) {
GAPID_INFO("glRenderbufferStorage(%u, %u, %" PRId32 ", %" PRId32 ")\n", target, format, width,
height);
Observations observations;
do {
uint32_t l_minRequiredVersion_611_major = 2;
uint32_t l_minRequiredVersion_611_minor = 0;
switch (target) {
case GLenum::GL_RENDERBUFFER: {
break;
}
}
switch (format) {
case GLenum::GL_DEPTH_COMPONENT16: // fall-through...
case GLenum::GL_RGB565: // fall-through...
case GLenum::GL_RGB5_A1: // fall-through...
case GLenum::GL_RGBA4: // fall-through...
case GLenum::GL_STENCIL_INDEX8: {
break;
}
case GLenum::GL_DEPTH24_STENCIL8: // fall-through...
case GLenum::GL_DEPTH32F_STENCIL8: // fall-through...
case GLenum::GL_DEPTH_COMPONENT24: // fall-through...
case GLenum::GL_DEPTH_COMPONENT32F: // fall-through...
case GLenum::GL_R16I: // fall-through...
case GLenum::GL_R16UI: // fall-through...
case GLenum::GL_R32I: // fall-through...
case GLenum::GL_R32UI: // fall-through...
case GLenum::GL_R8: // fall-through...
case GLenum::GL_R8I: // fall-through...
case GLenum::GL_R8UI: // fall-through...
case GLenum::GL_RG16I: // fall-through...
case GLenum::GL_RG16UI: // fall-through...
case GLenum::GL_RG32I: // fall-through...
case GLenum::GL_RG32UI: // fall-through...
case GLenum::GL_RG8: // fall-through...
case GLenum::GL_RG8I: // fall-through...
case GLenum::GL_RG8UI: // fall-through...
case GLenum::GL_RGB10_A2: // fall-through...
case GLenum::GL_RGB10_A2UI: // fall-through...
case GLenum::GL_RGB8: // fall-through...
case GLenum::GL_RGBA16I: // fall-through...
case GLenum::GL_RGBA16UI: // fall-through...
case GLenum::GL_RGBA32I: // fall-through...
case GLenum::GL_RGBA32UI: // fall-through...
case GLenum::GL_RGBA8: // fall-through...
case GLenum::GL_RGBA8I: // fall-through...
case GLenum::GL_RGBA8UI: // fall-through...
case GLenum::GL_SRGB8_ALPHA8: {
uint32_t l_minRequiredVersion_613_major = 3;
uint32_t l_minRequiredVersion_613_minor = 0;
break;
}
}
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_615_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_615_result;
RenderbufferId l_id = l_ctx->mBoundRenderbuffers[target];
std::shared_ptr<Renderbuffer> l_rb = l_ctx->mInstances.mRenderbuffers[l_id];
l_rb->mFormat = format;
l_rb->mWidth = width;
l_rb->mHeight = height;
observe(observations.mReads);
mImports.glRenderbufferStorage(target, format, width, height);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlRenderbufferStorage coder(observations, target, format, width, height);
mEncoder->Object(&coder);
}
inline void GlesSpy::glRenderbufferStorageMultisample(uint32_t target, int32_t samples,
uint32_t format, int32_t width,
int32_t height) {
GAPID_INFO("glRenderbufferStorageMultisample(%u, %" PRId32 ", %u, %" PRId32 ", %" PRId32 ")\n",
target, samples, format, width, height);
Observations observations;
do {
uint32_t l_minRequiredVersion_616_major = 3;
uint32_t l_minRequiredVersion_616_minor = 0;
switch (target) {
case GLenum::GL_RENDERBUFFER: {
break;
}
}
switch (format) {
case GLenum::GL_DEPTH24_STENCIL8: // fall-through...
case GLenum::GL_DEPTH32F_STENCIL8: // fall-through...
case GLenum::GL_DEPTH_COMPONENT16: // fall-through...
case GLenum::GL_DEPTH_COMPONENT24: // fall-through...
case GLenum::GL_DEPTH_COMPONENT32F: // fall-through...
case GLenum::GL_R16I: // fall-through...
case GLenum::GL_R16UI: // fall-through...
case GLenum::GL_R32I: // fall-through...
case GLenum::GL_R32UI: // fall-through...
case GLenum::GL_R8: // fall-through...
case GLenum::GL_R8I: // fall-through...
case GLenum::GL_R8UI: // fall-through...
case GLenum::GL_RG16I: // fall-through...
case GLenum::GL_RG16UI: // fall-through...
case GLenum::GL_RG32I: // fall-through...
case GLenum::GL_RG32UI: // fall-through...
case GLenum::GL_RG8: // fall-through...
case GLenum::GL_RG8I: // fall-through...
case GLenum::GL_RG8UI: // fall-through...
case GLenum::GL_RGB10_A2: // fall-through...
case GLenum::GL_RGB10_A2UI: // fall-through...
case GLenum::GL_RGB565: // fall-through...
case GLenum::GL_RGB5_A1: // fall-through...
case GLenum::GL_RGB8: // fall-through...
case GLenum::GL_RGBA16I: // fall-through...
case GLenum::GL_RGBA16UI: // fall-through...
case GLenum::GL_RGBA32I: // fall-through...
case GLenum::GL_RGBA32UI: // fall-through...
case GLenum::GL_RGBA4: // fall-through...
case GLenum::GL_RGBA8: // fall-through...
case GLenum::GL_RGBA8I: // fall-through...
case GLenum::GL_RGBA8UI: // fall-through...
case GLenum::GL_SRGB8_ALPHA8: // fall-through...
case GLenum::GL_STENCIL_INDEX8: {
break;
}
}
observe(observations.mReads);
mImports.glRenderbufferStorageMultisample(target, samples, format, width, height);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlRenderbufferStorageMultisample coder(observations, target, samples,
format, width, height);
mEncoder->Object(&coder);
}
inline void GlesSpy::glStencilMask(uint32_t mask) {
GAPID_INFO("glStencilMask(%" PRIu32 ")\n", mask);
Observations observations;
do {
uint32_t l_minRequiredVersion_619_major = 2;
uint32_t l_minRequiredVersion_619_minor = 0;
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_620_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_620_result;
l_ctx->mRasterizing.mStencilMask[GLenum::GL_FRONT] = mask;
l_ctx->mRasterizing.mStencilMask[GLenum::GL_BACK] = mask;
observe(observations.mReads);
mImports.glStencilMask(mask);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlStencilMask coder(observations, mask);
mEncoder->Object(&coder);
}
inline void GlesSpy::glStencilMaskSeparate(uint32_t face, uint32_t mask) {
GAPID_INFO("glStencilMaskSeparate(%u, %" PRIu32 ")\n", face, mask);
Observations observations;
do {
uint32_t l_minRequiredVersion_621_major = 2;
uint32_t l_minRequiredVersion_621_minor = 0;
switch (face) {
case GLenum::GL_BACK: // fall-through...
case GLenum::GL_FRONT: // fall-through...
case GLenum::GL_FRONT_AND_BACK: {
break;
}
}
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_623_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_623_result;
switch (face) {
case GLenum::GL_FRONT: {
l_ctx->mRasterizing.mStencilMask[GLenum::GL_FRONT] = mask;
break;
}
case GLenum::GL_BACK: {
l_ctx->mRasterizing.mStencilMask[GLenum::GL_BACK] = mask;
break;
}
case GLenum::GL_FRONT_AND_BACK: {
l_ctx->mRasterizing.mStencilMask[GLenum::GL_FRONT] = mask;
l_ctx->mRasterizing.mStencilMask[GLenum::GL_BACK] = mask;
break;
}
}
observe(observations.mReads);
mImports.glStencilMaskSeparate(face, mask);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlStencilMaskSeparate coder(observations, face, mask);
mEncoder->Object(&coder);
}
inline void GlesSpy::glDisable(uint32_t capability) {
GAPID_INFO("glDisable(%u)\n", capability);
Observations observations;
do {
uint32_t l_minRequiredVersion_624_major = 2;
uint32_t l_minRequiredVersion_624_minor = 0;
switch (capability) {
case GLenum::GL_BLEND: // fall-through...
case GLenum::GL_CULL_FACE: // fall-through...
case GLenum::GL_DEPTH_TEST: // fall-through...
case GLenum::GL_DITHER: // fall-through...
case GLenum::GL_POLYGON_OFFSET_FILL: // fall-through...
case GLenum::GL_SAMPLE_ALPHA_TO_COVERAGE: // fall-through...
case GLenum::GL_SAMPLE_COVERAGE: // fall-through...
case GLenum::GL_SCISSOR_TEST: // fall-through...
case GLenum::GL_STENCIL_TEST: {
break;
}
case GLenum::GL_PRIMITIVE_RESTART_FIXED_INDEX: // fall-through...
case GLenum::GL_RASTERIZER_DISCARD: {
uint32_t l_minRequiredVersion_625_major = 3;
uint32_t l_minRequiredVersion_625_minor = 0;
break;
}
case GLenum::GL_SAMPLE_MASK: {
uint32_t l_minRequiredVersion_626_major = 3;
uint32_t l_minRequiredVersion_626_minor = 1;
break;
}
}
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_628_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_628_result;
l_ctx->mCapabilities[capability] = false;
observe(observations.mReads);
mImports.glDisable(capability);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlDisable coder(observations, capability);
mEncoder->Object(&coder);
}
inline void GlesSpy::glEnable(uint32_t capability) {
GAPID_INFO("glEnable(%u)\n", capability);
Observations observations;
do {
uint32_t l_minRequiredVersion_629_major = 2;
uint32_t l_minRequiredVersion_629_minor = 0;
switch (capability) {
case GLenum::GL_BLEND: // fall-through...
case GLenum::GL_CULL_FACE: // fall-through...
case GLenum::GL_DEPTH_TEST: // fall-through...
case GLenum::GL_DITHER: // fall-through...
case GLenum::GL_POLYGON_OFFSET_FILL: // fall-through...
case GLenum::GL_SAMPLE_ALPHA_TO_COVERAGE: // fall-through...
case GLenum::GL_SAMPLE_COVERAGE: // fall-through...
case GLenum::GL_SCISSOR_TEST: // fall-through...
case GLenum::GL_STENCIL_TEST: {
break;
}
case GLenum::GL_PRIMITIVE_RESTART_FIXED_INDEX: // fall-through...
case GLenum::GL_RASTERIZER_DISCARD: {
uint32_t l_minRequiredVersion_630_major = 3;
uint32_t l_minRequiredVersion_630_minor = 0;
break;
}
case GLenum::GL_SAMPLE_MASK: {
uint32_t l_minRequiredVersion_631_major = 3;
uint32_t l_minRequiredVersion_631_minor = 1;
break;
}
}
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_633_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_633_result;
l_ctx->mCapabilities[capability] = true;
observe(observations.mReads);
mImports.glEnable(capability);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlEnable coder(observations, capability);
mEncoder->Object(&coder);
}
inline void GlesSpy::glFinish() {
GAPID_INFO("glFinish()\n");
Observations observations;
do {
uint32_t l_minRequiredVersion_634_major = 2;
uint32_t l_minRequiredVersion_634_minor = 0;
observe(observations.mReads);
mImports.glFinish();
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlFinish coder(observations);
mEncoder->Object(&coder);
}
inline void GlesSpy::glFlush() {
GAPID_INFO("glFlush()\n");
Observations observations;
do {
uint32_t l_minRequiredVersion_635_major = 2;
uint32_t l_minRequiredVersion_635_minor = 0;
observe(observations.mReads);
mImports.glFlush();
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlFlush coder(observations);
mEncoder->Object(&coder);
}
inline void GlesSpy::glFlushMappedBufferRange(uint32_t target, int32_t offset, int32_t length) {
GAPID_INFO("glFlushMappedBufferRange(%u, %" PRId32 ", %" PRId32 ")\n", target, offset, length);
Observations observations;
do {
uint32_t l_minRequiredVersion_636_major = 3;
uint32_t l_minRequiredVersion_636_minor = 0;
switch (target) {
case GLenum::GL_ARRAY_BUFFER: // fall-through...
case GLenum::GL_COPY_READ_BUFFER: // fall-through...
case GLenum::GL_COPY_WRITE_BUFFER: // fall-through...
case GLenum::GL_ELEMENT_ARRAY_BUFFER: // fall-through...
case GLenum::GL_PIXEL_PACK_BUFFER: // fall-through...
case GLenum::GL_PIXEL_UNPACK_BUFFER: // fall-through...
case GLenum::GL_TRANSFORM_FEEDBACK_BUFFER: // fall-through...
case GLenum::GL_UNIFORM_BUFFER: {
break;
}
}
observe(observations.mReads);
mImports.glFlushMappedBufferRange(target, offset, length);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlFlushMappedBufferRange coder(observations, target, offset, length);
mEncoder->Object(&coder);
}
inline uint32_t GlesSpy::glGetError() {
GAPID_INFO("glGetError()\n");
uint32_t result = 0;
Observations observations;
do {
uint32_t l_minRequiredVersion_638_major = 2;
uint32_t l_minRequiredVersion_638_minor = 0;
observe(observations.mReads);
result = mImports.glGetError();
break;
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetError coder(observations, result);
mEncoder->Object(&coder);
return result;
}
inline void GlesSpy::glHint(uint32_t target, uint32_t mode) {
GAPID_INFO("glHint(%u, %u)\n", target, mode);
Observations observations;
do {
uint32_t l_minRequiredVersion_639_major = 2;
uint32_t l_minRequiredVersion_639_minor = 0;
switch (target) {
case GLenum::GL_GENERATE_MIPMAP_HINT: {
break;
}
case GLenum::GL_FRAGMENT_SHADER_DERIVATIVE_HINT: {
uint32_t l_minRequiredVersion_640_major = 3;
uint32_t l_minRequiredVersion_640_minor = 0;
break;
}
}
switch (mode) {
case GLenum::GL_DONT_CARE: // fall-through...
case GLenum::GL_FASTEST: // fall-through...
case GLenum::GL_NICEST: {
break;
}
}
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_643_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_643_result;
l_ctx->mGenerateMipmapHint = mode;
observe(observations.mReads);
mImports.glHint(target, mode);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlHint coder(observations, target, mode);
mEncoder->Object(&coder);
}
inline void GlesSpy::glActiveShaderProgram(uint32_t pipeline, uint32_t program) {
GAPID_INFO("glActiveShaderProgram(%" PRIu32 ", %" PRIu32 ")\n", pipeline, program);
Observations observations;
do {
uint32_t l_minRequiredVersion_644_major = 3;
uint32_t l_minRequiredVersion_644_minor = 1;
observe(observations.mReads);
mImports.glActiveShaderProgram(pipeline, program);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlActiveShaderProgram coder(observations, pipeline, program);
mEncoder->Object(&coder);
}
inline void GlesSpy::glAttachShader(uint32_t program, uint32_t shader) {
GAPID_INFO("glAttachShader(%" PRIu32 ", %" PRIu32 ")\n", program, shader);
Observations observations;
do {
uint32_t l_minRequiredVersion_645_major = 2;
uint32_t l_minRequiredVersion_645_minor = 0;
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_646_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_646_result;
std::shared_ptr<Program> l_p = l_ctx->mInstances.mPrograms[program];
std::shared_ptr<Shader> l_s = l_ctx->mInstances.mShaders[shader];
l_p->mShaders[l_s->mType] = shader;
observe(observations.mReads);
mImports.glAttachShader(program, shader);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlAttachShader coder(observations, program, shader);
mEncoder->Object(&coder);
}
inline void GlesSpy::glBindAttribLocation(uint32_t program, uint32_t location, char* name) {
GAPID_INFO("glBindAttribLocation(%" PRIu32 ", %" PRIu32 ", %s)\n", program, location, name);
Observations observations;
do {
uint32_t l_minRequiredVersion_647_major = 2;
uint32_t l_minRequiredVersion_647_minor = 0;
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_648_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_648_result;
std::shared_ptr<Program> l_p = l_ctx->mInstances.mPrograms[program];
l_p->mAttributeBindings[name] = location;
observe(observations.mReads);
mImports.glBindAttribLocation(program, location, name);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlBindAttribLocation coder(observations, program, location, name);
mEncoder->Object(&coder);
}
inline void GlesSpy::glBindProgramPipeline(uint32_t pipeline) {
GAPID_INFO("glBindProgramPipeline(%" PRIu32 ")\n", pipeline);
Observations observations;
do {
uint32_t l_minRequiredVersion_649_major = 3;
uint32_t l_minRequiredVersion_649_minor = 1;
observe(observations.mReads);
mImports.glBindProgramPipeline(pipeline);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlBindProgramPipeline coder(observations, pipeline);
mEncoder->Object(&coder);
}
inline void GlesSpy::glCompileShader(uint32_t shader) {
GAPID_INFO("glCompileShader(%" PRIu32 ")\n", shader);
Observations observations;
do {
uint32_t l_minRequiredVersion_650_major = 2;
uint32_t l_minRequiredVersion_650_minor = 0;
observe(observations.mReads);
mImports.glCompileShader(shader);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlCompileShader coder(observations, shader);
mEncoder->Object(&coder);
}
inline uint32_t GlesSpy::glCreateProgram() {
GAPID_INFO("glCreateProgram()\n");
uint32_t result = 0;
Observations observations;
do {
uint32_t l_minRequiredVersion_651_major = 2;
uint32_t l_minRequiredVersion_651_minor = 0;
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_652_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_652_result;
observe(observations.mReads);
result = mImports.glCreateProgram();
ProgramId l_id = (ProgramId)(result);
l_ctx->mInstances.mPrograms[l_id] = std::shared_ptr<Program>((new Program()));
break;
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlCreateProgram coder(observations, result);
mEncoder->Object(&coder);
return result;
}
inline uint32_t GlesSpy::glCreateShader(uint32_t type) {
GAPID_INFO("glCreateShader(%u)\n", type);
uint32_t result = 0;
Observations observations;
do {
uint32_t l_minRequiredVersion_653_major = 2;
uint32_t l_minRequiredVersion_653_minor = 0;
switch (type) {
case GLenum::GL_FRAGMENT_SHADER: // fall-through...
case GLenum::GL_VERTEX_SHADER: {
break;
}
case GLenum::GL_COMPUTE_SHADER: {
uint32_t l_minRequiredVersion_654_major = 3;
uint32_t l_minRequiredVersion_654_minor = 1;
break;
}
}
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_656_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_656_result;
observe(observations.mReads);
result = mImports.glCreateShader(type);
ShaderId l_id = (ShaderId)(result);
l_ctx->mInstances.mShaders[l_id] = std::shared_ptr<Shader>((new Shader()));
std::shared_ptr<Shader> l_s = l_ctx->mInstances.mShaders[l_id];
l_s->mType = type;
break;
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlCreateShader coder(observations, type, result);
mEncoder->Object(&coder);
return result;
}
inline uint32_t GlesSpy::glCreateShaderProgramv(uint32_t type, int32_t count, char** strings) {
GAPID_INFO("glCreateShaderProgramv(%u, %" PRId32 ", %p)\n", type, count, strings);
uint32_t result = 0;
Observations observations;
do {
uint32_t l_minRequiredVersion_657_major = 3;
uint32_t l_minRequiredVersion_657_minor = 1;
switch (type) {
case GLenum::GL_COMPUTE_SHADER: // fall-through...
case GLenum::GL_FRAGMENT_SHADER: // fall-through...
case GLenum::GL_VERTEX_SHADER: {
break;
}
}
observe(observations.mReads);
result = mImports.glCreateShaderProgramv(type, count, strings);
break;
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlCreateShaderProgramv coder(
observations, type, count,
gapic::coder::gles::GLchar__CP__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(strings), 0)),
result);
mEncoder->Object(&coder);
return result;
}
inline void GlesSpy::glDeleteProgram(uint32_t program) {
GAPID_INFO("glDeleteProgram(%" PRIu32 ")\n", program);
Observations observations;
do {
uint32_t l_minRequiredVersion_659_major = 2;
uint32_t l_minRequiredVersion_659_minor = 0;
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_660_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_660_result;
l_ctx->mInstances.mPrograms[program] = std::shared_ptr<Program>();
observe(observations.mReads);
mImports.glDeleteProgram(program);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlDeleteProgram coder(observations, program);
mEncoder->Object(&coder);
}
inline void GlesSpy::glDeleteProgramPipelines(int32_t n, uint32_t* pipelines) {
GAPID_INFO("glDeleteProgramPipelines(%" PRId32 ", %p)\n", n, pipelines);
Observations observations;
do {
uint32_t l_minRequiredVersion_661_major = 3;
uint32_t l_minRequiredVersion_661_minor = 1;
observe(observations.mReads);
mImports.glDeleteProgramPipelines(n, pipelines);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlDeleteProgramPipelines coder(
observations, n, gapic::coder::gles::PipelineId__CP(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(pipelines), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glDeleteShader(uint32_t shader) {
GAPID_INFO("glDeleteShader(%" PRIu32 ")\n", shader);
Observations observations;
do {
uint32_t l_minRequiredVersion_662_major = 2;
uint32_t l_minRequiredVersion_662_minor = 0;
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_663_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_663_result;
std::shared_ptr<Shader> l_s = l_ctx->mInstances.mShaders[shader];
l_s->mDeletable = true;
l_ctx->mInstances.mShaders[shader] = std::shared_ptr<Shader>();
observe(observations.mReads);
mImports.glDeleteShader(shader);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlDeleteShader coder(observations, shader);
mEncoder->Object(&coder);
}
inline void GlesSpy::glDetachShader(uint32_t program, uint32_t shader) {
GAPID_INFO("glDetachShader(%" PRIu32 ", %" PRIu32 ")\n", program, shader);
Observations observations;
do {
uint32_t l_minRequiredVersion_664_major = 2;
uint32_t l_minRequiredVersion_664_minor = 0;
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_665_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_665_result;
std::shared_ptr<Program> l_p = l_ctx->mInstances.mPrograms[program];
std::shared_ptr<Shader> l_s = l_ctx->mInstances.mShaders[shader];
l_p->mShaders[l_s->mType] = 0;
observe(observations.mReads);
mImports.glDetachShader(program, shader);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlDetachShader coder(observations, program, shader);
mEncoder->Object(&coder);
}
inline void GlesSpy::glDispatchCompute(uint32_t num_groups_x, uint32_t num_groups_y,
uint32_t num_groups_z) {
GAPID_INFO("glDispatchCompute(%" PRIu32 ", %" PRIu32 ", %" PRIu32 ")\n", num_groups_x,
num_groups_y, num_groups_z);
Observations observations;
do {
uint32_t l_minRequiredVersion_666_major = 3;
uint32_t l_minRequiredVersion_666_minor = 1;
observe(observations.mReads);
mImports.glDispatchCompute(num_groups_x, num_groups_y, num_groups_z);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlDispatchCompute coder(observations, num_groups_x, num_groups_y,
num_groups_z);
mEncoder->Object(&coder);
}
inline void GlesSpy::glDispatchComputeIndirect(int32_t indirect) {
GAPID_INFO("glDispatchComputeIndirect(%" PRId32 ")\n", indirect);
Observations observations;
do {
uint32_t l_minRequiredVersion_667_major = 3;
uint32_t l_minRequiredVersion_667_minor = 1;
observe(observations.mReads);
mImports.glDispatchComputeIndirect(indirect);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlDispatchComputeIndirect coder(observations, indirect);
mEncoder->Object(&coder);
}
inline void GlesSpy::glGenProgramPipelines(int32_t n, uint32_t* pipelines) {
GAPID_INFO("glGenProgramPipelines(%" PRId32 ", %p)\n", n, pipelines);
Observations observations;
do {
uint32_t l_minRequiredVersion_668_major = 3;
uint32_t l_minRequiredVersion_668_minor = 1;
observe(observations.mReads);
mImports.glGenProgramPipelines(n, pipelines);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGenProgramPipelines coder(
observations, n, gapic::coder::gles::PipelineId__P(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(pipelines), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetActiveAttrib(uint32_t program, uint32_t location, int32_t buffer_size,
int32_t* buffer_bytes_written, int32_t* vector_count,
uint32_t* type, char* name) {
GAPID_INFO("glGetActiveAttrib(%" PRIu32 ", %" PRIu32 ", %" PRId32 ", %p, %p, %p, %p)\n",
program, location, buffer_size, buffer_bytes_written, vector_count, type, name);
Observations observations;
do {
uint32_t l_minRequiredVersion_669_major = 2;
uint32_t l_minRequiredVersion_669_minor = 0;
observe(observations.mReads);
mImports.glGetActiveAttrib(program, location, buffer_size, buffer_bytes_written,
vector_count, type, name);
if (buffer_bytes_written != nullptr) {
GLsizei l_l = (GLsizei)(slice(buffer_bytes_written, 0, 1)[0]);
write(slice(buffer_bytes_written, 0, 1), 0, l_l);
write(slice(name, (uint64_t)((GLsizei)(0)), (uint64_t)(l_l)));
} else {
write(slice(name, 0, 256));
}
write(slice(vector_count, 0, 1), 0, (GLint)(slice(vector_count, 0, 1)[0]));
write(slice(type, 0, 1), 0, (uint32_t)(slice(type, 0, 1)[0]));
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetActiveAttrib coder(
observations, program, location, buffer_size,
gapic::coder::gles::GLsizei__P(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(buffer_bytes_written), 0)),
gapic::coder::gles::GLint__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(vector_count), 0)),
gapic::coder::gles::GLenum__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(type), 0)),
gapic::coder::gles::GLchar__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(name), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetActiveUniform(uint32_t program, uint32_t location, int32_t buffer_size,
int32_t* buffer_bytes_written, int32_t* vector_count,
uint32_t* type, char* name) {
GAPID_INFO("glGetActiveUniform(%" PRIu32 ", %" PRIu32 ", %" PRId32 ", %p, %p, %p, %p)\n",
program, location, buffer_size, buffer_bytes_written, vector_count, type, name);
Observations observations;
do {
uint32_t l_minRequiredVersion_670_major = 2;
uint32_t l_minRequiredVersion_670_minor = 0;
observe(observations.mReads);
mImports.glGetActiveUniform(program, location, buffer_size, buffer_bytes_written,
vector_count, type, name);
if (buffer_bytes_written != nullptr) {
GLsizei l_l = (GLsizei)(slice(buffer_bytes_written, 0, 1)[0]);
write(slice(buffer_bytes_written, 0, 1), 0, l_l);
write(slice(name, (uint64_t)((GLsizei)(0)), (uint64_t)(l_l)));
} else {
write(slice(name, 0, 256));
}
write(slice(vector_count, 0, 1), 0, (GLint)(slice(vector_count, 0, 1)[0]));
write(slice(type, 0, 1), 0, (uint32_t)(slice(type, 0, 1)[0]));
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetActiveUniform coder(
observations, program, location, buffer_size,
gapic::coder::gles::GLsizei__P(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(buffer_bytes_written), 0)),
gapic::coder::gles::GLint__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(vector_count), 0)),
gapic::coder::gles::GLenum__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(type), 0)),
gapic::coder::gles::GLchar__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(name), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetActiveUniformBlockName(uint32_t program, uint32_t uniform_block_index,
int32_t buffer_size, int32_t* buffer_bytes_written,
char* name) {
GAPID_INFO("glGetActiveUniformBlockName(%" PRIu32 ", %" PRIu32 ", %" PRId32 ", %p, %p)\n",
program, uniform_block_index, buffer_size, buffer_bytes_written, name);
Observations observations;
do {
uint32_t l_minRequiredVersion_671_major = 3;
uint32_t l_minRequiredVersion_671_minor = 0;
observe(observations.mReads);
mImports.glGetActiveUniformBlockName(program, uniform_block_index, buffer_size,
buffer_bytes_written, name);
GLsizei l_l = (GLsizei)(slice(buffer_bytes_written, 0, 1)[0]);
write(slice(buffer_bytes_written, 0, 1), 0, l_l);
write(slice(name, (uint64_t)((GLsizei)(0)), (uint64_t)(l_l)));
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetActiveUniformBlockName coder(
observations, program, uniform_block_index, buffer_size,
gapic::coder::gles::GLsizei__P(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(buffer_bytes_written), 0)),
gapic::coder::gles::GLchar__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(name), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetActiveUniformBlockiv(uint32_t program, uint32_t uniform_block_index,
uint32_t parameter_name, int32_t* parameters) {
GAPID_INFO("glGetActiveUniformBlockiv(%" PRIu32 ", %" PRIu32 ", %u, %p)\n", program,
uniform_block_index, parameter_name, parameters);
Observations observations;
do {
uint32_t l_minRequiredVersion_672_major = 3;
uint32_t l_minRequiredVersion_672_minor = 0;
switch (parameter_name) {
case GLenum::GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS: // fall-through...
case GLenum::GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES: // fall-through...
case GLenum::GL_UNIFORM_BLOCK_BINDING: // fall-through...
case GLenum::GL_UNIFORM_BLOCK_DATA_SIZE: // fall-through...
case GLenum::GL_UNIFORM_BLOCK_NAME_LENGTH: // fall-through...
case GLenum::GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER: // fall-through...
case GLenum::GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER: {
break;
}
}
observe(observations.mReads);
mImports.glGetActiveUniformBlockiv(program, uniform_block_index, parameter_name,
parameters);
write(slice(parameters, 0, 1), 0, slice(parameters, 0, 1)[0]);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetActiveUniformBlockiv coder(
observations, program, uniform_block_index, parameter_name,
gapic::coder::gles::GLint__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(parameters), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetActiveUniformsiv(uint32_t program, int32_t uniform_count,
uint32_t* uniform_indices, uint32_t parameter_name,
int32_t* parameters) {
GAPID_INFO("glGetActiveUniformsiv(%" PRIu32 ", %" PRId32 ", %p, %u, %p)\n", program,
uniform_count, uniform_indices, parameter_name, parameters);
Observations observations;
do {
uint32_t l_minRequiredVersion_674_major = 3;
uint32_t l_minRequiredVersion_674_minor = 0;
switch (parameter_name) {
case GLenum::GL_UNIFORM_ARRAY_STRIDE: // fall-through...
case GLenum::GL_UNIFORM_BLOCK_INDEX: // fall-through...
case GLenum::GL_UNIFORM_IS_ROW_MAJOR: // fall-through...
case GLenum::GL_UNIFORM_MATRIX_STRIDE: // fall-through...
case GLenum::GL_UNIFORM_NAME_LENGTH: // fall-through...
case GLenum::GL_UNIFORM_OFFSET: // fall-through...
case GLenum::GL_UNIFORM_SIZE: // fall-through...
case GLenum::GL_UNIFORM_TYPE: {
break;
}
}
read(slice(uniform_indices, (uint64_t)((GLsizei)(0)), (uint64_t)(uniform_count)));
observe(observations.mReads);
mImports.glGetActiveUniformsiv(program, uniform_count, uniform_indices, parameter_name,
parameters);
write(slice(parameters, (uint64_t)((GLsizei)(0)), (uint64_t)(uniform_count)));
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetActiveUniformsiv coder(
observations, program, uniform_count,
gapic::coder::gles::GLuint__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(uniform_indices), 0)),
parameter_name, gapic::coder::gles::GLint__P(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(parameters), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetAttachedShaders(uint32_t program, int32_t buffer_length,
int32_t* shaders_length_written, uint32_t* shaders) {
GAPID_INFO("glGetAttachedShaders(%" PRIu32 ", %" PRId32 ", %p, %p)\n", program, buffer_length,
shaders_length_written, shaders);
Observations observations;
do {
uint32_t l_minRequiredVersion_676_major = 2;
uint32_t l_minRequiredVersion_676_minor = 0;
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_677_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_677_result;
std::shared_ptr<Program> l_p = l_ctx->mInstances.mPrograms[program];
int32_t l_min_678_a = (int32_t)(buffer_length);
int32_t l_min_678_b = int32_t((l_p->mShaders.size()));
int32_t l_min_678_result = /* clang-format off */
/* switch(l_min_678_a < l_min_678_b) */
/* case true: */(((l_min_678_a < l_min_678_b) == (true))) ? (l_min_678_a) :
/* case false: */(((l_min_678_a < l_min_678_b) == (false))) ? (l_min_678_b) :
/* default: */ 0 /* clang-format on */;
int32_t l_l = l_min_678_result;
observe(observations.mReads);
mImports.glGetAttachedShaders(program, buffer_length, shaders_length_written, shaders);
write(slice(shaders_length_written, 0, 1), 0, (GLsizei)(l_l));
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetAttachedShaders coder(
observations, program, buffer_length,
gapic::coder::gles::GLsizei__P(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(shaders_length_written), 0)),
gapic::coder::gles::ShaderId__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(shaders), 0)));
mEncoder->Object(&coder);
}
inline int32_t GlesSpy::glGetAttribLocation(uint32_t program, char* name) {
GAPID_INFO("glGetAttribLocation(%" PRIu32 ", %s)\n", program, name);
int32_t result = 0;
Observations observations;
do {
uint32_t l_minRequiredVersion_679_major = 2;
uint32_t l_minRequiredVersion_679_minor = 0;
observe(observations.mReads);
result = mImports.glGetAttribLocation(program, name);
break;
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetAttribLocation coder(observations, program, name, result);
mEncoder->Object(&coder);
return result;
}
inline int32_t GlesSpy::glGetFragDataLocation(uint32_t program, char* name) {
GAPID_INFO("glGetFragDataLocation(%" PRIu32 ", %p)\n", program, name);
int32_t result = 0;
Observations observations;
do {
uint32_t l_minRequiredVersion_680_major = 3;
uint32_t l_minRequiredVersion_680_minor = 0;
observe(observations.mReads);
result = mImports.glGetFragDataLocation(program, name);
break;
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetFragDataLocation coder(
observations, program, gapic::coder::gles::GLchar__CP(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(name), 0)),
result);
mEncoder->Object(&coder);
return result;
}
inline void GlesSpy::glGetProgramBinary(uint32_t program, int32_t bufSize, int32_t* length,
uint32_t* binaryFormat, void* binary) {
GAPID_INFO("glGetProgramBinary(%" PRIu32 ", %" PRId32 ", %p, %p, %p)\n", program, bufSize,
length, binaryFormat, binary);
Observations observations;
do {
uint32_t l_minRequiredVersion_681_major = 3;
uint32_t l_minRequiredVersion_681_minor = 0;
observe(observations.mReads);
mImports.glGetProgramBinary(program, bufSize, length, binaryFormat, binary);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetProgramBinary coder(
observations, program, bufSize,
gapic::coder::gles::GLsizei__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(length), 0)),
gapic::coder::gles::GLenum__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(binaryFormat), 0)),
gapic::coder::gles::Void__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(binary), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetProgramInfoLog(uint32_t program, int32_t buffer_length,
int32_t* string_length_written, char* info) {
GAPID_INFO("glGetProgramInfoLog(%" PRIu32 ", %" PRId32 ", %p, %p)\n", program, buffer_length,
string_length_written, info);
Observations observations;
do {
uint32_t l_minRequiredVersion_682_major = 2;
uint32_t l_minRequiredVersion_682_minor = 0;
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_683_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_683_result;
std::shared_ptr<Program> l_p = l_ctx->mInstances.mPrograms[program];
int32_t l_min_684_a = (int32_t)(buffer_length);
int32_t l_min_684_b = int32_t((l_p->mInfoLog.count()));
int32_t l_min_684_result = /* clang-format off */
/* switch(l_min_684_a < l_min_684_b) */
/* case true: */(((l_min_684_a < l_min_684_b) == (true))) ? (l_min_684_a) :
/* case false: */(((l_min_684_a < l_min_684_b) == (false))) ? (l_min_684_b) :
/* default: */ 0 /* clang-format on */;
int32_t l_l = l_min_684_result;
Slice<GLchar> copy__dst__ = copy(slice(info, (uint64_t)(0), (uint64_t)(l_l)),
slice(l_p->mInfoLog, (uint64_t)(0), (uint64_t)(l_l)));
observe(observations.mReads);
mImports.glGetProgramInfoLog(program, buffer_length, string_length_written, info);
write(copy__dst__);
write(slice(string_length_written, 0, 1), 0, (GLsizei)(l_l));
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetProgramInfoLog coder(
observations, program, buffer_length,
gapic::coder::gles::GLsizei__P(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(string_length_written), 0)),
gapic::coder::gles::GLchar__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(info), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetProgramInterfaceiv(uint32_t program, uint32_t programInterface,
uint32_t pname, int32_t* params) {
GAPID_INFO("glGetProgramInterfaceiv(%" PRIu32 ", %u, %u, %p)\n", program, programInterface,
pname, params);
Observations observations;
do {
uint32_t l_minRequiredVersion_685_major = 3;
uint32_t l_minRequiredVersion_685_minor = 1;
switch (programInterface) {
case GLenum::GL_ATOMIC_COUNTER_BUFFER: // fall-through...
case GLenum::GL_BUFFER_VARIABLE: // fall-through...
case GLenum::GL_PROGRAM_INPUT: // fall-through...
case GLenum::GL_PROGRAM_OUTPUT: // fall-through...
case GLenum::GL_SHADER_STORAGE_BLOCK: // fall-through...
case GLenum::GL_TRANSFORM_FEEDBACK_BUFFER: // fall-through...
case GLenum::GL_TRANSFORM_FEEDBACK_VARYING: // fall-through...
case GLenum::GL_UNIFORM: // fall-through...
case GLenum::GL_UNIFORM_BLOCK: {
break;
}
}
switch (pname) {
case GLenum::GL_ACTIVE_RESOURCES: // fall-through...
case GLenum::GL_MAX_NAME_LENGTH: // fall-through...
case GLenum::GL_MAX_NUM_ACTIVE_VARIABLES: {
break;
}
}
observe(observations.mReads);
mImports.glGetProgramInterfaceiv(program, programInterface, pname, params);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetProgramInterfaceiv coder(
observations, program, programInterface, pname,
gapic::coder::gles::GLint__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(params), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetProgramPipelineInfoLog(uint32_t pipeline, int32_t bufSize,
int32_t* length, char* infoLog) {
GAPID_INFO("glGetProgramPipelineInfoLog(%" PRIu32 ", %" PRId32 ", %p, %p)\n", pipeline, bufSize,
length, infoLog);
Observations observations;
do {
uint32_t l_minRequiredVersion_688_major = 3;
uint32_t l_minRequiredVersion_688_minor = 1;
observe(observations.mReads);
mImports.glGetProgramPipelineInfoLog(pipeline, bufSize, length, infoLog);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetProgramPipelineInfoLog coder(
observations, pipeline, bufSize,
gapic::coder::gles::GLsizei__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(length), 0)),
gapic::coder::gles::GLchar__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(infoLog), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetProgramPipelineiv(uint32_t pipeline, uint32_t pname, int32_t* params) {
GAPID_INFO("glGetProgramPipelineiv(%" PRIu32 ", %u, %p)\n", pipeline, pname, params);
Observations observations;
do {
uint32_t l_minRequiredVersion_689_major = 3;
uint32_t l_minRequiredVersion_689_minor = 1;
switch (pname) {
case GLenum::GL_ACTIVE_PROGRAM: // fall-through...
case GLenum::GL_COMPUTE_SHADER: // fall-through...
case GLenum::GL_FRAGMENT_SHADER: // fall-through...
case GLenum::GL_INFO_LOG_LENGTH: // fall-through...
case GLenum::GL_VALIDATE_STATUS: // fall-through...
case GLenum::GL_VERTEX_SHADER: {
break;
}
}
observe(observations.mReads);
mImports.glGetProgramPipelineiv(pipeline, pname, params);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetProgramPipelineiv coder(
observations, pipeline, pname,
gapic::coder::gles::GLint__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(params), 0)));
mEncoder->Object(&coder);
}
inline uint32_t GlesSpy::glGetProgramResourceIndex(uint32_t program, uint32_t programInterface,
char* name) {
GAPID_INFO("glGetProgramResourceIndex(%" PRIu32 ", %u, %p)\n", program, programInterface, name);
uint32_t result = 0;
Observations observations;
do {
uint32_t l_minRequiredVersion_691_major = 3;
uint32_t l_minRequiredVersion_691_minor = 1;
switch (programInterface) {
case GLenum::GL_BUFFER_VARIABLE: // fall-through...
case GLenum::GL_PROGRAM_INPUT: // fall-through...
case GLenum::GL_PROGRAM_OUTPUT: // fall-through...
case GLenum::GL_SHADER_STORAGE_BLOCK: // fall-through...
case GLenum::GL_TRANSFORM_FEEDBACK_VARYING: // fall-through...
case GLenum::GL_UNIFORM: // fall-through...
case GLenum::GL_UNIFORM_BLOCK: {
break;
}
}
observe(observations.mReads);
result = mImports.glGetProgramResourceIndex(program, programInterface, name);
break;
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetProgramResourceIndex coder(
observations, program, programInterface,
gapic::coder::gles::GLchar__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(name), 0)),
result);
mEncoder->Object(&coder);
return result;
}
inline int32_t GlesSpy::glGetProgramResourceLocation(uint32_t program, uint32_t programInterface,
char* name) {
GAPID_INFO("glGetProgramResourceLocation(%" PRIu32 ", %u, %p)\n", program, programInterface,
name);
int32_t result = 0;
Observations observations;
do {
uint32_t l_minRequiredVersion_693_major = 3;
uint32_t l_minRequiredVersion_693_minor = 1;
switch (programInterface) {
case GLenum::GL_PROGRAM_INPUT: // fall-through...
case GLenum::GL_PROGRAM_OUTPUT: // fall-through...
case GLenum::GL_TRANSFORM_FEEDBACK_BUFFER: // fall-through...
case GLenum::GL_UNIFORM: {
break;
}
}
observe(observations.mReads);
result = mImports.glGetProgramResourceLocation(program, programInterface, name);
break;
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetProgramResourceLocation coder(
observations, program, programInterface,
gapic::coder::gles::GLchar__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(name), 0)),
result);
mEncoder->Object(&coder);
return result;
}
inline void GlesSpy::glGetProgramResourceName(uint32_t program, uint32_t programInterface,
uint32_t index, int32_t bufSize, int32_t* length,
char* name) {
GAPID_INFO("glGetProgramResourceName(%" PRIu32 ", %u, %" PRIu32 ", %" PRId32 ", %p, %p)\n",
program, programInterface, index, bufSize, length, name);
Observations observations;
do {
uint32_t l_minRequiredVersion_695_major = 3;
uint32_t l_minRequiredVersion_695_minor = 1;
switch (programInterface) {
case GLenum::GL_BUFFER_VARIABLE: // fall-through...
case GLenum::GL_PROGRAM_INPUT: // fall-through...
case GLenum::GL_PROGRAM_OUTPUT: // fall-through...
case GLenum::GL_SHADER_STORAGE_BLOCK: // fall-through...
case GLenum::GL_TRANSFORM_FEEDBACK_VARYING: // fall-through...
case GLenum::GL_UNIFORM: // fall-through...
case GLenum::GL_UNIFORM_BLOCK: {
break;
}
}
observe(observations.mReads);
mImports.glGetProgramResourceName(program, programInterface, index, bufSize, length, name);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetProgramResourceName coder(
observations, program, programInterface, index, bufSize,
gapic::coder::gles::GLsizei__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(length), 0)),
gapic::coder::gles::GLchar__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(name), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetProgramResourceiv(uint32_t program, uint32_t programInterface,
uint32_t index, int32_t propCount, uint32_t* props,
int32_t bufSize, int32_t* length, int32_t* params) {
GAPID_INFO("glGetProgramResourceiv(%" PRIu32 ", %u, %" PRIu32 ", %" PRId32 ", %p, %" PRId32
", %p, %p)\n",
program, programInterface, index, propCount, props, bufSize, length, params);
Observations observations;
do {
uint32_t l_minRequiredVersion_697_major = 3;
uint32_t l_minRequiredVersion_697_minor = 1;
switch (programInterface) {
case GLenum::GL_ATOMIC_COUNTER_BUFFER: // fall-through...
case GLenum::GL_BUFFER_VARIABLE: // fall-through...
case GLenum::GL_PROGRAM_INPUT: // fall-through...
case GLenum::GL_PROGRAM_OUTPUT: // fall-through...
case GLenum::GL_SHADER_STORAGE_BLOCK: // fall-through...
case GLenum::GL_TRANSFORM_FEEDBACK_BUFFER: // fall-through...
case GLenum::GL_TRANSFORM_FEEDBACK_VARYING: // fall-through...
case GLenum::GL_UNIFORM: // fall-through...
case GLenum::GL_UNIFORM_BLOCK: {
break;
}
}
observe(observations.mReads);
mImports.glGetProgramResourceiv(program, programInterface, index, propCount, props, bufSize,
length, params);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetProgramResourceiv coder(
observations, program, programInterface, index, propCount,
gapic::coder::gles::GLenum__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(props), 0)),
bufSize, gapic::coder::gles::GLsizei__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(length), 0)),
gapic::coder::gles::GLint__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(params), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetProgramiv(uint32_t program, uint32_t parameter, int32_t* value) {
GAPID_INFO("glGetProgramiv(%" PRIu32 ", %u, %p)\n", program, parameter, value);
Observations observations;
do {
uint32_t l_minRequiredVersion_699_major = 2;
uint32_t l_minRequiredVersion_699_minor = 0;
switch (parameter) {
case GLenum::GL_ACTIVE_ATTRIBUTES: // fall-through...
case GLenum::GL_ACTIVE_ATTRIBUTE_MAX_LENGTH: // fall-through...
case GLenum::GL_ACTIVE_UNIFORMS: // fall-through...
case GLenum::GL_ACTIVE_UNIFORM_MAX_LENGTH: // fall-through...
case GLenum::GL_ATTACHED_SHADERS: // fall-through...
case GLenum::GL_DELETE_STATUS: // fall-through...
case GLenum::GL_INFO_LOG_LENGTH: // fall-through...
case GLenum::GL_LINK_STATUS: // fall-through...
case GLenum::GL_VALIDATE_STATUS: {
break;
}
case GLenum::GL_ACTIVE_UNIFORM_BLOCKS: // fall-through...
case GLenum::GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH: // fall-through...
case GLenum::GL_PROGRAM_BINARY_RETRIEVABLE_HINT: // fall-through...
case GLenum::GL_TRANSFORM_FEEDBACK_BUFFER_MODE: // fall-through...
case GLenum::GL_TRANSFORM_FEEDBACK_VARYINGS: // fall-through...
case GLenum::GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH: {
uint32_t l_minRequiredVersion_700_major = 3;
uint32_t l_minRequiredVersion_700_minor = 0;
break;
}
case GLenum::GL_ACTIVE_ATOMIC_COUNTER_BUFFERS: // fall-through...
case GLenum::GL_COMPUTE_WORK_GROUP_SIZE: // fall-through...
case GLenum::GL_PROGRAM_SEPARABLE: {
uint32_t l_minRequiredVersion_701_major = 3;
uint32_t l_minRequiredVersion_701_minor = 1;
break;
}
}
observe(observations.mReads);
mImports.glGetProgramiv(program, parameter, value);
write(slice(value, 0, 1), 0, slice(value, 0, 1)[0]);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetProgramiv coder(
observations, program, parameter,
gapic::coder::gles::GLint__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(value), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetShaderInfoLog(uint32_t shader, int32_t buffer_length,
int32_t* string_length_written, char* info) {
GAPID_INFO("glGetShaderInfoLog(%" PRIu32 ", %" PRId32 ", %p, %p)\n", shader, buffer_length,
string_length_written, info);
Observations observations;
do {
uint32_t l_minRequiredVersion_703_major = 2;
uint32_t l_minRequiredVersion_703_minor = 0;
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_704_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_704_result;
std::shared_ptr<Shader> l_s = l_ctx->mInstances.mShaders[shader];
int32_t l_min_705_a = (int32_t)(buffer_length);
int32_t l_min_705_b = int32_t((l_s->mInfoLog.count()));
int32_t l_min_705_result = /* clang-format off */
/* switch(l_min_705_a < l_min_705_b) */
/* case true: */(((l_min_705_a < l_min_705_b) == (true))) ? (l_min_705_a) :
/* case false: */(((l_min_705_a < l_min_705_b) == (false))) ? (l_min_705_b) :
/* default: */ 0 /* clang-format on */;
int32_t l_l = l_min_705_result;
Slice<GLchar> copy__dst__ = copy(slice(info, (uint64_t)(0), (uint64_t)(l_l)),
slice(l_s->mInfoLog, (uint64_t)(0), (uint64_t)(l_l)));
observe(observations.mReads);
mImports.glGetShaderInfoLog(shader, buffer_length, string_length_written, info);
write(copy__dst__);
write(slice(string_length_written, 0, 1), 0, (GLsizei)(l_l));
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetShaderInfoLog coder(
observations, shader, buffer_length,
gapic::coder::gles::GLsizei__P(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(string_length_written), 0)),
gapic::coder::gles::GLchar__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(info), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetShaderPrecisionFormat(uint32_t shader_type, uint32_t precision_type,
int32_t* range, int32_t* precision) {
GAPID_INFO("glGetShaderPrecisionFormat(%u, %u, %p, %p)\n", shader_type, precision_type, range,
precision);
Observations observations;
do {
uint32_t l_minRequiredVersion_706_major = 2;
uint32_t l_minRequiredVersion_706_minor = 0;
switch (shader_type) {
case GLenum::GL_FRAGMENT_SHADER: // fall-through...
case GLenum::GL_VERTEX_SHADER: {
break;
}
}
switch (precision_type) {
case GLenum::GL_HIGH_FLOAT: // fall-through...
case GLenum::GL_HIGH_INT: // fall-through...
case GLenum::GL_LOW_FLOAT: // fall-through...
case GLenum::GL_LOW_INT: // fall-through...
case GLenum::GL_MEDIUM_FLOAT: // fall-through...
case GLenum::GL_MEDIUM_INT: {
break;
}
}
observe(observations.mReads);
mImports.glGetShaderPrecisionFormat(shader_type, precision_type, range, precision);
write(slice(range, 0, 2));
write(slice(precision, 0, 1), 0, slice(precision, 0, 1)[0]);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetShaderPrecisionFormat coder(
observations, shader_type, precision_type,
gapic::coder::gles::GLint__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(range), 0)),
gapic::coder::gles::GLint__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(precision), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetShaderSource(uint32_t shader, int32_t buffer_length,
int32_t* string_length_written, char* source) {
GAPID_INFO("glGetShaderSource(%" PRIu32 ", %" PRId32 ", %p, %p)\n", shader, buffer_length,
string_length_written, source);
Observations observations;
do {
uint32_t l_minRequiredVersion_709_major = 2;
uint32_t l_minRequiredVersion_709_minor = 0;
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_710_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_710_result;
std::shared_ptr<Shader> l_s = l_ctx->mInstances.mShaders[shader];
int32_t l_min_711_a = (int32_t)(buffer_length);
int32_t l_min_711_b = int32_t((l_s->mSource.size()));
int32_t l_min_711_result = /* clang-format off */
/* switch(l_min_711_a < l_min_711_b) */
/* case true: */(((l_min_711_a < l_min_711_b) == (true))) ? (l_min_711_a) :
/* case false: */(((l_min_711_a < l_min_711_b) == (false))) ? (l_min_711_b) :
/* default: */ 0 /* clang-format on */;
int32_t l_l = l_min_711_result;
Slice<char> copy__dst__ = copy(slice((char*)(source), (uint64_t)(0), (uint64_t)(l_l)),
slice(slice(l_s->mSource), (uint64_t)(0), (uint64_t)(l_l)));
observe(observations.mReads);
mImports.glGetShaderSource(shader, buffer_length, string_length_written, source);
write(copy__dst__);
write(slice(string_length_written, 0, 1), 0, (GLsizei)(l_l));
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetShaderSource coder(
observations, shader, buffer_length,
gapic::coder::gles::GLsizei__P(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(string_length_written), 0)),
gapic::coder::gles::GLchar__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(source), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetShaderiv(uint32_t shader, uint32_t parameter, int32_t* value) {
GAPID_INFO("glGetShaderiv(%" PRIu32 ", %u, %p)\n", shader, parameter, value);
Observations observations;
do {
uint32_t l_minRequiredVersion_712_major = 2;
uint32_t l_minRequiredVersion_712_minor = 0;
switch (parameter) {
case GLenum::GL_COMPILE_STATUS: // fall-through...
case GLenum::GL_DELETE_STATUS: // fall-through...
case GLenum::GL_INFO_LOG_LENGTH: // fall-through...
case GLenum::GL_SHADER_SOURCE_LENGTH: // fall-through...
case GLenum::GL_SHADER_TYPE: {
break;
}
}
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_714_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_714_result;
std::shared_ptr<Shader> l_s = l_ctx->mInstances.mShaders[shader];
observe(observations.mReads);
mImports.glGetShaderiv(shader, parameter, value);
write(slice(value, 0, 1), 0, /* clang-format off */
/* switch(parameter) */
/* case GLenum::GL_SHADER_TYPE: */(((parameter) == (GLenum::GL_SHADER_TYPE))) ? ((GLint)(l_s->mType)) :
/* case GLenum::GL_DELETE_STATUS: */(((parameter) == (GLenum::GL_DELETE_STATUS))) ? (/* clang-format off */
/* switch(l_s->mDeletable) */
/* case true: */(((l_s->mDeletable) == (true))) ? ((GLint)(1)) :
/* case false: */(((l_s->mDeletable) == (false))) ? ((GLint)(0)) :
/* default: */ 0 /* clang-format on */)
:
/* case GLenum::GL_COMPILE_STATUS: */ (
((parameter) == (GLenum::GL_COMPILE_STATUS)))
? (/* clang-format off */
/* switch(l_s->mCompiled) */
/* case true: */(((l_s->mCompiled) == (true))) ? ((GLint)(1)) :
/* case false: */(((l_s->mCompiled) == (false))) ? ((GLint)(0)) :
/* default: */ 0 /* clang-format on */)
:
/* case GLenum::GL_INFO_LOG_LENGTH: */ (
((parameter) == (GLenum::GL_INFO_LOG_LENGTH)))
? ((GLint)(int32_t((l_s->mInfoLog.count()))))
:
/* case GLenum::GL_SHADER_SOURCE_LENGTH: */ (
((parameter) ==
(GLenum::GL_SHADER_SOURCE_LENGTH)))
? ((GLint)(int32_t((l_s->mSource.size()))))
:
/* default: */ 0 /* clang-format on */);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetShaderiv coder(
observations, shader, parameter,
gapic::coder::gles::GLint__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(value), 0)));
mEncoder->Object(&coder);
}
inline uint32_t GlesSpy::glGetUniformBlockIndex(uint32_t program, char* uniformBlockName) {
GAPID_INFO("glGetUniformBlockIndex(%" PRIu32 ", %p)\n", program, uniformBlockName);
uint32_t result = 0;
Observations observations;
do {
uint32_t l_minRequiredVersion_715_major = 3;
uint32_t l_minRequiredVersion_715_minor = 0;
observe(observations.mReads);
result = mImports.glGetUniformBlockIndex(program, uniformBlockName);
break;
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetUniformBlockIndex coder(
observations, program, gapic::coder::gles::GLchar__CP(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(uniformBlockName), 0)),
result);
mEncoder->Object(&coder);
return result;
}
inline void GlesSpy::glGetUniformIndices(uint32_t program, int32_t uniformCount,
char** uniformNames, uint32_t* uniformIndices) {
GAPID_INFO("glGetUniformIndices(%" PRIu32 ", %" PRId32 ", %p, %p)\n", program, uniformCount,
uniformNames, uniformIndices);
Observations observations;
do {
uint32_t l_minRequiredVersion_716_major = 3;
uint32_t l_minRequiredVersion_716_minor = 0;
observe(observations.mReads);
mImports.glGetUniformIndices(program, uniformCount, uniformNames, uniformIndices);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetUniformIndices coder(
observations, program, uniformCount,
gapic::coder::gles::GLchar__CP__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(uniformNames), 0)),
gapic::coder::gles::GLuint__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(uniformIndices), 0)));
mEncoder->Object(&coder);
}
inline int32_t GlesSpy::glGetUniformLocation(uint32_t program, char* name) {
GAPID_INFO("glGetUniformLocation(%" PRIu32 ", %s)\n", program, name);
int32_t result = 0;
Observations observations;
do {
uint32_t l_minRequiredVersion_717_major = 2;
uint32_t l_minRequiredVersion_717_minor = 0;
observe(observations.mReads);
result = mImports.glGetUniformLocation(program, name);
break;
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetUniformLocation coder(observations, program, name, result);
mEncoder->Object(&coder);
return result;
}
inline void GlesSpy::glGetUniformfv(uint32_t program, int32_t location, float* values) {
GAPID_INFO("glGetUniformfv(%" PRIu32 ", %" PRId32 ", %p)\n", program, location, values);
Observations observations;
do {
uint32_t l_minRequiredVersion_718_major = 2;
uint32_t l_minRequiredVersion_718_minor = 0;
observe(observations.mReads);
mImports.glGetUniformfv(program, location, values);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetUniformfv coder(
observations, program, location,
gapic::coder::gles::GLfloat__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(values), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetUniformiv(uint32_t program, int32_t location, int32_t* values) {
GAPID_INFO("glGetUniformiv(%" PRIu32 ", %" PRId32 ", %p)\n", program, location, values);
Observations observations;
do {
uint32_t l_minRequiredVersion_719_major = 2;
uint32_t l_minRequiredVersion_719_minor = 0;
observe(observations.mReads);
mImports.glGetUniformiv(program, location, values);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetUniformiv coder(
observations, program, location,
gapic::coder::gles::GLint__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(values), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetUniformuiv(uint32_t program, int32_t location, uint32_t* params) {
GAPID_INFO("glGetUniformuiv(%" PRIu32 ", %" PRId32 ", %p)\n", program, location, params);
Observations observations;
do {
uint32_t l_minRequiredVersion_720_major = 3;
uint32_t l_minRequiredVersion_720_minor = 0;
observe(observations.mReads);
mImports.glGetUniformuiv(program, location, params);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetUniformuiv coder(
observations, program, location,
gapic::coder::gles::GLuint__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(params), 0)));
mEncoder->Object(&coder);
}
inline uint8_t GlesSpy::glIsProgram(uint32_t program) {
GAPID_INFO("glIsProgram(%" PRIu32 ")\n", program);
uint8_t result = 0;
Observations observations;
do {
uint32_t l_minRequiredVersion_721_major = 2;
uint32_t l_minRequiredVersion_721_minor = 0;
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_722_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_722_result;
observe(observations.mReads);
result = mImports.glIsProgram(program);
break;
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlIsProgram coder(observations, program, result);
mEncoder->Object(&coder);
return result;
}
inline uint8_t GlesSpy::glIsProgramPipeline(uint32_t pipeline) {
GAPID_INFO("glIsProgramPipeline(%" PRIu32 ")\n", pipeline);
uint8_t result = 0;
Observations observations;
do {
uint32_t l_minRequiredVersion_723_major = 3;
uint32_t l_minRequiredVersion_723_minor = 1;
observe(observations.mReads);
result = mImports.glIsProgramPipeline(pipeline);
break;
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlIsProgramPipeline coder(observations, pipeline, result);
mEncoder->Object(&coder);
return result;
}
inline uint8_t GlesSpy::glIsShader(uint32_t shader) {
GAPID_INFO("glIsShader(%" PRIu32 ")\n", shader);
uint8_t result = 0;
Observations observations;
do {
uint32_t l_minRequiredVersion_724_major = 2;
uint32_t l_minRequiredVersion_724_minor = 0;
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_725_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_725_result;
observe(observations.mReads);
result = mImports.glIsShader(shader);
break;
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlIsShader coder(observations, shader, result);
mEncoder->Object(&coder);
return result;
}
inline void GlesSpy::glLinkProgram(uint32_t program) {
GAPID_INFO("glLinkProgram(%" PRIu32 ")\n", program);
Observations observations;
do {
uint32_t l_minRequiredVersion_726_major = 2;
uint32_t l_minRequiredVersion_726_minor = 0;
observe(observations.mReads);
mImports.glLinkProgram(program);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlLinkProgram coder(observations, program);
mEncoder->Object(&coder);
}
inline void GlesSpy::glMemoryBarrier(uint32_t barriers) {
GAPID_INFO("glMemoryBarrier(%u)\n", barriers);
Observations observations;
do {
uint32_t l_minRequiredVersion_727_major = 3;
uint32_t l_minRequiredVersion_727_minor = 1;
uint32_t l_supportsBits_728_seenBits = barriers;
uint32_t l_supportsBits_728_validBits =
GLbitfield::GL_ALL_BARRIER_BITS | GLbitfield::GL_ATOMIC_COUNTER_BARRIER_BIT |
GLbitfield::GL_BUFFER_UPDATE_BARRIER_BIT | GLbitfield::GL_COMMAND_BARRIER_BIT |
GLbitfield::GL_ELEMENT_ARRAY_BARRIER_BIT | GLbitfield::GL_FRAMEBUFFER_BARRIER_BIT |
GLbitfield::GL_PIXEL_BUFFER_BARRIER_BIT |
GLbitfield::GL_SHADER_IMAGE_ACCESS_BARRIER_BIT |
GLbitfield::GL_SHADER_STORAGE_BARRIER_BIT |
GLbitfield::GL_TEXTURE_FETCH_BARRIER_BIT |
GLbitfield::GL_TEXTURE_UPDATE_BARRIER_BIT |
GLbitfield::GL_TRANSFORM_FEEDBACK_BARRIER_BIT | GLbitfield::GL_UNIFORM_BARRIER_BIT |
GLbitfield::GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT;
if ((barriers & GLbitfield::GL_ALL_BARRIER_BITS) != 0) {
}
if ((barriers & GLbitfield::GL_ATOMIC_COUNTER_BARRIER_BIT) != 0) {
}
if ((barriers & GLbitfield::GL_BUFFER_UPDATE_BARRIER_BIT) != 0) {
}
if ((barriers & GLbitfield::GL_COMMAND_BARRIER_BIT) != 0) {
}
if ((barriers & GLbitfield::GL_ELEMENT_ARRAY_BARRIER_BIT) != 0) {
}
if ((barriers & GLbitfield::GL_FRAMEBUFFER_BARRIER_BIT) != 0) {
}
if ((barriers & GLbitfield::GL_PIXEL_BUFFER_BARRIER_BIT) != 0) {
}
if ((barriers & GLbitfield::GL_SHADER_IMAGE_ACCESS_BARRIER_BIT) != 0) {
}
if ((barriers & GLbitfield::GL_SHADER_STORAGE_BARRIER_BIT) != 0) {
}
if ((barriers & GLbitfield::GL_TEXTURE_FETCH_BARRIER_BIT) != 0) {
}
if ((barriers & GLbitfield::GL_TEXTURE_UPDATE_BARRIER_BIT) != 0) {
}
if ((barriers & GLbitfield::GL_TRANSFORM_FEEDBACK_BARRIER_BIT) != 0) {
}
if ((barriers & GLbitfield::GL_UNIFORM_BARRIER_BIT) != 0) {
}
if ((barriers & GLbitfield::GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT) != 0) {
}
observe(observations.mReads);
mImports.glMemoryBarrier(barriers);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlMemoryBarrier coder(observations, barriers);
mEncoder->Object(&coder);
}
inline void GlesSpy::glMemoryBarrierByRegion(uint32_t barriers) {
GAPID_INFO("glMemoryBarrierByRegion(%u)\n", barriers);
Observations observations;
do {
uint32_t l_minRequiredVersion_729_major = 3;
uint32_t l_minRequiredVersion_729_minor = 1;
uint32_t l_supportsBits_730_seenBits = barriers;
uint32_t l_supportsBits_730_validBits =
GLbitfield::GL_ALL_BARRIER_BITS | GLbitfield::GL_ATOMIC_COUNTER_BARRIER_BIT |
GLbitfield::GL_BUFFER_UPDATE_BARRIER_BIT | GLbitfield::GL_COMMAND_BARRIER_BIT |
GLbitfield::GL_ELEMENT_ARRAY_BARRIER_BIT | GLbitfield::GL_FRAMEBUFFER_BARRIER_BIT |
GLbitfield::GL_PIXEL_BUFFER_BARRIER_BIT |
GLbitfield::GL_SHADER_IMAGE_ACCESS_BARRIER_BIT |
GLbitfield::GL_SHADER_STORAGE_BARRIER_BIT |
GLbitfield::GL_TEXTURE_FETCH_BARRIER_BIT |
GLbitfield::GL_TEXTURE_UPDATE_BARRIER_BIT |
GLbitfield::GL_TRANSFORM_FEEDBACK_BARRIER_BIT | GLbitfield::GL_UNIFORM_BARRIER_BIT |
GLbitfield::GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT;
if ((barriers & GLbitfield::GL_ALL_BARRIER_BITS) != 0) {
}
if ((barriers & GLbitfield::GL_ATOMIC_COUNTER_BARRIER_BIT) != 0) {
}
if ((barriers & GLbitfield::GL_BUFFER_UPDATE_BARRIER_BIT) != 0) {
}
if ((barriers & GLbitfield::GL_COMMAND_BARRIER_BIT) != 0) {
}
if ((barriers & GLbitfield::GL_ELEMENT_ARRAY_BARRIER_BIT) != 0) {
}
if ((barriers & GLbitfield::GL_FRAMEBUFFER_BARRIER_BIT) != 0) {
}
if ((barriers & GLbitfield::GL_PIXEL_BUFFER_BARRIER_BIT) != 0) {
}
if ((barriers & GLbitfield::GL_SHADER_IMAGE_ACCESS_BARRIER_BIT) != 0) {
}
if ((barriers & GLbitfield::GL_SHADER_STORAGE_BARRIER_BIT) != 0) {
}
if ((barriers & GLbitfield::GL_TEXTURE_FETCH_BARRIER_BIT) != 0) {
}
if ((barriers & GLbitfield::GL_TEXTURE_UPDATE_BARRIER_BIT) != 0) {
}
if ((barriers & GLbitfield::GL_TRANSFORM_FEEDBACK_BARRIER_BIT) != 0) {
}
if ((barriers & GLbitfield::GL_UNIFORM_BARRIER_BIT) != 0) {
}
if ((barriers & GLbitfield::GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT) != 0) {
}
observe(observations.mReads);
mImports.glMemoryBarrierByRegion(barriers);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlMemoryBarrierByRegion coder(observations, barriers);
mEncoder->Object(&coder);
}
inline void GlesSpy::glProgramBinary(uint32_t program, uint32_t binaryFormat, void* binary,
int32_t length) {
GAPID_INFO("glProgramBinary(%" PRIu32 ", %u, %p, %" PRId32 ")\n", program, binaryFormat, binary,
length);
Observations observations;
do {
uint32_t l_minRequiredVersion_731_major = 3;
uint32_t l_minRequiredVersion_731_minor = 0;
switch (binaryFormat) {}
observe(observations.mReads);
mImports.glProgramBinary(program, binaryFormat, binary, length);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlProgramBinary coder(
observations, program, binaryFormat,
gapic::coder::gles::Void__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(binary), 0)),
length);
mEncoder->Object(&coder);
}
inline void GlesSpy::glProgramParameteri(uint32_t program, uint32_t pname, int32_t value) {
GAPID_INFO("glProgramParameteri(%" PRIu32 ", %u, %" PRId32 ")\n", program, pname, value);
Observations observations;
do {
uint32_t l_minRequiredVersion_733_major = 3;
uint32_t l_minRequiredVersion_733_minor = 0;
switch (pname) {
case GLenum::GL_PROGRAM_BINARY_RETRIEVABLE_HINT: {
break;
}
case GLenum::GL_PROGRAM_SEPARABLE: {
uint32_t l_minRequiredVersion_734_major = 3;
uint32_t l_minRequiredVersion_734_minor = 1;
break;
}
}
observe(observations.mReads);
mImports.glProgramParameteri(program, pname, value);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlProgramParameteri coder(observations, program, pname, value);
mEncoder->Object(&coder);
}
inline void GlesSpy::glProgramUniform1f(uint32_t program, int32_t location, float v0) {
GAPID_INFO("glProgramUniform1f(%" PRIu32 ", %" PRId32 ", %f)\n", program, location, v0);
Observations observations;
do {
uint32_t l_minRequiredVersion_736_major = 3;
uint32_t l_minRequiredVersion_736_minor = 1;
observe(observations.mReads);
mImports.glProgramUniform1f(program, location, v0);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlProgramUniform1f coder(observations, program, location, v0);
mEncoder->Object(&coder);
}
inline void GlesSpy::glProgramUniform1fv(uint32_t program, int32_t location, int32_t count,
float* value) {
GAPID_INFO("glProgramUniform1fv(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %p)\n", program,
location, count, value);
Observations observations;
do {
uint32_t l_minRequiredVersion_737_major = 3;
uint32_t l_minRequiredVersion_737_minor = 1;
observe(observations.mReads);
mImports.glProgramUniform1fv(program, location, count, value);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlProgramUniform1fv coder(
observations, program, location, count,
gapic::coder::gles::GLfloat__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(value), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glProgramUniform1i(uint32_t program, int32_t location, int32_t v0) {
GAPID_INFO("glProgramUniform1i(%" PRIu32 ", %" PRId32 ", %" PRId32 ")\n", program, location,
v0);
Observations observations;
do {
uint32_t l_minRequiredVersion_738_major = 3;
uint32_t l_minRequiredVersion_738_minor = 1;
observe(observations.mReads);
mImports.glProgramUniform1i(program, location, v0);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlProgramUniform1i coder(observations, program, location, v0);
mEncoder->Object(&coder);
}
inline void GlesSpy::glProgramUniform1iv(uint32_t program, int32_t location, int32_t count,
int32_t* value) {
GAPID_INFO("glProgramUniform1iv(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %p)\n", program,
location, count, value);
Observations observations;
do {
uint32_t l_minRequiredVersion_739_major = 3;
uint32_t l_minRequiredVersion_739_minor = 1;
observe(observations.mReads);
mImports.glProgramUniform1iv(program, location, count, value);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlProgramUniform1iv coder(
observations, program, location, count,
gapic::coder::gles::GLint__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(value), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glProgramUniform1ui(uint32_t program, int32_t location, uint32_t v0) {
GAPID_INFO("glProgramUniform1ui(%" PRIu32 ", %" PRId32 ", %" PRIu32 ")\n", program, location,
v0);
Observations observations;
do {
uint32_t l_minRequiredVersion_740_major = 3;
uint32_t l_minRequiredVersion_740_minor = 1;
observe(observations.mReads);
mImports.glProgramUniform1ui(program, location, v0);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlProgramUniform1ui coder(observations, program, location, v0);
mEncoder->Object(&coder);
}
inline void GlesSpy::glProgramUniform1uiv(uint32_t program, int32_t location, int32_t count,
uint32_t* value) {
GAPID_INFO("glProgramUniform1uiv(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %p)\n", program,
location, count, value);
Observations observations;
do {
uint32_t l_minRequiredVersion_741_major = 3;
uint32_t l_minRequiredVersion_741_minor = 1;
observe(observations.mReads);
mImports.glProgramUniform1uiv(program, location, count, value);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlProgramUniform1uiv coder(
observations, program, location, count,
gapic::coder::gles::GLuint__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(value), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glProgramUniform2f(uint32_t program, int32_t location, float v0, float v1) {
GAPID_INFO("glProgramUniform2f(%" PRIu32 ", %" PRId32 ", %f, %f)\n", program, location, v0, v1);
Observations observations;
do {
uint32_t l_minRequiredVersion_742_major = 3;
uint32_t l_minRequiredVersion_742_minor = 1;
observe(observations.mReads);
mImports.glProgramUniform2f(program, location, v0, v1);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlProgramUniform2f coder(observations, program, location, v0, v1);
mEncoder->Object(&coder);
}
inline void GlesSpy::glProgramUniform2fv(uint32_t program, int32_t location, int32_t count,
float* value) {
GAPID_INFO("glProgramUniform2fv(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %p)\n", program,
location, count, value);
Observations observations;
do {
uint32_t l_minRequiredVersion_743_major = 3;
uint32_t l_minRequiredVersion_743_minor = 1;
observe(observations.mReads);
mImports.glProgramUniform2fv(program, location, count, value);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlProgramUniform2fv coder(
observations, program, location, count,
gapic::coder::gles::GLfloat__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(value), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glProgramUniform2i(uint32_t program, int32_t location, int32_t v0,
int32_t v1) {
GAPID_INFO("glProgramUniform2i(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %" PRId32 ")\n", program,
location, v0, v1);
Observations observations;
do {
uint32_t l_minRequiredVersion_744_major = 3;
uint32_t l_minRequiredVersion_744_minor = 1;
observe(observations.mReads);
mImports.glProgramUniform2i(program, location, v0, v1);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlProgramUniform2i coder(observations, program, location, v0, v1);
mEncoder->Object(&coder);
}
inline void GlesSpy::glProgramUniform2iv(uint32_t program, int32_t location, int32_t count,
int32_t* value) {
GAPID_INFO("glProgramUniform2iv(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %p)\n", program,
location, count, value);
Observations observations;
do {
uint32_t l_minRequiredVersion_745_major = 3;
uint32_t l_minRequiredVersion_745_minor = 1;
observe(observations.mReads);
mImports.glProgramUniform2iv(program, location, count, value);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlProgramUniform2iv coder(
observations, program, location, count,
gapic::coder::gles::GLint__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(value), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glProgramUniform2ui(uint32_t program, int32_t location, uint32_t v0,
uint32_t v1) {
GAPID_INFO("glProgramUniform2ui(%" PRIu32 ", %" PRId32 ", %" PRIu32 ", %" PRIu32 ")\n", program,
location, v0, v1);
Observations observations;
do {
uint32_t l_minRequiredVersion_746_major = 3;
uint32_t l_minRequiredVersion_746_minor = 1;
observe(observations.mReads);
mImports.glProgramUniform2ui(program, location, v0, v1);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlProgramUniform2ui coder(observations, program, location, v0, v1);
mEncoder->Object(&coder);
}
inline void GlesSpy::glProgramUniform2uiv(uint32_t program, int32_t location, int32_t count,
uint32_t* value) {
GAPID_INFO("glProgramUniform2uiv(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %p)\n", program,
location, count, value);
Observations observations;
do {
uint32_t l_minRequiredVersion_747_major = 3;
uint32_t l_minRequiredVersion_747_minor = 1;
observe(observations.mReads);
mImports.glProgramUniform2uiv(program, location, count, value);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlProgramUniform2uiv coder(
observations, program, location, count,
gapic::coder::gles::GLuint__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(value), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glProgramUniform3f(uint32_t program, int32_t location, float v0, float v1,
float v2) {
GAPID_INFO("glProgramUniform3f(%" PRIu32 ", %" PRId32 ", %f, %f, %f)\n", program, location, v0,
v1, v2);
Observations observations;
do {
uint32_t l_minRequiredVersion_748_major = 3;
uint32_t l_minRequiredVersion_748_minor = 1;
observe(observations.mReads);
mImports.glProgramUniform3f(program, location, v0, v1, v2);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlProgramUniform3f coder(observations, program, location, v0, v1, v2);
mEncoder->Object(&coder);
}
inline void GlesSpy::glProgramUniform3fv(uint32_t program, int32_t location, int32_t count,
float* value) {
GAPID_INFO("glProgramUniform3fv(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %p)\n", program,
location, count, value);
Observations observations;
do {
uint32_t l_minRequiredVersion_749_major = 3;
uint32_t l_minRequiredVersion_749_minor = 1;
observe(observations.mReads);
mImports.glProgramUniform3fv(program, location, count, value);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlProgramUniform3fv coder(
observations, program, location, count,
gapic::coder::gles::GLfloat__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(value), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glProgramUniform3i(uint32_t program, int32_t location, int32_t v0, int32_t v1,
int32_t v2) {
GAPID_INFO("glProgramUniform3i(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %" PRId32 ", %" PRId32
")\n",
program, location, v0, v1, v2);
Observations observations;
do {
uint32_t l_minRequiredVersion_750_major = 3;
uint32_t l_minRequiredVersion_750_minor = 1;
observe(observations.mReads);
mImports.glProgramUniform3i(program, location, v0, v1, v2);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlProgramUniform3i coder(observations, program, location, v0, v1, v2);
mEncoder->Object(&coder);
}
inline void GlesSpy::glProgramUniform3iv(uint32_t program, int32_t location, int32_t count,
int32_t* value) {
GAPID_INFO("glProgramUniform3iv(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %p)\n", program,
location, count, value);
Observations observations;
do {
uint32_t l_minRequiredVersion_751_major = 3;
uint32_t l_minRequiredVersion_751_minor = 1;
observe(observations.mReads);
mImports.glProgramUniform3iv(program, location, count, value);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlProgramUniform3iv coder(
observations, program, location, count,
gapic::coder::gles::GLint__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(value), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glProgramUniform3ui(uint32_t program, int32_t location, uint32_t v0,
uint32_t v1, uint32_t v2) {
GAPID_INFO("glProgramUniform3ui(%" PRIu32 ", %" PRId32 ", %" PRIu32 ", %" PRIu32 ", %" PRIu32
")\n",
program, location, v0, v1, v2);
Observations observations;
do {
uint32_t l_minRequiredVersion_752_major = 3;
uint32_t l_minRequiredVersion_752_minor = 1;
observe(observations.mReads);
mImports.glProgramUniform3ui(program, location, v0, v1, v2);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlProgramUniform3ui coder(observations, program, location, v0, v1, v2);
mEncoder->Object(&coder);
}
inline void GlesSpy::glProgramUniform3uiv(uint32_t program, int32_t location, int32_t count,
uint32_t* value) {
GAPID_INFO("glProgramUniform3uiv(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %p)\n", program,
location, count, value);
Observations observations;
do {
uint32_t l_minRequiredVersion_753_major = 3;
uint32_t l_minRequiredVersion_753_minor = 1;
observe(observations.mReads);
mImports.glProgramUniform3uiv(program, location, count, value);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlProgramUniform3uiv coder(
observations, program, location, count,
gapic::coder::gles::GLuint__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(value), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glProgramUniform4f(uint32_t program, int32_t location, float v0, float v1,
float v2, float v3) {
GAPID_INFO("glProgramUniform4f(%" PRIu32 ", %" PRId32 ", %f, %f, %f, %f)\n", program, location,
v0, v1, v2, v3);
Observations observations;
do {
uint32_t l_minRequiredVersion_754_major = 3;
uint32_t l_minRequiredVersion_754_minor = 1;
observe(observations.mReads);
mImports.glProgramUniform4f(program, location, v0, v1, v2, v3);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlProgramUniform4f coder(observations, program, location, v0, v1, v2, v3);
mEncoder->Object(&coder);
}
inline void GlesSpy::glProgramUniform4fv(uint32_t program, int32_t location, int32_t count,
float* value) {
GAPID_INFO("glProgramUniform4fv(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %p)\n", program,
location, count, value);
Observations observations;
do {
uint32_t l_minRequiredVersion_755_major = 3;
uint32_t l_minRequiredVersion_755_minor = 1;
observe(observations.mReads);
mImports.glProgramUniform4fv(program, location, count, value);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlProgramUniform4fv coder(
observations, program, location, count,
gapic::coder::gles::GLfloat__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(value), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glProgramUniform4i(uint32_t program, int32_t location, int32_t v0, int32_t v1,
int32_t v2, int32_t v3) {
GAPID_INFO("glProgramUniform4i(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %" PRId32 ", %" PRId32
", %" PRId32 ")\n",
program, location, v0, v1, v2, v3);
Observations observations;
do {
uint32_t l_minRequiredVersion_756_major = 3;
uint32_t l_minRequiredVersion_756_minor = 1;
observe(observations.mReads);
mImports.glProgramUniform4i(program, location, v0, v1, v2, v3);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlProgramUniform4i coder(observations, program, location, v0, v1, v2, v3);
mEncoder->Object(&coder);
}
inline void GlesSpy::glProgramUniform4iv(uint32_t program, int32_t location, int32_t count,
int32_t* value) {
GAPID_INFO("glProgramUniform4iv(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %p)\n", program,
location, count, value);
Observations observations;
do {
uint32_t l_minRequiredVersion_757_major = 3;
uint32_t l_minRequiredVersion_757_minor = 1;
observe(observations.mReads);
mImports.glProgramUniform4iv(program, location, count, value);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlProgramUniform4iv coder(
observations, program, location, count,
gapic::coder::gles::GLint__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(value), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glProgramUniform4ui(uint32_t program, int32_t location, uint32_t v0,
uint32_t v1, uint32_t v2, uint32_t v3) {
GAPID_INFO("glProgramUniform4ui(%" PRIu32 ", %" PRId32 ", %" PRIu32 ", %" PRIu32 ", %" PRIu32
", %" PRIu32 ")\n",
program, location, v0, v1, v2, v3);
Observations observations;
do {
uint32_t l_minRequiredVersion_758_major = 3;
uint32_t l_minRequiredVersion_758_minor = 1;
observe(observations.mReads);
mImports.glProgramUniform4ui(program, location, v0, v1, v2, v3);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlProgramUniform4ui coder(observations, program, location, v0, v1, v2, v3);
mEncoder->Object(&coder);
}
inline void GlesSpy::glProgramUniform4uiv(uint32_t program, int32_t location, int32_t count,
uint32_t* value) {
GAPID_INFO("glProgramUniform4uiv(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %p)\n", program,
location, count, value);
Observations observations;
do {
uint32_t l_minRequiredVersion_759_major = 3;
uint32_t l_minRequiredVersion_759_minor = 1;
observe(observations.mReads);
mImports.glProgramUniform4uiv(program, location, count, value);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlProgramUniform4uiv coder(
observations, program, location, count,
gapic::coder::gles::GLuint__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(value), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glProgramUniformMatrix2fv(uint32_t program, int32_t location, int32_t count,
uint8_t transpose, float* value) {
GAPID_INFO("glProgramUniformMatrix2fv(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %" PRIu8 ", %p)\n",
program, location, count, transpose, value);
Observations observations;
do {
uint32_t l_minRequiredVersion_760_major = 3;
uint32_t l_minRequiredVersion_760_minor = 1;
observe(observations.mReads);
mImports.glProgramUniformMatrix2fv(program, location, count, transpose, value);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlProgramUniformMatrix2fv coder(
observations, program, location, count, transpose,
gapic::coder::gles::GLfloat__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(value), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glProgramUniformMatrix2x3fv(uint32_t program, int32_t location, int32_t count,
uint8_t transpose, float* value) {
GAPID_INFO("glProgramUniformMatrix2x3fv(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %" PRIu8
", %p)\n",
program, location, count, transpose, value);
Observations observations;
do {
uint32_t l_minRequiredVersion_761_major = 3;
uint32_t l_minRequiredVersion_761_minor = 1;
observe(observations.mReads);
mImports.glProgramUniformMatrix2x3fv(program, location, count, transpose, value);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlProgramUniformMatrix2x3fv coder(
observations, program, location, count, transpose,
gapic::coder::gles::GLfloat__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(value), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glProgramUniformMatrix2x4fv(uint32_t program, int32_t location, int32_t count,
uint8_t transpose, float* value) {
GAPID_INFO("glProgramUniformMatrix2x4fv(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %" PRIu8
", %p)\n",
program, location, count, transpose, value);
Observations observations;
do {
uint32_t l_minRequiredVersion_762_major = 3;
uint32_t l_minRequiredVersion_762_minor = 1;
observe(observations.mReads);
mImports.glProgramUniformMatrix2x4fv(program, location, count, transpose, value);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlProgramUniformMatrix2x4fv coder(
observations, program, location, count, transpose,
gapic::coder::gles::GLfloat__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(value), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glProgramUniformMatrix3fv(uint32_t program, int32_t location, int32_t count,
uint8_t transpose, float* value) {
GAPID_INFO("glProgramUniformMatrix3fv(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %" PRIu8 ", %p)\n",
program, location, count, transpose, value);
Observations observations;
do {
uint32_t l_minRequiredVersion_763_major = 3;
uint32_t l_minRequiredVersion_763_minor = 1;
observe(observations.mReads);
mImports.glProgramUniformMatrix3fv(program, location, count, transpose, value);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlProgramUniformMatrix3fv coder(
observations, program, location, count, transpose,
gapic::coder::gles::GLfloat__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(value), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glProgramUniformMatrix3x2fv(uint32_t program, int32_t location, int32_t count,
uint8_t transpose, float* value) {
GAPID_INFO("glProgramUniformMatrix3x2fv(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %" PRIu8
", %p)\n",
program, location, count, transpose, value);
Observations observations;
do {
uint32_t l_minRequiredVersion_764_major = 3;
uint32_t l_minRequiredVersion_764_minor = 1;
observe(observations.mReads);
mImports.glProgramUniformMatrix3x2fv(program, location, count, transpose, value);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlProgramUniformMatrix3x2fv coder(
observations, program, location, count, transpose,
gapic::coder::gles::GLfloat__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(value), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glProgramUniformMatrix3x4fv(uint32_t program, int32_t location, int32_t count,
uint8_t transpose, float* value) {
GAPID_INFO("glProgramUniformMatrix3x4fv(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %" PRIu8
", %p)\n",
program, location, count, transpose, value);
Observations observations;
do {
uint32_t l_minRequiredVersion_765_major = 3;
uint32_t l_minRequiredVersion_765_minor = 1;
observe(observations.mReads);
mImports.glProgramUniformMatrix3x4fv(program, location, count, transpose, value);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlProgramUniformMatrix3x4fv coder(
observations, program, location, count, transpose,
gapic::coder::gles::GLfloat__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(value), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glProgramUniformMatrix4fv(uint32_t program, int32_t location, int32_t count,
uint8_t transpose, float* value) {
GAPID_INFO("glProgramUniformMatrix4fv(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %" PRIu8 ", %p)\n",
program, location, count, transpose, value);
Observations observations;
do {
uint32_t l_minRequiredVersion_766_major = 3;
uint32_t l_minRequiredVersion_766_minor = 1;
observe(observations.mReads);
mImports.glProgramUniformMatrix4fv(program, location, count, transpose, value);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlProgramUniformMatrix4fv coder(
observations, program, location, count, transpose,
gapic::coder::gles::GLfloat__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(value), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glProgramUniformMatrix4x2fv(uint32_t program, int32_t location, int32_t count,
uint8_t transpose, float* value) {
GAPID_INFO("glProgramUniformMatrix4x2fv(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %" PRIu8
", %p)\n",
program, location, count, transpose, value);
Observations observations;
do {
uint32_t l_minRequiredVersion_767_major = 3;
uint32_t l_minRequiredVersion_767_minor = 1;
observe(observations.mReads);
mImports.glProgramUniformMatrix4x2fv(program, location, count, transpose, value);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlProgramUniformMatrix4x2fv coder(
observations, program, location, count, transpose,
gapic::coder::gles::GLfloat__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(value), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glProgramUniformMatrix4x3fv(uint32_t program, int32_t location, int32_t count,
uint8_t transpose, float* value) {
GAPID_INFO("glProgramUniformMatrix4x3fv(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %" PRIu8
", %p)\n",
program, location, count, transpose, value);
Observations observations;
do {
uint32_t l_minRequiredVersion_768_major = 3;
uint32_t l_minRequiredVersion_768_minor = 1;
observe(observations.mReads);
mImports.glProgramUniformMatrix4x3fv(program, location, count, transpose, value);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlProgramUniformMatrix4x3fv coder(
observations, program, location, count, transpose,
gapic::coder::gles::GLfloat__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(value), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glReleaseShaderCompiler() {
GAPID_INFO("glReleaseShaderCompiler()\n");
Observations observations;
do {
uint32_t l_minRequiredVersion_769_major = 2;
uint32_t l_minRequiredVersion_769_minor = 0;
observe(observations.mReads);
mImports.glReleaseShaderCompiler();
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlReleaseShaderCompiler coder(observations);
mEncoder->Object(&coder);
}
inline void GlesSpy::glShaderBinary(int32_t count, uint32_t* shaders, uint32_t binary_format,
void* binary, int32_t binary_size) {
GAPID_INFO("glShaderBinary(%" PRId32 ", %p, %u, %p, %" PRId32 ")\n", count, shaders,
binary_format, binary, binary_size);
Observations observations;
do {
uint32_t l_minRequiredVersion_770_major = 2;
uint32_t l_minRequiredVersion_770_minor = 0;
switch (binary_format) {}
for (GLsizei l_i = (GLsizei)(0); l_i < count; ++l_i) {
}
observe(observations.mReads);
mImports.glShaderBinary(count, shaders, binary_format, binary, binary_size);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlShaderBinary coder(
observations, count, gapic::coder::gles::ShaderId__CP(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(shaders), 0)),
binary_format, gapic::coder::gles::Void__CP(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(binary), 0)),
binary_size);
mEncoder->Object(&coder);
}
inline void GlesSpy::glShaderSource(uint32_t shader, int32_t count, char** source,
int32_t* length) {
GAPID_INFO("glShaderSource(%" PRIu32 ", %" PRId32 ", %p, %p)\n", shader, count, source, length);
Observations observations;
do {
uint32_t l_minRequiredVersion_772_major = 2;
uint32_t l_minRequiredVersion_772_minor = 0;
Slice<GLchar*> l_sources = slice(source, (uint64_t)((GLsizei)(0)), (uint64_t)(count));
Slice<GLint> l_lengths = slice(length, (uint64_t)((GLsizei)(0)), (uint64_t)(count));
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_773_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_773_result;
std::shared_ptr<Shader> l_s = l_ctx->mInstances.mShaders[shader];
for (GLsizei l_i = (GLsizei)(0); l_i < count; ++l_i) {
std::string l_str = /* clang-format off */
/* switch(length == nullptr || read(l_lengths, (uint64_t)(l_i)) < (GLint)(0)) */
/* case true: */(((length == nullptr || read(l_lengths, (uint64_t)(l_i)) < (GLint)(0)) == (true))) ? (string((char*)(read(l_sources, (uint64_t)(l_i))))) :
/* case false: */(((length == nullptr || read(l_lengths, (uint64_t)(l_i)) < (GLint)(0)) == (false))) ? (string(slice((char*)(read(l_sources, (uint64_t)(l_i))), (uint64_t)((GLint)(0)), (uint64_t)(read(l_lengths, (uint64_t)(l_i)))))) :
/* default: */ "" /* clang-format on */;
l_s->mSource += l_str;
}
observe(observations.mReads);
mImports.glShaderSource(shader, count, source, length);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlShaderSource coder(
observations, shader, count,
gapic::coder::gles::GLchar__CP__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(source), 0)),
gapic::coder::gles::GLint__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(length), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glUniform1f(int32_t location, float value) {
GAPID_INFO("glUniform1f(%" PRId32 ", %f)\n", location, value);
Observations observations;
do {
uint32_t l_minRequiredVersion_774_major = 2;
uint32_t l_minRequiredVersion_774_minor = 0;
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_775_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_775_result;
Slice<GLfloat> l_v = make<GLfloat>(1);
observe(observations.mReads);
mImports.glUniform1f(location, value);
write(l_v, 0, value);
std::shared_ptr<Program> l_program = l_ctx->mInstances.mPrograms[l_ctx->mBoundProgram];
Uniform l_uniform = l_program->mUniforms[location];
l_uniform.mType = GLenum::GL_FLOAT;
l_uniform.mValue = l_v.as<uint8_t>();
l_program->mUniforms[location] = l_uniform;
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlUniform1f coder(observations, location, value);
mEncoder->Object(&coder);
}
inline void GlesSpy::glUniform1fv(int32_t location, int32_t count, float* values) {
GAPID_INFO("glUniform1fv(%" PRId32 ", %" PRId32 ", %p)\n", location, count, values);
Observations observations;
do {
uint32_t l_minRequiredVersion_776_major = 2;
uint32_t l_minRequiredVersion_776_minor = 0;
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_777_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_777_result;
Slice<GLfloat> l_v = slice(values, (uint64_t)((GLsizei)(0)), (uint64_t)(count));
std::shared_ptr<Program> l_program = l_ctx->mInstances.mPrograms[l_ctx->mBoundProgram];
Uniform l_uniform = l_program->mUniforms[location];
l_uniform.mType = GLenum::GL_FLOAT;
l_uniform.mValue = clone(l_v.as<uint8_t>());
l_program->mUniforms[location] = l_uniform;
observe(observations.mReads);
mImports.glUniform1fv(location, count, values);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlUniform1fv coder(
observations, location, count,
gapic::coder::gles::GLfloat__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(values), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glUniform1i(int32_t location, int32_t value) {
GAPID_INFO("glUniform1i(%" PRId32 ", %" PRId32 ")\n", location, value);
Observations observations;
do {
uint32_t l_minRequiredVersion_778_major = 2;
uint32_t l_minRequiredVersion_778_minor = 0;
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_779_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_779_result;
Slice<GLint> l_v = make<GLint>(1);
observe(observations.mReads);
mImports.glUniform1i(location, value);
write(l_v, 0, value);
std::shared_ptr<Program> l_program = l_ctx->mInstances.mPrograms[l_ctx->mBoundProgram];
Uniform l_uniform = l_program->mUniforms[location];
l_uniform.mType = GLenum::GL_INT;
l_uniform.mValue = l_v.as<uint8_t>();
l_program->mUniforms[location] = l_uniform;
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlUniform1i coder(observations, location, value);
mEncoder->Object(&coder);
}
inline void GlesSpy::glUniform1iv(int32_t location, int32_t count, int32_t* values) {
GAPID_INFO("glUniform1iv(%" PRId32 ", %" PRId32 ", %p)\n", location, count, values);
Observations observations;
do {
uint32_t l_minRequiredVersion_780_major = 2;
uint32_t l_minRequiredVersion_780_minor = 0;
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_781_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_781_result;
Slice<GLint> l_v = slice(values, (uint64_t)((GLsizei)(0)), (uint64_t)(count));
std::shared_ptr<Program> l_program = l_ctx->mInstances.mPrograms[l_ctx->mBoundProgram];
Uniform l_uniform = l_program->mUniforms[location];
l_uniform.mType = GLenum::GL_INT;
l_uniform.mValue = clone(l_v.as<uint8_t>());
l_program->mUniforms[location] = l_uniform;
observe(observations.mReads);
mImports.glUniform1iv(location, count, values);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlUniform1iv coder(
observations, location, count,
gapic::coder::gles::GLint__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(values), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glUniform1ui(int32_t location, uint32_t v0) {
GAPID_INFO("glUniform1ui(%" PRId32 ", %" PRIu32 ")\n", location, v0);
Observations observations;
do {
uint32_t l_minRequiredVersion_782_major = 3;
uint32_t l_minRequiredVersion_782_minor = 0;
observe(observations.mReads);
mImports.glUniform1ui(location, v0);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlUniform1ui coder(observations, location, v0);
mEncoder->Object(&coder);
}
inline void GlesSpy::glUniform1uiv(int32_t location, int32_t count, uint32_t* value) {
GAPID_INFO("glUniform1uiv(%" PRId32 ", %" PRId32 ", %p)\n", location, count, value);
Observations observations;
do {
uint32_t l_minRequiredVersion_783_major = 3;
uint32_t l_minRequiredVersion_783_minor = 0;
observe(observations.mReads);
mImports.glUniform1uiv(location, count, value);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlUniform1uiv coder(
observations, location, count,
gapic::coder::gles::GLuint__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(value), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glUniform2f(int32_t location, float value0, float value1) {
GAPID_INFO("glUniform2f(%" PRId32 ", %f, %f)\n", location, value0, value1);
Observations observations;
do {
uint32_t l_minRequiredVersion_784_major = 2;
uint32_t l_minRequiredVersion_784_minor = 0;
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_785_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_785_result;
Slice<Vec2f> l_v = make<Vec2f>(1);
observe(observations.mReads);
mImports.glUniform2f(location, value0, value1);
write(l_v, 0, Vec2f{value0, value1});
std::shared_ptr<Program> l_program = l_ctx->mInstances.mPrograms[l_ctx->mBoundProgram];
Uniform l_uniform = l_program->mUniforms[location];
l_uniform.mType = GLenum::GL_FLOAT_VEC2;
l_uniform.mValue = l_v.as<uint8_t>();
l_program->mUniforms[location] = l_uniform;
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlUniform2f coder(observations, location, value0, value1);
mEncoder->Object(&coder);
}
inline void GlesSpy::glUniform2fv(int32_t location, int32_t count, float* values) {
GAPID_INFO("glUniform2fv(%" PRId32 ", %" PRId32 ", %p)\n", location, count, values);
Observations observations;
do {
uint32_t l_minRequiredVersion_786_major = 2;
uint32_t l_minRequiredVersion_786_minor = 0;
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_787_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_787_result;
Slice<Vec2f> l_v = slice((Vec2f*)(values), (uint64_t)((GLsizei)(0)), (uint64_t)(count));
std::shared_ptr<Program> l_program = l_ctx->mInstances.mPrograms[l_ctx->mBoundProgram];
Uniform l_uniform = l_program->mUniforms[location];
l_uniform.mType = GLenum::GL_FLOAT_VEC2;
l_uniform.mValue = clone(l_v.as<uint8_t>());
l_program->mUniforms[location] = l_uniform;
observe(observations.mReads);
mImports.glUniform2fv(location, count, values);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlUniform2fv coder(
observations, location, count,
gapic::coder::gles::GLfloat__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(values), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glUniform2i(int32_t location, int32_t value0, int32_t value1) {
GAPID_INFO("glUniform2i(%" PRId32 ", %" PRId32 ", %" PRId32 ")\n", location, value0, value1);
Observations observations;
do {
uint32_t l_minRequiredVersion_788_major = 2;
uint32_t l_minRequiredVersion_788_minor = 0;
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_789_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_789_result;
Slice<Vec2i> l_v = make<Vec2i>(1);
observe(observations.mReads);
mImports.glUniform2i(location, value0, value1);
write(l_v, 0, Vec2i{value0, value1});
std::shared_ptr<Program> l_program = l_ctx->mInstances.mPrograms[l_ctx->mBoundProgram];
Uniform l_uniform = l_program->mUniforms[location];
l_uniform.mType = GLenum::GL_INT_VEC2;
l_uniform.mValue = l_v.as<uint8_t>();
l_program->mUniforms[location] = l_uniform;
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlUniform2i coder(observations, location, value0, value1);
mEncoder->Object(&coder);
}
inline void GlesSpy::glUniform2iv(int32_t location, int32_t count, int32_t* values) {
GAPID_INFO("glUniform2iv(%" PRId32 ", %" PRId32 ", %p)\n", location, count, values);
Observations observations;
do {
uint32_t l_minRequiredVersion_790_major = 2;
uint32_t l_minRequiredVersion_790_minor = 0;
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_791_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_791_result;
Slice<Vec2i> l_v = slice((Vec2i*)(values), (uint64_t)((GLsizei)(0)), (uint64_t)(count));
std::shared_ptr<Program> l_program = l_ctx->mInstances.mPrograms[l_ctx->mBoundProgram];
Uniform l_uniform = l_program->mUniforms[location];
l_uniform.mType = GLenum::GL_INT_VEC2;
l_uniform.mValue = clone(l_v.as<uint8_t>());
l_program->mUniforms[location] = l_uniform;
observe(observations.mReads);
mImports.glUniform2iv(location, count, values);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlUniform2iv coder(
observations, location, count,
gapic::coder::gles::GLint__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(values), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glUniform2ui(int32_t location, uint32_t v0, uint32_t v1) {
GAPID_INFO("glUniform2ui(%" PRId32 ", %" PRIu32 ", %" PRIu32 ")\n", location, v0, v1);
Observations observations;
do {
uint32_t l_minRequiredVersion_792_major = 3;
uint32_t l_minRequiredVersion_792_minor = 0;
observe(observations.mReads);
mImports.glUniform2ui(location, v0, v1);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlUniform2ui coder(observations, location, v0, v1);
mEncoder->Object(&coder);
}
inline void GlesSpy::glUniform2uiv(int32_t location, int32_t count, uint32_t* value) {
GAPID_INFO("glUniform2uiv(%" PRId32 ", %" PRId32 ", %p)\n", location, count, value);
Observations observations;
do {
uint32_t l_minRequiredVersion_793_major = 3;
uint32_t l_minRequiredVersion_793_minor = 0;
observe(observations.mReads);
mImports.glUniform2uiv(location, count, value);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlUniform2uiv coder(
observations, location, count,
gapic::coder::gles::GLuint__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(value), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glUniform3f(int32_t location, float value0, float value1, float value2) {
GAPID_INFO("glUniform3f(%" PRId32 ", %f, %f, %f)\n", location, value0, value1, value2);
Observations observations;
do {
uint32_t l_minRequiredVersion_794_major = 2;
uint32_t l_minRequiredVersion_794_minor = 0;
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_795_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_795_result;
Slice<Vec3f> l_v = make<Vec3f>(1);
observe(observations.mReads);
mImports.glUniform3f(location, value0, value1, value2);
write(l_v, 0, Vec3f{value0, value1, value2});
std::shared_ptr<Program> l_program = l_ctx->mInstances.mPrograms[l_ctx->mBoundProgram];
Uniform l_uniform = l_program->mUniforms[location];
l_uniform.mType = GLenum::GL_FLOAT_VEC3;
l_uniform.mValue = l_v.as<uint8_t>();
l_program->mUniforms[location] = l_uniform;
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlUniform3f coder(observations, location, value0, value1, value2);
mEncoder->Object(&coder);
}
inline void GlesSpy::glUniform3fv(int32_t location, int32_t count, float* values) {
GAPID_INFO("glUniform3fv(%" PRId32 ", %" PRId32 ", %p)\n", location, count, values);
Observations observations;
do {
uint32_t l_minRequiredVersion_796_major = 2;
uint32_t l_minRequiredVersion_796_minor = 0;
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_797_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_797_result;
Slice<Vec3f> l_v = slice((Vec3f*)(values), (uint64_t)((GLsizei)(0)), (uint64_t)(count));
std::shared_ptr<Program> l_program = l_ctx->mInstances.mPrograms[l_ctx->mBoundProgram];
Uniform l_uniform = l_program->mUniforms[location];
l_uniform.mType = GLenum::GL_FLOAT_VEC3;
l_uniform.mValue = clone(l_v.as<uint8_t>());
l_program->mUniforms[location] = l_uniform;
observe(observations.mReads);
mImports.glUniform3fv(location, count, values);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlUniform3fv coder(
observations, location, count,
gapic::coder::gles::GLfloat__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(values), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glUniform3i(int32_t location, int32_t value0, int32_t value1, int32_t value2) {
GAPID_INFO("glUniform3i(%" PRId32 ", %" PRId32 ", %" PRId32 ", %" PRId32 ")\n", location,
value0, value1, value2);
Observations observations;
do {
uint32_t l_minRequiredVersion_798_major = 2;
uint32_t l_minRequiredVersion_798_minor = 0;
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_799_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_799_result;
Slice<Vec3i> l_v = make<Vec3i>(1);
observe(observations.mReads);
mImports.glUniform3i(location, value0, value1, value2);
write(l_v, 0, Vec3i{value0, value1, value2});
std::shared_ptr<Program> l_program = l_ctx->mInstances.mPrograms[l_ctx->mBoundProgram];
Uniform l_uniform = l_program->mUniforms[location];
l_uniform.mType = GLenum::GL_INT_VEC3;
l_uniform.mValue = l_v.as<uint8_t>();
l_program->mUniforms[location] = l_uniform;
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlUniform3i coder(observations, location, value0, value1, value2);
mEncoder->Object(&coder);
}
inline void GlesSpy::glUniform3iv(int32_t location, int32_t count, int32_t* values) {
GAPID_INFO("glUniform3iv(%" PRId32 ", %" PRId32 ", %p)\n", location, count, values);
Observations observations;
do {
uint32_t l_minRequiredVersion_800_major = 2;
uint32_t l_minRequiredVersion_800_minor = 0;
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_801_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_801_result;
Slice<Vec3i> l_v = slice((Vec3i*)(values), (uint64_t)((GLsizei)(0)), (uint64_t)(count));
std::shared_ptr<Program> l_program = l_ctx->mInstances.mPrograms[l_ctx->mBoundProgram];
Uniform l_uniform = l_program->mUniforms[location];
l_uniform.mType = GLenum::GL_INT_VEC3;
l_uniform.mValue = clone(l_v.as<uint8_t>());
l_program->mUniforms[location] = l_uniform;
observe(observations.mReads);
mImports.glUniform3iv(location, count, values);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlUniform3iv coder(
observations, location, count,
gapic::coder::gles::GLint__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(values), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glUniform3ui(int32_t location, uint32_t v0, uint32_t v1, uint32_t v2) {
GAPID_INFO("glUniform3ui(%" PRId32 ", %" PRIu32 ", %" PRIu32 ", %" PRIu32 ")\n", location, v0,
v1, v2);
Observations observations;
do {
uint32_t l_minRequiredVersion_802_major = 3;
uint32_t l_minRequiredVersion_802_minor = 0;
observe(observations.mReads);
mImports.glUniform3ui(location, v0, v1, v2);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlUniform3ui coder(observations, location, v0, v1, v2);
mEncoder->Object(&coder);
}
inline void GlesSpy::glUniform3uiv(int32_t location, int32_t count, uint32_t* value) {
GAPID_INFO("glUniform3uiv(%" PRId32 ", %" PRId32 ", %p)\n", location, count, value);
Observations observations;
do {
uint32_t l_minRequiredVersion_803_major = 3;
uint32_t l_minRequiredVersion_803_minor = 0;
observe(observations.mReads);
mImports.glUniform3uiv(location, count, value);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlUniform3uiv coder(
observations, location, count,
gapic::coder::gles::GLuint__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(value), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glUniform4f(int32_t location, float value0, float value1, float value2,
float value3) {
GAPID_INFO("glUniform4f(%" PRId32 ", %f, %f, %f, %f)\n", location, value0, value1, value2,
value3);
Observations observations;
do {
uint32_t l_minRequiredVersion_804_major = 2;
uint32_t l_minRequiredVersion_804_minor = 0;
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_805_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_805_result;
Slice<Vec4f> l_v = make<Vec4f>(1);
observe(observations.mReads);
mImports.glUniform4f(location, value0, value1, value2, value3);
write(l_v, 0, Vec4f{value0, value1, value2, value3});
std::shared_ptr<Program> l_program = l_ctx->mInstances.mPrograms[l_ctx->mBoundProgram];
Uniform l_uniform = l_program->mUniforms[location];
l_uniform.mType = GLenum::GL_FLOAT_VEC4;
l_uniform.mValue = l_v.as<uint8_t>();
l_program->mUniforms[location] = l_uniform;
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlUniform4f coder(observations, location, value0, value1, value2, value3);
mEncoder->Object(&coder);
}
inline void GlesSpy::glUniform4fv(int32_t location, int32_t count, float* values) {
GAPID_INFO("glUniform4fv(%" PRId32 ", %" PRId32 ", %p)\n", location, count, values);
Observations observations;
do {
uint32_t l_minRequiredVersion_806_major = 2;
uint32_t l_minRequiredVersion_806_minor = 0;
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_807_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_807_result;
Slice<Vec4f> l_v = slice((Vec4f*)(values), (uint64_t)((GLsizei)(0)), (uint64_t)(count));
std::shared_ptr<Program> l_program = l_ctx->mInstances.mPrograms[l_ctx->mBoundProgram];
Uniform l_uniform = l_program->mUniforms[location];
l_uniform.mType = GLenum::GL_FLOAT_VEC4;
l_uniform.mValue = clone(l_v.as<uint8_t>());
l_program->mUniforms[location] = l_uniform;
observe(observations.mReads);
mImports.glUniform4fv(location, count, values);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlUniform4fv coder(
observations, location, count,
gapic::coder::gles::GLfloat__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(values), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glUniform4i(int32_t location, int32_t value0, int32_t value1, int32_t value2,
int32_t value3) {
GAPID_INFO("glUniform4i(%" PRId32 ", %" PRId32 ", %" PRId32 ", %" PRId32 ", %" PRId32 ")\n",
location, value0, value1, value2, value3);
Observations observations;
do {
uint32_t l_minRequiredVersion_808_major = 2;
uint32_t l_minRequiredVersion_808_minor = 0;
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_809_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_809_result;
Slice<Vec4i> l_v = make<Vec4i>(1);
observe(observations.mReads);
mImports.glUniform4i(location, value0, value1, value2, value3);
write(l_v, 0, Vec4i{value0, value1, value2, value3});
std::shared_ptr<Program> l_program = l_ctx->mInstances.mPrograms[l_ctx->mBoundProgram];
Uniform l_uniform = l_program->mUniforms[location];
l_uniform.mType = GLenum::GL_INT_VEC4;
l_uniform.mValue = l_v.as<uint8_t>();
l_program->mUniforms[location] = l_uniform;
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlUniform4i coder(observations, location, value0, value1, value2, value3);
mEncoder->Object(&coder);
}
inline void GlesSpy::glUniform4iv(int32_t location, int32_t count, int32_t* values) {
GAPID_INFO("glUniform4iv(%" PRId32 ", %" PRId32 ", %p)\n", location, count, values);
Observations observations;
do {
uint32_t l_minRequiredVersion_810_major = 2;
uint32_t l_minRequiredVersion_810_minor = 0;
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_811_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_811_result;
Slice<Vec4i> l_v = slice((Vec4i*)(values), (uint64_t)((GLsizei)(0)), (uint64_t)(count));
std::shared_ptr<Program> l_program = l_ctx->mInstances.mPrograms[l_ctx->mBoundProgram];
Uniform l_uniform = l_program->mUniforms[location];
l_uniform.mType = GLenum::GL_INT_VEC4;
l_uniform.mValue = clone(l_v.as<uint8_t>());
l_program->mUniforms[location] = l_uniform;
observe(observations.mReads);
mImports.glUniform4iv(location, count, values);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlUniform4iv coder(
observations, location, count,
gapic::coder::gles::GLint__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(values), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glUniform4ui(int32_t location, uint32_t v0, uint32_t v1, uint32_t v2,
uint32_t v3) {
GAPID_INFO("glUniform4ui(%" PRId32 ", %" PRIu32 ", %" PRIu32 ", %" PRIu32 ", %" PRIu32 ")\n",
location, v0, v1, v2, v3);
Observations observations;
do {
uint32_t l_minRequiredVersion_812_major = 3;
uint32_t l_minRequiredVersion_812_minor = 0;
observe(observations.mReads);
mImports.glUniform4ui(location, v0, v1, v2, v3);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlUniform4ui coder(observations, location, v0, v1, v2, v3);
mEncoder->Object(&coder);
}
inline void GlesSpy::glUniform4uiv(int32_t location, int32_t count, uint32_t* value) {
GAPID_INFO("glUniform4uiv(%" PRId32 ", %" PRId32 ", %p)\n", location, count, value);
Observations observations;
do {
uint32_t l_minRequiredVersion_813_major = 3;
uint32_t l_minRequiredVersion_813_minor = 0;
observe(observations.mReads);
mImports.glUniform4uiv(location, count, value);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlUniform4uiv coder(
observations, location, count,
gapic::coder::gles::GLuint__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(value), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glUniformBlockBinding(uint32_t program, uint32_t uniform_block_index,
uint32_t uniform_block_binding) {
GAPID_INFO("glUniformBlockBinding(%" PRIu32 ", %" PRIu32 ", %" PRIu32 ")\n", program,
uniform_block_index, uniform_block_binding);
Observations observations;
do {
uint32_t l_minRequiredVersion_814_major = 3;
uint32_t l_minRequiredVersion_814_minor = 0;
observe(observations.mReads);
mImports.glUniformBlockBinding(program, uniform_block_index, uniform_block_binding);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlUniformBlockBinding coder(observations, program, uniform_block_index,
uniform_block_binding);
mEncoder->Object(&coder);
}
inline void GlesSpy::glUniformMatrix2fv(int32_t location, int32_t count, uint8_t transpose,
float* values) {
GAPID_INFO("glUniformMatrix2fv(%" PRId32 ", %" PRId32 ", %" PRIu8 ", %p)\n", location, count,
transpose, values);
Observations observations;
do {
uint32_t l_minRequiredVersion_815_major = 2;
uint32_t l_minRequiredVersion_815_minor = 0;
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_816_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_816_result;
Slice<Mat2f> l_v = slice((Mat2f*)(values), (uint64_t)((GLsizei)(0)), (uint64_t)(count));
std::shared_ptr<Program> l_program = l_ctx->mInstances.mPrograms[l_ctx->mBoundProgram];
Uniform l_uniform = l_program->mUniforms[location];
l_uniform.mType = GLenum::GL_FLOAT_MAT2;
l_uniform.mValue = clone(l_v.as<uint8_t>());
l_program->mUniforms[location] = l_uniform;
observe(observations.mReads);
mImports.glUniformMatrix2fv(location, count, transpose, values);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlUniformMatrix2fv coder(
observations, location, count, transpose,
gapic::coder::gles::GLfloat__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(values), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glUniformMatrix2x3fv(int32_t location, int32_t count, uint8_t transpose,
float* value) {
GAPID_INFO("glUniformMatrix2x3fv(%" PRId32 ", %" PRId32 ", %" PRIu8 ", %p)\n", location, count,
transpose, value);
Observations observations;
do {
uint32_t l_minRequiredVersion_817_major = 3;
uint32_t l_minRequiredVersion_817_minor = 0;
observe(observations.mReads);
mImports.glUniformMatrix2x3fv(location, count, transpose, value);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlUniformMatrix2x3fv coder(
observations, location, count, transpose,
gapic::coder::gles::GLfloat__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(value), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glUniformMatrix2x4fv(int32_t location, int32_t count, uint8_t transpose,
float* value) {
GAPID_INFO("glUniformMatrix2x4fv(%" PRId32 ", %" PRId32 ", %" PRIu8 ", %p)\n", location, count,
transpose, value);
Observations observations;
do {
uint32_t l_minRequiredVersion_818_major = 3;
uint32_t l_minRequiredVersion_818_minor = 0;
observe(observations.mReads);
mImports.glUniformMatrix2x4fv(location, count, transpose, value);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlUniformMatrix2x4fv coder(
observations, location, count, transpose,
gapic::coder::gles::GLfloat__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(value), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glUniformMatrix3fv(int32_t location, int32_t count, uint8_t transpose,
float* values) {
GAPID_INFO("glUniformMatrix3fv(%" PRId32 ", %" PRId32 ", %" PRIu8 ", %p)\n", location, count,
transpose, values);
Observations observations;
do {
uint32_t l_minRequiredVersion_819_major = 2;
uint32_t l_minRequiredVersion_819_minor = 0;
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_820_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_820_result;
Slice<Mat3f> l_v = slice((Mat3f*)(values), (uint64_t)((GLsizei)(0)), (uint64_t)(count));
std::shared_ptr<Program> l_program = l_ctx->mInstances.mPrograms[l_ctx->mBoundProgram];
Uniform l_uniform = l_program->mUniforms[location];
l_uniform.mType = GLenum::GL_FLOAT_MAT3;
l_uniform.mValue = clone(l_v.as<uint8_t>());
l_program->mUniforms[location] = l_uniform;
observe(observations.mReads);
mImports.glUniformMatrix3fv(location, count, transpose, values);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlUniformMatrix3fv coder(
observations, location, count, transpose,
gapic::coder::gles::GLfloat__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(values), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glUniformMatrix3x2fv(int32_t location, int32_t count, uint8_t transpose,
float* value) {
GAPID_INFO("glUniformMatrix3x2fv(%" PRId32 ", %" PRId32 ", %" PRIu8 ", %p)\n", location, count,
transpose, value);
Observations observations;
do {
uint32_t l_minRequiredVersion_821_major = 3;
uint32_t l_minRequiredVersion_821_minor = 0;
observe(observations.mReads);
mImports.glUniformMatrix3x2fv(location, count, transpose, value);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlUniformMatrix3x2fv coder(
observations, location, count, transpose,
gapic::coder::gles::GLfloat__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(value), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glUniformMatrix3x4fv(int32_t location, int32_t count, uint8_t transpose,
float* value) {
GAPID_INFO("glUniformMatrix3x4fv(%" PRId32 ", %" PRId32 ", %" PRIu8 ", %p)\n", location, count,
transpose, value);
Observations observations;
do {
uint32_t l_minRequiredVersion_822_major = 3;
uint32_t l_minRequiredVersion_822_minor = 0;
observe(observations.mReads);
mImports.glUniformMatrix3x4fv(location, count, transpose, value);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlUniformMatrix3x4fv coder(
observations, location, count, transpose,
gapic::coder::gles::GLfloat__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(value), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glUniformMatrix4fv(int32_t location, int32_t count, uint8_t transpose,
float* values) {
GAPID_INFO("glUniformMatrix4fv(%" PRId32 ", %" PRId32 ", %" PRIu8 ", %p)\n", location, count,
transpose, values);
Observations observations;
do {
uint32_t l_minRequiredVersion_823_major = 2;
uint32_t l_minRequiredVersion_823_minor = 0;
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_824_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_824_result;
Slice<Mat4f> l_v = slice((Mat4f*)(values), (uint64_t)((GLsizei)(0)), (uint64_t)(count));
std::shared_ptr<Program> l_program = l_ctx->mInstances.mPrograms[l_ctx->mBoundProgram];
Uniform l_uniform = l_program->mUniforms[location];
l_uniform.mValue = clone(l_v.as<uint8_t>());
l_program->mUniforms[location] = l_uniform;
observe(observations.mReads);
mImports.glUniformMatrix4fv(location, count, transpose, values);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlUniformMatrix4fv coder(
observations, location, count, transpose,
gapic::coder::gles::GLfloat__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(values), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glUniformMatrix4x2fv(int32_t location, int32_t count, uint8_t transpose,
float* value) {
GAPID_INFO("glUniformMatrix4x2fv(%" PRId32 ", %" PRId32 ", %" PRIu8 ", %p)\n", location, count,
transpose, value);
Observations observations;
do {
uint32_t l_minRequiredVersion_825_major = 3;
uint32_t l_minRequiredVersion_825_minor = 0;
observe(observations.mReads);
mImports.glUniformMatrix4x2fv(location, count, transpose, value);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlUniformMatrix4x2fv coder(
observations, location, count, transpose,
gapic::coder::gles::GLfloat__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(value), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glUniformMatrix4x3fv(int32_t location, int32_t count, uint8_t transpose,
float* value) {
GAPID_INFO("glUniformMatrix4x3fv(%" PRId32 ", %" PRId32 ", %" PRIu8 ", %p)\n", location, count,
transpose, value);
Observations observations;
do {
uint32_t l_minRequiredVersion_826_major = 3;
uint32_t l_minRequiredVersion_826_minor = 0;
observe(observations.mReads);
mImports.glUniformMatrix4x3fv(location, count, transpose, value);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlUniformMatrix4x3fv coder(
observations, location, count, transpose,
gapic::coder::gles::GLfloat__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(value), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glUseProgram(uint32_t program) {
GAPID_INFO("glUseProgram(%" PRIu32 ")\n", program);
Observations observations;
do {
uint32_t l_minRequiredVersion_827_major = 2;
uint32_t l_minRequiredVersion_827_minor = 0;
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_828_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_828_result;
l_ctx->mBoundProgram = program;
observe(observations.mReads);
mImports.glUseProgram(program);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlUseProgram coder(observations, program);
mEncoder->Object(&coder);
}
inline void GlesSpy::glUseProgramStages(uint32_t pipeline, uint32_t stages, uint32_t program) {
GAPID_INFO("glUseProgramStages(%" PRIu32 ", %u, %" PRIu32 ")\n", pipeline, stages, program);
Observations observations;
do {
uint32_t l_minRequiredVersion_829_major = 3;
uint32_t l_minRequiredVersion_829_minor = 1;
uint32_t l_supportsBits_830_seenBits = stages;
uint32_t l_supportsBits_830_validBits =
GLbitfield::GL_ALL_SHADER_BITS | GLbitfield::GL_COMPUTE_SHADER_BIT |
GLbitfield::GL_FRAGMENT_SHADER_BIT | GLbitfield::GL_VERTEX_SHADER_BIT;
if ((stages & GLbitfield::GL_ALL_SHADER_BITS) != 0) {
}
if ((stages & GLbitfield::GL_COMPUTE_SHADER_BIT) != 0) {
}
if ((stages & GLbitfield::GL_FRAGMENT_SHADER_BIT) != 0) {
}
if ((stages & GLbitfield::GL_VERTEX_SHADER_BIT) != 0) {
}
observe(observations.mReads);
mImports.glUseProgramStages(pipeline, stages, program);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlUseProgramStages coder(observations, pipeline, stages, program);
mEncoder->Object(&coder);
}
inline void GlesSpy::glValidateProgram(uint32_t program) {
GAPID_INFO("glValidateProgram(%" PRIu32 ")\n", program);
Observations observations;
do {
uint32_t l_minRequiredVersion_831_major = 2;
uint32_t l_minRequiredVersion_831_minor = 0;
observe(observations.mReads);
mImports.glValidateProgram(program);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlValidateProgram coder(observations, program);
mEncoder->Object(&coder);
}
inline void GlesSpy::glValidateProgramPipeline(uint32_t pipeline) {
GAPID_INFO("glValidateProgramPipeline(%" PRIu32 ")\n", pipeline);
Observations observations;
do {
uint32_t l_minRequiredVersion_832_major = 3;
uint32_t l_minRequiredVersion_832_minor = 1;
observe(observations.mReads);
mImports.glValidateProgramPipeline(pipeline);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlValidateProgramPipeline coder(observations, pipeline);
mEncoder->Object(&coder);
}
inline void GlesSpy::glCullFace(uint32_t mode) {
GAPID_INFO("glCullFace(%u)\n", mode);
Observations observations;
do {
uint32_t l_minRequiredVersion_833_major = 2;
uint32_t l_minRequiredVersion_833_minor = 0;
switch (mode) {
case GLenum::GL_BACK: // fall-through...
case GLenum::GL_FRONT: // fall-through...
case GLenum::GL_FRONT_AND_BACK: {
break;
}
}
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_835_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_835_result;
l_ctx->mRasterizing.mCullFace = mode;
observe(observations.mReads);
mImports.glCullFace(mode);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlCullFace coder(observations, mode);
mEncoder->Object(&coder);
}
inline void GlesSpy::glDepthRangef(float near, float far) {
GAPID_INFO("glDepthRangef(%f, %f)\n", near, far);
Observations observations;
do {
uint32_t l_minRequiredVersion_836_major = 2;
uint32_t l_minRequiredVersion_836_minor = 0;
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_837_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_837_result;
l_ctx->mRasterizing.mDepthNear = near;
l_ctx->mRasterizing.mDepthFar = far;
observe(observations.mReads);
mImports.glDepthRangef(near, far);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlDepthRangef coder(observations, near, far);
mEncoder->Object(&coder);
}
inline void GlesSpy::glFrontFace(uint32_t orientation) {
GAPID_INFO("glFrontFace(%u)\n", orientation);
Observations observations;
do {
uint32_t l_minRequiredVersion_838_major = 2;
uint32_t l_minRequiredVersion_838_minor = 0;
switch (orientation) {
case GLenum::GL_CCW: // fall-through...
case GLenum::GL_CW: {
break;
}
}
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_840_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_840_result;
l_ctx->mRasterizing.mFrontFace = orientation;
observe(observations.mReads);
mImports.glFrontFace(orientation);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlFrontFace coder(observations, orientation);
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetMultisamplefv(uint32_t pname, uint32_t index, float* val) {
GAPID_INFO("glGetMultisamplefv(%u, %" PRIu32 ", %p)\n", pname, index, val);
Observations observations;
do {
uint32_t l_minRequiredVersion_841_major = 3;
uint32_t l_minRequiredVersion_841_minor = 1;
switch (pname) {
case GLenum::GL_SAMPLE_POSITION: {
break;
}
}
observe(observations.mReads);
mImports.glGetMultisamplefv(pname, index, val);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetMultisamplefv coder(
observations, pname, index,
gapic::coder::gles::GLfloat__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(val), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glLineWidth(float width) {
GAPID_INFO("glLineWidth(%f)\n", width);
Observations observations;
do {
uint32_t l_minRequiredVersion_843_major = 2;
uint32_t l_minRequiredVersion_843_minor = 0;
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_844_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_844_result;
l_ctx->mRasterizing.mLineWidth = width;
observe(observations.mReads);
mImports.glLineWidth(width);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlLineWidth coder(observations, width);
mEncoder->Object(&coder);
}
inline void GlesSpy::glPolygonOffset(float scale_factor, float units) {
GAPID_INFO("glPolygonOffset(%f, %f)\n", scale_factor, units);
Observations observations;
do {
uint32_t l_minRequiredVersion_845_major = 2;
uint32_t l_minRequiredVersion_845_minor = 0;
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_846_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_846_result;
l_ctx->mRasterizing.mPolygonOffsetUnits = units;
l_ctx->mRasterizing.mPolygonOffsetFactor = scale_factor;
observe(observations.mReads);
mImports.glPolygonOffset(scale_factor, units);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlPolygonOffset coder(observations, scale_factor, units);
mEncoder->Object(&coder);
}
inline void GlesSpy::glViewport(int32_t x, int32_t y, int32_t width, int32_t height) {
GAPID_INFO("glViewport(%" PRId32 ", %" PRId32 ", %" PRId32 ", %" PRId32 ")\n", x, y, width,
height);
Observations observations;
do {
uint32_t l_minRequiredVersion_847_major = 2;
uint32_t l_minRequiredVersion_847_minor = 0;
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_848_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_848_result;
l_ctx->mRasterizing.mViewport = Rect().SetX(x).SetY(y).SetWidth(width).SetHeight(height);
observe(observations.mReads);
mImports.glViewport(x, y, width, height);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlViewport coder(observations, x, y, width, height);
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetBooleani_v(uint32_t target, uint32_t index, uint8_t* data) {
GAPID_INFO("glGetBooleani_v(%u, %" PRIu32 ", %p)\n", target, index, data);
Observations observations;
do {
uint32_t l_minRequiredVersion_849_major = 3;
uint32_t l_minRequiredVersion_849_minor = 1;
switch (target) {
case GLenum::GL_ACTIVE_TEXTURE: // fall-through...
case GLenum::GL_ALIASED_LINE_WIDTH_RANGE: // fall-through...
case GLenum::GL_ALIASED_POINT_SIZE_RANGE: // fall-through...
case GLenum::GL_ALPHA_BITS: // fall-through...
case GLenum::GL_ARRAY_BUFFER_BINDING: // fall-through...
case GLenum::GL_BLEND: // fall-through...
case GLenum::GL_BLEND_COLOR: // fall-through...
case GLenum::GL_BLEND_DST_ALPHA: // fall-through...
case GLenum::GL_BLEND_DST_RGB: // fall-through...
case GLenum::GL_BLEND_EQUATION_ALPHA: // fall-through...
case GLenum::GL_BLEND_EQUATION_RGB: // fall-through...
case GLenum::GL_BLEND_SRC_ALPHA: // fall-through...
case GLenum::GL_BLEND_SRC_RGB: // fall-through...
case GLenum::GL_BLUE_BITS: // fall-through...
case GLenum::GL_COLOR_CLEAR_VALUE: // fall-through...
case GLenum::GL_COLOR_WRITEMASK: // fall-through...
case GLenum::GL_COMPRESSED_TEXTURE_FORMATS: // fall-through...
case GLenum::GL_COPY_READ_BUFFER_BINDING: // fall-through...
case GLenum::GL_COPY_WRITE_BUFFER_BINDING: // fall-through...
case GLenum::GL_CULL_FACE: // fall-through...
case GLenum::GL_CULL_FACE_MODE: // fall-through...
case GLenum::GL_CURRENT_PROGRAM: // fall-through...
case GLenum::GL_DEPTH_BITS: // fall-through...
case GLenum::GL_DEPTH_CLEAR_VALUE: // fall-through...
case GLenum::GL_DEPTH_FUNC: // fall-through...
case GLenum::GL_DEPTH_RANGE: // fall-through...
case GLenum::GL_DEPTH_TEST: // fall-through...
case GLenum::GL_DEPTH_WRITEMASK: // fall-through...
case GLenum::GL_DISPATCH_INDIRECT_BUFFER_BINDING: // fall-through...
case GLenum::GL_DITHER: // fall-through...
case GLenum::GL_DRAW_BUFFER: // fall-through...
case GLenum::GL_DRAW_FRAMEBUFFER_BINDING: // fall-through...
case GLenum::GL_ELEMENT_ARRAY_BUFFER_BINDING: // fall-through...
case GLenum::GL_FRAGMENT_SHADER_DERIVATIVE_HINT: // fall-through...
case GLenum::GL_FRONT_FACE: // fall-through...
case GLenum::GL_GENERATE_MIPMAP_HINT: // fall-through...
case GLenum::GL_GREEN_BITS: // fall-through...
case GLenum::GL_IMAGE_BINDING_LAYERED: // fall-through...
case GLenum::GL_IMPLEMENTATION_COLOR_READ_FORMAT: // fall-through...
case GLenum::GL_IMPLEMENTATION_COLOR_READ_TYPE: // fall-through...
case GLenum::GL_LINE_WIDTH: // fall-through...
case GLenum::GL_MAJOR_VERSION: // fall-through...
case GLenum::GL_MAX_3D_TEXTURE_SIZE: // fall-through...
case GLenum::GL_MAX_ARRAY_TEXTURE_LAYERS: // fall-through...
case GLenum::GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS: // fall-through...
case GLenum::GL_MAX_COLOR_ATTACHMENTS: // fall-through...
case GLenum::GL_MAX_COLOR_TEXTURE_SAMPLES: // fall-through...
case GLenum::GL_MAX_COMBINED_ATOMIC_COUNTERS: // fall-through...
case GLenum::GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS: // fall-through...
case GLenum::GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS: // fall-through...
case GLenum::GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS: // fall-through...
case GLenum::GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS: // fall-through...
case GLenum::GL_MAX_COMBINED_UNIFORM_BLOCKS: // fall-through...
case GLenum::GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS: // fall-through...
case GLenum::GL_MAX_COMPUTE_ATOMIC_COUNTERS: // fall-through...
case GLenum::GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS: // fall-through...
case GLenum::GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS: // fall-through...
case GLenum::GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS: // fall-through...
case GLenum::GL_MAX_COMPUTE_UNIFORM_BLOCKS: // fall-through...
case GLenum::GL_MAX_COMPUTE_UNIFORM_COMPONENTS: // fall-through...
case GLenum::GL_MAX_COMPUTE_WORK_GROUP_COUNT: // fall-through...
case GLenum::GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS: // fall-through...
case GLenum::GL_MAX_COMPUTE_WORK_GROUP_SIZE: // fall-through...
case GLenum::GL_MAX_CUBE_MAP_TEXTURE_SIZE: // fall-through...
case GLenum::GL_MAX_DRAW_BUFFERS: // fall-through...
case GLenum::GL_MAX_ELEMENTS_INDICES: // fall-through...
case GLenum::GL_MAX_ELEMENTS_VERTICES: // fall-through...
case GLenum::GL_MAX_ELEMENT_INDEX: // fall-through...
case GLenum::GL_MAX_FRAGMENT_ATOMIC_COUNTERS: // fall-through...
case GLenum::GL_MAX_FRAGMENT_INPUT_COMPONENTS: // fall-through...
case GLenum::GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS: // fall-through...
case GLenum::GL_MAX_FRAGMENT_UNIFORM_BLOCKS: // fall-through...
case GLenum::GL_MAX_FRAGMENT_UNIFORM_COMPONENTS: // fall-through...
case GLenum::GL_MAX_FRAGMENT_UNIFORM_VECTORS: // fall-through...
case GLenum::GL_MAX_FRAMEBUFFER_HEIGHT: // fall-through...
case GLenum::GL_MAX_FRAMEBUFFER_SAMPLES: // fall-through...
case GLenum::GL_MAX_FRAMEBUFFER_WIDTH: // fall-through...
case GLenum::GL_MAX_INTEGER_SAMPLES: // fall-through...
case GLenum::GL_MAX_PROGRAM_TEXEL_OFFSET: // fall-through...
case GLenum::GL_MAX_RENDERBUFFER_SIZE: // fall-through...
case GLenum::GL_MAX_SAMPLES: // fall-through...
case GLenum::GL_MAX_SAMPLE_MASK_WORDS: // fall-through...
case GLenum::GL_MAX_SERVER_WAIT_TIMEOUT: // fall-through...
case GLenum::GL_MAX_SHADER_STORAGE_BLOCK_SIZE: // fall-through...
case GLenum::GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS: // fall-through...
case GLenum::GL_MAX_TEXTURE_IMAGE_UNITS: // fall-through...
case GLenum::GL_MAX_TEXTURE_LOD_BIAS: // fall-through...
case GLenum::GL_MAX_TEXTURE_SIZE: // fall-through...
case GLenum::GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS: // fall-through...
case GLenum::GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS: // fall-through...
case GLenum::GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS: // fall-through...
case GLenum::GL_MAX_UNIFORM_BLOCK_SIZE: // fall-through...
case GLenum::GL_MAX_UNIFORM_BUFFER_BINDINGS: // fall-through...
case GLenum::GL_MAX_UNIFORM_LOCATIONS: // fall-through...
case GLenum::GL_MAX_VARYING_COMPONENTS: // fall-through...
case GLenum::GL_MAX_VARYING_VECTORS: // fall-through...
case GLenum::GL_MAX_VERTEX_ATOMIC_COUNTERS: // fall-through...
case GLenum::GL_MAX_VERTEX_ATTRIBS: // fall-through...
case GLenum::GL_MAX_VERTEX_ATTRIB_BINDINGS: // fall-through...
case GLenum::GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET: // fall-through...
case GLenum::GL_MAX_VERTEX_OUTPUT_COMPONENTS: // fall-through...
case GLenum::GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS: // fall-through...
case GLenum::GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS: // fall-through...
case GLenum::GL_MAX_VERTEX_UNIFORM_BLOCKS: // fall-through...
case GLenum::GL_MAX_VERTEX_UNIFORM_COMPONENTS: // fall-through...
case GLenum::GL_MAX_VERTEX_UNIFORM_VECTORS: // fall-through...
case GLenum::GL_MAX_VIEWPORT_DIMS: // fall-through...
case GLenum::GL_MINOR_VERSION: // fall-through...
case GLenum::GL_MIN_PROGRAM_TEXEL_OFFSET: // fall-through...
case GLenum::GL_NUM_COMPRESSED_TEXTURE_FORMATS: // fall-through...
case GLenum::GL_NUM_EXTENSIONS: // fall-through...
case GLenum::GL_NUM_PROGRAM_BINARY_FORMATS: // fall-through...
case GLenum::GL_NUM_SHADER_BINARY_FORMATS: // fall-through...
case GLenum::GL_PACK_ALIGNMENT: // fall-through...
case GLenum::GL_PACK_ROW_LENGTH: // fall-through...
case GLenum::GL_PACK_SKIP_PIXELS: // fall-through...
case GLenum::GL_PACK_SKIP_ROWS: // fall-through...
case GLenum::GL_PIXEL_PACK_BUFFER_BINDING: // fall-through...
case GLenum::GL_PIXEL_UNPACK_BUFFER_BINDING: // fall-through...
case GLenum::GL_POLYGON_OFFSET_FACTOR: // fall-through...
case GLenum::GL_POLYGON_OFFSET_FILL: // fall-through...
case GLenum::GL_POLYGON_OFFSET_UNITS: // fall-through...
case GLenum::GL_PRIMITIVE_RESTART_FIXED_INDEX: // fall-through...
case GLenum::GL_PROGRAM_BINARY_FORMATS: // fall-through...
case GLenum::GL_PROGRAM_PIPELINE_BINDING: // fall-through...
case GLenum::GL_RASTERIZER_DISCARD: // fall-through...
case GLenum::GL_READ_BUFFER: // fall-through...
case GLenum::GL_READ_FRAMEBUFFER_BINDING: // fall-through...
case GLenum::GL_RED_BITS: // fall-through...
case GLenum::GL_RENDERBUFFER_BINDING: // fall-through...
case GLenum::GL_SAMPLER_BINDING: // fall-through...
case GLenum::GL_SAMPLES: // fall-through...
case GLenum::GL_SAMPLE_ALPHA_TO_COVERAGE: // fall-through...
case GLenum::GL_SAMPLE_BUFFERS: // fall-through...
case GLenum::GL_SAMPLE_COVERAGE: // fall-through...
case GLenum::GL_SAMPLE_COVERAGE_INVERT: // fall-through...
case GLenum::GL_SAMPLE_COVERAGE_VALUE: // fall-through...
case GLenum::GL_SCISSOR_BOX: // fall-through...
case GLenum::GL_SCISSOR_TEST: // fall-through...
case GLenum::GL_SHADER_BINARY_FORMATS: // fall-through...
case GLenum::GL_SHADER_COMPILER: // fall-through...
case GLenum::GL_SHADER_STORAGE_BUFFER_BINDING: // fall-through...
case GLenum::GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT: // fall-through...
case GLenum::GL_SHADER_STORAGE_BUFFER_SIZE: // fall-through...
case GLenum::GL_SHADER_STORAGE_BUFFER_START: // fall-through...
case GLenum::GL_STENCIL_BACK_FAIL: // fall-through...
case GLenum::GL_STENCIL_BACK_FUNC: // fall-through...
case GLenum::GL_STENCIL_BACK_PASS_DEPTH_FAIL: // fall-through...
case GLenum::GL_STENCIL_BACK_PASS_DEPTH_PASS: // fall-through...
case GLenum::GL_STENCIL_BACK_REF: // fall-through...
case GLenum::GL_STENCIL_BACK_VALUE_MASK: // fall-through...
case GLenum::GL_STENCIL_BACK_WRITEMASK: // fall-through...
case GLenum::GL_STENCIL_BITS: // fall-through...
case GLenum::GL_STENCIL_CLEAR_VALUE: // fall-through...
case GLenum::GL_STENCIL_FAIL: // fall-through...
case GLenum::GL_STENCIL_FUNC: // fall-through...
case GLenum::GL_STENCIL_PASS_DEPTH_FAIL: // fall-through...
case GLenum::GL_STENCIL_PASS_DEPTH_PASS: // fall-through...
case GLenum::GL_STENCIL_REF: // fall-through...
case GLenum::GL_STENCIL_TEST: // fall-through...
case GLenum::GL_STENCIL_VALUE_MASK: // fall-through...
case GLenum::GL_STENCIL_WRITEMASK: // fall-through...
case GLenum::GL_SUBPIXEL_BITS: // fall-through...
case GLenum::GL_TEXTURE_BINDING_2D: // fall-through...
case GLenum::GL_TEXTURE_BINDING_2D_ARRAY: // fall-through...
case GLenum::GL_TEXTURE_BINDING_2D_MULTISAMPLE: // fall-through...
case GLenum::GL_TEXTURE_BINDING_3D: // fall-through...
case GLenum::GL_TEXTURE_BINDING_CUBE_MAP: // fall-through...
case GLenum::GL_TRANSFORM_FEEDBACK_ACTIVE: // fall-through...
case GLenum::GL_TRANSFORM_FEEDBACK_BINDING: // fall-through...
case GLenum::GL_TRANSFORM_FEEDBACK_BUFFER_BINDING: // fall-through...
case GLenum::GL_TRANSFORM_FEEDBACK_BUFFER_SIZE: // fall-through...
case GLenum::GL_TRANSFORM_FEEDBACK_BUFFER_START: // fall-through...
case GLenum::GL_TRANSFORM_FEEDBACK_PAUSED: // fall-through...
case GLenum::GL_UNIFORM_BUFFER_BINDING: // fall-through...
case GLenum::GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT: // fall-through...
case GLenum::GL_UNIFORM_BUFFER_SIZE: // fall-through...
case GLenum::GL_UNIFORM_BUFFER_START: // fall-through...
case GLenum::GL_UNPACK_ALIGNMENT: // fall-through...
case GLenum::GL_UNPACK_IMAGE_HEIGHT: // fall-through...
case GLenum::GL_UNPACK_ROW_LENGTH: // fall-through...
case GLenum::GL_UNPACK_SKIP_IMAGES: // fall-through...
case GLenum::GL_UNPACK_SKIP_PIXELS: // fall-through...
case GLenum::GL_UNPACK_SKIP_ROWS: // fall-through...
case GLenum::GL_VERTEX_ARRAY_BINDING: // fall-through...
case GLenum::GL_VERTEX_BINDING_DIVISOR: // fall-through...
case GLenum::GL_VERTEX_BINDING_OFFSET: // fall-through...
case GLenum::GL_VERTEX_BINDING_STRIDE: // fall-through...
case GLenum::GL_VIEWPORT: {
break;
}
}
observe(observations.mReads);
mImports.glGetBooleani_v(target, index, data);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetBooleani_v coder(
observations, target, index,
gapic::coder::gles::GLboolean__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(data), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetBooleanv(uint32_t param, uint8_t* values) {
GAPID_INFO("glGetBooleanv(%u, %p)\n", param, values);
Observations observations;
do {
uint32_t l_minRequiredVersion_851_major = 2;
uint32_t l_minRequiredVersion_851_minor = 0;
switch (param) {
case GLenum::GL_ACTIVE_TEXTURE: // fall-through...
case GLenum::GL_ALIASED_LINE_WIDTH_RANGE: // fall-through...
case GLenum::GL_ALIASED_POINT_SIZE_RANGE: // fall-through...
case GLenum::GL_ALPHA_BITS: // fall-through...
case GLenum::GL_ARRAY_BUFFER_BINDING: // fall-through...
case GLenum::GL_BLEND: // fall-through...
case GLenum::GL_BLEND_COLOR: // fall-through...
case GLenum::GL_BLEND_DST_ALPHA: // fall-through...
case GLenum::GL_BLEND_DST_RGB: // fall-through...
case GLenum::GL_BLEND_EQUATION_ALPHA: // fall-through...
case GLenum::GL_BLEND_EQUATION_RGB: // fall-through...
case GLenum::GL_BLEND_SRC_ALPHA: // fall-through...
case GLenum::GL_BLEND_SRC_RGB: // fall-through...
case GLenum::GL_BLUE_BITS: // fall-through...
case GLenum::GL_COLOR_CLEAR_VALUE: // fall-through...
case GLenum::GL_COLOR_WRITEMASK: // fall-through...
case GLenum::GL_COMPRESSED_TEXTURE_FORMATS: // fall-through...
case GLenum::GL_CULL_FACE: // fall-through...
case GLenum::GL_CULL_FACE_MODE: // fall-through...
case GLenum::GL_CURRENT_PROGRAM: // fall-through...
case GLenum::GL_DEPTH_BITS: // fall-through...
case GLenum::GL_DEPTH_CLEAR_VALUE: // fall-through...
case GLenum::GL_DEPTH_FUNC: // fall-through...
case GLenum::GL_DEPTH_RANGE: // fall-through...
case GLenum::GL_DEPTH_TEST: // fall-through...
case GLenum::GL_DEPTH_WRITEMASK: // fall-through...
case GLenum::GL_DITHER: // fall-through...
case GLenum::GL_ELEMENT_ARRAY_BUFFER_BINDING: // fall-through...
case GLenum::GL_DRAW_FRAMEBUFFER_BINDING: // fall-through...
case GLenum::GL_FRONT_FACE: // fall-through...
case GLenum::GL_GENERATE_MIPMAP_HINT: // fall-through...
case GLenum::GL_GREEN_BITS: // fall-through...
case GLenum::GL_IMPLEMENTATION_COLOR_READ_FORMAT: // fall-through...
case GLenum::GL_IMPLEMENTATION_COLOR_READ_TYPE: // fall-through...
case GLenum::GL_LINE_WIDTH: // fall-through...
case GLenum::GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS: // fall-through...
case GLenum::GL_MAX_CUBE_MAP_TEXTURE_SIZE: // fall-through...
case GLenum::GL_MAX_FRAGMENT_UNIFORM_VECTORS: // fall-through...
case GLenum::GL_MAX_RENDERBUFFER_SIZE: // fall-through...
case GLenum::GL_MAX_TEXTURE_IMAGE_UNITS: // fall-through...
case GLenum::GL_MAX_TEXTURE_SIZE: // fall-through...
case GLenum::GL_MAX_VARYING_VECTORS: // fall-through...
case GLenum::GL_MAX_VERTEX_ATTRIBS: // fall-through...
case GLenum::GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS: // fall-through...
case GLenum::GL_MAX_VERTEX_UNIFORM_VECTORS: // fall-through...
case GLenum::GL_MAX_VIEWPORT_DIMS: // fall-through...
case GLenum::GL_NUM_COMPRESSED_TEXTURE_FORMATS: // fall-through...
case GLenum::GL_NUM_SHADER_BINARY_FORMATS: // fall-through...
case GLenum::GL_PACK_ALIGNMENT: // fall-through...
case GLenum::GL_POLYGON_OFFSET_FACTOR: // fall-through...
case GLenum::GL_POLYGON_OFFSET_FILL: // fall-through...
case GLenum::GL_POLYGON_OFFSET_UNITS: // fall-through...
case GLenum::GL_RED_BITS: // fall-through...
case GLenum::GL_RENDERBUFFER_BINDING: // fall-through...
case GLenum::GL_SAMPLES: // fall-through...
case GLenum::GL_SAMPLE_ALPHA_TO_COVERAGE: // fall-through...
case GLenum::GL_SAMPLE_BUFFERS: // fall-through...
case GLenum::GL_SAMPLE_COVERAGE: // fall-through...
case GLenum::GL_SAMPLE_COVERAGE_INVERT: // fall-through...
case GLenum::GL_SAMPLE_COVERAGE_VALUE: // fall-through...
case GLenum::GL_SCISSOR_BOX: // fall-through...
case GLenum::GL_SCISSOR_TEST: // fall-through...
case GLenum::GL_SHADER_BINARY_FORMATS: // fall-through...
case GLenum::GL_SHADER_COMPILER: // fall-through...
case GLenum::GL_STENCIL_BACK_FAIL: // fall-through...
case GLenum::GL_STENCIL_BACK_FUNC: // fall-through...
case GLenum::GL_STENCIL_BACK_PASS_DEPTH_FAIL: // fall-through...
case GLenum::GL_STENCIL_BACK_PASS_DEPTH_PASS: // fall-through...
case GLenum::GL_STENCIL_BACK_REF: // fall-through...
case GLenum::GL_STENCIL_BACK_VALUE_MASK: // fall-through...
case GLenum::GL_STENCIL_BACK_WRITEMASK: // fall-through...
case GLenum::GL_STENCIL_BITS: // fall-through...
case GLenum::GL_STENCIL_CLEAR_VALUE: // fall-through...
case GLenum::GL_STENCIL_FAIL: // fall-through...
case GLenum::GL_STENCIL_FUNC: // fall-through...
case GLenum::GL_STENCIL_PASS_DEPTH_FAIL: // fall-through...
case GLenum::GL_STENCIL_PASS_DEPTH_PASS: // fall-through...
case GLenum::GL_STENCIL_REF: // fall-through...
case GLenum::GL_STENCIL_TEST: // fall-through...
case GLenum::GL_STENCIL_VALUE_MASK: // fall-through...
case GLenum::GL_STENCIL_WRITEMASK: // fall-through...
case GLenum::GL_SUBPIXEL_BITS: // fall-through...
case GLenum::GL_TEXTURE_BINDING_2D: // fall-through...
case GLenum::GL_TEXTURE_BINDING_CUBE_MAP: // fall-through...
case GLenum::GL_UNPACK_ALIGNMENT: // fall-through...
case GLenum::GL_VIEWPORT: {
break;
}
case GLenum::GL_COPY_READ_BUFFER_BINDING: // fall-through...
case GLenum::GL_COPY_WRITE_BUFFER_BINDING: // fall-through...
case GLenum::GL_DRAW_BUFFER: // fall-through...
case GLenum::GL_FRAGMENT_SHADER_DERIVATIVE_HINT: // fall-through...
case GLenum::GL_MAJOR_VERSION: // fall-through...
case GLenum::GL_MAX_3D_TEXTURE_SIZE: // fall-through...
case GLenum::GL_MAX_ARRAY_TEXTURE_LAYERS: // fall-through...
case GLenum::GL_MAX_COLOR_ATTACHMENTS: // fall-through...
case GLenum::GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS: // fall-through...
case GLenum::GL_MAX_COMBINED_UNIFORM_BLOCKS: // fall-through...
case GLenum::GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS: // fall-through...
case GLenum::GL_MAX_DRAW_BUFFERS: // fall-through...
case GLenum::GL_MAX_ELEMENTS_INDICES: // fall-through...
case GLenum::GL_MAX_ELEMENTS_VERTICES: // fall-through...
case GLenum::GL_MAX_ELEMENT_INDEX: // fall-through...
case GLenum::GL_MAX_FRAGMENT_INPUT_COMPONENTS: // fall-through...
case GLenum::GL_MAX_FRAGMENT_UNIFORM_BLOCKS: // fall-through...
case GLenum::GL_MAX_FRAGMENT_UNIFORM_COMPONENTS: // fall-through...
case GLenum::GL_MAX_PROGRAM_TEXEL_OFFSET: // fall-through...
case GLenum::GL_MAX_SAMPLES: // fall-through...
case GLenum::GL_MAX_SERVER_WAIT_TIMEOUT: // fall-through...
case GLenum::GL_MAX_TEXTURE_LOD_BIAS: // fall-through...
case GLenum::GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS: // fall-through...
case GLenum::GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS: // fall-through...
case GLenum::GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS: // fall-through...
case GLenum::GL_MAX_UNIFORM_BLOCK_SIZE: // fall-through...
case GLenum::GL_MAX_UNIFORM_BUFFER_BINDINGS: // fall-through...
case GLenum::GL_MAX_VARYING_COMPONENTS: // fall-through...
case GLenum::GL_MAX_VERTEX_OUTPUT_COMPONENTS: // fall-through...
case GLenum::GL_MAX_VERTEX_UNIFORM_BLOCKS: // fall-through...
case GLenum::GL_MAX_VERTEX_UNIFORM_COMPONENTS: // fall-through...
case GLenum::GL_MINOR_VERSION: // fall-through...
case GLenum::GL_MIN_PROGRAM_TEXEL_OFFSET: // fall-through...
case GLenum::GL_NUM_EXTENSIONS: // fall-through...
case GLenum::GL_NUM_PROGRAM_BINARY_FORMATS: // fall-through...
case GLenum::GL_PACK_ROW_LENGTH: // fall-through...
case GLenum::GL_PACK_SKIP_PIXELS: // fall-through...
case GLenum::GL_PACK_SKIP_ROWS: // fall-through...
case GLenum::GL_PIXEL_PACK_BUFFER_BINDING: // fall-through...
case GLenum::GL_PIXEL_UNPACK_BUFFER_BINDING: // fall-through...
case GLenum::GL_PRIMITIVE_RESTART_FIXED_INDEX: // fall-through...
case GLenum::GL_PROGRAM_BINARY_FORMATS: // fall-through...
case GLenum::GL_RASTERIZER_DISCARD: // fall-through...
case GLenum::GL_READ_BUFFER: // fall-through...
case GLenum::GL_READ_FRAMEBUFFER_BINDING: // fall-through...
case GLenum::GL_SAMPLER_BINDING: // fall-through...
case GLenum::GL_TEXTURE_BINDING_2D_ARRAY: // fall-through...
case GLenum::GL_TEXTURE_BINDING_3D: // fall-through...
case GLenum::GL_TRANSFORM_FEEDBACK_ACTIVE: // fall-through...
case GLenum::GL_TRANSFORM_FEEDBACK_BINDING: // fall-through...
case GLenum::GL_TRANSFORM_FEEDBACK_BUFFER_BINDING: // fall-through...
case GLenum::GL_TRANSFORM_FEEDBACK_BUFFER_SIZE: // fall-through...
case GLenum::GL_TRANSFORM_FEEDBACK_BUFFER_START: // fall-through...
case GLenum::GL_TRANSFORM_FEEDBACK_PAUSED: // fall-through...
case GLenum::GL_UNIFORM_BUFFER_BINDING: // fall-through...
case GLenum::GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT: // fall-through...
case GLenum::GL_UNIFORM_BUFFER_SIZE: // fall-through...
case GLenum::GL_UNIFORM_BUFFER_START: // fall-through...
case GLenum::GL_UNPACK_IMAGE_HEIGHT: // fall-through...
case GLenum::GL_UNPACK_ROW_LENGTH: // fall-through...
case GLenum::GL_UNPACK_SKIP_IMAGES: // fall-through...
case GLenum::GL_UNPACK_SKIP_PIXELS: // fall-through...
case GLenum::GL_UNPACK_SKIP_ROWS: // fall-through...
case GLenum::GL_VERTEX_ARRAY_BINDING: {
uint32_t l_minRequiredVersion_852_major = 3;
uint32_t l_minRequiredVersion_852_minor = 0;
break;
}
case GLenum::GL_DISPATCH_INDIRECT_BUFFER_BINDING: // fall-through...
case GLenum::GL_IMAGE_BINDING_LAYERED: // fall-through...
case GLenum::GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS: // fall-through...
case GLenum::GL_MAX_COLOR_TEXTURE_SAMPLES: // fall-through...
case GLenum::GL_MAX_COMBINED_ATOMIC_COUNTERS: // fall-through...
case GLenum::GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS: // fall-through...
case GLenum::GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS: // fall-through...
case GLenum::GL_MAX_COMPUTE_ATOMIC_COUNTERS: // fall-through...
case GLenum::GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS: // fall-through...
case GLenum::GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS: // fall-through...
case GLenum::GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS: // fall-through...
case GLenum::GL_MAX_COMPUTE_UNIFORM_BLOCKS: // fall-through...
case GLenum::GL_MAX_COMPUTE_UNIFORM_COMPONENTS: // fall-through...
case GLenum::GL_MAX_COMPUTE_WORK_GROUP_COUNT: // fall-through...
case GLenum::GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS: // fall-through...
case GLenum::GL_MAX_COMPUTE_WORK_GROUP_SIZE: // fall-through...
case GLenum::GL_MAX_FRAGMENT_ATOMIC_COUNTERS: // fall-through...
case GLenum::GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS: // fall-through...
case GLenum::GL_MAX_FRAMEBUFFER_HEIGHT: // fall-through...
case GLenum::GL_MAX_FRAMEBUFFER_SAMPLES: // fall-through...
case GLenum::GL_MAX_FRAMEBUFFER_WIDTH: // fall-through...
case GLenum::GL_MAX_INTEGER_SAMPLES: // fall-through...
case GLenum::GL_MAX_SAMPLE_MASK_WORDS: // fall-through...
case GLenum::GL_MAX_SHADER_STORAGE_BLOCK_SIZE: // fall-through...
case GLenum::GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS: // fall-through...
case GLenum::GL_MAX_UNIFORM_LOCATIONS: // fall-through...
case GLenum::GL_MAX_VERTEX_ATOMIC_COUNTERS: // fall-through...
case GLenum::GL_MAX_VERTEX_ATTRIB_BINDINGS: // fall-through...
case GLenum::GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET: // fall-through...
case GLenum::GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS: // fall-through...
case GLenum::GL_PROGRAM_PIPELINE_BINDING: // fall-through...
case GLenum::GL_SHADER_STORAGE_BUFFER_BINDING: // fall-through...
case GLenum::GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT: // fall-through...
case GLenum::GL_SHADER_STORAGE_BUFFER_SIZE: // fall-through...
case GLenum::GL_SHADER_STORAGE_BUFFER_START: // fall-through...
case GLenum::GL_TEXTURE_BINDING_2D_MULTISAMPLE: // fall-through...
case GLenum::GL_VERTEX_BINDING_DIVISOR: // fall-through...
case GLenum::GL_VERTEX_BINDING_OFFSET: // fall-through...
case GLenum::GL_VERTEX_BINDING_STRIDE: {
uint32_t l_minRequiredVersion_853_major = 3;
uint32_t l_minRequiredVersion_853_minor = 1;
break;
}
}
Slice<GLboolean> l_v = slice(values, (uint64_t)(0), (uint64_t)(stateVariableSize(param)));
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_855_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_855_result;
observe(observations.mReads);
mImports.glGetBooleanv(param, values);
switch (param) {
case GLenum::GL_BLEND: {
write(l_v, 0, (GLboolean)(l_ctx->mCapabilities[GLenum::GL_BLEND]));
break;
}
case GLenum::GL_CULL_FACE: {
write(l_v, 0, (GLboolean)(l_ctx->mCapabilities[GLenum::GL_CULL_FACE]));
break;
}
case GLenum::GL_DEPTH_TEST: {
write(l_v, 0, (GLboolean)(l_ctx->mCapabilities[GLenum::GL_DEPTH_TEST]));
break;
}
case GLenum::GL_DITHER: {
write(l_v, 0, (GLboolean)(l_ctx->mCapabilities[GLenum::GL_DITHER]));
break;
}
case GLenum::GL_POLYGON_OFFSET_FILL: {
write(l_v, 0, (GLboolean)(l_ctx->mCapabilities[GLenum::GL_POLYGON_OFFSET_FILL]));
break;
}
case GLenum::GL_SAMPLE_ALPHA_TO_COVERAGE: {
write(l_v, 0,
(GLboolean)(l_ctx->mCapabilities[GLenum::GL_SAMPLE_ALPHA_TO_COVERAGE]));
break;
}
case GLenum::GL_SAMPLE_COVERAGE: {
write(l_v, 0, (GLboolean)(l_ctx->mCapabilities[GLenum::GL_SAMPLE_COVERAGE]));
break;
}
case GLenum::GL_SCISSOR_TEST: {
write(l_v, 0, (GLboolean)(l_ctx->mCapabilities[GLenum::GL_SCISSOR_TEST]));
break;
}
case GLenum::GL_STENCIL_TEST: {
write(l_v, 0, (GLboolean)(l_ctx->mCapabilities[GLenum::GL_STENCIL_TEST]));
break;
}
case GLenum::GL_DEPTH_WRITEMASK: {
write(l_v, 0, l_ctx->mRasterizing.mDepthMask);
break;
}
case GLenum::GL_COLOR_WRITEMASK: {
write(l_v, 0, l_ctx->mRasterizing.mColorMaskRed);
write(l_v, 1, l_ctx->mRasterizing.mColorMaskGreen);
write(l_v, 2, l_ctx->mRasterizing.mColorMaskBlue);
write(l_v, 3, l_ctx->mRasterizing.mColorMaskAlpha);
break;
}
case GLenum::GL_SAMPLE_COVERAGE_INVERT: {
write(l_v, 0, l_ctx->mRasterizing.mSampleCoverageInvert);
break;
}
case GLenum::GL_SHADER_COMPILER: {
write(l_v, 0,
slice(values, (uint64_t)(0), (uint64_t)(stateVariableSize(param)))[0]);
break;
}
case GLenum::GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT: {
write(l_v, 0,
slice(values, (uint64_t)(0), (uint64_t)(stateVariableSize(param)))[0]);
break;
}
}
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetBooleanv coder(
observations, param, gapic::coder::gles::GLboolean__P(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(values), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetFloatv(uint32_t param, float* values) {
GAPID_INFO("glGetFloatv(%u, %p)\n", param, values);
Observations observations;
do {
uint32_t l_minRequiredVersion_856_major = 2;
uint32_t l_minRequiredVersion_856_minor = 0;
switch (param) {
case GLenum::GL_ACTIVE_TEXTURE: // fall-through...
case GLenum::GL_ALIASED_LINE_WIDTH_RANGE: // fall-through...
case GLenum::GL_ALIASED_POINT_SIZE_RANGE: // fall-through...
case GLenum::GL_ALPHA_BITS: // fall-through...
case GLenum::GL_ARRAY_BUFFER_BINDING: // fall-through...
case GLenum::GL_BLEND: // fall-through...
case GLenum::GL_BLEND_COLOR: // fall-through...
case GLenum::GL_BLEND_DST_ALPHA: // fall-through...
case GLenum::GL_BLEND_DST_RGB: // fall-through...
case GLenum::GL_BLEND_EQUATION_ALPHA: // fall-through...
case GLenum::GL_BLEND_EQUATION_RGB: // fall-through...
case GLenum::GL_BLEND_SRC_ALPHA: // fall-through...
case GLenum::GL_BLEND_SRC_RGB: // fall-through...
case GLenum::GL_BLUE_BITS: // fall-through...
case GLenum::GL_COLOR_CLEAR_VALUE: // fall-through...
case GLenum::GL_COLOR_WRITEMASK: // fall-through...
case GLenum::GL_COMPRESSED_TEXTURE_FORMATS: // fall-through...
case GLenum::GL_CULL_FACE: // fall-through...
case GLenum::GL_CULL_FACE_MODE: // fall-through...
case GLenum::GL_CURRENT_PROGRAM: // fall-through...
case GLenum::GL_DEPTH_BITS: // fall-through...
case GLenum::GL_DEPTH_CLEAR_VALUE: // fall-through...
case GLenum::GL_DEPTH_FUNC: // fall-through...
case GLenum::GL_DEPTH_RANGE: // fall-through...
case GLenum::GL_DEPTH_TEST: // fall-through...
case GLenum::GL_DEPTH_WRITEMASK: // fall-through...
case GLenum::GL_DITHER: // fall-through...
case GLenum::GL_ELEMENT_ARRAY_BUFFER_BINDING: // fall-through...
case GLenum::GL_DRAW_FRAMEBUFFER_BINDING: // fall-through...
case GLenum::GL_FRONT_FACE: // fall-through...
case GLenum::GL_GENERATE_MIPMAP_HINT: // fall-through...
case GLenum::GL_GREEN_BITS: // fall-through...
case GLenum::GL_IMPLEMENTATION_COLOR_READ_FORMAT: // fall-through...
case GLenum::GL_IMPLEMENTATION_COLOR_READ_TYPE: // fall-through...
case GLenum::GL_LINE_WIDTH: // fall-through...
case GLenum::GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS: // fall-through...
case GLenum::GL_MAX_CUBE_MAP_TEXTURE_SIZE: // fall-through...
case GLenum::GL_MAX_FRAGMENT_UNIFORM_VECTORS: // fall-through...
case GLenum::GL_MAX_RENDERBUFFER_SIZE: // fall-through...
case GLenum::GL_MAX_TEXTURE_IMAGE_UNITS: // fall-through...
case GLenum::GL_MAX_TEXTURE_SIZE: // fall-through...
case GLenum::GL_MAX_VARYING_VECTORS: // fall-through...
case GLenum::GL_MAX_VERTEX_ATTRIBS: // fall-through...
case GLenum::GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS: // fall-through...
case GLenum::GL_MAX_VERTEX_UNIFORM_VECTORS: // fall-through...
case GLenum::GL_MAX_VIEWPORT_DIMS: // fall-through...
case GLenum::GL_NUM_COMPRESSED_TEXTURE_FORMATS: // fall-through...
case GLenum::GL_NUM_SHADER_BINARY_FORMATS: // fall-through...
case GLenum::GL_PACK_ALIGNMENT: // fall-through...
case GLenum::GL_POLYGON_OFFSET_FACTOR: // fall-through...
case GLenum::GL_POLYGON_OFFSET_FILL: // fall-through...
case GLenum::GL_POLYGON_OFFSET_UNITS: // fall-through...
case GLenum::GL_RED_BITS: // fall-through...
case GLenum::GL_RENDERBUFFER_BINDING: // fall-through...
case GLenum::GL_SAMPLES: // fall-through...
case GLenum::GL_SAMPLE_ALPHA_TO_COVERAGE: // fall-through...
case GLenum::GL_SAMPLE_BUFFERS: // fall-through...
case GLenum::GL_SAMPLE_COVERAGE: // fall-through...
case GLenum::GL_SAMPLE_COVERAGE_INVERT: // fall-through...
case GLenum::GL_SAMPLE_COVERAGE_VALUE: // fall-through...
case GLenum::GL_SCISSOR_BOX: // fall-through...
case GLenum::GL_SCISSOR_TEST: // fall-through...
case GLenum::GL_SHADER_BINARY_FORMATS: // fall-through...
case GLenum::GL_SHADER_COMPILER: // fall-through...
case GLenum::GL_STENCIL_BACK_FAIL: // fall-through...
case GLenum::GL_STENCIL_BACK_FUNC: // fall-through...
case GLenum::GL_STENCIL_BACK_PASS_DEPTH_FAIL: // fall-through...
case GLenum::GL_STENCIL_BACK_PASS_DEPTH_PASS: // fall-through...
case GLenum::GL_STENCIL_BACK_REF: // fall-through...
case GLenum::GL_STENCIL_BACK_VALUE_MASK: // fall-through...
case GLenum::GL_STENCIL_BACK_WRITEMASK: // fall-through...
case GLenum::GL_STENCIL_BITS: // fall-through...
case GLenum::GL_STENCIL_CLEAR_VALUE: // fall-through...
case GLenum::GL_STENCIL_FAIL: // fall-through...
case GLenum::GL_STENCIL_FUNC: // fall-through...
case GLenum::GL_STENCIL_PASS_DEPTH_FAIL: // fall-through...
case GLenum::GL_STENCIL_PASS_DEPTH_PASS: // fall-through...
case GLenum::GL_STENCIL_REF: // fall-through...
case GLenum::GL_STENCIL_TEST: // fall-through...
case GLenum::GL_STENCIL_VALUE_MASK: // fall-through...
case GLenum::GL_STENCIL_WRITEMASK: // fall-through...
case GLenum::GL_SUBPIXEL_BITS: // fall-through...
case GLenum::GL_TEXTURE_BINDING_2D: // fall-through...
case GLenum::GL_TEXTURE_BINDING_CUBE_MAP: // fall-through...
case GLenum::GL_UNPACK_ALIGNMENT: // fall-through...
case GLenum::GL_VIEWPORT: {
break;
}
case GLenum::GL_COPY_READ_BUFFER_BINDING: // fall-through...
case GLenum::GL_COPY_WRITE_BUFFER_BINDING: // fall-through...
case GLenum::GL_DRAW_BUFFER: // fall-through...
case GLenum::GL_FRAGMENT_SHADER_DERIVATIVE_HINT: // fall-through...
case GLenum::GL_MAJOR_VERSION: // fall-through...
case GLenum::GL_MAX_3D_TEXTURE_SIZE: // fall-through...
case GLenum::GL_MAX_ARRAY_TEXTURE_LAYERS: // fall-through...
case GLenum::GL_MAX_COLOR_ATTACHMENTS: // fall-through...
case GLenum::GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS: // fall-through...
case GLenum::GL_MAX_COMBINED_UNIFORM_BLOCKS: // fall-through...
case GLenum::GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS: // fall-through...
case GLenum::GL_MAX_DRAW_BUFFERS: // fall-through...
case GLenum::GL_MAX_ELEMENTS_INDICES: // fall-through...
case GLenum::GL_MAX_ELEMENTS_VERTICES: // fall-through...
case GLenum::GL_MAX_ELEMENT_INDEX: // fall-through...
case GLenum::GL_MAX_FRAGMENT_INPUT_COMPONENTS: // fall-through...
case GLenum::GL_MAX_FRAGMENT_UNIFORM_BLOCKS: // fall-through...
case GLenum::GL_MAX_FRAGMENT_UNIFORM_COMPONENTS: // fall-through...
case GLenum::GL_MAX_PROGRAM_TEXEL_OFFSET: // fall-through...
case GLenum::GL_MAX_SAMPLES: // fall-through...
case GLenum::GL_MAX_SERVER_WAIT_TIMEOUT: // fall-through...
case GLenum::GL_MAX_TEXTURE_LOD_BIAS: // fall-through...
case GLenum::GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS: // fall-through...
case GLenum::GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS: // fall-through...
case GLenum::GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS: // fall-through...
case GLenum::GL_MAX_UNIFORM_BLOCK_SIZE: // fall-through...
case GLenum::GL_MAX_UNIFORM_BUFFER_BINDINGS: // fall-through...
case GLenum::GL_MAX_VARYING_COMPONENTS: // fall-through...
case GLenum::GL_MAX_VERTEX_OUTPUT_COMPONENTS: // fall-through...
case GLenum::GL_MAX_VERTEX_UNIFORM_BLOCKS: // fall-through...
case GLenum::GL_MAX_VERTEX_UNIFORM_COMPONENTS: // fall-through...
case GLenum::GL_MINOR_VERSION: // fall-through...
case GLenum::GL_MIN_PROGRAM_TEXEL_OFFSET: // fall-through...
case GLenum::GL_NUM_EXTENSIONS: // fall-through...
case GLenum::GL_NUM_PROGRAM_BINARY_FORMATS: // fall-through...
case GLenum::GL_PACK_ROW_LENGTH: // fall-through...
case GLenum::GL_PACK_SKIP_PIXELS: // fall-through...
case GLenum::GL_PACK_SKIP_ROWS: // fall-through...
case GLenum::GL_PIXEL_PACK_BUFFER_BINDING: // fall-through...
case GLenum::GL_PIXEL_UNPACK_BUFFER_BINDING: // fall-through...
case GLenum::GL_PRIMITIVE_RESTART_FIXED_INDEX: // fall-through...
case GLenum::GL_PROGRAM_BINARY_FORMATS: // fall-through...
case GLenum::GL_RASTERIZER_DISCARD: // fall-through...
case GLenum::GL_READ_BUFFER: // fall-through...
case GLenum::GL_READ_FRAMEBUFFER_BINDING: // fall-through...
case GLenum::GL_SAMPLER_BINDING: // fall-through...
case GLenum::GL_TEXTURE_BINDING_2D_ARRAY: // fall-through...
case GLenum::GL_TEXTURE_BINDING_3D: // fall-through...
case GLenum::GL_TRANSFORM_FEEDBACK_ACTIVE: // fall-through...
case GLenum::GL_TRANSFORM_FEEDBACK_BINDING: // fall-through...
case GLenum::GL_TRANSFORM_FEEDBACK_BUFFER_BINDING: // fall-through...
case GLenum::GL_TRANSFORM_FEEDBACK_BUFFER_SIZE: // fall-through...
case GLenum::GL_TRANSFORM_FEEDBACK_BUFFER_START: // fall-through...
case GLenum::GL_TRANSFORM_FEEDBACK_PAUSED: // fall-through...
case GLenum::GL_UNIFORM_BUFFER_BINDING: // fall-through...
case GLenum::GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT: // fall-through...
case GLenum::GL_UNIFORM_BUFFER_SIZE: // fall-through...
case GLenum::GL_UNIFORM_BUFFER_START: // fall-through...
case GLenum::GL_UNPACK_IMAGE_HEIGHT: // fall-through...
case GLenum::GL_UNPACK_ROW_LENGTH: // fall-through...
case GLenum::GL_UNPACK_SKIP_IMAGES: // fall-through...
case GLenum::GL_UNPACK_SKIP_PIXELS: // fall-through...
case GLenum::GL_UNPACK_SKIP_ROWS: // fall-through...
case GLenum::GL_VERTEX_ARRAY_BINDING: {
uint32_t l_minRequiredVersion_857_major = 3;
uint32_t l_minRequiredVersion_857_minor = 0;
break;
}
case GLenum::GL_DISPATCH_INDIRECT_BUFFER_BINDING: // fall-through...
case GLenum::GL_IMAGE_BINDING_LAYERED: // fall-through...
case GLenum::GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS: // fall-through...
case GLenum::GL_MAX_COLOR_TEXTURE_SAMPLES: // fall-through...
case GLenum::GL_MAX_COMBINED_ATOMIC_COUNTERS: // fall-through...
case GLenum::GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS: // fall-through...
case GLenum::GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS: // fall-through...
case GLenum::GL_MAX_COMPUTE_ATOMIC_COUNTERS: // fall-through...
case GLenum::GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS: // fall-through...
case GLenum::GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS: // fall-through...
case GLenum::GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS: // fall-through...
case GLenum::GL_MAX_COMPUTE_UNIFORM_BLOCKS: // fall-through...
case GLenum::GL_MAX_COMPUTE_UNIFORM_COMPONENTS: // fall-through...
case GLenum::GL_MAX_COMPUTE_WORK_GROUP_COUNT: // fall-through...
case GLenum::GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS: // fall-through...
case GLenum::GL_MAX_COMPUTE_WORK_GROUP_SIZE: // fall-through...
case GLenum::GL_MAX_FRAGMENT_ATOMIC_COUNTERS: // fall-through...
case GLenum::GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS: // fall-through...
case GLenum::GL_MAX_FRAMEBUFFER_HEIGHT: // fall-through...
case GLenum::GL_MAX_FRAMEBUFFER_SAMPLES: // fall-through...
case GLenum::GL_MAX_FRAMEBUFFER_WIDTH: // fall-through...
case GLenum::GL_MAX_INTEGER_SAMPLES: // fall-through...
case GLenum::GL_MAX_SAMPLE_MASK_WORDS: // fall-through...
case GLenum::GL_MAX_SHADER_STORAGE_BLOCK_SIZE: // fall-through...
case GLenum::GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS: // fall-through...
case GLenum::GL_MAX_UNIFORM_LOCATIONS: // fall-through...
case GLenum::GL_MAX_VERTEX_ATOMIC_COUNTERS: // fall-through...
case GLenum::GL_MAX_VERTEX_ATTRIB_BINDINGS: // fall-through...
case GLenum::GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET: // fall-through...
case GLenum::GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS: // fall-through...
case GLenum::GL_PROGRAM_PIPELINE_BINDING: // fall-through...
case GLenum::GL_SHADER_STORAGE_BUFFER_BINDING: // fall-through...
case GLenum::GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT: // fall-through...
case GLenum::GL_SHADER_STORAGE_BUFFER_SIZE: // fall-through...
case GLenum::GL_SHADER_STORAGE_BUFFER_START: // fall-through...
case GLenum::GL_TEXTURE_BINDING_2D_MULTISAMPLE: // fall-through...
case GLenum::GL_VERTEX_BINDING_DIVISOR: // fall-through...
case GLenum::GL_VERTEX_BINDING_OFFSET: // fall-through...
case GLenum::GL_VERTEX_BINDING_STRIDE: {
uint32_t l_minRequiredVersion_858_major = 3;
uint32_t l_minRequiredVersion_858_minor = 1;
break;
}
}
Slice<GLfloat> l_v = slice(values, (uint64_t)(0), (uint64_t)(stateVariableSize(param)));
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_860_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_860_result;
observe(observations.mReads);
mImports.glGetFloatv(param, values);
switch (param) {
case GLenum::GL_DEPTH_RANGE: {
write(l_v, 0, l_ctx->mRasterizing.mDepthNear);
write(l_v, 1, l_ctx->mRasterizing.mDepthFar);
break;
}
case GLenum::GL_LINE_WIDTH: {
write(l_v, 0, l_ctx->mRasterizing.mLineWidth);
break;
}
case GLenum::GL_POLYGON_OFFSET_FACTOR: {
write(l_v, 0, l_ctx->mRasterizing.mPolygonOffsetFactor);
break;
}
case GLenum::GL_POLYGON_OFFSET_UNITS: {
write(l_v, 0, l_ctx->mRasterizing.mPolygonOffsetUnits);
break;
}
case GLenum::GL_SAMPLE_COVERAGE_VALUE: {
write(l_v, 0, l_ctx->mRasterizing.mSampleCoverageValue);
break;
}
case GLenum::GL_COLOR_CLEAR_VALUE: {
write(l_v, 0, l_ctx->mClearing.mClearColor.mRed);
write(l_v, 1, l_ctx->mClearing.mClearColor.mGreen);
write(l_v, 2, l_ctx->mClearing.mClearColor.mBlue);
write(l_v, 3, l_ctx->mClearing.mClearColor.mAlpha);
break;
}
case GLenum::GL_DEPTH_CLEAR_VALUE: {
write(l_v, 0, l_ctx->mClearing.mClearDepth);
break;
}
case GLenum::GL_ALIASED_LINE_WIDTH_RANGE: {
write(l_v, 0,
slice(values, (uint64_t)(0), (uint64_t)(stateVariableSize(param)))[0]);
write(l_v, 1,
slice(values, (uint64_t)(0), (uint64_t)(stateVariableSize(param)))[1]);
break;
}
case GLenum::GL_ALIASED_POINT_SIZE_RANGE: {
write(l_v, 0,
slice(values, (uint64_t)(0), (uint64_t)(stateVariableSize(param)))[0]);
write(l_v, 1,
slice(values, (uint64_t)(0), (uint64_t)(stateVariableSize(param)))[1]);
break;
}
case GLenum::GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT: {
write(l_v, 0,
slice(values, (uint64_t)(0), (uint64_t)(stateVariableSize(param)))[0]);
break;
}
}
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetFloatv coder(
observations, param, gapic::coder::gles::GLfloat__P(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(values), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetInteger64i_v(uint32_t target, uint32_t index, int64_t* data) {
GAPID_INFO("glGetInteger64i_v(%u, %" PRIu32 ", %p)\n", target, index, data);
Observations observations;
do {
uint32_t l_minRequiredVersion_861_major = 3;
uint32_t l_minRequiredVersion_861_minor = 0;
switch (target) {
case GLenum::GL_ACTIVE_TEXTURE: // fall-through...
case GLenum::GL_ALIASED_LINE_WIDTH_RANGE: // fall-through...
case GLenum::GL_ALIASED_POINT_SIZE_RANGE: // fall-through...
case GLenum::GL_ALPHA_BITS: // fall-through...
case GLenum::GL_ARRAY_BUFFER_BINDING: // fall-through...
case GLenum::GL_BLEND: // fall-through...
case GLenum::GL_BLEND_COLOR: // fall-through...
case GLenum::GL_BLEND_DST_ALPHA: // fall-through...
case GLenum::GL_BLEND_DST_RGB: // fall-through...
case GLenum::GL_BLEND_EQUATION_ALPHA: // fall-through...
case GLenum::GL_BLEND_EQUATION_RGB: // fall-through...
case GLenum::GL_BLEND_SRC_ALPHA: // fall-through...
case GLenum::GL_BLEND_SRC_RGB: // fall-through...
case GLenum::GL_BLUE_BITS: // fall-through...
case GLenum::GL_COLOR_CLEAR_VALUE: // fall-through...
case GLenum::GL_COLOR_WRITEMASK: // fall-through...
case GLenum::GL_COMPRESSED_TEXTURE_FORMATS: // fall-through...
case GLenum::GL_COPY_READ_BUFFER_BINDING: // fall-through...
case GLenum::GL_COPY_WRITE_BUFFER_BINDING: // fall-through...
case GLenum::GL_CULL_FACE: // fall-through...
case GLenum::GL_CULL_FACE_MODE: // fall-through...
case GLenum::GL_CURRENT_PROGRAM: // fall-through...
case GLenum::GL_DEPTH_BITS: // fall-through...
case GLenum::GL_DEPTH_CLEAR_VALUE: // fall-through...
case GLenum::GL_DEPTH_FUNC: // fall-through...
case GLenum::GL_DEPTH_RANGE: // fall-through...
case GLenum::GL_DEPTH_TEST: // fall-through...
case GLenum::GL_DEPTH_WRITEMASK: // fall-through...
case GLenum::GL_DITHER: // fall-through...
case GLenum::GL_DRAW_BUFFER: // fall-through...
case GLenum::GL_DRAW_FRAMEBUFFER_BINDING: // fall-through...
case GLenum::GL_ELEMENT_ARRAY_BUFFER_BINDING: // fall-through...
case GLenum::GL_FRAGMENT_SHADER_DERIVATIVE_HINT: // fall-through...
case GLenum::GL_FRONT_FACE: // fall-through...
case GLenum::GL_GENERATE_MIPMAP_HINT: // fall-through...
case GLenum::GL_GREEN_BITS: // fall-through...
case GLenum::GL_IMPLEMENTATION_COLOR_READ_FORMAT: // fall-through...
case GLenum::GL_IMPLEMENTATION_COLOR_READ_TYPE: // fall-through...
case GLenum::GL_LINE_WIDTH: // fall-through...
case GLenum::GL_MAJOR_VERSION: // fall-through...
case GLenum::GL_MAX_3D_TEXTURE_SIZE: // fall-through...
case GLenum::GL_MAX_ARRAY_TEXTURE_LAYERS: // fall-through...
case GLenum::GL_MAX_COLOR_ATTACHMENTS: // fall-through...
case GLenum::GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS: // fall-through...
case GLenum::GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS: // fall-through...
case GLenum::GL_MAX_COMBINED_UNIFORM_BLOCKS: // fall-through...
case GLenum::GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS: // fall-through...
case GLenum::GL_MAX_CUBE_MAP_TEXTURE_SIZE: // fall-through...
case GLenum::GL_MAX_DRAW_BUFFERS: // fall-through...
case GLenum::GL_MAX_ELEMENTS_INDICES: // fall-through...
case GLenum::GL_MAX_ELEMENTS_VERTICES: // fall-through...
case GLenum::GL_MAX_ELEMENT_INDEX: // fall-through...
case GLenum::GL_MAX_FRAGMENT_INPUT_COMPONENTS: // fall-through...
case GLenum::GL_MAX_FRAGMENT_UNIFORM_BLOCKS: // fall-through...
case GLenum::GL_MAX_FRAGMENT_UNIFORM_COMPONENTS: // fall-through...
case GLenum::GL_MAX_FRAGMENT_UNIFORM_VECTORS: // fall-through...
case GLenum::GL_MAX_PROGRAM_TEXEL_OFFSET: // fall-through...
case GLenum::GL_MAX_RENDERBUFFER_SIZE: // fall-through...
case GLenum::GL_MAX_SAMPLES: // fall-through...
case GLenum::GL_MAX_SERVER_WAIT_TIMEOUT: // fall-through...
case GLenum::GL_MAX_TEXTURE_IMAGE_UNITS: // fall-through...
case GLenum::GL_MAX_TEXTURE_LOD_BIAS: // fall-through...
case GLenum::GL_MAX_TEXTURE_SIZE: // fall-through...
case GLenum::GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS: // fall-through...
case GLenum::GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS: // fall-through...
case GLenum::GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS: // fall-through...
case GLenum::GL_MAX_UNIFORM_BLOCK_SIZE: // fall-through...
case GLenum::GL_MAX_UNIFORM_BUFFER_BINDINGS: // fall-through...
case GLenum::GL_MAX_VARYING_COMPONENTS: // fall-through...
case GLenum::GL_MAX_VARYING_VECTORS: // fall-through...
case GLenum::GL_MAX_VERTEX_ATTRIBS: // fall-through...
case GLenum::GL_MAX_VERTEX_OUTPUT_COMPONENTS: // fall-through...
case GLenum::GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS: // fall-through...
case GLenum::GL_MAX_VERTEX_UNIFORM_BLOCKS: // fall-through...
case GLenum::GL_MAX_VERTEX_UNIFORM_COMPONENTS: // fall-through...
case GLenum::GL_MAX_VERTEX_UNIFORM_VECTORS: // fall-through...
case GLenum::GL_MAX_VIEWPORT_DIMS: // fall-through...
case GLenum::GL_MINOR_VERSION: // fall-through...
case GLenum::GL_MIN_PROGRAM_TEXEL_OFFSET: // fall-through...
case GLenum::GL_NUM_COMPRESSED_TEXTURE_FORMATS: // fall-through...
case GLenum::GL_NUM_EXTENSIONS: // fall-through...
case GLenum::GL_NUM_PROGRAM_BINARY_FORMATS: // fall-through...
case GLenum::GL_NUM_SHADER_BINARY_FORMATS: // fall-through...
case GLenum::GL_PACK_ALIGNMENT: // fall-through...
case GLenum::GL_PACK_ROW_LENGTH: // fall-through...
case GLenum::GL_PACK_SKIP_PIXELS: // fall-through...
case GLenum::GL_PACK_SKIP_ROWS: // fall-through...
case GLenum::GL_PIXEL_PACK_BUFFER_BINDING: // fall-through...
case GLenum::GL_PIXEL_UNPACK_BUFFER_BINDING: // fall-through...
case GLenum::GL_POLYGON_OFFSET_FACTOR: // fall-through...
case GLenum::GL_POLYGON_OFFSET_FILL: // fall-through...
case GLenum::GL_POLYGON_OFFSET_UNITS: // fall-through...
case GLenum::GL_PRIMITIVE_RESTART_FIXED_INDEX: // fall-through...
case GLenum::GL_PROGRAM_BINARY_FORMATS: // fall-through...
case GLenum::GL_RASTERIZER_DISCARD: // fall-through...
case GLenum::GL_READ_BUFFER: // fall-through...
case GLenum::GL_READ_FRAMEBUFFER_BINDING: // fall-through...
case GLenum::GL_RED_BITS: // fall-through...
case GLenum::GL_RENDERBUFFER_BINDING: // fall-through...
case GLenum::GL_SAMPLER_BINDING: // fall-through...
case GLenum::GL_SAMPLES: // fall-through...
case GLenum::GL_SAMPLE_ALPHA_TO_COVERAGE: // fall-through...
case GLenum::GL_SAMPLE_BUFFERS: // fall-through...
case GLenum::GL_SAMPLE_COVERAGE: // fall-through...
case GLenum::GL_SAMPLE_COVERAGE_INVERT: // fall-through...
case GLenum::GL_SAMPLE_COVERAGE_VALUE: // fall-through...
case GLenum::GL_SCISSOR_BOX: // fall-through...
case GLenum::GL_SCISSOR_TEST: // fall-through...
case GLenum::GL_SHADER_BINARY_FORMATS: // fall-through...
case GLenum::GL_SHADER_COMPILER: // fall-through...
case GLenum::GL_STENCIL_BACK_FAIL: // fall-through...
case GLenum::GL_STENCIL_BACK_FUNC: // fall-through...
case GLenum::GL_STENCIL_BACK_PASS_DEPTH_FAIL: // fall-through...
case GLenum::GL_STENCIL_BACK_PASS_DEPTH_PASS: // fall-through...
case GLenum::GL_STENCIL_BACK_REF: // fall-through...
case GLenum::GL_STENCIL_BACK_VALUE_MASK: // fall-through...
case GLenum::GL_STENCIL_BACK_WRITEMASK: // fall-through...
case GLenum::GL_STENCIL_BITS: // fall-through...
case GLenum::GL_STENCIL_CLEAR_VALUE: // fall-through...
case GLenum::GL_STENCIL_FAIL: // fall-through...
case GLenum::GL_STENCIL_FUNC: // fall-through...
case GLenum::GL_STENCIL_PASS_DEPTH_FAIL: // fall-through...
case GLenum::GL_STENCIL_PASS_DEPTH_PASS: // fall-through...
case GLenum::GL_STENCIL_REF: // fall-through...
case GLenum::GL_STENCIL_TEST: // fall-through...
case GLenum::GL_STENCIL_VALUE_MASK: // fall-through...
case GLenum::GL_STENCIL_WRITEMASK: // fall-through...
case GLenum::GL_SUBPIXEL_BITS: // fall-through...
case GLenum::GL_TEXTURE_BINDING_2D: // fall-through...
case GLenum::GL_TEXTURE_BINDING_2D_ARRAY: // fall-through...
case GLenum::GL_TEXTURE_BINDING_3D: // fall-through...
case GLenum::GL_TEXTURE_BINDING_CUBE_MAP: // fall-through...
case GLenum::GL_TRANSFORM_FEEDBACK_ACTIVE: // fall-through...
case GLenum::GL_TRANSFORM_FEEDBACK_BINDING: // fall-through...
case GLenum::GL_TRANSFORM_FEEDBACK_BUFFER_BINDING: // fall-through...
case GLenum::GL_TRANSFORM_FEEDBACK_BUFFER_SIZE: // fall-through...
case GLenum::GL_TRANSFORM_FEEDBACK_BUFFER_START: // fall-through...
case GLenum::GL_TRANSFORM_FEEDBACK_PAUSED: // fall-through...
case GLenum::GL_UNIFORM_BUFFER_BINDING: // fall-through...
case GLenum::GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT: // fall-through...
case GLenum::GL_UNIFORM_BUFFER_SIZE: // fall-through...
case GLenum::GL_UNIFORM_BUFFER_START: // fall-through...
case GLenum::GL_UNPACK_ALIGNMENT: // fall-through...
case GLenum::GL_UNPACK_IMAGE_HEIGHT: // fall-through...
case GLenum::GL_UNPACK_ROW_LENGTH: // fall-through...
case GLenum::GL_UNPACK_SKIP_IMAGES: // fall-through...
case GLenum::GL_UNPACK_SKIP_PIXELS: // fall-through...
case GLenum::GL_UNPACK_SKIP_ROWS: // fall-through...
case GLenum::GL_VERTEX_ARRAY_BINDING: // fall-through...
case GLenum::GL_VIEWPORT: {
break;
}
case GLenum::GL_DISPATCH_INDIRECT_BUFFER_BINDING: // fall-through...
case GLenum::GL_IMAGE_BINDING_LAYERED: // fall-through...
case GLenum::GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS: // fall-through...
case GLenum::GL_MAX_COLOR_TEXTURE_SAMPLES: // fall-through...
case GLenum::GL_MAX_COMBINED_ATOMIC_COUNTERS: // fall-through...
case GLenum::GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS: // fall-through...
case GLenum::GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS: // fall-through...
case GLenum::GL_MAX_COMPUTE_ATOMIC_COUNTERS: // fall-through...
case GLenum::GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS: // fall-through...
case GLenum::GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS: // fall-through...
case GLenum::GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS: // fall-through...
case GLenum::GL_MAX_COMPUTE_UNIFORM_BLOCKS: // fall-through...
case GLenum::GL_MAX_COMPUTE_UNIFORM_COMPONENTS: // fall-through...
case GLenum::GL_MAX_COMPUTE_WORK_GROUP_COUNT: // fall-through...
case GLenum::GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS: // fall-through...
case GLenum::GL_MAX_COMPUTE_WORK_GROUP_SIZE: // fall-through...
case GLenum::GL_MAX_FRAGMENT_ATOMIC_COUNTERS: // fall-through...
case GLenum::GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS: // fall-through...
case GLenum::GL_MAX_FRAMEBUFFER_HEIGHT: // fall-through...
case GLenum::GL_MAX_FRAMEBUFFER_SAMPLES: // fall-through...
case GLenum::GL_MAX_FRAMEBUFFER_WIDTH: // fall-through...
case GLenum::GL_MAX_INTEGER_SAMPLES: // fall-through...
case GLenum::GL_MAX_SAMPLE_MASK_WORDS: // fall-through...
case GLenum::GL_MAX_SHADER_STORAGE_BLOCK_SIZE: // fall-through...
case GLenum::GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS: // fall-through...
case GLenum::GL_MAX_UNIFORM_LOCATIONS: // fall-through...
case GLenum::GL_MAX_VERTEX_ATOMIC_COUNTERS: // fall-through...
case GLenum::GL_MAX_VERTEX_ATTRIB_BINDINGS: // fall-through...
case GLenum::GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET: // fall-through...
case GLenum::GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS: // fall-through...
case GLenum::GL_PROGRAM_PIPELINE_BINDING: // fall-through...
case GLenum::GL_SHADER_STORAGE_BUFFER_BINDING: // fall-through...
case GLenum::GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT: // fall-through...
case GLenum::GL_SHADER_STORAGE_BUFFER_SIZE: // fall-through...
case GLenum::GL_SHADER_STORAGE_BUFFER_START: // fall-through...
case GLenum::GL_TEXTURE_BINDING_2D_MULTISAMPLE: // fall-through...
case GLenum::GL_VERTEX_BINDING_DIVISOR: // fall-through...
case GLenum::GL_VERTEX_BINDING_OFFSET: // fall-through...
case GLenum::GL_VERTEX_BINDING_STRIDE: {
uint32_t l_minRequiredVersion_862_major = 3;
uint32_t l_minRequiredVersion_862_minor = 1;
break;
}
}
observe(observations.mReads);
mImports.glGetInteger64i_v(target, index, data);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetInteger64i_v coder(
observations, target, index,
gapic::coder::gles::GLint64__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(data), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetInteger64v(uint32_t pname, int64_t* data) {
GAPID_INFO("glGetInteger64v(%u, %p)\n", pname, data);
Observations observations;
do {
uint32_t l_minRequiredVersion_864_major = 3;
uint32_t l_minRequiredVersion_864_minor = 0;
switch (pname) {
case GLenum::GL_ACTIVE_TEXTURE: // fall-through...
case GLenum::GL_ALIASED_LINE_WIDTH_RANGE: // fall-through...
case GLenum::GL_ALIASED_POINT_SIZE_RANGE: // fall-through...
case GLenum::GL_ALPHA_BITS: // fall-through...
case GLenum::GL_ARRAY_BUFFER_BINDING: // fall-through...
case GLenum::GL_BLEND: // fall-through...
case GLenum::GL_BLEND_COLOR: // fall-through...
case GLenum::GL_BLEND_DST_ALPHA: // fall-through...
case GLenum::GL_BLEND_DST_RGB: // fall-through...
case GLenum::GL_BLEND_EQUATION_ALPHA: // fall-through...
case GLenum::GL_BLEND_EQUATION_RGB: // fall-through...
case GLenum::GL_BLEND_SRC_ALPHA: // fall-through...
case GLenum::GL_BLEND_SRC_RGB: // fall-through...
case GLenum::GL_BLUE_BITS: // fall-through...
case GLenum::GL_COLOR_CLEAR_VALUE: // fall-through...
case GLenum::GL_COLOR_WRITEMASK: // fall-through...
case GLenum::GL_COMPRESSED_TEXTURE_FORMATS: // fall-through...
case GLenum::GL_COPY_READ_BUFFER_BINDING: // fall-through...
case GLenum::GL_COPY_WRITE_BUFFER_BINDING: // fall-through...
case GLenum::GL_CULL_FACE: // fall-through...
case GLenum::GL_CULL_FACE_MODE: // fall-through...
case GLenum::GL_CURRENT_PROGRAM: // fall-through...
case GLenum::GL_DEPTH_BITS: // fall-through...
case GLenum::GL_DEPTH_CLEAR_VALUE: // fall-through...
case GLenum::GL_DEPTH_FUNC: // fall-through...
case GLenum::GL_DEPTH_RANGE: // fall-through...
case GLenum::GL_DEPTH_TEST: // fall-through...
case GLenum::GL_DEPTH_WRITEMASK: // fall-through...
case GLenum::GL_DITHER: // fall-through...
case GLenum::GL_DRAW_BUFFER: // fall-through...
case GLenum::GL_DRAW_FRAMEBUFFER_BINDING: // fall-through...
case GLenum::GL_ELEMENT_ARRAY_BUFFER_BINDING: // fall-through...
case GLenum::GL_FRAGMENT_SHADER_DERIVATIVE_HINT: // fall-through...
case GLenum::GL_FRONT_FACE: // fall-through...
case GLenum::GL_GENERATE_MIPMAP_HINT: // fall-through...
case GLenum::GL_GREEN_BITS: // fall-through...
case GLenum::GL_IMPLEMENTATION_COLOR_READ_FORMAT: // fall-through...
case GLenum::GL_IMPLEMENTATION_COLOR_READ_TYPE: // fall-through...
case GLenum::GL_LINE_WIDTH: // fall-through...
case GLenum::GL_MAJOR_VERSION: // fall-through...
case GLenum::GL_MAX_3D_TEXTURE_SIZE: // fall-through...
case GLenum::GL_MAX_ARRAY_TEXTURE_LAYERS: // fall-through...
case GLenum::GL_MAX_COLOR_ATTACHMENTS: // fall-through...
case GLenum::GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS: // fall-through...
case GLenum::GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS: // fall-through...
case GLenum::GL_MAX_COMBINED_UNIFORM_BLOCKS: // fall-through...
case GLenum::GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS: // fall-through...
case GLenum::GL_MAX_CUBE_MAP_TEXTURE_SIZE: // fall-through...
case GLenum::GL_MAX_DRAW_BUFFERS: // fall-through...
case GLenum::GL_MAX_ELEMENTS_INDICES: // fall-through...
case GLenum::GL_MAX_ELEMENTS_VERTICES: // fall-through...
case GLenum::GL_MAX_ELEMENT_INDEX: // fall-through...
case GLenum::GL_MAX_FRAGMENT_INPUT_COMPONENTS: // fall-through...
case GLenum::GL_MAX_FRAGMENT_UNIFORM_BLOCKS: // fall-through...
case GLenum::GL_MAX_FRAGMENT_UNIFORM_COMPONENTS: // fall-through...
case GLenum::GL_MAX_FRAGMENT_UNIFORM_VECTORS: // fall-through...
case GLenum::GL_MAX_PROGRAM_TEXEL_OFFSET: // fall-through...
case GLenum::GL_MAX_RENDERBUFFER_SIZE: // fall-through...
case GLenum::GL_MAX_SAMPLES: // fall-through...
case GLenum::GL_MAX_SERVER_WAIT_TIMEOUT: // fall-through...
case GLenum::GL_MAX_TEXTURE_IMAGE_UNITS: // fall-through...
case GLenum::GL_MAX_TEXTURE_LOD_BIAS: // fall-through...
case GLenum::GL_MAX_TEXTURE_SIZE: // fall-through...
case GLenum::GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS: // fall-through...
case GLenum::GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS: // fall-through...
case GLenum::GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS: // fall-through...
case GLenum::GL_MAX_UNIFORM_BLOCK_SIZE: // fall-through...
case GLenum::GL_MAX_UNIFORM_BUFFER_BINDINGS: // fall-through...
case GLenum::GL_MAX_VARYING_COMPONENTS: // fall-through...
case GLenum::GL_MAX_VARYING_VECTORS: // fall-through...
case GLenum::GL_MAX_VERTEX_ATTRIBS: // fall-through...
case GLenum::GL_MAX_VERTEX_OUTPUT_COMPONENTS: // fall-through...
case GLenum::GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS: // fall-through...
case GLenum::GL_MAX_VERTEX_UNIFORM_BLOCKS: // fall-through...
case GLenum::GL_MAX_VERTEX_UNIFORM_COMPONENTS: // fall-through...
case GLenum::GL_MAX_VERTEX_UNIFORM_VECTORS: // fall-through...
case GLenum::GL_MAX_VIEWPORT_DIMS: // fall-through...
case GLenum::GL_MINOR_VERSION: // fall-through...
case GLenum::GL_MIN_PROGRAM_TEXEL_OFFSET: // fall-through...
case GLenum::GL_NUM_COMPRESSED_TEXTURE_FORMATS: // fall-through...
case GLenum::GL_NUM_EXTENSIONS: // fall-through...
case GLenum::GL_NUM_PROGRAM_BINARY_FORMATS: // fall-through...
case GLenum::GL_NUM_SHADER_BINARY_FORMATS: // fall-through...
case GLenum::GL_PACK_ALIGNMENT: // fall-through...
case GLenum::GL_PACK_ROW_LENGTH: // fall-through...
case GLenum::GL_PACK_SKIP_PIXELS: // fall-through...
case GLenum::GL_PACK_SKIP_ROWS: // fall-through...
case GLenum::GL_PIXEL_PACK_BUFFER_BINDING: // fall-through...
case GLenum::GL_PIXEL_UNPACK_BUFFER_BINDING: // fall-through...
case GLenum::GL_POLYGON_OFFSET_FACTOR: // fall-through...
case GLenum::GL_POLYGON_OFFSET_FILL: // fall-through...
case GLenum::GL_POLYGON_OFFSET_UNITS: // fall-through...
case GLenum::GL_PRIMITIVE_RESTART_FIXED_INDEX: // fall-through...
case GLenum::GL_PROGRAM_BINARY_FORMATS: // fall-through...
case GLenum::GL_RASTERIZER_DISCARD: // fall-through...
case GLenum::GL_READ_BUFFER: // fall-through...
case GLenum::GL_READ_FRAMEBUFFER_BINDING: // fall-through...
case GLenum::GL_RED_BITS: // fall-through...
case GLenum::GL_RENDERBUFFER_BINDING: // fall-through...
case GLenum::GL_SAMPLER_BINDING: // fall-through...
case GLenum::GL_SAMPLES: // fall-through...
case GLenum::GL_SAMPLE_ALPHA_TO_COVERAGE: // fall-through...
case GLenum::GL_SAMPLE_BUFFERS: // fall-through...
case GLenum::GL_SAMPLE_COVERAGE: // fall-through...
case GLenum::GL_SAMPLE_COVERAGE_INVERT: // fall-through...
case GLenum::GL_SAMPLE_COVERAGE_VALUE: // fall-through...
case GLenum::GL_SCISSOR_BOX: // fall-through...
case GLenum::GL_SCISSOR_TEST: // fall-through...
case GLenum::GL_SHADER_BINARY_FORMATS: // fall-through...
case GLenum::GL_SHADER_COMPILER: // fall-through...
case GLenum::GL_STENCIL_BACK_FAIL: // fall-through...
case GLenum::GL_STENCIL_BACK_FUNC: // fall-through...
case GLenum::GL_STENCIL_BACK_PASS_DEPTH_FAIL: // fall-through...
case GLenum::GL_STENCIL_BACK_PASS_DEPTH_PASS: // fall-through...
case GLenum::GL_STENCIL_BACK_REF: // fall-through...
case GLenum::GL_STENCIL_BACK_VALUE_MASK: // fall-through...
case GLenum::GL_STENCIL_BACK_WRITEMASK: // fall-through...
case GLenum::GL_STENCIL_BITS: // fall-through...
case GLenum::GL_STENCIL_CLEAR_VALUE: // fall-through...
case GLenum::GL_STENCIL_FAIL: // fall-through...
case GLenum::GL_STENCIL_FUNC: // fall-through...
case GLenum::GL_STENCIL_PASS_DEPTH_FAIL: // fall-through...
case GLenum::GL_STENCIL_PASS_DEPTH_PASS: // fall-through...
case GLenum::GL_STENCIL_REF: // fall-through...
case GLenum::GL_STENCIL_TEST: // fall-through...
case GLenum::GL_STENCIL_VALUE_MASK: // fall-through...
case GLenum::GL_STENCIL_WRITEMASK: // fall-through...
case GLenum::GL_SUBPIXEL_BITS: // fall-through...
case GLenum::GL_TEXTURE_BINDING_2D: // fall-through...
case GLenum::GL_TEXTURE_BINDING_2D_ARRAY: // fall-through...
case GLenum::GL_TEXTURE_BINDING_3D: // fall-through...
case GLenum::GL_TEXTURE_BINDING_CUBE_MAP: // fall-through...
case GLenum::GL_TRANSFORM_FEEDBACK_ACTIVE: // fall-through...
case GLenum::GL_TRANSFORM_FEEDBACK_BINDING: // fall-through...
case GLenum::GL_TRANSFORM_FEEDBACK_BUFFER_BINDING: // fall-through...
case GLenum::GL_TRANSFORM_FEEDBACK_BUFFER_SIZE: // fall-through...
case GLenum::GL_TRANSFORM_FEEDBACK_BUFFER_START: // fall-through...
case GLenum::GL_TRANSFORM_FEEDBACK_PAUSED: // fall-through...
case GLenum::GL_UNIFORM_BUFFER_BINDING: // fall-through...
case GLenum::GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT: // fall-through...
case GLenum::GL_UNIFORM_BUFFER_SIZE: // fall-through...
case GLenum::GL_UNIFORM_BUFFER_START: // fall-through...
case GLenum::GL_UNPACK_ALIGNMENT: // fall-through...
case GLenum::GL_UNPACK_IMAGE_HEIGHT: // fall-through...
case GLenum::GL_UNPACK_ROW_LENGTH: // fall-through...
case GLenum::GL_UNPACK_SKIP_IMAGES: // fall-through...
case GLenum::GL_UNPACK_SKIP_PIXELS: // fall-through...
case GLenum::GL_UNPACK_SKIP_ROWS: // fall-through...
case GLenum::GL_VERTEX_ARRAY_BINDING: // fall-through...
case GLenum::GL_VIEWPORT: {
break;
}
case GLenum::GL_DISPATCH_INDIRECT_BUFFER_BINDING: // fall-through...
case GLenum::GL_IMAGE_BINDING_LAYERED: // fall-through...
case GLenum::GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS: // fall-through...
case GLenum::GL_MAX_COLOR_TEXTURE_SAMPLES: // fall-through...
case GLenum::GL_MAX_COMBINED_ATOMIC_COUNTERS: // fall-through...
case GLenum::GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS: // fall-through...
case GLenum::GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS: // fall-through...
case GLenum::GL_MAX_COMPUTE_ATOMIC_COUNTERS: // fall-through...
case GLenum::GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS: // fall-through...
case GLenum::GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS: // fall-through...
case GLenum::GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS: // fall-through...
case GLenum::GL_MAX_COMPUTE_UNIFORM_BLOCKS: // fall-through...
case GLenum::GL_MAX_COMPUTE_UNIFORM_COMPONENTS: // fall-through...
case GLenum::GL_MAX_COMPUTE_WORK_GROUP_COUNT: // fall-through...
case GLenum::GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS: // fall-through...
case GLenum::GL_MAX_COMPUTE_WORK_GROUP_SIZE: // fall-through...
case GLenum::GL_MAX_FRAGMENT_ATOMIC_COUNTERS: // fall-through...
case GLenum::GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS: // fall-through...
case GLenum::GL_MAX_FRAMEBUFFER_HEIGHT: // fall-through...
case GLenum::GL_MAX_FRAMEBUFFER_SAMPLES: // fall-through...
case GLenum::GL_MAX_FRAMEBUFFER_WIDTH: // fall-through...
case GLenum::GL_MAX_INTEGER_SAMPLES: // fall-through...
case GLenum::GL_MAX_SAMPLE_MASK_WORDS: // fall-through...
case GLenum::GL_MAX_SHADER_STORAGE_BLOCK_SIZE: // fall-through...
case GLenum::GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS: // fall-through...
case GLenum::GL_MAX_UNIFORM_LOCATIONS: // fall-through...
case GLenum::GL_MAX_VERTEX_ATOMIC_COUNTERS: // fall-through...
case GLenum::GL_MAX_VERTEX_ATTRIB_BINDINGS: // fall-through...
case GLenum::GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET: // fall-through...
case GLenum::GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS: // fall-through...
case GLenum::GL_PROGRAM_PIPELINE_BINDING: // fall-through...
case GLenum::GL_SHADER_STORAGE_BUFFER_BINDING: // fall-through...
case GLenum::GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT: // fall-through...
case GLenum::GL_SHADER_STORAGE_BUFFER_SIZE: // fall-through...
case GLenum::GL_SHADER_STORAGE_BUFFER_START: // fall-through...
case GLenum::GL_TEXTURE_BINDING_2D_MULTISAMPLE: // fall-through...
case GLenum::GL_VERTEX_BINDING_DIVISOR: // fall-through...
case GLenum::GL_VERTEX_BINDING_OFFSET: // fall-through...
case GLenum::GL_VERTEX_BINDING_STRIDE: {
uint32_t l_minRequiredVersion_865_major = 3;
uint32_t l_minRequiredVersion_865_minor = 1;
break;
}
}
observe(observations.mReads);
mImports.glGetInteger64v(pname, data);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetInteger64v coder(
observations, pname, gapic::coder::gles::GLint64__P(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(data), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetIntegeri_v(uint32_t target, uint32_t index, int32_t* data) {
GAPID_INFO("glGetIntegeri_v(%u, %" PRIu32 ", %p)\n", target, index, data);
Observations observations;
do {
uint32_t l_minRequiredVersion_867_major = 3;
uint32_t l_minRequiredVersion_867_minor = 0;
switch (target) {
case GLenum::GL_ACTIVE_TEXTURE: // fall-through...
case GLenum::GL_ALIASED_LINE_WIDTH_RANGE: // fall-through...
case GLenum::GL_ALIASED_POINT_SIZE_RANGE: // fall-through...
case GLenum::GL_ALPHA_BITS: // fall-through...
case GLenum::GL_ARRAY_BUFFER_BINDING: // fall-through...
case GLenum::GL_BLEND: // fall-through...
case GLenum::GL_BLEND_COLOR: // fall-through...
case GLenum::GL_BLEND_DST_ALPHA: // fall-through...
case GLenum::GL_BLEND_DST_RGB: // fall-through...
case GLenum::GL_BLEND_EQUATION_ALPHA: // fall-through...
case GLenum::GL_BLEND_EQUATION_RGB: // fall-through...
case GLenum::GL_BLEND_SRC_ALPHA: // fall-through...
case GLenum::GL_BLEND_SRC_RGB: // fall-through...
case GLenum::GL_BLUE_BITS: // fall-through...
case GLenum::GL_COLOR_CLEAR_VALUE: // fall-through...
case GLenum::GL_COLOR_WRITEMASK: // fall-through...
case GLenum::GL_COMPRESSED_TEXTURE_FORMATS: // fall-through...
case GLenum::GL_COPY_READ_BUFFER_BINDING: // fall-through...
case GLenum::GL_COPY_WRITE_BUFFER_BINDING: // fall-through...
case GLenum::GL_CULL_FACE: // fall-through...
case GLenum::GL_CULL_FACE_MODE: // fall-through...
case GLenum::GL_CURRENT_PROGRAM: // fall-through...
case GLenum::GL_DEPTH_BITS: // fall-through...
case GLenum::GL_DEPTH_CLEAR_VALUE: // fall-through...
case GLenum::GL_DEPTH_FUNC: // fall-through...
case GLenum::GL_DEPTH_RANGE: // fall-through...
case GLenum::GL_DEPTH_TEST: // fall-through...
case GLenum::GL_DEPTH_WRITEMASK: // fall-through...
case GLenum::GL_DITHER: // fall-through...
case GLenum::GL_DRAW_BUFFER: // fall-through...
case GLenum::GL_DRAW_FRAMEBUFFER_BINDING: // fall-through...
case GLenum::GL_ELEMENT_ARRAY_BUFFER_BINDING: // fall-through...
case GLenum::GL_FRAGMENT_SHADER_DERIVATIVE_HINT: // fall-through...
case GLenum::GL_FRONT_FACE: // fall-through...
case GLenum::GL_GENERATE_MIPMAP_HINT: // fall-through...
case GLenum::GL_GREEN_BITS: // fall-through...
case GLenum::GL_IMPLEMENTATION_COLOR_READ_FORMAT: // fall-through...
case GLenum::GL_IMPLEMENTATION_COLOR_READ_TYPE: // fall-through...
case GLenum::GL_LINE_WIDTH: // fall-through...
case GLenum::GL_MAJOR_VERSION: // fall-through...
case GLenum::GL_MAX_3D_TEXTURE_SIZE: // fall-through...
case GLenum::GL_MAX_ARRAY_TEXTURE_LAYERS: // fall-through...
case GLenum::GL_MAX_COLOR_ATTACHMENTS: // fall-through...
case GLenum::GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS: // fall-through...
case GLenum::GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS: // fall-through...
case GLenum::GL_MAX_COMBINED_UNIFORM_BLOCKS: // fall-through...
case GLenum::GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS: // fall-through...
case GLenum::GL_MAX_CUBE_MAP_TEXTURE_SIZE: // fall-through...
case GLenum::GL_MAX_DRAW_BUFFERS: // fall-through...
case GLenum::GL_MAX_ELEMENTS_INDICES: // fall-through...
case GLenum::GL_MAX_ELEMENTS_VERTICES: // fall-through...
case GLenum::GL_MAX_ELEMENT_INDEX: // fall-through...
case GLenum::GL_MAX_FRAGMENT_INPUT_COMPONENTS: // fall-through...
case GLenum::GL_MAX_FRAGMENT_UNIFORM_BLOCKS: // fall-through...
case GLenum::GL_MAX_FRAGMENT_UNIFORM_COMPONENTS: // fall-through...
case GLenum::GL_MAX_FRAGMENT_UNIFORM_VECTORS: // fall-through...
case GLenum::GL_MAX_PROGRAM_TEXEL_OFFSET: // fall-through...
case GLenum::GL_MAX_RENDERBUFFER_SIZE: // fall-through...
case GLenum::GL_MAX_SAMPLES: // fall-through...
case GLenum::GL_MAX_SERVER_WAIT_TIMEOUT: // fall-through...
case GLenum::GL_MAX_TEXTURE_IMAGE_UNITS: // fall-through...
case GLenum::GL_MAX_TEXTURE_LOD_BIAS: // fall-through...
case GLenum::GL_MAX_TEXTURE_SIZE: // fall-through...
case GLenum::GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS: // fall-through...
case GLenum::GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS: // fall-through...
case GLenum::GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS: // fall-through...
case GLenum::GL_MAX_UNIFORM_BLOCK_SIZE: // fall-through...
case GLenum::GL_MAX_UNIFORM_BUFFER_BINDINGS: // fall-through...
case GLenum::GL_MAX_VARYING_COMPONENTS: // fall-through...
case GLenum::GL_MAX_VARYING_VECTORS: // fall-through...
case GLenum::GL_MAX_VERTEX_ATTRIBS: // fall-through...
case GLenum::GL_MAX_VERTEX_OUTPUT_COMPONENTS: // fall-through...
case GLenum::GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS: // fall-through...
case GLenum::GL_MAX_VERTEX_UNIFORM_BLOCKS: // fall-through...
case GLenum::GL_MAX_VERTEX_UNIFORM_COMPONENTS: // fall-through...
case GLenum::GL_MAX_VERTEX_UNIFORM_VECTORS: // fall-through...
case GLenum::GL_MAX_VIEWPORT_DIMS: // fall-through...
case GLenum::GL_MINOR_VERSION: // fall-through...
case GLenum::GL_MIN_PROGRAM_TEXEL_OFFSET: // fall-through...
case GLenum::GL_NUM_COMPRESSED_TEXTURE_FORMATS: // fall-through...
case GLenum::GL_NUM_EXTENSIONS: // fall-through...
case GLenum::GL_NUM_PROGRAM_BINARY_FORMATS: // fall-through...
case GLenum::GL_NUM_SHADER_BINARY_FORMATS: // fall-through...
case GLenum::GL_PACK_ALIGNMENT: // fall-through...
case GLenum::GL_PACK_ROW_LENGTH: // fall-through...
case GLenum::GL_PACK_SKIP_PIXELS: // fall-through...
case GLenum::GL_PACK_SKIP_ROWS: // fall-through...
case GLenum::GL_PIXEL_PACK_BUFFER_BINDING: // fall-through...
case GLenum::GL_PIXEL_UNPACK_BUFFER_BINDING: // fall-through...
case GLenum::GL_POLYGON_OFFSET_FACTOR: // fall-through...
case GLenum::GL_POLYGON_OFFSET_FILL: // fall-through...
case GLenum::GL_POLYGON_OFFSET_UNITS: // fall-through...
case GLenum::GL_PRIMITIVE_RESTART_FIXED_INDEX: // fall-through...
case GLenum::GL_PROGRAM_BINARY_FORMATS: // fall-through...
case GLenum::GL_RASTERIZER_DISCARD: // fall-through...
case GLenum::GL_READ_BUFFER: // fall-through...
case GLenum::GL_READ_FRAMEBUFFER_BINDING: // fall-through...
case GLenum::GL_RED_BITS: // fall-through...
case GLenum::GL_RENDERBUFFER_BINDING: // fall-through...
case GLenum::GL_SAMPLER_BINDING: // fall-through...
case GLenum::GL_SAMPLES: // fall-through...
case GLenum::GL_SAMPLE_ALPHA_TO_COVERAGE: // fall-through...
case GLenum::GL_SAMPLE_BUFFERS: // fall-through...
case GLenum::GL_SAMPLE_COVERAGE: // fall-through...
case GLenum::GL_SAMPLE_COVERAGE_INVERT: // fall-through...
case GLenum::GL_SAMPLE_COVERAGE_VALUE: // fall-through...
case GLenum::GL_SCISSOR_BOX: // fall-through...
case GLenum::GL_SCISSOR_TEST: // fall-through...
case GLenum::GL_SHADER_BINARY_FORMATS: // fall-through...
case GLenum::GL_SHADER_COMPILER: // fall-through...
case GLenum::GL_STENCIL_BACK_FAIL: // fall-through...
case GLenum::GL_STENCIL_BACK_FUNC: // fall-through...
case GLenum::GL_STENCIL_BACK_PASS_DEPTH_FAIL: // fall-through...
case GLenum::GL_STENCIL_BACK_PASS_DEPTH_PASS: // fall-through...
case GLenum::GL_STENCIL_BACK_REF: // fall-through...
case GLenum::GL_STENCIL_BACK_VALUE_MASK: // fall-through...
case GLenum::GL_STENCIL_BACK_WRITEMASK: // fall-through...
case GLenum::GL_STENCIL_BITS: // fall-through...
case GLenum::GL_STENCIL_CLEAR_VALUE: // fall-through...
case GLenum::GL_STENCIL_FAIL: // fall-through...
case GLenum::GL_STENCIL_FUNC: // fall-through...
case GLenum::GL_STENCIL_PASS_DEPTH_FAIL: // fall-through...
case GLenum::GL_STENCIL_PASS_DEPTH_PASS: // fall-through...
case GLenum::GL_STENCIL_REF: // fall-through...
case GLenum::GL_STENCIL_TEST: // fall-through...
case GLenum::GL_STENCIL_VALUE_MASK: // fall-through...
case GLenum::GL_STENCIL_WRITEMASK: // fall-through...
case GLenum::GL_SUBPIXEL_BITS: // fall-through...
case GLenum::GL_TEXTURE_BINDING_2D: // fall-through...
case GLenum::GL_TEXTURE_BINDING_2D_ARRAY: // fall-through...
case GLenum::GL_TEXTURE_BINDING_3D: // fall-through...
case GLenum::GL_TEXTURE_BINDING_CUBE_MAP: // fall-through...
case GLenum::GL_TRANSFORM_FEEDBACK_ACTIVE: // fall-through...
case GLenum::GL_TRANSFORM_FEEDBACK_BINDING: // fall-through...
case GLenum::GL_TRANSFORM_FEEDBACK_BUFFER_BINDING: // fall-through...
case GLenum::GL_TRANSFORM_FEEDBACK_BUFFER_SIZE: // fall-through...
case GLenum::GL_TRANSFORM_FEEDBACK_BUFFER_START: // fall-through...
case GLenum::GL_TRANSFORM_FEEDBACK_PAUSED: // fall-through...
case GLenum::GL_UNIFORM_BUFFER_BINDING: // fall-through...
case GLenum::GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT: // fall-through...
case GLenum::GL_UNIFORM_BUFFER_SIZE: // fall-through...
case GLenum::GL_UNIFORM_BUFFER_START: // fall-through...
case GLenum::GL_UNPACK_ALIGNMENT: // fall-through...
case GLenum::GL_UNPACK_IMAGE_HEIGHT: // fall-through...
case GLenum::GL_UNPACK_ROW_LENGTH: // fall-through...
case GLenum::GL_UNPACK_SKIP_IMAGES: // fall-through...
case GLenum::GL_UNPACK_SKIP_PIXELS: // fall-through...
case GLenum::GL_UNPACK_SKIP_ROWS: // fall-through...
case GLenum::GL_VERTEX_ARRAY_BINDING: // fall-through...
case GLenum::GL_VIEWPORT: {
break;
}
case GLenum::GL_DISPATCH_INDIRECT_BUFFER_BINDING: // fall-through...
case GLenum::GL_IMAGE_BINDING_LAYERED: // fall-through...
case GLenum::GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS: // fall-through...
case GLenum::GL_MAX_COLOR_TEXTURE_SAMPLES: // fall-through...
case GLenum::GL_MAX_COMBINED_ATOMIC_COUNTERS: // fall-through...
case GLenum::GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS: // fall-through...
case GLenum::GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS: // fall-through...
case GLenum::GL_MAX_COMPUTE_ATOMIC_COUNTERS: // fall-through...
case GLenum::GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS: // fall-through...
case GLenum::GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS: // fall-through...
case GLenum::GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS: // fall-through...
case GLenum::GL_MAX_COMPUTE_UNIFORM_BLOCKS: // fall-through...
case GLenum::GL_MAX_COMPUTE_UNIFORM_COMPONENTS: // fall-through...
case GLenum::GL_MAX_COMPUTE_WORK_GROUP_COUNT: // fall-through...
case GLenum::GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS: // fall-through...
case GLenum::GL_MAX_COMPUTE_WORK_GROUP_SIZE: // fall-through...
case GLenum::GL_MAX_FRAGMENT_ATOMIC_COUNTERS: // fall-through...
case GLenum::GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS: // fall-through...
case GLenum::GL_MAX_FRAMEBUFFER_HEIGHT: // fall-through...
case GLenum::GL_MAX_FRAMEBUFFER_SAMPLES: // fall-through...
case GLenum::GL_MAX_FRAMEBUFFER_WIDTH: // fall-through...
case GLenum::GL_MAX_INTEGER_SAMPLES: // fall-through...
case GLenum::GL_MAX_SAMPLE_MASK_WORDS: // fall-through...
case GLenum::GL_MAX_SHADER_STORAGE_BLOCK_SIZE: // fall-through...
case GLenum::GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS: // fall-through...
case GLenum::GL_MAX_UNIFORM_LOCATIONS: // fall-through...
case GLenum::GL_MAX_VERTEX_ATOMIC_COUNTERS: // fall-through...
case GLenum::GL_MAX_VERTEX_ATTRIB_BINDINGS: // fall-through...
case GLenum::GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET: // fall-through...
case GLenum::GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS: // fall-through...
case GLenum::GL_PROGRAM_PIPELINE_BINDING: // fall-through...
case GLenum::GL_SHADER_STORAGE_BUFFER_BINDING: // fall-through...
case GLenum::GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT: // fall-through...
case GLenum::GL_SHADER_STORAGE_BUFFER_SIZE: // fall-through...
case GLenum::GL_SHADER_STORAGE_BUFFER_START: // fall-through...
case GLenum::GL_TEXTURE_BINDING_2D_MULTISAMPLE: // fall-through...
case GLenum::GL_VERTEX_BINDING_DIVISOR: // fall-through...
case GLenum::GL_VERTEX_BINDING_OFFSET: // fall-through...
case GLenum::GL_VERTEX_BINDING_STRIDE: {
uint32_t l_minRequiredVersion_868_major = 3;
uint32_t l_minRequiredVersion_868_minor = 1;
break;
}
}
observe(observations.mReads);
mImports.glGetIntegeri_v(target, index, data);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetIntegeri_v coder(
observations, target, index, gapic::coder::gles::GLint__P(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(data), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetIntegerv(uint32_t param, int32_t* values) {
GAPID_INFO("glGetIntegerv(%u, %p)\n", param, values);
Observations observations;
do {
uint32_t l_minRequiredVersion_870_major = 2;
uint32_t l_minRequiredVersion_870_minor = 0;
switch (param) {
case GLenum::GL_ACTIVE_TEXTURE: // fall-through...
case GLenum::GL_ALIASED_LINE_WIDTH_RANGE: // fall-through...
case GLenum::GL_ALIASED_POINT_SIZE_RANGE: // fall-through...
case GLenum::GL_ALPHA_BITS: // fall-through...
case GLenum::GL_ARRAY_BUFFER_BINDING: // fall-through...
case GLenum::GL_BLEND: // fall-through...
case GLenum::GL_BLEND_COLOR: // fall-through...
case GLenum::GL_BLEND_DST_ALPHA: // fall-through...
case GLenum::GL_BLEND_DST_RGB: // fall-through...
case GLenum::GL_BLEND_EQUATION_ALPHA: // fall-through...
case GLenum::GL_BLEND_EQUATION_RGB: // fall-through...
case GLenum::GL_BLEND_SRC_ALPHA: // fall-through...
case GLenum::GL_BLEND_SRC_RGB: // fall-through...
case GLenum::GL_BLUE_BITS: // fall-through...
case GLenum::GL_COLOR_CLEAR_VALUE: // fall-through...
case GLenum::GL_COLOR_WRITEMASK: // fall-through...
case GLenum::GL_COMPRESSED_TEXTURE_FORMATS: // fall-through...
case GLenum::GL_CULL_FACE: // fall-through...
case GLenum::GL_CULL_FACE_MODE: // fall-through...
case GLenum::GL_CURRENT_PROGRAM: // fall-through...
case GLenum::GL_DEPTH_BITS: // fall-through...
case GLenum::GL_DEPTH_CLEAR_VALUE: // fall-through...
case GLenum::GL_DEPTH_FUNC: // fall-through...
case GLenum::GL_DEPTH_RANGE: // fall-through...
case GLenum::GL_DEPTH_TEST: // fall-through...
case GLenum::GL_DEPTH_WRITEMASK: // fall-through...
case GLenum::GL_DITHER: // fall-through...
case GLenum::GL_ELEMENT_ARRAY_BUFFER_BINDING: // fall-through...
case GLenum::GL_DRAW_FRAMEBUFFER_BINDING: // fall-through...
case GLenum::GL_FRONT_FACE: // fall-through...
case GLenum::GL_GENERATE_MIPMAP_HINT: // fall-through...
case GLenum::GL_GREEN_BITS: // fall-through...
case GLenum::GL_IMPLEMENTATION_COLOR_READ_FORMAT: // fall-through...
case GLenum::GL_IMPLEMENTATION_COLOR_READ_TYPE: // fall-through...
case GLenum::GL_LINE_WIDTH: // fall-through...
case GLenum::GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS: // fall-through...
case GLenum::GL_MAX_CUBE_MAP_TEXTURE_SIZE: // fall-through...
case GLenum::GL_MAX_FRAGMENT_UNIFORM_VECTORS: // fall-through...
case GLenum::GL_MAX_RENDERBUFFER_SIZE: // fall-through...
case GLenum::GL_MAX_TEXTURE_IMAGE_UNITS: // fall-through...
case GLenum::GL_MAX_TEXTURE_SIZE: // fall-through...
case GLenum::GL_MAX_VARYING_VECTORS: // fall-through...
case GLenum::GL_MAX_VERTEX_ATTRIBS: // fall-through...
case GLenum::GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS: // fall-through...
case GLenum::GL_MAX_VERTEX_UNIFORM_VECTORS: // fall-through...
case GLenum::GL_MAX_VIEWPORT_DIMS: // fall-through...
case GLenum::GL_NUM_COMPRESSED_TEXTURE_FORMATS: // fall-through...
case GLenum::GL_NUM_SHADER_BINARY_FORMATS: // fall-through...
case GLenum::GL_PACK_ALIGNMENT: // fall-through...
case GLenum::GL_POLYGON_OFFSET_FACTOR: // fall-through...
case GLenum::GL_POLYGON_OFFSET_FILL: // fall-through...
case GLenum::GL_POLYGON_OFFSET_UNITS: // fall-through...
case GLenum::GL_RED_BITS: // fall-through...
case GLenum::GL_RENDERBUFFER_BINDING: // fall-through...
case GLenum::GL_SAMPLES: // fall-through...
case GLenum::GL_SAMPLE_ALPHA_TO_COVERAGE: // fall-through...
case GLenum::GL_SAMPLE_BUFFERS: // fall-through...
case GLenum::GL_SAMPLE_COVERAGE: // fall-through...
case GLenum::GL_SAMPLE_COVERAGE_INVERT: // fall-through...
case GLenum::GL_SAMPLE_COVERAGE_VALUE: // fall-through...
case GLenum::GL_SCISSOR_BOX: // fall-through...
case GLenum::GL_SCISSOR_TEST: // fall-through...
case GLenum::GL_SHADER_BINARY_FORMATS: // fall-through...
case GLenum::GL_SHADER_COMPILER: // fall-through...
case GLenum::GL_STENCIL_BACK_FAIL: // fall-through...
case GLenum::GL_STENCIL_BACK_FUNC: // fall-through...
case GLenum::GL_STENCIL_BACK_PASS_DEPTH_FAIL: // fall-through...
case GLenum::GL_STENCIL_BACK_PASS_DEPTH_PASS: // fall-through...
case GLenum::GL_STENCIL_BACK_REF: // fall-through...
case GLenum::GL_STENCIL_BACK_VALUE_MASK: // fall-through...
case GLenum::GL_STENCIL_BACK_WRITEMASK: // fall-through...
case GLenum::GL_STENCIL_BITS: // fall-through...
case GLenum::GL_STENCIL_CLEAR_VALUE: // fall-through...
case GLenum::GL_STENCIL_FAIL: // fall-through...
case GLenum::GL_STENCIL_FUNC: // fall-through...
case GLenum::GL_STENCIL_PASS_DEPTH_FAIL: // fall-through...
case GLenum::GL_STENCIL_PASS_DEPTH_PASS: // fall-through...
case GLenum::GL_STENCIL_REF: // fall-through...
case GLenum::GL_STENCIL_TEST: // fall-through...
case GLenum::GL_STENCIL_VALUE_MASK: // fall-through...
case GLenum::GL_STENCIL_WRITEMASK: // fall-through...
case GLenum::GL_SUBPIXEL_BITS: // fall-through...
case GLenum::GL_TEXTURE_BINDING_2D: // fall-through...
case GLenum::GL_TEXTURE_BINDING_CUBE_MAP: // fall-through...
case GLenum::GL_UNPACK_ALIGNMENT: // fall-through...
case GLenum::GL_VIEWPORT: {
break;
}
case GLenum::GL_COPY_READ_BUFFER_BINDING: // fall-through...
case GLenum::GL_COPY_WRITE_BUFFER_BINDING: // fall-through...
case GLenum::GL_DRAW_BUFFER: // fall-through...
case GLenum::GL_FRAGMENT_SHADER_DERIVATIVE_HINT: // fall-through...
case GLenum::GL_MAJOR_VERSION: // fall-through...
case GLenum::GL_MAX_3D_TEXTURE_SIZE: // fall-through...
case GLenum::GL_MAX_ARRAY_TEXTURE_LAYERS: // fall-through...
case GLenum::GL_MAX_COLOR_ATTACHMENTS: // fall-through...
case GLenum::GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS: // fall-through...
case GLenum::GL_MAX_COMBINED_UNIFORM_BLOCKS: // fall-through...
case GLenum::GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS: // fall-through...
case GLenum::GL_MAX_DRAW_BUFFERS: // fall-through...
case GLenum::GL_MAX_ELEMENTS_INDICES: // fall-through...
case GLenum::GL_MAX_ELEMENTS_VERTICES: // fall-through...
case GLenum::GL_MAX_ELEMENT_INDEX: // fall-through...
case GLenum::GL_MAX_FRAGMENT_INPUT_COMPONENTS: // fall-through...
case GLenum::GL_MAX_FRAGMENT_UNIFORM_BLOCKS: // fall-through...
case GLenum::GL_MAX_FRAGMENT_UNIFORM_COMPONENTS: // fall-through...
case GLenum::GL_MAX_PROGRAM_TEXEL_OFFSET: // fall-through...
case GLenum::GL_MAX_SAMPLES: // fall-through...
case GLenum::GL_MAX_SERVER_WAIT_TIMEOUT: // fall-through...
case GLenum::GL_MAX_TEXTURE_LOD_BIAS: // fall-through...
case GLenum::GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS: // fall-through...
case GLenum::GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS: // fall-through...
case GLenum::GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS: // fall-through...
case GLenum::GL_MAX_UNIFORM_BLOCK_SIZE: // fall-through...
case GLenum::GL_MAX_UNIFORM_BUFFER_BINDINGS: // fall-through...
case GLenum::GL_MAX_VARYING_COMPONENTS: // fall-through...
case GLenum::GL_MAX_VERTEX_OUTPUT_COMPONENTS: // fall-through...
case GLenum::GL_MAX_VERTEX_UNIFORM_BLOCKS: // fall-through...
case GLenum::GL_MAX_VERTEX_UNIFORM_COMPONENTS: // fall-through...
case GLenum::GL_MINOR_VERSION: // fall-through...
case GLenum::GL_MIN_PROGRAM_TEXEL_OFFSET: // fall-through...
case GLenum::GL_NUM_EXTENSIONS: // fall-through...
case GLenum::GL_NUM_PROGRAM_BINARY_FORMATS: // fall-through...
case GLenum::GL_PACK_ROW_LENGTH: // fall-through...
case GLenum::GL_PACK_SKIP_PIXELS: // fall-through...
case GLenum::GL_PACK_SKIP_ROWS: // fall-through...
case GLenum::GL_PIXEL_PACK_BUFFER_BINDING: // fall-through...
case GLenum::GL_PIXEL_UNPACK_BUFFER_BINDING: // fall-through...
case GLenum::GL_PRIMITIVE_RESTART_FIXED_INDEX: // fall-through...
case GLenum::GL_PROGRAM_BINARY_FORMATS: // fall-through...
case GLenum::GL_RASTERIZER_DISCARD: // fall-through...
case GLenum::GL_READ_BUFFER: // fall-through...
case GLenum::GL_READ_FRAMEBUFFER_BINDING: // fall-through...
case GLenum::GL_SAMPLER_BINDING: // fall-through...
case GLenum::GL_TEXTURE_BINDING_2D_ARRAY: // fall-through...
case GLenum::GL_TEXTURE_BINDING_3D: // fall-through...
case GLenum::GL_TRANSFORM_FEEDBACK_ACTIVE: // fall-through...
case GLenum::GL_TRANSFORM_FEEDBACK_BINDING: // fall-through...
case GLenum::GL_TRANSFORM_FEEDBACK_BUFFER_BINDING: // fall-through...
case GLenum::GL_TRANSFORM_FEEDBACK_BUFFER_SIZE: // fall-through...
case GLenum::GL_TRANSFORM_FEEDBACK_BUFFER_START: // fall-through...
case GLenum::GL_TRANSFORM_FEEDBACK_PAUSED: // fall-through...
case GLenum::GL_UNIFORM_BUFFER_BINDING: // fall-through...
case GLenum::GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT: // fall-through...
case GLenum::GL_UNIFORM_BUFFER_SIZE: // fall-through...
case GLenum::GL_UNIFORM_BUFFER_START: // fall-through...
case GLenum::GL_UNPACK_IMAGE_HEIGHT: // fall-through...
case GLenum::GL_UNPACK_ROW_LENGTH: // fall-through...
case GLenum::GL_UNPACK_SKIP_IMAGES: // fall-through...
case GLenum::GL_UNPACK_SKIP_PIXELS: // fall-through...
case GLenum::GL_UNPACK_SKIP_ROWS: // fall-through...
case GLenum::GL_VERTEX_ARRAY_BINDING: {
uint32_t l_minRequiredVersion_871_major = 3;
uint32_t l_minRequiredVersion_871_minor = 0;
break;
}
case GLenum::GL_DISPATCH_INDIRECT_BUFFER_BINDING: // fall-through...
case GLenum::GL_IMAGE_BINDING_LAYERED: // fall-through...
case GLenum::GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS: // fall-through...
case GLenum::GL_MAX_COLOR_TEXTURE_SAMPLES: // fall-through...
case GLenum::GL_MAX_COMBINED_ATOMIC_COUNTERS: // fall-through...
case GLenum::GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS: // fall-through...
case GLenum::GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS: // fall-through...
case GLenum::GL_MAX_COMPUTE_ATOMIC_COUNTERS: // fall-through...
case GLenum::GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS: // fall-through...
case GLenum::GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS: // fall-through...
case GLenum::GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS: // fall-through...
case GLenum::GL_MAX_COMPUTE_UNIFORM_BLOCKS: // fall-through...
case GLenum::GL_MAX_COMPUTE_UNIFORM_COMPONENTS: // fall-through...
case GLenum::GL_MAX_COMPUTE_WORK_GROUP_COUNT: // fall-through...
case GLenum::GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS: // fall-through...
case GLenum::GL_MAX_COMPUTE_WORK_GROUP_SIZE: // fall-through...
case GLenum::GL_MAX_FRAGMENT_ATOMIC_COUNTERS: // fall-through...
case GLenum::GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS: // fall-through...
case GLenum::GL_MAX_FRAMEBUFFER_HEIGHT: // fall-through...
case GLenum::GL_MAX_FRAMEBUFFER_SAMPLES: // fall-through...
case GLenum::GL_MAX_FRAMEBUFFER_WIDTH: // fall-through...
case GLenum::GL_MAX_INTEGER_SAMPLES: // fall-through...
case GLenum::GL_MAX_SAMPLE_MASK_WORDS: // fall-through...
case GLenum::GL_MAX_SHADER_STORAGE_BLOCK_SIZE: // fall-through...
case GLenum::GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS: // fall-through...
case GLenum::GL_MAX_UNIFORM_LOCATIONS: // fall-through...
case GLenum::GL_MAX_VERTEX_ATOMIC_COUNTERS: // fall-through...
case GLenum::GL_MAX_VERTEX_ATTRIB_BINDINGS: // fall-through...
case GLenum::GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET: // fall-through...
case GLenum::GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS: // fall-through...
case GLenum::GL_PROGRAM_PIPELINE_BINDING: // fall-through...
case GLenum::GL_SHADER_STORAGE_BUFFER_BINDING: // fall-through...
case GLenum::GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT: // fall-through...
case GLenum::GL_SHADER_STORAGE_BUFFER_SIZE: // fall-through...
case GLenum::GL_SHADER_STORAGE_BUFFER_START: // fall-through...
case GLenum::GL_TEXTURE_BINDING_2D_MULTISAMPLE: // fall-through...
case GLenum::GL_VERTEX_BINDING_DIVISOR: // fall-through...
case GLenum::GL_VERTEX_BINDING_OFFSET: // fall-through...
case GLenum::GL_VERTEX_BINDING_STRIDE: {
uint32_t l_minRequiredVersion_872_major = 3;
uint32_t l_minRequiredVersion_872_minor = 1;
break;
}
}
Slice<GLint> l_v = slice(values, (uint64_t)(0), (uint64_t)(stateVariableSize(param)));
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_874_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_874_result;
observe(observations.mReads);
mImports.glGetIntegerv(param, values);
switch (param) {
case GLenum::GL_ACTIVE_TEXTURE: {
write(l_v, 0, (GLint)(l_ctx->mActiveTextureUnit));
break;
}
case GLenum::GL_ARRAY_BUFFER_BINDING: {
write(l_v, 0, (GLint)(l_ctx->mBoundBuffers[GLenum::GL_ARRAY_BUFFER]));
break;
}
case GLenum::GL_ELEMENT_ARRAY_BUFFER_BINDING: {
write(l_v, 0, (GLint)(l_ctx->mBoundBuffers[GLenum::GL_ELEMENT_ARRAY_BUFFER]));
break;
}
case GLenum::GL_BLEND_SRC_ALPHA: {
write(l_v, 0, (GLint)(l_ctx->mBlending.mSrcAlphaBlendFactor));
break;
}
case GLenum::GL_BLEND_SRC_RGB: {
write(l_v, 0, (GLint)(l_ctx->mBlending.mSrcRgbBlendFactor));
break;
}
case GLenum::GL_BLEND_DST_ALPHA: {
write(l_v, 0, (GLint)(l_ctx->mBlending.mDstAlphaBlendFactor));
break;
}
case GLenum::GL_BLEND_DST_RGB: {
write(l_v, 0, (GLint)(l_ctx->mBlending.mDstRgbBlendFactor));
break;
}
case GLenum::GL_BLEND_EQUATION_RGB: {
write(l_v, 0, (GLint)(l_ctx->mBlending.mBlendEquationRgb));
break;
}
case GLenum::GL_BLEND_EQUATION_ALPHA: {
write(l_v, 0, (GLint)(l_ctx->mBlending.mBlendEquationAlpha));
break;
}
case GLenum::GL_BLEND_COLOR: {
write(l_v, 0, (GLint)(l_ctx->mBlending.mBlendColor.mRed));
write(l_v, 1, (GLint)(l_ctx->mBlending.mBlendColor.mGreen));
write(l_v, 2, (GLint)(l_ctx->mBlending.mBlendColor.mBlue));
write(l_v, 3, (GLint)(l_ctx->mBlending.mBlendColor.mAlpha));
break;
}
case GLenum::GL_DEPTH_FUNC: {
write(l_v, 0, (GLint)(l_ctx->mRasterizing.mDepthTestFunction));
break;
}
case GLenum::GL_DEPTH_CLEAR_VALUE: {
write(l_v, 0, (GLint)(l_ctx->mClearing.mClearDepth));
break;
}
case GLenum::GL_STENCIL_WRITEMASK: {
write(l_v, 0, (GLint)(l_ctx->mRasterizing.mStencilMask[GLenum::GL_FRONT]));
break;
}
case GLenum::GL_STENCIL_BACK_WRITEMASK: {
write(l_v, 0, (GLint)(l_ctx->mRasterizing.mStencilMask[GLenum::GL_BACK]));
break;
}
case GLenum::GL_VIEWPORT: {
write(l_v, 0, l_ctx->mRasterizing.mViewport.mX);
write(l_v, 1, l_ctx->mRasterizing.mViewport.mY);
write(l_v, 2, (GLint)(l_ctx->mRasterizing.mViewport.mWidth));
write(l_v, 3, (GLint)(l_ctx->mRasterizing.mViewport.mHeight));
break;
}
case GLenum::GL_SCISSOR_BOX: {
write(l_v, 0, l_ctx->mRasterizing.mScissor.mX);
write(l_v, 1, l_ctx->mRasterizing.mScissor.mY);
write(l_v, 2, (GLint)(l_ctx->mRasterizing.mScissor.mWidth));
write(l_v, 3, (GLint)(l_ctx->mRasterizing.mScissor.mHeight));
break;
}
case GLenum::GL_FRONT_FACE: {
write(l_v, 0, (GLint)(l_ctx->mRasterizing.mFrontFace));
break;
}
case GLenum::GL_CULL_FACE_MODE: {
write(l_v, 0, (GLint)(l_ctx->mRasterizing.mCullFace));
break;
}
case GLenum::GL_STENCIL_CLEAR_VALUE: {
write(l_v, 0, l_ctx->mClearing.mClearStencil);
break;
}
case GLenum::GL_DRAW_FRAMEBUFFER_BINDING: {
write(l_v, 0, (GLint)(l_ctx->mBoundFramebuffers[GLenum::GL_FRAMEBUFFER]));
break;
}
case GLenum::GL_READ_FRAMEBUFFER_BINDING: {
write(l_v, 0, (GLint)(l_ctx->mBoundFramebuffers[GLenum::GL_READ_FRAMEBUFFER]));
break;
}
case GLenum::GL_RENDERBUFFER_BINDING: {
write(l_v, 0, (GLint)(l_ctx->mBoundRenderbuffers[GLenum::GL_RENDERBUFFER]));
break;
}
case GLenum::GL_CURRENT_PROGRAM: {
write(l_v, 0, (GLint)(l_ctx->mBoundProgram));
break;
}
case GLenum::GL_TEXTURE_BINDING_2D: {
write(l_v, 0, (GLint)(l_ctx->mTextureUnits[l_ctx->mActiveTextureUnit]
[GLenum::GL_TEXTURE_2D]));
break;
}
case GLenum::GL_TEXTURE_BINDING_CUBE_MAP: {
write(l_v, 0, (GLint)(l_ctx->mTextureUnits[l_ctx->mActiveTextureUnit]
[GLenum::GL_TEXTURE_CUBE_MAP]));
break;
}
case GLenum::GL_GENERATE_MIPMAP_HINT: {
write(l_v, 0, (GLint)(l_ctx->mGenerateMipmapHint));
break;
}
case GLenum::GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS: {
auto l_result =
slice(values, (uint64_t)(0), (uint64_t)(stateVariableSize(param)))[0];
write(l_v, 0, l_result);
break;
}
case GLenum::GL_MAX_CUBE_MAP_TEXTURE_SIZE: {
auto l_result =
slice(values, (uint64_t)(0), (uint64_t)(stateVariableSize(param)))[0];
write(l_v, 0, l_result);
break;
}
case GLenum::GL_MAX_FRAGMENT_UNIFORM_VECTORS: {
auto l_result =
slice(values, (uint64_t)(0), (uint64_t)(stateVariableSize(param)))[0];
write(l_v, 0, l_result);
break;
}
case GLenum::GL_MAX_RENDERBUFFER_SIZE: {
auto l_result =
slice(values, (uint64_t)(0), (uint64_t)(stateVariableSize(param)))[0];
write(l_v, 0, l_result);
break;
}
case GLenum::GL_MAX_TEXTURE_IMAGE_UNITS: {
auto l_result =
slice(values, (uint64_t)(0), (uint64_t)(stateVariableSize(param)))[0];
write(l_v, 0, l_result);
break;
}
case GLenum::GL_MAX_TEXTURE_SIZE: {
auto l_result =
slice(values, (uint64_t)(0), (uint64_t)(stateVariableSize(param)))[0];
write(l_v, 0, l_result);
break;
}
case GLenum::GL_MAX_VARYING_VECTORS: {
auto l_result =
slice(values, (uint64_t)(0), (uint64_t)(stateVariableSize(param)))[0];
write(l_v, 0, l_result);
break;
}
case GLenum::GL_MAX_VERTEX_ATTRIBS: {
auto l_result =
slice(values, (uint64_t)(0), (uint64_t)(stateVariableSize(param)))[0];
write(l_v, 0, l_result);
break;
}
case GLenum::GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS: {
write(l_v, 0,
slice(values, (uint64_t)(0), (uint64_t)(stateVariableSize(param)))[0]);
break;
}
case GLenum::GL_MAX_VERTEX_UNIFORM_VECTORS: {
auto l_result =
slice(values, (uint64_t)(0), (uint64_t)(stateVariableSize(param)))[0];
write(l_v, 0, l_result);
break;
}
case GLenum::GL_MAX_VIEWPORT_DIMS: {
auto l_max_width =
slice(values, (uint64_t)(0), (uint64_t)(stateVariableSize(param)))[0];
auto l_max_height =
slice(values, (uint64_t)(0), (uint64_t)(stateVariableSize(param)))[1];
write(l_v, 0, l_max_width);
write(l_v, 1, l_max_height);
break;
}
case GLenum::GL_NUM_COMPRESSED_TEXTURE_FORMATS: {
auto l_result =
slice(values, (uint64_t)(0), (uint64_t)(stateVariableSize(param)))[0];
write(l_v, 0, l_result);
break;
}
case GLenum::GL_NUM_SHADER_BINARY_FORMATS: {
auto l_result =
slice(values, (uint64_t)(0), (uint64_t)(stateVariableSize(param)))[0];
write(l_v, 0, l_result);
break;
}
case GLenum::GL_PACK_ALIGNMENT: {
write(l_v, 0, l_ctx->mPixelStorage[GLenum::GL_PACK_ALIGNMENT]);
break;
}
case GLenum::GL_UNPACK_ALIGNMENT: {
write(l_v, 0, l_ctx->mPixelStorage[GLenum::GL_UNPACK_ALIGNMENT]);
break;
}
case GLenum::GL_ALPHA_BITS: {
write(l_v, 0,
slice(values, (uint64_t)(0), (uint64_t)(stateVariableSize(param)))[0]);
break;
}
case GLenum::GL_BLUE_BITS: {
write(l_v, 0,
slice(values, (uint64_t)(0), (uint64_t)(stateVariableSize(param)))[0]);
break;
}
case GLenum::GL_GREEN_BITS: {
write(l_v, 0,
slice(values, (uint64_t)(0), (uint64_t)(stateVariableSize(param)))[0]);
break;
}
case GLenum::GL_RED_BITS: {
write(l_v, 0,
slice(values, (uint64_t)(0), (uint64_t)(stateVariableSize(param)))[0]);
break;
}
case GLenum::GL_DEPTH_BITS: {
write(l_v, 0,
slice(values, (uint64_t)(0), (uint64_t)(stateVariableSize(param)))[0]);
break;
}
case GLenum::GL_SAMPLE_BUFFERS: {
write(l_v, 0,
slice(values, (uint64_t)(0), (uint64_t)(stateVariableSize(param)))[0]);
break;
}
case GLenum::GL_SAMPLES: {
write(l_v, 0,
slice(values, (uint64_t)(0), (uint64_t)(stateVariableSize(param)))[0]);
break;
}
case GLenum::GL_STENCIL_BITS: {
write(l_v, 0,
slice(values, (uint64_t)(0), (uint64_t)(stateVariableSize(param)))[0]);
break;
}
case GLenum::GL_SUBPIXEL_BITS: {
auto l_result =
slice(values, (uint64_t)(0), (uint64_t)(stateVariableSize(param)))[0];
write(l_v, 0, l_result);
break;
}
case GLenum::GL_IMPLEMENTATION_COLOR_READ_FORMAT: {
write(l_v, 0,
slice(values, (uint64_t)(0), (uint64_t)(stateVariableSize(param)))[0]);
break;
}
case GLenum::GL_IMPLEMENTATION_COLOR_READ_TYPE: {
write(l_v, 0,
slice(values, (uint64_t)(0), (uint64_t)(stateVariableSize(param)))[0]);
break;
}
case GLenum::GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT: {
write(l_v, 0,
slice(values, (uint64_t)(0), (uint64_t)(stateVariableSize(param)))[0]);
break;
}
case GLenum::GL_GPU_DISJOINT_EXT: {
write(l_v, 0,
slice(values, (uint64_t)(0), (uint64_t)(stateVariableSize(param)))[0]);
break;
}
}
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetIntegerv coder(
observations, param, gapic::coder::gles::GLint__P(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(values), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetInternalformativ(uint32_t target, uint32_t internalformat, uint32_t pname,
int32_t bufSize, int32_t* params) {
GAPID_INFO("glGetInternalformativ(%u, %u, %u, %" PRId32 ", %p)\n", target, internalformat,
pname, bufSize, params);
Observations observations;
do {
uint32_t l_minRequiredVersion_875_major = 3;
uint32_t l_minRequiredVersion_875_minor = 0;
switch (target) {
case GLenum::GL_RENDERBUFFER: {
break;
}
case GLenum::GL_TEXTURE_2D_MULTISAMPLE: {
uint32_t l_minRequiredVersion_876_major = 3;
uint32_t l_minRequiredVersion_876_minor = 1;
break;
}
}
switch (internalformat) {
case GLenum::GL_DEPTH24_STENCIL8: // fall-through...
case GLenum::GL_DEPTH32F_STENCIL8: // fall-through...
case GLenum::GL_DEPTH_COMPONENT16: // fall-through...
case GLenum::GL_DEPTH_COMPONENT24: // fall-through...
case GLenum::GL_DEPTH_COMPONENT32F: // fall-through...
case GLenum::GL_R11F_G11F_B10F: // fall-through...
case GLenum::GL_R16F: // fall-through...
case GLenum::GL_R16I: // fall-through...
case GLenum::GL_R16UI: // fall-through...
case GLenum::GL_R32F: // fall-through...
case GLenum::GL_R32I: // fall-through...
case GLenum::GL_R32UI: // fall-through...
case GLenum::GL_R8: // fall-through...
case GLenum::GL_R8I: // fall-through...
case GLenum::GL_R8UI: // fall-through...
case GLenum::GL_R8_SNORM: // fall-through...
case GLenum::GL_RG16F: // fall-through...
case GLenum::GL_RG16I: // fall-through...
case GLenum::GL_RG16UI: // fall-through...
case GLenum::GL_RG32F: // fall-through...
case GLenum::GL_RG32I: // fall-through...
case GLenum::GL_RG32UI: // fall-through...
case GLenum::GL_RG8: // fall-through...
case GLenum::GL_RG8I: // fall-through...
case GLenum::GL_RG8UI: // fall-through...
case GLenum::GL_RG8_SNORM: // fall-through...
case GLenum::GL_RGB10_A2: // fall-through...
case GLenum::GL_RGB10_A2UI: // fall-through...
case GLenum::GL_RGB16F: // fall-through...
case GLenum::GL_RGB16I: // fall-through...
case GLenum::GL_RGB16UI: // fall-through...
case GLenum::GL_RGB32F: // fall-through...
case GLenum::GL_RGB32I: // fall-through...
case GLenum::GL_RGB32UI: // fall-through...
case GLenum::GL_RGB565: // fall-through...
case GLenum::GL_RGB5_A1: // fall-through...
case GLenum::GL_RGB8: // fall-through...
case GLenum::GL_RGB8I: // fall-through...
case GLenum::GL_RGB8UI: // fall-through...
case GLenum::GL_RGB8_SNORM: // fall-through...
case GLenum::GL_RGB9_E5: // fall-through...
case GLenum::GL_RGBA16F: // fall-through...
case GLenum::GL_RGBA16I: // fall-through...
case GLenum::GL_RGBA16UI: // fall-through...
case GLenum::GL_RGBA32F: // fall-through...
case GLenum::GL_RGBA32I: // fall-through...
case GLenum::GL_RGBA32UI: // fall-through...
case GLenum::GL_RGBA4: // fall-through...
case GLenum::GL_RGBA8: // fall-through...
case GLenum::GL_RGBA8I: // fall-through...
case GLenum::GL_RGBA8UI: // fall-through...
case GLenum::GL_RGBA8_SNORM: // fall-through...
case GLenum::GL_SRGB8: // fall-through...
case GLenum::GL_SRGB8_ALPHA8: {
break;
}
}
switch (pname) {
case GLenum::GL_NUM_SAMPLE_COUNTS: // fall-through...
case GLenum::GL_SAMPLES: {
break;
}
}
observe(observations.mReads);
mImports.glGetInternalformativ(target, internalformat, pname, bufSize, params);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetInternalformativ coder(
observations, target, internalformat, pname, bufSize,
gapic::coder::gles::GLint__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(params), 0)));
mEncoder->Object(&coder);
}
inline uint8_t* GlesSpy::glGetString(uint32_t param) {
GAPID_INFO("glGetString(%u)\n", param);
uint8_t* result = nullptr;
Observations observations;
do {
uint32_t l_minRequiredVersion_880_major = 2;
uint32_t l_minRequiredVersion_880_minor = 0;
switch (param) {
case GLenum::GL_EXTENSIONS: // fall-through...
case GLenum::GL_RENDERER: // fall-through...
case GLenum::GL_SHADING_LANGUAGE_VERSION: // fall-through...
case GLenum::GL_VENDOR: // fall-through...
case GLenum::GL_VERSION: {
break;
}
}
observe(observations.mReads);
result = mImports.glGetString(param);
break;
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetString coder(
observations, param, gapic::coder::gles::GLubyte__CP(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(result), 0)));
mEncoder->Object(&coder);
return result;
}
inline uint8_t* GlesSpy::glGetStringi(uint32_t name, uint32_t index) {
GAPID_INFO("glGetStringi(%u, %" PRIu32 ")\n", name, index);
uint8_t* result = nullptr;
Observations observations;
do {
uint32_t l_minRequiredVersion_882_major = 3;
uint32_t l_minRequiredVersion_882_minor = 0;
switch (name) {
case GLenum::GL_EXTENSIONS: {
break;
}
}
observe(observations.mReads);
result = mImports.glGetStringi(name, index);
break;
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetStringi coder(
observations, name, index,
gapic::coder::gles::GLubyte__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(result), 0)));
mEncoder->Object(&coder);
return result;
}
inline uint8_t GlesSpy::glIsEnabled(uint32_t capability) {
GAPID_INFO("glIsEnabled(%u)\n", capability);
uint8_t result = 0;
Observations observations;
do {
uint32_t l_minRequiredVersion_884_major = 2;
uint32_t l_minRequiredVersion_884_minor = 0;
switch (capability) {
case GLenum::GL_BLEND: // fall-through...
case GLenum::GL_CULL_FACE: // fall-through...
case GLenum::GL_DEPTH_TEST: // fall-through...
case GLenum::GL_DITHER: // fall-through...
case GLenum::GL_POLYGON_OFFSET_FILL: // fall-through...
case GLenum::GL_SAMPLE_ALPHA_TO_COVERAGE: // fall-through...
case GLenum::GL_SAMPLE_COVERAGE: // fall-through...
case GLenum::GL_SCISSOR_TEST: // fall-through...
case GLenum::GL_STENCIL_TEST: {
break;
}
case GLenum::GL_PRIMITIVE_RESTART_FIXED_INDEX: // fall-through...
case GLenum::GL_RASTERIZER_DISCARD: {
uint32_t l_minRequiredVersion_885_major = 3;
uint32_t l_minRequiredVersion_885_minor = 0;
break;
}
}
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_887_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_887_result;
observe(observations.mReads);
result = mImports.glIsEnabled(capability);
break;
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlIsEnabled coder(observations, capability, result);
mEncoder->Object(&coder);
return result;
}
inline uint32_t GlesSpy::glClientWaitSync(uint64_t sync, uint32_t syncFlags, uint64_t timeout) {
GAPID_INFO("glClientWaitSync(%" PRIu64 ", %u, %" PRIu64 ")\n", sync, syncFlags, timeout);
uint32_t result = 0;
Observations observations;
do {
uint32_t l_minRequiredVersion_888_major = 3;
uint32_t l_minRequiredVersion_888_minor = 0;
uint32_t l_supportsBits_889_seenBits = syncFlags;
uint32_t l_supportsBits_889_validBits = GLbitfield::GL_SYNC_FLUSH_COMMANDS_BIT;
if ((syncFlags & GLbitfield::GL_SYNC_FLUSH_COMMANDS_BIT) != 0) {
}
observe(observations.mReads);
result = mImports.glClientWaitSync(sync, syncFlags, timeout);
break;
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlClientWaitSync coder(observations, sync, syncFlags, timeout, result);
mEncoder->Object(&coder);
return result;
}
inline void GlesSpy::glDeleteSync(uint64_t sync) {
GAPID_INFO("glDeleteSync(%" PRIu64 ")\n", sync);
Observations observations;
do {
uint32_t l_minRequiredVersion_890_major = 3;
uint32_t l_minRequiredVersion_890_minor = 0;
observe(observations.mReads);
mImports.glDeleteSync(sync);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlDeleteSync coder(observations, sync);
mEncoder->Object(&coder);
}
inline uint64_t GlesSpy::glFenceSync(uint32_t condition, uint32_t syncFlags) {
GAPID_INFO("glFenceSync(%u, %u)\n", condition, syncFlags);
uint64_t result = 0;
Observations observations;
do {
uint32_t l_minRequiredVersion_891_major = 3;
uint32_t l_minRequiredVersion_891_minor = 0;
switch (condition) {
case GLenum::GL_SYNC_GPU_COMMANDS_COMPLETE: {
break;
}
}
observe(observations.mReads);
result = mImports.glFenceSync(condition, syncFlags);
break;
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlFenceSync coder(observations, condition, syncFlags, result);
mEncoder->Object(&coder);
return result;
}
inline void GlesSpy::glGetSynciv(uint64_t sync, uint32_t pname, int32_t bufSize, int32_t* length,
int32_t* values) {
GAPID_INFO("glGetSynciv(%" PRIu64 ", %u, %" PRId32 ", %p, %p)\n", sync, pname, bufSize, length,
values);
Observations observations;
do {
uint32_t l_minRequiredVersion_893_major = 3;
uint32_t l_minRequiredVersion_893_minor = 0;
switch (pname) {
case GLenum::GL_OBJECT_TYPE: // fall-through...
case GLenum::GL_SYNC_CONDITION: // fall-through...
case GLenum::GL_SYNC_FLAGS: // fall-through...
case GLenum::GL_SYNC_STATUS: {
break;
}
}
observe(observations.mReads);
mImports.glGetSynciv(sync, pname, bufSize, length, values);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetSynciv coder(
observations, sync, pname, bufSize,
gapic::coder::gles::GLsizei__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(length), 0)),
gapic::coder::gles::GLint__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(values), 0)));
mEncoder->Object(&coder);
}
inline uint8_t GlesSpy::glIsSync(uint64_t sync) {
GAPID_INFO("glIsSync(%" PRIu64 ")\n", sync);
uint8_t result = 0;
Observations observations;
do {
uint32_t l_minRequiredVersion_895_major = 3;
uint32_t l_minRequiredVersion_895_minor = 0;
observe(observations.mReads);
result = mImports.glIsSync(sync);
break;
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlIsSync coder(observations, sync, result);
mEncoder->Object(&coder);
return result;
}
inline void GlesSpy::glWaitSync(uint64_t sync, uint32_t syncFlags, uint64_t timeout) {
GAPID_INFO("glWaitSync(%" PRIu64 ", %u, %" PRIu64 ")\n", sync, syncFlags, timeout);
Observations observations;
do {
uint32_t l_minRequiredVersion_896_major = 3;
uint32_t l_minRequiredVersion_896_minor = 0;
observe(observations.mReads);
mImports.glWaitSync(sync, syncFlags, timeout);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlWaitSync coder(observations, sync, syncFlags, timeout);
mEncoder->Object(&coder);
}
inline void GlesSpy::glActiveTexture(uint32_t unit) {
GAPID_INFO("glActiveTexture(%u)\n", unit);
Observations observations;
do {
uint32_t l_minRequiredVersion_897_major = 2;
uint32_t l_minRequiredVersion_897_minor = 0;
switch (unit) {
case GLenum::GL_TEXTURE0: // fall-through...
case GLenum::GL_TEXTURE1: // fall-through...
case GLenum::GL_TEXTURE10: // fall-through...
case GLenum::GL_TEXTURE11: // fall-through...
case GLenum::GL_TEXTURE12: // fall-through...
case GLenum::GL_TEXTURE13: // fall-through...
case GLenum::GL_TEXTURE14: // fall-through...
case GLenum::GL_TEXTURE15: // fall-through...
case GLenum::GL_TEXTURE16: // fall-through...
case GLenum::GL_TEXTURE17: // fall-through...
case GLenum::GL_TEXTURE18: // fall-through...
case GLenum::GL_TEXTURE19: // fall-through...
case GLenum::GL_TEXTURE2: // fall-through...
case GLenum::GL_TEXTURE20: // fall-through...
case GLenum::GL_TEXTURE21: // fall-through...
case GLenum::GL_TEXTURE22: // fall-through...
case GLenum::GL_TEXTURE23: // fall-through...
case GLenum::GL_TEXTURE24: // fall-through...
case GLenum::GL_TEXTURE25: // fall-through...
case GLenum::GL_TEXTURE26: // fall-through...
case GLenum::GL_TEXTURE27: // fall-through...
case GLenum::GL_TEXTURE28: // fall-through...
case GLenum::GL_TEXTURE29: // fall-through...
case GLenum::GL_TEXTURE3: // fall-through...
case GLenum::GL_TEXTURE30: // fall-through...
case GLenum::GL_TEXTURE31: // fall-through...
case GLenum::GL_TEXTURE4: // fall-through...
case GLenum::GL_TEXTURE5: // fall-through...
case GLenum::GL_TEXTURE6: // fall-through...
case GLenum::GL_TEXTURE7: // fall-through...
case GLenum::GL_TEXTURE8: // fall-through...
case GLenum::GL_TEXTURE9: {
break;
}
}
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_899_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_899_result;
l_ctx->mActiveTextureUnit = unit;
if (!(l_ctx->mTextureUnits.count(unit) > 0)) {
l_ctx->mTextureUnits[unit] = l_ctx->mTextureUnits[unit];
}
observe(observations.mReads);
mImports.glActiveTexture(unit);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlActiveTexture coder(observations, unit);
mEncoder->Object(&coder);
}
inline void GlesSpy::glBindImageTexture(uint32_t unit, uint32_t texture, int32_t level,
uint8_t layered, int32_t layer, uint32_t access,
uint32_t format) {
GAPID_INFO("glBindImageTexture(%" PRIu32 ", %" PRIu32 ", %" PRId32 ", %" PRIu8 ", %" PRId32
", %u, %u)\n",
unit, texture, level, layered, layer, access, format);
Observations observations;
do {
uint32_t l_minRequiredVersion_900_major = 3;
uint32_t l_minRequiredVersion_900_minor = 1;
switch (access) {
case GLenum::GL_READ_ONLY: // fall-through...
case GLenum::GL_READ_WRITE: // fall-through...
case GLenum::GL_WRITE_ONLY: {
break;
}
}
switch (format) {
case GLenum::GL_R32F: // fall-through...
case GLenum::GL_R32I: // fall-through...
case GLenum::GL_R32UI: // fall-through...
case GLenum::GL_RGBA16F: // fall-through...
case GLenum::GL_RGBA16I: // fall-through...
case GLenum::GL_RGBA16UI: // fall-through...
case GLenum::GL_RGBA32F: // fall-through...
case GLenum::GL_RGBA32I: // fall-through...
case GLenum::GL_RGBA32UI: // fall-through...
case GLenum::GL_RGBA8: // fall-through...
case GLenum::GL_RGBA8I: // fall-through...
case GLenum::GL_RGBA8UI: // fall-through...
case GLenum::GL_RGBA8_SNORM: {
break;
}
}
observe(observations.mReads);
mImports.glBindImageTexture(unit, texture, level, layered, layer, access, format);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlBindImageTexture coder(observations, unit, texture, level, layered, layer,
access, format);
mEncoder->Object(&coder);
}
inline void GlesSpy::glBindSampler(uint32_t unit, uint32_t sampler) {
GAPID_INFO("glBindSampler(%" PRIu32 ", %" PRIu32 ")\n", unit, sampler);
Observations observations;
do {
uint32_t l_minRequiredVersion_903_major = 3;
uint32_t l_minRequiredVersion_903_minor = 0;
observe(observations.mReads);
mImports.glBindSampler(unit, sampler);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlBindSampler coder(observations, unit, sampler);
mEncoder->Object(&coder);
}
inline void GlesSpy::glBindTexture(uint32_t target, uint32_t texture) {
GAPID_INFO("glBindTexture(%u, %" PRIu32 ")\n", target, texture);
Observations observations;
do {
uint32_t l_minRequiredVersion_904_major = 2;
uint32_t l_minRequiredVersion_904_minor = 0;
switch (target) {
case GLenum::GL_TEXTURE_2D: // fall-through...
case GLenum::GL_TEXTURE_CUBE_MAP: {
break;
}
case GLenum::GL_TEXTURE_2D_ARRAY: // fall-through...
case GLenum::GL_TEXTURE_3D: {
uint32_t l_minRequiredVersion_905_major = 3;
uint32_t l_minRequiredVersion_905_minor = 0;
break;
}
case GLenum::GL_TEXTURE_2D_MULTISAMPLE: {
uint32_t l_minRequiredVersion_906_major = 3;
uint32_t l_minRequiredVersion_906_minor = 1;
break;
}
}
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_908_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_908_result;
if (!(l_ctx->mInstances.mTextures.count(texture) > 0)) {
l_ctx->mInstances.mTextures[texture] = std::shared_ptr<Texture>((new Texture()));
}
l_ctx->mTextureUnits[l_ctx->mActiveTextureUnit][target] = texture;
observe(observations.mReads);
mImports.glBindTexture(target, texture);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlBindTexture coder(observations, target, texture);
mEncoder->Object(&coder);
}
inline void GlesSpy::glCompressedTexImage2D(uint32_t target, int32_t level, uint32_t format,
int32_t width, int32_t height, int32_t border,
int32_t image_size, void* data) {
GAPID_INFO("glCompressedTexImage2D(%u, %" PRId32 ", %u, %" PRId32 ", %" PRId32 ", %" PRId32
", %" PRId32 ", %p)\n",
target, level, format, width, height, border, image_size, data);
Observations observations;
do {
uint32_t l_minRequiredVersion_909_major = 2;
uint32_t l_minRequiredVersion_909_minor = 0;
switch (target) {
case GLenum::GL_TEXTURE_2D: // fall-through...
case GLenum::GL_TEXTURE_CUBE_MAP_NEGATIVE_X: // fall-through...
case GLenum::GL_TEXTURE_CUBE_MAP_NEGATIVE_Y: // fall-through...
case GLenum::GL_TEXTURE_CUBE_MAP_NEGATIVE_Z: // fall-through...
case GLenum::GL_TEXTURE_CUBE_MAP_POSITIVE_X: // fall-through...
case GLenum::GL_TEXTURE_CUBE_MAP_POSITIVE_Y: // fall-through...
case GLenum::GL_TEXTURE_CUBE_MAP_POSITIVE_Z: {
break;
}
}
switch (format) {
case GLenum::GL_COMPRESSED_R11_EAC: // fall-through...
case GLenum::GL_COMPRESSED_RG11_EAC: // fall-through...
case GLenum::GL_COMPRESSED_RGB8_ETC2: // fall-through...
case GLenum::GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2: // fall-through...
case GLenum::GL_COMPRESSED_RGBA8_ETC2_EAC: // fall-through...
case GLenum::GL_COMPRESSED_SIGNED_R11_EAC: // fall-through...
case GLenum::GL_COMPRESSED_SIGNED_RG11_EAC: // fall-through...
case GLenum::GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC: // fall-through...
case GLenum::GL_COMPRESSED_SRGB8_ETC2: // fall-through...
case GLenum::GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2: {
uint32_t l_minRequiredVersion_911_major = 3;
uint32_t l_minRequiredVersion_911_minor = 0;
break;
}
case GLenum::GL_ATC_RGB_AMD: // fall-through...
case GLenum::GL_ATC_RGBA_EXPLICIT_ALPHA_AMD: // fall-through...
case GLenum::GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD: {
uint32_t l_requiresExtension_912_ext = ExtensionId::GL_AMD_compressed_ATC_texture;
break;
}
}
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_914_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_914_result;
switch (target) {
case GLenum::GL_TEXTURE_2D: {
TextureId l_id =
l_ctx->mTextureUnits[l_ctx->mActiveTextureUnit][GLenum::GL_TEXTURE_2D];
std::shared_ptr<Texture> l_t = l_ctx->mInstances.mTextures[l_id];
Image l_l = Image()
.SetWidth(width)
.SetHeight(height)
.SetSize((uint32_t)(image_size))
.SetFormat(format);
if (l_ctx->mBoundBuffers[GLenum::GL_PIXEL_UNPACK_BUFFER] == (BufferId)(0) &&
data != nullptr) {
l_l.mData =
clone(slice((uint8_t*)(data), (uint64_t)(0), (uint64_t)(l_l.mSize)));
}
l_t->mTexture2D[level] = l_l;
l_t->mKind = TextureKind::TEXTURE2D;
l_t->mFormat = format;
break;
}
case GLenum::GL_TEXTURE_CUBE_MAP_POSITIVE_X: // fall-through...
case GLenum::GL_TEXTURE_CUBE_MAP_POSITIVE_Y: // fall-through...
case GLenum::GL_TEXTURE_CUBE_MAP_POSITIVE_Z: // fall-through...
case GLenum::GL_TEXTURE_CUBE_MAP_NEGATIVE_X: // fall-through...
case GLenum::GL_TEXTURE_CUBE_MAP_NEGATIVE_Y: // fall-through...
case GLenum::GL_TEXTURE_CUBE_MAP_NEGATIVE_Z: {
TextureId l_id = l_ctx->mTextureUnits[l_ctx->mActiveTextureUnit]
[GLenum::GL_TEXTURE_CUBE_MAP];
std::shared_ptr<Texture> l_t = l_ctx->mInstances.mTextures[l_id];
Image l_l = Image()
.SetWidth(width)
.SetHeight(height)
.SetSize((uint32_t)(image_size))
.SetFormat(format);
if (l_ctx->mBoundBuffers[GLenum::GL_PIXEL_UNPACK_BUFFER] == (BufferId)(0) &&
data != nullptr) {
l_l.mData =
clone(slice((uint8_t*)(data), (uint64_t)(0), (uint64_t)(l_l.mSize)));
}
CubemapLevel l_cube = l_t->mCubemap[level];
l_cube.mFaces[target] = l_l;
l_t->mCubemap[level] = l_cube;
l_t->mKind = TextureKind::CUBEMAP;
l_t->mFormat = format;
break;
}
}
observe(observations.mReads);
mImports.glCompressedTexImage2D(target, level, format, width, height, border, image_size,
data);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlCompressedTexImage2D coder(
observations, target, level, format, width, height, border, image_size,
gapic::coder::gles::TexturePointer(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(data), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glCompressedTexImage3D(uint32_t target, int32_t level, uint32_t internalformat,
int32_t width, int32_t height, int32_t depth,
int32_t border, int32_t imageSize, void* data) {
GAPID_INFO("glCompressedTexImage3D(%u, %" PRId32 ", %u, %" PRId32 ", %" PRId32 ", %" PRId32
", %" PRId32 ", %" PRId32 ", %p)\n",
target, level, internalformat, width, height, depth, border, imageSize, data);
Observations observations;
do {
uint32_t l_minRequiredVersion_915_major = 3;
uint32_t l_minRequiredVersion_915_minor = 0;
switch (target) {
case GLenum::GL_TEXTURE_2D_ARRAY: // fall-through...
case GLenum::GL_TEXTURE_3D: {
break;
}
}
switch (internalformat) {
case GLenum::GL_COMPRESSED_R11_EAC: // fall-through...
case GLenum::GL_COMPRESSED_RG11_EAC: // fall-through...
case GLenum::GL_COMPRESSED_RGB8_ETC2: // fall-through...
case GLenum::GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2: // fall-through...
case GLenum::GL_COMPRESSED_RGBA8_ETC2_EAC: // fall-through...
case GLenum::GL_COMPRESSED_SIGNED_R11_EAC: // fall-through...
case GLenum::GL_COMPRESSED_SIGNED_RG11_EAC: // fall-through...
case GLenum::GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC: // fall-through...
case GLenum::GL_COMPRESSED_SRGB8_ETC2: // fall-through...
case GLenum::GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2: {
break;
}
}
observe(observations.mReads);
mImports.glCompressedTexImage3D(target, level, internalformat, width, height, depth, border,
imageSize, data);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlCompressedTexImage3D coder(
observations, target, level, internalformat, width, height, depth, border, imageSize,
gapic::coder::gles::Void__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(data), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glCompressedTexSubImage2D(uint32_t target, int32_t level, int32_t xoffset,
int32_t yoffset, int32_t width, int32_t height,
uint32_t format, int32_t image_size, void* data) {
GAPID_INFO("glCompressedTexSubImage2D(%u, %" PRId32 ", %" PRId32 ", %" PRId32 ", %" PRId32
", %" PRId32 ", %u, %" PRId32 ", %p)\n",
target, level, xoffset, yoffset, width, height, format, image_size, data);
Observations observations;
do {
uint32_t l_minRequiredVersion_918_major = 2;
uint32_t l_minRequiredVersion_918_minor = 0;
switch (target) {
case GLenum::GL_TEXTURE_2D: // fall-through...
case GLenum::GL_TEXTURE_CUBE_MAP_NEGATIVE_X: // fall-through...
case GLenum::GL_TEXTURE_CUBE_MAP_NEGATIVE_Y: // fall-through...
case GLenum::GL_TEXTURE_CUBE_MAP_NEGATIVE_Z: // fall-through...
case GLenum::GL_TEXTURE_CUBE_MAP_POSITIVE_X: // fall-through...
case GLenum::GL_TEXTURE_CUBE_MAP_POSITIVE_Y: // fall-through...
case GLenum::GL_TEXTURE_CUBE_MAP_POSITIVE_Z: {
break;
}
}
switch (format) {
case GLenum::GL_COMPRESSED_R11_EAC: // fall-through...
case GLenum::GL_COMPRESSED_RG11_EAC: // fall-through...
case GLenum::GL_COMPRESSED_RGB8_ETC2: // fall-through...
case GLenum::GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2: // fall-through...
case GLenum::GL_COMPRESSED_RGBA8_ETC2_EAC: // fall-through...
case GLenum::GL_COMPRESSED_SIGNED_R11_EAC: // fall-through...
case GLenum::GL_COMPRESSED_SIGNED_RG11_EAC: // fall-through...
case GLenum::GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC: // fall-through...
case GLenum::GL_COMPRESSED_SRGB8_ETC2: // fall-through...
case GLenum::GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2: {
uint32_t l_minRequiredVersion_920_major = 3;
uint32_t l_minRequiredVersion_920_minor = 0;
break;
}
}
observe(observations.mReads);
mImports.glCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format,
image_size, data);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlCompressedTexSubImage2D coder(
observations, target, level, xoffset, yoffset, width, height, format, image_size,
gapic::coder::gles::TexturePointer(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(data), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glCompressedTexSubImage3D(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, void* data) {
GAPID_INFO("glCompressedTexSubImage3D(%u, %" PRId32 ", %" PRId32 ", %" PRId32 ", %" PRId32
", %" PRId32 ", %" PRId32 ", %" PRId32 ", %u, %" PRId32 ", %p)\n",
target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize,
data);
Observations observations;
do {
uint32_t l_minRequiredVersion_922_major = 3;
uint32_t l_minRequiredVersion_922_minor = 0;
switch (target) {
case GLenum::GL_TEXTURE_2D_ARRAY: // fall-through...
case GLenum::GL_TEXTURE_3D: {
break;
}
}
switch (format) {
case GLenum::GL_COMPRESSED_R11_EAC: // fall-through...
case GLenum::GL_COMPRESSED_RG11_EAC: // fall-through...
case GLenum::GL_COMPRESSED_RGB8_ETC2: // fall-through...
case GLenum::GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2: // fall-through...
case GLenum::GL_COMPRESSED_RGBA8_ETC2_EAC: // fall-through...
case GLenum::GL_COMPRESSED_SIGNED_R11_EAC: // fall-through...
case GLenum::GL_COMPRESSED_SIGNED_RG11_EAC: // fall-through...
case GLenum::GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC: // fall-through...
case GLenum::GL_COMPRESSED_SRGB8_ETC2: // fall-through...
case GLenum::GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2: {
break;
}
}
observe(observations.mReads);
mImports.glCompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height,
depth, format, imageSize, data);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlCompressedTexSubImage3D coder(
observations, target, level, xoffset, yoffset, zoffset, width, height, depth, format,
imageSize, gapic::coder::gles::Void__CP(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(data), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glCopyTexImage2D(uint32_t target, int32_t level, uint32_t format, int32_t x,
int32_t y, int32_t width, int32_t height, int32_t border) {
GAPID_INFO("glCopyTexImage2D(%u, %" PRId32 ", %u, %" PRId32 ", %" PRId32 ", %" PRId32
", %" PRId32 ", %" PRId32 ")\n",
target, level, format, x, y, width, height, border);
Observations observations;
do {
uint32_t l_minRequiredVersion_925_major = 2;
uint32_t l_minRequiredVersion_925_minor = 0;
switch (target) {
case GLenum::GL_TEXTURE_2D: // fall-through...
case GLenum::GL_TEXTURE_CUBE_MAP_NEGATIVE_X: // fall-through...
case GLenum::GL_TEXTURE_CUBE_MAP_NEGATIVE_Y: // fall-through...
case GLenum::GL_TEXTURE_CUBE_MAP_NEGATIVE_Z: // fall-through...
case GLenum::GL_TEXTURE_CUBE_MAP_POSITIVE_X: // fall-through...
case GLenum::GL_TEXTURE_CUBE_MAP_POSITIVE_Y: // fall-through...
case GLenum::GL_TEXTURE_CUBE_MAP_POSITIVE_Z: {
break;
}
}
switch (format) {
case GLenum::GL_ALPHA: // fall-through...
case GLenum::GL_LUMINANCE: // fall-through...
case GLenum::GL_LUMINANCE_ALPHA: // fall-through...
case GLenum::GL_RGB: // fall-through...
case GLenum::GL_RGBA: {
break;
}
case GLenum::GL_R16I: // fall-through...
case GLenum::GL_R16UI: // fall-through...
case GLenum::GL_R32I: // fall-through...
case GLenum::GL_R32UI: // fall-through...
case GLenum::GL_R8: // fall-through...
case GLenum::GL_R8I: // fall-through...
case GLenum::GL_R8UI: // fall-through...
case GLenum::GL_RG16I: // fall-through...
case GLenum::GL_RG16UI: // fall-through...
case GLenum::GL_RG32I: // fall-through...
case GLenum::GL_RG32UI: // fall-through...
case GLenum::GL_RG8: // fall-through...
case GLenum::GL_RG8I: // fall-through...
case GLenum::GL_RG8UI: // fall-through...
case GLenum::GL_RGB10_A2: // fall-through...
case GLenum::GL_RGB10_A2UI: // fall-through...
case GLenum::GL_RGB565: // fall-through...
case GLenum::GL_RGB5_A1: // fall-through...
case GLenum::GL_RGB8: // fall-through...
case GLenum::GL_RGBA16I: // fall-through...
case GLenum::GL_RGBA16UI: // fall-through...
case GLenum::GL_RGBA32I: // fall-through...
case GLenum::GL_RGBA32UI: // fall-through...
case GLenum::GL_RGBA4: // fall-through...
case GLenum::GL_RGBA8: // fall-through...
case GLenum::GL_RGBA8I: // fall-through...
case GLenum::GL_RGBA8UI: // fall-through...
case GLenum::GL_SRGB8: // fall-through...
case GLenum::GL_SRGB8_ALPHA8: {
uint32_t l_minRequiredVersion_927_major = 3;
uint32_t l_minRequiredVersion_927_minor = 0;
break;
}
}
observe(observations.mReads);
mImports.glCopyTexImage2D(target, level, format, x, y, width, height, border);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlCopyTexImage2D coder(observations, target, level, format, x, y, width,
height, border);
mEncoder->Object(&coder);
}
inline void GlesSpy::glCopyTexSubImage2D(uint32_t target, int32_t level, int32_t xoffset,
int32_t yoffset, int32_t x, int32_t y, int32_t width,
int32_t height) {
GAPID_INFO("glCopyTexSubImage2D(%u, %" PRId32 ", %" PRId32 ", %" PRId32 ", %" PRId32
", %" PRId32 ", %" PRId32 ", %" PRId32 ")\n",
target, level, xoffset, yoffset, x, y, width, height);
Observations observations;
do {
uint32_t l_minRequiredVersion_929_major = 2;
uint32_t l_minRequiredVersion_929_minor = 0;
switch (target) {
case GLenum::GL_TEXTURE_2D: // fall-through...
case GLenum::GL_TEXTURE_CUBE_MAP_NEGATIVE_X: // fall-through...
case GLenum::GL_TEXTURE_CUBE_MAP_NEGATIVE_Y: // fall-through...
case GLenum::GL_TEXTURE_CUBE_MAP_NEGATIVE_Z: // fall-through...
case GLenum::GL_TEXTURE_CUBE_MAP_POSITIVE_X: // fall-through...
case GLenum::GL_TEXTURE_CUBE_MAP_POSITIVE_Y: // fall-through...
case GLenum::GL_TEXTURE_CUBE_MAP_POSITIVE_Z: {
break;
}
}
observe(observations.mReads);
mImports.glCopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlCopyTexSubImage2D coder(observations, target, level, xoffset, yoffset, x,
y, width, height);
mEncoder->Object(&coder);
}
inline void GlesSpy::glCopyTexSubImage3D(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) {
GAPID_INFO("glCopyTexSubImage3D(%u, %" PRId32 ", %" PRId32 ", %" PRId32 ", %" PRId32
", %" PRId32 ", %" PRId32 ", %" PRId32 ", %" PRId32 ")\n",
target, level, xoffset, yoffset, zoffset, x, y, width, height);
Observations observations;
do {
uint32_t l_minRequiredVersion_931_major = 3;
uint32_t l_minRequiredVersion_931_minor = 0;
switch (target) {
case GLenum::GL_TEXTURE_2D_ARRAY: // fall-through...
case GLenum::GL_TEXTURE_3D: {
break;
}
}
observe(observations.mReads);
mImports.glCopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlCopyTexSubImage3D coder(observations, target, level, xoffset, yoffset,
zoffset, x, y, width, height);
mEncoder->Object(&coder);
}
inline void GlesSpy::glDeleteSamplers(int32_t count, uint32_t* samplers) {
GAPID_INFO("glDeleteSamplers(%" PRId32 ", %p)\n", count, samplers);
Observations observations;
do {
uint32_t l_minRequiredVersion_933_major = 3;
uint32_t l_minRequiredVersion_933_minor = 0;
observe(observations.mReads);
mImports.glDeleteSamplers(count, samplers);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlDeleteSamplers coder(
observations, count, gapic::coder::gles::SamplerId__CP(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(samplers), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glDeleteTextures(int32_t count, uint32_t* textures) {
GAPID_INFO("glDeleteTextures(%" PRId32 ", %p)\n", count, textures);
Observations observations;
do {
uint32_t l_minRequiredVersion_934_major = 2;
uint32_t l_minRequiredVersion_934_minor = 0;
Slice<TextureId> l_t = slice(textures, (uint64_t)((GLsizei)(0)), (uint64_t)(count));
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_935_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_935_result;
for (GLsizei l_i = (GLsizei)(0); l_i < count; ++l_i) {
l_ctx->mInstances.mTextures[read(l_t, (uint64_t)(l_i))] = std::shared_ptr<Texture>();
}
observe(observations.mReads);
mImports.glDeleteTextures(count, textures);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlDeleteTextures coder(
observations, count, gapic::coder::gles::TextureId__CP(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(textures), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGenSamplers(int32_t count, uint32_t* samplers) {
GAPID_INFO("glGenSamplers(%" PRId32 ", %p)\n", count, samplers);
Observations observations;
do {
uint32_t l_minRequiredVersion_936_major = 3;
uint32_t l_minRequiredVersion_936_minor = 0;
observe(observations.mReads);
mImports.glGenSamplers(count, samplers);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGenSamplers coder(
observations, count, gapic::coder::gles::SamplerId__P(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(samplers), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGenTextures(int32_t count, uint32_t* textures) {
GAPID_INFO("glGenTextures(%" PRId32 ", %p)\n", count, textures);
Observations observations;
do {
uint32_t l_minRequiredVersion_937_major = 2;
uint32_t l_minRequiredVersion_937_minor = 0;
Slice<TextureId> l_t = slice(textures, (uint64_t)((GLsizei)(0)), (uint64_t)(count));
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_938_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_938_result;
observe(observations.mReads);
mImports.glGenTextures(count, textures);
for (GLsizei l_i = (GLsizei)(0); l_i < count; ++l_i) {
TextureId l_id = (TextureId)(
slice(textures, (uint64_t)((GLsizei)(0)), (uint64_t)(count))[(uint64_t)(l_i)]);
l_ctx->mInstances.mTextures[l_id] = std::shared_ptr<Texture>((new Texture()));
write(l_t, (uint64_t)(l_i), l_id);
}
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGenTextures coder(
observations, count, gapic::coder::gles::TextureId__P(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(textures), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGenerateMipmap(uint32_t target) {
GAPID_INFO("glGenerateMipmap(%u)\n", target);
Observations observations;
do {
uint32_t l_minRequiredVersion_939_major = 2;
uint32_t l_minRequiredVersion_939_minor = 0;
switch (target) {
case GLenum::GL_TEXTURE_2D: // fall-through...
case GLenum::GL_TEXTURE_CUBE_MAP: {
break;
}
case GLenum::GL_TEXTURE_2D_ARRAY: // fall-through...
case GLenum::GL_TEXTURE_3D: {
uint32_t l_minRequiredVersion_940_major = 3;
uint32_t l_minRequiredVersion_940_minor = 0;
break;
}
}
observe(observations.mReads);
mImports.glGenerateMipmap(target);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGenerateMipmap coder(observations, target);
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetSamplerParameterfv(uint32_t sampler, uint32_t pname, float* params) {
GAPID_INFO("glGetSamplerParameterfv(%" PRIu32 ", %u, %p)\n", sampler, pname, params);
Observations observations;
do {
uint32_t l_minRequiredVersion_942_major = 3;
uint32_t l_minRequiredVersion_942_minor = 0;
switch (pname) {
case GLenum::GL_TEXTURE_COMPARE_FUNC: // fall-through...
case GLenum::GL_TEXTURE_COMPARE_MODE: // fall-through...
case GLenum::GL_TEXTURE_MAG_FILTER: // fall-through...
case GLenum::GL_TEXTURE_MAX_LOD: // fall-through...
case GLenum::GL_TEXTURE_MIN_FILTER: // fall-through...
case GLenum::GL_TEXTURE_MIN_LOD: // fall-through...
case GLenum::GL_TEXTURE_WRAP_R: // fall-through...
case GLenum::GL_TEXTURE_WRAP_S: // fall-through...
case GLenum::GL_TEXTURE_WRAP_T: {
break;
}
}
observe(observations.mReads);
mImports.glGetSamplerParameterfv(sampler, pname, params);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetSamplerParameterfv coder(
observations, sampler, pname,
gapic::coder::gles::GLfloat__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(params), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetSamplerParameteriv(uint32_t sampler, uint32_t pname, int32_t* params) {
GAPID_INFO("glGetSamplerParameteriv(%" PRIu32 ", %u, %p)\n", sampler, pname, params);
Observations observations;
do {
uint32_t l_minRequiredVersion_944_major = 3;
uint32_t l_minRequiredVersion_944_minor = 0;
switch (pname) {
case GLenum::GL_TEXTURE_COMPARE_FUNC: // fall-through...
case GLenum::GL_TEXTURE_COMPARE_MODE: // fall-through...
case GLenum::GL_TEXTURE_MAG_FILTER: // fall-through...
case GLenum::GL_TEXTURE_MAX_LOD: // fall-through...
case GLenum::GL_TEXTURE_MIN_FILTER: // fall-through...
case GLenum::GL_TEXTURE_MIN_LOD: // fall-through...
case GLenum::GL_TEXTURE_WRAP_R: // fall-through...
case GLenum::GL_TEXTURE_WRAP_S: // fall-through...
case GLenum::GL_TEXTURE_WRAP_T: {
break;
}
}
observe(observations.mReads);
mImports.glGetSamplerParameteriv(sampler, pname, params);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetSamplerParameteriv coder(
observations, sampler, pname,
gapic::coder::gles::GLint__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(params), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetTexLevelParameterfv(uint32_t target, int32_t level, uint32_t pname,
float* params) {
GAPID_INFO("glGetTexLevelParameterfv(%u, %" PRId32 ", %u, %p)\n", target, level, pname, params);
Observations observations;
do {
uint32_t l_minRequiredVersion_946_major = 3;
uint32_t l_minRequiredVersion_946_minor = 1;
switch (target) {
case GLenum::GL_TEXTURE_2D: // fall-through...
case GLenum::GL_TEXTURE_2D_ARRAY: // fall-through...
case GLenum::GL_TEXTURE_2D_MULTISAMPLE: // fall-through...
case GLenum::GL_TEXTURE_3D: // fall-through...
case GLenum::GL_TEXTURE_CUBE_MAP_NEGATIVE_X: // fall-through...
case GLenum::GL_TEXTURE_CUBE_MAP_NEGATIVE_Y: // fall-through...
case GLenum::GL_TEXTURE_CUBE_MAP_NEGATIVE_Z: // fall-through...
case GLenum::GL_TEXTURE_CUBE_MAP_POSITIVE_X: // fall-through...
case GLenum::GL_TEXTURE_CUBE_MAP_POSITIVE_Y: // fall-through...
case GLenum::GL_TEXTURE_CUBE_MAP_POSITIVE_Z: {
break;
}
}
switch (pname) {
case GLenum::GL_TEXTURE_ALPHA_SIZE: // fall-through...
case GLenum::GL_TEXTURE_ALPHA_TYPE: // fall-through...
case GLenum::GL_TEXTURE_BLUE_SIZE: // fall-through...
case GLenum::GL_TEXTURE_BLUE_TYPE: // fall-through...
case GLenum::GL_TEXTURE_COMPRESSED: // fall-through...
case GLenum::GL_TEXTURE_DEPTH: // fall-through...
case GLenum::GL_TEXTURE_DEPTH_SIZE: // fall-through...
case GLenum::GL_TEXTURE_DEPTH_TYPE: // fall-through...
case GLenum::GL_TEXTURE_FIXED_SAMPLE_LOCATIONS: // fall-through...
case GLenum::GL_TEXTURE_GREEN_SIZE: // fall-through...
case GLenum::GL_TEXTURE_GREEN_TYPE: // fall-through...
case GLenum::GL_TEXTURE_HEIGHT: // fall-through...
case GLenum::GL_TEXTURE_INTERNAL_FORMAT: // fall-through...
case GLenum::GL_TEXTURE_RED_SIZE: // fall-through...
case GLenum::GL_TEXTURE_RED_TYPE: // fall-through...
case GLenum::GL_TEXTURE_SAMPLES: // fall-through...
case GLenum::GL_TEXTURE_SHARED_SIZE: // fall-through...
case GLenum::GL_TEXTURE_STENCIL_SIZE: // fall-through...
case GLenum::GL_TEXTURE_WIDTH: {
break;
}
}
observe(observations.mReads);
mImports.glGetTexLevelParameterfv(target, level, pname, params);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetTexLevelParameterfv coder(
observations, target, level, pname,
gapic::coder::gles::GLfloat__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(params), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetTexLevelParameteriv(uint32_t target, int32_t level, uint32_t pname,
int32_t* params) {
GAPID_INFO("glGetTexLevelParameteriv(%u, %" PRId32 ", %u, %p)\n", target, level, pname, params);
Observations observations;
do {
uint32_t l_minRequiredVersion_949_major = 3;
uint32_t l_minRequiredVersion_949_minor = 1;
switch (target) {
case GLenum::GL_TEXTURE_2D: // fall-through...
case GLenum::GL_TEXTURE_2D_ARRAY: // fall-through...
case GLenum::GL_TEXTURE_2D_MULTISAMPLE: // fall-through...
case GLenum::GL_TEXTURE_3D: // fall-through...
case GLenum::GL_TEXTURE_CUBE_MAP_NEGATIVE_X: // fall-through...
case GLenum::GL_TEXTURE_CUBE_MAP_NEGATIVE_Y: // fall-through...
case GLenum::GL_TEXTURE_CUBE_MAP_NEGATIVE_Z: // fall-through...
case GLenum::GL_TEXTURE_CUBE_MAP_POSITIVE_X: // fall-through...
case GLenum::GL_TEXTURE_CUBE_MAP_POSITIVE_Y: // fall-through...
case GLenum::GL_TEXTURE_CUBE_MAP_POSITIVE_Z: {
break;
}
}
switch (pname) {
case GLenum::GL_TEXTURE_ALPHA_SIZE: // fall-through...
case GLenum::GL_TEXTURE_ALPHA_TYPE: // fall-through...
case GLenum::GL_TEXTURE_BLUE_SIZE: // fall-through...
case GLenum::GL_TEXTURE_BLUE_TYPE: // fall-through...
case GLenum::GL_TEXTURE_COMPRESSED: // fall-through...
case GLenum::GL_TEXTURE_DEPTH: // fall-through...
case GLenum::GL_TEXTURE_DEPTH_SIZE: // fall-through...
case GLenum::GL_TEXTURE_DEPTH_TYPE: // fall-through...
case GLenum::GL_TEXTURE_FIXED_SAMPLE_LOCATIONS: // fall-through...
case GLenum::GL_TEXTURE_GREEN_SIZE: // fall-through...
case GLenum::GL_TEXTURE_GREEN_TYPE: // fall-through...
case GLenum::GL_TEXTURE_HEIGHT: // fall-through...
case GLenum::GL_TEXTURE_INTERNAL_FORMAT: // fall-through...
case GLenum::GL_TEXTURE_RED_SIZE: // fall-through...
case GLenum::GL_TEXTURE_RED_TYPE: // fall-through...
case GLenum::GL_TEXTURE_SAMPLES: // fall-through...
case GLenum::GL_TEXTURE_SHARED_SIZE: // fall-through...
case GLenum::GL_TEXTURE_STENCIL_SIZE: // fall-through...
case GLenum::GL_TEXTURE_WIDTH: {
break;
}
}
observe(observations.mReads);
mImports.glGetTexLevelParameteriv(target, level, pname, params);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetTexLevelParameteriv coder(
observations, target, level, pname,
gapic::coder::gles::GLint__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(params), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetTexParameterfv(uint32_t target, uint32_t parameter, float* values) {
GAPID_INFO("glGetTexParameterfv(%u, %u, %p)\n", target, parameter, values);
Observations observations;
do {
uint32_t l_minRequiredVersion_952_major = 2;
uint32_t l_minRequiredVersion_952_minor = 0;
switch (target) {
case GLenum::GL_TEXTURE_2D: // fall-through...
case GLenum::GL_TEXTURE_CUBE_MAP: {
break;
}
case GLenum::GL_TEXTURE_2D_ARRAY: // fall-through...
case GLenum::GL_TEXTURE_3D: {
uint32_t l_minRequiredVersion_953_major = 3;
uint32_t l_minRequiredVersion_953_minor = 0;
break;
}
case GLenum::GL_TEXTURE_2D_MULTISAMPLE: {
uint32_t l_minRequiredVersion_954_major = 3;
uint32_t l_minRequiredVersion_954_minor = 1;
break;
}
}
switch (parameter) {
case GLenum::GL_TEXTURE_MAG_FILTER: // fall-through...
case GLenum::GL_TEXTURE_MIN_FILTER: // fall-through...
case GLenum::GL_TEXTURE_WRAP_S: // fall-through...
case GLenum::GL_TEXTURE_WRAP_T: {
break;
}
case GLenum::GL_TEXTURE_BASE_LEVEL: // fall-through...
case GLenum::GL_TEXTURE_COMPARE_FUNC: // fall-through...
case GLenum::GL_TEXTURE_COMPARE_MODE: // fall-through...
case GLenum::GL_TEXTURE_IMMUTABLE_FORMAT: // fall-through...
case GLenum::GL_TEXTURE_MAX_LEVEL: // fall-through...
case GLenum::GL_TEXTURE_MAX_LOD: // fall-through...
case GLenum::GL_TEXTURE_MIN_LOD: // fall-through...
case GLenum::GL_TEXTURE_SWIZZLE_A: // fall-through...
case GLenum::GL_TEXTURE_SWIZZLE_B: // fall-through...
case GLenum::GL_TEXTURE_SWIZZLE_G: // fall-through...
case GLenum::GL_TEXTURE_SWIZZLE_R: // fall-through...
case GLenum::GL_TEXTURE_WRAP_R: {
uint32_t l_minRequiredVersion_956_major = 3;
uint32_t l_minRequiredVersion_956_minor = 0;
break;
}
case GLenum::GL_DEPTH_STENCIL_TEXTURE_MODE: // fall-through...
case GLenum::GL_IMAGE_FORMAT_COMPATIBILITY_TYPE: // fall-through...
case GLenum::GL_TEXTURE_IMMUTABLE_LEVELS: {
uint32_t l_minRequiredVersion_957_major = 3;
uint32_t l_minRequiredVersion_957_minor = 1;
break;
}
}
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_959_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_959_result;
TextureId l_id = l_ctx->mTextureUnits[l_ctx->mActiveTextureUnit][target];
std::shared_ptr<Texture> l_t = l_ctx->mInstances.mTextures[l_id];
observe(observations.mReads);
mImports.glGetTexParameterfv(target, parameter, values);
write(slice(values, 0, 1), 0, /* clang-format off */
/* switch(parameter) */
/* case GLenum::GL_TEXTURE_MAG_FILTER: */(((parameter) == (GLenum::GL_TEXTURE_MAG_FILTER))) ? ((GLfloat)(l_t->mMagFilter)) :
/* case GLenum::GL_TEXTURE_MIN_FILTER: */(((parameter) == (GLenum::GL_TEXTURE_MIN_FILTER))) ? ((GLfloat)(l_t->mMinFilter)) :
/* case GLenum::GL_TEXTURE_WRAP_S: */(((parameter) == (GLenum::GL_TEXTURE_WRAP_S))) ? ((GLfloat)(l_t->mWrapS)) :
/* case GLenum::GL_TEXTURE_WRAP_T: */(((parameter) == (GLenum::GL_TEXTURE_WRAP_T))) ? ((GLfloat)(l_t->mWrapT)) :
/* case GLenum::GL_TEXTURE_MAX_ANISOTROPY_EXT: */(((parameter) == (GLenum::GL_TEXTURE_MAX_ANISOTROPY_EXT))) ? ((GLfloat)(l_t->mMaxAnisotropy)) :
/* case GLenum::GL_TEXTURE_SWIZZLE_R: */(((parameter) == (GLenum::GL_TEXTURE_SWIZZLE_R))) ? ((GLfloat)(l_t->mSwizzleR)) :
/* case GLenum::GL_TEXTURE_SWIZZLE_G: */(((parameter) == (GLenum::GL_TEXTURE_SWIZZLE_G))) ? ((GLfloat)(l_t->mSwizzleG)) :
/* case GLenum::GL_TEXTURE_SWIZZLE_B: */(((parameter) == (GLenum::GL_TEXTURE_SWIZZLE_B))) ? ((GLfloat)(l_t->mSwizzleB)) :
/* case GLenum::GL_TEXTURE_SWIZZLE_A: */(((parameter) == (GLenum::GL_TEXTURE_SWIZZLE_A))) ? ((GLfloat)(l_t->mSwizzleA)) :
/* default: */ 0 /* clang-format on */);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetTexParameterfv coder(
observations, target, parameter,
gapic::coder::gles::GLfloat__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(values), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetTexParameteriv(uint32_t target, uint32_t parameter, int32_t* values) {
GAPID_INFO("glGetTexParameteriv(%u, %u, %p)\n", target, parameter, values);
Observations observations;
do {
uint32_t l_minRequiredVersion_960_major = 2;
uint32_t l_minRequiredVersion_960_minor = 0;
switch (target) {
case GLenum::GL_TEXTURE_2D: // fall-through...
case GLenum::GL_TEXTURE_CUBE_MAP: {
break;
}
case GLenum::GL_TEXTURE_2D_ARRAY: // fall-through...
case GLenum::GL_TEXTURE_3D: {
uint32_t l_minRequiredVersion_961_major = 3;
uint32_t l_minRequiredVersion_961_minor = 0;
break;
}
case GLenum::GL_TEXTURE_2D_MULTISAMPLE: {
uint32_t l_minRequiredVersion_962_major = 3;
uint32_t l_minRequiredVersion_962_minor = 1;
break;
}
}
switch (parameter) {
case GLenum::GL_TEXTURE_MAG_FILTER: // fall-through...
case GLenum::GL_TEXTURE_MIN_FILTER: // fall-through...
case GLenum::GL_TEXTURE_WRAP_S: // fall-through...
case GLenum::GL_TEXTURE_WRAP_T: {
break;
}
case GLenum::GL_TEXTURE_BASE_LEVEL: // fall-through...
case GLenum::GL_TEXTURE_COMPARE_FUNC: // fall-through...
case GLenum::GL_TEXTURE_COMPARE_MODE: // fall-through...
case GLenum::GL_TEXTURE_IMMUTABLE_FORMAT: // fall-through...
case GLenum::GL_TEXTURE_MAX_LEVEL: // fall-through...
case GLenum::GL_TEXTURE_MAX_LOD: // fall-through...
case GLenum::GL_TEXTURE_MIN_LOD: // fall-through...
case GLenum::GL_TEXTURE_SWIZZLE_A: // fall-through...
case GLenum::GL_TEXTURE_SWIZZLE_B: // fall-through...
case GLenum::GL_TEXTURE_SWIZZLE_G: // fall-through...
case GLenum::GL_TEXTURE_SWIZZLE_R: // fall-through...
case GLenum::GL_TEXTURE_WRAP_R: {
uint32_t l_minRequiredVersion_964_major = 3;
uint32_t l_minRequiredVersion_964_minor = 0;
break;
}
case GLenum::GL_DEPTH_STENCIL_TEXTURE_MODE: // fall-through...
case GLenum::GL_IMAGE_FORMAT_COMPATIBILITY_TYPE: // fall-through...
case GLenum::GL_TEXTURE_IMMUTABLE_LEVELS: {
uint32_t l_minRequiredVersion_965_major = 3;
uint32_t l_minRequiredVersion_965_minor = 1;
break;
}
}
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_967_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_967_result;
TextureId l_id = l_ctx->mTextureUnits[l_ctx->mActiveTextureUnit][target];
std::shared_ptr<Texture> l_t = l_ctx->mInstances.mTextures[l_id];
observe(observations.mReads);
mImports.glGetTexParameteriv(target, parameter, values);
write(slice(values, 0, 1), 0, /* clang-format off */
/* switch(parameter) */
/* case GLenum::GL_TEXTURE_MAG_FILTER: */(((parameter) == (GLenum::GL_TEXTURE_MAG_FILTER))) ? ((GLint)(l_t->mMagFilter)) :
/* case GLenum::GL_TEXTURE_MIN_FILTER: */(((parameter) == (GLenum::GL_TEXTURE_MIN_FILTER))) ? ((GLint)(l_t->mMinFilter)) :
/* case GLenum::GL_TEXTURE_WRAP_S: */(((parameter) == (GLenum::GL_TEXTURE_WRAP_S))) ? ((GLint)(l_t->mWrapS)) :
/* case GLenum::GL_TEXTURE_WRAP_T: */(((parameter) == (GLenum::GL_TEXTURE_WRAP_T))) ? ((GLint)(l_t->mWrapT)) :
/* case GLenum::GL_TEXTURE_MAX_ANISOTROPY_EXT: */(((parameter) == (GLenum::GL_TEXTURE_MAX_ANISOTROPY_EXT))) ? ((GLint)(l_t->mMaxAnisotropy)) :
/* case GLenum::GL_TEXTURE_SWIZZLE_R: */(((parameter) == (GLenum::GL_TEXTURE_SWIZZLE_R))) ? ((GLint)(l_t->mSwizzleR)) :
/* case GLenum::GL_TEXTURE_SWIZZLE_G: */(((parameter) == (GLenum::GL_TEXTURE_SWIZZLE_G))) ? ((GLint)(l_t->mSwizzleG)) :
/* case GLenum::GL_TEXTURE_SWIZZLE_B: */(((parameter) == (GLenum::GL_TEXTURE_SWIZZLE_B))) ? ((GLint)(l_t->mSwizzleB)) :
/* case GLenum::GL_TEXTURE_SWIZZLE_A: */(((parameter) == (GLenum::GL_TEXTURE_SWIZZLE_A))) ? ((GLint)(l_t->mSwizzleA)) :
/* default: */ 0 /* clang-format on */);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetTexParameteriv coder(
observations, target, parameter,
gapic::coder::gles::GLint__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(values), 0)));
mEncoder->Object(&coder);
}
inline uint8_t GlesSpy::glIsSampler(uint32_t sampler) {
GAPID_INFO("glIsSampler(%" PRIu32 ")\n", sampler);
uint8_t result = 0;
Observations observations;
do {
uint32_t l_minRequiredVersion_968_major = 3;
uint32_t l_minRequiredVersion_968_minor = 0;
observe(observations.mReads);
result = mImports.glIsSampler(sampler);
break;
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlIsSampler coder(observations, sampler, result);
mEncoder->Object(&coder);
return result;
}
inline uint8_t GlesSpy::glIsTexture(uint32_t texture) {
GAPID_INFO("glIsTexture(%" PRIu32 ")\n", texture);
uint8_t result = 0;
Observations observations;
do {
uint32_t l_minRequiredVersion_969_major = 2;
uint32_t l_minRequiredVersion_969_minor = 0;
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_970_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_970_result;
observe(observations.mReads);
result = mImports.glIsTexture(texture);
break;
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlIsTexture coder(observations, texture, result);
mEncoder->Object(&coder);
return result;
}
inline void GlesSpy::glPixelStorei(uint32_t parameter, int32_t value) {
GAPID_INFO("glPixelStorei(%u, %" PRId32 ")\n", parameter, value);
Observations observations;
do {
uint32_t l_minRequiredVersion_971_major = 2;
uint32_t l_minRequiredVersion_971_minor = 0;
switch (parameter) {
case GLenum::GL_PACK_ALIGNMENT: // fall-through...
case GLenum::GL_UNPACK_ALIGNMENT: {
break;
}
case GLenum::GL_PACK_IMAGE_HEIGHT: // fall-through...
case GLenum::GL_PACK_ROW_LENGTH: // fall-through...
case GLenum::GL_PACK_SKIP_IMAGES: // fall-through...
case GLenum::GL_PACK_SKIP_PIXELS: // fall-through...
case GLenum::GL_PACK_SKIP_ROWS: // fall-through...
case GLenum::GL_UNPACK_IMAGE_HEIGHT: // fall-through...
case GLenum::GL_UNPACK_ROW_LENGTH: // fall-through...
case GLenum::GL_UNPACK_SKIP_IMAGES: // fall-through...
case GLenum::GL_UNPACK_SKIP_PIXELS: // fall-through...
case GLenum::GL_UNPACK_SKIP_ROWS: {
uint32_t l_minRequiredVersion_972_major = 3;
uint32_t l_minRequiredVersion_972_minor = 0;
break;
}
}
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_974_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_974_result;
l_ctx->mPixelStorage[parameter] = value;
observe(observations.mReads);
mImports.glPixelStorei(parameter, value);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlPixelStorei coder(observations, parameter, value);
mEncoder->Object(&coder);
}
inline void GlesSpy::glSamplerParameterf(uint32_t sampler, uint32_t pname, float param) {
GAPID_INFO("glSamplerParameterf(%" PRIu32 ", %u, %f)\n", sampler, pname, param);
Observations observations;
do {
uint32_t l_minRequiredVersion_975_major = 3;
uint32_t l_minRequiredVersion_975_minor = 0;
switch (pname) {
case GLenum::GL_TEXTURE_COMPARE_FUNC: // fall-through...
case GLenum::GL_TEXTURE_COMPARE_MODE: // fall-through...
case GLenum::GL_TEXTURE_MAG_FILTER: // fall-through...
case GLenum::GL_TEXTURE_MAX_LOD: // fall-through...
case GLenum::GL_TEXTURE_MIN_FILTER: // fall-through...
case GLenum::GL_TEXTURE_MIN_LOD: // fall-through...
case GLenum::GL_TEXTURE_WRAP_R: // fall-through...
case GLenum::GL_TEXTURE_WRAP_S: // fall-through...
case GLenum::GL_TEXTURE_WRAP_T: {
break;
}
}
observe(observations.mReads);
mImports.glSamplerParameterf(sampler, pname, param);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlSamplerParameterf coder(observations, sampler, pname, param);
mEncoder->Object(&coder);
}
inline void GlesSpy::glSamplerParameterfv(uint32_t sampler, uint32_t pname, float* param) {
GAPID_INFO("glSamplerParameterfv(%" PRIu32 ", %u, %p)\n", sampler, pname, param);
Observations observations;
do {
uint32_t l_minRequiredVersion_977_major = 3;
uint32_t l_minRequiredVersion_977_minor = 0;
switch (pname) {
case GLenum::GL_TEXTURE_COMPARE_FUNC: // fall-through...
case GLenum::GL_TEXTURE_COMPARE_MODE: // fall-through...
case GLenum::GL_TEXTURE_MAG_FILTER: // fall-through...
case GLenum::GL_TEXTURE_MAX_LOD: // fall-through...
case GLenum::GL_TEXTURE_MIN_FILTER: // fall-through...
case GLenum::GL_TEXTURE_MIN_LOD: // fall-through...
case GLenum::GL_TEXTURE_WRAP_R: // fall-through...
case GLenum::GL_TEXTURE_WRAP_S: // fall-through...
case GLenum::GL_TEXTURE_WRAP_T: {
break;
}
}
observe(observations.mReads);
mImports.glSamplerParameterfv(sampler, pname, param);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlSamplerParameterfv coder(
observations, sampler, pname,
gapic::coder::gles::GLfloat__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(param), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glSamplerParameteri(uint32_t sampler, uint32_t pname, int32_t param) {
GAPID_INFO("glSamplerParameteri(%" PRIu32 ", %u, %" PRId32 ")\n", sampler, pname, param);
Observations observations;
do {
uint32_t l_minRequiredVersion_979_major = 3;
uint32_t l_minRequiredVersion_979_minor = 0;
switch (pname) {
case GLenum::GL_TEXTURE_COMPARE_FUNC: // fall-through...
case GLenum::GL_TEXTURE_COMPARE_MODE: // fall-through...
case GLenum::GL_TEXTURE_MAG_FILTER: // fall-through...
case GLenum::GL_TEXTURE_MAX_LOD: // fall-through...
case GLenum::GL_TEXTURE_MIN_FILTER: // fall-through...
case GLenum::GL_TEXTURE_MIN_LOD: // fall-through...
case GLenum::GL_TEXTURE_WRAP_R: // fall-through...
case GLenum::GL_TEXTURE_WRAP_S: // fall-through...
case GLenum::GL_TEXTURE_WRAP_T: {
break;
}
}
observe(observations.mReads);
mImports.glSamplerParameteri(sampler, pname, param);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlSamplerParameteri coder(observations, sampler, pname, param);
mEncoder->Object(&coder);
}
inline void GlesSpy::glSamplerParameteriv(uint32_t sampler, uint32_t pname, int32_t* param) {
GAPID_INFO("glSamplerParameteriv(%" PRIu32 ", %u, %p)\n", sampler, pname, param);
Observations observations;
do {
uint32_t l_minRequiredVersion_981_major = 3;
uint32_t l_minRequiredVersion_981_minor = 0;
switch (pname) {
case GLenum::GL_TEXTURE_COMPARE_FUNC: // fall-through...
case GLenum::GL_TEXTURE_COMPARE_MODE: // fall-through...
case GLenum::GL_TEXTURE_MAG_FILTER: // fall-through...
case GLenum::GL_TEXTURE_MAX_LOD: // fall-through...
case GLenum::GL_TEXTURE_MIN_FILTER: // fall-through...
case GLenum::GL_TEXTURE_MIN_LOD: // fall-through...
case GLenum::GL_TEXTURE_WRAP_R: // fall-through...
case GLenum::GL_TEXTURE_WRAP_S: // fall-through...
case GLenum::GL_TEXTURE_WRAP_T: {
break;
}
}
observe(observations.mReads);
mImports.glSamplerParameteriv(sampler, pname, param);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlSamplerParameteriv coder(
observations, sampler, pname,
gapic::coder::gles::GLint__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(param), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glTexImage2D(uint32_t target, int32_t level, int32_t internal_format,
int32_t width, int32_t height, int32_t border, uint32_t format,
uint32_t type, void* data) {
GAPID_INFO("glTexImage2D(%u, %" PRId32 ", %" PRId32 ", %" PRId32 ", %" PRId32 ", %" PRId32
", %u, %u, %p)\n",
target, level, internal_format, width, height, border, format, type, data);
Observations observations;
do {
uint32_t l_minRequiredVersion_983_major = 2;
uint32_t l_minRequiredVersion_983_minor = 0;
switch (target) {
case GLenum::GL_TEXTURE_2D: // fall-through...
case GLenum::GL_TEXTURE_CUBE_MAP_NEGATIVE_X: // fall-through...
case GLenum::GL_TEXTURE_CUBE_MAP_NEGATIVE_Y: // fall-through...
case GLenum::GL_TEXTURE_CUBE_MAP_NEGATIVE_Z: // fall-through...
case GLenum::GL_TEXTURE_CUBE_MAP_POSITIVE_X: // fall-through...
case GLenum::GL_TEXTURE_CUBE_MAP_POSITIVE_Y: // fall-through...
case GLenum::GL_TEXTURE_CUBE_MAP_POSITIVE_Z: {
break;
}
}
switch (format) {
case GLenum::GL_ALPHA: // fall-through...
case GLenum::GL_LUMINANCE: // fall-through...
case GLenum::GL_LUMINANCE_ALPHA: // fall-through...
case GLenum::GL_RGB: // fall-through...
case GLenum::GL_RGBA: {
break;
}
case GLenum::GL_DEPTH_COMPONENT: // fall-through...
case GLenum::GL_DEPTH_STENCIL: // fall-through...
case GLenum::GL_RED: // fall-through...
case GLenum::GL_RED_INTEGER: // fall-through...
case GLenum::GL_RG: // fall-through...
case GLenum::GL_RGBA_INTEGER: // fall-through...
case GLenum::GL_RGB_INTEGER: // fall-through...
case GLenum::GL_RG_INTEGER: {
uint32_t l_minRequiredVersion_985_major = 3;
uint32_t l_minRequiredVersion_985_minor = 0;
break;
}
}
switch (type) {
case GLenum::GL_UNSIGNED_BYTE: // fall-through...
case GLenum::GL_UNSIGNED_SHORT_4_4_4_4: // fall-through...
case GLenum::GL_UNSIGNED_SHORT_5_5_5_1: // fall-through...
case GLenum::GL_UNSIGNED_SHORT_5_6_5: {
break;
}
case GLenum::GL_HALF_FLOAT_OES: {
uint32_t l_requiresExtension_987_ext = ExtensionId::GL_OES_texture_half_float;
break;
}
case GLenum::GL_BYTE: // fall-through...
case GLenum::GL_FLOAT: // fall-through...
case GLenum::GL_FLOAT_32_UNSIGNED_INT_24_8_REV: // fall-through...
case GLenum::GL_HALF_FLOAT: // fall-through...
case GLenum::GL_INT: // fall-through...
case GLenum::GL_SHORT: // fall-through...
case GLenum::GL_UNSIGNED_INT: // fall-through...
case GLenum::GL_UNSIGNED_INT_10F_11F_11F_REV: // fall-through...
case GLenum::GL_UNSIGNED_INT_24_8: // fall-through...
case GLenum::GL_UNSIGNED_INT_2_10_10_10_REV: // fall-through...
case GLenum::GL_UNSIGNED_INT_5_9_9_9_REV: // fall-through...
case GLenum::GL_UNSIGNED_SHORT: {
uint32_t l_minRequiredVersion_988_major = 3;
uint32_t l_minRequiredVersion_988_minor = 0;
break;
}
}
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_990_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_990_result;
switch (target) {
case GLenum::GL_TEXTURE_2D: {
TextureId l_id =
l_ctx->mTextureUnits[l_ctx->mActiveTextureUnit][GLenum::GL_TEXTURE_2D];
std::shared_ptr<Texture> l_t = l_ctx->mInstances.mTextures[l_id];
Image l_l = Image()
.SetWidth(width)
.SetHeight(height)
.SetSize(imageSize((uint32_t)(width), (uint32_t)(height),
format, type))
.SetFormat(format);
if (data != nullptr) {
if (l_ctx->mBoundBuffers[GLenum::GL_PIXEL_UNPACK_BUFFER] == (BufferId)(0)) {
l_l.mData = clone(
slice((uint8_t*)(data), (uint64_t)(0), (uint64_t)(l_l.mSize)));
}
} else {
l_l.mData = make<uint8_t>((uint64_t)(l_l.mSize));
}
l_t->mTexture2D[level] = l_l;
l_t->mKind = TextureKind::TEXTURE2D;
l_t->mFormat = format;
break;
}
case GLenum::GL_TEXTURE_CUBE_MAP_POSITIVE_X: // fall-through...
case GLenum::GL_TEXTURE_CUBE_MAP_POSITIVE_Y: // fall-through...
case GLenum::GL_TEXTURE_CUBE_MAP_POSITIVE_Z: // fall-through...
case GLenum::GL_TEXTURE_CUBE_MAP_NEGATIVE_X: // fall-through...
case GLenum::GL_TEXTURE_CUBE_MAP_NEGATIVE_Y: // fall-through...
case GLenum::GL_TEXTURE_CUBE_MAP_NEGATIVE_Z: {
TextureId l_id = l_ctx->mTextureUnits[l_ctx->mActiveTextureUnit]
[GLenum::GL_TEXTURE_CUBE_MAP];
std::shared_ptr<Texture> l_t = l_ctx->mInstances.mTextures[l_id];
Image l_l = Image()
.SetWidth(width)
.SetHeight(height)
.SetSize(imageSize((uint32_t)(width), (uint32_t)(height),
format, type))
.SetFormat(format);
if (data != nullptr) {
if (l_ctx->mBoundBuffers[GLenum::GL_PIXEL_UNPACK_BUFFER] == (BufferId)(0)) {
l_l.mData = clone(
slice((uint8_t*)(data), (uint64_t)(0), (uint64_t)(l_l.mSize)));
}
} else {
l_l.mData = make<uint8_t>((uint64_t)(l_l.mSize));
}
CubemapLevel l_cube = l_t->mCubemap[level];
l_cube.mFaces[target] = l_l;
l_t->mCubemap[level] = l_cube;
l_t->mKind = TextureKind::CUBEMAP;
l_t->mFormat = format;
break;
}
}
observe(observations.mReads);
mImports.glTexImage2D(target, level, internal_format, width, height, border, format, type,
data);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlTexImage2D coder(
observations, target, level, internal_format, width, height, border, format, type,
gapic::coder::gles::TexturePointer(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(data), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glTexImage3D(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, void* pixels) {
GAPID_INFO("glTexImage3D(%u, %" PRId32 ", %" PRId32 ", %" PRId32 ", %" PRId32 ", %" PRId32
", %" PRId32 ", %u, %u, %p)\n",
target, level, internalformat, width, height, depth, border, format, type, pixels);
Observations observations;
do {
uint32_t l_minRequiredVersion_991_major = 3;
uint32_t l_minRequiredVersion_991_minor = 0;
switch (target) {
case GLenum::GL_TEXTURE_2D_ARRAY: // fall-through...
case GLenum::GL_TEXTURE_3D: {
break;
}
}
switch (format) {
case GLenum::GL_ALPHA: // fall-through...
case GLenum::GL_DEPTH_COMPONENT: // fall-through...
case GLenum::GL_DEPTH_STENCIL: // fall-through...
case GLenum::GL_LUMINANCE: // fall-through...
case GLenum::GL_LUMINANCE_ALPHA: // fall-through...
case GLenum::GL_RED: // fall-through...
case GLenum::GL_RED_INTEGER: // fall-through...
case GLenum::GL_RG: // fall-through...
case GLenum::GL_RGB: // fall-through...
case GLenum::GL_RGBA: // fall-through...
case GLenum::GL_RGBA_INTEGER: // fall-through...
case GLenum::GL_RGB_INTEGER: // fall-through...
case GLenum::GL_RG_INTEGER: {
break;
}
}
switch (type) {
case GLenum::GL_HALF_FLOAT_OES: {
uint32_t l_requiresExtension_994_ext = ExtensionId::GL_OES_texture_half_float;
break;
}
case GLenum::GL_BYTE: // fall-through...
case GLenum::GL_FLOAT: // fall-through...
case GLenum::GL_FLOAT_32_UNSIGNED_INT_24_8_REV: // fall-through...
case GLenum::GL_HALF_FLOAT: // fall-through...
case GLenum::GL_INT: // fall-through...
case GLenum::GL_SHORT: // fall-through...
case GLenum::GL_UNSIGNED_BYTE: // fall-through...
case GLenum::GL_UNSIGNED_INT: // fall-through...
case GLenum::GL_UNSIGNED_INT_10F_11F_11F_REV: // fall-through...
case GLenum::GL_UNSIGNED_INT_24_8: // fall-through...
case GLenum::GL_UNSIGNED_INT_2_10_10_10_REV: // fall-through...
case GLenum::GL_UNSIGNED_INT_5_9_9_9_REV: // fall-through...
case GLenum::GL_UNSIGNED_SHORT: // fall-through...
case GLenum::GL_UNSIGNED_SHORT_4_4_4_4: // fall-through...
case GLenum::GL_UNSIGNED_SHORT_5_5_5_1: // fall-through...
case GLenum::GL_UNSIGNED_SHORT_5_6_5: {
break;
}
}
observe(observations.mReads);
mImports.glTexImage3D(target, level, internalformat, width, height, depth, border, format,
type, pixels);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlTexImage3D coder(
observations, target, level, internalformat, width, height, depth, border, format, type,
gapic::coder::gles::Void__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(pixels), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glTexParameterf(uint32_t target, uint32_t parameter, float value) {
GAPID_INFO("glTexParameterf(%u, %u, %f)\n", target, parameter, value);
Observations observations;
do {
uint32_t l_minRequiredVersion_996_major = 2;
uint32_t l_minRequiredVersion_996_minor = 0;
switch (target) {
case GLenum::GL_TEXTURE_2D: // fall-through...
case GLenum::GL_TEXTURE_CUBE_MAP: {
break;
}
case GLenum::GL_TEXTURE_2D_ARRAY: // fall-through...
case GLenum::GL_TEXTURE_3D: {
uint32_t l_minRequiredVersion_997_major = 3;
uint32_t l_minRequiredVersion_997_minor = 0;
break;
}
case GLenum::GL_TEXTURE_2D_MULTISAMPLE: {
uint32_t l_minRequiredVersion_998_major = 3;
uint32_t l_minRequiredVersion_998_minor = 1;
break;
}
}
switch (parameter) {
case GLenum::GL_TEXTURE_MAG_FILTER: // fall-through...
case GLenum::GL_TEXTURE_MIN_FILTER: // fall-through...
case GLenum::GL_TEXTURE_WRAP_S: // fall-through...
case GLenum::GL_TEXTURE_WRAP_T: {
break;
}
case GLenum::GL_TEXTURE_BASE_LEVEL: // fall-through...
case GLenum::GL_TEXTURE_COMPARE_FUNC: // fall-through...
case GLenum::GL_TEXTURE_COMPARE_MODE: // fall-through...
case GLenum::GL_TEXTURE_MAX_LEVEL: // fall-through...
case GLenum::GL_TEXTURE_MAX_LOD: // fall-through...
case GLenum::GL_TEXTURE_MIN_LOD: // fall-through...
case GLenum::GL_TEXTURE_SWIZZLE_A: // fall-through...
case GLenum::GL_TEXTURE_SWIZZLE_B: // fall-through...
case GLenum::GL_TEXTURE_SWIZZLE_G: // fall-through...
case GLenum::GL_TEXTURE_SWIZZLE_R: // fall-through...
case GLenum::GL_TEXTURE_WRAP_R: {
uint32_t l_minRequiredVersion_1000_major = 3;
uint32_t l_minRequiredVersion_1000_minor = 0;
break;
}
case GLenum::GL_DEPTH_STENCIL_TEXTURE_MODE: {
uint32_t l_minRequiredVersion_1001_major = 3;
uint32_t l_minRequiredVersion_1001_minor = 1;
break;
}
}
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_1003_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_1003_result;
TextureId l_id = l_ctx->mTextureUnits[l_ctx->mActiveTextureUnit][target];
std::shared_ptr<Texture> l_t = l_ctx->mInstances.mTextures[l_id];
switch (parameter) {
case GLenum::GL_TEXTURE_MAG_FILTER: {
l_t->mMagFilter = (uint32_t)(value);
break;
}
case GLenum::GL_TEXTURE_MIN_FILTER: {
l_t->mMinFilter = (uint32_t)(value);
break;
}
case GLenum::GL_TEXTURE_WRAP_S: {
l_t->mWrapS = (uint32_t)(value);
break;
}
case GLenum::GL_TEXTURE_WRAP_T: {
l_t->mWrapT = (uint32_t)(value);
break;
}
case GLenum::GL_TEXTURE_MAX_ANISOTROPY_EXT: {
l_t->mMaxAnisotropy = (float)(value);
break;
}
case GLenum::GL_TEXTURE_SWIZZLE_R: {
l_t->mSwizzleR = (uint32_t)(value);
break;
}
case GLenum::GL_TEXTURE_SWIZZLE_G: {
l_t->mSwizzleG = (uint32_t)(value);
break;
}
case GLenum::GL_TEXTURE_SWIZZLE_B: {
l_t->mSwizzleB = (uint32_t)(value);
break;
}
case GLenum::GL_TEXTURE_SWIZZLE_A: {
l_t->mSwizzleA = (uint32_t)(value);
break;
}
}
observe(observations.mReads);
mImports.glTexParameterf(target, parameter, value);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlTexParameterf coder(observations, target, parameter, value);
mEncoder->Object(&coder);
}
inline void GlesSpy::glTexParameterfv(uint32_t target, uint32_t pname, float* params) {
GAPID_INFO("glTexParameterfv(%u, %u, %p)\n", target, pname, params);
Observations observations;
do {
uint32_t l_minRequiredVersion_1004_major = 2;
uint32_t l_minRequiredVersion_1004_minor = 0;
switch (target) {
case GLenum::GL_TEXTURE_2D: // fall-through...
case GLenum::GL_TEXTURE_CUBE_MAP: {
break;
}
case GLenum::GL_TEXTURE_2D_ARRAY: // fall-through...
case GLenum::GL_TEXTURE_3D: {
uint32_t l_minRequiredVersion_1005_major = 3;
uint32_t l_minRequiredVersion_1005_minor = 0;
break;
}
case GLenum::GL_TEXTURE_2D_MULTISAMPLE: {
uint32_t l_minRequiredVersion_1006_major = 3;
uint32_t l_minRequiredVersion_1006_minor = 1;
break;
}
}
switch (pname) {
case GLenum::GL_TEXTURE_MAG_FILTER: // fall-through...
case GLenum::GL_TEXTURE_MIN_FILTER: // fall-through...
case GLenum::GL_TEXTURE_WRAP_S: // fall-through...
case GLenum::GL_TEXTURE_WRAP_T: {
break;
}
case GLenum::GL_TEXTURE_BASE_LEVEL: // fall-through...
case GLenum::GL_TEXTURE_COMPARE_FUNC: // fall-through...
case GLenum::GL_TEXTURE_COMPARE_MODE: // fall-through...
case GLenum::GL_TEXTURE_MAX_LEVEL: // fall-through...
case GLenum::GL_TEXTURE_MAX_LOD: // fall-through...
case GLenum::GL_TEXTURE_MIN_LOD: // fall-through...
case GLenum::GL_TEXTURE_SWIZZLE_A: // fall-through...
case GLenum::GL_TEXTURE_SWIZZLE_B: // fall-through...
case GLenum::GL_TEXTURE_SWIZZLE_G: // fall-through...
case GLenum::GL_TEXTURE_SWIZZLE_R: // fall-through...
case GLenum::GL_TEXTURE_WRAP_R: {
uint32_t l_minRequiredVersion_1008_major = 3;
uint32_t l_minRequiredVersion_1008_minor = 0;
break;
}
case GLenum::GL_DEPTH_STENCIL_TEXTURE_MODE: {
uint32_t l_minRequiredVersion_1009_major = 3;
uint32_t l_minRequiredVersion_1009_minor = 1;
break;
}
}
observe(observations.mReads);
mImports.glTexParameterfv(target, pname, params);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlTexParameterfv coder(
observations, target, pname,
gapic::coder::gles::GLfloat__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(params), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glTexParameteri(uint32_t target, uint32_t parameter, int32_t value) {
GAPID_INFO("glTexParameteri(%u, %u, %" PRId32 ")\n", target, parameter, value);
Observations observations;
do {
uint32_t l_minRequiredVersion_1011_major = 2;
uint32_t l_minRequiredVersion_1011_minor = 0;
switch (target) {
case GLenum::GL_TEXTURE_2D: // fall-through...
case GLenum::GL_TEXTURE_CUBE_MAP: {
break;
}
case GLenum::GL_TEXTURE_2D_ARRAY: // fall-through...
case GLenum::GL_TEXTURE_3D: {
uint32_t l_minRequiredVersion_1012_major = 3;
uint32_t l_minRequiredVersion_1012_minor = 0;
break;
}
case GLenum::GL_TEXTURE_2D_MULTISAMPLE: {
uint32_t l_minRequiredVersion_1013_major = 3;
uint32_t l_minRequiredVersion_1013_minor = 1;
break;
}
}
switch (parameter) {
case GLenum::GL_TEXTURE_MAG_FILTER: // fall-through...
case GLenum::GL_TEXTURE_MIN_FILTER: // fall-through...
case GLenum::GL_TEXTURE_WRAP_S: // fall-through...
case GLenum::GL_TEXTURE_WRAP_T: {
break;
}
case GLenum::GL_TEXTURE_BASE_LEVEL: // fall-through...
case GLenum::GL_TEXTURE_COMPARE_FUNC: // fall-through...
case GLenum::GL_TEXTURE_COMPARE_MODE: // fall-through...
case GLenum::GL_TEXTURE_MAX_LEVEL: // fall-through...
case GLenum::GL_TEXTURE_MAX_LOD: // fall-through...
case GLenum::GL_TEXTURE_MIN_LOD: // fall-through...
case GLenum::GL_TEXTURE_SWIZZLE_A: // fall-through...
case GLenum::GL_TEXTURE_SWIZZLE_B: // fall-through...
case GLenum::GL_TEXTURE_SWIZZLE_G: // fall-through...
case GLenum::GL_TEXTURE_SWIZZLE_R: // fall-through...
case GLenum::GL_TEXTURE_WRAP_R: {
uint32_t l_minRequiredVersion_1015_major = 3;
uint32_t l_minRequiredVersion_1015_minor = 0;
break;
}
case GLenum::GL_DEPTH_STENCIL_TEXTURE_MODE: {
uint32_t l_minRequiredVersion_1016_major = 3;
uint32_t l_minRequiredVersion_1016_minor = 1;
break;
}
}
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_1018_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_1018_result;
TextureId l_id = l_ctx->mTextureUnits[l_ctx->mActiveTextureUnit][target];
std::shared_ptr<Texture> l_t = l_ctx->mInstances.mTextures[l_id];
switch (parameter) {
case GLenum::GL_TEXTURE_MAG_FILTER: {
l_t->mMagFilter = (uint32_t)(value);
break;
}
case GLenum::GL_TEXTURE_MIN_FILTER: {
l_t->mMinFilter = (uint32_t)(value);
break;
}
case GLenum::GL_TEXTURE_WRAP_S: {
l_t->mWrapS = (uint32_t)(value);
break;
}
case GLenum::GL_TEXTURE_WRAP_T: {
l_t->mWrapT = (uint32_t)(value);
break;
}
case GLenum::GL_TEXTURE_MAX_ANISOTROPY_EXT: {
l_t->mMaxAnisotropy = (float)(value);
break;
}
case GLenum::GL_TEXTURE_SWIZZLE_R: {
l_t->mSwizzleR = (uint32_t)(value);
break;
}
case GLenum::GL_TEXTURE_SWIZZLE_G: {
l_t->mSwizzleG = (uint32_t)(value);
break;
}
case GLenum::GL_TEXTURE_SWIZZLE_B: {
l_t->mSwizzleB = (uint32_t)(value);
break;
}
case GLenum::GL_TEXTURE_SWIZZLE_A: {
l_t->mSwizzleA = (uint32_t)(value);
break;
}
}
observe(observations.mReads);
mImports.glTexParameteri(target, parameter, value);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlTexParameteri coder(observations, target, parameter, value);
mEncoder->Object(&coder);
}
inline void GlesSpy::glTexParameteriv(uint32_t target, uint32_t pname, int32_t* params) {
GAPID_INFO("glTexParameteriv(%u, %u, %p)\n", target, pname, params);
Observations observations;
do {
uint32_t l_minRequiredVersion_1019_major = 2;
uint32_t l_minRequiredVersion_1019_minor = 0;
switch (target) {
case GLenum::GL_TEXTURE_2D: // fall-through...
case GLenum::GL_TEXTURE_CUBE_MAP: {
break;
}
case GLenum::GL_TEXTURE_2D_ARRAY: // fall-through...
case GLenum::GL_TEXTURE_3D: {
uint32_t l_minRequiredVersion_1020_major = 3;
uint32_t l_minRequiredVersion_1020_minor = 0;
break;
}
case GLenum::GL_TEXTURE_2D_MULTISAMPLE: {
uint32_t l_minRequiredVersion_1021_major = 3;
uint32_t l_minRequiredVersion_1021_minor = 1;
break;
}
}
switch (pname) {
case GLenum::GL_TEXTURE_MAG_FILTER: // fall-through...
case GLenum::GL_TEXTURE_MIN_FILTER: // fall-through...
case GLenum::GL_TEXTURE_WRAP_S: // fall-through...
case GLenum::GL_TEXTURE_WRAP_T: {
break;
}
case GLenum::GL_TEXTURE_BASE_LEVEL: // fall-through...
case GLenum::GL_TEXTURE_COMPARE_FUNC: // fall-through...
case GLenum::GL_TEXTURE_COMPARE_MODE: // fall-through...
case GLenum::GL_TEXTURE_MAX_LEVEL: // fall-through...
case GLenum::GL_TEXTURE_MAX_LOD: // fall-through...
case GLenum::GL_TEXTURE_MIN_LOD: // fall-through...
case GLenum::GL_TEXTURE_SWIZZLE_A: // fall-through...
case GLenum::GL_TEXTURE_SWIZZLE_B: // fall-through...
case GLenum::GL_TEXTURE_SWIZZLE_G: // fall-through...
case GLenum::GL_TEXTURE_SWIZZLE_R: // fall-through...
case GLenum::GL_TEXTURE_WRAP_R: {
uint32_t l_minRequiredVersion_1023_major = 3;
uint32_t l_minRequiredVersion_1023_minor = 0;
break;
}
case GLenum::GL_DEPTH_STENCIL_TEXTURE_MODE: {
uint32_t l_minRequiredVersion_1024_major = 3;
uint32_t l_minRequiredVersion_1024_minor = 1;
break;
}
}
observe(observations.mReads);
mImports.glTexParameteriv(target, pname, params);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlTexParameteriv coder(
observations, target, pname,
gapic::coder::gles::GLint__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(params), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glTexStorage2D(uint32_t target, int32_t levels, uint32_t internalformat,
int32_t width, int32_t height) {
GAPID_INFO("glTexStorage2D(%u, %" PRId32 ", %u, %" PRId32 ", %" PRId32 ")\n", target, levels,
internalformat, width, height);
Observations observations;
do {
uint32_t l_minRequiredVersion_1026_major = 3;
uint32_t l_minRequiredVersion_1026_minor = 0;
switch (target) {
case GLenum::GL_TEXTURE_2D: // fall-through...
case GLenum::GL_TEXTURE_CUBE_MAP: {
break;
}
}
switch (internalformat) {
case GLenum::GL_COMPRESSED_R11_EAC: // fall-through...
case GLenum::GL_COMPRESSED_RG11_EAC: // fall-through...
case GLenum::GL_COMPRESSED_RGB8_ETC2: // fall-through...
case GLenum::GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2: // fall-through...
case GLenum::GL_COMPRESSED_RGBA8_ETC2_EAC: // fall-through...
case GLenum::GL_COMPRESSED_SIGNED_R11_EAC: // fall-through...
case GLenum::GL_COMPRESSED_SIGNED_RG11_EAC: // fall-through...
case GLenum::GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC: // fall-through...
case GLenum::GL_COMPRESSED_SRGB8_ETC2: // fall-through...
case GLenum::GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2: // fall-through...
case GLenum::GL_DEPTH24_STENCIL8: // fall-through...
case GLenum::GL_DEPTH32F_STENCIL8: // fall-through...
case GLenum::GL_DEPTH_COMPONENT16: // fall-through...
case GLenum::GL_DEPTH_COMPONENT24: // fall-through...
case GLenum::GL_DEPTH_COMPONENT32F: // fall-through...
case GLenum::GL_R11F_G11F_B10F: // fall-through...
case GLenum::GL_R16F: // fall-through...
case GLenum::GL_R16I: // fall-through...
case GLenum::GL_R16UI: // fall-through...
case GLenum::GL_R32F: // fall-through...
case GLenum::GL_R32I: // fall-through...
case GLenum::GL_R32UI: // fall-through...
case GLenum::GL_R8: // fall-through...
case GLenum::GL_R8I: // fall-through...
case GLenum::GL_R8UI: // fall-through...
case GLenum::GL_R8_SNORM: // fall-through...
case GLenum::GL_RG16F: // fall-through...
case GLenum::GL_RG16I: // fall-through...
case GLenum::GL_RG16UI: // fall-through...
case GLenum::GL_RG32F: // fall-through...
case GLenum::GL_RG32I: // fall-through...
case GLenum::GL_RG32UI: // fall-through...
case GLenum::GL_RG8: // fall-through...
case GLenum::GL_RG8I: // fall-through...
case GLenum::GL_RG8UI: // fall-through...
case GLenum::GL_RG8_SNORM: // fall-through...
case GLenum::GL_RGB10_A2: // fall-through...
case GLenum::GL_RGB10_A2UI: // fall-through...
case GLenum::GL_RGB16F: // fall-through...
case GLenum::GL_RGB16I: // fall-through...
case GLenum::GL_RGB16UI: // fall-through...
case GLenum::GL_RGB32F: // fall-through...
case GLenum::GL_RGB32I: // fall-through...
case GLenum::GL_RGB32UI: // fall-through...
case GLenum::GL_RGB565: // fall-through...
case GLenum::GL_RGB5_A1: // fall-through...
case GLenum::GL_RGB8: // fall-through...
case GLenum::GL_RGB8I: // fall-through...
case GLenum::GL_RGB8UI: // fall-through...
case GLenum::GL_RGB8_SNORM: // fall-through...
case GLenum::GL_RGB9_E5: // fall-through...
case GLenum::GL_RGBA16F: // fall-through...
case GLenum::GL_RGBA16I: // fall-through...
case GLenum::GL_RGBA16UI: // fall-through...
case GLenum::GL_RGBA32F: // fall-through...
case GLenum::GL_RGBA32I: // fall-through...
case GLenum::GL_RGBA32UI: // fall-through...
case GLenum::GL_RGBA4: // fall-through...
case GLenum::GL_RGBA8: // fall-through...
case GLenum::GL_RGBA8I: // fall-through...
case GLenum::GL_RGBA8UI: // fall-through...
case GLenum::GL_RGBA8_SNORM: // fall-through...
case GLenum::GL_SRGB8: // fall-through...
case GLenum::GL_SRGB8_ALPHA8: {
break;
}
}
observe(observations.mReads);
mImports.glTexStorage2D(target, levels, internalformat, width, height);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlTexStorage2D coder(observations, target, levels, internalformat, width,
height);
mEncoder->Object(&coder);
}
inline void GlesSpy::glTexStorage2DMultisample(uint32_t target, int32_t samples,
uint32_t internalformat, int32_t width,
int32_t height, uint8_t fixedsamplelocations) {
GAPID_INFO("glTexStorage2DMultisample(%u, %" PRId32 ", %u, %" PRId32 ", %" PRId32 ", %" PRIu8
")\n",
target, samples, internalformat, width, height, fixedsamplelocations);
Observations observations;
do {
uint32_t l_minRequiredVersion_1029_major = 3;
uint32_t l_minRequiredVersion_1029_minor = 1;
switch (target) {
case GLenum::GL_TEXTURE_2D_MULTISAMPLE: {
break;
}
}
switch (internalformat) {
case GLenum::GL_DEPTH24_STENCIL8: // fall-through...
case GLenum::GL_DEPTH32F_STENCIL8: // fall-through...
case GLenum::GL_DEPTH_COMPONENT16: // fall-through...
case GLenum::GL_DEPTH_COMPONENT24: // fall-through...
case GLenum::GL_DEPTH_COMPONENT32F: // fall-through...
case GLenum::GL_R11F_G11F_B10F: // fall-through...
case GLenum::GL_R16F: // fall-through...
case GLenum::GL_R16I: // fall-through...
case GLenum::GL_R16UI: // fall-through...
case GLenum::GL_R32F: // fall-through...
case GLenum::GL_R32I: // fall-through...
case GLenum::GL_R32UI: // fall-through...
case GLenum::GL_R8: // fall-through...
case GLenum::GL_R8I: // fall-through...
case GLenum::GL_R8UI: // fall-through...
case GLenum::GL_R8_SNORM: // fall-through...
case GLenum::GL_RG16F: // fall-through...
case GLenum::GL_RG16I: // fall-through...
case GLenum::GL_RG16UI: // fall-through...
case GLenum::GL_RG32F: // fall-through...
case GLenum::GL_RG32I: // fall-through...
case GLenum::GL_RG32UI: // fall-through...
case GLenum::GL_RG8: // fall-through...
case GLenum::GL_RG8I: // fall-through...
case GLenum::GL_RG8UI: // fall-through...
case GLenum::GL_RG8_SNORM: // fall-through...
case GLenum::GL_RGB10_A2: // fall-through...
case GLenum::GL_RGB10_A2UI: // fall-through...
case GLenum::GL_RGB16F: // fall-through...
case GLenum::GL_RGB16I: // fall-through...
case GLenum::GL_RGB16UI: // fall-through...
case GLenum::GL_RGB32F: // fall-through...
case GLenum::GL_RGB32I: // fall-through...
case GLenum::GL_RGB32UI: // fall-through...
case GLenum::GL_RGB565: // fall-through...
case GLenum::GL_RGB5_A1: // fall-through...
case GLenum::GL_RGB8: // fall-through...
case GLenum::GL_RGB8I: // fall-through...
case GLenum::GL_RGB8UI: // fall-through...
case GLenum::GL_RGB8_SNORM: // fall-through...
case GLenum::GL_RGB9_E5: // fall-through...
case GLenum::GL_RGBA16F: // fall-through...
case GLenum::GL_RGBA16I: // fall-through...
case GLenum::GL_RGBA16UI: // fall-through...
case GLenum::GL_RGBA32F: // fall-through...
case GLenum::GL_RGBA32I: // fall-through...
case GLenum::GL_RGBA32UI: // fall-through...
case GLenum::GL_RGBA4: // fall-through...
case GLenum::GL_RGBA8: // fall-through...
case GLenum::GL_RGBA8I: // fall-through...
case GLenum::GL_RGBA8UI: // fall-through...
case GLenum::GL_RGBA8_SNORM: // fall-through...
case GLenum::GL_SRGB8: // fall-through...
case GLenum::GL_SRGB8_ALPHA8: {
break;
}
}
observe(observations.mReads);
mImports.glTexStorage2DMultisample(target, samples, internalformat, width, height,
fixedsamplelocations);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlTexStorage2DMultisample coder(
observations, target, samples, internalformat, width, height, fixedsamplelocations);
mEncoder->Object(&coder);
}
inline void GlesSpy::glTexStorage3D(uint32_t target, int32_t levels, uint32_t internalformat,
int32_t width, int32_t height, int32_t depth) {
GAPID_INFO("glTexStorage3D(%u, %" PRId32 ", %u, %" PRId32 ", %" PRId32 ", %" PRId32 ")\n",
target, levels, internalformat, width, height, depth);
Observations observations;
do {
uint32_t l_minRequiredVersion_1032_major = 3;
uint32_t l_minRequiredVersion_1032_minor = 0;
switch (target) {
case GLenum::GL_TEXTURE_2D_ARRAY: // fall-through...
case GLenum::GL_TEXTURE_3D: {
break;
}
}
switch (internalformat) {
case GLenum::GL_COMPRESSED_R11_EAC: // fall-through...
case GLenum::GL_COMPRESSED_RG11_EAC: // fall-through...
case GLenum::GL_COMPRESSED_RGB8_ETC2: // fall-through...
case GLenum::GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2: // fall-through...
case GLenum::GL_COMPRESSED_RGBA8_ETC2_EAC: // fall-through...
case GLenum::GL_COMPRESSED_SIGNED_R11_EAC: // fall-through...
case GLenum::GL_COMPRESSED_SIGNED_RG11_EAC: // fall-through...
case GLenum::GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC: // fall-through...
case GLenum::GL_COMPRESSED_SRGB8_ETC2: // fall-through...
case GLenum::GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2: // fall-through...
case GLenum::GL_DEPTH24_STENCIL8: // fall-through...
case GLenum::GL_DEPTH32F_STENCIL8: // fall-through...
case GLenum::GL_DEPTH_COMPONENT16: // fall-through...
case GLenum::GL_DEPTH_COMPONENT24: // fall-through...
case GLenum::GL_DEPTH_COMPONENT32F: // fall-through...
case GLenum::GL_R11F_G11F_B10F: // fall-through...
case GLenum::GL_R16F: // fall-through...
case GLenum::GL_R16I: // fall-through...
case GLenum::GL_R16UI: // fall-through...
case GLenum::GL_R32F: // fall-through...
case GLenum::GL_R32I: // fall-through...
case GLenum::GL_R32UI: // fall-through...
case GLenum::GL_R8: // fall-through...
case GLenum::GL_R8I: // fall-through...
case GLenum::GL_R8UI: // fall-through...
case GLenum::GL_R8_SNORM: // fall-through...
case GLenum::GL_RG16F: // fall-through...
case GLenum::GL_RG16I: // fall-through...
case GLenum::GL_RG16UI: // fall-through...
case GLenum::GL_RG32F: // fall-through...
case GLenum::GL_RG32I: // fall-through...
case GLenum::GL_RG32UI: // fall-through...
case GLenum::GL_RG8: // fall-through...
case GLenum::GL_RG8I: // fall-through...
case GLenum::GL_RG8UI: // fall-through...
case GLenum::GL_RG8_SNORM: // fall-through...
case GLenum::GL_RGB10_A2: // fall-through...
case GLenum::GL_RGB10_A2UI: // fall-through...
case GLenum::GL_RGB16F: // fall-through...
case GLenum::GL_RGB16I: // fall-through...
case GLenum::GL_RGB16UI: // fall-through...
case GLenum::GL_RGB32F: // fall-through...
case GLenum::GL_RGB32I: // fall-through...
case GLenum::GL_RGB32UI: // fall-through...
case GLenum::GL_RGB565: // fall-through...
case GLenum::GL_RGB5_A1: // fall-through...
case GLenum::GL_RGB8: // fall-through...
case GLenum::GL_RGB8I: // fall-through...
case GLenum::GL_RGB8UI: // fall-through...
case GLenum::GL_RGB8_SNORM: // fall-through...
case GLenum::GL_RGB9_E5: // fall-through...
case GLenum::GL_RGBA16F: // fall-through...
case GLenum::GL_RGBA16I: // fall-through...
case GLenum::GL_RGBA16UI: // fall-through...
case GLenum::GL_RGBA32F: // fall-through...
case GLenum::GL_RGBA32I: // fall-through...
case GLenum::GL_RGBA32UI: // fall-through...
case GLenum::GL_RGBA4: // fall-through...
case GLenum::GL_RGBA8: // fall-through...
case GLenum::GL_RGBA8I: // fall-through...
case GLenum::GL_RGBA8UI: // fall-through...
case GLenum::GL_RGBA8_SNORM: // fall-through...
case GLenum::GL_SRGB8: // fall-through...
case GLenum::GL_SRGB8_ALPHA8: {
break;
}
}
observe(observations.mReads);
mImports.glTexStorage3D(target, levels, internalformat, width, height, depth);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlTexStorage3D coder(observations, target, levels, internalformat, width,
height, depth);
mEncoder->Object(&coder);
}
inline void GlesSpy::glTexSubImage2D(uint32_t target, int32_t level, int32_t xoffset,
int32_t yoffset, int32_t width, int32_t height,
uint32_t format, uint32_t type, void* data) {
GAPID_INFO("glTexSubImage2D(%u, %" PRId32 ", %" PRId32 ", %" PRId32 ", %" PRId32 ", %" PRId32
", %u, %u, %p)\n",
target, level, xoffset, yoffset, width, height, format, type, data);
Observations observations;
do {
uint32_t l_minRequiredVersion_1035_major = 2;
uint32_t l_minRequiredVersion_1035_minor = 0;
switch (target) {
case GLenum::GL_TEXTURE_2D: // fall-through...
case GLenum::GL_TEXTURE_CUBE_MAP_NEGATIVE_X: // fall-through...
case GLenum::GL_TEXTURE_CUBE_MAP_NEGATIVE_Y: // fall-through...
case GLenum::GL_TEXTURE_CUBE_MAP_NEGATIVE_Z: // fall-through...
case GLenum::GL_TEXTURE_CUBE_MAP_POSITIVE_X: // fall-through...
case GLenum::GL_TEXTURE_CUBE_MAP_POSITIVE_Y: // fall-through...
case GLenum::GL_TEXTURE_CUBE_MAP_POSITIVE_Z: {
break;
}
}
switch (format) {
case GLenum::GL_ALPHA: // fall-through...
case GLenum::GL_LUMINANCE: // fall-through...
case GLenum::GL_LUMINANCE_ALPHA: // fall-through...
case GLenum::GL_RGB: // fall-through...
case GLenum::GL_RGBA: {
break;
}
case GLenum::GL_DEPTH_COMPONENT: // fall-through...
case GLenum::GL_DEPTH_STENCIL: // fall-through...
case GLenum::GL_RED: // fall-through...
case GLenum::GL_RED_INTEGER: // fall-through...
case GLenum::GL_RG: // fall-through...
case GLenum::GL_RGBA_INTEGER: // fall-through...
case GLenum::GL_RGB_INTEGER: // fall-through...
case GLenum::GL_RG_INTEGER: {
uint32_t l_minRequiredVersion_1037_major = 3;
uint32_t l_minRequiredVersion_1037_minor = 0;
break;
}
}
switch (type) {
case GLenum::GL_UNSIGNED_BYTE: // fall-through...
case GLenum::GL_UNSIGNED_SHORT_4_4_4_4: // fall-through...
case GLenum::GL_UNSIGNED_SHORT_5_5_5_1: // fall-through...
case GLenum::GL_UNSIGNED_SHORT_5_6_5: {
break;
}
case GLenum::GL_HALF_FLOAT_OES: {
uint32_t l_requiresExtension_1039_ext = ExtensionId::GL_OES_texture_half_float;
break;
}
case GLenum::GL_BYTE: // fall-through...
case GLenum::GL_FLOAT: // fall-through...
case GLenum::GL_FLOAT_32_UNSIGNED_INT_24_8_REV: // fall-through...
case GLenum::GL_HALF_FLOAT: // fall-through...
case GLenum::GL_INT: // fall-through...
case GLenum::GL_SHORT: // fall-through...
case GLenum::GL_UNSIGNED_INT: // fall-through...
case GLenum::GL_UNSIGNED_INT_10F_11F_11F_REV: // fall-through...
case GLenum::GL_UNSIGNED_INT_24_8: // fall-through...
case GLenum::GL_UNSIGNED_INT_2_10_10_10_REV: // fall-through...
case GLenum::GL_UNSIGNED_INT_5_9_9_9_REV: // fall-through...
case GLenum::GL_UNSIGNED_SHORT: {
uint32_t l_minRequiredVersion_1040_major = 3;
uint32_t l_minRequiredVersion_1040_minor = 0;
break;
}
}
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_1042_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_1042_result;
switch (target) {
case GLenum::GL_TEXTURE_2D: {
TextureId l_id =
l_ctx->mTextureUnits[l_ctx->mActiveTextureUnit][GLenum::GL_TEXTURE_2D];
std::shared_ptr<Texture> l_t = l_ctx->mInstances.mTextures[l_id];
Image l_l = Image()
.SetWidth(width)
.SetHeight(height)
.SetSize(imageSize((uint32_t)(width), (uint32_t)(height),
format, type))
.SetFormat(format);
if (l_ctx->mBoundBuffers[GLenum::GL_PIXEL_UNPACK_BUFFER] == (BufferId)(0) &&
data != nullptr) {
l_l.mData =
clone(slice((uint8_t*)(data), (uint64_t)(0), (uint64_t)(l_l.mSize)));
}
l_t->mTexture2D[level] = l_l;
l_t->mKind = TextureKind::TEXTURE2D;
l_t->mFormat = format;
break;
}
case GLenum::GL_TEXTURE_CUBE_MAP_POSITIVE_X: // fall-through...
case GLenum::GL_TEXTURE_CUBE_MAP_POSITIVE_Y: // fall-through...
case GLenum::GL_TEXTURE_CUBE_MAP_POSITIVE_Z: // fall-through...
case GLenum::GL_TEXTURE_CUBE_MAP_NEGATIVE_X: // fall-through...
case GLenum::GL_TEXTURE_CUBE_MAP_NEGATIVE_Y: // fall-through...
case GLenum::GL_TEXTURE_CUBE_MAP_NEGATIVE_Z: {
TextureId l_id = l_ctx->mTextureUnits[l_ctx->mActiveTextureUnit]
[GLenum::GL_TEXTURE_CUBE_MAP];
std::shared_ptr<Texture> l_t = l_ctx->mInstances.mTextures[l_id];
Image l_l = Image()
.SetWidth(width)
.SetHeight(height)
.SetSize(imageSize((uint32_t)(width), (uint32_t)(height),
format, type))
.SetFormat(format);
if (l_ctx->mBoundBuffers[GLenum::GL_PIXEL_UNPACK_BUFFER] == (BufferId)(0) &&
data != nullptr) {
l_l.mData =
clone(slice((uint8_t*)(data), (uint64_t)(0), (uint64_t)(l_l.mSize)));
}
CubemapLevel l_cube = l_t->mCubemap[level];
l_cube.mFaces[target] = l_l;
l_t->mCubemap[level] = l_cube;
l_t->mKind = TextureKind::CUBEMAP;
l_t->mFormat = format;
break;
}
}
observe(observations.mReads);
mImports.glTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type,
data);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlTexSubImage2D coder(
observations, target, level, xoffset, yoffset, width, height, format, type,
gapic::coder::gles::TexturePointer(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(data), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glTexSubImage3D(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,
void* pixels) {
GAPID_INFO("glTexSubImage3D(%u, %" PRId32 ", %" PRId32 ", %" PRId32 ", %" PRId32 ", %" PRId32
", %" PRId32 ", %" PRId32 ", %u, %u, %p)\n",
target, level, xoffset, yoffset, zoffset, width, height, depth, format, type,
pixels);
Observations observations;
do {
uint32_t l_minRequiredVersion_1043_major = 3;
uint32_t l_minRequiredVersion_1043_minor = 0;
switch (target) {
case GLenum::GL_TEXTURE_2D_ARRAY: // fall-through...
case GLenum::GL_TEXTURE_3D: {
break;
}
}
switch (format) {
case GLenum::GL_ALPHA: // fall-through...
case GLenum::GL_DEPTH_COMPONENT: // fall-through...
case GLenum::GL_DEPTH_STENCIL: // fall-through...
case GLenum::GL_LUMINANCE: // fall-through...
case GLenum::GL_LUMINANCE_ALPHA: // fall-through...
case GLenum::GL_RED: // fall-through...
case GLenum::GL_RED_INTEGER: // fall-through...
case GLenum::GL_RG: // fall-through...
case GLenum::GL_RGB: // fall-through...
case GLenum::GL_RGBA: // fall-through...
case GLenum::GL_RGBA_INTEGER: // fall-through...
case GLenum::GL_RGB_INTEGER: // fall-through...
case GLenum::GL_RG_INTEGER: {
break;
}
}
switch (type) {
case GLenum::GL_HALF_FLOAT_OES: {
uint32_t l_requiresExtension_1046_ext = ExtensionId::GL_OES_texture_half_float;
break;
}
case GLenum::GL_BYTE: // fall-through...
case GLenum::GL_FLOAT: // fall-through...
case GLenum::GL_FLOAT_32_UNSIGNED_INT_24_8_REV: // fall-through...
case GLenum::GL_HALF_FLOAT: // fall-through...
case GLenum::GL_INT: // fall-through...
case GLenum::GL_SHORT: // fall-through...
case GLenum::GL_UNSIGNED_BYTE: // fall-through...
case GLenum::GL_UNSIGNED_INT: // fall-through...
case GLenum::GL_UNSIGNED_INT_10F_11F_11F_REV: // fall-through...
case GLenum::GL_UNSIGNED_INT_24_8: // fall-through...
case GLenum::GL_UNSIGNED_INT_2_10_10_10_REV: // fall-through...
case GLenum::GL_UNSIGNED_INT_5_9_9_9_REV: // fall-through...
case GLenum::GL_UNSIGNED_SHORT: // fall-through...
case GLenum::GL_UNSIGNED_SHORT_4_4_4_4: // fall-through...
case GLenum::GL_UNSIGNED_SHORT_5_5_5_1: // fall-through...
case GLenum::GL_UNSIGNED_SHORT_5_6_5: {
break;
}
}
observe(observations.mReads);
mImports.glTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth,
format, type, pixels);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlTexSubImage3D coder(
observations, target, level, xoffset, yoffset, zoffset, width, height, depth, format,
type, gapic::coder::gles::Void__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(pixels), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glBeginTransformFeedback(uint32_t primitiveMode) {
GAPID_INFO("glBeginTransformFeedback(%u)\n", primitiveMode);
Observations observations;
do {
uint32_t l_minRequiredVersion_1048_major = 3;
uint32_t l_minRequiredVersion_1048_minor = 0;
switch (primitiveMode) {
case GLenum::GL_LINES: // fall-through...
case GLenum::GL_POINTS: // fall-through...
case GLenum::GL_TRIANGLES: {
break;
}
}
observe(observations.mReads);
mImports.glBeginTransformFeedback(primitiveMode);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlBeginTransformFeedback coder(observations, primitiveMode);
mEncoder->Object(&coder);
}
inline void GlesSpy::glBindTransformFeedback(uint32_t target, uint32_t id) {
GAPID_INFO("glBindTransformFeedback(%u, %" PRIu32 ")\n", target, id);
Observations observations;
do {
uint32_t l_minRequiredVersion_1050_major = 3;
uint32_t l_minRequiredVersion_1050_minor = 0;
switch (target) {
case GLenum::GL_TRANSFORM_FEEDBACK: {
break;
}
}
observe(observations.mReads);
mImports.glBindTransformFeedback(target, id);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlBindTransformFeedback coder(observations, target, id);
mEncoder->Object(&coder);
}
inline void GlesSpy::glDeleteTransformFeedbacks(int32_t n, uint32_t* ids) {
GAPID_INFO("glDeleteTransformFeedbacks(%" PRId32 ", %p)\n", n, ids);
Observations observations;
do {
uint32_t l_minRequiredVersion_1052_major = 3;
uint32_t l_minRequiredVersion_1052_minor = 0;
observe(observations.mReads);
mImports.glDeleteTransformFeedbacks(n, ids);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlDeleteTransformFeedbacks coder(
observations, n,
gapic::coder::gles::TransformFeedbackId__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(ids), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glEndTransformFeedback() {
GAPID_INFO("glEndTransformFeedback()\n");
Observations observations;
do {
uint32_t l_minRequiredVersion_1053_major = 3;
uint32_t l_minRequiredVersion_1053_minor = 0;
observe(observations.mReads);
mImports.glEndTransformFeedback();
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlEndTransformFeedback coder(observations);
mEncoder->Object(&coder);
}
inline void GlesSpy::glGenTransformFeedbacks(int32_t n, uint32_t* ids) {
GAPID_INFO("glGenTransformFeedbacks(%" PRId32 ", %p)\n", n, ids);
Observations observations;
do {
uint32_t l_minRequiredVersion_1054_major = 3;
uint32_t l_minRequiredVersion_1054_minor = 0;
observe(observations.mReads);
mImports.glGenTransformFeedbacks(n, ids);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGenTransformFeedbacks coder(
observations, n,
gapic::coder::gles::TransformFeedbackId__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(ids), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetTransformFeedbackVarying(uint32_t program, uint32_t index,
int32_t bufSize, int32_t* length, int32_t* size,
uint32_t* type, char* name) {
GAPID_INFO("glGetTransformFeedbackVarying(%" PRIu32 ", %" PRIu32 ", %" PRId32
", %p, %p, %p, %p)\n",
program, index, bufSize, length, size, type, name);
Observations observations;
do {
uint32_t l_minRequiredVersion_1055_major = 3;
uint32_t l_minRequiredVersion_1055_minor = 0;
observe(observations.mReads);
mImports.glGetTransformFeedbackVarying(program, index, bufSize, length, size, type, name);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetTransformFeedbackVarying coder(
observations, program, index, bufSize,
gapic::coder::gles::GLsizei__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(length), 0)),
gapic::coder::gles::GLsizei__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(size), 0)),
gapic::coder::gles::GLenum__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(type), 0)),
gapic::coder::gles::GLchar__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(name), 0)));
mEncoder->Object(&coder);
}
inline uint8_t GlesSpy::glIsTransformFeedback(uint32_t id) {
GAPID_INFO("glIsTransformFeedback(%" PRIu32 ")\n", id);
uint8_t result = 0;
Observations observations;
do {
uint32_t l_minRequiredVersion_1056_major = 3;
uint32_t l_minRequiredVersion_1056_minor = 0;
observe(observations.mReads);
result = mImports.glIsTransformFeedback(id);
break;
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlIsTransformFeedback coder(observations, id, result);
mEncoder->Object(&coder);
return result;
}
inline void GlesSpy::glPauseTransformFeedback() {
GAPID_INFO("glPauseTransformFeedback()\n");
Observations observations;
do {
uint32_t l_minRequiredVersion_1057_major = 3;
uint32_t l_minRequiredVersion_1057_minor = 0;
observe(observations.mReads);
mImports.glPauseTransformFeedback();
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlPauseTransformFeedback coder(observations);
mEncoder->Object(&coder);
}
inline void GlesSpy::glResumeTransformFeedback() {
GAPID_INFO("glResumeTransformFeedback()\n");
Observations observations;
do {
uint32_t l_minRequiredVersion_1058_major = 3;
uint32_t l_minRequiredVersion_1058_minor = 0;
observe(observations.mReads);
mImports.glResumeTransformFeedback();
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlResumeTransformFeedback coder(observations);
mEncoder->Object(&coder);
}
inline void GlesSpy::glTransformFeedbackVaryings(uint32_t program, int32_t count, char** varyings,
uint32_t bufferMode) {
GAPID_INFO("glTransformFeedbackVaryings(%" PRIu32 ", %" PRId32 ", %p, %u)\n", program, count,
varyings, bufferMode);
Observations observations;
do {
uint32_t l_minRequiredVersion_1059_major = 3;
uint32_t l_minRequiredVersion_1059_minor = 0;
switch (bufferMode) {
case GLenum::GL_INTERLEAVED_ATTRIBS: // fall-through...
case GLenum::GL_SEPARATE_ATTRIBS: {
break;
}
}
observe(observations.mReads);
mImports.glTransformFeedbackVaryings(program, count, varyings, bufferMode);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlTransformFeedbackVaryings coder(
observations, program, count,
gapic::coder::gles::GLchar__CP__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(varyings), 0)),
bufferMode);
mEncoder->Object(&coder);
}
inline void GlesSpy::glBindVertexArray(uint32_t array) {
GAPID_INFO("glBindVertexArray(%" PRIu32 ")\n", array);
Observations observations;
do {
uint32_t l_minRequiredVersion_1061_major = 3;
uint32_t l_minRequiredVersion_1061_minor = 0;
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_1062_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_1062_result;
if (!(l_ctx->mInstances.mVertexArrays.count(array) > 0)) {
l_ctx->mInstances.mVertexArrays[array] =
std::shared_ptr<VertexArray>((new VertexArray()));
}
l_ctx->mBoundVertexArray = array;
observe(observations.mReads);
mImports.glBindVertexArray(array);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlBindVertexArray coder(observations, array);
mEncoder->Object(&coder);
}
inline void GlesSpy::glBindVertexBuffer(uint32_t bindingindex, uint32_t buffer, int32_t offset,
int32_t stride) {
GAPID_INFO("glBindVertexBuffer(%" PRIu32 ", %" PRIu32 ", %" PRId32 ", %" PRId32 ")\n",
bindingindex, buffer, offset, stride);
Observations observations;
do {
uint32_t l_minRequiredVersion_1063_major = 3;
uint32_t l_minRequiredVersion_1063_minor = 1;
observe(observations.mReads);
mImports.glBindVertexBuffer(bindingindex, buffer, offset, stride);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlBindVertexBuffer coder(observations, bindingindex, buffer, offset,
stride);
mEncoder->Object(&coder);
}
inline void GlesSpy::glDeleteVertexArrays(int32_t count, uint32_t* arrays) {
GAPID_INFO("glDeleteVertexArrays(%" PRId32 ", %p)\n", count, arrays);
Observations observations;
do {
uint32_t l_minRequiredVersion_1064_major = 3;
uint32_t l_minRequiredVersion_1064_minor = 0;
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_1065_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_1065_result;
Slice<VertexArrayId> l_a = slice(arrays, (uint64_t)((GLsizei)(0)), (uint64_t)(count));
for (GLsizei l_i = (GLsizei)(0); l_i < count; ++l_i) {
l_ctx->mInstances.mVertexArrays[read(l_a, (uint64_t)(l_i))] =
std::shared_ptr<VertexArray>();
}
observe(observations.mReads);
mImports.glDeleteVertexArrays(count, arrays);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlDeleteVertexArrays coder(
observations, count,
gapic::coder::gles::VertexArrayId__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(arrays), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glDisableVertexAttribArray(uint32_t location) {
GAPID_INFO("glDisableVertexAttribArray(%" PRIu32 ")\n", location);
Observations observations;
do {
uint32_t l_minRequiredVersion_1066_major = 2;
uint32_t l_minRequiredVersion_1066_minor = 0;
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_1067_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_1067_result;
l_ctx->mVertexAttributeArrays[location]->mEnabled = false;
observe(observations.mReads);
mImports.glDisableVertexAttribArray(location);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlDisableVertexAttribArray coder(observations, location);
mEncoder->Object(&coder);
}
inline void GlesSpy::glEnableVertexAttribArray(uint32_t location) {
GAPID_INFO("glEnableVertexAttribArray(%" PRIu32 ")\n", location);
Observations observations;
do {
uint32_t l_minRequiredVersion_1068_major = 2;
uint32_t l_minRequiredVersion_1068_minor = 0;
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_1069_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_1069_result;
l_ctx->mVertexAttributeArrays[location]->mEnabled = true;
observe(observations.mReads);
mImports.glEnableVertexAttribArray(location);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlEnableVertexAttribArray coder(observations, location);
mEncoder->Object(&coder);
}
inline void GlesSpy::glGenVertexArrays(int32_t count, uint32_t* arrays) {
GAPID_INFO("glGenVertexArrays(%" PRId32 ", %p)\n", count, arrays);
Observations observations;
do {
uint32_t l_minRequiredVersion_1070_major = 3;
uint32_t l_minRequiredVersion_1070_minor = 0;
Slice<VertexArrayId> l_a = slice(arrays, (uint64_t)((GLsizei)(0)), (uint64_t)(count));
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_1071_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_1071_result;
observe(observations.mReads);
mImports.glGenVertexArrays(count, arrays);
for (GLsizei l_i = (GLsizei)(0); l_i < count; ++l_i) {
VertexArrayId l_id = (VertexArrayId)(
slice(arrays, (uint64_t)((GLsizei)(0)), (uint64_t)(count))[(uint64_t)(l_i)]);
l_ctx->mInstances.mVertexArrays[l_id] =
std::shared_ptr<VertexArray>((new VertexArray()));
write(l_a, (uint64_t)(l_i), l_id);
}
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGenVertexArrays coder(
observations, count, gapic::coder::gles::VertexArrayId__P(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(arrays), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetVertexAttribIiv(uint32_t index, uint32_t pname, int32_t* params) {
GAPID_INFO("glGetVertexAttribIiv(%" PRIu32 ", %u, %p)\n", index, pname, params);
Observations observations;
do {
uint32_t l_minRequiredVersion_1072_major = 3;
uint32_t l_minRequiredVersion_1072_minor = 0;
switch (pname) {
case GLenum::GL_CURRENT_VERTEX_ATTRIB: // fall-through...
case GLenum::GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING: // fall-through...
case GLenum::GL_VERTEX_ATTRIB_ARRAY_DIVISOR: // fall-through...
case GLenum::GL_VERTEX_ATTRIB_ARRAY_ENABLED: // fall-through...
case GLenum::GL_VERTEX_ATTRIB_ARRAY_INTEGER: // fall-through...
case GLenum::GL_VERTEX_ATTRIB_ARRAY_NORMALIZED: // fall-through...
case GLenum::GL_VERTEX_ATTRIB_ARRAY_SIZE: // fall-through...
case GLenum::GL_VERTEX_ATTRIB_ARRAY_STRIDE: // fall-through...
case GLenum::GL_VERTEX_ATTRIB_ARRAY_TYPE: {
break;
}
case GLenum::GL_VERTEX_ATTRIB_BINDING: {
uint32_t l_minRequiredVersion_1073_major = 3;
uint32_t l_minRequiredVersion_1073_minor = 1;
break;
}
}
observe(observations.mReads);
mImports.glGetVertexAttribIiv(index, pname, params);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetVertexAttribIiv coder(
observations, index, pname, gapic::coder::gles::GLint__P(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(params), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetVertexAttribIuiv(uint32_t index, uint32_t pname, uint32_t* params) {
GAPID_INFO("glGetVertexAttribIuiv(%" PRIu32 ", %u, %p)\n", index, pname, params);
Observations observations;
do {
uint32_t l_minRequiredVersion_1075_major = 3;
uint32_t l_minRequiredVersion_1075_minor = 0;
switch (pname) {
case GLenum::GL_CURRENT_VERTEX_ATTRIB: // fall-through...
case GLenum::GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING: // fall-through...
case GLenum::GL_VERTEX_ATTRIB_ARRAY_DIVISOR: // fall-through...
case GLenum::GL_VERTEX_ATTRIB_ARRAY_ENABLED: // fall-through...
case GLenum::GL_VERTEX_ATTRIB_ARRAY_INTEGER: // fall-through...
case GLenum::GL_VERTEX_ATTRIB_ARRAY_NORMALIZED: // fall-through...
case GLenum::GL_VERTEX_ATTRIB_ARRAY_SIZE: // fall-through...
case GLenum::GL_VERTEX_ATTRIB_ARRAY_STRIDE: // fall-through...
case GLenum::GL_VERTEX_ATTRIB_ARRAY_TYPE: {
break;
}
case GLenum::GL_VERTEX_ATTRIB_BINDING: {
uint32_t l_minRequiredVersion_1076_major = 3;
uint32_t l_minRequiredVersion_1076_minor = 1;
break;
}
}
observe(observations.mReads);
mImports.glGetVertexAttribIuiv(index, pname, params);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetVertexAttribIuiv coder(
observations, index, pname, gapic::coder::gles::GLuint__P(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(params), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetVertexAttribPointerv(uint32_t index, uint32_t pname, void** pointer) {
GAPID_INFO("glGetVertexAttribPointerv(%" PRIu32 ", %u, %p)\n", index, pname, pointer);
Observations observations;
do {
uint32_t l_minRequiredVersion_1078_major = 2;
uint32_t l_minRequiredVersion_1078_minor = 0;
switch (pname) {
case GLenum::GL_VERTEX_ATTRIB_ARRAY_POINTER: {
break;
}
}
observe(observations.mReads);
mImports.glGetVertexAttribPointerv(index, pname, pointer);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetVertexAttribPointerv coder(
observations, index, pname,
gapic::coder::gles::Void__P__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(pointer), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetVertexAttribfv(uint32_t index, uint32_t pname, float* params) {
GAPID_INFO("glGetVertexAttribfv(%" PRIu32 ", %u, %p)\n", index, pname, params);
Observations observations;
do {
uint32_t l_minRequiredVersion_1080_major = 2;
uint32_t l_minRequiredVersion_1080_minor = 0;
switch (pname) {
case GLenum::GL_CURRENT_VERTEX_ATTRIB: // fall-through...
case GLenum::GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING: // fall-through...
case GLenum::GL_VERTEX_ATTRIB_ARRAY_ENABLED: // fall-through...
case GLenum::GL_VERTEX_ATTRIB_ARRAY_NORMALIZED: // fall-through...
case GLenum::GL_VERTEX_ATTRIB_ARRAY_SIZE: // fall-through...
case GLenum::GL_VERTEX_ATTRIB_ARRAY_STRIDE: // fall-through...
case GLenum::GL_VERTEX_ATTRIB_ARRAY_TYPE: {
break;
}
case GLenum::GL_VERTEX_ATTRIB_ARRAY_DIVISOR: // fall-through...
case GLenum::GL_VERTEX_ATTRIB_ARRAY_INTEGER: {
uint32_t l_minRequiredVersion_1081_major = 3;
uint32_t l_minRequiredVersion_1081_minor = 0;
break;
}
case GLenum::GL_VERTEX_ATTRIB_BINDING: {
uint32_t l_minRequiredVersion_1082_major = 3;
uint32_t l_minRequiredVersion_1082_minor = 1;
break;
}
}
observe(observations.mReads);
mImports.glGetVertexAttribfv(index, pname, params);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetVertexAttribfv coder(
observations, index, pname,
gapic::coder::gles::GLfloat__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(params), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetVertexAttribiv(uint32_t index, uint32_t pname, int32_t* params) {
GAPID_INFO("glGetVertexAttribiv(%" PRIu32 ", %u, %p)\n", index, pname, params);
Observations observations;
do {
uint32_t l_minRequiredVersion_1084_major = 2;
uint32_t l_minRequiredVersion_1084_minor = 0;
switch (pname) {
case GLenum::GL_CURRENT_VERTEX_ATTRIB: // fall-through...
case GLenum::GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING: // fall-through...
case GLenum::GL_VERTEX_ATTRIB_ARRAY_ENABLED: // fall-through...
case GLenum::GL_VERTEX_ATTRIB_ARRAY_NORMALIZED: // fall-through...
case GLenum::GL_VERTEX_ATTRIB_ARRAY_SIZE: // fall-through...
case GLenum::GL_VERTEX_ATTRIB_ARRAY_STRIDE: // fall-through...
case GLenum::GL_VERTEX_ATTRIB_ARRAY_TYPE: {
break;
}
case GLenum::GL_VERTEX_ATTRIB_ARRAY_DIVISOR: // fall-through...
case GLenum::GL_VERTEX_ATTRIB_ARRAY_INTEGER: {
uint32_t l_minRequiredVersion_1085_major = 3;
uint32_t l_minRequiredVersion_1085_minor = 0;
break;
}
case GLenum::GL_VERTEX_ATTRIB_BINDING: {
uint32_t l_minRequiredVersion_1086_major = 3;
uint32_t l_minRequiredVersion_1086_minor = 1;
break;
}
}
observe(observations.mReads);
mImports.glGetVertexAttribiv(index, pname, params);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetVertexAttribiv coder(
observations, index, pname, gapic::coder::gles::GLint__P(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(params), 0)));
mEncoder->Object(&coder);
}
inline uint8_t GlesSpy::glIsVertexArray(uint32_t array) {
GAPID_INFO("glIsVertexArray(%" PRIu32 ")\n", array);
uint8_t result = 0;
Observations observations;
do {
uint32_t l_minRequiredVersion_1088_major = 3;
uint32_t l_minRequiredVersion_1088_minor = 0;
observe(observations.mReads);
result = mImports.glIsVertexArray(array);
break;
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlIsVertexArray coder(observations, array, result);
mEncoder->Object(&coder);
return result;
}
inline void GlesSpy::glVertexAttrib1f(uint32_t location, float value0) {
GAPID_INFO("glVertexAttrib1f(%" PRIu32 ", %f)\n", location, value0);
Observations observations;
do {
uint32_t l_minRequiredVersion_1089_major = 2;
uint32_t l_minRequiredVersion_1089_minor = 0;
observe(observations.mReads);
mImports.glVertexAttrib1f(location, value0);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlVertexAttrib1f coder(observations, location, value0);
mEncoder->Object(&coder);
}
inline void GlesSpy::glVertexAttrib1fv(uint32_t location, float* value) {
GAPID_INFO("glVertexAttrib1fv(%" PRIu32 ", %p)\n", location, value);
Observations observations;
do {
uint32_t l_minRequiredVersion_1090_major = 2;
uint32_t l_minRequiredVersion_1090_minor = 0;
read(slice(value, 0, 1));
observe(observations.mReads);
mImports.glVertexAttrib1fv(location, value);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlVertexAttrib1fv coder(
observations, location, gapic::coder::gles::GLfloat__CP(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(value), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glVertexAttrib2f(uint32_t location, float value0, float value1) {
GAPID_INFO("glVertexAttrib2f(%" PRIu32 ", %f, %f)\n", location, value0, value1);
Observations observations;
do {
uint32_t l_minRequiredVersion_1091_major = 2;
uint32_t l_minRequiredVersion_1091_minor = 0;
observe(observations.mReads);
mImports.glVertexAttrib2f(location, value0, value1);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlVertexAttrib2f coder(observations, location, value0, value1);
mEncoder->Object(&coder);
}
inline void GlesSpy::glVertexAttrib2fv(uint32_t location, float* value) {
GAPID_INFO("glVertexAttrib2fv(%" PRIu32 ", %p)\n", location, value);
Observations observations;
do {
uint32_t l_minRequiredVersion_1092_major = 2;
uint32_t l_minRequiredVersion_1092_minor = 0;
read(slice(value, 0, 2));
observe(observations.mReads);
mImports.glVertexAttrib2fv(location, value);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlVertexAttrib2fv coder(
observations, location, gapic::coder::gles::GLfloat__CP(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(value), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glVertexAttrib3f(uint32_t location, float value0, float value1, float value2) {
GAPID_INFO("glVertexAttrib3f(%" PRIu32 ", %f, %f, %f)\n", location, value0, value1, value2);
Observations observations;
do {
uint32_t l_minRequiredVersion_1093_major = 2;
uint32_t l_minRequiredVersion_1093_minor = 0;
observe(observations.mReads);
mImports.glVertexAttrib3f(location, value0, value1, value2);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlVertexAttrib3f coder(observations, location, value0, value1, value2);
mEncoder->Object(&coder);
}
inline void GlesSpy::glVertexAttrib3fv(uint32_t location, float* value) {
GAPID_INFO("glVertexAttrib3fv(%" PRIu32 ", %p)\n", location, value);
Observations observations;
do {
uint32_t l_minRequiredVersion_1094_major = 2;
uint32_t l_minRequiredVersion_1094_minor = 0;
read(slice(value, 0, 3));
observe(observations.mReads);
mImports.glVertexAttrib3fv(location, value);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlVertexAttrib3fv coder(
observations, location, gapic::coder::gles::GLfloat__CP(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(value), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glVertexAttrib4f(uint32_t location, float value0, float value1, float value2,
float value3) {
GAPID_INFO("glVertexAttrib4f(%" PRIu32 ", %f, %f, %f, %f)\n", location, value0, value1, value2,
value3);
Observations observations;
do {
uint32_t l_minRequiredVersion_1095_major = 2;
uint32_t l_minRequiredVersion_1095_minor = 0;
observe(observations.mReads);
mImports.glVertexAttrib4f(location, value0, value1, value2, value3);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlVertexAttrib4f coder(observations, location, value0, value1, value2,
value3);
mEncoder->Object(&coder);
}
inline void GlesSpy::glVertexAttrib4fv(uint32_t location, float* value) {
GAPID_INFO("glVertexAttrib4fv(%" PRIu32 ", %p)\n", location, value);
Observations observations;
do {
uint32_t l_minRequiredVersion_1096_major = 2;
uint32_t l_minRequiredVersion_1096_minor = 0;
read(slice(value, 0, 4));
observe(observations.mReads);
mImports.glVertexAttrib4fv(location, value);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlVertexAttrib4fv coder(
observations, location, gapic::coder::gles::GLfloat__CP(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(value), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glVertexAttribBinding(uint32_t attribindex, uint32_t bindingindex) {
GAPID_INFO("glVertexAttribBinding(%" PRIu32 ", %" PRIu32 ")\n", attribindex, bindingindex);
Observations observations;
do {
uint32_t l_minRequiredVersion_1097_major = 3;
uint32_t l_minRequiredVersion_1097_minor = 1;
observe(observations.mReads);
mImports.glVertexAttribBinding(attribindex, bindingindex);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlVertexAttribBinding coder(observations, attribindex, bindingindex);
mEncoder->Object(&coder);
}
inline void GlesSpy::glVertexAttribDivisor(uint32_t index, uint32_t divisor) {
GAPID_INFO("glVertexAttribDivisor(%" PRIu32 ", %" PRIu32 ")\n", index, divisor);
Observations observations;
do {
uint32_t l_minRequiredVersion_1098_major = 3;
uint32_t l_minRequiredVersion_1098_minor = 0;
observe(observations.mReads);
mImports.glVertexAttribDivisor(index, divisor);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlVertexAttribDivisor coder(observations, index, divisor);
mEncoder->Object(&coder);
}
inline void GlesSpy::glVertexAttribFormat(uint32_t attribindex, int32_t size, uint32_t type,
uint8_t normalized, uint32_t relativeoffset) {
GAPID_INFO("glVertexAttribFormat(%" PRIu32 ", %" PRId32 ", %u, %" PRIu8 ", %" PRIu32 ")\n",
attribindex, size, type, normalized, relativeoffset);
Observations observations;
do {
uint32_t l_minRequiredVersion_1099_major = 3;
uint32_t l_minRequiredVersion_1099_minor = 1;
switch (type) {
case GLenum::GL_BYTE: // fall-through...
case GLenum::GL_FIXED: // fall-through...
case GLenum::GL_FLOAT: // fall-through...
case GLenum::GL_HALF_FLOAT: // fall-through...
case GLenum::GL_INT: // fall-through...
case GLenum::GL_INT_2_10_10_10_REV: // fall-through...
case GLenum::GL_SHORT: // fall-through...
case GLenum::GL_UNSIGNED_BYTE: // fall-through...
case GLenum::GL_UNSIGNED_INT: // fall-through...
case GLenum::GL_UNSIGNED_INT_2_10_10_10_REV: // fall-through...
case GLenum::GL_UNSIGNED_SHORT: {
break;
}
}
observe(observations.mReads);
mImports.glVertexAttribFormat(attribindex, size, type, normalized, relativeoffset);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlVertexAttribFormat coder(observations, attribindex, size, type,
normalized, relativeoffset);
mEncoder->Object(&coder);
}
inline void GlesSpy::glVertexAttribI4i(uint32_t index, int32_t x, int32_t y, int32_t z, int32_t w) {
GAPID_INFO("glVertexAttribI4i(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %" PRId32 ", %" PRId32
")\n",
index, x, y, z, w);
Observations observations;
do {
uint32_t l_minRequiredVersion_1101_major = 3;
uint32_t l_minRequiredVersion_1101_minor = 0;
observe(observations.mReads);
mImports.glVertexAttribI4i(index, x, y, z, w);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlVertexAttribI4i coder(observations, index, x, y, z, w);
mEncoder->Object(&coder);
}
inline void GlesSpy::glVertexAttribI4iv(uint32_t index, int32_t* v) {
GAPID_INFO("glVertexAttribI4iv(%" PRIu32 ", %p)\n", index, v);
Observations observations;
do {
uint32_t l_minRequiredVersion_1102_major = 3;
uint32_t l_minRequiredVersion_1102_minor = 0;
observe(observations.mReads);
mImports.glVertexAttribI4iv(index, v);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlVertexAttribI4iv coder(
observations, index, gapic::coder::gles::GLint__CP(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(v), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glVertexAttribI4ui(uint32_t index, uint32_t x, uint32_t y, uint32_t z,
uint32_t w) {
GAPID_INFO("glVertexAttribI4ui(%" PRIu32 ", %" PRIu32 ", %" PRIu32 ", %" PRIu32 ", %" PRIu32
")\n",
index, x, y, z, w);
Observations observations;
do {
uint32_t l_minRequiredVersion_1103_major = 3;
uint32_t l_minRequiredVersion_1103_minor = 0;
observe(observations.mReads);
mImports.glVertexAttribI4ui(index, x, y, z, w);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlVertexAttribI4ui coder(observations, index, x, y, z, w);
mEncoder->Object(&coder);
}
inline void GlesSpy::glVertexAttribI4uiv(uint32_t index, uint32_t* v) {
GAPID_INFO("glVertexAttribI4uiv(%" PRIu32 ", %p)\n", index, v);
Observations observations;
do {
uint32_t l_minRequiredVersion_1104_major = 3;
uint32_t l_minRequiredVersion_1104_minor = 0;
observe(observations.mReads);
mImports.glVertexAttribI4uiv(index, v);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlVertexAttribI4uiv coder(
observations, index, gapic::coder::gles::GLuint__CP(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(v), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glVertexAttribIFormat(uint32_t attribindex, int32_t size, uint32_t type,
uint32_t relativeoffset) {
GAPID_INFO("glVertexAttribIFormat(%" PRIu32 ", %" PRId32 ", %u, %" PRIu32 ")\n", attribindex,
size, type, relativeoffset);
Observations observations;
do {
uint32_t l_minRequiredVersion_1105_major = 3;
uint32_t l_minRequiredVersion_1105_minor = 1;
switch (type) {
case GLenum::GL_BYTE: // fall-through...
case GLenum::GL_FIXED: // fall-through...
case GLenum::GL_FLOAT: // fall-through...
case GLenum::GL_HALF_FLOAT: // fall-through...
case GLenum::GL_INT: // fall-through...
case GLenum::GL_INT_2_10_10_10_REV: // fall-through...
case GLenum::GL_SHORT: // fall-through...
case GLenum::GL_UNSIGNED_BYTE: // fall-through...
case GLenum::GL_UNSIGNED_INT: // fall-through...
case GLenum::GL_UNSIGNED_INT_2_10_10_10_REV: // fall-through...
case GLenum::GL_UNSIGNED_SHORT: {
break;
}
}
observe(observations.mReads);
mImports.glVertexAttribIFormat(attribindex, size, type, relativeoffset);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlVertexAttribIFormat coder(observations, attribindex, size, type,
relativeoffset);
mEncoder->Object(&coder);
}
inline void GlesSpy::glVertexAttribIPointer(uint32_t index, int32_t size, uint32_t type,
int32_t stride, void* pointer) {
GAPID_INFO("glVertexAttribIPointer(%" PRIu32 ", %" PRId32 ", %u, %" PRId32 ", %p)\n", index,
size, type, stride, pointer);
Observations observations;
do {
uint32_t l_minRequiredVersion_1107_major = 3;
uint32_t l_minRequiredVersion_1107_minor = 0;
switch (type) {
case GLenum::GL_HALF_FLOAT_OES: {
uint32_t l_requiresExtension_1108_ext = ExtensionId::GL_OES_vertex_half_float;
break;
}
case GLenum::GL_BYTE: // fall-through...
case GLenum::GL_INT: // fall-through...
case GLenum::GL_SHORT: // fall-through...
case GLenum::GL_UNSIGNED_BYTE: // fall-through...
case GLenum::GL_UNSIGNED_INT: // fall-through...
case GLenum::GL_UNSIGNED_SHORT: {
break;
}
}
observe(observations.mReads);
mImports.glVertexAttribIPointer(index, size, type, stride, pointer);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlVertexAttribIPointer coder(
observations, index, size, type, stride,
gapic::coder::gles::Void__CP(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(pointer), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glVertexAttribPointer(uint32_t location, int32_t size, uint32_t type,
uint8_t normalized, int32_t stride, void* data) {
GAPID_INFO("glVertexAttribPointer(%" PRIu32 ", %" PRId32 ", %u, %" PRIu8 ", %" PRId32 ", %p)\n",
location, size, type, normalized, stride, data);
Observations observations;
do {
uint32_t l_minRequiredVersion_1110_major = 2;
uint32_t l_minRequiredVersion_1110_minor = 0;
switch (type) {
case GLenum::GL_BYTE: // fall-through...
case GLenum::GL_FIXED: // fall-through...
case GLenum::GL_FLOAT: // fall-through...
case GLenum::GL_SHORT: // fall-through...
case GLenum::GL_UNSIGNED_BYTE: // fall-through...
case GLenum::GL_UNSIGNED_SHORT: {
break;
}
case GLenum::GL_HALF_FLOAT_OES: {
uint32_t l_requiresExtension_1111_ext = ExtensionId::GL_OES_vertex_half_float;
break;
}
case GLenum::GL_HALF_FLOAT: // fall-through...
case GLenum::GL_INT: // fall-through...
case GLenum::GL_INT_2_10_10_10_REV: // fall-through...
case GLenum::GL_UNSIGNED_INT: // fall-through...
case GLenum::GL_UNSIGNED_INT_2_10_10_10_REV: {
uint32_t l_minRequiredVersion_1112_major = 3;
uint32_t l_minRequiredVersion_1112_minor = 0;
break;
}
}
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_1114_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_1114_result;
std::shared_ptr<VertexAttributeArray> l_a = l_ctx->mVertexAttributeArrays[location];
l_a->mSize = (uint32_t)(size);
l_a->mType = type;
l_a->mNormalized = normalized;
l_a->mStride = stride;
l_a->mPointer = data;
l_a->mBuffer = l_ctx->mBoundBuffers[GLenum::GL_ARRAY_BUFFER];
observe(observations.mReads);
mImports.glVertexAttribPointer(location, size, type, normalized, stride, data);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlVertexAttribPointer coder(
observations, location, size, type, normalized, stride,
gapic::coder::gles::VertexPointer(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(data), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glVertexBindingDivisor(uint32_t bindingindex, uint32_t divisor) {
GAPID_INFO("glVertexBindingDivisor(%" PRIu32 ", %" PRIu32 ")\n", bindingindex, divisor);
Observations observations;
do {
uint32_t l_minRequiredVersion_1115_major = 3;
uint32_t l_minRequiredVersion_1115_minor = 1;
observe(observations.mReads);
mImports.glVertexBindingDivisor(bindingindex, divisor);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlVertexBindingDivisor coder(observations, bindingindex, divisor);
mEncoder->Object(&coder);
}
inline int GlesSpy::eglInitialize(void* dpy, int* major, int* minor) {
GAPID_INFO("eglInitialize(%p, %p, %p)\n", dpy, major, minor);
int result = 0;
Observations observations;
do {
observe(observations.mReads);
result = mImports.eglInitialize(dpy, major, minor);
if (major != nullptr) {
write(slice(major, 0, 1), 0, slice(major, 0, 1)[0]);
}
if (major != nullptr) {
write(slice(minor, 0, 1), 0, slice(minor, 0, 1)[0]);
}
break;
} while (false);
observe(observations.mWrites);
gapic::coder::gles::EglInitialize coder(
observations, gapic::coder::gles::EGLDisplay(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(dpy), 0)),
gapic::coder::gles::EGLint__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(major), 0)),
gapic::coder::gles::EGLint__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(minor), 0)),
result);
mEncoder->Object(&coder);
return result;
}
inline void* GlesSpy::eglCreateContext(void* display, void* config, void* share_context,
int* attrib_list) {
GAPID_INFO("eglCreateContext(%p, %p, %p, %p)\n", display, config, share_context, attrib_list);
void* result = nullptr;
Observations observations;
do {
observe(observations.mReads);
result = mImports.eglCreateContext(display, config, share_context, attrib_list);
EGLContext l_context = (EGLContext)(result);
ContextID l_identifier = this->NextContextID;
this->NextContextID = this->NextContextID + (ContextID)(1);
std::shared_ptr<Context> l_ctx = std::shared_ptr<Context>((new Context()));
l_ctx->mIdentifier = l_identifier;
l_ctx->mInstances.mBuffers[(BufferId)(0)] = std::shared_ptr<Buffer>((new Buffer()));
l_ctx->mInstances.mTextures[(TextureId)(0)] = std::shared_ptr<Texture>((new Texture()));
l_ctx->mInstances.mRenderbuffers[(RenderbufferId)(0)] =
std::shared_ptr<Renderbuffer>((new Renderbuffer()));
RenderbufferId l_color_id = (RenderbufferId)(4294967295);
RenderbufferId l_depth_id = (RenderbufferId)(4294967294);
RenderbufferId l_stencil_id = (RenderbufferId)(4294967293);
l_ctx->mInstances.mRenderbuffers[l_color_id] =
std::shared_ptr<Renderbuffer>((new Renderbuffer()));
l_ctx->mInstances.mRenderbuffers[l_depth_id] =
std::shared_ptr<Renderbuffer>((new Renderbuffer()));
l_ctx->mInstances.mRenderbuffers[l_stencil_id] =
std::shared_ptr<Renderbuffer>((new Renderbuffer()));
std::shared_ptr<Framebuffer> l_backbuffer =
std::shared_ptr<Framebuffer>((new Framebuffer()));
l_backbuffer->mAttachments[GLenum::GL_COLOR_ATTACHMENT0] =
FramebufferAttachmentInfo()
.SetObject((uint32_t)(l_color_id))
.SetType(GLenum::GL_RENDERBUFFER)
.SetCubeMapFace(GLenum::GL_TEXTURE_CUBE_MAP_POSITIVE_X);
l_backbuffer->mAttachments[GLenum::GL_DEPTH_ATTACHMENT] =
FramebufferAttachmentInfo()
.SetObject((uint32_t)(l_depth_id))
.SetType(GLenum::GL_RENDERBUFFER)
.SetCubeMapFace(GLenum::GL_TEXTURE_CUBE_MAP_POSITIVE_X);
l_backbuffer->mAttachments[GLenum::GL_STENCIL_ATTACHMENT] =
FramebufferAttachmentInfo()
.SetObject((uint32_t)(l_stencil_id))
.SetType(GLenum::GL_RENDERBUFFER)
.SetCubeMapFace(GLenum::GL_TEXTURE_CUBE_MAP_POSITIVE_X);
l_ctx->mInstances.mFramebuffers[(FramebufferId)(0)] = l_backbuffer;
l_ctx->mBoundFramebuffers[GLenum::GL_DRAW_FRAMEBUFFER] = (FramebufferId)(0);
l_ctx->mBoundFramebuffers[GLenum::GL_READ_FRAMEBUFFER] = (FramebufferId)(0);
l_ctx->mRasterizing.mStencilMask[GLenum::GL_FRONT] = (GLuint)(4294967295);
l_ctx->mRasterizing.mStencilMask[GLenum::GL_BACK] = (GLuint)(4294967295);
l_ctx->mPixelStorage[GLenum::GL_PACK_ALIGNMENT] = (GLint)(4);
l_ctx->mPixelStorage[GLenum::GL_UNPACK_ALIGNMENT] = (GLint)(4);
for (int32_t l_i = 0; l_i < 64; ++l_i) {
l_ctx->mVertexAttributeArrays[(AttributeLocation)(l_i)] =
std::shared_ptr<VertexAttributeArray>((new VertexAttributeArray()));
}
std::shared_ptr<Context> l_CreateContext_1116_result = l_ctx;
this->EGLContexts[l_context] = l_CreateContext_1116_result;
break;
} while (false);
observe(observations.mWrites);
gapic::coder::gles::EglCreateContext coder(
observations, gapic::coder::gles::EGLDisplay(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(display), 0)),
gapic::coder::gles::EGLConfig(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(config), 0)),
gapic::coder::gles::EGLContext(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(share_context), 0)),
gapic::coder::gles::EGLint__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(attrib_list), 0)),
gapic::coder::gles::EGLContext(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(result), 0)));
mEncoder->Object(&coder);
return result;
}
inline int GlesSpy::eglMakeCurrent(void* display, void* draw, void* read, void* context) {
GAPID_INFO("eglMakeCurrent(%p, %p, %p, %p)\n", display, draw, read, context);
int result = 0;
Observations observations;
do {
std::shared_ptr<Context> l_SetContext_1117_context = this->EGLContexts[context];
this->Contexts[this->CurrentThread] = l_SetContext_1117_context;
observe(observations.mReads);
result = mImports.eglMakeCurrent(display, draw, read, context);
break;
} while (false);
observe(observations.mWrites);
gapic::coder::gles::EglMakeCurrent coder(
observations, gapic::coder::gles::EGLDisplay(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(display), 0)),
gapic::coder::gles::EGLSurface(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(draw), 0)),
gapic::coder::gles::EGLSurface(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(read), 0)),
gapic::coder::gles::EGLContext(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(context), 0)),
result);
mEncoder->Object(&coder);
return result;
}
inline int GlesSpy::eglSwapBuffers(void* display, void* surface) {
GAPID_INFO("eglSwapBuffers(%p, %p)\n", display, surface);
int result = 0;
Observations observations;
do {
observe(observations.mReads);
result = mImports.eglSwapBuffers(display, surface);
break;
} while (false);
observe(observations.mWrites);
gapic::coder::gles::EglSwapBuffers coder(
observations, gapic::coder::gles::EGLDisplay(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(display), 0)),
gapic::coder::gles::Void__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(surface), 0)),
result);
mEncoder->Object(&coder);
return result;
}
inline int GlesSpy::eglQuerySurface(void* display, void* surface, int attribute, int* value) {
GAPID_INFO("eglQuerySurface(%p, %p, %d, %p)\n", display, surface, attribute, value);
int result = 0;
Observations observations;
do {
observe(observations.mReads);
result = mImports.eglQuerySurface(display, surface, attribute, value);
write(slice(value, 0, 1), 0, slice(value, 0, 1)[0]);
break;
} while (false);
observe(observations.mWrites);
gapic::coder::gles::EglQuerySurface coder(
observations, gapic::coder::gles::EGLDisplay(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(display), 0)),
gapic::coder::gles::EGLSurface(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(surface), 0)),
attribute, gapic::coder::gles::EGLint__P(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(value), 0)),
result);
mEncoder->Object(&coder);
return result;
}
inline void* GlesSpy::glXCreateContext(void* dpy, void* vis, void* shareList, bool direct) {
GAPID_INFO("glXCreateContext(%p, %p, %p, %d)\n", dpy, vis, shareList, direct);
void* result = nullptr;
Observations observations;
do {
observe(observations.mReads);
result = mImports.glXCreateContext(dpy, vis, shareList, direct);
GLXContext l_context = (GLXContext)(result);
ContextID l_identifier = this->NextContextID;
this->NextContextID = this->NextContextID + (ContextID)(1);
std::shared_ptr<Context> l_ctx = std::shared_ptr<Context>((new Context()));
l_ctx->mIdentifier = l_identifier;
l_ctx->mInstances.mBuffers[(BufferId)(0)] = std::shared_ptr<Buffer>((new Buffer()));
l_ctx->mInstances.mTextures[(TextureId)(0)] = std::shared_ptr<Texture>((new Texture()));
l_ctx->mInstances.mRenderbuffers[(RenderbufferId)(0)] =
std::shared_ptr<Renderbuffer>((new Renderbuffer()));
RenderbufferId l_color_id = (RenderbufferId)(4294967295);
RenderbufferId l_depth_id = (RenderbufferId)(4294967294);
RenderbufferId l_stencil_id = (RenderbufferId)(4294967293);
l_ctx->mInstances.mRenderbuffers[l_color_id] =
std::shared_ptr<Renderbuffer>((new Renderbuffer()));
l_ctx->mInstances.mRenderbuffers[l_depth_id] =
std::shared_ptr<Renderbuffer>((new Renderbuffer()));
l_ctx->mInstances.mRenderbuffers[l_stencil_id] =
std::shared_ptr<Renderbuffer>((new Renderbuffer()));
std::shared_ptr<Framebuffer> l_backbuffer =
std::shared_ptr<Framebuffer>((new Framebuffer()));
l_backbuffer->mAttachments[GLenum::GL_COLOR_ATTACHMENT0] =
FramebufferAttachmentInfo()
.SetObject((uint32_t)(l_color_id))
.SetType(GLenum::GL_RENDERBUFFER)
.SetCubeMapFace(GLenum::GL_TEXTURE_CUBE_MAP_POSITIVE_X);
l_backbuffer->mAttachments[GLenum::GL_DEPTH_ATTACHMENT] =
FramebufferAttachmentInfo()
.SetObject((uint32_t)(l_depth_id))
.SetType(GLenum::GL_RENDERBUFFER)
.SetCubeMapFace(GLenum::GL_TEXTURE_CUBE_MAP_POSITIVE_X);
l_backbuffer->mAttachments[GLenum::GL_STENCIL_ATTACHMENT] =
FramebufferAttachmentInfo()
.SetObject((uint32_t)(l_stencil_id))
.SetType(GLenum::GL_RENDERBUFFER)
.SetCubeMapFace(GLenum::GL_TEXTURE_CUBE_MAP_POSITIVE_X);
l_ctx->mInstances.mFramebuffers[(FramebufferId)(0)] = l_backbuffer;
l_ctx->mBoundFramebuffers[GLenum::GL_DRAW_FRAMEBUFFER] = (FramebufferId)(0);
l_ctx->mBoundFramebuffers[GLenum::GL_READ_FRAMEBUFFER] = (FramebufferId)(0);
l_ctx->mRasterizing.mStencilMask[GLenum::GL_FRONT] = (GLuint)(4294967295);
l_ctx->mRasterizing.mStencilMask[GLenum::GL_BACK] = (GLuint)(4294967295);
l_ctx->mPixelStorage[GLenum::GL_PACK_ALIGNMENT] = (GLint)(4);
l_ctx->mPixelStorage[GLenum::GL_UNPACK_ALIGNMENT] = (GLint)(4);
for (int32_t l_i = 0; l_i < 64; ++l_i) {
l_ctx->mVertexAttributeArrays[(AttributeLocation)(l_i)] =
std::shared_ptr<VertexAttributeArray>((new VertexAttributeArray()));
}
std::shared_ptr<Context> l_CreateContext_1118_result = l_ctx;
this->GLXContexts[l_context] = l_CreateContext_1118_result;
break;
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlXCreateContext coder(
observations, gapic::coder::gles::Void__P(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(dpy), 0)),
gapic::coder::gles::Void__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(vis), 0)),
gapic::coder::gles::GLXContext(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(shareList), 0)),
direct, gapic::coder::gles::GLXContext(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(result), 0)));
mEncoder->Object(&coder);
return result;
}
inline void* GlesSpy::glXCreateNewContext(void* display, void* fbconfig, uint32_t type,
void* shared, bool direct) {
GAPID_INFO("glXCreateNewContext(%p, %p, %" PRIu32 ", %p, %d)\n", display, fbconfig, type,
shared, direct);
void* result = nullptr;
Observations observations;
do {
observe(observations.mReads);
result = mImports.glXCreateNewContext(display, fbconfig, type, shared, direct);
GLXContext l_context = (GLXContext)(result);
ContextID l_identifier = this->NextContextID;
this->NextContextID = this->NextContextID + (ContextID)(1);
std::shared_ptr<Context> l_ctx = std::shared_ptr<Context>((new Context()));
l_ctx->mIdentifier = l_identifier;
l_ctx->mInstances.mBuffers[(BufferId)(0)] = std::shared_ptr<Buffer>((new Buffer()));
l_ctx->mInstances.mTextures[(TextureId)(0)] = std::shared_ptr<Texture>((new Texture()));
l_ctx->mInstances.mRenderbuffers[(RenderbufferId)(0)] =
std::shared_ptr<Renderbuffer>((new Renderbuffer()));
RenderbufferId l_color_id = (RenderbufferId)(4294967295);
RenderbufferId l_depth_id = (RenderbufferId)(4294967294);
RenderbufferId l_stencil_id = (RenderbufferId)(4294967293);
l_ctx->mInstances.mRenderbuffers[l_color_id] =
std::shared_ptr<Renderbuffer>((new Renderbuffer()));
l_ctx->mInstances.mRenderbuffers[l_depth_id] =
std::shared_ptr<Renderbuffer>((new Renderbuffer()));
l_ctx->mInstances.mRenderbuffers[l_stencil_id] =
std::shared_ptr<Renderbuffer>((new Renderbuffer()));
std::shared_ptr<Framebuffer> l_backbuffer =
std::shared_ptr<Framebuffer>((new Framebuffer()));
l_backbuffer->mAttachments[GLenum::GL_COLOR_ATTACHMENT0] =
FramebufferAttachmentInfo()
.SetObject((uint32_t)(l_color_id))
.SetType(GLenum::GL_RENDERBUFFER)
.SetCubeMapFace(GLenum::GL_TEXTURE_CUBE_MAP_POSITIVE_X);
l_backbuffer->mAttachments[GLenum::GL_DEPTH_ATTACHMENT] =
FramebufferAttachmentInfo()
.SetObject((uint32_t)(l_depth_id))
.SetType(GLenum::GL_RENDERBUFFER)
.SetCubeMapFace(GLenum::GL_TEXTURE_CUBE_MAP_POSITIVE_X);
l_backbuffer->mAttachments[GLenum::GL_STENCIL_ATTACHMENT] =
FramebufferAttachmentInfo()
.SetObject((uint32_t)(l_stencil_id))
.SetType(GLenum::GL_RENDERBUFFER)
.SetCubeMapFace(GLenum::GL_TEXTURE_CUBE_MAP_POSITIVE_X);
l_ctx->mInstances.mFramebuffers[(FramebufferId)(0)] = l_backbuffer;
l_ctx->mBoundFramebuffers[GLenum::GL_DRAW_FRAMEBUFFER] = (FramebufferId)(0);
l_ctx->mBoundFramebuffers[GLenum::GL_READ_FRAMEBUFFER] = (FramebufferId)(0);
l_ctx->mRasterizing.mStencilMask[GLenum::GL_FRONT] = (GLuint)(4294967295);
l_ctx->mRasterizing.mStencilMask[GLenum::GL_BACK] = (GLuint)(4294967295);
l_ctx->mPixelStorage[GLenum::GL_PACK_ALIGNMENT] = (GLint)(4);
l_ctx->mPixelStorage[GLenum::GL_UNPACK_ALIGNMENT] = (GLint)(4);
for (int32_t l_i = 0; l_i < 64; ++l_i) {
l_ctx->mVertexAttributeArrays[(AttributeLocation)(l_i)] =
std::shared_ptr<VertexAttributeArray>((new VertexAttributeArray()));
}
std::shared_ptr<Context> l_CreateContext_1119_result = l_ctx;
this->GLXContexts[l_context] = l_CreateContext_1119_result;
break;
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlXCreateNewContext coder(
observations, gapic::coder::gles::Void__P(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(display), 0)),
gapic::coder::gles::Void__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(fbconfig), 0)),
type, gapic::coder::gles::GLXContext(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(shared), 0)),
direct, gapic::coder::gles::GLXContext(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(result), 0)));
mEncoder->Object(&coder);
return result;
}
inline int GlesSpy::glXMakeContextCurrent(void* display, void* draw, void* read, void* ctx) {
GAPID_INFO("glXMakeContextCurrent(%p, %p, %p, %p)\n", display, draw, read, ctx);
int result = 0;
Observations observations;
do {
std::shared_ptr<Context> l_SetContext_1120_context = this->GLXContexts[ctx];
this->Contexts[this->CurrentThread] = l_SetContext_1120_context;
observe(observations.mReads);
result = mImports.glXMakeContextCurrent(display, draw, read, ctx);
break;
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlXMakeContextCurrent coder(
observations, gapic::coder::gles::Void__P(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(display), 0)),
gapic::coder::gles::GLXDrawable(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(draw), 0)),
gapic::coder::gles::GLXDrawable(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(read), 0)),
gapic::coder::gles::GLXContext(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(ctx), 0)),
result);
mEncoder->Object(&coder);
return result;
}
inline int GlesSpy::glXMakeCurrent(void* display, void* drawable, void* ctx) {
GAPID_INFO("glXMakeCurrent(%p, %p, %p)\n", display, drawable, ctx);
int result = 0;
Observations observations;
do {
std::shared_ptr<Context> l_SetContext_1121_context = this->GLXContexts[ctx];
this->Contexts[this->CurrentThread] = l_SetContext_1121_context;
observe(observations.mReads);
result = mImports.glXMakeCurrent(display, drawable, ctx);
break;
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlXMakeCurrent coder(
observations, gapic::coder::gles::Void__P(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(display), 0)),
gapic::coder::gles::GLXDrawable(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(drawable), 0)),
gapic::coder::gles::GLXContext(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(ctx), 0)),
result);
mEncoder->Object(&coder);
return result;
}
inline void GlesSpy::glXSwapBuffers(void* display, void* drawable) {
GAPID_INFO("glXSwapBuffers(%p, %p)\n", display, drawable);
Observations observations;
do {
observe(observations.mReads);
mImports.glXSwapBuffers(display, drawable);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlXSwapBuffers coder(
observations, gapic::coder::gles::Void__P(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(display), 0)),
gapic::coder::gles::GLXDrawable(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(drawable), 0)));
mEncoder->Object(&coder);
}
inline int GlesSpy::glXQueryDrawable(void* display, void* draw, int attribute, int* value) {
GAPID_INFO("glXQueryDrawable(%p, %p, %d, %p)\n", display, draw, attribute, value);
int result = 0;
Observations observations;
do {
observe(observations.mReads);
result = mImports.glXQueryDrawable(display, draw, attribute, value);
write(slice(value, 0, 1), 0, slice(value, 0, 1)[0]);
break;
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlXQueryDrawable coder(
observations, gapic::coder::gles::Void__P(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(display), 0)),
gapic::coder::gles::GLXDrawable(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(draw), 0)),
attribute, gapic::coder::gles::Int__P(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(value), 0)),
result);
mEncoder->Object(&coder);
return result;
}
inline void* GlesSpy::wglCreateContext(void* hdc) {
GAPID_INFO("wglCreateContext(%p)\n", hdc);
void* result = nullptr;
Observations observations;
do {
observe(observations.mReads);
result = mImports.wglCreateContext(hdc);
HGLRC l_context = (HGLRC)(result);
ContextID l_identifier = this->NextContextID;
this->NextContextID = this->NextContextID + (ContextID)(1);
std::shared_ptr<Context> l_ctx = std::shared_ptr<Context>((new Context()));
l_ctx->mIdentifier = l_identifier;
l_ctx->mInstances.mBuffers[(BufferId)(0)] = std::shared_ptr<Buffer>((new Buffer()));
l_ctx->mInstances.mTextures[(TextureId)(0)] = std::shared_ptr<Texture>((new Texture()));
l_ctx->mInstances.mRenderbuffers[(RenderbufferId)(0)] =
std::shared_ptr<Renderbuffer>((new Renderbuffer()));
RenderbufferId l_color_id = (RenderbufferId)(4294967295);
RenderbufferId l_depth_id = (RenderbufferId)(4294967294);
RenderbufferId l_stencil_id = (RenderbufferId)(4294967293);
l_ctx->mInstances.mRenderbuffers[l_color_id] =
std::shared_ptr<Renderbuffer>((new Renderbuffer()));
l_ctx->mInstances.mRenderbuffers[l_depth_id] =
std::shared_ptr<Renderbuffer>((new Renderbuffer()));
l_ctx->mInstances.mRenderbuffers[l_stencil_id] =
std::shared_ptr<Renderbuffer>((new Renderbuffer()));
std::shared_ptr<Framebuffer> l_backbuffer =
std::shared_ptr<Framebuffer>((new Framebuffer()));
l_backbuffer->mAttachments[GLenum::GL_COLOR_ATTACHMENT0] =
FramebufferAttachmentInfo()
.SetObject((uint32_t)(l_color_id))
.SetType(GLenum::GL_RENDERBUFFER)
.SetCubeMapFace(GLenum::GL_TEXTURE_CUBE_MAP_POSITIVE_X);
l_backbuffer->mAttachments[GLenum::GL_DEPTH_ATTACHMENT] =
FramebufferAttachmentInfo()
.SetObject((uint32_t)(l_depth_id))
.SetType(GLenum::GL_RENDERBUFFER)
.SetCubeMapFace(GLenum::GL_TEXTURE_CUBE_MAP_POSITIVE_X);
l_backbuffer->mAttachments[GLenum::GL_STENCIL_ATTACHMENT] =
FramebufferAttachmentInfo()
.SetObject((uint32_t)(l_stencil_id))
.SetType(GLenum::GL_RENDERBUFFER)
.SetCubeMapFace(GLenum::GL_TEXTURE_CUBE_MAP_POSITIVE_X);
l_ctx->mInstances.mFramebuffers[(FramebufferId)(0)] = l_backbuffer;
l_ctx->mBoundFramebuffers[GLenum::GL_DRAW_FRAMEBUFFER] = (FramebufferId)(0);
l_ctx->mBoundFramebuffers[GLenum::GL_READ_FRAMEBUFFER] = (FramebufferId)(0);
l_ctx->mRasterizing.mStencilMask[GLenum::GL_FRONT] = (GLuint)(4294967295);
l_ctx->mRasterizing.mStencilMask[GLenum::GL_BACK] = (GLuint)(4294967295);
l_ctx->mPixelStorage[GLenum::GL_PACK_ALIGNMENT] = (GLint)(4);
l_ctx->mPixelStorage[GLenum::GL_UNPACK_ALIGNMENT] = (GLint)(4);
for (int32_t l_i = 0; l_i < 64; ++l_i) {
l_ctx->mVertexAttributeArrays[(AttributeLocation)(l_i)] =
std::shared_ptr<VertexAttributeArray>((new VertexAttributeArray()));
}
std::shared_ptr<Context> l_CreateContext_1122_result = l_ctx;
this->WGLContexts[l_context] = l_CreateContext_1122_result;
break;
} while (false);
observe(observations.mWrites);
gapic::coder::gles::WglCreateContext coder(
observations, gapic::coder::gles::HDC(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(hdc), 0)),
gapic::coder::gles::HGLRC(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(result), 0)));
mEncoder->Object(&coder);
return result;
}
inline void* GlesSpy::wglCreateContextAttribsARB(void* hdc, void* hShareContext, int* attribList) {
GAPID_INFO("wglCreateContextAttribsARB(%p, %p, %p)\n", hdc, hShareContext, attribList);
void* result = nullptr;
Observations observations;
do {
observe(observations.mReads);
result = mImports.wglCreateContextAttribsARB(hdc, hShareContext, attribList);
HGLRC l_context = (HGLRC)(result);
ContextID l_identifier = this->NextContextID;
this->NextContextID = this->NextContextID + (ContextID)(1);
std::shared_ptr<Context> l_ctx = std::shared_ptr<Context>((new Context()));
l_ctx->mIdentifier = l_identifier;
l_ctx->mInstances.mBuffers[(BufferId)(0)] = std::shared_ptr<Buffer>((new Buffer()));
l_ctx->mInstances.mTextures[(TextureId)(0)] = std::shared_ptr<Texture>((new Texture()));
l_ctx->mInstances.mRenderbuffers[(RenderbufferId)(0)] =
std::shared_ptr<Renderbuffer>((new Renderbuffer()));
RenderbufferId l_color_id = (RenderbufferId)(4294967295);
RenderbufferId l_depth_id = (RenderbufferId)(4294967294);
RenderbufferId l_stencil_id = (RenderbufferId)(4294967293);
l_ctx->mInstances.mRenderbuffers[l_color_id] =
std::shared_ptr<Renderbuffer>((new Renderbuffer()));
l_ctx->mInstances.mRenderbuffers[l_depth_id] =
std::shared_ptr<Renderbuffer>((new Renderbuffer()));
l_ctx->mInstances.mRenderbuffers[l_stencil_id] =
std::shared_ptr<Renderbuffer>((new Renderbuffer()));
std::shared_ptr<Framebuffer> l_backbuffer =
std::shared_ptr<Framebuffer>((new Framebuffer()));
l_backbuffer->mAttachments[GLenum::GL_COLOR_ATTACHMENT0] =
FramebufferAttachmentInfo()
.SetObject((uint32_t)(l_color_id))
.SetType(GLenum::GL_RENDERBUFFER)
.SetCubeMapFace(GLenum::GL_TEXTURE_CUBE_MAP_POSITIVE_X);
l_backbuffer->mAttachments[GLenum::GL_DEPTH_ATTACHMENT] =
FramebufferAttachmentInfo()
.SetObject((uint32_t)(l_depth_id))
.SetType(GLenum::GL_RENDERBUFFER)
.SetCubeMapFace(GLenum::GL_TEXTURE_CUBE_MAP_POSITIVE_X);
l_backbuffer->mAttachments[GLenum::GL_STENCIL_ATTACHMENT] =
FramebufferAttachmentInfo()
.SetObject((uint32_t)(l_stencil_id))
.SetType(GLenum::GL_RENDERBUFFER)
.SetCubeMapFace(GLenum::GL_TEXTURE_CUBE_MAP_POSITIVE_X);
l_ctx->mInstances.mFramebuffers[(FramebufferId)(0)] = l_backbuffer;
l_ctx->mBoundFramebuffers[GLenum::GL_DRAW_FRAMEBUFFER] = (FramebufferId)(0);
l_ctx->mBoundFramebuffers[GLenum::GL_READ_FRAMEBUFFER] = (FramebufferId)(0);
l_ctx->mRasterizing.mStencilMask[GLenum::GL_FRONT] = (GLuint)(4294967295);
l_ctx->mRasterizing.mStencilMask[GLenum::GL_BACK] = (GLuint)(4294967295);
l_ctx->mPixelStorage[GLenum::GL_PACK_ALIGNMENT] = (GLint)(4);
l_ctx->mPixelStorage[GLenum::GL_UNPACK_ALIGNMENT] = (GLint)(4);
for (int32_t l_i = 0; l_i < 64; ++l_i) {
l_ctx->mVertexAttributeArrays[(AttributeLocation)(l_i)] =
std::shared_ptr<VertexAttributeArray>((new VertexAttributeArray()));
}
std::shared_ptr<Context> l_CreateContext_1123_result = l_ctx;
this->WGLContexts[l_context] = l_CreateContext_1123_result;
break;
} while (false);
observe(observations.mWrites);
gapic::coder::gles::WglCreateContextAttribsARB coder(
observations, gapic::coder::gles::HDC(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(hdc), 0)),
gapic::coder::gles::HGLRC(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(hShareContext), 0)),
gapic::coder::gles::Int__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(attribList), 0)),
gapic::coder::gles::HGLRC(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(result), 0)));
mEncoder->Object(&coder);
return result;
}
inline int GlesSpy::wglMakeCurrent(void* hdc, void* hglrc) {
GAPID_INFO("wglMakeCurrent(%p, %p)\n", hdc, hglrc);
int result = 0;
Observations observations;
do {
std::shared_ptr<Context> l_SetContext_1124_context = this->WGLContexts[hglrc];
this->Contexts[this->CurrentThread] = l_SetContext_1124_context;
observe(observations.mReads);
result = mImports.wglMakeCurrent(hdc, hglrc);
break;
} while (false);
observe(observations.mWrites);
gapic::coder::gles::WglMakeCurrent coder(
observations, gapic::coder::gles::HDC(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(hdc), 0)),
gapic::coder::gles::HGLRC(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(hglrc), 0)),
result);
mEncoder->Object(&coder);
return result;
}
inline void GlesSpy::wglSwapBuffers(void* hdc) {
GAPID_INFO("wglSwapBuffers(%p)\n", hdc);
Observations observations;
do {
observe(observations.mReads);
mImports.wglSwapBuffers(hdc);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::WglSwapBuffers coder(observations,
gapic::coder::gles::HDC(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(hdc), 0)));
mEncoder->Object(&coder);
}
inline int GlesSpy::CGLCreateContext(void* pix, void* share, void** ctx) {
GAPID_INFO("CGLCreateContext(%p, %p, %p)\n", pix, share, ctx);
int result = 0;
Observations observations;
do {
observe(observations.mReads);
result = mImports.CGLCreateContext(pix, share, ctx);
CGLContextObj l_context = (CGLContextObj)(slice(ctx, 0, 1)[0]);
ContextID l_identifier = this->NextContextID;
this->NextContextID = this->NextContextID + (ContextID)(1);
std::shared_ptr<Context> l_ctx = std::shared_ptr<Context>((new Context()));
l_ctx->mIdentifier = l_identifier;
l_ctx->mInstances.mBuffers[(BufferId)(0)] = std::shared_ptr<Buffer>((new Buffer()));
l_ctx->mInstances.mTextures[(TextureId)(0)] = std::shared_ptr<Texture>((new Texture()));
l_ctx->mInstances.mRenderbuffers[(RenderbufferId)(0)] =
std::shared_ptr<Renderbuffer>((new Renderbuffer()));
RenderbufferId l_color_id = (RenderbufferId)(4294967295);
RenderbufferId l_depth_id = (RenderbufferId)(4294967294);
RenderbufferId l_stencil_id = (RenderbufferId)(4294967293);
l_ctx->mInstances.mRenderbuffers[l_color_id] =
std::shared_ptr<Renderbuffer>((new Renderbuffer()));
l_ctx->mInstances.mRenderbuffers[l_depth_id] =
std::shared_ptr<Renderbuffer>((new Renderbuffer()));
l_ctx->mInstances.mRenderbuffers[l_stencil_id] =
std::shared_ptr<Renderbuffer>((new Renderbuffer()));
std::shared_ptr<Framebuffer> l_backbuffer =
std::shared_ptr<Framebuffer>((new Framebuffer()));
l_backbuffer->mAttachments[GLenum::GL_COLOR_ATTACHMENT0] =
FramebufferAttachmentInfo()
.SetObject((uint32_t)(l_color_id))
.SetType(GLenum::GL_RENDERBUFFER)
.SetCubeMapFace(GLenum::GL_TEXTURE_CUBE_MAP_POSITIVE_X);
l_backbuffer->mAttachments[GLenum::GL_DEPTH_ATTACHMENT] =
FramebufferAttachmentInfo()
.SetObject((uint32_t)(l_depth_id))
.SetType(GLenum::GL_RENDERBUFFER)
.SetCubeMapFace(GLenum::GL_TEXTURE_CUBE_MAP_POSITIVE_X);
l_backbuffer->mAttachments[GLenum::GL_STENCIL_ATTACHMENT] =
FramebufferAttachmentInfo()
.SetObject((uint32_t)(l_stencil_id))
.SetType(GLenum::GL_RENDERBUFFER)
.SetCubeMapFace(GLenum::GL_TEXTURE_CUBE_MAP_POSITIVE_X);
l_ctx->mInstances.mFramebuffers[(FramebufferId)(0)] = l_backbuffer;
l_ctx->mBoundFramebuffers[GLenum::GL_DRAW_FRAMEBUFFER] = (FramebufferId)(0);
l_ctx->mBoundFramebuffers[GLenum::GL_READ_FRAMEBUFFER] = (FramebufferId)(0);
l_ctx->mRasterizing.mStencilMask[GLenum::GL_FRONT] = (GLuint)(4294967295);
l_ctx->mRasterizing.mStencilMask[GLenum::GL_BACK] = (GLuint)(4294967295);
l_ctx->mPixelStorage[GLenum::GL_PACK_ALIGNMENT] = (GLint)(4);
l_ctx->mPixelStorage[GLenum::GL_UNPACK_ALIGNMENT] = (GLint)(4);
for (int32_t l_i = 0; l_i < 64; ++l_i) {
l_ctx->mVertexAttributeArrays[(AttributeLocation)(l_i)] =
std::shared_ptr<VertexAttributeArray>((new VertexAttributeArray()));
}
std::shared_ptr<Context> l_CreateContext_1125_result = l_ctx;
this->CGLContexts[l_context] = l_CreateContext_1125_result;
write(slice(ctx, 0, 1), 0, l_context);
break;
} while (false);
observe(observations.mWrites);
gapic::coder::gles::CGLCreateContext coder(
observations, gapic::coder::gles::CGLPixelFormatObj(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(pix), 0)),
gapic::coder::gles::CGLContextObj(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(share), 0)),
gapic::coder::gles::CGLContextObj__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(ctx), 0)),
result);
mEncoder->Object(&coder);
return result;
}
inline int GlesSpy::CGLSetCurrentContext(void* ctx) {
GAPID_INFO("CGLSetCurrentContext(%p)\n", ctx);
int result = 0;
Observations observations;
do {
std::shared_ptr<Context> l_SetContext_1126_context = this->CGLContexts[ctx];
this->Contexts[this->CurrentThread] = l_SetContext_1126_context;
observe(observations.mReads);
result = mImports.CGLSetCurrentContext(ctx);
break;
} while (false);
observe(observations.mWrites);
gapic::coder::gles::CGLSetCurrentContext coder(
observations, gapic::coder::gles::CGLContextObj(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(ctx), 0)),
result);
mEncoder->Object(&coder);
return result;
}
inline int GlesSpy::CGLGetSurface(void* ctx, void** cid, int32_t* wid, int32_t* sid) {
GAPID_INFO("CGLGetSurface(%p, %p, %p, %p)\n", ctx, cid, wid, sid);
int result = 0;
Observations observations;
do {
observe(observations.mReads);
result = mImports.CGLGetSurface(ctx, cid, wid, sid);
write(slice(cid, 0, 1), 0, slice(cid, 0, 1)[0]);
write(slice(wid, 0, 1), 0, slice(wid, 0, 1)[0]);
write(slice(sid, 0, 1), 0, slice(sid, 0, 1)[0]);
break;
} while (false);
observe(observations.mWrites);
gapic::coder::gles::CGLGetSurface coder(
observations, gapic::coder::gles::CGLContextObj(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(ctx), 0)),
gapic::coder::gles::CGSConnectionID__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(cid), 0)),
gapic::coder::gles::CGSWindowID__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(wid), 0)),
gapic::coder::gles::CGSSurfaceID__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(sid), 0)),
result);
mEncoder->Object(&coder);
return result;
}
inline int GlesSpy::CGSGetSurfaceBounds(void* cid, int32_t wid, int32_t sid, double* bounds) {
GAPID_INFO("CGSGetSurfaceBounds(%p, %" PRId32 ", %" PRId32 ", %p)\n", cid, wid, sid, bounds);
int result = 0;
Observations observations;
do {
observe(observations.mReads);
result = mImports.CGSGetSurfaceBounds(cid, wid, sid, bounds);
write(slice(bounds, 0, 4));
break;
} while (false);
observe(observations.mWrites);
gapic::coder::gles::CGSGetSurfaceBounds coder(
observations, gapic::coder::gles::CGSConnectionID(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(cid), 0)),
wid, sid, gapic::coder::gles::F64__P(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(bounds), 0)),
result);
mEncoder->Object(&coder);
return result;
}
inline int GlesSpy::CGLFlushDrawable(void* ctx) {
GAPID_INFO("CGLFlushDrawable(%p)\n", ctx);
int result = 0;
Observations observations;
do {
observe(observations.mReads);
result = mImports.CGLFlushDrawable(ctx);
break;
} while (false);
observe(observations.mWrites);
gapic::coder::gles::CGLFlushDrawable coder(
observations, gapic::coder::gles::CGLContextObj(gapic::coder::memory::Pointer(
reinterpret_cast<uintptr_t>(ctx), 0)),
result);
mEncoder->Object(&coder);
return result;
}
inline void GlesSpy::glGetQueryObjecti64v(uint32_t query, uint32_t parameter, int64_t* value) {
GAPID_INFO("glGetQueryObjecti64v(%" PRIu32 ", %u, %p)\n", query, parameter, value);
Observations observations;
do {
observe(observations.mReads);
mImports.glGetQueryObjecti64v(query, parameter, value);
write(slice(value, 0, 1), 0, slice(value, 0, 1)[0]);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetQueryObjecti64v coder(
observations, query, parameter,
gapic::coder::gles::S64__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(value), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::glGetQueryObjectui64v(uint32_t query, uint32_t parameter, uint64_t* value) {
GAPID_INFO("glGetQueryObjectui64v(%" PRIu32 ", %u, %p)\n", query, parameter, value);
Observations observations;
do {
observe(observations.mReads);
mImports.glGetQueryObjectui64v(query, parameter, value);
write(slice(value, 0, 1), 0, slice(value, 0, 1)[0]);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::GlGetQueryObjectui64v coder(
observations, query, parameter,
gapic::coder::gles::U64__P(
gapic::coder::memory::Pointer(reinterpret_cast<uintptr_t>(value), 0)));
mEncoder->Object(&coder);
}
inline void GlesSpy::architecture(uint32_t pointer_alignment, uint32_t pointer_size,
uint32_t integer_size, bool little_endian) {
GAPID_INFO("architecture(%" PRIu32 ", %" PRIu32 ", %" PRIu32 ", %d)\n", pointer_alignment,
pointer_size, integer_size, little_endian);
Observations observations;
do {
observe(observations.mReads);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::Architecture coder(observations, pointer_alignment, pointer_size,
integer_size, little_endian);
mEncoder->Object(&coder);
}
inline void GlesSpy::replayCreateRenderer(uint32_t id) {
GAPID_INFO("replayCreateRenderer(%" PRIu32 ")\n", id);
Observations observations;
do {
observe(observations.mReads);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::ReplayCreateRenderer coder(observations, id);
mEncoder->Object(&coder);
}
inline void GlesSpy::replayBindRenderer(uint32_t id) {
GAPID_INFO("replayBindRenderer(%" PRIu32 ")\n", id);
Observations observations;
do {
observe(observations.mReads);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::ReplayBindRenderer coder(observations, id);
mEncoder->Object(&coder);
}
inline void GlesSpy::switchThread(uint64_t threadID) {
GAPID_INFO("switchThread(%" PRIu64 ")\n", threadID);
Observations observations;
do {
this->CurrentThread = threadID;
observe(observations.mReads);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::SwitchThread coder(observations, threadID);
mEncoder->Object(&coder);
}
inline void GlesSpy::backbufferInfo(int32_t width, int32_t height, uint32_t color_fmt,
uint32_t depth_fmt, uint32_t stencil_fmt,
bool resetViewportScissor, bool preserveBuffersOnSwap) {
GAPID_INFO("backbufferInfo(%" PRId32 ", %" PRId32 ", %u, %u, %u, %d, %d)\n", width, height,
color_fmt, depth_fmt, stencil_fmt, resetViewportScissor, preserveBuffersOnSwap);
Observations observations;
do {
std::shared_ptr<Context> l_context = this->Contexts[this->CurrentThread];
std::shared_ptr<Context> l_GetContext_1127_result = l_context;
std::shared_ptr<Context> l_ctx = l_GetContext_1127_result;
l_ctx->mPreserveBuffersOnSwap = preserveBuffersOnSwap;
std::shared_ptr<Framebuffer> l_backbuffer =
l_ctx->mInstances.mFramebuffers[(FramebufferId)(0)];
RenderbufferId l_color_id =
(RenderbufferId)(l_backbuffer->mAttachments[GLenum::GL_COLOR_ATTACHMENT0].mObject);
std::shared_ptr<Renderbuffer> l_color_buffer = l_ctx->mInstances.mRenderbuffers[l_color_id];
RenderbufferId l_depth_id =
(RenderbufferId)(l_backbuffer->mAttachments[GLenum::GL_DEPTH_ATTACHMENT].mObject);
std::shared_ptr<Renderbuffer> l_depth_buffer = l_ctx->mInstances.mRenderbuffers[l_depth_id];
RenderbufferId l_stencil_id =
(RenderbufferId)(l_backbuffer->mAttachments[GLenum::GL_STENCIL_ATTACHMENT].mObject);
std::shared_ptr<Renderbuffer> l_stencil_buffer =
l_ctx->mInstances.mRenderbuffers[l_stencil_id];
l_color_buffer->mWidth = width;
l_color_buffer->mHeight = height;
l_color_buffer->mFormat = color_fmt;
l_depth_buffer->mWidth = width;
l_depth_buffer->mHeight = height;
l_depth_buffer->mFormat = depth_fmt;
l_stencil_buffer->mWidth = width;
l_stencil_buffer->mHeight = height;
l_stencil_buffer->mFormat = stencil_fmt;
if (resetViewportScissor) {
l_ctx->mRasterizing.mScissor.mWidth = width;
l_ctx->mRasterizing.mScissor.mHeight = height;
l_ctx->mRasterizing.mViewport.mWidth = width;
l_ctx->mRasterizing.mViewport.mHeight = height;
}
observe(observations.mReads);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::BackbufferInfo coder(observations, width, height, color_fmt, depth_fmt,
stencil_fmt, resetViewportScissor,
preserveBuffersOnSwap);
mEncoder->Object(&coder);
}
inline void GlesSpy::startTimer(uint8_t index) {
GAPID_INFO("startTimer(%" PRIu8 ")\n", index);
Observations observations;
do {
observe(observations.mReads);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::StartTimer coder(observations, index);
mEncoder->Object(&coder);
}
inline uint64_t GlesSpy::stopTimer(uint8_t index) {
GAPID_INFO("stopTimer(%" PRIu8 ")\n", index);
uint64_t result = 0;
Observations observations;
do {
observe(observations.mReads);
break;
} while (false);
observe(observations.mWrites);
gapic::coder::gles::StopTimer coder(observations, index, result);
mEncoder->Object(&coder);
return result;
}
inline void GlesSpy::flushPostBuffer() {
GAPID_INFO("flushPostBuffer()\n");
Observations observations;
do {
observe(observations.mReads);
} while (false);
observe(observations.mWrites);
gapic::coder::gles::FlushPostBuffer coder(observations);
mEncoder->Object(&coder);
}
} // namespace gapii
#endif // GAPII_GLES_SPY_H