| //////////////////////////////////////////////////////////////////////////////// |
| // Automatically generated file. Do not modify! |
| //////////////////////////////////////////////////////////////////////////////// |
| |
| #include "gfx_api.h" |
| #include "interpreter.h" |
| #include "stack.h" |
| |
| #include <gapic/get_gfx_proc_address.h> |
| #include <gapic/log.h> |
| |
| #define __STDC_FORMAT_MACROS |
| #include <inttypes.h> |
| |
| namespace gapir { |
| namespace gfxapi { |
| namespace { |
| |
| bool callGlBlendBarrierKHR(Stack* stack, bool pushReturn) { |
| if (stack->isValid()) { |
| GAPID_INFO("glBlendBarrierKHR()\n"); |
| if (glBlendBarrierKHR != nullptr) { |
| glBlendBarrierKHR(); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glBlendBarrierKHR returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glBlendBarrierKHR\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glBlendBarrierKHR\n"); |
| return false; |
| } |
| } |
| |
| bool callGlBlendEquationSeparateiEXT(Stack* stack, bool pushReturn) { |
| GLenum modeAlpha = stack->pop<GLenum>(); |
| GLenum modeRGB = stack->pop<GLenum>(); |
| uint32_t buf = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glBlendEquationSeparateiEXT(%" PRIu32 ", %u, %u)\n", buf, modeRGB, modeAlpha); |
| if (glBlendEquationSeparateiEXT != nullptr) { |
| glBlendEquationSeparateiEXT(buf, modeRGB, modeAlpha); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glBlendEquationSeparateiEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glBlendEquationSeparateiEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glBlendEquationSeparateiEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlBlendEquationiEXT(Stack* stack, bool pushReturn) { |
| GLenum mode = stack->pop<GLenum>(); |
| uint32_t buf = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glBlendEquationiEXT(%" PRIu32 ", %u)\n", buf, mode); |
| if (glBlendEquationiEXT != nullptr) { |
| glBlendEquationiEXT(buf, mode); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glBlendEquationiEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glBlendEquationiEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glBlendEquationiEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlBlendFuncSeparateiEXT(Stack* stack, bool pushReturn) { |
| GLenum dstAlpha = stack->pop<GLenum>(); |
| GLenum srcAlpha = stack->pop<GLenum>(); |
| GLenum dstRGB = stack->pop<GLenum>(); |
| GLenum srcRGB = stack->pop<GLenum>(); |
| uint32_t buf = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glBlendFuncSeparateiEXT(%" PRIu32 ", %u, %u, %u, %u)\n", buf, srcRGB, dstRGB, |
| srcAlpha, dstAlpha); |
| if (glBlendFuncSeparateiEXT != nullptr) { |
| glBlendFuncSeparateiEXT(buf, srcRGB, dstRGB, srcAlpha, dstAlpha); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glBlendFuncSeparateiEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glBlendFuncSeparateiEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glBlendFuncSeparateiEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlBlendFunciEXT(Stack* stack, bool pushReturn) { |
| GLenum dst = stack->pop<GLenum>(); |
| GLenum src = stack->pop<GLenum>(); |
| uint32_t buf = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glBlendFunciEXT(%" PRIu32 ", %u, %u)\n", buf, src, dst); |
| if (glBlendFunciEXT != nullptr) { |
| glBlendFunciEXT(buf, src, dst); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glBlendFunciEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glBlendFunciEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glBlendFunciEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlColorMaskiEXT(Stack* stack, bool pushReturn) { |
| uint8_t a = stack->pop<uint8_t>(); |
| uint8_t b = stack->pop<uint8_t>(); |
| uint8_t g = stack->pop<uint8_t>(); |
| uint8_t r = stack->pop<uint8_t>(); |
| uint32_t index = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glColorMaskiEXT(%" PRIu32 ", %" PRIu8 ", %" PRIu8 ", %" PRIu8 ", %" PRIu8 ")\n", |
| index, r, g, b, a); |
| if (glColorMaskiEXT != nullptr) { |
| glColorMaskiEXT(index, r, g, b, a); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glColorMaskiEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glColorMaskiEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glColorMaskiEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlCopyImageSubDataEXT(Stack* stack, bool pushReturn) { |
| int32_t srcDepth = stack->pop<int32_t>(); |
| int32_t srcHeight = stack->pop<int32_t>(); |
| int32_t srcWidth = stack->pop<int32_t>(); |
| int32_t dstZ = stack->pop<int32_t>(); |
| int32_t dstY = stack->pop<int32_t>(); |
| int32_t dstX = stack->pop<int32_t>(); |
| int32_t dstLevel = stack->pop<int32_t>(); |
| GLenum dstTarget = stack->pop<GLenum>(); |
| uint32_t dstName = stack->pop<uint32_t>(); |
| int32_t srcZ = stack->pop<int32_t>(); |
| int32_t srcY = stack->pop<int32_t>(); |
| int32_t srcX = stack->pop<int32_t>(); |
| int32_t srcLevel = stack->pop<int32_t>(); |
| GLenum srcTarget = stack->pop<GLenum>(); |
| uint32_t srcName = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| 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); |
| if (glCopyImageSubDataEXT != nullptr) { |
| glCopyImageSubDataEXT(srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, |
| dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, |
| srcDepth); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glCopyImageSubDataEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glCopyImageSubDataEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glCopyImageSubDataEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlDebugMessageCallbackKHR(Stack* stack, bool pushReturn) { |
| void* userParam = stack->pop<void*>(); |
| void* callback = stack->pop<void*>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glDebugMessageCallbackKHR(%p, %p)\n", callback, userParam); |
| if (glDebugMessageCallbackKHR != nullptr) { |
| glDebugMessageCallbackKHR(callback, userParam); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glDebugMessageCallbackKHR returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glDebugMessageCallbackKHR\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glDebugMessageCallbackKHR\n"); |
| return false; |
| } |
| } |
| |
| bool callGlDebugMessageControlKHR(Stack* stack, bool pushReturn) { |
| uint8_t enabled = stack->pop<uint8_t>(); |
| uint32_t* ids = stack->pop<uint32_t*>(); |
| int32_t count = stack->pop<int32_t>(); |
| GLenum severity = stack->pop<GLenum>(); |
| GLenum type = stack->pop<GLenum>(); |
| GLenum source = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glDebugMessageControlKHR(%u, %u, %u, %" PRId32 ", %p, %" PRIu8 ")\n", source, |
| type, severity, count, ids, enabled); |
| if (glDebugMessageControlKHR != nullptr) { |
| glDebugMessageControlKHR(source, type, severity, count, ids, enabled); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glDebugMessageControlKHR returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glDebugMessageControlKHR\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glDebugMessageControlKHR\n"); |
| return false; |
| } |
| } |
| |
| bool callGlDebugMessageInsertKHR(Stack* stack, bool pushReturn) { |
| char* buf = stack->pop<char*>(); |
| int32_t length = stack->pop<int32_t>(); |
| GLenum severity = stack->pop<GLenum>(); |
| uint32_t id = stack->pop<uint32_t>(); |
| GLenum type = stack->pop<GLenum>(); |
| GLenum source = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glDebugMessageInsertKHR(%u, %u, %" PRIu32 ", %u, %" PRId32 ", %p)\n", source, |
| type, id, severity, length, buf); |
| if (glDebugMessageInsertKHR != nullptr) { |
| glDebugMessageInsertKHR(source, type, id, severity, length, buf); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glDebugMessageInsertKHR returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glDebugMessageInsertKHR\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glDebugMessageInsertKHR\n"); |
| return false; |
| } |
| } |
| |
| bool callGlDisableiEXT(Stack* stack, bool pushReturn) { |
| uint32_t index = stack->pop<uint32_t>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glDisableiEXT(%u, %" PRIu32 ")\n", target, index); |
| if (glDisableiEXT != nullptr) { |
| glDisableiEXT(target, index); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glDisableiEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glDisableiEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glDisableiEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlEnableiEXT(Stack* stack, bool pushReturn) { |
| uint32_t index = stack->pop<uint32_t>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glEnableiEXT(%u, %" PRIu32 ")\n", target, index); |
| if (glEnableiEXT != nullptr) { |
| glEnableiEXT(target, index); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glEnableiEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glEnableiEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glEnableiEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlFramebufferTextureEXT(Stack* stack, bool pushReturn) { |
| int32_t level = stack->pop<int32_t>(); |
| uint32_t texture = stack->pop<uint32_t>(); |
| GLenum attachment = stack->pop<GLenum>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glFramebufferTextureEXT(%u, %u, %" PRIu32 ", %" PRId32 ")\n", target, |
| attachment, texture, level); |
| if (glFramebufferTextureEXT != nullptr) { |
| glFramebufferTextureEXT(target, attachment, texture, level); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glFramebufferTextureEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glFramebufferTextureEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glFramebufferTextureEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetDebugMessageLogKHR(Stack* stack, bool pushReturn) { |
| char* messageLog = stack->pop<char*>(); |
| int32_t* lengths = stack->pop<int32_t*>(); |
| GLenum* severities = stack->pop<GLenum*>(); |
| uint32_t* ids = stack->pop<uint32_t*>(); |
| GLenum* types = stack->pop<GLenum*>(); |
| GLenum* sources = stack->pop<GLenum*>(); |
| int32_t bufSize = stack->pop<int32_t>(); |
| uint32_t count = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetDebugMessageLogKHR(%" PRIu32 ", %" PRId32 ", %p, %p, %p, %p, %p, %p)\n", |
| count, bufSize, sources, types, ids, severities, lengths, messageLog); |
| if (glGetDebugMessageLogKHR != nullptr) { |
| uint32_t return_value = glGetDebugMessageLogKHR(count, bufSize, sources, types, ids, |
| severities, lengths, messageLog); |
| GAPID_INFO("Returned: %" PRIu32 "\n", return_value); |
| if (pushReturn) { |
| stack->push<uint32_t>(return_value); |
| } |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetDebugMessageLogKHR returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetDebugMessageLogKHR\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetDebugMessageLogKHR\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetObjectLabelKHR(Stack* stack, bool pushReturn) { |
| char* label = stack->pop<char*>(); |
| int32_t* length = stack->pop<int32_t*>(); |
| int32_t bufSize = stack->pop<int32_t>(); |
| uint32_t name = stack->pop<uint32_t>(); |
| GLenum identifier = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetObjectLabelKHR(%u, %" PRIu32 ", %" PRId32 ", %p, %p)\n", identifier, name, |
| bufSize, length, label); |
| if (glGetObjectLabelKHR != nullptr) { |
| glGetObjectLabelKHR(identifier, name, bufSize, length, label); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetObjectLabelKHR returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetObjectLabelKHR\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetObjectLabelKHR\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetObjectPtrLabelKHR(Stack* stack, bool pushReturn) { |
| char* label = stack->pop<char*>(); |
| int32_t* length = stack->pop<int32_t*>(); |
| int32_t bufSize = stack->pop<int32_t>(); |
| void* ptr = stack->pop<void*>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetObjectPtrLabelKHR(%p, %" PRId32 ", %p, %p)\n", ptr, bufSize, length, |
| label); |
| if (glGetObjectPtrLabelKHR != nullptr) { |
| glGetObjectPtrLabelKHR(ptr, bufSize, length, label); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetObjectPtrLabelKHR returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetObjectPtrLabelKHR\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetObjectPtrLabelKHR\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetPointervKHR(Stack* stack, bool pushReturn) { |
| void** params = stack->pop<void**>(); |
| GLenum pname = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetPointervKHR(%u, %p)\n", pname, params); |
| if (glGetPointervKHR != nullptr) { |
| glGetPointervKHR(pname, params); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetPointervKHR returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetPointervKHR\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetPointervKHR\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetSamplerParameterIivEXT(Stack* stack, bool pushReturn) { |
| int32_t* params = stack->pop<int32_t*>(); |
| GLenum pname = stack->pop<GLenum>(); |
| uint32_t sampler = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetSamplerParameterIivEXT(%" PRIu32 ", %u, %p)\n", sampler, pname, params); |
| if (glGetSamplerParameterIivEXT != nullptr) { |
| glGetSamplerParameterIivEXT(sampler, pname, params); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetSamplerParameterIivEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetSamplerParameterIivEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetSamplerParameterIivEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetSamplerParameterIuivEXT(Stack* stack, bool pushReturn) { |
| uint32_t* params = stack->pop<uint32_t*>(); |
| GLenum pname = stack->pop<GLenum>(); |
| uint32_t sampler = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetSamplerParameterIuivEXT(%" PRIu32 ", %u, %p)\n", sampler, pname, params); |
| if (glGetSamplerParameterIuivEXT != nullptr) { |
| glGetSamplerParameterIuivEXT(sampler, pname, params); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetSamplerParameterIuivEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetSamplerParameterIuivEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetSamplerParameterIuivEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetTexParameterIivEXT(Stack* stack, bool pushReturn) { |
| int32_t* params = stack->pop<int32_t*>(); |
| GLenum pname = stack->pop<GLenum>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetTexParameterIivEXT(%u, %u, %p)\n", target, pname, params); |
| if (glGetTexParameterIivEXT != nullptr) { |
| glGetTexParameterIivEXT(target, pname, params); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetTexParameterIivEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetTexParameterIivEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetTexParameterIivEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetTexParameterIuivEXT(Stack* stack, bool pushReturn) { |
| uint32_t* params = stack->pop<uint32_t*>(); |
| GLenum pname = stack->pop<GLenum>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetTexParameterIuivEXT(%u, %u, %p)\n", target, pname, params); |
| if (glGetTexParameterIuivEXT != nullptr) { |
| glGetTexParameterIuivEXT(target, pname, params); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetTexParameterIuivEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetTexParameterIuivEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetTexParameterIuivEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlIsEnablediEXT(Stack* stack, bool pushReturn) { |
| uint32_t index = stack->pop<uint32_t>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glIsEnablediEXT(%u, %" PRIu32 ")\n", target, index); |
| if (glIsEnablediEXT != nullptr) { |
| uint8_t return_value = glIsEnablediEXT(target, index); |
| GAPID_INFO("Returned: %" PRIu8 "\n", return_value); |
| if (pushReturn) { |
| stack->push<uint8_t>(return_value); |
| } |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glIsEnablediEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glIsEnablediEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glIsEnablediEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlMinSampleShadingOES(Stack* stack, bool pushReturn) { |
| float value = stack->pop<float>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glMinSampleShadingOES(%f)\n", value); |
| if (glMinSampleShadingOES != nullptr) { |
| glMinSampleShadingOES(value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glMinSampleShadingOES returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glMinSampleShadingOES\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glMinSampleShadingOES\n"); |
| return false; |
| } |
| } |
| |
| bool callGlObjectLabelKHR(Stack* stack, bool pushReturn) { |
| char* label = stack->pop<char*>(); |
| int32_t length = stack->pop<int32_t>(); |
| uint32_t name = stack->pop<uint32_t>(); |
| GLenum identifier = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glObjectLabelKHR(%u, %" PRIu32 ", %" PRId32 ", %p)\n", identifier, name, length, |
| label); |
| if (glObjectLabelKHR != nullptr) { |
| glObjectLabelKHR(identifier, name, length, label); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glObjectLabelKHR returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glObjectLabelKHR\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glObjectLabelKHR\n"); |
| return false; |
| } |
| } |
| |
| bool callGlObjectPtrLabelKHR(Stack* stack, bool pushReturn) { |
| char* label = stack->pop<char*>(); |
| int32_t length = stack->pop<int32_t>(); |
| void* ptr = stack->pop<void*>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glObjectPtrLabelKHR(%p, %" PRId32 ", %p)\n", ptr, length, label); |
| if (glObjectPtrLabelKHR != nullptr) { |
| glObjectPtrLabelKHR(ptr, length, label); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glObjectPtrLabelKHR returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glObjectPtrLabelKHR\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glObjectPtrLabelKHR\n"); |
| return false; |
| } |
| } |
| |
| bool callGlPatchParameteriEXT(Stack* stack, bool pushReturn) { |
| int32_t value = stack->pop<int32_t>(); |
| GLenum pname = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glPatchParameteriEXT(%u, %" PRId32 ")\n", pname, value); |
| if (glPatchParameteriEXT != nullptr) { |
| glPatchParameteriEXT(pname, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glPatchParameteriEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glPatchParameteriEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glPatchParameteriEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlPopDebugGroupKHR(Stack* stack, bool pushReturn) { |
| if (stack->isValid()) { |
| GAPID_INFO("glPopDebugGroupKHR()\n"); |
| if (glPopDebugGroupKHR != nullptr) { |
| glPopDebugGroupKHR(); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glPopDebugGroupKHR returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glPopDebugGroupKHR\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glPopDebugGroupKHR\n"); |
| return false; |
| } |
| } |
| |
| bool callGlPrimitiveBoundingBoxEXT(Stack* stack, bool pushReturn) { |
| float maxW = stack->pop<float>(); |
| float maxZ = stack->pop<float>(); |
| float maxY = stack->pop<float>(); |
| float maxX = stack->pop<float>(); |
| float minW = stack->pop<float>(); |
| float minZ = stack->pop<float>(); |
| float minY = stack->pop<float>(); |
| float minX = stack->pop<float>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glPrimitiveBoundingBoxEXT(%f, %f, %f, %f, %f, %f, %f, %f)\n", minX, minY, minZ, |
| minW, maxX, maxY, maxZ, maxW); |
| if (glPrimitiveBoundingBoxEXT != nullptr) { |
| glPrimitiveBoundingBoxEXT(minX, minY, minZ, minW, maxX, maxY, maxZ, maxW); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glPrimitiveBoundingBoxEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glPrimitiveBoundingBoxEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glPrimitiveBoundingBoxEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlPushDebugGroupKHR(Stack* stack, bool pushReturn) { |
| char* message = stack->pop<char*>(); |
| int32_t length = stack->pop<int32_t>(); |
| uint32_t id = stack->pop<uint32_t>(); |
| GLenum source = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glPushDebugGroupKHR(%u, %" PRIu32 ", %" PRId32 ", %p)\n", source, id, length, |
| message); |
| if (glPushDebugGroupKHR != nullptr) { |
| glPushDebugGroupKHR(source, id, length, message); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glPushDebugGroupKHR returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glPushDebugGroupKHR\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glPushDebugGroupKHR\n"); |
| return false; |
| } |
| } |
| |
| bool callGlSamplerParameterIivEXT(Stack* stack, bool pushReturn) { |
| int32_t* param = stack->pop<int32_t*>(); |
| GLenum pname = stack->pop<GLenum>(); |
| uint32_t sampler = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glSamplerParameterIivEXT(%" PRIu32 ", %u, %p)\n", sampler, pname, param); |
| if (glSamplerParameterIivEXT != nullptr) { |
| glSamplerParameterIivEXT(sampler, pname, param); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glSamplerParameterIivEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glSamplerParameterIivEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glSamplerParameterIivEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlSamplerParameterIuivEXT(Stack* stack, bool pushReturn) { |
| uint32_t* param = stack->pop<uint32_t*>(); |
| GLenum pname = stack->pop<GLenum>(); |
| uint32_t sampler = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glSamplerParameterIuivEXT(%" PRIu32 ", %u, %p)\n", sampler, pname, param); |
| if (glSamplerParameterIuivEXT != nullptr) { |
| glSamplerParameterIuivEXT(sampler, pname, param); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glSamplerParameterIuivEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glSamplerParameterIuivEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glSamplerParameterIuivEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlTexBufferEXT(Stack* stack, bool pushReturn) { |
| uint32_t buffer = stack->pop<uint32_t>(); |
| GLenum internalformat = stack->pop<GLenum>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glTexBufferEXT(%u, %u, %" PRIu32 ")\n", target, internalformat, buffer); |
| if (glTexBufferEXT != nullptr) { |
| glTexBufferEXT(target, internalformat, buffer); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glTexBufferEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glTexBufferEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glTexBufferEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlTexBufferRangeEXT(Stack* stack, bool pushReturn) { |
| int32_t size = stack->pop<int32_t>(); |
| int32_t offset = stack->pop<int32_t>(); |
| uint32_t buffer = stack->pop<uint32_t>(); |
| GLenum internalformat = stack->pop<GLenum>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glTexBufferRangeEXT(%u, %u, %" PRIu32 ", %" PRId32 ", %" PRId32 ")\n", target, |
| internalformat, buffer, offset, size); |
| if (glTexBufferRangeEXT != nullptr) { |
| glTexBufferRangeEXT(target, internalformat, buffer, offset, size); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glTexBufferRangeEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glTexBufferRangeEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glTexBufferRangeEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlTexParameterIivEXT(Stack* stack, bool pushReturn) { |
| int32_t* params = stack->pop<int32_t*>(); |
| GLenum pname = stack->pop<GLenum>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glTexParameterIivEXT(%u, %u, %p)\n", target, pname, params); |
| if (glTexParameterIivEXT != nullptr) { |
| glTexParameterIivEXT(target, pname, params); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glTexParameterIivEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glTexParameterIivEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glTexParameterIivEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlTexParameterIuivEXT(Stack* stack, bool pushReturn) { |
| uint32_t* params = stack->pop<uint32_t*>(); |
| GLenum pname = stack->pop<GLenum>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glTexParameterIuivEXT(%u, %u, %p)\n", target, pname, params); |
| if (glTexParameterIuivEXT != nullptr) { |
| glTexParameterIuivEXT(target, pname, params); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glTexParameterIuivEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glTexParameterIuivEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glTexParameterIuivEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlTexStorage3DMultisampleOES(Stack* stack, bool pushReturn) { |
| uint8_t fixedsamplelocations = stack->pop<uint8_t>(); |
| int32_t depth = stack->pop<int32_t>(); |
| int32_t height = stack->pop<int32_t>(); |
| int32_t width = stack->pop<int32_t>(); |
| GLenum internalformat = stack->pop<GLenum>(); |
| int32_t samples = stack->pop<int32_t>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glTexStorage3DMultisampleOES(%u, %" PRId32 ", %u, %" PRId32 ", %" PRId32 |
| ", %" PRId32 ", %" PRIu8 ")\n", |
| target, samples, internalformat, width, height, depth, fixedsamplelocations); |
| if (glTexStorage3DMultisampleOES != nullptr) { |
| glTexStorage3DMultisampleOES(target, samples, internalformat, width, height, depth, |
| fixedsamplelocations); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glTexStorage3DMultisampleOES returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glTexStorage3DMultisampleOES\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glTexStorage3DMultisampleOES\n"); |
| return false; |
| } |
| } |
| |
| bool callGlBeginQuery(Stack* stack, bool pushReturn) { |
| uint32_t query = stack->pop<uint32_t>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glBeginQuery(%u, %" PRIu32 ")\n", target, query); |
| if (glBeginQuery != nullptr) { |
| glBeginQuery(target, query); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glBeginQuery returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glBeginQuery\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glBeginQuery\n"); |
| return false; |
| } |
| } |
| |
| bool callGlDeleteQueries(Stack* stack, bool pushReturn) { |
| uint32_t* queries = stack->pop<uint32_t*>(); |
| int32_t count = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glDeleteQueries(%" PRId32 ", %p)\n", count, queries); |
| if (glDeleteQueries != nullptr) { |
| glDeleteQueries(count, queries); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glDeleteQueries returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glDeleteQueries\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glDeleteQueries\n"); |
| return false; |
| } |
| } |
| |
| bool callGlEndQuery(Stack* stack, bool pushReturn) { |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glEndQuery(%u)\n", target); |
| if (glEndQuery != nullptr) { |
| glEndQuery(target); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glEndQuery returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glEndQuery\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glEndQuery\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGenQueries(Stack* stack, bool pushReturn) { |
| uint32_t* queries = stack->pop<uint32_t*>(); |
| int32_t count = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGenQueries(%" PRId32 ", %p)\n", count, queries); |
| if (glGenQueries != nullptr) { |
| glGenQueries(count, queries); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGenQueries returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGenQueries\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGenQueries\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetQueryObjectuiv(Stack* stack, bool pushReturn) { |
| uint32_t* value = stack->pop<uint32_t*>(); |
| GLenum parameter = stack->pop<GLenum>(); |
| uint32_t query = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetQueryObjectuiv(%" PRIu32 ", %u, %p)\n", query, parameter, value); |
| if (glGetQueryObjectuiv != nullptr) { |
| glGetQueryObjectuiv(query, parameter, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetQueryObjectuiv returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetQueryObjectuiv\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetQueryObjectuiv\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetQueryiv(Stack* stack, bool pushReturn) { |
| int32_t* value = stack->pop<int32_t*>(); |
| GLenum parameter = stack->pop<GLenum>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetQueryiv(%u, %u, %p)\n", target, parameter, value); |
| if (glGetQueryiv != nullptr) { |
| glGetQueryiv(target, parameter, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetQueryiv returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetQueryiv\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetQueryiv\n"); |
| return false; |
| } |
| } |
| |
| bool callGlIsQuery(Stack* stack, bool pushReturn) { |
| uint32_t query = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glIsQuery(%" PRIu32 ")\n", query); |
| if (glIsQuery != nullptr) { |
| uint8_t return_value = glIsQuery(query); |
| GAPID_INFO("Returned: %" PRIu8 "\n", return_value); |
| if (pushReturn) { |
| stack->push<uint8_t>(return_value); |
| } |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glIsQuery returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glIsQuery\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glIsQuery\n"); |
| return false; |
| } |
| } |
| |
| bool callGlBindBuffer(Stack* stack, bool pushReturn) { |
| uint32_t buffer = stack->pop<uint32_t>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glBindBuffer(%u, %" PRIu32 ")\n", target, buffer); |
| if (glBindBuffer != nullptr) { |
| glBindBuffer(target, buffer); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glBindBuffer returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glBindBuffer\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glBindBuffer\n"); |
| return false; |
| } |
| } |
| |
| bool callGlBindBufferBase(Stack* stack, bool pushReturn) { |
| uint32_t buffer = stack->pop<uint32_t>(); |
| uint32_t index = stack->pop<uint32_t>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glBindBufferBase(%u, %" PRIu32 ", %" PRIu32 ")\n", target, index, buffer); |
| if (glBindBufferBase != nullptr) { |
| glBindBufferBase(target, index, buffer); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glBindBufferBase returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glBindBufferBase\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glBindBufferBase\n"); |
| return false; |
| } |
| } |
| |
| bool callGlBindBufferRange(Stack* stack, bool pushReturn) { |
| int32_t size = stack->pop<int32_t>(); |
| int32_t offset = stack->pop<int32_t>(); |
| uint32_t buffer = stack->pop<uint32_t>(); |
| uint32_t index = stack->pop<uint32_t>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glBindBufferRange(%u, %" PRIu32 ", %" PRIu32 ", %" PRId32 ", %" PRId32 ")\n", |
| target, index, buffer, offset, size); |
| if (glBindBufferRange != nullptr) { |
| glBindBufferRange(target, index, buffer, offset, size); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glBindBufferRange returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glBindBufferRange\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glBindBufferRange\n"); |
| return false; |
| } |
| } |
| |
| bool callGlBufferData(Stack* stack, bool pushReturn) { |
| GLenum usage = stack->pop<GLenum>(); |
| void* data = stack->pop<void*>(); |
| int32_t size = stack->pop<int32_t>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glBufferData(%u, %" PRId32 ", %p, %u)\n", target, size, data, usage); |
| if (glBufferData != nullptr) { |
| glBufferData(target, size, data, usage); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glBufferData returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glBufferData\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glBufferData\n"); |
| return false; |
| } |
| } |
| |
| bool callGlBufferSubData(Stack* stack, bool pushReturn) { |
| void* data = stack->pop<void*>(); |
| int32_t size = stack->pop<int32_t>(); |
| int32_t offset = stack->pop<int32_t>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glBufferSubData(%u, %" PRId32 ", %" PRId32 ", %p)\n", target, offset, size, |
| data); |
| if (glBufferSubData != nullptr) { |
| glBufferSubData(target, offset, size, data); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glBufferSubData returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glBufferSubData\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glBufferSubData\n"); |
| return false; |
| } |
| } |
| |
| bool callGlCopyBufferSubData(Stack* stack, bool pushReturn) { |
| int32_t size = stack->pop<int32_t>(); |
| int32_t writeOffset = stack->pop<int32_t>(); |
| int32_t readOffset = stack->pop<int32_t>(); |
| GLenum writeTarget = stack->pop<GLenum>(); |
| GLenum readTarget = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glCopyBufferSubData(%u, %u, %" PRId32 ", %" PRId32 ", %" PRId32 ")\n", |
| readTarget, writeTarget, readOffset, writeOffset, size); |
| if (glCopyBufferSubData != nullptr) { |
| glCopyBufferSubData(readTarget, writeTarget, readOffset, writeOffset, size); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glCopyBufferSubData returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glCopyBufferSubData\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glCopyBufferSubData\n"); |
| return false; |
| } |
| } |
| |
| bool callGlDeleteBuffers(Stack* stack, bool pushReturn) { |
| uint32_t* buffers = stack->pop<uint32_t*>(); |
| int32_t count = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glDeleteBuffers(%" PRId32 ", %p)\n", count, buffers); |
| if (glDeleteBuffers != nullptr) { |
| glDeleteBuffers(count, buffers); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glDeleteBuffers returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glDeleteBuffers\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glDeleteBuffers\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGenBuffers(Stack* stack, bool pushReturn) { |
| uint32_t* buffers = stack->pop<uint32_t*>(); |
| int32_t count = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGenBuffers(%" PRId32 ", %p)\n", count, buffers); |
| if (glGenBuffers != nullptr) { |
| glGenBuffers(count, buffers); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGenBuffers returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGenBuffers\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGenBuffers\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetBufferParameteri64v(Stack* stack, bool pushReturn) { |
| int64_t* params = stack->pop<int64_t*>(); |
| GLenum pname = stack->pop<GLenum>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetBufferParameteri64v(%u, %u, %p)\n", target, pname, params); |
| if (glGetBufferParameteri64v != nullptr) { |
| glGetBufferParameteri64v(target, pname, params); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetBufferParameteri64v returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetBufferParameteri64v\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetBufferParameteri64v\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetBufferParameteriv(Stack* stack, bool pushReturn) { |
| int32_t* value = stack->pop<int32_t*>(); |
| GLenum parameter = stack->pop<GLenum>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetBufferParameteriv(%u, %u, %p)\n", target, parameter, value); |
| if (glGetBufferParameteriv != nullptr) { |
| glGetBufferParameteriv(target, parameter, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetBufferParameteriv returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetBufferParameteriv\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetBufferParameteriv\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetBufferPointerv(Stack* stack, bool pushReturn) { |
| void** params = stack->pop<void**>(); |
| GLenum pname = stack->pop<GLenum>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetBufferPointerv(%u, %u, %p)\n", target, pname, params); |
| if (glGetBufferPointerv != nullptr) { |
| glGetBufferPointerv(target, pname, params); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetBufferPointerv returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetBufferPointerv\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetBufferPointerv\n"); |
| return false; |
| } |
| } |
| |
| bool callGlIsBuffer(Stack* stack, bool pushReturn) { |
| uint32_t buffer = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glIsBuffer(%" PRIu32 ")\n", buffer); |
| if (glIsBuffer != nullptr) { |
| uint8_t return_value = glIsBuffer(buffer); |
| GAPID_INFO("Returned: %" PRIu8 "\n", return_value); |
| if (pushReturn) { |
| stack->push<uint8_t>(return_value); |
| } |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glIsBuffer returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glIsBuffer\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glIsBuffer\n"); |
| return false; |
| } |
| } |
| |
| bool callGlMapBufferRange(Stack* stack, bool pushReturn) { |
| GLbitfield access = stack->pop<GLbitfield>(); |
| int32_t length = stack->pop<int32_t>(); |
| int32_t offset = stack->pop<int32_t>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glMapBufferRange(%u, %" PRId32 ", %" PRId32 ", %u)\n", target, offset, length, |
| access); |
| if (glMapBufferRange != nullptr) { |
| void* return_value = glMapBufferRange(target, offset, length, access); |
| GAPID_INFO("Returned: %p\n", return_value); |
| if (pushReturn) { |
| stack->push<void*>(return_value); |
| } |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glMapBufferRange returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glMapBufferRange\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glMapBufferRange\n"); |
| return false; |
| } |
| } |
| |
| bool callGlUnmapBuffer(Stack* stack, bool pushReturn) { |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glUnmapBuffer(%u)\n", target); |
| if (glUnmapBuffer != nullptr) { |
| uint8_t return_value = glUnmapBuffer(target); |
| GAPID_INFO("Returned: %" PRIu8 "\n", return_value); |
| if (pushReturn) { |
| stack->push<uint8_t>(return_value); |
| } |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glUnmapBuffer returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glUnmapBuffer\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glUnmapBuffer\n"); |
| return false; |
| } |
| } |
| |
| bool callGlDrawArrays(Stack* stack, bool pushReturn) { |
| int32_t index_count = stack->pop<int32_t>(); |
| int32_t first_index = stack->pop<int32_t>(); |
| GLenum draw_mode = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glDrawArrays(%u, %" PRId32 ", %" PRId32 ")\n", draw_mode, first_index, |
| index_count); |
| if (glDrawArrays != nullptr) { |
| glDrawArrays(draw_mode, first_index, index_count); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glDrawArrays returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glDrawArrays\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glDrawArrays\n"); |
| return false; |
| } |
| } |
| |
| bool callGlDrawArraysIndirect(Stack* stack, bool pushReturn) { |
| void* indirect = stack->pop<void*>(); |
| GLenum mode = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glDrawArraysIndirect(%u, %p)\n", mode, indirect); |
| if (glDrawArraysIndirect != nullptr) { |
| glDrawArraysIndirect(mode, indirect); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glDrawArraysIndirect returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glDrawArraysIndirect\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glDrawArraysIndirect\n"); |
| return false; |
| } |
| } |
| |
| bool callGlDrawArraysInstanced(Stack* stack, bool pushReturn) { |
| int32_t instancecount = stack->pop<int32_t>(); |
| int32_t count = stack->pop<int32_t>(); |
| int32_t first = stack->pop<int32_t>(); |
| GLenum mode = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glDrawArraysInstanced(%u, %" PRId32 ", %" PRId32 ", %" PRId32 ")\n", mode, |
| first, count, instancecount); |
| if (glDrawArraysInstanced != nullptr) { |
| glDrawArraysInstanced(mode, first, count, instancecount); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glDrawArraysInstanced returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glDrawArraysInstanced\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glDrawArraysInstanced\n"); |
| return false; |
| } |
| } |
| |
| bool callGlDrawBuffers(Stack* stack, bool pushReturn) { |
| GLenum* bufs = stack->pop<GLenum*>(); |
| int32_t n = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glDrawBuffers(%" PRId32 ", %p)\n", n, bufs); |
| if (glDrawBuffers != nullptr) { |
| glDrawBuffers(n, bufs); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glDrawBuffers returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glDrawBuffers\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glDrawBuffers\n"); |
| return false; |
| } |
| } |
| |
| bool callGlDrawElements(Stack* stack, bool pushReturn) { |
| void* indices = stack->pop<void*>(); |
| GLenum indices_type = stack->pop<GLenum>(); |
| int32_t element_count = stack->pop<int32_t>(); |
| GLenum draw_mode = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glDrawElements(%u, %" PRId32 ", %u, %p)\n", draw_mode, element_count, |
| indices_type, indices); |
| if (glDrawElements != nullptr) { |
| glDrawElements(draw_mode, element_count, indices_type, indices); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glDrawElements returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glDrawElements\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glDrawElements\n"); |
| return false; |
| } |
| } |
| |
| bool callGlDrawElementsIndirect(Stack* stack, bool pushReturn) { |
| void* indirect = stack->pop<void*>(); |
| GLenum type = stack->pop<GLenum>(); |
| GLenum mode = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glDrawElementsIndirect(%u, %u, %p)\n", mode, type, indirect); |
| if (glDrawElementsIndirect != nullptr) { |
| glDrawElementsIndirect(mode, type, indirect); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glDrawElementsIndirect returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glDrawElementsIndirect\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glDrawElementsIndirect\n"); |
| return false; |
| } |
| } |
| |
| bool callGlDrawElementsInstanced(Stack* stack, bool pushReturn) { |
| int32_t instancecount = stack->pop<int32_t>(); |
| void* indices = stack->pop<void*>(); |
| GLenum type = stack->pop<GLenum>(); |
| int32_t count = stack->pop<int32_t>(); |
| GLenum mode = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glDrawElementsInstanced(%u, %" PRId32 ", %u, %p, %" PRId32 ")\n", mode, count, |
| type, indices, instancecount); |
| if (glDrawElementsInstanced != nullptr) { |
| glDrawElementsInstanced(mode, count, type, indices, instancecount); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glDrawElementsInstanced returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glDrawElementsInstanced\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glDrawElementsInstanced\n"); |
| return false; |
| } |
| } |
| |
| bool callGlDrawRangeElements(Stack* stack, bool pushReturn) { |
| void* indices = stack->pop<void*>(); |
| GLenum type = stack->pop<GLenum>(); |
| int32_t count = stack->pop<int32_t>(); |
| uint32_t end = stack->pop<uint32_t>(); |
| uint32_t start = stack->pop<uint32_t>(); |
| GLenum mode = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glDrawRangeElements(%u, %" PRIu32 ", %" PRIu32 ", %" PRId32 ", %u, %p)\n", mode, |
| start, end, count, type, indices); |
| if (glDrawRangeElements != nullptr) { |
| glDrawRangeElements(mode, start, end, count, type, indices); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glDrawRangeElements returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glDrawRangeElements\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glDrawRangeElements\n"); |
| return false; |
| } |
| } |
| |
| bool callGlActiveShaderProgramEXT(Stack* stack, bool pushReturn) { |
| uint32_t program = stack->pop<uint32_t>(); |
| uint32_t pipeline = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glActiveShaderProgramEXT(%" PRIu32 ", %" PRIu32 ")\n", pipeline, program); |
| if (glActiveShaderProgramEXT != nullptr) { |
| glActiveShaderProgramEXT(pipeline, program); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glActiveShaderProgramEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glActiveShaderProgramEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glActiveShaderProgramEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlAlphaFuncQCOM(Stack* stack, bool pushReturn) { |
| float ref = stack->pop<float>(); |
| GLenum func = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glAlphaFuncQCOM(%u, %f)\n", func, ref); |
| if (glAlphaFuncQCOM != nullptr) { |
| glAlphaFuncQCOM(func, ref); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glAlphaFuncQCOM returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glAlphaFuncQCOM\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glAlphaFuncQCOM\n"); |
| return false; |
| } |
| } |
| |
| bool callGlBeginConditionalRenderNV(Stack* stack, bool pushReturn) { |
| GLenum mode = stack->pop<GLenum>(); |
| uint32_t id = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glBeginConditionalRenderNV(%" PRIu32 ", %u)\n", id, mode); |
| if (glBeginConditionalRenderNV != nullptr) { |
| glBeginConditionalRenderNV(id, mode); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glBeginConditionalRenderNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glBeginConditionalRenderNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glBeginConditionalRenderNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlBeginPerfMonitorAMD(Stack* stack, bool pushReturn) { |
| uint32_t monitor = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glBeginPerfMonitorAMD(%" PRIu32 ")\n", monitor); |
| if (glBeginPerfMonitorAMD != nullptr) { |
| glBeginPerfMonitorAMD(monitor); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glBeginPerfMonitorAMD returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glBeginPerfMonitorAMD\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glBeginPerfMonitorAMD\n"); |
| return false; |
| } |
| } |
| |
| bool callGlBeginPerfQueryINTEL(Stack* stack, bool pushReturn) { |
| uint32_t queryHandle = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glBeginPerfQueryINTEL(%" PRIu32 ")\n", queryHandle); |
| if (glBeginPerfQueryINTEL != nullptr) { |
| glBeginPerfQueryINTEL(queryHandle); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glBeginPerfQueryINTEL returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glBeginPerfQueryINTEL\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glBeginPerfQueryINTEL\n"); |
| return false; |
| } |
| } |
| |
| bool callGlBeginQueryEXT(Stack* stack, bool pushReturn) { |
| uint32_t query = stack->pop<uint32_t>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glBeginQueryEXT(%u, %" PRIu32 ")\n", target, query); |
| if (glBeginQueryEXT != nullptr) { |
| glBeginQueryEXT(target, query); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glBeginQueryEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glBeginQueryEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glBeginQueryEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlBindProgramPipelineEXT(Stack* stack, bool pushReturn) { |
| uint32_t pipeline = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glBindProgramPipelineEXT(%" PRIu32 ")\n", pipeline); |
| if (glBindProgramPipelineEXT != nullptr) { |
| glBindProgramPipelineEXT(pipeline); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glBindProgramPipelineEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glBindProgramPipelineEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glBindProgramPipelineEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlBindVertexArrayOES(Stack* stack, bool pushReturn) { |
| uint32_t array = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glBindVertexArrayOES(%" PRIu32 ")\n", array); |
| if (glBindVertexArrayOES != nullptr) { |
| glBindVertexArrayOES(array); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glBindVertexArrayOES returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glBindVertexArrayOES\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glBindVertexArrayOES\n"); |
| return false; |
| } |
| } |
| |
| bool callGlBlendBarrierNV(Stack* stack, bool pushReturn) { |
| if (stack->isValid()) { |
| GAPID_INFO("glBlendBarrierNV()\n"); |
| if (glBlendBarrierNV != nullptr) { |
| glBlendBarrierNV(); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glBlendBarrierNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glBlendBarrierNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glBlendBarrierNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlBlendEquationSeparateiOES(Stack* stack, bool pushReturn) { |
| GLenum modeAlpha = stack->pop<GLenum>(); |
| GLenum modeRGB = stack->pop<GLenum>(); |
| uint32_t buf = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glBlendEquationSeparateiOES(%" PRIu32 ", %u, %u)\n", buf, modeRGB, modeAlpha); |
| if (glBlendEquationSeparateiOES != nullptr) { |
| glBlendEquationSeparateiOES(buf, modeRGB, modeAlpha); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glBlendEquationSeparateiOES returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glBlendEquationSeparateiOES\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glBlendEquationSeparateiOES\n"); |
| return false; |
| } |
| } |
| |
| bool callGlBlendEquationiOES(Stack* stack, bool pushReturn) { |
| GLenum mode = stack->pop<GLenum>(); |
| uint32_t buf = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glBlendEquationiOES(%" PRIu32 ", %u)\n", buf, mode); |
| if (glBlendEquationiOES != nullptr) { |
| glBlendEquationiOES(buf, mode); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glBlendEquationiOES returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glBlendEquationiOES\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glBlendEquationiOES\n"); |
| return false; |
| } |
| } |
| |
| bool callGlBlendFuncSeparateiOES(Stack* stack, bool pushReturn) { |
| GLenum dstAlpha = stack->pop<GLenum>(); |
| GLenum srcAlpha = stack->pop<GLenum>(); |
| GLenum dstRGB = stack->pop<GLenum>(); |
| GLenum srcRGB = stack->pop<GLenum>(); |
| uint32_t buf = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glBlendFuncSeparateiOES(%" PRIu32 ", %u, %u, %u, %u)\n", buf, srcRGB, dstRGB, |
| srcAlpha, dstAlpha); |
| if (glBlendFuncSeparateiOES != nullptr) { |
| glBlendFuncSeparateiOES(buf, srcRGB, dstRGB, srcAlpha, dstAlpha); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glBlendFuncSeparateiOES returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glBlendFuncSeparateiOES\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glBlendFuncSeparateiOES\n"); |
| return false; |
| } |
| } |
| |
| bool callGlBlendFunciOES(Stack* stack, bool pushReturn) { |
| GLenum dst = stack->pop<GLenum>(); |
| GLenum src = stack->pop<GLenum>(); |
| uint32_t buf = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glBlendFunciOES(%" PRIu32 ", %u, %u)\n", buf, src, dst); |
| if (glBlendFunciOES != nullptr) { |
| glBlendFunciOES(buf, src, dst); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glBlendFunciOES returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glBlendFunciOES\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glBlendFunciOES\n"); |
| return false; |
| } |
| } |
| |
| bool callGlBlendParameteriNV(Stack* stack, bool pushReturn) { |
| int32_t value = stack->pop<int32_t>(); |
| GLenum pname = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glBlendParameteriNV(%u, %" PRId32 ")\n", pname, value); |
| if (glBlendParameteriNV != nullptr) { |
| glBlendParameteriNV(pname, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glBlendParameteriNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glBlendParameteriNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glBlendParameteriNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlBlitFramebufferANGLE(Stack* stack, bool pushReturn) { |
| GLenum filter = stack->pop<GLenum>(); |
| GLbitfield mask = stack->pop<GLbitfield>(); |
| int32_t dstY1 = stack->pop<int32_t>(); |
| int32_t dstX1 = stack->pop<int32_t>(); |
| int32_t dstY0 = stack->pop<int32_t>(); |
| int32_t dstX0 = stack->pop<int32_t>(); |
| int32_t srcY1 = stack->pop<int32_t>(); |
| int32_t srcX1 = stack->pop<int32_t>(); |
| int32_t srcY0 = stack->pop<int32_t>(); |
| int32_t srcX0 = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glBlitFramebufferANGLE(%" PRId32 ", %" PRId32 ", %" PRId32 ", %" PRId32 |
| ", %" PRId32 ", %" PRId32 ", %" PRId32 ", %" PRId32 ", %u, %u)\n", |
| srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); |
| if (glBlitFramebufferANGLE != nullptr) { |
| glBlitFramebufferANGLE(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, |
| filter); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glBlitFramebufferANGLE returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glBlitFramebufferANGLE\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glBlitFramebufferANGLE\n"); |
| return false; |
| } |
| } |
| |
| bool callGlBlitFramebufferNV(Stack* stack, bool pushReturn) { |
| GLenum filter = stack->pop<GLenum>(); |
| GLbitfield mask = stack->pop<GLbitfield>(); |
| int32_t dstY1 = stack->pop<int32_t>(); |
| int32_t dstX1 = stack->pop<int32_t>(); |
| int32_t dstY0 = stack->pop<int32_t>(); |
| int32_t dstX0 = stack->pop<int32_t>(); |
| int32_t srcY1 = stack->pop<int32_t>(); |
| int32_t srcX1 = stack->pop<int32_t>(); |
| int32_t srcY0 = stack->pop<int32_t>(); |
| int32_t srcX0 = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glBlitFramebufferNV(%" PRId32 ", %" PRId32 ", %" PRId32 ", %" PRId32 |
| ", %" PRId32 ", %" PRId32 ", %" PRId32 ", %" PRId32 ", %u, %u)\n", |
| srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); |
| if (glBlitFramebufferNV != nullptr) { |
| glBlitFramebufferNV(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, |
| filter); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glBlitFramebufferNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glBlitFramebufferNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glBlitFramebufferNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlBufferStorageEXT(Stack* stack, bool pushReturn) { |
| GLbitfield flag = stack->pop<GLbitfield>(); |
| void* data = stack->pop<void*>(); |
| int32_t size = stack->pop<int32_t>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glBufferStorageEXT(%u, %" PRId32 ", %p, %u)\n", target, size, data, flag); |
| if (glBufferStorageEXT != nullptr) { |
| glBufferStorageEXT(target, size, data, flag); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glBufferStorageEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glBufferStorageEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glBufferStorageEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlClientWaitSyncAPPLE(Stack* stack, bool pushReturn) { |
| uint64_t timeout = stack->pop<uint64_t>(); |
| GLbitfield flag = stack->pop<GLbitfield>(); |
| uint64_t sync = stack->pop<uint64_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glClientWaitSyncAPPLE(%" PRIu64 ", %u, %" PRIu64 ")\n", sync, flag, timeout); |
| if (glClientWaitSyncAPPLE != nullptr) { |
| GLenum return_value = glClientWaitSyncAPPLE(sync, flag, timeout); |
| GAPID_INFO("Returned: %u\n", return_value); |
| if (pushReturn) { |
| stack->push<GLenum>(return_value); |
| } |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glClientWaitSyncAPPLE returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glClientWaitSyncAPPLE\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glClientWaitSyncAPPLE\n"); |
| return false; |
| } |
| } |
| |
| bool callGlColorMaskiOES(Stack* stack, bool pushReturn) { |
| uint8_t a = stack->pop<uint8_t>(); |
| uint8_t b = stack->pop<uint8_t>(); |
| uint8_t g = stack->pop<uint8_t>(); |
| uint8_t r = stack->pop<uint8_t>(); |
| uint32_t index = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glColorMaskiOES(%" PRIu32 ", %" PRIu8 ", %" PRIu8 ", %" PRIu8 ", %" PRIu8 ")\n", |
| index, r, g, b, a); |
| if (glColorMaskiOES != nullptr) { |
| glColorMaskiOES(index, r, g, b, a); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glColorMaskiOES returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glColorMaskiOES\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glColorMaskiOES\n"); |
| return false; |
| } |
| } |
| |
| bool callGlCompressedTexImage3DOES(Stack* stack, bool pushReturn) { |
| void* data = stack->pop<void*>(); |
| int32_t imageSize = stack->pop<int32_t>(); |
| int32_t border = stack->pop<int32_t>(); |
| int32_t depth = stack->pop<int32_t>(); |
| int32_t height = stack->pop<int32_t>(); |
| int32_t width = stack->pop<int32_t>(); |
| GLenum internalformat = stack->pop<GLenum>(); |
| int32_t level = stack->pop<int32_t>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glCompressedTexImage3DOES(%u, %" PRId32 ", %u, %" PRId32 ", %" PRId32 |
| ", %" PRId32 ", %" PRId32 ", %" PRId32 ", %p)\n", |
| target, level, internalformat, width, height, depth, border, imageSize, data); |
| if (glCompressedTexImage3DOES != nullptr) { |
| glCompressedTexImage3DOES(target, level, internalformat, width, height, depth, border, |
| imageSize, data); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glCompressedTexImage3DOES returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glCompressedTexImage3DOES\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glCompressedTexImage3DOES\n"); |
| return false; |
| } |
| } |
| |
| bool callGlCompressedTexSubImage3DOES(Stack* stack, bool pushReturn) { |
| void* data = stack->pop<void*>(); |
| int32_t imageSize = stack->pop<int32_t>(); |
| GLenum format = stack->pop<GLenum>(); |
| int32_t depth = stack->pop<int32_t>(); |
| int32_t height = stack->pop<int32_t>(); |
| int32_t width = stack->pop<int32_t>(); |
| int32_t zoffset = stack->pop<int32_t>(); |
| int32_t yoffset = stack->pop<int32_t>(); |
| int32_t xoffset = stack->pop<int32_t>(); |
| int32_t level = stack->pop<int32_t>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| 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); |
| if (glCompressedTexSubImage3DOES != nullptr) { |
| glCompressedTexSubImage3DOES(target, level, xoffset, yoffset, zoffset, width, height, |
| depth, format, imageSize, data); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glCompressedTexSubImage3DOES returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glCompressedTexSubImage3DOES\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glCompressedTexSubImage3DOES\n"); |
| return false; |
| } |
| } |
| |
| bool callGlCopyBufferSubDataNV(Stack* stack, bool pushReturn) { |
| int32_t size = stack->pop<int32_t>(); |
| int32_t writeOffset = stack->pop<int32_t>(); |
| int32_t readOffset = stack->pop<int32_t>(); |
| GLenum writeTarget = stack->pop<GLenum>(); |
| GLenum readTarget = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glCopyBufferSubDataNV(%u, %u, %" PRId32 ", %" PRId32 ", %" PRId32 ")\n", |
| readTarget, writeTarget, readOffset, writeOffset, size); |
| if (glCopyBufferSubDataNV != nullptr) { |
| glCopyBufferSubDataNV(readTarget, writeTarget, readOffset, writeOffset, size); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glCopyBufferSubDataNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glCopyBufferSubDataNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glCopyBufferSubDataNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlCopyImageSubDataOES(Stack* stack, bool pushReturn) { |
| int32_t srcDepth = stack->pop<int32_t>(); |
| int32_t srcHeight = stack->pop<int32_t>(); |
| int32_t srcWidth = stack->pop<int32_t>(); |
| int32_t dstZ = stack->pop<int32_t>(); |
| int32_t dstY = stack->pop<int32_t>(); |
| int32_t dstX = stack->pop<int32_t>(); |
| int32_t dstLevel = stack->pop<int32_t>(); |
| GLenum dstTarget = stack->pop<GLenum>(); |
| uint32_t dstName = stack->pop<uint32_t>(); |
| int32_t srcZ = stack->pop<int32_t>(); |
| int32_t srcY = stack->pop<int32_t>(); |
| int32_t srcX = stack->pop<int32_t>(); |
| int32_t srcLevel = stack->pop<int32_t>(); |
| GLenum srcTarget = stack->pop<GLenum>(); |
| uint32_t srcName = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| 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); |
| if (glCopyImageSubDataOES != nullptr) { |
| glCopyImageSubDataOES(srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, |
| dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, |
| srcDepth); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glCopyImageSubDataOES returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glCopyImageSubDataOES\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glCopyImageSubDataOES\n"); |
| return false; |
| } |
| } |
| |
| bool callGlCopyPathNV(Stack* stack, bool pushReturn) { |
| uint32_t srcPath = stack->pop<uint32_t>(); |
| uint32_t resultPath = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glCopyPathNV(%" PRIu32 ", %" PRIu32 ")\n", resultPath, srcPath); |
| if (glCopyPathNV != nullptr) { |
| glCopyPathNV(resultPath, srcPath); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glCopyPathNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glCopyPathNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glCopyPathNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlCopyTexSubImage3DOES(Stack* stack, bool pushReturn) { |
| int32_t height = stack->pop<int32_t>(); |
| int32_t width = stack->pop<int32_t>(); |
| int32_t y = stack->pop<int32_t>(); |
| int32_t x = stack->pop<int32_t>(); |
| int32_t zoffset = stack->pop<int32_t>(); |
| int32_t yoffset = stack->pop<int32_t>(); |
| int32_t xoffset = stack->pop<int32_t>(); |
| int32_t level = stack->pop<int32_t>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glCopyTexSubImage3DOES(%u, %" PRId32 ", %" PRId32 ", %" PRId32 ", %" PRId32 |
| ", %" PRId32 ", %" PRId32 ", %" PRId32 ", %" PRId32 ")\n", |
| target, level, xoffset, yoffset, zoffset, x, y, width, height); |
| if (glCopyTexSubImage3DOES != nullptr) { |
| glCopyTexSubImage3DOES(target, level, xoffset, yoffset, zoffset, x, y, width, height); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glCopyTexSubImage3DOES returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glCopyTexSubImage3DOES\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glCopyTexSubImage3DOES\n"); |
| return false; |
| } |
| } |
| |
| bool callGlCopyTextureLevelsAPPLE(Stack* stack, bool pushReturn) { |
| int32_t sourceLevelCount = stack->pop<int32_t>(); |
| int32_t sourceBaseLevel = stack->pop<int32_t>(); |
| uint32_t sourceTexture = stack->pop<uint32_t>(); |
| uint32_t destinationTexture = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glCopyTextureLevelsAPPLE(%" PRIu32 ", %" PRIu32 ", %" PRId32 ", %" PRId32 ")\n", |
| destinationTexture, sourceTexture, sourceBaseLevel, sourceLevelCount); |
| if (glCopyTextureLevelsAPPLE != nullptr) { |
| glCopyTextureLevelsAPPLE(destinationTexture, sourceTexture, sourceBaseLevel, |
| sourceLevelCount); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glCopyTextureLevelsAPPLE returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glCopyTextureLevelsAPPLE\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glCopyTextureLevelsAPPLE\n"); |
| return false; |
| } |
| } |
| |
| bool callGlCoverFillPathInstancedNV(Stack* stack, bool pushReturn) { |
| float* transformValues = stack->pop<float*>(); |
| GLenum transformType = stack->pop<GLenum>(); |
| GLenum coverMode = stack->pop<GLenum>(); |
| uint32_t pathBase = stack->pop<uint32_t>(); |
| void* paths = stack->pop<void*>(); |
| GLenum pathNameType = stack->pop<GLenum>(); |
| int32_t numPaths = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glCoverFillPathInstancedNV(%" PRId32 ", %u, %p, %" PRIu32 ", %u, %u, %p)\n", |
| numPaths, pathNameType, paths, pathBase, coverMode, transformType, |
| transformValues); |
| if (glCoverFillPathInstancedNV != nullptr) { |
| glCoverFillPathInstancedNV(numPaths, pathNameType, paths, pathBase, coverMode, |
| transformType, transformValues); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glCoverFillPathInstancedNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glCoverFillPathInstancedNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glCoverFillPathInstancedNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlCoverFillPathNV(Stack* stack, bool pushReturn) { |
| GLenum coverMode = stack->pop<GLenum>(); |
| uint32_t path = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glCoverFillPathNV(%" PRIu32 ", %u)\n", path, coverMode); |
| if (glCoverFillPathNV != nullptr) { |
| glCoverFillPathNV(path, coverMode); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glCoverFillPathNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glCoverFillPathNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glCoverFillPathNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlCoverStrokePathInstancedNV(Stack* stack, bool pushReturn) { |
| float* transformValues = stack->pop<float*>(); |
| GLenum transformType = stack->pop<GLenum>(); |
| GLenum coverMode = stack->pop<GLenum>(); |
| uint32_t pathBase = stack->pop<uint32_t>(); |
| void* paths = stack->pop<void*>(); |
| GLenum pathNameType = stack->pop<GLenum>(); |
| int32_t numPaths = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glCoverStrokePathInstancedNV(%" PRId32 ", %u, %p, %" PRIu32 ", %u, %u, %p)\n", |
| numPaths, pathNameType, paths, pathBase, coverMode, transformType, |
| transformValues); |
| if (glCoverStrokePathInstancedNV != nullptr) { |
| glCoverStrokePathInstancedNV(numPaths, pathNameType, paths, pathBase, coverMode, |
| transformType, transformValues); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glCoverStrokePathInstancedNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glCoverStrokePathInstancedNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glCoverStrokePathInstancedNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlCoverStrokePathNV(Stack* stack, bool pushReturn) { |
| GLenum coverMode = stack->pop<GLenum>(); |
| uint32_t path = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glCoverStrokePathNV(%" PRIu32 ", %u)\n", path, coverMode); |
| if (glCoverStrokePathNV != nullptr) { |
| glCoverStrokePathNV(path, coverMode); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glCoverStrokePathNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glCoverStrokePathNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glCoverStrokePathNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlCoverageMaskNV(Stack* stack, bool pushReturn) { |
| uint8_t mask = stack->pop<uint8_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glCoverageMaskNV(%" PRIu8 ")\n", mask); |
| if (glCoverageMaskNV != nullptr) { |
| glCoverageMaskNV(mask); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glCoverageMaskNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glCoverageMaskNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glCoverageMaskNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlCoverageOperationNV(Stack* stack, bool pushReturn) { |
| GLenum operation = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glCoverageOperationNV(%u)\n", operation); |
| if (glCoverageOperationNV != nullptr) { |
| glCoverageOperationNV(operation); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glCoverageOperationNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glCoverageOperationNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glCoverageOperationNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlCreatePerfQueryINTEL(Stack* stack, bool pushReturn) { |
| uint32_t* queryHandle = stack->pop<uint32_t*>(); |
| uint32_t queryId = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glCreatePerfQueryINTEL(%" PRIu32 ", %p)\n", queryId, queryHandle); |
| if (glCreatePerfQueryINTEL != nullptr) { |
| glCreatePerfQueryINTEL(queryId, queryHandle); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glCreatePerfQueryINTEL returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glCreatePerfQueryINTEL\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glCreatePerfQueryINTEL\n"); |
| return false; |
| } |
| } |
| |
| bool callGlCreateShaderProgramvEXT(Stack* stack, bool pushReturn) { |
| char** strings = stack->pop<char**>(); |
| int32_t count = stack->pop<int32_t>(); |
| GLenum type = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glCreateShaderProgramvEXT(%u, %" PRId32 ", %p)\n", type, count, strings); |
| if (glCreateShaderProgramvEXT != nullptr) { |
| uint32_t return_value = glCreateShaderProgramvEXT(type, count, strings); |
| GAPID_INFO("Returned: %" PRIu32 "\n", return_value); |
| if (pushReturn) { |
| stack->push<uint32_t>(return_value); |
| } |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glCreateShaderProgramvEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glCreateShaderProgramvEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glCreateShaderProgramvEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlDeleteFencesNV(Stack* stack, bool pushReturn) { |
| uint32_t* fences = stack->pop<uint32_t*>(); |
| int32_t n = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glDeleteFencesNV(%" PRId32 ", %p)\n", n, fences); |
| if (glDeleteFencesNV != nullptr) { |
| glDeleteFencesNV(n, fences); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glDeleteFencesNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glDeleteFencesNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glDeleteFencesNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlDeletePathsNV(Stack* stack, bool pushReturn) { |
| int32_t range = stack->pop<int32_t>(); |
| uint32_t path = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glDeletePathsNV(%" PRIu32 ", %" PRId32 ")\n", path, range); |
| if (glDeletePathsNV != nullptr) { |
| glDeletePathsNV(path, range); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glDeletePathsNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glDeletePathsNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glDeletePathsNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlDeletePerfMonitorsAMD(Stack* stack, bool pushReturn) { |
| uint32_t* monitors = stack->pop<uint32_t*>(); |
| int32_t n = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glDeletePerfMonitorsAMD(%" PRId32 ", %p)\n", n, monitors); |
| if (glDeletePerfMonitorsAMD != nullptr) { |
| glDeletePerfMonitorsAMD(n, monitors); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glDeletePerfMonitorsAMD returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glDeletePerfMonitorsAMD\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glDeletePerfMonitorsAMD\n"); |
| return false; |
| } |
| } |
| |
| bool callGlDeletePerfQueryINTEL(Stack* stack, bool pushReturn) { |
| uint32_t queryHandle = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glDeletePerfQueryINTEL(%" PRIu32 ")\n", queryHandle); |
| if (glDeletePerfQueryINTEL != nullptr) { |
| glDeletePerfQueryINTEL(queryHandle); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glDeletePerfQueryINTEL returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glDeletePerfQueryINTEL\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glDeletePerfQueryINTEL\n"); |
| return false; |
| } |
| } |
| |
| bool callGlDeleteProgramPipelinesEXT(Stack* stack, bool pushReturn) { |
| uint32_t* pipelines = stack->pop<uint32_t*>(); |
| int32_t n = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glDeleteProgramPipelinesEXT(%" PRId32 ", %p)\n", n, pipelines); |
| if (glDeleteProgramPipelinesEXT != nullptr) { |
| glDeleteProgramPipelinesEXT(n, pipelines); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glDeleteProgramPipelinesEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glDeleteProgramPipelinesEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glDeleteProgramPipelinesEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlDeleteQueriesEXT(Stack* stack, bool pushReturn) { |
| uint32_t* queries = stack->pop<uint32_t*>(); |
| int32_t count = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glDeleteQueriesEXT(%" PRId32 ", %p)\n", count, queries); |
| if (glDeleteQueriesEXT != nullptr) { |
| glDeleteQueriesEXT(count, queries); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glDeleteQueriesEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glDeleteQueriesEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glDeleteQueriesEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlDeleteSyncAPPLE(Stack* stack, bool pushReturn) { |
| uint64_t sync = stack->pop<uint64_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glDeleteSyncAPPLE(%" PRIu64 ")\n", sync); |
| if (glDeleteSyncAPPLE != nullptr) { |
| glDeleteSyncAPPLE(sync); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glDeleteSyncAPPLE returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glDeleteSyncAPPLE\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glDeleteSyncAPPLE\n"); |
| return false; |
| } |
| } |
| |
| bool callGlDeleteVertexArraysOES(Stack* stack, bool pushReturn) { |
| uint32_t* arrays = stack->pop<uint32_t*>(); |
| int32_t count = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glDeleteVertexArraysOES(%" PRId32 ", %p)\n", count, arrays); |
| if (glDeleteVertexArraysOES != nullptr) { |
| glDeleteVertexArraysOES(count, arrays); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glDeleteVertexArraysOES returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glDeleteVertexArraysOES\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glDeleteVertexArraysOES\n"); |
| return false; |
| } |
| } |
| |
| bool callGlDepthRangeArrayfvNV(Stack* stack, bool pushReturn) { |
| float* v = stack->pop<float*>(); |
| int32_t count = stack->pop<int32_t>(); |
| uint32_t first = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glDepthRangeArrayfvNV(%" PRIu32 ", %" PRId32 ", %p)\n", first, count, v); |
| if (glDepthRangeArrayfvNV != nullptr) { |
| glDepthRangeArrayfvNV(first, count, v); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glDepthRangeArrayfvNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glDepthRangeArrayfvNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glDepthRangeArrayfvNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlDepthRangeIndexedfNV(Stack* stack, bool pushReturn) { |
| float f = stack->pop<float>(); |
| float n = stack->pop<float>(); |
| uint32_t index = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glDepthRangeIndexedfNV(%" PRIu32 ", %f, %f)\n", index, n, f); |
| if (glDepthRangeIndexedfNV != nullptr) { |
| glDepthRangeIndexedfNV(index, n, f); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glDepthRangeIndexedfNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glDepthRangeIndexedfNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glDepthRangeIndexedfNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlDisableDriverControlQCOM(Stack* stack, bool pushReturn) { |
| uint32_t driverControl = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glDisableDriverControlQCOM(%" PRIu32 ")\n", driverControl); |
| if (glDisableDriverControlQCOM != nullptr) { |
| glDisableDriverControlQCOM(driverControl); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glDisableDriverControlQCOM returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glDisableDriverControlQCOM\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glDisableDriverControlQCOM\n"); |
| return false; |
| } |
| } |
| |
| bool callGlDisableiNV(Stack* stack, bool pushReturn) { |
| uint32_t index = stack->pop<uint32_t>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glDisableiNV(%u, %" PRIu32 ")\n", target, index); |
| if (glDisableiNV != nullptr) { |
| glDisableiNV(target, index); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glDisableiNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glDisableiNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glDisableiNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlDisableiOES(Stack* stack, bool pushReturn) { |
| uint32_t index = stack->pop<uint32_t>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glDisableiOES(%u, %" PRIu32 ")\n", target, index); |
| if (glDisableiOES != nullptr) { |
| glDisableiOES(target, index); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glDisableiOES returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glDisableiOES\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glDisableiOES\n"); |
| return false; |
| } |
| } |
| |
| bool callGlDiscardFramebufferEXT(Stack* stack, bool pushReturn) { |
| GLenum* attachments = stack->pop<GLenum*>(); |
| int32_t numAttachments = stack->pop<int32_t>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glDiscardFramebufferEXT(%u, %" PRId32 ", %p)\n", target, numAttachments, |
| attachments); |
| if (glDiscardFramebufferEXT != nullptr) { |
| glDiscardFramebufferEXT(target, numAttachments, attachments); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glDiscardFramebufferEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glDiscardFramebufferEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glDiscardFramebufferEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlDrawArraysInstancedANGLE(Stack* stack, bool pushReturn) { |
| int32_t primcount = stack->pop<int32_t>(); |
| int32_t count = stack->pop<int32_t>(); |
| int32_t first = stack->pop<int32_t>(); |
| GLenum mode = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glDrawArraysInstancedANGLE(%u, %" PRId32 ", %" PRId32 ", %" PRId32 ")\n", mode, |
| first, count, primcount); |
| if (glDrawArraysInstancedANGLE != nullptr) { |
| glDrawArraysInstancedANGLE(mode, first, count, primcount); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glDrawArraysInstancedANGLE returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glDrawArraysInstancedANGLE\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glDrawArraysInstancedANGLE\n"); |
| return false; |
| } |
| } |
| |
| bool callGlDrawArraysInstancedBaseInstanceEXT(Stack* stack, bool pushReturn) { |
| uint32_t baseinstance = stack->pop<uint32_t>(); |
| int32_t instancecount = stack->pop<int32_t>(); |
| int32_t count = stack->pop<int32_t>(); |
| int32_t first = stack->pop<int32_t>(); |
| GLenum mode = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glDrawArraysInstancedBaseInstanceEXT(%u, %" PRId32 ", %" PRId32 ", %" PRId32 |
| ", %" PRIu32 ")\n", |
| mode, first, count, instancecount, baseinstance); |
| if (glDrawArraysInstancedBaseInstanceEXT != nullptr) { |
| glDrawArraysInstancedBaseInstanceEXT(mode, first, count, instancecount, baseinstance); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glDrawArraysInstancedBaseInstanceEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING( |
| "Attempted to call unsupported function " |
| "glDrawArraysInstancedBaseInstanceEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glDrawArraysInstancedBaseInstanceEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlDrawArraysInstancedEXT(Stack* stack, bool pushReturn) { |
| int32_t primcount = stack->pop<int32_t>(); |
| int32_t count = stack->pop<int32_t>(); |
| int32_t start = stack->pop<int32_t>(); |
| GLenum mode = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glDrawArraysInstancedEXT(%u, %" PRId32 ", %" PRId32 ", %" PRId32 ")\n", mode, |
| start, count, primcount); |
| if (glDrawArraysInstancedEXT != nullptr) { |
| glDrawArraysInstancedEXT(mode, start, count, primcount); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glDrawArraysInstancedEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glDrawArraysInstancedEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glDrawArraysInstancedEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlDrawArraysInstancedNV(Stack* stack, bool pushReturn) { |
| int32_t primcount = stack->pop<int32_t>(); |
| int32_t count = stack->pop<int32_t>(); |
| int32_t first = stack->pop<int32_t>(); |
| GLenum mode = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glDrawArraysInstancedNV(%u, %" PRId32 ", %" PRId32 ", %" PRId32 ")\n", mode, |
| first, count, primcount); |
| if (glDrawArraysInstancedNV != nullptr) { |
| glDrawArraysInstancedNV(mode, first, count, primcount); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glDrawArraysInstancedNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glDrawArraysInstancedNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glDrawArraysInstancedNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlDrawBuffersEXT(Stack* stack, bool pushReturn) { |
| GLenum* bufs = stack->pop<GLenum*>(); |
| int32_t n = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glDrawBuffersEXT(%" PRId32 ", %p)\n", n, bufs); |
| if (glDrawBuffersEXT != nullptr) { |
| glDrawBuffersEXT(n, bufs); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glDrawBuffersEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glDrawBuffersEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glDrawBuffersEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlDrawBuffersIndexedEXT(Stack* stack, bool pushReturn) { |
| int32_t* indices = stack->pop<int32_t*>(); |
| GLenum* location = stack->pop<GLenum*>(); |
| int32_t n = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glDrawBuffersIndexedEXT(%" PRId32 ", %p, %p)\n", n, location, indices); |
| if (glDrawBuffersIndexedEXT != nullptr) { |
| glDrawBuffersIndexedEXT(n, location, indices); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glDrawBuffersIndexedEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glDrawBuffersIndexedEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glDrawBuffersIndexedEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlDrawBuffersNV(Stack* stack, bool pushReturn) { |
| GLenum* bufs = stack->pop<GLenum*>(); |
| int32_t n = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glDrawBuffersNV(%" PRId32 ", %p)\n", n, bufs); |
| if (glDrawBuffersNV != nullptr) { |
| glDrawBuffersNV(n, bufs); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glDrawBuffersNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glDrawBuffersNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glDrawBuffersNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlDrawElementsBaseVertexEXT(Stack* stack, bool pushReturn) { |
| int32_t basevertex = stack->pop<int32_t>(); |
| void* indices = stack->pop<void*>(); |
| GLenum type = stack->pop<GLenum>(); |
| int32_t count = stack->pop<int32_t>(); |
| GLenum mode = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glDrawElementsBaseVertexEXT(%u, %" PRId32 ", %u, %p, %" PRId32 ")\n", mode, |
| count, type, indices, basevertex); |
| if (glDrawElementsBaseVertexEXT != nullptr) { |
| glDrawElementsBaseVertexEXT(mode, count, type, indices, basevertex); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glDrawElementsBaseVertexEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glDrawElementsBaseVertexEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glDrawElementsBaseVertexEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlDrawElementsBaseVertexOES(Stack* stack, bool pushReturn) { |
| int32_t basevertex = stack->pop<int32_t>(); |
| void* indices = stack->pop<void*>(); |
| GLenum type = stack->pop<GLenum>(); |
| int32_t count = stack->pop<int32_t>(); |
| GLenum mode = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glDrawElementsBaseVertexOES(%u, %" PRId32 ", %u, %p, %" PRId32 ")\n", mode, |
| count, type, indices, basevertex); |
| if (glDrawElementsBaseVertexOES != nullptr) { |
| glDrawElementsBaseVertexOES(mode, count, type, indices, basevertex); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glDrawElementsBaseVertexOES returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glDrawElementsBaseVertexOES\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glDrawElementsBaseVertexOES\n"); |
| return false; |
| } |
| } |
| |
| bool callGlDrawElementsInstancedANGLE(Stack* stack, bool pushReturn) { |
| int32_t primcount = stack->pop<int32_t>(); |
| void* indices = stack->pop<void*>(); |
| GLenum type = stack->pop<GLenum>(); |
| int32_t count = stack->pop<int32_t>(); |
| GLenum mode = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glDrawElementsInstancedANGLE(%u, %" PRId32 ", %u, %p, %" PRId32 ")\n", mode, |
| count, type, indices, primcount); |
| if (glDrawElementsInstancedANGLE != nullptr) { |
| glDrawElementsInstancedANGLE(mode, count, type, indices, primcount); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glDrawElementsInstancedANGLE returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glDrawElementsInstancedANGLE\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glDrawElementsInstancedANGLE\n"); |
| return false; |
| } |
| } |
| |
| bool callGlDrawElementsInstancedBaseInstanceEXT(Stack* stack, bool pushReturn) { |
| uint32_t baseinstance = stack->pop<uint32_t>(); |
| int32_t instancecount = stack->pop<int32_t>(); |
| void* indices = stack->pop<void*>(); |
| GLenum type = stack->pop<GLenum>(); |
| int32_t count = stack->pop<int32_t>(); |
| GLenum mode = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glDrawElementsInstancedBaseInstanceEXT(%u, %" PRId32 ", %u, %p, %" PRId32 |
| ", %" PRIu32 ")\n", |
| mode, count, type, indices, instancecount, baseinstance); |
| if (glDrawElementsInstancedBaseInstanceEXT != nullptr) { |
| glDrawElementsInstancedBaseInstanceEXT(mode, count, type, indices, instancecount, |
| baseinstance); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glDrawElementsInstancedBaseInstanceEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING( |
| "Attempted to call unsupported function " |
| "glDrawElementsInstancedBaseInstanceEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glDrawElementsInstancedBaseInstanceEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlDrawElementsInstancedBaseVertexEXT(Stack* stack, bool pushReturn) { |
| int32_t basevertex = stack->pop<int32_t>(); |
| int32_t instancecount = stack->pop<int32_t>(); |
| void* indices = stack->pop<void*>(); |
| GLenum type = stack->pop<GLenum>(); |
| int32_t count = stack->pop<int32_t>(); |
| GLenum mode = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glDrawElementsInstancedBaseVertexEXT(%u, %" PRId32 ", %u, %p, %" PRId32 |
| ", %" PRId32 ")\n", |
| mode, count, type, indices, instancecount, basevertex); |
| if (glDrawElementsInstancedBaseVertexEXT != nullptr) { |
| glDrawElementsInstancedBaseVertexEXT(mode, count, type, indices, instancecount, |
| basevertex); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glDrawElementsInstancedBaseVertexEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING( |
| "Attempted to call unsupported function " |
| "glDrawElementsInstancedBaseVertexEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glDrawElementsInstancedBaseVertexEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlDrawElementsInstancedBaseVertexOES(Stack* stack, bool pushReturn) { |
| int32_t basevertex = stack->pop<int32_t>(); |
| int32_t instancecount = stack->pop<int32_t>(); |
| void* indices = stack->pop<void*>(); |
| GLenum type = stack->pop<GLenum>(); |
| int32_t count = stack->pop<int32_t>(); |
| GLenum mode = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glDrawElementsInstancedBaseVertexOES(%u, %" PRId32 ", %u, %p, %" PRId32 |
| ", %" PRId32 ")\n", |
| mode, count, type, indices, instancecount, basevertex); |
| if (glDrawElementsInstancedBaseVertexOES != nullptr) { |
| glDrawElementsInstancedBaseVertexOES(mode, count, type, indices, instancecount, |
| basevertex); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glDrawElementsInstancedBaseVertexOES returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING( |
| "Attempted to call unsupported function " |
| "glDrawElementsInstancedBaseVertexOES\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glDrawElementsInstancedBaseVertexOES\n"); |
| return false; |
| } |
| } |
| |
| bool callGlDrawElementsInstancedBaseVertexBaseInstanceEXT(Stack* stack, bool pushReturn) { |
| uint32_t baseinstance = stack->pop<uint32_t>(); |
| int32_t basevertex = stack->pop<int32_t>(); |
| int32_t instancecount = stack->pop<int32_t>(); |
| void* indices = stack->pop<void*>(); |
| GLenum type = stack->pop<GLenum>(); |
| int32_t count = stack->pop<int32_t>(); |
| GLenum mode = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glDrawElementsInstancedBaseVertexBaseInstanceEXT(%u, %" PRId32 |
| ", %u, %p, %" PRId32 ", %" PRId32 ", %" PRIu32 ")\n", |
| mode, count, type, indices, instancecount, basevertex, baseinstance); |
| if (glDrawElementsInstancedBaseVertexBaseInstanceEXT != nullptr) { |
| glDrawElementsInstancedBaseVertexBaseInstanceEXT( |
| mode, count, type, indices, instancecount, basevertex, baseinstance); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING( |
| "glDrawElementsInstancedBaseVertexBaseInstanceEXT returned error: 0x%x\n", |
| err); |
| } |
| } else { |
| GAPID_WARNING( |
| "Attempted to call unsupported function " |
| "glDrawElementsInstancedBaseVertexBaseInstanceEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING( |
| "Error during calling function glDrawElementsInstancedBaseVertexBaseInstanceEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlDrawElementsInstancedEXT(Stack* stack, bool pushReturn) { |
| int32_t primcount = stack->pop<int32_t>(); |
| void* indices = stack->pop<void*>(); |
| GLenum type = stack->pop<GLenum>(); |
| int32_t count = stack->pop<int32_t>(); |
| GLenum mode = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glDrawElementsInstancedEXT(%u, %" PRId32 ", %u, %p, %" PRId32 ")\n", mode, |
| count, type, indices, primcount); |
| if (glDrawElementsInstancedEXT != nullptr) { |
| glDrawElementsInstancedEXT(mode, count, type, indices, primcount); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glDrawElementsInstancedEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glDrawElementsInstancedEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glDrawElementsInstancedEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlDrawElementsInstancedNV(Stack* stack, bool pushReturn) { |
| int32_t primcount = stack->pop<int32_t>(); |
| void* indices = stack->pop<void*>(); |
| GLenum type = stack->pop<GLenum>(); |
| int32_t count = stack->pop<int32_t>(); |
| GLenum mode = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glDrawElementsInstancedNV(%u, %" PRId32 ", %u, %p, %" PRId32 ")\n", mode, count, |
| type, indices, primcount); |
| if (glDrawElementsInstancedNV != nullptr) { |
| glDrawElementsInstancedNV(mode, count, type, indices, primcount); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glDrawElementsInstancedNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glDrawElementsInstancedNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glDrawElementsInstancedNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlDrawRangeElementsBaseVertexEXT(Stack* stack, bool pushReturn) { |
| int32_t basevertex = stack->pop<int32_t>(); |
| void* indices = stack->pop<void*>(); |
| GLenum type = stack->pop<GLenum>(); |
| int32_t count = stack->pop<int32_t>(); |
| uint32_t end = stack->pop<uint32_t>(); |
| uint32_t start = stack->pop<uint32_t>(); |
| GLenum mode = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glDrawRangeElementsBaseVertexEXT(%u, %" PRIu32 ", %" PRIu32 ", %" PRId32 |
| ", %u, %p, %" PRId32 ")\n", |
| mode, start, end, count, type, indices, basevertex); |
| if (glDrawRangeElementsBaseVertexEXT != nullptr) { |
| glDrawRangeElementsBaseVertexEXT(mode, start, end, count, type, indices, basevertex); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glDrawRangeElementsBaseVertexEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING( |
| "Attempted to call unsupported function glDrawRangeElementsBaseVertexEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glDrawRangeElementsBaseVertexEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlDrawRangeElementsBaseVertexOES(Stack* stack, bool pushReturn) { |
| int32_t basevertex = stack->pop<int32_t>(); |
| void* indices = stack->pop<void*>(); |
| GLenum type = stack->pop<GLenum>(); |
| int32_t count = stack->pop<int32_t>(); |
| uint32_t end = stack->pop<uint32_t>(); |
| uint32_t start = stack->pop<uint32_t>(); |
| GLenum mode = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glDrawRangeElementsBaseVertexOES(%u, %" PRIu32 ", %" PRIu32 ", %" PRId32 |
| ", %u, %p, %" PRId32 ")\n", |
| mode, start, end, count, type, indices, basevertex); |
| if (glDrawRangeElementsBaseVertexOES != nullptr) { |
| glDrawRangeElementsBaseVertexOES(mode, start, end, count, type, indices, basevertex); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glDrawRangeElementsBaseVertexOES returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING( |
| "Attempted to call unsupported function glDrawRangeElementsBaseVertexOES\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glDrawRangeElementsBaseVertexOES\n"); |
| return false; |
| } |
| } |
| |
| bool callGlEGLImageTargetRenderbufferStorageOES(Stack* stack, bool pushReturn) { |
| void* image = stack->pop<void*>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glEGLImageTargetRenderbufferStorageOES(%u, %p)\n", target, image); |
| if (glEGLImageTargetRenderbufferStorageOES != nullptr) { |
| glEGLImageTargetRenderbufferStorageOES(target, image); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glEGLImageTargetRenderbufferStorageOES returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING( |
| "Attempted to call unsupported function " |
| "glEGLImageTargetRenderbufferStorageOES\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glEGLImageTargetRenderbufferStorageOES\n"); |
| return false; |
| } |
| } |
| |
| bool callGlEGLImageTargetTexture2DOES(Stack* stack, bool pushReturn) { |
| void* image = stack->pop<void*>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glEGLImageTargetTexture2DOES(%u, %p)\n", target, image); |
| if (glEGLImageTargetTexture2DOES != nullptr) { |
| glEGLImageTargetTexture2DOES(target, image); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glEGLImageTargetTexture2DOES returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glEGLImageTargetTexture2DOES\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glEGLImageTargetTexture2DOES\n"); |
| return false; |
| } |
| } |
| |
| bool callGlEnableDriverControlQCOM(Stack* stack, bool pushReturn) { |
| uint32_t driverControl = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glEnableDriverControlQCOM(%" PRIu32 ")\n", driverControl); |
| if (glEnableDriverControlQCOM != nullptr) { |
| glEnableDriverControlQCOM(driverControl); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glEnableDriverControlQCOM returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glEnableDriverControlQCOM\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glEnableDriverControlQCOM\n"); |
| return false; |
| } |
| } |
| |
| bool callGlEnableiNV(Stack* stack, bool pushReturn) { |
| uint32_t index = stack->pop<uint32_t>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glEnableiNV(%u, %" PRIu32 ")\n", target, index); |
| if (glEnableiNV != nullptr) { |
| glEnableiNV(target, index); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glEnableiNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glEnableiNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glEnableiNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlEnableiOES(Stack* stack, bool pushReturn) { |
| uint32_t index = stack->pop<uint32_t>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glEnableiOES(%u, %" PRIu32 ")\n", target, index); |
| if (glEnableiOES != nullptr) { |
| glEnableiOES(target, index); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glEnableiOES returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glEnableiOES\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glEnableiOES\n"); |
| return false; |
| } |
| } |
| |
| bool callGlEndConditionalRenderNV(Stack* stack, bool pushReturn) { |
| if (stack->isValid()) { |
| GAPID_INFO("glEndConditionalRenderNV()\n"); |
| if (glEndConditionalRenderNV != nullptr) { |
| glEndConditionalRenderNV(); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glEndConditionalRenderNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glEndConditionalRenderNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glEndConditionalRenderNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlEndPerfMonitorAMD(Stack* stack, bool pushReturn) { |
| uint32_t monitor = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glEndPerfMonitorAMD(%" PRIu32 ")\n", monitor); |
| if (glEndPerfMonitorAMD != nullptr) { |
| glEndPerfMonitorAMD(monitor); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glEndPerfMonitorAMD returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glEndPerfMonitorAMD\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glEndPerfMonitorAMD\n"); |
| return false; |
| } |
| } |
| |
| bool callGlEndPerfQueryINTEL(Stack* stack, bool pushReturn) { |
| uint32_t queryHandle = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glEndPerfQueryINTEL(%" PRIu32 ")\n", queryHandle); |
| if (glEndPerfQueryINTEL != nullptr) { |
| glEndPerfQueryINTEL(queryHandle); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glEndPerfQueryINTEL returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glEndPerfQueryINTEL\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glEndPerfQueryINTEL\n"); |
| return false; |
| } |
| } |
| |
| bool callGlEndQueryEXT(Stack* stack, bool pushReturn) { |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glEndQueryEXT(%u)\n", target); |
| if (glEndQueryEXT != nullptr) { |
| glEndQueryEXT(target); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glEndQueryEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glEndQueryEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glEndQueryEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlEndTilingQCOM(Stack* stack, bool pushReturn) { |
| GLbitfield preserve_mask = stack->pop<GLbitfield>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glEndTilingQCOM(%u)\n", preserve_mask); |
| if (glEndTilingQCOM != nullptr) { |
| glEndTilingQCOM(preserve_mask); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glEndTilingQCOM returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glEndTilingQCOM\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glEndTilingQCOM\n"); |
| return false; |
| } |
| } |
| |
| bool callGlExtGetBufferPointervQCOM(Stack* stack, bool pushReturn) { |
| void** params = stack->pop<void**>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glExtGetBufferPointervQCOM(%u, %p)\n", target, params); |
| if (glExtGetBufferPointervQCOM != nullptr) { |
| glExtGetBufferPointervQCOM(target, params); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glExtGetBufferPointervQCOM returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glExtGetBufferPointervQCOM\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glExtGetBufferPointervQCOM\n"); |
| return false; |
| } |
| } |
| |
| bool callGlExtGetBuffersQCOM(Stack* stack, bool pushReturn) { |
| int32_t* numBuffers = stack->pop<int32_t*>(); |
| int32_t maxBuffers = stack->pop<int32_t>(); |
| uint32_t* buffers = stack->pop<uint32_t*>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glExtGetBuffersQCOM(%p, %" PRId32 ", %p)\n", buffers, maxBuffers, numBuffers); |
| if (glExtGetBuffersQCOM != nullptr) { |
| glExtGetBuffersQCOM(buffers, maxBuffers, numBuffers); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glExtGetBuffersQCOM returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glExtGetBuffersQCOM\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glExtGetBuffersQCOM\n"); |
| return false; |
| } |
| } |
| |
| bool callGlExtGetFramebuffersQCOM(Stack* stack, bool pushReturn) { |
| int32_t* numFramebuffers = stack->pop<int32_t*>(); |
| int32_t maxFramebuffers = stack->pop<int32_t>(); |
| uint32_t* framebuffers = stack->pop<uint32_t*>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glExtGetFramebuffersQCOM(%p, %" PRId32 ", %p)\n", framebuffers, maxFramebuffers, |
| numFramebuffers); |
| if (glExtGetFramebuffersQCOM != nullptr) { |
| glExtGetFramebuffersQCOM(framebuffers, maxFramebuffers, numFramebuffers); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glExtGetFramebuffersQCOM returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glExtGetFramebuffersQCOM\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glExtGetFramebuffersQCOM\n"); |
| return false; |
| } |
| } |
| |
| bool callGlExtGetProgramBinarySourceQCOM(Stack* stack, bool pushReturn) { |
| int32_t* length = stack->pop<int32_t*>(); |
| char* source = stack->pop<char*>(); |
| GLenum shadertype = stack->pop<GLenum>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glExtGetProgramBinarySourceQCOM(%" PRIu32 ", %u, %p, %p)\n", program, |
| shadertype, source, length); |
| if (glExtGetProgramBinarySourceQCOM != nullptr) { |
| glExtGetProgramBinarySourceQCOM(program, shadertype, source, length); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glExtGetProgramBinarySourceQCOM returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING( |
| "Attempted to call unsupported function glExtGetProgramBinarySourceQCOM\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glExtGetProgramBinarySourceQCOM\n"); |
| return false; |
| } |
| } |
| |
| bool callGlExtGetProgramsQCOM(Stack* stack, bool pushReturn) { |
| int32_t* numPrograms = stack->pop<int32_t*>(); |
| int32_t maxPrograms = stack->pop<int32_t>(); |
| uint32_t* programs = stack->pop<uint32_t*>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glExtGetProgramsQCOM(%p, %" PRId32 ", %p)\n", programs, maxPrograms, |
| numPrograms); |
| if (glExtGetProgramsQCOM != nullptr) { |
| glExtGetProgramsQCOM(programs, maxPrograms, numPrograms); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glExtGetProgramsQCOM returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glExtGetProgramsQCOM\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glExtGetProgramsQCOM\n"); |
| return false; |
| } |
| } |
| |
| bool callGlExtGetRenderbuffersQCOM(Stack* stack, bool pushReturn) { |
| int32_t* numRenderbuffers = stack->pop<int32_t*>(); |
| int32_t maxRenderbuffers = stack->pop<int32_t>(); |
| uint32_t* renderbuffers = stack->pop<uint32_t*>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glExtGetRenderbuffersQCOM(%p, %" PRId32 ", %p)\n", renderbuffers, |
| maxRenderbuffers, numRenderbuffers); |
| if (glExtGetRenderbuffersQCOM != nullptr) { |
| glExtGetRenderbuffersQCOM(renderbuffers, maxRenderbuffers, numRenderbuffers); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glExtGetRenderbuffersQCOM returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glExtGetRenderbuffersQCOM\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glExtGetRenderbuffersQCOM\n"); |
| return false; |
| } |
| } |
| |
| bool callGlExtGetShadersQCOM(Stack* stack, bool pushReturn) { |
| int32_t* numShaders = stack->pop<int32_t*>(); |
| int32_t maxShaders = stack->pop<int32_t>(); |
| uint32_t* shaders = stack->pop<uint32_t*>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glExtGetShadersQCOM(%p, %" PRId32 ", %p)\n", shaders, maxShaders, numShaders); |
| if (glExtGetShadersQCOM != nullptr) { |
| glExtGetShadersQCOM(shaders, maxShaders, numShaders); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glExtGetShadersQCOM returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glExtGetShadersQCOM\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glExtGetShadersQCOM\n"); |
| return false; |
| } |
| } |
| |
| bool callGlExtGetTexLevelParameterivQCOM(Stack* stack, bool pushReturn) { |
| int32_t* params = stack->pop<int32_t*>(); |
| GLenum pname = stack->pop<GLenum>(); |
| int32_t level = stack->pop<int32_t>(); |
| GLenum face = stack->pop<GLenum>(); |
| uint32_t texture = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glExtGetTexLevelParameterivQCOM(%" PRIu32 ", %u, %" PRId32 ", %u, %p)\n", |
| texture, face, level, pname, params); |
| if (glExtGetTexLevelParameterivQCOM != nullptr) { |
| glExtGetTexLevelParameterivQCOM(texture, face, level, pname, params); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glExtGetTexLevelParameterivQCOM returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING( |
| "Attempted to call unsupported function glExtGetTexLevelParameterivQCOM\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glExtGetTexLevelParameterivQCOM\n"); |
| return false; |
| } |
| } |
| |
| bool callGlExtGetTexSubImageQCOM(Stack* stack, bool pushReturn) { |
| void* texels = stack->pop<void*>(); |
| GLenum type = stack->pop<GLenum>(); |
| GLenum format = stack->pop<GLenum>(); |
| int32_t depth = stack->pop<int32_t>(); |
| int32_t height = stack->pop<int32_t>(); |
| int32_t width = stack->pop<int32_t>(); |
| int32_t zoffset = stack->pop<int32_t>(); |
| int32_t yoffset = stack->pop<int32_t>(); |
| int32_t xoffset = stack->pop<int32_t>(); |
| int32_t level = stack->pop<int32_t>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| 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); |
| if (glExtGetTexSubImageQCOM != nullptr) { |
| glExtGetTexSubImageQCOM(target, level, xoffset, yoffset, zoffset, width, height, depth, |
| format, type, texels); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glExtGetTexSubImageQCOM returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glExtGetTexSubImageQCOM\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glExtGetTexSubImageQCOM\n"); |
| return false; |
| } |
| } |
| |
| bool callGlExtGetTexturesQCOM(Stack* stack, bool pushReturn) { |
| int32_t* numTextures = stack->pop<int32_t*>(); |
| int32_t maxTextures = stack->pop<int32_t>(); |
| uint32_t* textures = stack->pop<uint32_t*>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glExtGetTexturesQCOM(%p, %" PRId32 ", %p)\n", textures, maxTextures, |
| numTextures); |
| if (glExtGetTexturesQCOM != nullptr) { |
| glExtGetTexturesQCOM(textures, maxTextures, numTextures); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glExtGetTexturesQCOM returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glExtGetTexturesQCOM\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glExtGetTexturesQCOM\n"); |
| return false; |
| } |
| } |
| |
| bool callGlExtIsProgramBinaryQCOM(Stack* stack, bool pushReturn) { |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glExtIsProgramBinaryQCOM(%" PRIu32 ")\n", program); |
| if (glExtIsProgramBinaryQCOM != nullptr) { |
| uint8_t return_value = glExtIsProgramBinaryQCOM(program); |
| GAPID_INFO("Returned: %" PRIu8 "\n", return_value); |
| if (pushReturn) { |
| stack->push<uint8_t>(return_value); |
| } |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glExtIsProgramBinaryQCOM returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glExtIsProgramBinaryQCOM\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glExtIsProgramBinaryQCOM\n"); |
| return false; |
| } |
| } |
| |
| bool callGlExtTexObjectStateOverrideiQCOM(Stack* stack, bool pushReturn) { |
| int32_t param = stack->pop<int32_t>(); |
| GLenum pname = stack->pop<GLenum>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glExtTexObjectStateOverrideiQCOM(%u, %u, %" PRId32 ")\n", target, pname, param); |
| if (glExtTexObjectStateOverrideiQCOM != nullptr) { |
| glExtTexObjectStateOverrideiQCOM(target, pname, param); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glExtTexObjectStateOverrideiQCOM returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING( |
| "Attempted to call unsupported function glExtTexObjectStateOverrideiQCOM\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glExtTexObjectStateOverrideiQCOM\n"); |
| return false; |
| } |
| } |
| |
| bool callGlFenceSyncAPPLE(Stack* stack, bool pushReturn) { |
| GLbitfield flag = stack->pop<GLbitfield>(); |
| GLenum condition = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glFenceSyncAPPLE(%u, %u)\n", condition, flag); |
| if (glFenceSyncAPPLE != nullptr) { |
| uint64_t return_value = glFenceSyncAPPLE(condition, flag); |
| GAPID_INFO("Returned: %" PRIu64 "\n", return_value); |
| if (pushReturn) { |
| stack->push<uint64_t>(return_value); |
| } |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glFenceSyncAPPLE returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glFenceSyncAPPLE\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glFenceSyncAPPLE\n"); |
| return false; |
| } |
| } |
| |
| bool callGlFinishFenceNV(Stack* stack, bool pushReturn) { |
| uint32_t fence = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glFinishFenceNV(%" PRIu32 ")\n", fence); |
| if (glFinishFenceNV != nullptr) { |
| glFinishFenceNV(fence); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glFinishFenceNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glFinishFenceNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glFinishFenceNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlFlushMappedBufferRangeEXT(Stack* stack, bool pushReturn) { |
| int32_t length = stack->pop<int32_t>(); |
| int32_t offset = stack->pop<int32_t>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glFlushMappedBufferRangeEXT(%u, %" PRId32 ", %" PRId32 ")\n", target, offset, |
| length); |
| if (glFlushMappedBufferRangeEXT != nullptr) { |
| glFlushMappedBufferRangeEXT(target, offset, length); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glFlushMappedBufferRangeEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glFlushMappedBufferRangeEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glFlushMappedBufferRangeEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlFramebufferTexture2DMultisampleEXT(Stack* stack, bool pushReturn) { |
| int32_t samples = stack->pop<int32_t>(); |
| int32_t level = stack->pop<int32_t>(); |
| uint32_t texture = stack->pop<uint32_t>(); |
| GLenum textarget = stack->pop<GLenum>(); |
| GLenum attachment = stack->pop<GLenum>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glFramebufferTexture2DMultisampleEXT(%u, %u, %u, %" PRIu32 ", %" PRId32 |
| ", %" PRId32 ")\n", |
| target, attachment, textarget, texture, level, samples); |
| if (glFramebufferTexture2DMultisampleEXT != nullptr) { |
| glFramebufferTexture2DMultisampleEXT(target, attachment, textarget, texture, level, |
| samples); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glFramebufferTexture2DMultisampleEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING( |
| "Attempted to call unsupported function " |
| "glFramebufferTexture2DMultisampleEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glFramebufferTexture2DMultisampleEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlFramebufferTexture2DMultisampleIMG(Stack* stack, bool pushReturn) { |
| int32_t samples = stack->pop<int32_t>(); |
| int32_t level = stack->pop<int32_t>(); |
| uint32_t texture = stack->pop<uint32_t>(); |
| GLenum textarget = stack->pop<GLenum>(); |
| GLenum attachment = stack->pop<GLenum>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glFramebufferTexture2DMultisampleIMG(%u, %u, %u, %" PRIu32 ", %" PRId32 |
| ", %" PRId32 ")\n", |
| target, attachment, textarget, texture, level, samples); |
| if (glFramebufferTexture2DMultisampleIMG != nullptr) { |
| glFramebufferTexture2DMultisampleIMG(target, attachment, textarget, texture, level, |
| samples); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glFramebufferTexture2DMultisampleIMG returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING( |
| "Attempted to call unsupported function " |
| "glFramebufferTexture2DMultisampleIMG\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glFramebufferTexture2DMultisampleIMG\n"); |
| return false; |
| } |
| } |
| |
| bool callGlFramebufferTexture3DOES(Stack* stack, bool pushReturn) { |
| int32_t zoffset = stack->pop<int32_t>(); |
| int32_t level = stack->pop<int32_t>(); |
| uint32_t texture = stack->pop<uint32_t>(); |
| GLenum textarget = stack->pop<GLenum>(); |
| GLenum attachment = stack->pop<GLenum>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glFramebufferTexture3DOES(%u, %u, %u, %" PRIu32 ", %" PRId32 ", %" PRId32 ")\n", |
| target, attachment, textarget, texture, level, zoffset); |
| if (glFramebufferTexture3DOES != nullptr) { |
| glFramebufferTexture3DOES(target, attachment, textarget, texture, level, zoffset); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glFramebufferTexture3DOES returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glFramebufferTexture3DOES\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glFramebufferTexture3DOES\n"); |
| return false; |
| } |
| } |
| |
| bool callGlFramebufferTextureOES(Stack* stack, bool pushReturn) { |
| int32_t level = stack->pop<int32_t>(); |
| uint32_t texture = stack->pop<uint32_t>(); |
| GLenum attachment = stack->pop<GLenum>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glFramebufferTextureOES(%u, %u, %" PRIu32 ", %" PRId32 ")\n", target, |
| attachment, texture, level); |
| if (glFramebufferTextureOES != nullptr) { |
| glFramebufferTextureOES(target, attachment, texture, level); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glFramebufferTextureOES returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glFramebufferTextureOES\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glFramebufferTextureOES\n"); |
| return false; |
| } |
| } |
| |
| bool callGlFramebufferTextureMultiviewOVR(Stack* stack, bool pushReturn) { |
| int32_t numViews = stack->pop<int32_t>(); |
| int32_t baseViewIndex = stack->pop<int32_t>(); |
| int32_t level = stack->pop<int32_t>(); |
| uint32_t texture = stack->pop<uint32_t>(); |
| GLenum attachment = stack->pop<GLenum>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glFramebufferTextureMultiviewOVR(%u, %u, %" PRIu32 ", %" PRId32 ", %" PRId32 |
| ", %" PRId32 ")\n", |
| target, attachment, texture, level, baseViewIndex, numViews); |
| if (glFramebufferTextureMultiviewOVR != nullptr) { |
| glFramebufferTextureMultiviewOVR(target, attachment, texture, level, baseViewIndex, |
| numViews); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glFramebufferTextureMultiviewOVR returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING( |
| "Attempted to call unsupported function glFramebufferTextureMultiviewOVR\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glFramebufferTextureMultiviewOVR\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGenFencesNV(Stack* stack, bool pushReturn) { |
| uint32_t* fences = stack->pop<uint32_t*>(); |
| int32_t n = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGenFencesNV(%" PRId32 ", %p)\n", n, fences); |
| if (glGenFencesNV != nullptr) { |
| glGenFencesNV(n, fences); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGenFencesNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGenFencesNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGenFencesNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGenPathsNV(Stack* stack, bool pushReturn) { |
| int32_t range = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGenPathsNV(%" PRId32 ")\n", range); |
| if (glGenPathsNV != nullptr) { |
| uint32_t return_value = glGenPathsNV(range); |
| GAPID_INFO("Returned: %" PRIu32 "\n", return_value); |
| if (pushReturn) { |
| stack->push<uint32_t>(return_value); |
| } |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGenPathsNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGenPathsNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGenPathsNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGenPerfMonitorsAMD(Stack* stack, bool pushReturn) { |
| uint32_t* monitors = stack->pop<uint32_t*>(); |
| int32_t n = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGenPerfMonitorsAMD(%" PRId32 ", %p)\n", n, monitors); |
| if (glGenPerfMonitorsAMD != nullptr) { |
| glGenPerfMonitorsAMD(n, monitors); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGenPerfMonitorsAMD returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGenPerfMonitorsAMD\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGenPerfMonitorsAMD\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGenProgramPipelinesEXT(Stack* stack, bool pushReturn) { |
| uint32_t* pipelines = stack->pop<uint32_t*>(); |
| int32_t n = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGenProgramPipelinesEXT(%" PRId32 ", %p)\n", n, pipelines); |
| if (glGenProgramPipelinesEXT != nullptr) { |
| glGenProgramPipelinesEXT(n, pipelines); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGenProgramPipelinesEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGenProgramPipelinesEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGenProgramPipelinesEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGenQueriesEXT(Stack* stack, bool pushReturn) { |
| uint32_t* queries = stack->pop<uint32_t*>(); |
| int32_t count = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGenQueriesEXT(%" PRId32 ", %p)\n", count, queries); |
| if (glGenQueriesEXT != nullptr) { |
| glGenQueriesEXT(count, queries); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGenQueriesEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGenQueriesEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGenQueriesEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGenVertexArraysOES(Stack* stack, bool pushReturn) { |
| uint32_t* arrays = stack->pop<uint32_t*>(); |
| int32_t count = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGenVertexArraysOES(%" PRId32 ", %p)\n", count, arrays); |
| if (glGenVertexArraysOES != nullptr) { |
| glGenVertexArraysOES(count, arrays); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGenVertexArraysOES returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGenVertexArraysOES\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGenVertexArraysOES\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetBufferPointervOES(Stack* stack, bool pushReturn) { |
| void** params = stack->pop<void**>(); |
| GLenum pname = stack->pop<GLenum>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetBufferPointervOES(%u, %u, %p)\n", target, pname, params); |
| if (glGetBufferPointervOES != nullptr) { |
| glGetBufferPointervOES(target, pname, params); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetBufferPointervOES returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetBufferPointervOES\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetBufferPointervOES\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetDriverControlStringQCOM(Stack* stack, bool pushReturn) { |
| char* driverControlString = stack->pop<char*>(); |
| int32_t* length = stack->pop<int32_t*>(); |
| int32_t bufSize = stack->pop<int32_t>(); |
| uint32_t driverControl = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetDriverControlStringQCOM(%" PRIu32 ", %" PRId32 ", %p, %p)\n", |
| driverControl, bufSize, length, driverControlString); |
| if (glGetDriverControlStringQCOM != nullptr) { |
| glGetDriverControlStringQCOM(driverControl, bufSize, length, driverControlString); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetDriverControlStringQCOM returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetDriverControlStringQCOM\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetDriverControlStringQCOM\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetDriverControlsQCOM(Stack* stack, bool pushReturn) { |
| uint32_t* driverControls = stack->pop<uint32_t*>(); |
| int32_t size = stack->pop<int32_t>(); |
| int32_t* num = stack->pop<int32_t*>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetDriverControlsQCOM(%p, %" PRId32 ", %p)\n", num, size, driverControls); |
| if (glGetDriverControlsQCOM != nullptr) { |
| glGetDriverControlsQCOM(num, size, driverControls); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetDriverControlsQCOM returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetDriverControlsQCOM\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetDriverControlsQCOM\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetFenceivNV(Stack* stack, bool pushReturn) { |
| int32_t* params = stack->pop<int32_t*>(); |
| GLenum pname = stack->pop<GLenum>(); |
| uint32_t fence = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetFenceivNV(%" PRIu32 ", %u, %p)\n", fence, pname, params); |
| if (glGetFenceivNV != nullptr) { |
| glGetFenceivNV(fence, pname, params); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetFenceivNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetFenceivNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetFenceivNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetFirstPerfQueryIdINTEL(Stack* stack, bool pushReturn) { |
| uint32_t* queryId = stack->pop<uint32_t*>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetFirstPerfQueryIdINTEL(%p)\n", queryId); |
| if (glGetFirstPerfQueryIdINTEL != nullptr) { |
| glGetFirstPerfQueryIdINTEL(queryId); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetFirstPerfQueryIdINTEL returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetFirstPerfQueryIdINTEL\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetFirstPerfQueryIdINTEL\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetFloatiVNV(Stack* stack, bool pushReturn) { |
| float* data = stack->pop<float*>(); |
| uint32_t index = stack->pop<uint32_t>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetFloati_vNV(%u, %" PRIu32 ", %p)\n", target, index, data); |
| if (glGetFloati_vNV != nullptr) { |
| glGetFloati_vNV(target, index, data); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetFloati_vNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetFloati_vNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetFloati_vNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetGraphicsResetStatusEXT(Stack* stack, bool pushReturn) { |
| if (stack->isValid()) { |
| GAPID_INFO("glGetGraphicsResetStatusEXT()\n"); |
| if (glGetGraphicsResetStatusEXT != nullptr) { |
| GLenum return_value = glGetGraphicsResetStatusEXT(); |
| GAPID_INFO("Returned: %u\n", return_value); |
| if (pushReturn) { |
| stack->push<GLenum>(return_value); |
| } |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetGraphicsResetStatusEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetGraphicsResetStatusEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetGraphicsResetStatusEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetGraphicsResetStatusKHR(Stack* stack, bool pushReturn) { |
| if (stack->isValid()) { |
| GAPID_INFO("glGetGraphicsResetStatusKHR()\n"); |
| if (glGetGraphicsResetStatusKHR != nullptr) { |
| GLenum return_value = glGetGraphicsResetStatusKHR(); |
| GAPID_INFO("Returned: %u\n", return_value); |
| if (pushReturn) { |
| stack->push<GLenum>(return_value); |
| } |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetGraphicsResetStatusKHR returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetGraphicsResetStatusKHR\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetGraphicsResetStatusKHR\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetImageHandleNV(Stack* stack, bool pushReturn) { |
| GLenum format = stack->pop<GLenum>(); |
| int32_t layer = stack->pop<int32_t>(); |
| uint8_t layered = stack->pop<uint8_t>(); |
| int32_t level = stack->pop<int32_t>(); |
| uint32_t texture = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetImageHandleNV(%" PRIu32 ", %" PRId32 ", %" PRIu8 ", %" PRId32 ", %u)\n", |
| texture, level, layered, layer, format); |
| if (glGetImageHandleNV != nullptr) { |
| uint64_t return_value = glGetImageHandleNV(texture, level, layered, layer, format); |
| GAPID_INFO("Returned: %" PRIu64 "\n", return_value); |
| if (pushReturn) { |
| stack->push<uint64_t>(return_value); |
| } |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetImageHandleNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetImageHandleNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetImageHandleNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetInteger64vAPPLE(Stack* stack, bool pushReturn) { |
| int64_t* params = stack->pop<int64_t*>(); |
| GLenum pname = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetInteger64vAPPLE(%u, %p)\n", pname, params); |
| if (glGetInteger64vAPPLE != nullptr) { |
| glGetInteger64vAPPLE(pname, params); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetInteger64vAPPLE returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetInteger64vAPPLE\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetInteger64vAPPLE\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetIntegeriVEXT(Stack* stack, bool pushReturn) { |
| int32_t* data = stack->pop<int32_t*>(); |
| uint32_t index = stack->pop<uint32_t>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetIntegeri_vEXT(%u, %" PRIu32 ", %p)\n", target, index, data); |
| if (glGetIntegeri_vEXT != nullptr) { |
| glGetIntegeri_vEXT(target, index, data); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetIntegeri_vEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetIntegeri_vEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetIntegeri_vEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetInternalformatSampleivNV(Stack* stack, bool pushReturn) { |
| int32_t* params = stack->pop<int32_t*>(); |
| int32_t bufSize = stack->pop<int32_t>(); |
| GLenum pname = stack->pop<GLenum>(); |
| int32_t samples = stack->pop<int32_t>(); |
| GLenum internalformat = stack->pop<GLenum>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetInternalformatSampleivNV(%u, %u, %" PRId32 ", %u, %" PRId32 ", %p)\n", |
| target, internalformat, samples, pname, bufSize, params); |
| if (glGetInternalformatSampleivNV != nullptr) { |
| glGetInternalformatSampleivNV(target, internalformat, samples, pname, bufSize, params); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetInternalformatSampleivNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetInternalformatSampleivNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetInternalformatSampleivNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetNextPerfQueryIdINTEL(Stack* stack, bool pushReturn) { |
| uint32_t* nextQueryId = stack->pop<uint32_t*>(); |
| uint32_t queryId = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetNextPerfQueryIdINTEL(%" PRIu32 ", %p)\n", queryId, nextQueryId); |
| if (glGetNextPerfQueryIdINTEL != nullptr) { |
| glGetNextPerfQueryIdINTEL(queryId, nextQueryId); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetNextPerfQueryIdINTEL returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetNextPerfQueryIdINTEL\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetNextPerfQueryIdINTEL\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetObjectLabelEXT(Stack* stack, bool pushReturn) { |
| char* label = stack->pop<char*>(); |
| int32_t* length = stack->pop<int32_t*>(); |
| int32_t bufSize = stack->pop<int32_t>(); |
| uint32_t object = stack->pop<uint32_t>(); |
| GLenum type = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetObjectLabelEXT(%u, %" PRIu32 ", %" PRId32 ", %p, %p)\n", type, object, |
| bufSize, length, label); |
| if (glGetObjectLabelEXT != nullptr) { |
| glGetObjectLabelEXT(type, object, bufSize, length, label); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetObjectLabelEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetObjectLabelEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetObjectLabelEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetPathCommandsNV(Stack* stack, bool pushReturn) { |
| uint8_t* commands = stack->pop<uint8_t*>(); |
| uint32_t path = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetPathCommandsNV(%" PRIu32 ", %p)\n", path, commands); |
| if (glGetPathCommandsNV != nullptr) { |
| glGetPathCommandsNV(path, commands); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetPathCommandsNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetPathCommandsNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetPathCommandsNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetPathCoordsNV(Stack* stack, bool pushReturn) { |
| float* coords = stack->pop<float*>(); |
| uint32_t path = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetPathCoordsNV(%" PRIu32 ", %p)\n", path, coords); |
| if (glGetPathCoordsNV != nullptr) { |
| glGetPathCoordsNV(path, coords); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetPathCoordsNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetPathCoordsNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetPathCoordsNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetPathDashArrayNV(Stack* stack, bool pushReturn) { |
| float* dashArray = stack->pop<float*>(); |
| uint32_t path = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetPathDashArrayNV(%" PRIu32 ", %p)\n", path, dashArray); |
| if (glGetPathDashArrayNV != nullptr) { |
| glGetPathDashArrayNV(path, dashArray); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetPathDashArrayNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetPathDashArrayNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetPathDashArrayNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetPathLengthNV(Stack* stack, bool pushReturn) { |
| int32_t numSegments = stack->pop<int32_t>(); |
| int32_t startSegment = stack->pop<int32_t>(); |
| uint32_t path = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetPathLengthNV(%" PRIu32 ", %" PRId32 ", %" PRId32 ")\n", path, startSegment, |
| numSegments); |
| if (glGetPathLengthNV != nullptr) { |
| float return_value = glGetPathLengthNV(path, startSegment, numSegments); |
| GAPID_INFO("Returned: %f\n", return_value); |
| if (pushReturn) { |
| stack->push<float>(return_value); |
| } |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetPathLengthNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetPathLengthNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetPathLengthNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetPathMetricRangeNV(Stack* stack, bool pushReturn) { |
| float* metrics = stack->pop<float*>(); |
| int32_t stride = stack->pop<int32_t>(); |
| int32_t numPaths = stack->pop<int32_t>(); |
| uint32_t firstPathName = stack->pop<uint32_t>(); |
| GLbitfield metricQueryMask = stack->pop<GLbitfield>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetPathMetricRangeNV(%u, %" PRIu32 ", %" PRId32 ", %" PRId32 ", %p)\n", |
| metricQueryMask, firstPathName, numPaths, stride, metrics); |
| if (glGetPathMetricRangeNV != nullptr) { |
| glGetPathMetricRangeNV(metricQueryMask, firstPathName, numPaths, stride, metrics); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetPathMetricRangeNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetPathMetricRangeNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetPathMetricRangeNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetPathMetricsNV(Stack* stack, bool pushReturn) { |
| float* metrics = stack->pop<float*>(); |
| int32_t stride = stack->pop<int32_t>(); |
| uint32_t pathBase = stack->pop<uint32_t>(); |
| void* paths = stack->pop<void*>(); |
| GLenum pathNameType = stack->pop<GLenum>(); |
| int32_t numPaths = stack->pop<int32_t>(); |
| GLbitfield metricQueryMask = stack->pop<GLbitfield>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetPathMetricsNV(%u, %" PRId32 ", %u, %p, %" PRIu32 ", %" PRId32 ", %p)\n", |
| metricQueryMask, numPaths, pathNameType, paths, pathBase, stride, metrics); |
| if (glGetPathMetricsNV != nullptr) { |
| glGetPathMetricsNV(metricQueryMask, numPaths, pathNameType, paths, pathBase, stride, |
| metrics); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetPathMetricsNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetPathMetricsNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetPathMetricsNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetPathParameterfvNV(Stack* stack, bool pushReturn) { |
| float* value = stack->pop<float*>(); |
| GLenum pname = stack->pop<GLenum>(); |
| uint32_t path = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetPathParameterfvNV(%" PRIu32 ", %u, %p)\n", path, pname, value); |
| if (glGetPathParameterfvNV != nullptr) { |
| glGetPathParameterfvNV(path, pname, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetPathParameterfvNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetPathParameterfvNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetPathParameterfvNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetPathParameterivNV(Stack* stack, bool pushReturn) { |
| int32_t* value = stack->pop<int32_t*>(); |
| GLenum pname = stack->pop<GLenum>(); |
| uint32_t path = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetPathParameterivNV(%" PRIu32 ", %u, %p)\n", path, pname, value); |
| if (glGetPathParameterivNV != nullptr) { |
| glGetPathParameterivNV(path, pname, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetPathParameterivNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetPathParameterivNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetPathParameterivNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetPathSpacingNV(Stack* stack, bool pushReturn) { |
| float* returnedSpacing = stack->pop<float*>(); |
| GLenum transformType = stack->pop<GLenum>(); |
| float kerningScale = stack->pop<float>(); |
| float advanceScale = stack->pop<float>(); |
| uint32_t pathBase = stack->pop<uint32_t>(); |
| void* paths = stack->pop<void*>(); |
| GLenum pathNameType = stack->pop<GLenum>(); |
| int32_t numPaths = stack->pop<int32_t>(); |
| GLenum pathListMode = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetPathSpacingNV(%u, %" PRId32 ", %u, %p, %" PRIu32 ", %f, %f, %u, %p)\n", |
| pathListMode, numPaths, pathNameType, paths, pathBase, advanceScale, |
| kerningScale, transformType, returnedSpacing); |
| if (glGetPathSpacingNV != nullptr) { |
| glGetPathSpacingNV(pathListMode, numPaths, pathNameType, paths, pathBase, advanceScale, |
| kerningScale, transformType, returnedSpacing); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetPathSpacingNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetPathSpacingNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetPathSpacingNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetPerfCounterInfoINTEL(Stack* stack, bool pushReturn) { |
| uint64_t* rawCounterMaxValue = stack->pop<uint64_t*>(); |
| uint32_t* counterDataTypeEnum = stack->pop<uint32_t*>(); |
| uint32_t* counterTypeEnum = stack->pop<uint32_t*>(); |
| uint32_t* counterDataSize = stack->pop<uint32_t*>(); |
| uint32_t* counterOffset = stack->pop<uint32_t*>(); |
| char* counterDesc = stack->pop<char*>(); |
| uint32_t counterDescLength = stack->pop<uint32_t>(); |
| char* counterName = stack->pop<char*>(); |
| uint32_t counterNameLength = stack->pop<uint32_t>(); |
| uint32_t counterId = stack->pop<uint32_t>(); |
| uint32_t queryId = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| 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); |
| if (glGetPerfCounterInfoINTEL != nullptr) { |
| glGetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, |
| counterDescLength, counterDesc, counterOffset, |
| counterDataSize, counterTypeEnum, counterDataTypeEnum, |
| rawCounterMaxValue); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetPerfCounterInfoINTEL returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetPerfCounterInfoINTEL\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetPerfCounterInfoINTEL\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetPerfMonitorCounterDataAMD(Stack* stack, bool pushReturn) { |
| int32_t* bytesWritten = stack->pop<int32_t*>(); |
| uint32_t* data = stack->pop<uint32_t*>(); |
| int32_t dataSize = stack->pop<int32_t>(); |
| GLenum pname = stack->pop<GLenum>(); |
| uint32_t monitor = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetPerfMonitorCounterDataAMD(%" PRIu32 ", %u, %" PRId32 ", %p, %p)\n", |
| monitor, pname, dataSize, data, bytesWritten); |
| if (glGetPerfMonitorCounterDataAMD != nullptr) { |
| glGetPerfMonitorCounterDataAMD(monitor, pname, dataSize, data, bytesWritten); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetPerfMonitorCounterDataAMD returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING( |
| "Attempted to call unsupported function glGetPerfMonitorCounterDataAMD\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetPerfMonitorCounterDataAMD\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetPerfMonitorCounterInfoAMD(Stack* stack, bool pushReturn) { |
| void* data = stack->pop<void*>(); |
| GLenum pname = stack->pop<GLenum>(); |
| uint32_t counter = stack->pop<uint32_t>(); |
| uint32_t group = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetPerfMonitorCounterInfoAMD(%" PRIu32 ", %" PRIu32 ", %u, %p)\n", group, |
| counter, pname, data); |
| if (glGetPerfMonitorCounterInfoAMD != nullptr) { |
| glGetPerfMonitorCounterInfoAMD(group, counter, pname, data); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetPerfMonitorCounterInfoAMD returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING( |
| "Attempted to call unsupported function glGetPerfMonitorCounterInfoAMD\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetPerfMonitorCounterInfoAMD\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetPerfMonitorCounterStringAMD(Stack* stack, bool pushReturn) { |
| char* counterString = stack->pop<char*>(); |
| int32_t* length = stack->pop<int32_t*>(); |
| int32_t bufSize = stack->pop<int32_t>(); |
| uint32_t counter = stack->pop<uint32_t>(); |
| uint32_t group = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetPerfMonitorCounterStringAMD(%" PRIu32 ", %" PRIu32 ", %" PRId32 |
| ", %p, %p)\n", |
| group, counter, bufSize, length, counterString); |
| if (glGetPerfMonitorCounterStringAMD != nullptr) { |
| glGetPerfMonitorCounterStringAMD(group, counter, bufSize, length, counterString); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetPerfMonitorCounterStringAMD returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING( |
| "Attempted to call unsupported function glGetPerfMonitorCounterStringAMD\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetPerfMonitorCounterStringAMD\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetPerfMonitorCountersAMD(Stack* stack, bool pushReturn) { |
| uint32_t* counters = stack->pop<uint32_t*>(); |
| int32_t counterSize = stack->pop<int32_t>(); |
| int32_t* maxActiveCounters = stack->pop<int32_t*>(); |
| int32_t* numCounters = stack->pop<int32_t*>(); |
| uint32_t group = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetPerfMonitorCountersAMD(%" PRIu32 ", %p, %p, %" PRId32 ", %p)\n", group, |
| numCounters, maxActiveCounters, counterSize, counters); |
| if (glGetPerfMonitorCountersAMD != nullptr) { |
| glGetPerfMonitorCountersAMD(group, numCounters, maxActiveCounters, counterSize, |
| counters); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetPerfMonitorCountersAMD returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetPerfMonitorCountersAMD\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetPerfMonitorCountersAMD\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetPerfMonitorGroupStringAMD(Stack* stack, bool pushReturn) { |
| char* groupString = stack->pop<char*>(); |
| int32_t* length = stack->pop<int32_t*>(); |
| int32_t bufSize = stack->pop<int32_t>(); |
| uint32_t group = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetPerfMonitorGroupStringAMD(%" PRIu32 ", %" PRId32 ", %p, %p)\n", group, |
| bufSize, length, groupString); |
| if (glGetPerfMonitorGroupStringAMD != nullptr) { |
| glGetPerfMonitorGroupStringAMD(group, bufSize, length, groupString); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetPerfMonitorGroupStringAMD returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING( |
| "Attempted to call unsupported function glGetPerfMonitorGroupStringAMD\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetPerfMonitorGroupStringAMD\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetPerfMonitorGroupsAMD(Stack* stack, bool pushReturn) { |
| uint32_t* groups = stack->pop<uint32_t*>(); |
| int32_t groupsSize = stack->pop<int32_t>(); |
| int32_t* numGroups = stack->pop<int32_t*>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetPerfMonitorGroupsAMD(%p, %" PRId32 ", %p)\n", numGroups, groupsSize, |
| groups); |
| if (glGetPerfMonitorGroupsAMD != nullptr) { |
| glGetPerfMonitorGroupsAMD(numGroups, groupsSize, groups); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetPerfMonitorGroupsAMD returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetPerfMonitorGroupsAMD\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetPerfMonitorGroupsAMD\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetPerfQueryDataINTEL(Stack* stack, bool pushReturn) { |
| uint32_t* bytesWritten = stack->pop<uint32_t*>(); |
| void* data = stack->pop<void*>(); |
| int32_t dataSize = stack->pop<int32_t>(); |
| uint32_t flag = stack->pop<uint32_t>(); |
| uint32_t queryHandle = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetPerfQueryDataINTEL(%" PRIu32 ", %" PRIu32 ", %" PRId32 ", %p, %p)\n", |
| queryHandle, flag, dataSize, data, bytesWritten); |
| if (glGetPerfQueryDataINTEL != nullptr) { |
| glGetPerfQueryDataINTEL(queryHandle, flag, dataSize, data, bytesWritten); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetPerfQueryDataINTEL returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetPerfQueryDataINTEL\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetPerfQueryDataINTEL\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetPerfQueryIdByNameINTEL(Stack* stack, bool pushReturn) { |
| uint32_t* queryId = stack->pop<uint32_t*>(); |
| char* queryName = stack->pop<char*>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetPerfQueryIdByNameINTEL(%p, %p)\n", queryName, queryId); |
| if (glGetPerfQueryIdByNameINTEL != nullptr) { |
| glGetPerfQueryIdByNameINTEL(queryName, queryId); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetPerfQueryIdByNameINTEL returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetPerfQueryIdByNameINTEL\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetPerfQueryIdByNameINTEL\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetPerfQueryInfoINTEL(Stack* stack, bool pushReturn) { |
| uint32_t* capsMask = stack->pop<uint32_t*>(); |
| uint32_t* noInstances = stack->pop<uint32_t*>(); |
| uint32_t* noCounters = stack->pop<uint32_t*>(); |
| uint32_t* dataSize = stack->pop<uint32_t*>(); |
| char* queryName = stack->pop<char*>(); |
| uint32_t queryNameLength = stack->pop<uint32_t>(); |
| uint32_t queryId = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetPerfQueryInfoINTEL(%" PRIu32 ", %" PRIu32 ", %p, %p, %p, %p, %p)\n", |
| queryId, queryNameLength, queryName, dataSize, noCounters, noInstances, |
| capsMask); |
| if (glGetPerfQueryInfoINTEL != nullptr) { |
| glGetPerfQueryInfoINTEL(queryId, queryNameLength, queryName, dataSize, noCounters, |
| noInstances, capsMask); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetPerfQueryInfoINTEL returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetPerfQueryInfoINTEL\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetPerfQueryInfoINTEL\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetProgramBinaryOES(Stack* stack, bool pushReturn) { |
| void* binary = stack->pop<void*>(); |
| GLenum* binary_format = stack->pop<GLenum*>(); |
| int32_t* bytes_written = stack->pop<int32_t*>(); |
| int32_t buffer_size = stack->pop<int32_t>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetProgramBinaryOES(%" PRIu32 ", %" PRId32 ", %p, %p, %p)\n", program, |
| buffer_size, bytes_written, binary_format, binary); |
| if (glGetProgramBinaryOES != nullptr) { |
| glGetProgramBinaryOES(program, buffer_size, bytes_written, binary_format, binary); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetProgramBinaryOES returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetProgramBinaryOES\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetProgramBinaryOES\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetProgramPipelineInfoLogEXT(Stack* stack, bool pushReturn) { |
| char* infoLog = stack->pop<char*>(); |
| int32_t* length = stack->pop<int32_t*>(); |
| int32_t bufSize = stack->pop<int32_t>(); |
| uint32_t pipeline = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetProgramPipelineInfoLogEXT(%" PRIu32 ", %" PRId32 ", %p, %p)\n", pipeline, |
| bufSize, length, infoLog); |
| if (glGetProgramPipelineInfoLogEXT != nullptr) { |
| glGetProgramPipelineInfoLogEXT(pipeline, bufSize, length, infoLog); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetProgramPipelineInfoLogEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING( |
| "Attempted to call unsupported function glGetProgramPipelineInfoLogEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetProgramPipelineInfoLogEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetProgramPipelineivEXT(Stack* stack, bool pushReturn) { |
| int32_t* params = stack->pop<int32_t*>(); |
| GLenum pname = stack->pop<GLenum>(); |
| uint32_t pipeline = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetProgramPipelineivEXT(%" PRIu32 ", %u, %p)\n", pipeline, pname, params); |
| if (glGetProgramPipelineivEXT != nullptr) { |
| glGetProgramPipelineivEXT(pipeline, pname, params); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetProgramPipelineivEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetProgramPipelineivEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetProgramPipelineivEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetProgramResourcefvNV(Stack* stack, bool pushReturn) { |
| float* params = stack->pop<float*>(); |
| int32_t* length = stack->pop<int32_t*>(); |
| int32_t bufSize = stack->pop<int32_t>(); |
| GLenum* props = stack->pop<GLenum*>(); |
| int32_t propCount = stack->pop<int32_t>(); |
| uint32_t index = stack->pop<uint32_t>(); |
| GLenum programInterface = stack->pop<GLenum>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetProgramResourcefvNV(%" PRIu32 ", %u, %" PRIu32 ", %" PRId32 |
| ", %p, %" PRId32 ", %p, %p)\n", |
| program, programInterface, index, propCount, props, bufSize, length, params); |
| if (glGetProgramResourcefvNV != nullptr) { |
| glGetProgramResourcefvNV(program, programInterface, index, propCount, props, bufSize, |
| length, params); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetProgramResourcefvNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetProgramResourcefvNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetProgramResourcefvNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetQueryObjecti64vEXT(Stack* stack, bool pushReturn) { |
| int64_t* value = stack->pop<int64_t*>(); |
| GLenum parameter = stack->pop<GLenum>(); |
| uint32_t query = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetQueryObjecti64vEXT(%" PRIu32 ", %u, %p)\n", query, parameter, value); |
| if (glGetQueryObjecti64vEXT != nullptr) { |
| glGetQueryObjecti64vEXT(query, parameter, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetQueryObjecti64vEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetQueryObjecti64vEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetQueryObjecti64vEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetQueryObjectivEXT(Stack* stack, bool pushReturn) { |
| int32_t* value = stack->pop<int32_t*>(); |
| GLenum parameter = stack->pop<GLenum>(); |
| uint32_t query = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetQueryObjectivEXT(%" PRIu32 ", %u, %p)\n", query, parameter, value); |
| if (glGetQueryObjectivEXT != nullptr) { |
| glGetQueryObjectivEXT(query, parameter, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetQueryObjectivEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetQueryObjectivEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetQueryObjectivEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetQueryObjectui64vEXT(Stack* stack, bool pushReturn) { |
| uint64_t* value = stack->pop<uint64_t*>(); |
| GLenum parameter = stack->pop<GLenum>(); |
| uint32_t query = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetQueryObjectui64vEXT(%" PRIu32 ", %u, %p)\n", query, parameter, value); |
| if (glGetQueryObjectui64vEXT != nullptr) { |
| glGetQueryObjectui64vEXT(query, parameter, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetQueryObjectui64vEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetQueryObjectui64vEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetQueryObjectui64vEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetQueryObjectuivEXT(Stack* stack, bool pushReturn) { |
| uint32_t* value = stack->pop<uint32_t*>(); |
| GLenum parameter = stack->pop<GLenum>(); |
| uint32_t query = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetQueryObjectuivEXT(%" PRIu32 ", %u, %p)\n", query, parameter, value); |
| if (glGetQueryObjectuivEXT != nullptr) { |
| glGetQueryObjectuivEXT(query, parameter, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetQueryObjectuivEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetQueryObjectuivEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetQueryObjectuivEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetQueryivEXT(Stack* stack, bool pushReturn) { |
| int32_t* value = stack->pop<int32_t*>(); |
| GLenum parameter = stack->pop<GLenum>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetQueryivEXT(%u, %u, %p)\n", target, parameter, value); |
| if (glGetQueryivEXT != nullptr) { |
| glGetQueryivEXT(target, parameter, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetQueryivEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetQueryivEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetQueryivEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetSamplerParameterIivOES(Stack* stack, bool pushReturn) { |
| int32_t* params = stack->pop<int32_t*>(); |
| GLenum pname = stack->pop<GLenum>(); |
| uint32_t sampler = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetSamplerParameterIivOES(%" PRIu32 ", %u, %p)\n", sampler, pname, params); |
| if (glGetSamplerParameterIivOES != nullptr) { |
| glGetSamplerParameterIivOES(sampler, pname, params); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetSamplerParameterIivOES returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetSamplerParameterIivOES\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetSamplerParameterIivOES\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetSamplerParameterIuivOES(Stack* stack, bool pushReturn) { |
| uint32_t* params = stack->pop<uint32_t*>(); |
| GLenum pname = stack->pop<GLenum>(); |
| uint32_t sampler = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetSamplerParameterIuivOES(%" PRIu32 ", %u, %p)\n", sampler, pname, params); |
| if (glGetSamplerParameterIuivOES != nullptr) { |
| glGetSamplerParameterIuivOES(sampler, pname, params); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetSamplerParameterIuivOES returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetSamplerParameterIuivOES\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetSamplerParameterIuivOES\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetSyncivAPPLE(Stack* stack, bool pushReturn) { |
| int32_t* values = stack->pop<int32_t*>(); |
| int32_t* length = stack->pop<int32_t*>(); |
| int32_t bufSize = stack->pop<int32_t>(); |
| GLenum pname = stack->pop<GLenum>(); |
| uint64_t sync = stack->pop<uint64_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetSyncivAPPLE(%" PRIu64 ", %u, %" PRId32 ", %p, %p)\n", sync, pname, bufSize, |
| length, values); |
| if (glGetSyncivAPPLE != nullptr) { |
| glGetSyncivAPPLE(sync, pname, bufSize, length, values); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetSyncivAPPLE returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetSyncivAPPLE\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetSyncivAPPLE\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetTexParameterIivOES(Stack* stack, bool pushReturn) { |
| int32_t* params = stack->pop<int32_t*>(); |
| GLenum pname = stack->pop<GLenum>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetTexParameterIivOES(%u, %u, %p)\n", target, pname, params); |
| if (glGetTexParameterIivOES != nullptr) { |
| glGetTexParameterIivOES(target, pname, params); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetTexParameterIivOES returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetTexParameterIivOES\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetTexParameterIivOES\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetTexParameterIuivOES(Stack* stack, bool pushReturn) { |
| uint32_t* params = stack->pop<uint32_t*>(); |
| GLenum pname = stack->pop<GLenum>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetTexParameterIuivOES(%u, %u, %p)\n", target, pname, params); |
| if (glGetTexParameterIuivOES != nullptr) { |
| glGetTexParameterIuivOES(target, pname, params); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetTexParameterIuivOES returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetTexParameterIuivOES\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetTexParameterIuivOES\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetTextureHandleNV(Stack* stack, bool pushReturn) { |
| uint32_t texture = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetTextureHandleNV(%" PRIu32 ")\n", texture); |
| if (glGetTextureHandleNV != nullptr) { |
| uint64_t return_value = glGetTextureHandleNV(texture); |
| GAPID_INFO("Returned: %" PRIu64 "\n", return_value); |
| if (pushReturn) { |
| stack->push<uint64_t>(return_value); |
| } |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetTextureHandleNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetTextureHandleNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetTextureHandleNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetTextureSamplerHandleNV(Stack* stack, bool pushReturn) { |
| uint32_t sampler = stack->pop<uint32_t>(); |
| uint32_t texture = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetTextureSamplerHandleNV(%" PRIu32 ", %" PRIu32 ")\n", texture, sampler); |
| if (glGetTextureSamplerHandleNV != nullptr) { |
| uint64_t return_value = glGetTextureSamplerHandleNV(texture, sampler); |
| GAPID_INFO("Returned: %" PRIu64 "\n", return_value); |
| if (pushReturn) { |
| stack->push<uint64_t>(return_value); |
| } |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetTextureSamplerHandleNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetTextureSamplerHandleNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetTextureSamplerHandleNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetTranslatedShaderSourceANGLE(Stack* stack, bool pushReturn) { |
| char* source = stack->pop<char*>(); |
| int32_t* length = stack->pop<int32_t*>(); |
| int32_t bufsize = stack->pop<int32_t>(); |
| uint32_t shader = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetTranslatedShaderSourceANGLE(%" PRIu32 ", %" PRId32 ", %p, %p)\n", shader, |
| bufsize, length, source); |
| if (glGetTranslatedShaderSourceANGLE != nullptr) { |
| glGetTranslatedShaderSourceANGLE(shader, bufsize, length, source); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetTranslatedShaderSourceANGLE returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING( |
| "Attempted to call unsupported function glGetTranslatedShaderSourceANGLE\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetTranslatedShaderSourceANGLE\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetnUniformfvEXT(Stack* stack, bool pushReturn) { |
| float* params = stack->pop<float*>(); |
| int32_t bufSize = stack->pop<int32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetnUniformfvEXT(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %p)\n", program, |
| location, bufSize, params); |
| if (glGetnUniformfvEXT != nullptr) { |
| glGetnUniformfvEXT(program, location, bufSize, params); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetnUniformfvEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetnUniformfvEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetnUniformfvEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetnUniformfvKHR(Stack* stack, bool pushReturn) { |
| float* params = stack->pop<float*>(); |
| int32_t bufSize = stack->pop<int32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetnUniformfvKHR(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %p)\n", program, |
| location, bufSize, params); |
| if (glGetnUniformfvKHR != nullptr) { |
| glGetnUniformfvKHR(program, location, bufSize, params); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetnUniformfvKHR returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetnUniformfvKHR\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetnUniformfvKHR\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetnUniformivEXT(Stack* stack, bool pushReturn) { |
| int32_t* params = stack->pop<int32_t*>(); |
| int32_t bufSize = stack->pop<int32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetnUniformivEXT(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %p)\n", program, |
| location, bufSize, params); |
| if (glGetnUniformivEXT != nullptr) { |
| glGetnUniformivEXT(program, location, bufSize, params); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetnUniformivEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetnUniformivEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetnUniformivEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetnUniformivKHR(Stack* stack, bool pushReturn) { |
| int32_t* params = stack->pop<int32_t*>(); |
| int32_t bufSize = stack->pop<int32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetnUniformivKHR(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %p)\n", program, |
| location, bufSize, params); |
| if (glGetnUniformivKHR != nullptr) { |
| glGetnUniformivKHR(program, location, bufSize, params); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetnUniformivKHR returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetnUniformivKHR\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetnUniformivKHR\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetnUniformuivKHR(Stack* stack, bool pushReturn) { |
| uint32_t* params = stack->pop<uint32_t*>(); |
| int32_t bufSize = stack->pop<int32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetnUniformuivKHR(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %p)\n", program, |
| location, bufSize, params); |
| if (glGetnUniformuivKHR != nullptr) { |
| glGetnUniformuivKHR(program, location, bufSize, params); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetnUniformuivKHR returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetnUniformuivKHR\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetnUniformuivKHR\n"); |
| return false; |
| } |
| } |
| |
| bool callGlInsertEventMarkerEXT(Stack* stack, bool pushReturn) { |
| char* marker = stack->pop<char*>(); |
| int32_t length = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glInsertEventMarkerEXT(%" PRId32 ", %p)\n", length, marker); |
| if (glInsertEventMarkerEXT != nullptr) { |
| glInsertEventMarkerEXT(length, marker); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glInsertEventMarkerEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glInsertEventMarkerEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glInsertEventMarkerEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlInterpolatePathsNV(Stack* stack, bool pushReturn) { |
| float weight = stack->pop<float>(); |
| uint32_t pathB = stack->pop<uint32_t>(); |
| uint32_t pathA = stack->pop<uint32_t>(); |
| uint32_t resultPath = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glInterpolatePathsNV(%" PRIu32 ", %" PRIu32 ", %" PRIu32 ", %f)\n", resultPath, |
| pathA, pathB, weight); |
| if (glInterpolatePathsNV != nullptr) { |
| glInterpolatePathsNV(resultPath, pathA, pathB, weight); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glInterpolatePathsNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glInterpolatePathsNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glInterpolatePathsNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlIsEnablediOES(Stack* stack, bool pushReturn) { |
| uint32_t index = stack->pop<uint32_t>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glIsEnablediOES(%u, %" PRIu32 ")\n", target, index); |
| if (glIsEnablediOES != nullptr) { |
| uint8_t return_value = glIsEnablediOES(target, index); |
| GAPID_INFO("Returned: %" PRIu8 "\n", return_value); |
| if (pushReturn) { |
| stack->push<uint8_t>(return_value); |
| } |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glIsEnablediOES returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glIsEnablediOES\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glIsEnablediOES\n"); |
| return false; |
| } |
| } |
| |
| bool callGlIsEnablediNV(Stack* stack, bool pushReturn) { |
| uint32_t index = stack->pop<uint32_t>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glIsEnablediNV(%u, %" PRIu32 ")\n", target, index); |
| if (glIsEnablediNV != nullptr) { |
| uint8_t return_value = glIsEnablediNV(target, index); |
| GAPID_INFO("Returned: %" PRIu8 "\n", return_value); |
| if (pushReturn) { |
| stack->push<uint8_t>(return_value); |
| } |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glIsEnablediNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glIsEnablediNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glIsEnablediNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlIsFenceNV(Stack* stack, bool pushReturn) { |
| uint32_t fence = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glIsFenceNV(%" PRIu32 ")\n", fence); |
| if (glIsFenceNV != nullptr) { |
| uint8_t return_value = glIsFenceNV(fence); |
| GAPID_INFO("Returned: %" PRIu8 "\n", return_value); |
| if (pushReturn) { |
| stack->push<uint8_t>(return_value); |
| } |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glIsFenceNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glIsFenceNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glIsFenceNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlIsImageHandleResidentNV(Stack* stack, bool pushReturn) { |
| uint64_t handle = stack->pop<uint64_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glIsImageHandleResidentNV(%" PRIu64 ")\n", handle); |
| if (glIsImageHandleResidentNV != nullptr) { |
| uint8_t return_value = glIsImageHandleResidentNV(handle); |
| GAPID_INFO("Returned: %" PRIu8 "\n", return_value); |
| if (pushReturn) { |
| stack->push<uint8_t>(return_value); |
| } |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glIsImageHandleResidentNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glIsImageHandleResidentNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glIsImageHandleResidentNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlIsPathNV(Stack* stack, bool pushReturn) { |
| uint32_t path = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glIsPathNV(%" PRIu32 ")\n", path); |
| if (glIsPathNV != nullptr) { |
| uint8_t return_value = glIsPathNV(path); |
| GAPID_INFO("Returned: %" PRIu8 "\n", return_value); |
| if (pushReturn) { |
| stack->push<uint8_t>(return_value); |
| } |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glIsPathNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glIsPathNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glIsPathNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlIsPointInFillPathNV(Stack* stack, bool pushReturn) { |
| float y = stack->pop<float>(); |
| float x = stack->pop<float>(); |
| uint32_t mask = stack->pop<uint32_t>(); |
| uint32_t path = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glIsPointInFillPathNV(%" PRIu32 ", %" PRIu32 ", %f, %f)\n", path, mask, x, y); |
| if (glIsPointInFillPathNV != nullptr) { |
| uint8_t return_value = glIsPointInFillPathNV(path, mask, x, y); |
| GAPID_INFO("Returned: %" PRIu8 "\n", return_value); |
| if (pushReturn) { |
| stack->push<uint8_t>(return_value); |
| } |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glIsPointInFillPathNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glIsPointInFillPathNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glIsPointInFillPathNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlIsPointInStrokePathNV(Stack* stack, bool pushReturn) { |
| float y = stack->pop<float>(); |
| float x = stack->pop<float>(); |
| uint32_t path = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glIsPointInStrokePathNV(%" PRIu32 ", %f, %f)\n", path, x, y); |
| if (glIsPointInStrokePathNV != nullptr) { |
| uint8_t return_value = glIsPointInStrokePathNV(path, x, y); |
| GAPID_INFO("Returned: %" PRIu8 "\n", return_value); |
| if (pushReturn) { |
| stack->push<uint8_t>(return_value); |
| } |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glIsPointInStrokePathNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glIsPointInStrokePathNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glIsPointInStrokePathNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlIsProgramPipelineEXT(Stack* stack, bool pushReturn) { |
| uint32_t pipeline = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glIsProgramPipelineEXT(%" PRIu32 ")\n", pipeline); |
| if (glIsProgramPipelineEXT != nullptr) { |
| uint8_t return_value = glIsProgramPipelineEXT(pipeline); |
| GAPID_INFO("Returned: %" PRIu8 "\n", return_value); |
| if (pushReturn) { |
| stack->push<uint8_t>(return_value); |
| } |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glIsProgramPipelineEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glIsProgramPipelineEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glIsProgramPipelineEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlIsQueryEXT(Stack* stack, bool pushReturn) { |
| uint32_t query = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glIsQueryEXT(%" PRIu32 ")\n", query); |
| if (glIsQueryEXT != nullptr) { |
| uint8_t return_value = glIsQueryEXT(query); |
| GAPID_INFO("Returned: %" PRIu8 "\n", return_value); |
| if (pushReturn) { |
| stack->push<uint8_t>(return_value); |
| } |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glIsQueryEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glIsQueryEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glIsQueryEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlIsSyncAPPLE(Stack* stack, bool pushReturn) { |
| uint64_t sync = stack->pop<uint64_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glIsSyncAPPLE(%" PRIu64 ")\n", sync); |
| if (glIsSyncAPPLE != nullptr) { |
| uint8_t return_value = glIsSyncAPPLE(sync); |
| GAPID_INFO("Returned: %" PRIu8 "\n", return_value); |
| if (pushReturn) { |
| stack->push<uint8_t>(return_value); |
| } |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glIsSyncAPPLE returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glIsSyncAPPLE\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glIsSyncAPPLE\n"); |
| return false; |
| } |
| } |
| |
| bool callGlIsTextureHandleResidentNV(Stack* stack, bool pushReturn) { |
| uint64_t handle = stack->pop<uint64_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glIsTextureHandleResidentNV(%" PRIu64 ")\n", handle); |
| if (glIsTextureHandleResidentNV != nullptr) { |
| uint8_t return_value = glIsTextureHandleResidentNV(handle); |
| GAPID_INFO("Returned: %" PRIu8 "\n", return_value); |
| if (pushReturn) { |
| stack->push<uint8_t>(return_value); |
| } |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glIsTextureHandleResidentNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glIsTextureHandleResidentNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glIsTextureHandleResidentNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlIsVertexArrayOES(Stack* stack, bool pushReturn) { |
| uint32_t array = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glIsVertexArrayOES(%" PRIu32 ")\n", array); |
| if (glIsVertexArrayOES != nullptr) { |
| uint8_t return_value = glIsVertexArrayOES(array); |
| GAPID_INFO("Returned: %" PRIu8 "\n", return_value); |
| if (pushReturn) { |
| stack->push<uint8_t>(return_value); |
| } |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glIsVertexArrayOES returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glIsVertexArrayOES\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glIsVertexArrayOES\n"); |
| return false; |
| } |
| } |
| |
| bool callGlLabelObjectEXT(Stack* stack, bool pushReturn) { |
| char* label = stack->pop<char*>(); |
| int32_t length = stack->pop<int32_t>(); |
| uint32_t object = stack->pop<uint32_t>(); |
| GLenum type = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glLabelObjectEXT(%u, %" PRIu32 ", %" PRId32 ", %p)\n", type, object, length, |
| label); |
| if (glLabelObjectEXT != nullptr) { |
| glLabelObjectEXT(type, object, length, label); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glLabelObjectEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glLabelObjectEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glLabelObjectEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlMakeImageHandleNonResidentNV(Stack* stack, bool pushReturn) { |
| uint64_t handle = stack->pop<uint64_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glMakeImageHandleNonResidentNV(%" PRIu64 ")\n", handle); |
| if (glMakeImageHandleNonResidentNV != nullptr) { |
| glMakeImageHandleNonResidentNV(handle); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glMakeImageHandleNonResidentNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING( |
| "Attempted to call unsupported function glMakeImageHandleNonResidentNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glMakeImageHandleNonResidentNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlMakeImageHandleResidentNV(Stack* stack, bool pushReturn) { |
| GLenum access = stack->pop<GLenum>(); |
| uint64_t handle = stack->pop<uint64_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glMakeImageHandleResidentNV(%" PRIu64 ", %u)\n", handle, access); |
| if (glMakeImageHandleResidentNV != nullptr) { |
| glMakeImageHandleResidentNV(handle, access); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glMakeImageHandleResidentNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glMakeImageHandleResidentNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glMakeImageHandleResidentNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlMakeTextureHandleNonResidentNV(Stack* stack, bool pushReturn) { |
| uint64_t handle = stack->pop<uint64_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glMakeTextureHandleNonResidentNV(%" PRIu64 ")\n", handle); |
| if (glMakeTextureHandleNonResidentNV != nullptr) { |
| glMakeTextureHandleNonResidentNV(handle); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glMakeTextureHandleNonResidentNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING( |
| "Attempted to call unsupported function glMakeTextureHandleNonResidentNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glMakeTextureHandleNonResidentNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlMakeTextureHandleResidentNV(Stack* stack, bool pushReturn) { |
| uint64_t handle = stack->pop<uint64_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glMakeTextureHandleResidentNV(%" PRIu64 ")\n", handle); |
| if (glMakeTextureHandleResidentNV != nullptr) { |
| glMakeTextureHandleResidentNV(handle); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glMakeTextureHandleResidentNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glMakeTextureHandleResidentNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glMakeTextureHandleResidentNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlMapBufferOES(Stack* stack, bool pushReturn) { |
| GLenum access = stack->pop<GLenum>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glMapBufferOES(%u, %u)\n", target, access); |
| if (glMapBufferOES != nullptr) { |
| void* return_value = glMapBufferOES(target, access); |
| GAPID_INFO("Returned: %p\n", return_value); |
| if (pushReturn) { |
| stack->push<void*>(return_value); |
| } |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glMapBufferOES returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glMapBufferOES\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glMapBufferOES\n"); |
| return false; |
| } |
| } |
| |
| bool callGlMapBufferRangeEXT(Stack* stack, bool pushReturn) { |
| GLbitfield access = stack->pop<GLbitfield>(); |
| int32_t length = stack->pop<int32_t>(); |
| int32_t offset = stack->pop<int32_t>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glMapBufferRangeEXT(%u, %" PRId32 ", %" PRId32 ", %u)\n", target, offset, |
| length, access); |
| if (glMapBufferRangeEXT != nullptr) { |
| void* return_value = glMapBufferRangeEXT(target, offset, length, access); |
| GAPID_INFO("Returned: %p\n", return_value); |
| if (pushReturn) { |
| stack->push<void*>(return_value); |
| } |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glMapBufferRangeEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glMapBufferRangeEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glMapBufferRangeEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlMatrixLoad3x2fNV(Stack* stack, bool pushReturn) { |
| float* m = stack->pop<float*>(); |
| GLenum matrixMode = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glMatrixLoad3x2fNV(%u, %p)\n", matrixMode, m); |
| if (glMatrixLoad3x2fNV != nullptr) { |
| glMatrixLoad3x2fNV(matrixMode, m); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glMatrixLoad3x2fNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glMatrixLoad3x2fNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glMatrixLoad3x2fNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlMatrixLoad3x3fNV(Stack* stack, bool pushReturn) { |
| float* m = stack->pop<float*>(); |
| GLenum matrixMode = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glMatrixLoad3x3fNV(%u, %p)\n", matrixMode, m); |
| if (glMatrixLoad3x3fNV != nullptr) { |
| glMatrixLoad3x3fNV(matrixMode, m); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glMatrixLoad3x3fNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glMatrixLoad3x3fNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glMatrixLoad3x3fNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlMatrixLoadTranspose3x3fNV(Stack* stack, bool pushReturn) { |
| float* m = stack->pop<float*>(); |
| GLenum matrixMode = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glMatrixLoadTranspose3x3fNV(%u, %p)\n", matrixMode, m); |
| if (glMatrixLoadTranspose3x3fNV != nullptr) { |
| glMatrixLoadTranspose3x3fNV(matrixMode, m); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glMatrixLoadTranspose3x3fNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glMatrixLoadTranspose3x3fNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glMatrixLoadTranspose3x3fNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlMatrixMult3x2fNV(Stack* stack, bool pushReturn) { |
| float* m = stack->pop<float*>(); |
| GLenum matrixMode = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glMatrixMult3x2fNV(%u, %p)\n", matrixMode, m); |
| if (glMatrixMult3x2fNV != nullptr) { |
| glMatrixMult3x2fNV(matrixMode, m); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glMatrixMult3x2fNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glMatrixMult3x2fNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glMatrixMult3x2fNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlMatrixMult3x3fNV(Stack* stack, bool pushReturn) { |
| float* m = stack->pop<float*>(); |
| GLenum matrixMode = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glMatrixMult3x3fNV(%u, %p)\n", matrixMode, m); |
| if (glMatrixMult3x3fNV != nullptr) { |
| glMatrixMult3x3fNV(matrixMode, m); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glMatrixMult3x3fNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glMatrixMult3x3fNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glMatrixMult3x3fNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlMatrixMultTranspose3x3fNV(Stack* stack, bool pushReturn) { |
| float* m = stack->pop<float*>(); |
| GLenum matrixMode = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glMatrixMultTranspose3x3fNV(%u, %p)\n", matrixMode, m); |
| if (glMatrixMultTranspose3x3fNV != nullptr) { |
| glMatrixMultTranspose3x3fNV(matrixMode, m); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glMatrixMultTranspose3x3fNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glMatrixMultTranspose3x3fNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glMatrixMultTranspose3x3fNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlMultiDrawArraysEXT(Stack* stack, bool pushReturn) { |
| int32_t primcount = stack->pop<int32_t>(); |
| int32_t* count = stack->pop<int32_t*>(); |
| int32_t* first = stack->pop<int32_t*>(); |
| GLenum mode = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glMultiDrawArraysEXT(%u, %p, %p, %" PRId32 ")\n", mode, first, count, |
| primcount); |
| if (glMultiDrawArraysEXT != nullptr) { |
| glMultiDrawArraysEXT(mode, first, count, primcount); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glMultiDrawArraysEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glMultiDrawArraysEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glMultiDrawArraysEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlMultiDrawArraysIndirectEXT(Stack* stack, bool pushReturn) { |
| int32_t stride = stack->pop<int32_t>(); |
| int32_t drawcount = stack->pop<int32_t>(); |
| void* indirect = stack->pop<void*>(); |
| GLenum mode = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glMultiDrawArraysIndirectEXT(%u, %p, %" PRId32 ", %" PRId32 ")\n", mode, |
| indirect, drawcount, stride); |
| if (glMultiDrawArraysIndirectEXT != nullptr) { |
| glMultiDrawArraysIndirectEXT(mode, indirect, drawcount, stride); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glMultiDrawArraysIndirectEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glMultiDrawArraysIndirectEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glMultiDrawArraysIndirectEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlMultiDrawElementsBaseVertexEXT(Stack* stack, bool pushReturn) { |
| int32_t* basevertex = stack->pop<int32_t*>(); |
| int32_t primcount = stack->pop<int32_t>(); |
| void** indices = stack->pop<void**>(); |
| GLenum type = stack->pop<GLenum>(); |
| int32_t* count = stack->pop<int32_t*>(); |
| GLenum mode = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glMultiDrawElementsBaseVertexEXT(%u, %p, %u, %p, %" PRId32 ", %p)\n", mode, |
| count, type, indices, primcount, basevertex); |
| if (glMultiDrawElementsBaseVertexEXT != nullptr) { |
| glMultiDrawElementsBaseVertexEXT(mode, count, type, indices, primcount, basevertex); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glMultiDrawElementsBaseVertexEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING( |
| "Attempted to call unsupported function glMultiDrawElementsBaseVertexEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glMultiDrawElementsBaseVertexEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlMultiDrawElementsBaseVertexOES(Stack* stack, bool pushReturn) { |
| int32_t* basevertex = stack->pop<int32_t*>(); |
| int32_t primcount = stack->pop<int32_t>(); |
| void** indices = stack->pop<void**>(); |
| GLenum type = stack->pop<GLenum>(); |
| int32_t* count = stack->pop<int32_t*>(); |
| GLenum mode = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glMultiDrawElementsBaseVertexOES(%u, %p, %u, %p, %" PRId32 ", %p)\n", mode, |
| count, type, indices, primcount, basevertex); |
| if (glMultiDrawElementsBaseVertexOES != nullptr) { |
| glMultiDrawElementsBaseVertexOES(mode, count, type, indices, primcount, basevertex); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glMultiDrawElementsBaseVertexOES returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING( |
| "Attempted to call unsupported function glMultiDrawElementsBaseVertexOES\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glMultiDrawElementsBaseVertexOES\n"); |
| return false; |
| } |
| } |
| |
| bool callGlMultiDrawElementsEXT(Stack* stack, bool pushReturn) { |
| int32_t primcount = stack->pop<int32_t>(); |
| void** indices = stack->pop<void**>(); |
| GLenum type = stack->pop<GLenum>(); |
| int32_t* count = stack->pop<int32_t*>(); |
| GLenum mode = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glMultiDrawElementsEXT(%u, %p, %u, %p, %" PRId32 ")\n", mode, count, type, |
| indices, primcount); |
| if (glMultiDrawElementsEXT != nullptr) { |
| glMultiDrawElementsEXT(mode, count, type, indices, primcount); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glMultiDrawElementsEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glMultiDrawElementsEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glMultiDrawElementsEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlMultiDrawElementsIndirectEXT(Stack* stack, bool pushReturn) { |
| int32_t stride = stack->pop<int32_t>(); |
| int32_t drawcount = stack->pop<int32_t>(); |
| void* indirect = stack->pop<void*>(); |
| GLenum type = stack->pop<GLenum>(); |
| GLenum mode = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glMultiDrawElementsIndirectEXT(%u, %u, %p, %" PRId32 ", %" PRId32 ")\n", mode, |
| type, indirect, drawcount, stride); |
| if (glMultiDrawElementsIndirectEXT != nullptr) { |
| glMultiDrawElementsIndirectEXT(mode, type, indirect, drawcount, stride); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glMultiDrawElementsIndirectEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING( |
| "Attempted to call unsupported function glMultiDrawElementsIndirectEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glMultiDrawElementsIndirectEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlPatchParameteriOES(Stack* stack, bool pushReturn) { |
| int32_t value = stack->pop<int32_t>(); |
| GLenum pname = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glPatchParameteriOES(%u, %" PRId32 ")\n", pname, value); |
| if (glPatchParameteriOES != nullptr) { |
| glPatchParameteriOES(pname, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glPatchParameteriOES returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glPatchParameteriOES\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glPatchParameteriOES\n"); |
| return false; |
| } |
| } |
| |
| bool callGlPathCommandsNV(Stack* stack, bool pushReturn) { |
| void* coords = stack->pop<void*>(); |
| GLenum coordType = stack->pop<GLenum>(); |
| int32_t numCoords = stack->pop<int32_t>(); |
| uint8_t* commands = stack->pop<uint8_t*>(); |
| int32_t numCommands = stack->pop<int32_t>(); |
| uint32_t path = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glPathCommandsNV(%" PRIu32 ", %" PRId32 ", %p, %" PRId32 ", %u, %p)\n", path, |
| numCommands, commands, numCoords, coordType, coords); |
| if (glPathCommandsNV != nullptr) { |
| glPathCommandsNV(path, numCommands, commands, numCoords, coordType, coords); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glPathCommandsNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glPathCommandsNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glPathCommandsNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlPathCoordsNV(Stack* stack, bool pushReturn) { |
| void* coords = stack->pop<void*>(); |
| GLenum coordType = stack->pop<GLenum>(); |
| int32_t numCoords = stack->pop<int32_t>(); |
| uint32_t path = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glPathCoordsNV(%" PRIu32 ", %" PRId32 ", %u, %p)\n", path, numCoords, coordType, |
| coords); |
| if (glPathCoordsNV != nullptr) { |
| glPathCoordsNV(path, numCoords, coordType, coords); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glPathCoordsNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glPathCoordsNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glPathCoordsNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlPathCoverDepthFuncNV(Stack* stack, bool pushReturn) { |
| GLenum func = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glPathCoverDepthFuncNV(%u)\n", func); |
| if (glPathCoverDepthFuncNV != nullptr) { |
| glPathCoverDepthFuncNV(func); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glPathCoverDepthFuncNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glPathCoverDepthFuncNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glPathCoverDepthFuncNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlPathDashArrayNV(Stack* stack, bool pushReturn) { |
| float* dashArray = stack->pop<float*>(); |
| int32_t dashCount = stack->pop<int32_t>(); |
| uint32_t path = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glPathDashArrayNV(%" PRIu32 ", %" PRId32 ", %p)\n", path, dashCount, dashArray); |
| if (glPathDashArrayNV != nullptr) { |
| glPathDashArrayNV(path, dashCount, dashArray); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glPathDashArrayNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glPathDashArrayNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glPathDashArrayNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlPathGlyphIndexArrayNV(Stack* stack, bool pushReturn) { |
| float emScale = stack->pop<float>(); |
| uint32_t pathParameterTemplate = stack->pop<uint32_t>(); |
| int32_t numGlyphs = stack->pop<int32_t>(); |
| uint32_t firstGlyphIndex = stack->pop<uint32_t>(); |
| GLbitfield fontStyle = stack->pop<GLbitfield>(); |
| void* fontName = stack->pop<void*>(); |
| GLenum fontTarget = stack->pop<GLenum>(); |
| uint32_t firstPathName = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glPathGlyphIndexArrayNV(%" PRIu32 ", %u, %p, %u, %" PRIu32 ", %" PRId32 |
| ", %" PRIu32 ", %f)\n", |
| firstPathName, fontTarget, fontName, fontStyle, firstGlyphIndex, numGlyphs, |
| pathParameterTemplate, emScale); |
| if (glPathGlyphIndexArrayNV != nullptr) { |
| GLenum return_value = glPathGlyphIndexArrayNV(firstPathName, fontTarget, fontName, |
| fontStyle, firstGlyphIndex, numGlyphs, |
| pathParameterTemplate, emScale); |
| GAPID_INFO("Returned: %u\n", return_value); |
| if (pushReturn) { |
| stack->push<GLenum>(return_value); |
| } |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glPathGlyphIndexArrayNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glPathGlyphIndexArrayNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glPathGlyphIndexArrayNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlPathGlyphIndexRangeNV(Stack* stack, bool pushReturn) { |
| uint32_t baseAndCount = stack->pop<uint32_t>(); |
| float emScale = stack->pop<float>(); |
| uint32_t pathParameterTemplate = stack->pop<uint32_t>(); |
| GLbitfield fontStyle = stack->pop<GLbitfield>(); |
| void* fontName = stack->pop<void*>(); |
| GLenum fontTarget = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glPathGlyphIndexRangeNV(%u, %p, %u, %" PRIu32 ", %f, %" PRIu32 ")\n", |
| fontTarget, fontName, fontStyle, pathParameterTemplate, emScale, baseAndCount); |
| if (glPathGlyphIndexRangeNV != nullptr) { |
| GLenum return_value = glPathGlyphIndexRangeNV( |
| fontTarget, fontName, fontStyle, pathParameterTemplate, emScale, baseAndCount); |
| GAPID_INFO("Returned: %u\n", return_value); |
| if (pushReturn) { |
| stack->push<GLenum>(return_value); |
| } |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glPathGlyphIndexRangeNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glPathGlyphIndexRangeNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glPathGlyphIndexRangeNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlPathGlyphRangeNV(Stack* stack, bool pushReturn) { |
| float emScale = stack->pop<float>(); |
| uint32_t pathParameterTemplate = stack->pop<uint32_t>(); |
| GLenum handleMissingGlyphs = stack->pop<GLenum>(); |
| int32_t numGlyphs = stack->pop<int32_t>(); |
| uint32_t firstGlyph = stack->pop<uint32_t>(); |
| GLbitfield fontStyle = stack->pop<GLbitfield>(); |
| void* fontName = stack->pop<void*>(); |
| GLenum fontTarget = stack->pop<GLenum>(); |
| uint32_t firstPathName = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glPathGlyphRangeNV(%" PRIu32 ", %u, %p, %u, %" PRIu32 ", %" PRId32 |
| ", %u, %" PRIu32 ", %f)\n", |
| firstPathName, fontTarget, fontName, fontStyle, firstGlyph, numGlyphs, |
| handleMissingGlyphs, pathParameterTemplate, emScale); |
| if (glPathGlyphRangeNV != nullptr) { |
| glPathGlyphRangeNV(firstPathName, fontTarget, fontName, fontStyle, firstGlyph, |
| numGlyphs, handleMissingGlyphs, pathParameterTemplate, emScale); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glPathGlyphRangeNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glPathGlyphRangeNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glPathGlyphRangeNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlPathGlyphsNV(Stack* stack, bool pushReturn) { |
| float emScale = stack->pop<float>(); |
| uint32_t pathParameterTemplate = stack->pop<uint32_t>(); |
| GLenum handleMissingGlyphs = stack->pop<GLenum>(); |
| void* charcodes = stack->pop<void*>(); |
| GLenum type = stack->pop<GLenum>(); |
| int32_t numGlyphs = stack->pop<int32_t>(); |
| GLbitfield fontStyle = stack->pop<GLbitfield>(); |
| void* fontName = stack->pop<void*>(); |
| GLenum fontTarget = stack->pop<GLenum>(); |
| uint32_t firstPathName = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glPathGlyphsNV(%" PRIu32 ", %u, %p, %u, %" PRId32 ", %u, %p, %u, %" PRIu32 |
| ", %f)\n", |
| firstPathName, fontTarget, fontName, fontStyle, numGlyphs, type, charcodes, |
| handleMissingGlyphs, pathParameterTemplate, emScale); |
| if (glPathGlyphsNV != nullptr) { |
| glPathGlyphsNV(firstPathName, fontTarget, fontName, fontStyle, numGlyphs, type, |
| charcodes, handleMissingGlyphs, pathParameterTemplate, emScale); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glPathGlyphsNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glPathGlyphsNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glPathGlyphsNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlPathMemoryGlyphIndexArrayNV(Stack* stack, bool pushReturn) { |
| float emScale = stack->pop<float>(); |
| uint32_t pathParameterTemplate = stack->pop<uint32_t>(); |
| int32_t numGlyphs = stack->pop<int32_t>(); |
| uint32_t firstGlyphIndex = stack->pop<uint32_t>(); |
| int32_t faceIndex = stack->pop<int32_t>(); |
| void* fontData = stack->pop<void*>(); |
| int32_t fontSize = stack->pop<int32_t>(); |
| GLenum fontTarget = stack->pop<GLenum>(); |
| uint32_t firstPathName = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glPathMemoryGlyphIndexArrayNV(%" PRIu32 ", %u, %" PRId32 ", %p, %" PRId32 |
| ", %" PRIu32 ", %" PRId32 ", %" PRIu32 ", %f)\n", |
| firstPathName, fontTarget, fontSize, fontData, faceIndex, firstGlyphIndex, |
| numGlyphs, pathParameterTemplate, emScale); |
| if (glPathMemoryGlyphIndexArrayNV != nullptr) { |
| GLenum return_value = glPathMemoryGlyphIndexArrayNV( |
| firstPathName, fontTarget, fontSize, fontData, faceIndex, firstGlyphIndex, |
| numGlyphs, pathParameterTemplate, emScale); |
| GAPID_INFO("Returned: %u\n", return_value); |
| if (pushReturn) { |
| stack->push<GLenum>(return_value); |
| } |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glPathMemoryGlyphIndexArrayNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glPathMemoryGlyphIndexArrayNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glPathMemoryGlyphIndexArrayNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlPathParameterfNV(Stack* stack, bool pushReturn) { |
| float value = stack->pop<float>(); |
| GLenum pname = stack->pop<GLenum>(); |
| uint32_t path = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glPathParameterfNV(%" PRIu32 ", %u, %f)\n", path, pname, value); |
| if (glPathParameterfNV != nullptr) { |
| glPathParameterfNV(path, pname, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glPathParameterfNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glPathParameterfNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glPathParameterfNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlPathParameterfvNV(Stack* stack, bool pushReturn) { |
| float* value = stack->pop<float*>(); |
| GLenum pname = stack->pop<GLenum>(); |
| uint32_t path = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glPathParameterfvNV(%" PRIu32 ", %u, %p)\n", path, pname, value); |
| if (glPathParameterfvNV != nullptr) { |
| glPathParameterfvNV(path, pname, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glPathParameterfvNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glPathParameterfvNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glPathParameterfvNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlPathParameteriNV(Stack* stack, bool pushReturn) { |
| int32_t value = stack->pop<int32_t>(); |
| GLenum pname = stack->pop<GLenum>(); |
| uint32_t path = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glPathParameteriNV(%" PRIu32 ", %u, %" PRId32 ")\n", path, pname, value); |
| if (glPathParameteriNV != nullptr) { |
| glPathParameteriNV(path, pname, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glPathParameteriNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glPathParameteriNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glPathParameteriNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlPathParameterivNV(Stack* stack, bool pushReturn) { |
| int32_t* value = stack->pop<int32_t*>(); |
| GLenum pname = stack->pop<GLenum>(); |
| uint32_t path = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glPathParameterivNV(%" PRIu32 ", %u, %p)\n", path, pname, value); |
| if (glPathParameterivNV != nullptr) { |
| glPathParameterivNV(path, pname, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glPathParameterivNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glPathParameterivNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glPathParameterivNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlPathStencilDepthOffsetNV(Stack* stack, bool pushReturn) { |
| float units = stack->pop<float>(); |
| float factor = stack->pop<float>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glPathStencilDepthOffsetNV(%f, %f)\n", factor, units); |
| if (glPathStencilDepthOffsetNV != nullptr) { |
| glPathStencilDepthOffsetNV(factor, units); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glPathStencilDepthOffsetNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glPathStencilDepthOffsetNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glPathStencilDepthOffsetNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlPathStencilFuncNV(Stack* stack, bool pushReturn) { |
| uint32_t mask = stack->pop<uint32_t>(); |
| int32_t ref = stack->pop<int32_t>(); |
| GLenum func = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glPathStencilFuncNV(%u, %" PRId32 ", %" PRIu32 ")\n", func, ref, mask); |
| if (glPathStencilFuncNV != nullptr) { |
| glPathStencilFuncNV(func, ref, mask); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glPathStencilFuncNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glPathStencilFuncNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glPathStencilFuncNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlPathStringNV(Stack* stack, bool pushReturn) { |
| void* pathString = stack->pop<void*>(); |
| int32_t length = stack->pop<int32_t>(); |
| GLenum format = stack->pop<GLenum>(); |
| uint32_t path = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glPathStringNV(%" PRIu32 ", %u, %" PRId32 ", %p)\n", path, format, length, |
| pathString); |
| if (glPathStringNV != nullptr) { |
| glPathStringNV(path, format, length, pathString); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glPathStringNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glPathStringNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glPathStringNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlPathSubCommandsNV(Stack* stack, bool pushReturn) { |
| void* coords = stack->pop<void*>(); |
| GLenum coordType = stack->pop<GLenum>(); |
| int32_t numCoords = stack->pop<int32_t>(); |
| uint8_t* commands = stack->pop<uint8_t*>(); |
| int32_t numCommands = stack->pop<int32_t>(); |
| int32_t commandsToDelete = stack->pop<int32_t>(); |
| int32_t commandStart = stack->pop<int32_t>(); |
| uint32_t path = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glPathSubCommandsNV(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %" PRId32 |
| ", %p, %" PRId32 ", %u, %p)\n", |
| path, commandStart, commandsToDelete, numCommands, commands, numCoords, |
| coordType, coords); |
| if (glPathSubCommandsNV != nullptr) { |
| glPathSubCommandsNV(path, commandStart, commandsToDelete, numCommands, commands, |
| numCoords, coordType, coords); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glPathSubCommandsNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glPathSubCommandsNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glPathSubCommandsNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlPathSubCoordsNV(Stack* stack, bool pushReturn) { |
| void* coords = stack->pop<void*>(); |
| GLenum coordType = stack->pop<GLenum>(); |
| int32_t numCoords = stack->pop<int32_t>(); |
| int32_t coordStart = stack->pop<int32_t>(); |
| uint32_t path = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glPathSubCoordsNV(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %u, %p)\n", path, |
| coordStart, numCoords, coordType, coords); |
| if (glPathSubCoordsNV != nullptr) { |
| glPathSubCoordsNV(path, coordStart, numCoords, coordType, coords); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glPathSubCoordsNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glPathSubCoordsNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glPathSubCoordsNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlPointAlongPathNV(Stack* stack, bool pushReturn) { |
| float* tangentY = stack->pop<float*>(); |
| float* tangentX = stack->pop<float*>(); |
| float* y = stack->pop<float*>(); |
| float* x = stack->pop<float*>(); |
| float distance = stack->pop<float>(); |
| int32_t numSegments = stack->pop<int32_t>(); |
| int32_t startSegment = stack->pop<int32_t>(); |
| uint32_t path = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glPointAlongPathNV(%" PRIu32 ", %" PRId32 ", %" PRId32 |
| ", %f, %p, %p, %p, %p)\n", |
| path, startSegment, numSegments, distance, x, y, tangentX, tangentY); |
| if (glPointAlongPathNV != nullptr) { |
| uint8_t return_value = glPointAlongPathNV(path, startSegment, numSegments, distance, x, |
| y, tangentX, tangentY); |
| GAPID_INFO("Returned: %" PRIu8 "\n", return_value); |
| if (pushReturn) { |
| stack->push<uint8_t>(return_value); |
| } |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glPointAlongPathNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glPointAlongPathNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glPointAlongPathNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlPolygonModeNV(Stack* stack, bool pushReturn) { |
| GLenum mode = stack->pop<GLenum>(); |
| GLenum face = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glPolygonModeNV(%u, %u)\n", face, mode); |
| if (glPolygonModeNV != nullptr) { |
| glPolygonModeNV(face, mode); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glPolygonModeNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glPolygonModeNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glPolygonModeNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlPopGroupMarkerEXT(Stack* stack, bool pushReturn) { |
| if (stack->isValid()) { |
| GAPID_INFO("glPopGroupMarkerEXT()\n"); |
| if (glPopGroupMarkerEXT != nullptr) { |
| glPopGroupMarkerEXT(); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glPopGroupMarkerEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glPopGroupMarkerEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glPopGroupMarkerEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlPrimitiveBoundingBoxOES(Stack* stack, bool pushReturn) { |
| float maxW = stack->pop<float>(); |
| float maxZ = stack->pop<float>(); |
| float maxY = stack->pop<float>(); |
| float maxX = stack->pop<float>(); |
| float minW = stack->pop<float>(); |
| float minZ = stack->pop<float>(); |
| float minY = stack->pop<float>(); |
| float minX = stack->pop<float>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glPrimitiveBoundingBoxOES(%f, %f, %f, %f, %f, %f, %f, %f)\n", minX, minY, minZ, |
| minW, maxX, maxY, maxZ, maxW); |
| if (glPrimitiveBoundingBoxOES != nullptr) { |
| glPrimitiveBoundingBoxOES(minX, minY, minZ, minW, maxX, maxY, maxZ, maxW); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glPrimitiveBoundingBoxOES returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glPrimitiveBoundingBoxOES\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glPrimitiveBoundingBoxOES\n"); |
| return false; |
| } |
| } |
| |
| bool callGlProgramBinaryOES(Stack* stack, bool pushReturn) { |
| int32_t binary_size = stack->pop<int32_t>(); |
| void* binary = stack->pop<void*>(); |
| GLenum binary_format = stack->pop<GLenum>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glProgramBinaryOES(%" PRIu32 ", %u, %p, %" PRId32 ")\n", program, binary_format, |
| binary, binary_size); |
| if (glProgramBinaryOES != nullptr) { |
| glProgramBinaryOES(program, binary_format, binary, binary_size); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glProgramBinaryOES returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glProgramBinaryOES\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glProgramBinaryOES\n"); |
| return false; |
| } |
| } |
| |
| bool callGlProgramParameteriEXT(Stack* stack, bool pushReturn) { |
| int32_t value = stack->pop<int32_t>(); |
| GLenum pname = stack->pop<GLenum>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glProgramParameteriEXT(%" PRIu32 ", %u, %" PRId32 ")\n", program, pname, value); |
| if (glProgramParameteriEXT != nullptr) { |
| glProgramParameteriEXT(program, pname, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glProgramParameteriEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glProgramParameteriEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glProgramParameteriEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlProgramPathFragmentInputGenNV(Stack* stack, bool pushReturn) { |
| float* coeffs = stack->pop<float*>(); |
| int32_t components = stack->pop<int32_t>(); |
| GLenum genMode = stack->pop<GLenum>(); |
| int32_t location = stack->pop<int32_t>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glProgramPathFragmentInputGenNV(%" PRIu32 ", %" PRId32 ", %u, %" PRId32 |
| ", %p)\n", |
| program, location, genMode, components, coeffs); |
| if (glProgramPathFragmentInputGenNV != nullptr) { |
| glProgramPathFragmentInputGenNV(program, location, genMode, components, coeffs); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glProgramPathFragmentInputGenNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING( |
| "Attempted to call unsupported function glProgramPathFragmentInputGenNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glProgramPathFragmentInputGenNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlProgramUniform1fEXT(Stack* stack, bool pushReturn) { |
| float v0 = stack->pop<float>(); |
| int32_t location = stack->pop<int32_t>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glProgramUniform1fEXT(%" PRIu32 ", %" PRId32 ", %f)\n", program, location, v0); |
| if (glProgramUniform1fEXT != nullptr) { |
| glProgramUniform1fEXT(program, location, v0); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glProgramUniform1fEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glProgramUniform1fEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glProgramUniform1fEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlProgramUniform1fvEXT(Stack* stack, bool pushReturn) { |
| float* value = stack->pop<float*>(); |
| int32_t count = stack->pop<int32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glProgramUniform1fvEXT(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %p)\n", program, |
| location, count, value); |
| if (glProgramUniform1fvEXT != nullptr) { |
| glProgramUniform1fvEXT(program, location, count, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glProgramUniform1fvEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glProgramUniform1fvEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glProgramUniform1fvEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlProgramUniform1iEXT(Stack* stack, bool pushReturn) { |
| int32_t v0 = stack->pop<int32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glProgramUniform1iEXT(%" PRIu32 ", %" PRId32 ", %" PRId32 ")\n", program, |
| location, v0); |
| if (glProgramUniform1iEXT != nullptr) { |
| glProgramUniform1iEXT(program, location, v0); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glProgramUniform1iEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glProgramUniform1iEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glProgramUniform1iEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlProgramUniform1ivEXT(Stack* stack, bool pushReturn) { |
| int32_t* value = stack->pop<int32_t*>(); |
| int32_t count = stack->pop<int32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glProgramUniform1ivEXT(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %p)\n", program, |
| location, count, value); |
| if (glProgramUniform1ivEXT != nullptr) { |
| glProgramUniform1ivEXT(program, location, count, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glProgramUniform1ivEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glProgramUniform1ivEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glProgramUniform1ivEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlProgramUniform1uiEXT(Stack* stack, bool pushReturn) { |
| uint32_t v0 = stack->pop<uint32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glProgramUniform1uiEXT(%" PRIu32 ", %" PRId32 ", %" PRIu32 ")\n", program, |
| location, v0); |
| if (glProgramUniform1uiEXT != nullptr) { |
| glProgramUniform1uiEXT(program, location, v0); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glProgramUniform1uiEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glProgramUniform1uiEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glProgramUniform1uiEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlProgramUniform1uivEXT(Stack* stack, bool pushReturn) { |
| uint32_t* value = stack->pop<uint32_t*>(); |
| int32_t count = stack->pop<int32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glProgramUniform1uivEXT(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %p)\n", program, |
| location, count, value); |
| if (glProgramUniform1uivEXT != nullptr) { |
| glProgramUniform1uivEXT(program, location, count, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glProgramUniform1uivEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glProgramUniform1uivEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glProgramUniform1uivEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlProgramUniform2fEXT(Stack* stack, bool pushReturn) { |
| float v1 = stack->pop<float>(); |
| float v0 = stack->pop<float>(); |
| int32_t location = stack->pop<int32_t>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glProgramUniform2fEXT(%" PRIu32 ", %" PRId32 ", %f, %f)\n", program, location, |
| v0, v1); |
| if (glProgramUniform2fEXT != nullptr) { |
| glProgramUniform2fEXT(program, location, v0, v1); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glProgramUniform2fEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glProgramUniform2fEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glProgramUniform2fEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlProgramUniform2fvEXT(Stack* stack, bool pushReturn) { |
| float* value = stack->pop<float*>(); |
| int32_t count = stack->pop<int32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glProgramUniform2fvEXT(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %p)\n", program, |
| location, count, value); |
| if (glProgramUniform2fvEXT != nullptr) { |
| glProgramUniform2fvEXT(program, location, count, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glProgramUniform2fvEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glProgramUniform2fvEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glProgramUniform2fvEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlProgramUniform2iEXT(Stack* stack, bool pushReturn) { |
| int32_t v1 = stack->pop<int32_t>(); |
| int32_t v0 = stack->pop<int32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glProgramUniform2iEXT(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %" PRId32 ")\n", |
| program, location, v0, v1); |
| if (glProgramUniform2iEXT != nullptr) { |
| glProgramUniform2iEXT(program, location, v0, v1); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glProgramUniform2iEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glProgramUniform2iEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glProgramUniform2iEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlProgramUniform2ivEXT(Stack* stack, bool pushReturn) { |
| int32_t* value = stack->pop<int32_t*>(); |
| int32_t count = stack->pop<int32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glProgramUniform2ivEXT(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %p)\n", program, |
| location, count, value); |
| if (glProgramUniform2ivEXT != nullptr) { |
| glProgramUniform2ivEXT(program, location, count, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glProgramUniform2ivEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glProgramUniform2ivEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glProgramUniform2ivEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlProgramUniform2uiEXT(Stack* stack, bool pushReturn) { |
| uint32_t v1 = stack->pop<uint32_t>(); |
| uint32_t v0 = stack->pop<uint32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glProgramUniform2uiEXT(%" PRIu32 ", %" PRId32 ", %" PRIu32 ", %" PRIu32 ")\n", |
| program, location, v0, v1); |
| if (glProgramUniform2uiEXT != nullptr) { |
| glProgramUniform2uiEXT(program, location, v0, v1); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glProgramUniform2uiEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glProgramUniform2uiEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glProgramUniform2uiEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlProgramUniform2uivEXT(Stack* stack, bool pushReturn) { |
| uint32_t* value = stack->pop<uint32_t*>(); |
| int32_t count = stack->pop<int32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glProgramUniform2uivEXT(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %p)\n", program, |
| location, count, value); |
| if (glProgramUniform2uivEXT != nullptr) { |
| glProgramUniform2uivEXT(program, location, count, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glProgramUniform2uivEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glProgramUniform2uivEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glProgramUniform2uivEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlProgramUniform3fEXT(Stack* stack, bool pushReturn) { |
| float v2 = stack->pop<float>(); |
| float v1 = stack->pop<float>(); |
| float v0 = stack->pop<float>(); |
| int32_t location = stack->pop<int32_t>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glProgramUniform3fEXT(%" PRIu32 ", %" PRId32 ", %f, %f, %f)\n", program, |
| location, v0, v1, v2); |
| if (glProgramUniform3fEXT != nullptr) { |
| glProgramUniform3fEXT(program, location, v0, v1, v2); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glProgramUniform3fEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glProgramUniform3fEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glProgramUniform3fEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlProgramUniform3fvEXT(Stack* stack, bool pushReturn) { |
| float* value = stack->pop<float*>(); |
| int32_t count = stack->pop<int32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glProgramUniform3fvEXT(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %p)\n", program, |
| location, count, value); |
| if (glProgramUniform3fvEXT != nullptr) { |
| glProgramUniform3fvEXT(program, location, count, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glProgramUniform3fvEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glProgramUniform3fvEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glProgramUniform3fvEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlProgramUniform3iEXT(Stack* stack, bool pushReturn) { |
| int32_t v2 = stack->pop<int32_t>(); |
| int32_t v1 = stack->pop<int32_t>(); |
| int32_t v0 = stack->pop<int32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glProgramUniform3iEXT(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %" PRId32 |
| ", %" PRId32 ")\n", |
| program, location, v0, v1, v2); |
| if (glProgramUniform3iEXT != nullptr) { |
| glProgramUniform3iEXT(program, location, v0, v1, v2); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glProgramUniform3iEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glProgramUniform3iEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glProgramUniform3iEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlProgramUniform3ivEXT(Stack* stack, bool pushReturn) { |
| int32_t* value = stack->pop<int32_t*>(); |
| int32_t count = stack->pop<int32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glProgramUniform3ivEXT(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %p)\n", program, |
| location, count, value); |
| if (glProgramUniform3ivEXT != nullptr) { |
| glProgramUniform3ivEXT(program, location, count, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glProgramUniform3ivEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glProgramUniform3ivEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glProgramUniform3ivEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlProgramUniform3uiEXT(Stack* stack, bool pushReturn) { |
| uint32_t v2 = stack->pop<uint32_t>(); |
| uint32_t v1 = stack->pop<uint32_t>(); |
| uint32_t v0 = stack->pop<uint32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glProgramUniform3uiEXT(%" PRIu32 ", %" PRId32 ", %" PRIu32 ", %" PRIu32 |
| ", %" PRIu32 ")\n", |
| program, location, v0, v1, v2); |
| if (glProgramUniform3uiEXT != nullptr) { |
| glProgramUniform3uiEXT(program, location, v0, v1, v2); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glProgramUniform3uiEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glProgramUniform3uiEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glProgramUniform3uiEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlProgramUniform3uivEXT(Stack* stack, bool pushReturn) { |
| uint32_t* value = stack->pop<uint32_t*>(); |
| int32_t count = stack->pop<int32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glProgramUniform3uivEXT(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %p)\n", program, |
| location, count, value); |
| if (glProgramUniform3uivEXT != nullptr) { |
| glProgramUniform3uivEXT(program, location, count, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glProgramUniform3uivEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glProgramUniform3uivEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glProgramUniform3uivEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlProgramUniform4fEXT(Stack* stack, bool pushReturn) { |
| float v3 = stack->pop<float>(); |
| float v2 = stack->pop<float>(); |
| float v1 = stack->pop<float>(); |
| float v0 = stack->pop<float>(); |
| int32_t location = stack->pop<int32_t>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glProgramUniform4fEXT(%" PRIu32 ", %" PRId32 ", %f, %f, %f, %f)\n", program, |
| location, v0, v1, v2, v3); |
| if (glProgramUniform4fEXT != nullptr) { |
| glProgramUniform4fEXT(program, location, v0, v1, v2, v3); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glProgramUniform4fEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glProgramUniform4fEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glProgramUniform4fEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlProgramUniform4fvEXT(Stack* stack, bool pushReturn) { |
| float* value = stack->pop<float*>(); |
| int32_t count = stack->pop<int32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glProgramUniform4fvEXT(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %p)\n", program, |
| location, count, value); |
| if (glProgramUniform4fvEXT != nullptr) { |
| glProgramUniform4fvEXT(program, location, count, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glProgramUniform4fvEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glProgramUniform4fvEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glProgramUniform4fvEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlProgramUniform4iEXT(Stack* stack, bool pushReturn) { |
| int32_t v3 = stack->pop<int32_t>(); |
| int32_t v2 = stack->pop<int32_t>(); |
| int32_t v1 = stack->pop<int32_t>(); |
| int32_t v0 = stack->pop<int32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glProgramUniform4iEXT(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %" PRId32 |
| ", %" PRId32 ", %" PRId32 ")\n", |
| program, location, v0, v1, v2, v3); |
| if (glProgramUniform4iEXT != nullptr) { |
| glProgramUniform4iEXT(program, location, v0, v1, v2, v3); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glProgramUniform4iEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glProgramUniform4iEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glProgramUniform4iEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlProgramUniform4ivEXT(Stack* stack, bool pushReturn) { |
| int32_t* value = stack->pop<int32_t*>(); |
| int32_t count = stack->pop<int32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glProgramUniform4ivEXT(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %p)\n", program, |
| location, count, value); |
| if (glProgramUniform4ivEXT != nullptr) { |
| glProgramUniform4ivEXT(program, location, count, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glProgramUniform4ivEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glProgramUniform4ivEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glProgramUniform4ivEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlProgramUniform4uiEXT(Stack* stack, bool pushReturn) { |
| uint32_t v3 = stack->pop<uint32_t>(); |
| uint32_t v2 = stack->pop<uint32_t>(); |
| uint32_t v1 = stack->pop<uint32_t>(); |
| uint32_t v0 = stack->pop<uint32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glProgramUniform4uiEXT(%" PRIu32 ", %" PRId32 ", %" PRIu32 ", %" PRIu32 |
| ", %" PRIu32 ", %" PRIu32 ")\n", |
| program, location, v0, v1, v2, v3); |
| if (glProgramUniform4uiEXT != nullptr) { |
| glProgramUniform4uiEXT(program, location, v0, v1, v2, v3); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glProgramUniform4uiEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glProgramUniform4uiEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glProgramUniform4uiEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlProgramUniform4uivEXT(Stack* stack, bool pushReturn) { |
| uint32_t* value = stack->pop<uint32_t*>(); |
| int32_t count = stack->pop<int32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glProgramUniform4uivEXT(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %p)\n", program, |
| location, count, value); |
| if (glProgramUniform4uivEXT != nullptr) { |
| glProgramUniform4uivEXT(program, location, count, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glProgramUniform4uivEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glProgramUniform4uivEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glProgramUniform4uivEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlProgramUniformHandleui64NV(Stack* stack, bool pushReturn) { |
| uint64_t value = stack->pop<uint64_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glProgramUniformHandleui64NV(%" PRIu32 ", %" PRId32 ", %" PRIu64 ")\n", program, |
| location, value); |
| if (glProgramUniformHandleui64NV != nullptr) { |
| glProgramUniformHandleui64NV(program, location, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glProgramUniformHandleui64NV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glProgramUniformHandleui64NV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glProgramUniformHandleui64NV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlProgramUniformHandleui64vNV(Stack* stack, bool pushReturn) { |
| uint64_t* values = stack->pop<uint64_t*>(); |
| int32_t count = stack->pop<int32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glProgramUniformHandleui64vNV(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %p)\n", |
| program, location, count, values); |
| if (glProgramUniformHandleui64vNV != nullptr) { |
| glProgramUniformHandleui64vNV(program, location, count, values); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glProgramUniformHandleui64vNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glProgramUniformHandleui64vNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glProgramUniformHandleui64vNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlProgramUniformMatrix2fvEXT(Stack* stack, bool pushReturn) { |
| float* value = stack->pop<float*>(); |
| uint8_t transpose = stack->pop<uint8_t>(); |
| int32_t count = stack->pop<int32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glProgramUniformMatrix2fvEXT(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %" PRIu8 |
| ", %p)\n", |
| program, location, count, transpose, value); |
| if (glProgramUniformMatrix2fvEXT != nullptr) { |
| glProgramUniformMatrix2fvEXT(program, location, count, transpose, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glProgramUniformMatrix2fvEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glProgramUniformMatrix2fvEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glProgramUniformMatrix2fvEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlProgramUniformMatrix2x3fvEXT(Stack* stack, bool pushReturn) { |
| float* value = stack->pop<float*>(); |
| uint8_t transpose = stack->pop<uint8_t>(); |
| int32_t count = stack->pop<int32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glProgramUniformMatrix2x3fvEXT(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %" PRIu8 |
| ", %p)\n", |
| program, location, count, transpose, value); |
| if (glProgramUniformMatrix2x3fvEXT != nullptr) { |
| glProgramUniformMatrix2x3fvEXT(program, location, count, transpose, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glProgramUniformMatrix2x3fvEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING( |
| "Attempted to call unsupported function glProgramUniformMatrix2x3fvEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glProgramUniformMatrix2x3fvEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlProgramUniformMatrix2x4fvEXT(Stack* stack, bool pushReturn) { |
| float* value = stack->pop<float*>(); |
| uint8_t transpose = stack->pop<uint8_t>(); |
| int32_t count = stack->pop<int32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glProgramUniformMatrix2x4fvEXT(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %" PRIu8 |
| ", %p)\n", |
| program, location, count, transpose, value); |
| if (glProgramUniformMatrix2x4fvEXT != nullptr) { |
| glProgramUniformMatrix2x4fvEXT(program, location, count, transpose, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glProgramUniformMatrix2x4fvEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING( |
| "Attempted to call unsupported function glProgramUniformMatrix2x4fvEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glProgramUniformMatrix2x4fvEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlProgramUniformMatrix3fvEXT(Stack* stack, bool pushReturn) { |
| float* value = stack->pop<float*>(); |
| uint8_t transpose = stack->pop<uint8_t>(); |
| int32_t count = stack->pop<int32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glProgramUniformMatrix3fvEXT(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %" PRIu8 |
| ", %p)\n", |
| program, location, count, transpose, value); |
| if (glProgramUniformMatrix3fvEXT != nullptr) { |
| glProgramUniformMatrix3fvEXT(program, location, count, transpose, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glProgramUniformMatrix3fvEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glProgramUniformMatrix3fvEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glProgramUniformMatrix3fvEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlProgramUniformMatrix3x2fvEXT(Stack* stack, bool pushReturn) { |
| float* value = stack->pop<float*>(); |
| uint8_t transpose = stack->pop<uint8_t>(); |
| int32_t count = stack->pop<int32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glProgramUniformMatrix3x2fvEXT(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %" PRIu8 |
| ", %p)\n", |
| program, location, count, transpose, value); |
| if (glProgramUniformMatrix3x2fvEXT != nullptr) { |
| glProgramUniformMatrix3x2fvEXT(program, location, count, transpose, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glProgramUniformMatrix3x2fvEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING( |
| "Attempted to call unsupported function glProgramUniformMatrix3x2fvEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glProgramUniformMatrix3x2fvEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlProgramUniformMatrix3x4fvEXT(Stack* stack, bool pushReturn) { |
| float* value = stack->pop<float*>(); |
| uint8_t transpose = stack->pop<uint8_t>(); |
| int32_t count = stack->pop<int32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glProgramUniformMatrix3x4fvEXT(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %" PRIu8 |
| ", %p)\n", |
| program, location, count, transpose, value); |
| if (glProgramUniformMatrix3x4fvEXT != nullptr) { |
| glProgramUniformMatrix3x4fvEXT(program, location, count, transpose, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glProgramUniformMatrix3x4fvEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING( |
| "Attempted to call unsupported function glProgramUniformMatrix3x4fvEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glProgramUniformMatrix3x4fvEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlProgramUniformMatrix4fvEXT(Stack* stack, bool pushReturn) { |
| float* value = stack->pop<float*>(); |
| uint8_t transpose = stack->pop<uint8_t>(); |
| int32_t count = stack->pop<int32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glProgramUniformMatrix4fvEXT(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %" PRIu8 |
| ", %p)\n", |
| program, location, count, transpose, value); |
| if (glProgramUniformMatrix4fvEXT != nullptr) { |
| glProgramUniformMatrix4fvEXT(program, location, count, transpose, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glProgramUniformMatrix4fvEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glProgramUniformMatrix4fvEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glProgramUniformMatrix4fvEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlProgramUniformMatrix4x2fvEXT(Stack* stack, bool pushReturn) { |
| float* value = stack->pop<float*>(); |
| uint8_t transpose = stack->pop<uint8_t>(); |
| int32_t count = stack->pop<int32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glProgramUniformMatrix4x2fvEXT(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %" PRIu8 |
| ", %p)\n", |
| program, location, count, transpose, value); |
| if (glProgramUniformMatrix4x2fvEXT != nullptr) { |
| glProgramUniformMatrix4x2fvEXT(program, location, count, transpose, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glProgramUniformMatrix4x2fvEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING( |
| "Attempted to call unsupported function glProgramUniformMatrix4x2fvEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glProgramUniformMatrix4x2fvEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlProgramUniformMatrix4x3fvEXT(Stack* stack, bool pushReturn) { |
| float* value = stack->pop<float*>(); |
| uint8_t transpose = stack->pop<uint8_t>(); |
| int32_t count = stack->pop<int32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glProgramUniformMatrix4x3fvEXT(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %" PRIu8 |
| ", %p)\n", |
| program, location, count, transpose, value); |
| if (glProgramUniformMatrix4x3fvEXT != nullptr) { |
| glProgramUniformMatrix4x3fvEXT(program, location, count, transpose, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glProgramUniformMatrix4x3fvEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING( |
| "Attempted to call unsupported function glProgramUniformMatrix4x3fvEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glProgramUniformMatrix4x3fvEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlPushGroupMarkerEXT(Stack* stack, bool pushReturn) { |
| char* marker = stack->pop<char*>(); |
| int32_t length = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glPushGroupMarkerEXT(%" PRId32 ", %p)\n", length, marker); |
| if (glPushGroupMarkerEXT != nullptr) { |
| glPushGroupMarkerEXT(length, marker); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glPushGroupMarkerEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glPushGroupMarkerEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glPushGroupMarkerEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlQueryCounterEXT(Stack* stack, bool pushReturn) { |
| GLenum target = stack->pop<GLenum>(); |
| uint32_t query = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glQueryCounterEXT(%" PRIu32 ", %u)\n", query, target); |
| if (glQueryCounterEXT != nullptr) { |
| glQueryCounterEXT(query, target); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glQueryCounterEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glQueryCounterEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glQueryCounterEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlReadBufferIndexedEXT(Stack* stack, bool pushReturn) { |
| int32_t index = stack->pop<int32_t>(); |
| GLenum src = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glReadBufferIndexedEXT(%u, %" PRId32 ")\n", src, index); |
| if (glReadBufferIndexedEXT != nullptr) { |
| glReadBufferIndexedEXT(src, index); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glReadBufferIndexedEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glReadBufferIndexedEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glReadBufferIndexedEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlReadBufferNV(Stack* stack, bool pushReturn) { |
| GLenum mode = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glReadBufferNV(%u)\n", mode); |
| if (glReadBufferNV != nullptr) { |
| glReadBufferNV(mode); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glReadBufferNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glReadBufferNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glReadBufferNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlReadnPixelsEXT(Stack* stack, bool pushReturn) { |
| void* data = stack->pop<void*>(); |
| int32_t bufSize = stack->pop<int32_t>(); |
| GLenum type = stack->pop<GLenum>(); |
| GLenum format = stack->pop<GLenum>(); |
| int32_t height = stack->pop<int32_t>(); |
| int32_t width = stack->pop<int32_t>(); |
| int32_t y = stack->pop<int32_t>(); |
| int32_t x = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glReadnPixelsEXT(%" PRId32 ", %" PRId32 ", %" PRId32 ", %" PRId32 |
| ", %u, %u, %" PRId32 ", %p)\n", |
| x, y, width, height, format, type, bufSize, data); |
| if (glReadnPixelsEXT != nullptr) { |
| glReadnPixelsEXT(x, y, width, height, format, type, bufSize, data); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glReadnPixelsEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glReadnPixelsEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glReadnPixelsEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlReadnPixelsKHR(Stack* stack, bool pushReturn) { |
| void* data = stack->pop<void*>(); |
| int32_t bufSize = stack->pop<int32_t>(); |
| GLenum type = stack->pop<GLenum>(); |
| GLenum format = stack->pop<GLenum>(); |
| int32_t height = stack->pop<int32_t>(); |
| int32_t width = stack->pop<int32_t>(); |
| int32_t y = stack->pop<int32_t>(); |
| int32_t x = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glReadnPixelsKHR(%" PRId32 ", %" PRId32 ", %" PRId32 ", %" PRId32 |
| ", %u, %u, %" PRId32 ", %p)\n", |
| x, y, width, height, format, type, bufSize, data); |
| if (glReadnPixelsKHR != nullptr) { |
| glReadnPixelsKHR(x, y, width, height, format, type, bufSize, data); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glReadnPixelsKHR returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glReadnPixelsKHR\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glReadnPixelsKHR\n"); |
| return false; |
| } |
| } |
| |
| bool callGlRenderbufferStorageMultisampleANGLE(Stack* stack, bool pushReturn) { |
| int32_t height = stack->pop<int32_t>(); |
| int32_t width = stack->pop<int32_t>(); |
| GLenum internalformat = stack->pop<GLenum>(); |
| int32_t samples = stack->pop<int32_t>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glRenderbufferStorageMultisampleANGLE(%u, %" PRId32 ", %u, %" PRId32 |
| ", %" PRId32 ")\n", |
| target, samples, internalformat, width, height); |
| if (glRenderbufferStorageMultisampleANGLE != nullptr) { |
| glRenderbufferStorageMultisampleANGLE(target, samples, internalformat, width, height); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glRenderbufferStorageMultisampleANGLE returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING( |
| "Attempted to call unsupported function " |
| "glRenderbufferStorageMultisampleANGLE\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glRenderbufferStorageMultisampleANGLE\n"); |
| return false; |
| } |
| } |
| |
| bool callGlRenderbufferStorageMultisampleAPPLE(Stack* stack, bool pushReturn) { |
| int32_t height = stack->pop<int32_t>(); |
| int32_t width = stack->pop<int32_t>(); |
| GLenum internalformat = stack->pop<GLenum>(); |
| int32_t samples = stack->pop<int32_t>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glRenderbufferStorageMultisampleAPPLE(%u, %" PRId32 ", %u, %" PRId32 |
| ", %" PRId32 ")\n", |
| target, samples, internalformat, width, height); |
| if (glRenderbufferStorageMultisampleAPPLE != nullptr) { |
| glRenderbufferStorageMultisampleAPPLE(target, samples, internalformat, width, height); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glRenderbufferStorageMultisampleAPPLE returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING( |
| "Attempted to call unsupported function " |
| "glRenderbufferStorageMultisampleAPPLE\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glRenderbufferStorageMultisampleAPPLE\n"); |
| return false; |
| } |
| } |
| |
| bool callGlRenderbufferStorageMultisampleEXT(Stack* stack, bool pushReturn) { |
| int32_t height = stack->pop<int32_t>(); |
| int32_t width = stack->pop<int32_t>(); |
| GLenum internalformat = stack->pop<GLenum>(); |
| int32_t samples = stack->pop<int32_t>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glRenderbufferStorageMultisampleEXT(%u, %" PRId32 ", %u, %" PRId32 ", %" PRId32 |
| ")\n", |
| target, samples, internalformat, width, height); |
| if (glRenderbufferStorageMultisampleEXT != nullptr) { |
| glRenderbufferStorageMultisampleEXT(target, samples, internalformat, width, height); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glRenderbufferStorageMultisampleEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING( |
| "Attempted to call unsupported function glRenderbufferStorageMultisampleEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glRenderbufferStorageMultisampleEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlRenderbufferStorageMultisampleIMG(Stack* stack, bool pushReturn) { |
| int32_t height = stack->pop<int32_t>(); |
| int32_t width = stack->pop<int32_t>(); |
| GLenum internalformat = stack->pop<GLenum>(); |
| int32_t samples = stack->pop<int32_t>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glRenderbufferStorageMultisampleIMG(%u, %" PRId32 ", %u, %" PRId32 ", %" PRId32 |
| ")\n", |
| target, samples, internalformat, width, height); |
| if (glRenderbufferStorageMultisampleIMG != nullptr) { |
| glRenderbufferStorageMultisampleIMG(target, samples, internalformat, width, height); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glRenderbufferStorageMultisampleIMG returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING( |
| "Attempted to call unsupported function glRenderbufferStorageMultisampleIMG\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glRenderbufferStorageMultisampleIMG\n"); |
| return false; |
| } |
| } |
| |
| bool callGlRenderbufferStorageMultisampleNV(Stack* stack, bool pushReturn) { |
| int32_t height = stack->pop<int32_t>(); |
| int32_t width = stack->pop<int32_t>(); |
| GLenum internalformat = stack->pop<GLenum>(); |
| int32_t samples = stack->pop<int32_t>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glRenderbufferStorageMultisampleNV(%u, %" PRId32 ", %u, %" PRId32 ", %" PRId32 |
| ")\n", |
| target, samples, internalformat, width, height); |
| if (glRenderbufferStorageMultisampleNV != nullptr) { |
| glRenderbufferStorageMultisampleNV(target, samples, internalformat, width, height); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glRenderbufferStorageMultisampleNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING( |
| "Attempted to call unsupported function glRenderbufferStorageMultisampleNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glRenderbufferStorageMultisampleNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlResolveMultisampleFramebufferAPPLE(Stack* stack, bool pushReturn) { |
| if (stack->isValid()) { |
| GAPID_INFO("glResolveMultisampleFramebufferAPPLE()\n"); |
| if (glResolveMultisampleFramebufferAPPLE != nullptr) { |
| glResolveMultisampleFramebufferAPPLE(); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glResolveMultisampleFramebufferAPPLE returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING( |
| "Attempted to call unsupported function " |
| "glResolveMultisampleFramebufferAPPLE\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glResolveMultisampleFramebufferAPPLE\n"); |
| return false; |
| } |
| } |
| |
| bool callGlSamplerParameterIivOES(Stack* stack, bool pushReturn) { |
| int32_t* param = stack->pop<int32_t*>(); |
| GLenum pname = stack->pop<GLenum>(); |
| uint32_t sampler = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glSamplerParameterIivOES(%" PRIu32 ", %u, %p)\n", sampler, pname, param); |
| if (glSamplerParameterIivOES != nullptr) { |
| glSamplerParameterIivOES(sampler, pname, param); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glSamplerParameterIivOES returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glSamplerParameterIivOES\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glSamplerParameterIivOES\n"); |
| return false; |
| } |
| } |
| |
| bool callGlSamplerParameterIuivOES(Stack* stack, bool pushReturn) { |
| uint32_t* param = stack->pop<uint32_t*>(); |
| GLenum pname = stack->pop<GLenum>(); |
| uint32_t sampler = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glSamplerParameterIuivOES(%" PRIu32 ", %u, %p)\n", sampler, pname, param); |
| if (glSamplerParameterIuivOES != nullptr) { |
| glSamplerParameterIuivOES(sampler, pname, param); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glSamplerParameterIuivOES returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glSamplerParameterIuivOES\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glSamplerParameterIuivOES\n"); |
| return false; |
| } |
| } |
| |
| bool callGlScissorArrayvNV(Stack* stack, bool pushReturn) { |
| int32_t* v = stack->pop<int32_t*>(); |
| int32_t count = stack->pop<int32_t>(); |
| uint32_t first = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glScissorArrayvNV(%" PRIu32 ", %" PRId32 ", %p)\n", first, count, v); |
| if (glScissorArrayvNV != nullptr) { |
| glScissorArrayvNV(first, count, v); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glScissorArrayvNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glScissorArrayvNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glScissorArrayvNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlScissorIndexedNV(Stack* stack, bool pushReturn) { |
| int32_t height = stack->pop<int32_t>(); |
| int32_t width = stack->pop<int32_t>(); |
| int32_t bottom = stack->pop<int32_t>(); |
| int32_t left = stack->pop<int32_t>(); |
| uint32_t index = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glScissorIndexedNV(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %" PRId32 ", %" PRId32 |
| ")\n", |
| index, left, bottom, width, height); |
| if (glScissorIndexedNV != nullptr) { |
| glScissorIndexedNV(index, left, bottom, width, height); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glScissorIndexedNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glScissorIndexedNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glScissorIndexedNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlScissorIndexedvNV(Stack* stack, bool pushReturn) { |
| int32_t* v = stack->pop<int32_t*>(); |
| uint32_t index = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glScissorIndexedvNV(%" PRIu32 ", %p)\n", index, v); |
| if (glScissorIndexedvNV != nullptr) { |
| glScissorIndexedvNV(index, v); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glScissorIndexedvNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glScissorIndexedvNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glScissorIndexedvNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlSelectPerfMonitorCountersAMD(Stack* stack, bool pushReturn) { |
| uint32_t* counterList = stack->pop<uint32_t*>(); |
| int32_t numCounters = stack->pop<int32_t>(); |
| uint32_t group = stack->pop<uint32_t>(); |
| uint8_t enable = stack->pop<uint8_t>(); |
| uint32_t monitor = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glSelectPerfMonitorCountersAMD(%" PRIu32 ", %" PRIu8 ", %" PRIu32 ", %" PRId32 |
| ", %p)\n", |
| monitor, enable, group, numCounters, counterList); |
| if (glSelectPerfMonitorCountersAMD != nullptr) { |
| glSelectPerfMonitorCountersAMD(monitor, enable, group, numCounters, counterList); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glSelectPerfMonitorCountersAMD returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING( |
| "Attempted to call unsupported function glSelectPerfMonitorCountersAMD\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glSelectPerfMonitorCountersAMD\n"); |
| return false; |
| } |
| } |
| |
| bool callGlSetFenceNV(Stack* stack, bool pushReturn) { |
| GLenum condition = stack->pop<GLenum>(); |
| uint32_t fence = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glSetFenceNV(%" PRIu32 ", %u)\n", fence, condition); |
| if (glSetFenceNV != nullptr) { |
| glSetFenceNV(fence, condition); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glSetFenceNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glSetFenceNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glSetFenceNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlStartTilingQCOM(Stack* stack, bool pushReturn) { |
| GLbitfield preserveMask = stack->pop<GLbitfield>(); |
| uint32_t height = stack->pop<uint32_t>(); |
| uint32_t width = stack->pop<uint32_t>(); |
| uint32_t y = stack->pop<uint32_t>(); |
| uint32_t x = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glStartTilingQCOM(%" PRIu32 ", %" PRIu32 ", %" PRIu32 ", %" PRIu32 ", %u)\n", x, |
| y, width, height, preserveMask); |
| if (glStartTilingQCOM != nullptr) { |
| glStartTilingQCOM(x, y, width, height, preserveMask); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glStartTilingQCOM returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glStartTilingQCOM\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glStartTilingQCOM\n"); |
| return false; |
| } |
| } |
| |
| bool callGlStencilFillPathInstancedNV(Stack* stack, bool pushReturn) { |
| float* transformValues = stack->pop<float*>(); |
| GLenum transformType = stack->pop<GLenum>(); |
| uint32_t mask = stack->pop<uint32_t>(); |
| GLenum fillMode = stack->pop<GLenum>(); |
| uint32_t pathBase = stack->pop<uint32_t>(); |
| void* paths = stack->pop<void*>(); |
| GLenum pathNameType = stack->pop<GLenum>(); |
| int32_t numPaths = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glStencilFillPathInstancedNV(%" PRId32 ", %u, %p, %" PRIu32 ", %u, %" PRIu32 |
| ", %u, %p)\n", |
| numPaths, pathNameType, paths, pathBase, fillMode, mask, transformType, |
| transformValues); |
| if (glStencilFillPathInstancedNV != nullptr) { |
| glStencilFillPathInstancedNV(numPaths, pathNameType, paths, pathBase, fillMode, mask, |
| transformType, transformValues); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glStencilFillPathInstancedNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glStencilFillPathInstancedNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glStencilFillPathInstancedNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlStencilFillPathNV(Stack* stack, bool pushReturn) { |
| uint32_t mask = stack->pop<uint32_t>(); |
| GLenum fillMode = stack->pop<GLenum>(); |
| uint32_t path = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glStencilFillPathNV(%" PRIu32 ", %u, %" PRIu32 ")\n", path, fillMode, mask); |
| if (glStencilFillPathNV != nullptr) { |
| glStencilFillPathNV(path, fillMode, mask); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glStencilFillPathNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glStencilFillPathNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glStencilFillPathNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlStencilStrokePathInstancedNV(Stack* stack, bool pushReturn) { |
| float* transformValues = stack->pop<float*>(); |
| GLenum transformType = stack->pop<GLenum>(); |
| uint32_t mask = stack->pop<uint32_t>(); |
| int32_t reference = stack->pop<int32_t>(); |
| uint32_t pathBase = stack->pop<uint32_t>(); |
| void* paths = stack->pop<void*>(); |
| GLenum pathNameType = stack->pop<GLenum>(); |
| int32_t numPaths = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glStencilStrokePathInstancedNV(%" PRId32 ", %u, %p, %" PRIu32 ", %" PRId32 |
| ", %" PRIu32 ", %u, %p)\n", |
| numPaths, pathNameType, paths, pathBase, reference, mask, transformType, |
| transformValues); |
| if (glStencilStrokePathInstancedNV != nullptr) { |
| glStencilStrokePathInstancedNV(numPaths, pathNameType, paths, pathBase, reference, mask, |
| transformType, transformValues); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glStencilStrokePathInstancedNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING( |
| "Attempted to call unsupported function glStencilStrokePathInstancedNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glStencilStrokePathInstancedNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlStencilStrokePathNV(Stack* stack, bool pushReturn) { |
| uint32_t mask = stack->pop<uint32_t>(); |
| int32_t reference = stack->pop<int32_t>(); |
| uint32_t path = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glStencilStrokePathNV(%" PRIu32 ", %" PRId32 ", %" PRIu32 ")\n", path, |
| reference, mask); |
| if (glStencilStrokePathNV != nullptr) { |
| glStencilStrokePathNV(path, reference, mask); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glStencilStrokePathNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glStencilStrokePathNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glStencilStrokePathNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlStencilThenCoverFillPathInstancedNV(Stack* stack, bool pushReturn) { |
| float* transformValues = stack->pop<float*>(); |
| GLenum transformType = stack->pop<GLenum>(); |
| GLenum coverMode = stack->pop<GLenum>(); |
| uint32_t mask = stack->pop<uint32_t>(); |
| GLenum fillMode = stack->pop<GLenum>(); |
| uint32_t pathBase = stack->pop<uint32_t>(); |
| void* paths = stack->pop<void*>(); |
| GLenum pathNameType = stack->pop<GLenum>(); |
| int32_t numPaths = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glStencilThenCoverFillPathInstancedNV(%" PRId32 ", %u, %p, %" PRIu32 |
| ", %u, %" PRIu32 ", %u, %u, %p)\n", |
| numPaths, pathNameType, paths, pathBase, fillMode, mask, coverMode, |
| transformType, transformValues); |
| if (glStencilThenCoverFillPathInstancedNV != nullptr) { |
| glStencilThenCoverFillPathInstancedNV(numPaths, pathNameType, paths, pathBase, fillMode, |
| mask, coverMode, transformType, transformValues); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glStencilThenCoverFillPathInstancedNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING( |
| "Attempted to call unsupported function " |
| "glStencilThenCoverFillPathInstancedNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glStencilThenCoverFillPathInstancedNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlStencilThenCoverFillPathNV(Stack* stack, bool pushReturn) { |
| GLenum coverMode = stack->pop<GLenum>(); |
| uint32_t mask = stack->pop<uint32_t>(); |
| GLenum fillMode = stack->pop<GLenum>(); |
| uint32_t path = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glStencilThenCoverFillPathNV(%" PRIu32 ", %u, %" PRIu32 ", %u)\n", path, |
| fillMode, mask, coverMode); |
| if (glStencilThenCoverFillPathNV != nullptr) { |
| glStencilThenCoverFillPathNV(path, fillMode, mask, coverMode); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glStencilThenCoverFillPathNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glStencilThenCoverFillPathNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glStencilThenCoverFillPathNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlStencilThenCoverStrokePathInstancedNV(Stack* stack, bool pushReturn) { |
| float* transformValues = stack->pop<float*>(); |
| GLenum transformType = stack->pop<GLenum>(); |
| GLenum coverMode = stack->pop<GLenum>(); |
| uint32_t mask = stack->pop<uint32_t>(); |
| int32_t reference = stack->pop<int32_t>(); |
| uint32_t pathBase = stack->pop<uint32_t>(); |
| void* paths = stack->pop<void*>(); |
| GLenum pathNameType = stack->pop<GLenum>(); |
| int32_t numPaths = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glStencilThenCoverStrokePathInstancedNV(%" PRId32 ", %u, %p, %" PRIu32 |
| ", %" PRId32 ", %" PRIu32 ", %u, %u, %p)\n", |
| numPaths, pathNameType, paths, pathBase, reference, mask, coverMode, |
| transformType, transformValues); |
| if (glStencilThenCoverStrokePathInstancedNV != nullptr) { |
| glStencilThenCoverStrokePathInstancedNV(numPaths, pathNameType, paths, pathBase, |
| reference, mask, coverMode, transformType, |
| transformValues); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glStencilThenCoverStrokePathInstancedNV returned error: 0x%x\n", |
| err); |
| } |
| } else { |
| GAPID_WARNING( |
| "Attempted to call unsupported function " |
| "glStencilThenCoverStrokePathInstancedNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glStencilThenCoverStrokePathInstancedNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlStencilThenCoverStrokePathNV(Stack* stack, bool pushReturn) { |
| GLenum coverMode = stack->pop<GLenum>(); |
| uint32_t mask = stack->pop<uint32_t>(); |
| int32_t reference = stack->pop<int32_t>(); |
| uint32_t path = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glStencilThenCoverStrokePathNV(%" PRIu32 ", %" PRId32 ", %" PRIu32 ", %u)\n", |
| path, reference, mask, coverMode); |
| if (glStencilThenCoverStrokePathNV != nullptr) { |
| glStencilThenCoverStrokePathNV(path, reference, mask, coverMode); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glStencilThenCoverStrokePathNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING( |
| "Attempted to call unsupported function glStencilThenCoverStrokePathNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glStencilThenCoverStrokePathNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlTestFenceNV(Stack* stack, bool pushReturn) { |
| uint32_t fence = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glTestFenceNV(%" PRIu32 ")\n", fence); |
| if (glTestFenceNV != nullptr) { |
| uint8_t return_value = glTestFenceNV(fence); |
| GAPID_INFO("Returned: %" PRIu8 "\n", return_value); |
| if (pushReturn) { |
| stack->push<uint8_t>(return_value); |
| } |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glTestFenceNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glTestFenceNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glTestFenceNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlTexBufferOES(Stack* stack, bool pushReturn) { |
| uint32_t buffer = stack->pop<uint32_t>(); |
| GLenum internalformat = stack->pop<GLenum>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glTexBufferOES(%u, %u, %" PRIu32 ")\n", target, internalformat, buffer); |
| if (glTexBufferOES != nullptr) { |
| glTexBufferOES(target, internalformat, buffer); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glTexBufferOES returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glTexBufferOES\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glTexBufferOES\n"); |
| return false; |
| } |
| } |
| |
| bool callGlTexBufferRangeOES(Stack* stack, bool pushReturn) { |
| int32_t size = stack->pop<int32_t>(); |
| int32_t offset = stack->pop<int32_t>(); |
| uint32_t buffer = stack->pop<uint32_t>(); |
| GLenum internalformat = stack->pop<GLenum>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glTexBufferRangeOES(%u, %u, %" PRIu32 ", %" PRId32 ", %" PRId32 ")\n", target, |
| internalformat, buffer, offset, size); |
| if (glTexBufferRangeOES != nullptr) { |
| glTexBufferRangeOES(target, internalformat, buffer, offset, size); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glTexBufferRangeOES returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glTexBufferRangeOES\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glTexBufferRangeOES\n"); |
| return false; |
| } |
| } |
| |
| bool callGlTexImage3DOES(Stack* stack, bool pushReturn) { |
| void* pixels = stack->pop<void*>(); |
| GLenum type = stack->pop<GLenum>(); |
| GLenum format = stack->pop<GLenum>(); |
| int32_t border = stack->pop<int32_t>(); |
| int32_t depth = stack->pop<int32_t>(); |
| int32_t height = stack->pop<int32_t>(); |
| int32_t width = stack->pop<int32_t>(); |
| GLenum internalformat = stack->pop<GLenum>(); |
| int32_t level = stack->pop<int32_t>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glTexImage3DOES(%u, %" PRId32 ", %u, %" PRId32 ", %" PRId32 ", %" PRId32 |
| ", %" PRId32 ", %u, %u, %p)\n", |
| target, level, internalformat, width, height, depth, border, format, type, |
| pixels); |
| if (glTexImage3DOES != nullptr) { |
| glTexImage3DOES(target, level, internalformat, width, height, depth, border, format, |
| type, pixels); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glTexImage3DOES returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glTexImage3DOES\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glTexImage3DOES\n"); |
| return false; |
| } |
| } |
| |
| bool callGlTexPageCommitmentARB(Stack* stack, bool pushReturn) { |
| uint8_t commit = stack->pop<uint8_t>(); |
| int32_t depth = stack->pop<int32_t>(); |
| int32_t height = stack->pop<int32_t>(); |
| int32_t width = stack->pop<int32_t>(); |
| int32_t zoffset = stack->pop<int32_t>(); |
| int32_t yoffset = stack->pop<int32_t>(); |
| int32_t xoffset = stack->pop<int32_t>(); |
| int32_t level = stack->pop<int32_t>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glTexPageCommitmentARB(%u, %" PRId32 ", %" PRId32 ", %" PRId32 ", %" PRId32 |
| ", %" PRId32 ", %" PRId32 ", %" PRId32 ", %" PRIu8 ")\n", |
| target, level, xoffset, yoffset, zoffset, width, height, depth, commit); |
| if (glTexPageCommitmentARB != nullptr) { |
| glTexPageCommitmentARB(target, level, xoffset, yoffset, zoffset, width, height, depth, |
| commit); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glTexPageCommitmentARB returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glTexPageCommitmentARB\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glTexPageCommitmentARB\n"); |
| return false; |
| } |
| } |
| |
| bool callGlTexParameterIivOES(Stack* stack, bool pushReturn) { |
| int32_t* params = stack->pop<int32_t*>(); |
| GLenum pname = stack->pop<GLenum>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glTexParameterIivOES(%u, %u, %p)\n", target, pname, params); |
| if (glTexParameterIivOES != nullptr) { |
| glTexParameterIivOES(target, pname, params); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glTexParameterIivOES returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glTexParameterIivOES\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glTexParameterIivOES\n"); |
| return false; |
| } |
| } |
| |
| bool callGlTexParameterIuivOES(Stack* stack, bool pushReturn) { |
| uint32_t* params = stack->pop<uint32_t*>(); |
| GLenum pname = stack->pop<GLenum>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glTexParameterIuivOES(%u, %u, %p)\n", target, pname, params); |
| if (glTexParameterIuivOES != nullptr) { |
| glTexParameterIuivOES(target, pname, params); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glTexParameterIuivOES returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glTexParameterIuivOES\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glTexParameterIuivOES\n"); |
| return false; |
| } |
| } |
| |
| bool callGlTexStorage1DEXT(Stack* stack, bool pushReturn) { |
| int32_t width = stack->pop<int32_t>(); |
| GLenum format = stack->pop<GLenum>(); |
| int32_t levels = stack->pop<int32_t>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glTexStorage1DEXT(%u, %" PRId32 ", %u, %" PRId32 ")\n", target, levels, format, |
| width); |
| if (glTexStorage1DEXT != nullptr) { |
| glTexStorage1DEXT(target, levels, format, width); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glTexStorage1DEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glTexStorage1DEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glTexStorage1DEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlTexStorage2DEXT(Stack* stack, bool pushReturn) { |
| int32_t height = stack->pop<int32_t>(); |
| int32_t width = stack->pop<int32_t>(); |
| GLenum format = stack->pop<GLenum>(); |
| int32_t levels = stack->pop<int32_t>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glTexStorage2DEXT(%u, %" PRId32 ", %u, %" PRId32 ", %" PRId32 ")\n", target, |
| levels, format, width, height); |
| if (glTexStorage2DEXT != nullptr) { |
| glTexStorage2DEXT(target, levels, format, width, height); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glTexStorage2DEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glTexStorage2DEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glTexStorage2DEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlTexStorage3DEXT(Stack* stack, bool pushReturn) { |
| int32_t depth = stack->pop<int32_t>(); |
| int32_t height = stack->pop<int32_t>(); |
| int32_t width = stack->pop<int32_t>(); |
| GLenum format = stack->pop<GLenum>(); |
| int32_t levels = stack->pop<int32_t>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glTexStorage3DEXT(%u, %" PRId32 ", %u, %" PRId32 ", %" PRId32 ", %" PRId32 |
| ")\n", |
| target, levels, format, width, height, depth); |
| if (glTexStorage3DEXT != nullptr) { |
| glTexStorage3DEXT(target, levels, format, width, height, depth); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glTexStorage3DEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glTexStorage3DEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glTexStorage3DEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlTexSubImage3DOES(Stack* stack, bool pushReturn) { |
| void* pixels = stack->pop<void*>(); |
| GLenum type = stack->pop<GLenum>(); |
| GLenum format = stack->pop<GLenum>(); |
| int32_t depth = stack->pop<int32_t>(); |
| int32_t height = stack->pop<int32_t>(); |
| int32_t width = stack->pop<int32_t>(); |
| int32_t zoffset = stack->pop<int32_t>(); |
| int32_t yoffset = stack->pop<int32_t>(); |
| int32_t xoffset = stack->pop<int32_t>(); |
| int32_t level = stack->pop<int32_t>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| 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); |
| if (glTexSubImage3DOES != nullptr) { |
| glTexSubImage3DOES(target, level, xoffset, yoffset, zoffset, width, height, depth, |
| format, type, pixels); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glTexSubImage3DOES returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glTexSubImage3DOES\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glTexSubImage3DOES\n"); |
| return false; |
| } |
| } |
| |
| bool callGlTextureStorage1DEXT(Stack* stack, bool pushReturn) { |
| int32_t width = stack->pop<int32_t>(); |
| GLenum format = stack->pop<GLenum>(); |
| int32_t levels = stack->pop<int32_t>(); |
| GLenum target = stack->pop<GLenum>(); |
| uint32_t texture = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glTextureStorage1DEXT(%" PRIu32 ", %u, %" PRId32 ", %u, %" PRId32 ")\n", |
| texture, target, levels, format, width); |
| if (glTextureStorage1DEXT != nullptr) { |
| glTextureStorage1DEXT(texture, target, levels, format, width); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glTextureStorage1DEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glTextureStorage1DEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glTextureStorage1DEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlTextureStorage2DEXT(Stack* stack, bool pushReturn) { |
| int32_t height = stack->pop<int32_t>(); |
| int32_t width = stack->pop<int32_t>(); |
| GLenum format = stack->pop<GLenum>(); |
| int32_t levels = stack->pop<int32_t>(); |
| GLenum target = stack->pop<GLenum>(); |
| uint32_t texture = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glTextureStorage2DEXT(%" PRIu32 ", %u, %" PRId32 ", %u, %" PRId32 ", %" PRId32 |
| ")\n", |
| texture, target, levels, format, width, height); |
| if (glTextureStorage2DEXT != nullptr) { |
| glTextureStorage2DEXT(texture, target, levels, format, width, height); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glTextureStorage2DEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glTextureStorage2DEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glTextureStorage2DEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlTextureStorage3DEXT(Stack* stack, bool pushReturn) { |
| int32_t depth = stack->pop<int32_t>(); |
| int32_t height = stack->pop<int32_t>(); |
| int32_t width = stack->pop<int32_t>(); |
| GLenum format = stack->pop<GLenum>(); |
| int32_t levels = stack->pop<int32_t>(); |
| GLenum target = stack->pop<GLenum>(); |
| uint32_t texture = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glTextureStorage3DEXT(%" PRIu32 ", %u, %" PRId32 ", %u, %" PRId32 ", %" PRId32 |
| ", %" PRId32 ")\n", |
| texture, target, levels, format, width, height, depth); |
| if (glTextureStorage3DEXT != nullptr) { |
| glTextureStorage3DEXT(texture, target, levels, format, width, height, depth); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glTextureStorage3DEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glTextureStorage3DEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glTextureStorage3DEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlTextureViewEXT(Stack* stack, bool pushReturn) { |
| uint32_t numlayers = stack->pop<uint32_t>(); |
| uint32_t minlayer = stack->pop<uint32_t>(); |
| uint32_t numlevels = stack->pop<uint32_t>(); |
| uint32_t minlevel = stack->pop<uint32_t>(); |
| GLenum internalformat = stack->pop<GLenum>(); |
| uint32_t origtexture = stack->pop<uint32_t>(); |
| GLenum target = stack->pop<GLenum>(); |
| uint32_t texture = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glTextureViewEXT(%" PRIu32 ", %u, %" PRIu32 ", %u, %" PRIu32 ", %" PRIu32 |
| ", %" PRIu32 ", %" PRIu32 ")\n", |
| texture, target, origtexture, internalformat, minlevel, numlevels, minlayer, |
| numlayers); |
| if (glTextureViewEXT != nullptr) { |
| glTextureViewEXT(texture, target, origtexture, internalformat, minlevel, numlevels, |
| minlayer, numlayers); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glTextureViewEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glTextureViewEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glTextureViewEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlTextureViewOES(Stack* stack, bool pushReturn) { |
| uint32_t numlayers = stack->pop<uint32_t>(); |
| uint32_t minlayer = stack->pop<uint32_t>(); |
| uint32_t numlevels = stack->pop<uint32_t>(); |
| uint32_t minlevel = stack->pop<uint32_t>(); |
| GLenum internalformat = stack->pop<GLenum>(); |
| uint32_t origtexture = stack->pop<uint32_t>(); |
| GLenum target = stack->pop<GLenum>(); |
| uint32_t texture = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glTextureViewOES(%" PRIu32 ", %u, %" PRIu32 ", %u, %" PRIu32 ", %" PRIu32 |
| ", %" PRIu32 ", %" PRIu32 ")\n", |
| texture, target, origtexture, internalformat, minlevel, numlevels, minlayer, |
| numlayers); |
| if (glTextureViewOES != nullptr) { |
| glTextureViewOES(texture, target, origtexture, internalformat, minlevel, numlevels, |
| minlayer, numlayers); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glTextureViewOES returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glTextureViewOES\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glTextureViewOES\n"); |
| return false; |
| } |
| } |
| |
| bool callGlTransformPathNV(Stack* stack, bool pushReturn) { |
| float* transformValues = stack->pop<float*>(); |
| GLenum transformType = stack->pop<GLenum>(); |
| uint32_t srcPath = stack->pop<uint32_t>(); |
| uint32_t resultPath = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glTransformPathNV(%" PRIu32 ", %" PRIu32 ", %u, %p)\n", resultPath, srcPath, |
| transformType, transformValues); |
| if (glTransformPathNV != nullptr) { |
| glTransformPathNV(resultPath, srcPath, transformType, transformValues); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glTransformPathNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glTransformPathNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glTransformPathNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlUniformHandleui64NV(Stack* stack, bool pushReturn) { |
| uint64_t value = stack->pop<uint64_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glUniformHandleui64NV(%" PRId32 ", %" PRIu64 ")\n", location, value); |
| if (glUniformHandleui64NV != nullptr) { |
| glUniformHandleui64NV(location, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glUniformHandleui64NV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glUniformHandleui64NV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glUniformHandleui64NV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlUniformHandleui64vNV(Stack* stack, bool pushReturn) { |
| uint64_t* value = stack->pop<uint64_t*>(); |
| int32_t count = stack->pop<int32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glUniformHandleui64vNV(%" PRId32 ", %" PRId32 ", %p)\n", location, count, |
| value); |
| if (glUniformHandleui64vNV != nullptr) { |
| glUniformHandleui64vNV(location, count, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glUniformHandleui64vNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glUniformHandleui64vNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glUniformHandleui64vNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlUniformMatrix2x3fvNV(Stack* stack, bool pushReturn) { |
| float* value = stack->pop<float*>(); |
| uint8_t transpose = stack->pop<uint8_t>(); |
| int32_t count = stack->pop<int32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glUniformMatrix2x3fvNV(%" PRId32 ", %" PRId32 ", %" PRIu8 ", %p)\n", location, |
| count, transpose, value); |
| if (glUniformMatrix2x3fvNV != nullptr) { |
| glUniformMatrix2x3fvNV(location, count, transpose, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glUniformMatrix2x3fvNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glUniformMatrix2x3fvNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glUniformMatrix2x3fvNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlUniformMatrix2x4fvNV(Stack* stack, bool pushReturn) { |
| float* value = stack->pop<float*>(); |
| uint8_t transpose = stack->pop<uint8_t>(); |
| int32_t count = stack->pop<int32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glUniformMatrix2x4fvNV(%" PRId32 ", %" PRId32 ", %" PRIu8 ", %p)\n", location, |
| count, transpose, value); |
| if (glUniformMatrix2x4fvNV != nullptr) { |
| glUniformMatrix2x4fvNV(location, count, transpose, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glUniformMatrix2x4fvNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glUniformMatrix2x4fvNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glUniformMatrix2x4fvNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlUniformMatrix3x2fvNV(Stack* stack, bool pushReturn) { |
| float* value = stack->pop<float*>(); |
| uint8_t transpose = stack->pop<uint8_t>(); |
| int32_t count = stack->pop<int32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glUniformMatrix3x2fvNV(%" PRId32 ", %" PRId32 ", %" PRIu8 ", %p)\n", location, |
| count, transpose, value); |
| if (glUniformMatrix3x2fvNV != nullptr) { |
| glUniformMatrix3x2fvNV(location, count, transpose, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glUniformMatrix3x2fvNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glUniformMatrix3x2fvNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glUniformMatrix3x2fvNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlUniformMatrix3x4fvNV(Stack* stack, bool pushReturn) { |
| float* value = stack->pop<float*>(); |
| uint8_t transpose = stack->pop<uint8_t>(); |
| int32_t count = stack->pop<int32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glUniformMatrix3x4fvNV(%" PRId32 ", %" PRId32 ", %" PRIu8 ", %p)\n", location, |
| count, transpose, value); |
| if (glUniformMatrix3x4fvNV != nullptr) { |
| glUniformMatrix3x4fvNV(location, count, transpose, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glUniformMatrix3x4fvNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glUniformMatrix3x4fvNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glUniformMatrix3x4fvNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlUniformMatrix4x2fvNV(Stack* stack, bool pushReturn) { |
| float* value = stack->pop<float*>(); |
| uint8_t transpose = stack->pop<uint8_t>(); |
| int32_t count = stack->pop<int32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glUniformMatrix4x2fvNV(%" PRId32 ", %" PRId32 ", %" PRIu8 ", %p)\n", location, |
| count, transpose, value); |
| if (glUniformMatrix4x2fvNV != nullptr) { |
| glUniformMatrix4x2fvNV(location, count, transpose, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glUniformMatrix4x2fvNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glUniformMatrix4x2fvNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glUniformMatrix4x2fvNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlUniformMatrix4x3fvNV(Stack* stack, bool pushReturn) { |
| float* value = stack->pop<float*>(); |
| uint8_t transpose = stack->pop<uint8_t>(); |
| int32_t count = stack->pop<int32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glUniformMatrix4x3fvNV(%" PRId32 ", %" PRId32 ", %" PRIu8 ", %p)\n", location, |
| count, transpose, value); |
| if (glUniformMatrix4x3fvNV != nullptr) { |
| glUniformMatrix4x3fvNV(location, count, transpose, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glUniformMatrix4x3fvNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glUniformMatrix4x3fvNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glUniformMatrix4x3fvNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlUnmapBufferOES(Stack* stack, bool pushReturn) { |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glUnmapBufferOES(%u)\n", target); |
| if (glUnmapBufferOES != nullptr) { |
| uint8_t return_value = glUnmapBufferOES(target); |
| GAPID_INFO("Returned: %" PRIu8 "\n", return_value); |
| if (pushReturn) { |
| stack->push<uint8_t>(return_value); |
| } |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glUnmapBufferOES returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glUnmapBufferOES\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glUnmapBufferOES\n"); |
| return false; |
| } |
| } |
| |
| bool callGlUseProgramStagesEXT(Stack* stack, bool pushReturn) { |
| uint32_t program = stack->pop<uint32_t>(); |
| GLbitfield stages = stack->pop<GLbitfield>(); |
| uint32_t pipeline = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glUseProgramStagesEXT(%" PRIu32 ", %u, %" PRIu32 ")\n", pipeline, stages, |
| program); |
| if (glUseProgramStagesEXT != nullptr) { |
| glUseProgramStagesEXT(pipeline, stages, program); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glUseProgramStagesEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glUseProgramStagesEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glUseProgramStagesEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlValidateProgramPipelineEXT(Stack* stack, bool pushReturn) { |
| uint32_t pipeline = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glValidateProgramPipelineEXT(%" PRIu32 ")\n", pipeline); |
| if (glValidateProgramPipelineEXT != nullptr) { |
| glValidateProgramPipelineEXT(pipeline); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glValidateProgramPipelineEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glValidateProgramPipelineEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glValidateProgramPipelineEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlVertexAttribDivisorANGLE(Stack* stack, bool pushReturn) { |
| uint32_t divisor = stack->pop<uint32_t>(); |
| uint32_t index = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glVertexAttribDivisorANGLE(%" PRIu32 ", %" PRIu32 ")\n", index, divisor); |
| if (glVertexAttribDivisorANGLE != nullptr) { |
| glVertexAttribDivisorANGLE(index, divisor); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glVertexAttribDivisorANGLE returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glVertexAttribDivisorANGLE\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glVertexAttribDivisorANGLE\n"); |
| return false; |
| } |
| } |
| |
| bool callGlVertexAttribDivisorEXT(Stack* stack, bool pushReturn) { |
| uint32_t divisor = stack->pop<uint32_t>(); |
| uint32_t index = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glVertexAttribDivisorEXT(%" PRIu32 ", %" PRIu32 ")\n", index, divisor); |
| if (glVertexAttribDivisorEXT != nullptr) { |
| glVertexAttribDivisorEXT(index, divisor); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glVertexAttribDivisorEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glVertexAttribDivisorEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glVertexAttribDivisorEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlVertexAttribDivisorNV(Stack* stack, bool pushReturn) { |
| uint32_t divisor = stack->pop<uint32_t>(); |
| uint32_t index = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glVertexAttribDivisorNV(%" PRIu32 ", %" PRIu32 ")\n", index, divisor); |
| if (glVertexAttribDivisorNV != nullptr) { |
| glVertexAttribDivisorNV(index, divisor); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glVertexAttribDivisorNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glVertexAttribDivisorNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glVertexAttribDivisorNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlViewportArrayvNV(Stack* stack, bool pushReturn) { |
| float* v = stack->pop<float*>(); |
| int32_t count = stack->pop<int32_t>(); |
| uint32_t first = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glViewportArrayvNV(%" PRIu32 ", %" PRId32 ", %p)\n", first, count, v); |
| if (glViewportArrayvNV != nullptr) { |
| glViewportArrayvNV(first, count, v); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glViewportArrayvNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glViewportArrayvNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glViewportArrayvNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlViewportIndexedfNV(Stack* stack, bool pushReturn) { |
| float h = stack->pop<float>(); |
| float w = stack->pop<float>(); |
| float y = stack->pop<float>(); |
| float x = stack->pop<float>(); |
| uint32_t index = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glViewportIndexedfNV(%" PRIu32 ", %f, %f, %f, %f)\n", index, x, y, w, h); |
| if (glViewportIndexedfNV != nullptr) { |
| glViewportIndexedfNV(index, x, y, w, h); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glViewportIndexedfNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glViewportIndexedfNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glViewportIndexedfNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlViewportIndexedfvNV(Stack* stack, bool pushReturn) { |
| float* v = stack->pop<float*>(); |
| uint32_t index = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glViewportIndexedfvNV(%" PRIu32 ", %p)\n", index, v); |
| if (glViewportIndexedfvNV != nullptr) { |
| glViewportIndexedfvNV(index, v); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glViewportIndexedfvNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glViewportIndexedfvNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glViewportIndexedfvNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlWaitSyncAPPLE(Stack* stack, bool pushReturn) { |
| uint64_t timeout = stack->pop<uint64_t>(); |
| GLbitfield flag = stack->pop<GLbitfield>(); |
| uint64_t sync = stack->pop<uint64_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glWaitSyncAPPLE(%" PRIu64 ", %u, %" PRIu64 ")\n", sync, flag, timeout); |
| if (glWaitSyncAPPLE != nullptr) { |
| glWaitSyncAPPLE(sync, flag, timeout); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glWaitSyncAPPLE returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glWaitSyncAPPLE\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glWaitSyncAPPLE\n"); |
| return false; |
| } |
| } |
| |
| bool callGlWeightPathsNV(Stack* stack, bool pushReturn) { |
| float* weights = stack->pop<float*>(); |
| uint32_t* paths = stack->pop<uint32_t*>(); |
| int32_t numPaths = stack->pop<int32_t>(); |
| uint32_t resultPath = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glWeightPathsNV(%" PRIu32 ", %" PRId32 ", %p, %p)\n", resultPath, numPaths, |
| paths, weights); |
| if (glWeightPathsNV != nullptr) { |
| glWeightPathsNV(resultPath, numPaths, paths, weights); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glWeightPathsNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glWeightPathsNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glWeightPathsNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlCoverageModulationNV(Stack* stack, bool pushReturn) { |
| GLenum components = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glCoverageModulationNV(%u)\n", components); |
| if (glCoverageModulationNV != nullptr) { |
| glCoverageModulationNV(components); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glCoverageModulationNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glCoverageModulationNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glCoverageModulationNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlCoverageModulationTableNV(Stack* stack, bool pushReturn) { |
| float* v = stack->pop<float*>(); |
| int32_t n = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glCoverageModulationTableNV(%" PRId32 ", %p)\n", n, v); |
| if (glCoverageModulationTableNV != nullptr) { |
| glCoverageModulationTableNV(n, v); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glCoverageModulationTableNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glCoverageModulationTableNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glCoverageModulationTableNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlFragmentCoverageColorNV(Stack* stack, bool pushReturn) { |
| uint32_t color = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glFragmentCoverageColorNV(%" PRIu32 ")\n", color); |
| if (glFragmentCoverageColorNV != nullptr) { |
| glFragmentCoverageColorNV(color); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glFragmentCoverageColorNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glFragmentCoverageColorNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glFragmentCoverageColorNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlFramebufferSampleLocationsfvNV(Stack* stack, bool pushReturn) { |
| float* v = stack->pop<float*>(); |
| int32_t count = stack->pop<int32_t>(); |
| uint32_t start = stack->pop<uint32_t>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glFramebufferSampleLocationsfvNV(%u, %" PRIu32 ", %" PRId32 ", %p)\n", target, |
| start, count, v); |
| if (glFramebufferSampleLocationsfvNV != nullptr) { |
| glFramebufferSampleLocationsfvNV(target, start, count, v); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glFramebufferSampleLocationsfvNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING( |
| "Attempted to call unsupported function glFramebufferSampleLocationsfvNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glFramebufferSampleLocationsfvNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetCoverageModulationTableNV(Stack* stack, bool pushReturn) { |
| float* v = stack->pop<float*>(); |
| int32_t bufsize = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetCoverageModulationTableNV(%" PRId32 ", %p)\n", bufsize, v); |
| if (glGetCoverageModulationTableNV != nullptr) { |
| glGetCoverageModulationTableNV(bufsize, v); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetCoverageModulationTableNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING( |
| "Attempted to call unsupported function glGetCoverageModulationTableNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetCoverageModulationTableNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlNamedFramebufferSampleLocationsfvNV(Stack* stack, bool pushReturn) { |
| float* v = stack->pop<float*>(); |
| int32_t count = stack->pop<int32_t>(); |
| uint32_t start = stack->pop<uint32_t>(); |
| uint32_t framebuffer = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glNamedFramebufferSampleLocationsfvNV(%" PRIu32 ", %" PRIu32 ", %" PRId32 |
| ", %p)\n", |
| framebuffer, start, count, v); |
| if (glNamedFramebufferSampleLocationsfvNV != nullptr) { |
| glNamedFramebufferSampleLocationsfvNV(framebuffer, start, count, v); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glNamedFramebufferSampleLocationsfvNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING( |
| "Attempted to call unsupported function " |
| "glNamedFramebufferSampleLocationsfvNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glNamedFramebufferSampleLocationsfvNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlRasterSamplesEXT(Stack* stack, bool pushReturn) { |
| uint8_t fixedsamplelocations = stack->pop<uint8_t>(); |
| uint32_t samples = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glRasterSamplesEXT(%" PRIu32 ", %" PRIu8 ")\n", samples, fixedsamplelocations); |
| if (glRasterSamplesEXT != nullptr) { |
| glRasterSamplesEXT(samples, fixedsamplelocations); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glRasterSamplesEXT returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glRasterSamplesEXT\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glRasterSamplesEXT\n"); |
| return false; |
| } |
| } |
| |
| bool callGlResolveDepthValuesNV(Stack* stack, bool pushReturn) { |
| if (stack->isValid()) { |
| GAPID_INFO("glResolveDepthValuesNV()\n"); |
| if (glResolveDepthValuesNV != nullptr) { |
| glResolveDepthValuesNV(); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glResolveDepthValuesNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glResolveDepthValuesNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glResolveDepthValuesNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlSubpixelPrecisionBiasNV(Stack* stack, bool pushReturn) { |
| uint32_t ybits = stack->pop<uint32_t>(); |
| uint32_t xbits = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glSubpixelPrecisionBiasNV(%" PRIu32 ", %" PRIu32 ")\n", xbits, ybits); |
| if (glSubpixelPrecisionBiasNV != nullptr) { |
| glSubpixelPrecisionBiasNV(xbits, ybits); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glSubpixelPrecisionBiasNV returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glSubpixelPrecisionBiasNV\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glSubpixelPrecisionBiasNV\n"); |
| return false; |
| } |
| } |
| |
| bool callGlBlendColor(Stack* stack, bool pushReturn) { |
| float alpha = stack->pop<float>(); |
| float blue = stack->pop<float>(); |
| float green = stack->pop<float>(); |
| float red = stack->pop<float>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glBlendColor(%f, %f, %f, %f)\n", red, green, blue, alpha); |
| if (glBlendColor != nullptr) { |
| glBlendColor(red, green, blue, alpha); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glBlendColor returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glBlendColor\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glBlendColor\n"); |
| return false; |
| } |
| } |
| |
| bool callGlBlendEquation(Stack* stack, bool pushReturn) { |
| GLenum equation = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glBlendEquation(%u)\n", equation); |
| if (glBlendEquation != nullptr) { |
| glBlendEquation(equation); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glBlendEquation returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glBlendEquation\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glBlendEquation\n"); |
| return false; |
| } |
| } |
| |
| bool callGlBlendEquationSeparate(Stack* stack, bool pushReturn) { |
| GLenum alpha = stack->pop<GLenum>(); |
| GLenum rgb = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glBlendEquationSeparate(%u, %u)\n", rgb, alpha); |
| if (glBlendEquationSeparate != nullptr) { |
| glBlendEquationSeparate(rgb, alpha); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glBlendEquationSeparate returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glBlendEquationSeparate\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glBlendEquationSeparate\n"); |
| return false; |
| } |
| } |
| |
| bool callGlBlendFunc(Stack* stack, bool pushReturn) { |
| GLenum dst_factor = stack->pop<GLenum>(); |
| GLenum src_factor = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glBlendFunc(%u, %u)\n", src_factor, dst_factor); |
| if (glBlendFunc != nullptr) { |
| glBlendFunc(src_factor, dst_factor); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glBlendFunc returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glBlendFunc\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glBlendFunc\n"); |
| return false; |
| } |
| } |
| |
| bool callGlBlendFuncSeparate(Stack* stack, bool pushReturn) { |
| GLenum dst_factor_alpha = stack->pop<GLenum>(); |
| GLenum src_factor_alpha = stack->pop<GLenum>(); |
| GLenum dst_factor_rgb = stack->pop<GLenum>(); |
| GLenum src_factor_rgb = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glBlendFuncSeparate(%u, %u, %u, %u)\n", src_factor_rgb, dst_factor_rgb, |
| src_factor_alpha, dst_factor_alpha); |
| if (glBlendFuncSeparate != nullptr) { |
| glBlendFuncSeparate(src_factor_rgb, dst_factor_rgb, src_factor_alpha, dst_factor_alpha); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glBlendFuncSeparate returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glBlendFuncSeparate\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glBlendFuncSeparate\n"); |
| return false; |
| } |
| } |
| |
| bool callGlDepthFunc(Stack* stack, bool pushReturn) { |
| GLenum function = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glDepthFunc(%u)\n", function); |
| if (glDepthFunc != nullptr) { |
| glDepthFunc(function); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glDepthFunc returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glDepthFunc\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glDepthFunc\n"); |
| return false; |
| } |
| } |
| |
| bool callGlSampleCoverage(Stack* stack, bool pushReturn) { |
| uint8_t invert = stack->pop<uint8_t>(); |
| float value = stack->pop<float>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glSampleCoverage(%f, %" PRIu8 ")\n", value, invert); |
| if (glSampleCoverage != nullptr) { |
| glSampleCoverage(value, invert); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glSampleCoverage returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glSampleCoverage\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glSampleCoverage\n"); |
| return false; |
| } |
| } |
| |
| bool callGlSampleMaski(Stack* stack, bool pushReturn) { |
| GLbitfield mask = stack->pop<GLbitfield>(); |
| uint32_t maskNumber = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glSampleMaski(%" PRIu32 ", %u)\n", maskNumber, mask); |
| if (glSampleMaski != nullptr) { |
| glSampleMaski(maskNumber, mask); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glSampleMaski returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glSampleMaski\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glSampleMaski\n"); |
| return false; |
| } |
| } |
| |
| bool callGlScissor(Stack* stack, bool pushReturn) { |
| int32_t height = stack->pop<int32_t>(); |
| int32_t width = stack->pop<int32_t>(); |
| int32_t y = stack->pop<int32_t>(); |
| int32_t x = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glScissor(%" PRId32 ", %" PRId32 ", %" PRId32 ", %" PRId32 ")\n", x, y, width, |
| height); |
| if (glScissor != nullptr) { |
| glScissor(x, y, width, height); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glScissor returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glScissor\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glScissor\n"); |
| return false; |
| } |
| } |
| |
| bool callGlStencilFunc(Stack* stack, bool pushReturn) { |
| uint32_t mask = stack->pop<uint32_t>(); |
| int32_t ref = stack->pop<int32_t>(); |
| GLenum func = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glStencilFunc(%u, %" PRId32 ", %" PRIu32 ")\n", func, ref, mask); |
| if (glStencilFunc != nullptr) { |
| glStencilFunc(func, ref, mask); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glStencilFunc returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glStencilFunc\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glStencilFunc\n"); |
| return false; |
| } |
| } |
| |
| bool callGlStencilFuncSeparate(Stack* stack, bool pushReturn) { |
| uint32_t mask = stack->pop<uint32_t>(); |
| int32_t reference_value = stack->pop<int32_t>(); |
| GLenum function = stack->pop<GLenum>(); |
| GLenum face = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glStencilFuncSeparate(%u, %u, %" PRId32 ", %" PRIu32 ")\n", face, function, |
| reference_value, mask); |
| if (glStencilFuncSeparate != nullptr) { |
| glStencilFuncSeparate(face, function, reference_value, mask); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glStencilFuncSeparate returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glStencilFuncSeparate\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glStencilFuncSeparate\n"); |
| return false; |
| } |
| } |
| |
| bool callGlStencilOp(Stack* stack, bool pushReturn) { |
| GLenum zpass = stack->pop<GLenum>(); |
| GLenum zfail = stack->pop<GLenum>(); |
| GLenum fail = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glStencilOp(%u, %u, %u)\n", fail, zfail, zpass); |
| if (glStencilOp != nullptr) { |
| glStencilOp(fail, zfail, zpass); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glStencilOp returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glStencilOp\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glStencilOp\n"); |
| return false; |
| } |
| } |
| |
| bool callGlStencilOpSeparate(Stack* stack, bool pushReturn) { |
| GLenum stencil_pass_depth_pass = stack->pop<GLenum>(); |
| GLenum stencil_pass_depth_fail = stack->pop<GLenum>(); |
| GLenum stencil_fail = stack->pop<GLenum>(); |
| GLenum face = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glStencilOpSeparate(%u, %u, %u, %u)\n", face, stencil_fail, |
| stencil_pass_depth_fail, stencil_pass_depth_pass); |
| if (glStencilOpSeparate != nullptr) { |
| glStencilOpSeparate(face, stencil_fail, stencil_pass_depth_fail, |
| stencil_pass_depth_pass); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glStencilOpSeparate returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glStencilOpSeparate\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glStencilOpSeparate\n"); |
| return false; |
| } |
| } |
| |
| bool callGlBindFramebuffer(Stack* stack, bool pushReturn) { |
| uint32_t framebuffer = stack->pop<uint32_t>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glBindFramebuffer(%u, %" PRIu32 ")\n", target, framebuffer); |
| if (glBindFramebuffer != nullptr) { |
| glBindFramebuffer(target, framebuffer); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glBindFramebuffer returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glBindFramebuffer\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glBindFramebuffer\n"); |
| return false; |
| } |
| } |
| |
| bool callGlBindRenderbuffer(Stack* stack, bool pushReturn) { |
| uint32_t renderbuffer = stack->pop<uint32_t>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glBindRenderbuffer(%u, %" PRIu32 ")\n", target, renderbuffer); |
| if (glBindRenderbuffer != nullptr) { |
| glBindRenderbuffer(target, renderbuffer); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glBindRenderbuffer returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glBindRenderbuffer\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glBindRenderbuffer\n"); |
| return false; |
| } |
| } |
| |
| bool callGlBlitFramebuffer(Stack* stack, bool pushReturn) { |
| GLenum filter = stack->pop<GLenum>(); |
| GLbitfield mask = stack->pop<GLbitfield>(); |
| int32_t dstY1 = stack->pop<int32_t>(); |
| int32_t dstX1 = stack->pop<int32_t>(); |
| int32_t dstY0 = stack->pop<int32_t>(); |
| int32_t dstX0 = stack->pop<int32_t>(); |
| int32_t srcY1 = stack->pop<int32_t>(); |
| int32_t srcX1 = stack->pop<int32_t>(); |
| int32_t srcY0 = stack->pop<int32_t>(); |
| int32_t srcX0 = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glBlitFramebuffer(%" PRId32 ", %" PRId32 ", %" PRId32 ", %" PRId32 ", %" PRId32 |
| ", %" PRId32 ", %" PRId32 ", %" PRId32 ", %u, %u)\n", |
| srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); |
| if (glBlitFramebuffer != nullptr) { |
| glBlitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glBlitFramebuffer returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glBlitFramebuffer\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glBlitFramebuffer\n"); |
| return false; |
| } |
| } |
| |
| bool callGlCheckFramebufferStatus(Stack* stack, bool pushReturn) { |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glCheckFramebufferStatus(%u)\n", target); |
| if (glCheckFramebufferStatus != nullptr) { |
| GLenum return_value = glCheckFramebufferStatus(target); |
| GAPID_INFO("Returned: %u\n", return_value); |
| if (pushReturn) { |
| stack->push<GLenum>(return_value); |
| } |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glCheckFramebufferStatus returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glCheckFramebufferStatus\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glCheckFramebufferStatus\n"); |
| return false; |
| } |
| } |
| |
| bool callGlClear(Stack* stack, bool pushReturn) { |
| GLbitfield mask = stack->pop<GLbitfield>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glClear(%u)\n", mask); |
| if (glClear != nullptr) { |
| glClear(mask); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glClear returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glClear\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glClear\n"); |
| return false; |
| } |
| } |
| |
| bool callGlClearBufferfi(Stack* stack, bool pushReturn) { |
| int32_t stencil = stack->pop<int32_t>(); |
| float depth = stack->pop<float>(); |
| int32_t drawbuffer = stack->pop<int32_t>(); |
| GLenum buffer = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glClearBufferfi(%u, %" PRId32 ", %f, %" PRId32 ")\n", buffer, drawbuffer, depth, |
| stencil); |
| if (glClearBufferfi != nullptr) { |
| glClearBufferfi(buffer, drawbuffer, depth, stencil); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glClearBufferfi returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glClearBufferfi\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glClearBufferfi\n"); |
| return false; |
| } |
| } |
| |
| bool callGlClearBufferfv(Stack* stack, bool pushReturn) { |
| float* value = stack->pop<float*>(); |
| int32_t drawbuffer = stack->pop<int32_t>(); |
| GLenum buffer = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glClearBufferfv(%u, %" PRId32 ", %p)\n", buffer, drawbuffer, value); |
| if (glClearBufferfv != nullptr) { |
| glClearBufferfv(buffer, drawbuffer, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glClearBufferfv returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glClearBufferfv\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glClearBufferfv\n"); |
| return false; |
| } |
| } |
| |
| bool callGlClearBufferiv(Stack* stack, bool pushReturn) { |
| int32_t* value = stack->pop<int32_t*>(); |
| int32_t drawbuffer = stack->pop<int32_t>(); |
| GLenum buffer = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glClearBufferiv(%u, %" PRId32 ", %p)\n", buffer, drawbuffer, value); |
| if (glClearBufferiv != nullptr) { |
| glClearBufferiv(buffer, drawbuffer, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glClearBufferiv returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glClearBufferiv\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glClearBufferiv\n"); |
| return false; |
| } |
| } |
| |
| bool callGlClearBufferuiv(Stack* stack, bool pushReturn) { |
| uint32_t* value = stack->pop<uint32_t*>(); |
| int32_t drawbuffer = stack->pop<int32_t>(); |
| GLenum buffer = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glClearBufferuiv(%u, %" PRId32 ", %p)\n", buffer, drawbuffer, value); |
| if (glClearBufferuiv != nullptr) { |
| glClearBufferuiv(buffer, drawbuffer, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glClearBufferuiv returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glClearBufferuiv\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glClearBufferuiv\n"); |
| return false; |
| } |
| } |
| |
| bool callGlClearColor(Stack* stack, bool pushReturn) { |
| float a = stack->pop<float>(); |
| float b = stack->pop<float>(); |
| float g = stack->pop<float>(); |
| float r = stack->pop<float>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glClearColor(%f, %f, %f, %f)\n", r, g, b, a); |
| if (glClearColor != nullptr) { |
| glClearColor(r, g, b, a); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glClearColor returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glClearColor\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glClearColor\n"); |
| return false; |
| } |
| } |
| |
| bool callGlClearDepthf(Stack* stack, bool pushReturn) { |
| float depth = stack->pop<float>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glClearDepthf(%f)\n", depth); |
| if (glClearDepthf != nullptr) { |
| glClearDepthf(depth); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glClearDepthf returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glClearDepthf\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glClearDepthf\n"); |
| return false; |
| } |
| } |
| |
| bool callGlClearStencil(Stack* stack, bool pushReturn) { |
| int32_t stencil = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glClearStencil(%" PRId32 ")\n", stencil); |
| if (glClearStencil != nullptr) { |
| glClearStencil(stencil); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glClearStencil returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glClearStencil\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glClearStencil\n"); |
| return false; |
| } |
| } |
| |
| bool callGlColorMask(Stack* stack, bool pushReturn) { |
| uint8_t alpha = stack->pop<uint8_t>(); |
| uint8_t blue = stack->pop<uint8_t>(); |
| uint8_t green = stack->pop<uint8_t>(); |
| uint8_t red = stack->pop<uint8_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glColorMask(%" PRIu8 ", %" PRIu8 ", %" PRIu8 ", %" PRIu8 ")\n", red, green, |
| blue, alpha); |
| if (glColorMask != nullptr) { |
| glColorMask(red, green, blue, alpha); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glColorMask returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glColorMask\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glColorMask\n"); |
| return false; |
| } |
| } |
| |
| bool callGlDeleteFramebuffers(Stack* stack, bool pushReturn) { |
| uint32_t* framebuffers = stack->pop<uint32_t*>(); |
| int32_t count = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glDeleteFramebuffers(%" PRId32 ", %p)\n", count, framebuffers); |
| if (glDeleteFramebuffers != nullptr) { |
| glDeleteFramebuffers(count, framebuffers); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glDeleteFramebuffers returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glDeleteFramebuffers\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glDeleteFramebuffers\n"); |
| return false; |
| } |
| } |
| |
| bool callGlDeleteRenderbuffers(Stack* stack, bool pushReturn) { |
| uint32_t* renderbuffers = stack->pop<uint32_t*>(); |
| int32_t count = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glDeleteRenderbuffers(%" PRId32 ", %p)\n", count, renderbuffers); |
| if (glDeleteRenderbuffers != nullptr) { |
| glDeleteRenderbuffers(count, renderbuffers); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glDeleteRenderbuffers returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glDeleteRenderbuffers\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glDeleteRenderbuffers\n"); |
| return false; |
| } |
| } |
| |
| bool callGlDepthMask(Stack* stack, bool pushReturn) { |
| uint8_t enabled = stack->pop<uint8_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glDepthMask(%" PRIu8 ")\n", enabled); |
| if (glDepthMask != nullptr) { |
| glDepthMask(enabled); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glDepthMask returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glDepthMask\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glDepthMask\n"); |
| return false; |
| } |
| } |
| |
| bool callGlFramebufferParameteri(Stack* stack, bool pushReturn) { |
| int32_t param = stack->pop<int32_t>(); |
| GLenum pname = stack->pop<GLenum>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glFramebufferParameteri(%u, %u, %" PRId32 ")\n", target, pname, param); |
| if (glFramebufferParameteri != nullptr) { |
| glFramebufferParameteri(target, pname, param); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glFramebufferParameteri returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glFramebufferParameteri\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glFramebufferParameteri\n"); |
| return false; |
| } |
| } |
| |
| bool callGlFramebufferRenderbuffer(Stack* stack, bool pushReturn) { |
| uint32_t renderbuffer = stack->pop<uint32_t>(); |
| GLenum renderbuffer_target = stack->pop<GLenum>(); |
| GLenum framebuffer_attachment = stack->pop<GLenum>(); |
| GLenum framebuffer_target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glFramebufferRenderbuffer(%u, %u, %u, %" PRIu32 ")\n", framebuffer_target, |
| framebuffer_attachment, renderbuffer_target, renderbuffer); |
| if (glFramebufferRenderbuffer != nullptr) { |
| glFramebufferRenderbuffer(framebuffer_target, framebuffer_attachment, |
| renderbuffer_target, renderbuffer); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glFramebufferRenderbuffer returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glFramebufferRenderbuffer\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glFramebufferRenderbuffer\n"); |
| return false; |
| } |
| } |
| |
| bool callGlFramebufferTexture2D(Stack* stack, bool pushReturn) { |
| int32_t level = stack->pop<int32_t>(); |
| uint32_t texture = stack->pop<uint32_t>(); |
| GLenum texture_target = stack->pop<GLenum>(); |
| GLenum framebuffer_attachment = stack->pop<GLenum>(); |
| GLenum framebuffer_target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glFramebufferTexture2D(%u, %u, %u, %" PRIu32 ", %" PRId32 ")\n", |
| framebuffer_target, framebuffer_attachment, texture_target, texture, level); |
| if (glFramebufferTexture2D != nullptr) { |
| glFramebufferTexture2D(framebuffer_target, framebuffer_attachment, texture_target, |
| texture, level); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glFramebufferTexture2D returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glFramebufferTexture2D\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glFramebufferTexture2D\n"); |
| return false; |
| } |
| } |
| |
| bool callGlFramebufferTextureLayer(Stack* stack, bool pushReturn) { |
| int32_t layer = stack->pop<int32_t>(); |
| int32_t level = stack->pop<int32_t>(); |
| uint32_t texture = stack->pop<uint32_t>(); |
| GLenum attachment = stack->pop<GLenum>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glFramebufferTextureLayer(%u, %u, %" PRIu32 ", %" PRId32 ", %" PRId32 ")\n", |
| target, attachment, texture, level, layer); |
| if (glFramebufferTextureLayer != nullptr) { |
| glFramebufferTextureLayer(target, attachment, texture, level, layer); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glFramebufferTextureLayer returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glFramebufferTextureLayer\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glFramebufferTextureLayer\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGenFramebuffers(Stack* stack, bool pushReturn) { |
| uint32_t* framebuffers = stack->pop<uint32_t*>(); |
| int32_t count = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGenFramebuffers(%" PRId32 ", %p)\n", count, framebuffers); |
| if (glGenFramebuffers != nullptr) { |
| glGenFramebuffers(count, framebuffers); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGenFramebuffers returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGenFramebuffers\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGenFramebuffers\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGenRenderbuffers(Stack* stack, bool pushReturn) { |
| uint32_t* renderbuffers = stack->pop<uint32_t*>(); |
| int32_t count = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGenRenderbuffers(%" PRId32 ", %p)\n", count, renderbuffers); |
| if (glGenRenderbuffers != nullptr) { |
| glGenRenderbuffers(count, renderbuffers); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGenRenderbuffers returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGenRenderbuffers\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGenRenderbuffers\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetFramebufferAttachmentParameteriv(Stack* stack, bool pushReturn) { |
| int32_t* value = stack->pop<int32_t*>(); |
| GLenum parameter = stack->pop<GLenum>(); |
| GLenum attachment = stack->pop<GLenum>(); |
| GLenum framebuffer_target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetFramebufferAttachmentParameteriv(%u, %u, %u, %p)\n", framebuffer_target, |
| attachment, parameter, value); |
| if (glGetFramebufferAttachmentParameteriv != nullptr) { |
| glGetFramebufferAttachmentParameteriv(framebuffer_target, attachment, parameter, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetFramebufferAttachmentParameteriv returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING( |
| "Attempted to call unsupported function " |
| "glGetFramebufferAttachmentParameteriv\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetFramebufferAttachmentParameteriv\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetFramebufferParameteriv(Stack* stack, bool pushReturn) { |
| int32_t* params = stack->pop<int32_t*>(); |
| GLenum pname = stack->pop<GLenum>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetFramebufferParameteriv(%u, %u, %p)\n", target, pname, params); |
| if (glGetFramebufferParameteriv != nullptr) { |
| glGetFramebufferParameteriv(target, pname, params); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetFramebufferParameteriv returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetFramebufferParameteriv\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetFramebufferParameteriv\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetRenderbufferParameteriv(Stack* stack, bool pushReturn) { |
| int32_t* values = stack->pop<int32_t*>(); |
| GLenum parameter = stack->pop<GLenum>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetRenderbufferParameteriv(%u, %u, %p)\n", target, parameter, values); |
| if (glGetRenderbufferParameteriv != nullptr) { |
| glGetRenderbufferParameteriv(target, parameter, values); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetRenderbufferParameteriv returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetRenderbufferParameteriv\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetRenderbufferParameteriv\n"); |
| return false; |
| } |
| } |
| |
| bool callGlInvalidateFramebuffer(Stack* stack, bool pushReturn) { |
| GLenum* attachments = stack->pop<GLenum*>(); |
| int32_t count = stack->pop<int32_t>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glInvalidateFramebuffer(%u, %" PRId32 ", %p)\n", target, count, attachments); |
| if (glInvalidateFramebuffer != nullptr) { |
| glInvalidateFramebuffer(target, count, attachments); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glInvalidateFramebuffer returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glInvalidateFramebuffer\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glInvalidateFramebuffer\n"); |
| return false; |
| } |
| } |
| |
| bool callGlInvalidateSubFramebuffer(Stack* stack, bool pushReturn) { |
| int32_t height = stack->pop<int32_t>(); |
| int32_t width = stack->pop<int32_t>(); |
| int32_t y = stack->pop<int32_t>(); |
| int32_t x = stack->pop<int32_t>(); |
| GLenum* attachments = stack->pop<GLenum*>(); |
| int32_t numAttachments = stack->pop<int32_t>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glInvalidateSubFramebuffer(%u, %" PRId32 ", %p, %" PRId32 ", %" PRId32 |
| ", %" PRId32 ", %" PRId32 ")\n", |
| target, numAttachments, attachments, x, y, width, height); |
| if (glInvalidateSubFramebuffer != nullptr) { |
| glInvalidateSubFramebuffer(target, numAttachments, attachments, x, y, width, height); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glInvalidateSubFramebuffer returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glInvalidateSubFramebuffer\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glInvalidateSubFramebuffer\n"); |
| return false; |
| } |
| } |
| |
| bool callGlIsFramebuffer(Stack* stack, bool pushReturn) { |
| uint32_t framebuffer = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glIsFramebuffer(%" PRIu32 ")\n", framebuffer); |
| if (glIsFramebuffer != nullptr) { |
| uint8_t return_value = glIsFramebuffer(framebuffer); |
| GAPID_INFO("Returned: %" PRIu8 "\n", return_value); |
| if (pushReturn) { |
| stack->push<uint8_t>(return_value); |
| } |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glIsFramebuffer returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glIsFramebuffer\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glIsFramebuffer\n"); |
| return false; |
| } |
| } |
| |
| bool callGlIsRenderbuffer(Stack* stack, bool pushReturn) { |
| uint32_t renderbuffer = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glIsRenderbuffer(%" PRIu32 ")\n", renderbuffer); |
| if (glIsRenderbuffer != nullptr) { |
| uint8_t return_value = glIsRenderbuffer(renderbuffer); |
| GAPID_INFO("Returned: %" PRIu8 "\n", return_value); |
| if (pushReturn) { |
| stack->push<uint8_t>(return_value); |
| } |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glIsRenderbuffer returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glIsRenderbuffer\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glIsRenderbuffer\n"); |
| return false; |
| } |
| } |
| |
| bool callGlReadBuffer(Stack* stack, bool pushReturn) { |
| GLenum src = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glReadBuffer(%u)\n", src); |
| if (glReadBuffer != nullptr) { |
| glReadBuffer(src); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glReadBuffer returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glReadBuffer\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glReadBuffer\n"); |
| return false; |
| } |
| } |
| |
| bool callGlReadPixels(Stack* stack, bool pushReturn) { |
| void* data = stack->pop<void*>(); |
| GLenum type = stack->pop<GLenum>(); |
| GLenum format = stack->pop<GLenum>(); |
| int32_t height = stack->pop<int32_t>(); |
| int32_t width = stack->pop<int32_t>(); |
| int32_t y = stack->pop<int32_t>(); |
| int32_t x = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glReadPixels(%" PRId32 ", %" PRId32 ", %" PRId32 ", %" PRId32 ", %u, %u, %p)\n", |
| x, y, width, height, format, type, data); |
| if (glReadPixels != nullptr) { |
| glReadPixels(x, y, width, height, format, type, data); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glReadPixels returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glReadPixels\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glReadPixels\n"); |
| return false; |
| } |
| } |
| |
| bool callGlRenderbufferStorage(Stack* stack, bool pushReturn) { |
| int32_t height = stack->pop<int32_t>(); |
| int32_t width = stack->pop<int32_t>(); |
| GLenum format = stack->pop<GLenum>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glRenderbufferStorage(%u, %u, %" PRId32 ", %" PRId32 ")\n", target, format, |
| width, height); |
| if (glRenderbufferStorage != nullptr) { |
| glRenderbufferStorage(target, format, width, height); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glRenderbufferStorage returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glRenderbufferStorage\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glRenderbufferStorage\n"); |
| return false; |
| } |
| } |
| |
| bool callGlRenderbufferStorageMultisample(Stack* stack, bool pushReturn) { |
| int32_t height = stack->pop<int32_t>(); |
| int32_t width = stack->pop<int32_t>(); |
| GLenum format = stack->pop<GLenum>(); |
| int32_t samples = stack->pop<int32_t>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glRenderbufferStorageMultisample(%u, %" PRId32 ", %u, %" PRId32 ", %" PRId32 |
| ")\n", |
| target, samples, format, width, height); |
| if (glRenderbufferStorageMultisample != nullptr) { |
| glRenderbufferStorageMultisample(target, samples, format, width, height); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glRenderbufferStorageMultisample returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING( |
| "Attempted to call unsupported function glRenderbufferStorageMultisample\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glRenderbufferStorageMultisample\n"); |
| return false; |
| } |
| } |
| |
| bool callGlStencilMask(Stack* stack, bool pushReturn) { |
| uint32_t mask = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glStencilMask(%" PRIu32 ")\n", mask); |
| if (glStencilMask != nullptr) { |
| glStencilMask(mask); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glStencilMask returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glStencilMask\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glStencilMask\n"); |
| return false; |
| } |
| } |
| |
| bool callGlStencilMaskSeparate(Stack* stack, bool pushReturn) { |
| uint32_t mask = stack->pop<uint32_t>(); |
| GLenum face = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glStencilMaskSeparate(%u, %" PRIu32 ")\n", face, mask); |
| if (glStencilMaskSeparate != nullptr) { |
| glStencilMaskSeparate(face, mask); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glStencilMaskSeparate returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glStencilMaskSeparate\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glStencilMaskSeparate\n"); |
| return false; |
| } |
| } |
| |
| bool callGlDisable(Stack* stack, bool pushReturn) { |
| GLenum capability = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glDisable(%u)\n", capability); |
| if (glDisable != nullptr) { |
| glDisable(capability); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glDisable returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glDisable\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glDisable\n"); |
| return false; |
| } |
| } |
| |
| bool callGlEnable(Stack* stack, bool pushReturn) { |
| GLenum capability = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glEnable(%u)\n", capability); |
| if (glEnable != nullptr) { |
| glEnable(capability); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glEnable returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glEnable\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glEnable\n"); |
| return false; |
| } |
| } |
| |
| bool callGlFinish(Stack* stack, bool pushReturn) { |
| if (stack->isValid()) { |
| GAPID_INFO("glFinish()\n"); |
| if (glFinish != nullptr) { |
| glFinish(); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glFinish returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glFinish\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glFinish\n"); |
| return false; |
| } |
| } |
| |
| bool callGlFlush(Stack* stack, bool pushReturn) { |
| if (stack->isValid()) { |
| GAPID_INFO("glFlush()\n"); |
| if (glFlush != nullptr) { |
| glFlush(); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glFlush returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glFlush\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glFlush\n"); |
| return false; |
| } |
| } |
| |
| bool callGlFlushMappedBufferRange(Stack* stack, bool pushReturn) { |
| int32_t length = stack->pop<int32_t>(); |
| int32_t offset = stack->pop<int32_t>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glFlushMappedBufferRange(%u, %" PRId32 ", %" PRId32 ")\n", target, offset, |
| length); |
| if (glFlushMappedBufferRange != nullptr) { |
| glFlushMappedBufferRange(target, offset, length); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glFlushMappedBufferRange returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glFlushMappedBufferRange\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glFlushMappedBufferRange\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetError(Stack* stack, bool pushReturn) { |
| if (stack->isValid()) { |
| GAPID_INFO("glGetError()\n"); |
| if (glGetError != nullptr) { |
| GLenum return_value = glGetError(); |
| GAPID_INFO("Returned: %u\n", return_value); |
| if (pushReturn) { |
| stack->push<GLenum>(return_value); |
| } |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetError returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetError\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetError\n"); |
| return false; |
| } |
| } |
| |
| bool callGlHint(Stack* stack, bool pushReturn) { |
| GLenum mode = stack->pop<GLenum>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glHint(%u, %u)\n", target, mode); |
| if (glHint != nullptr) { |
| glHint(target, mode); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glHint returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glHint\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glHint\n"); |
| return false; |
| } |
| } |
| |
| bool callGlActiveShaderProgram(Stack* stack, bool pushReturn) { |
| uint32_t program = stack->pop<uint32_t>(); |
| uint32_t pipeline = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glActiveShaderProgram(%" PRIu32 ", %" PRIu32 ")\n", pipeline, program); |
| if (glActiveShaderProgram != nullptr) { |
| glActiveShaderProgram(pipeline, program); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glActiveShaderProgram returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glActiveShaderProgram\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glActiveShaderProgram\n"); |
| return false; |
| } |
| } |
| |
| bool callGlAttachShader(Stack* stack, bool pushReturn) { |
| uint32_t shader = stack->pop<uint32_t>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glAttachShader(%" PRIu32 ", %" PRIu32 ")\n", program, shader); |
| if (glAttachShader != nullptr) { |
| glAttachShader(program, shader); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glAttachShader returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glAttachShader\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glAttachShader\n"); |
| return false; |
| } |
| } |
| |
| bool callGlBindAttribLocation(Stack* stack, bool pushReturn) { |
| char* name = stack->pop<char*>(); |
| uint32_t location = stack->pop<uint32_t>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glBindAttribLocation(%" PRIu32 ", %" PRIu32 ", %s)\n", program, location, name); |
| if (glBindAttribLocation != nullptr) { |
| glBindAttribLocation(program, location, name); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glBindAttribLocation returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glBindAttribLocation\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glBindAttribLocation\n"); |
| return false; |
| } |
| } |
| |
| bool callGlBindProgramPipeline(Stack* stack, bool pushReturn) { |
| uint32_t pipeline = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glBindProgramPipeline(%" PRIu32 ")\n", pipeline); |
| if (glBindProgramPipeline != nullptr) { |
| glBindProgramPipeline(pipeline); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glBindProgramPipeline returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glBindProgramPipeline\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glBindProgramPipeline\n"); |
| return false; |
| } |
| } |
| |
| bool callGlCompileShader(Stack* stack, bool pushReturn) { |
| uint32_t shader = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glCompileShader(%" PRIu32 ")\n", shader); |
| if (glCompileShader != nullptr) { |
| glCompileShader(shader); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glCompileShader returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glCompileShader\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glCompileShader\n"); |
| return false; |
| } |
| } |
| |
| bool callGlCreateProgram(Stack* stack, bool pushReturn) { |
| if (stack->isValid()) { |
| GAPID_INFO("glCreateProgram()\n"); |
| if (glCreateProgram != nullptr) { |
| uint32_t return_value = glCreateProgram(); |
| GAPID_INFO("Returned: %" PRIu32 "\n", return_value); |
| if (pushReturn) { |
| stack->push<uint32_t>(return_value); |
| } |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glCreateProgram returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glCreateProgram\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glCreateProgram\n"); |
| return false; |
| } |
| } |
| |
| bool callGlCreateShader(Stack* stack, bool pushReturn) { |
| GLenum type = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glCreateShader(%u)\n", type); |
| if (glCreateShader != nullptr) { |
| uint32_t return_value = glCreateShader(type); |
| GAPID_INFO("Returned: %" PRIu32 "\n", return_value); |
| if (pushReturn) { |
| stack->push<uint32_t>(return_value); |
| } |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glCreateShader returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glCreateShader\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glCreateShader\n"); |
| return false; |
| } |
| } |
| |
| bool callGlCreateShaderProgramv(Stack* stack, bool pushReturn) { |
| char** strings = stack->pop<char**>(); |
| int32_t count = stack->pop<int32_t>(); |
| GLenum type = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glCreateShaderProgramv(%u, %" PRId32 ", %p)\n", type, count, strings); |
| if (glCreateShaderProgramv != nullptr) { |
| uint32_t return_value = glCreateShaderProgramv(type, count, strings); |
| GAPID_INFO("Returned: %" PRIu32 "\n", return_value); |
| if (pushReturn) { |
| stack->push<uint32_t>(return_value); |
| } |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glCreateShaderProgramv returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glCreateShaderProgramv\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glCreateShaderProgramv\n"); |
| return false; |
| } |
| } |
| |
| bool callGlDeleteProgram(Stack* stack, bool pushReturn) { |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glDeleteProgram(%" PRIu32 ")\n", program); |
| if (glDeleteProgram != nullptr) { |
| glDeleteProgram(program); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glDeleteProgram returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glDeleteProgram\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glDeleteProgram\n"); |
| return false; |
| } |
| } |
| |
| bool callGlDeleteProgramPipelines(Stack* stack, bool pushReturn) { |
| uint32_t* pipelines = stack->pop<uint32_t*>(); |
| int32_t n = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glDeleteProgramPipelines(%" PRId32 ", %p)\n", n, pipelines); |
| if (glDeleteProgramPipelines != nullptr) { |
| glDeleteProgramPipelines(n, pipelines); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glDeleteProgramPipelines returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glDeleteProgramPipelines\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glDeleteProgramPipelines\n"); |
| return false; |
| } |
| } |
| |
| bool callGlDeleteShader(Stack* stack, bool pushReturn) { |
| uint32_t shader = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glDeleteShader(%" PRIu32 ")\n", shader); |
| if (glDeleteShader != nullptr) { |
| glDeleteShader(shader); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glDeleteShader returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glDeleteShader\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glDeleteShader\n"); |
| return false; |
| } |
| } |
| |
| bool callGlDetachShader(Stack* stack, bool pushReturn) { |
| uint32_t shader = stack->pop<uint32_t>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glDetachShader(%" PRIu32 ", %" PRIu32 ")\n", program, shader); |
| if (glDetachShader != nullptr) { |
| glDetachShader(program, shader); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glDetachShader returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glDetachShader\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glDetachShader\n"); |
| return false; |
| } |
| } |
| |
| bool callGlDispatchCompute(Stack* stack, bool pushReturn) { |
| uint32_t num_groups_z = stack->pop<uint32_t>(); |
| uint32_t num_groups_y = stack->pop<uint32_t>(); |
| uint32_t num_groups_x = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glDispatchCompute(%" PRIu32 ", %" PRIu32 ", %" PRIu32 ")\n", num_groups_x, |
| num_groups_y, num_groups_z); |
| if (glDispatchCompute != nullptr) { |
| glDispatchCompute(num_groups_x, num_groups_y, num_groups_z); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glDispatchCompute returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glDispatchCompute\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glDispatchCompute\n"); |
| return false; |
| } |
| } |
| |
| bool callGlDispatchComputeIndirect(Stack* stack, bool pushReturn) { |
| int32_t indirect = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glDispatchComputeIndirect(%" PRId32 ")\n", indirect); |
| if (glDispatchComputeIndirect != nullptr) { |
| glDispatchComputeIndirect(indirect); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glDispatchComputeIndirect returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glDispatchComputeIndirect\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glDispatchComputeIndirect\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGenProgramPipelines(Stack* stack, bool pushReturn) { |
| uint32_t* pipelines = stack->pop<uint32_t*>(); |
| int32_t n = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGenProgramPipelines(%" PRId32 ", %p)\n", n, pipelines); |
| if (glGenProgramPipelines != nullptr) { |
| glGenProgramPipelines(n, pipelines); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGenProgramPipelines returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGenProgramPipelines\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGenProgramPipelines\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetActiveAttrib(Stack* stack, bool pushReturn) { |
| char* name = stack->pop<char*>(); |
| GLenum* type = stack->pop<GLenum*>(); |
| int32_t* vector_count = stack->pop<int32_t*>(); |
| int32_t* buffer_bytes_written = stack->pop<int32_t*>(); |
| int32_t buffer_size = stack->pop<int32_t>(); |
| uint32_t location = stack->pop<uint32_t>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetActiveAttrib(%" PRIu32 ", %" PRIu32 ", %" PRId32 ", %p, %p, %p, %p)\n", |
| program, location, buffer_size, buffer_bytes_written, vector_count, type, name); |
| if (glGetActiveAttrib != nullptr) { |
| glGetActiveAttrib(program, location, buffer_size, buffer_bytes_written, vector_count, |
| type, name); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetActiveAttrib returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetActiveAttrib\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetActiveAttrib\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetActiveUniform(Stack* stack, bool pushReturn) { |
| char* name = stack->pop<char*>(); |
| GLenum* type = stack->pop<GLenum*>(); |
| int32_t* vector_count = stack->pop<int32_t*>(); |
| int32_t* buffer_bytes_written = stack->pop<int32_t*>(); |
| int32_t buffer_size = stack->pop<int32_t>(); |
| uint32_t location = stack->pop<uint32_t>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetActiveUniform(%" PRIu32 ", %" PRIu32 ", %" PRId32 ", %p, %p, %p, %p)\n", |
| program, location, buffer_size, buffer_bytes_written, vector_count, type, name); |
| if (glGetActiveUniform != nullptr) { |
| glGetActiveUniform(program, location, buffer_size, buffer_bytes_written, vector_count, |
| type, name); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetActiveUniform returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetActiveUniform\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetActiveUniform\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetActiveUniformBlockName(Stack* stack, bool pushReturn) { |
| char* name = stack->pop<char*>(); |
| int32_t* buffer_bytes_written = stack->pop<int32_t*>(); |
| int32_t buffer_size = stack->pop<int32_t>(); |
| uint32_t uniform_block_index = stack->pop<uint32_t>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetActiveUniformBlockName(%" PRIu32 ", %" PRIu32 ", %" PRId32 ", %p, %p)\n", |
| program, uniform_block_index, buffer_size, buffer_bytes_written, name); |
| if (glGetActiveUniformBlockName != nullptr) { |
| glGetActiveUniformBlockName(program, uniform_block_index, buffer_size, |
| buffer_bytes_written, name); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetActiveUniformBlockName returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetActiveUniformBlockName\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetActiveUniformBlockName\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetActiveUniformBlockiv(Stack* stack, bool pushReturn) { |
| int32_t* parameters = stack->pop<int32_t*>(); |
| GLenum parameter_name = stack->pop<GLenum>(); |
| uint32_t uniform_block_index = stack->pop<uint32_t>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetActiveUniformBlockiv(%" PRIu32 ", %" PRIu32 ", %u, %p)\n", program, |
| uniform_block_index, parameter_name, parameters); |
| if (glGetActiveUniformBlockiv != nullptr) { |
| glGetActiveUniformBlockiv(program, uniform_block_index, parameter_name, parameters); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetActiveUniformBlockiv returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetActiveUniformBlockiv\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetActiveUniformBlockiv\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetActiveUniformsiv(Stack* stack, bool pushReturn) { |
| int32_t* parameters = stack->pop<int32_t*>(); |
| GLenum parameter_name = stack->pop<GLenum>(); |
| uint32_t* uniform_indices = stack->pop<uint32_t*>(); |
| int32_t uniform_count = stack->pop<int32_t>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetActiveUniformsiv(%" PRIu32 ", %" PRId32 ", %p, %u, %p)\n", program, |
| uniform_count, uniform_indices, parameter_name, parameters); |
| if (glGetActiveUniformsiv != nullptr) { |
| glGetActiveUniformsiv(program, uniform_count, uniform_indices, parameter_name, |
| parameters); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetActiveUniformsiv returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetActiveUniformsiv\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetActiveUniformsiv\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetAttachedShaders(Stack* stack, bool pushReturn) { |
| uint32_t* shaders = stack->pop<uint32_t*>(); |
| int32_t* shaders_length_written = stack->pop<int32_t*>(); |
| int32_t buffer_length = stack->pop<int32_t>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetAttachedShaders(%" PRIu32 ", %" PRId32 ", %p, %p)\n", program, |
| buffer_length, shaders_length_written, shaders); |
| if (glGetAttachedShaders != nullptr) { |
| glGetAttachedShaders(program, buffer_length, shaders_length_written, shaders); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetAttachedShaders returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetAttachedShaders\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetAttachedShaders\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetAttribLocation(Stack* stack, bool pushReturn) { |
| char* name = stack->pop<char*>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetAttribLocation(%" PRIu32 ", %s)\n", program, name); |
| if (glGetAttribLocation != nullptr) { |
| int32_t return_value = glGetAttribLocation(program, name); |
| GAPID_INFO("Returned: %" PRId32 "\n", return_value); |
| if (pushReturn) { |
| stack->push<int32_t>(return_value); |
| } |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetAttribLocation returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetAttribLocation\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetAttribLocation\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetFragDataLocation(Stack* stack, bool pushReturn) { |
| char* name = stack->pop<char*>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetFragDataLocation(%" PRIu32 ", %p)\n", program, name); |
| if (glGetFragDataLocation != nullptr) { |
| int32_t return_value = glGetFragDataLocation(program, name); |
| GAPID_INFO("Returned: %" PRId32 "\n", return_value); |
| if (pushReturn) { |
| stack->push<int32_t>(return_value); |
| } |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetFragDataLocation returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetFragDataLocation\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetFragDataLocation\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetProgramBinary(Stack* stack, bool pushReturn) { |
| void* binary = stack->pop<void*>(); |
| GLenum* binaryFormat = stack->pop<GLenum*>(); |
| int32_t* length = stack->pop<int32_t*>(); |
| int32_t bufSize = stack->pop<int32_t>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetProgramBinary(%" PRIu32 ", %" PRId32 ", %p, %p, %p)\n", program, bufSize, |
| length, binaryFormat, binary); |
| if (glGetProgramBinary != nullptr) { |
| glGetProgramBinary(program, bufSize, length, binaryFormat, binary); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetProgramBinary returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetProgramBinary\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetProgramBinary\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetProgramInfoLog(Stack* stack, bool pushReturn) { |
| char* info = stack->pop<char*>(); |
| int32_t* string_length_written = stack->pop<int32_t*>(); |
| int32_t buffer_length = stack->pop<int32_t>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetProgramInfoLog(%" PRIu32 ", %" PRId32 ", %p, %p)\n", program, |
| buffer_length, string_length_written, info); |
| if (glGetProgramInfoLog != nullptr) { |
| glGetProgramInfoLog(program, buffer_length, string_length_written, info); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetProgramInfoLog returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetProgramInfoLog\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetProgramInfoLog\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetProgramInterfaceiv(Stack* stack, bool pushReturn) { |
| int32_t* params = stack->pop<int32_t*>(); |
| GLenum pname = stack->pop<GLenum>(); |
| GLenum programInterface = stack->pop<GLenum>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetProgramInterfaceiv(%" PRIu32 ", %u, %u, %p)\n", program, programInterface, |
| pname, params); |
| if (glGetProgramInterfaceiv != nullptr) { |
| glGetProgramInterfaceiv(program, programInterface, pname, params); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetProgramInterfaceiv returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetProgramInterfaceiv\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetProgramInterfaceiv\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetProgramPipelineInfoLog(Stack* stack, bool pushReturn) { |
| char* infoLog = stack->pop<char*>(); |
| int32_t* length = stack->pop<int32_t*>(); |
| int32_t bufSize = stack->pop<int32_t>(); |
| uint32_t pipeline = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetProgramPipelineInfoLog(%" PRIu32 ", %" PRId32 ", %p, %p)\n", pipeline, |
| bufSize, length, infoLog); |
| if (glGetProgramPipelineInfoLog != nullptr) { |
| glGetProgramPipelineInfoLog(pipeline, bufSize, length, infoLog); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetProgramPipelineInfoLog returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetProgramPipelineInfoLog\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetProgramPipelineInfoLog\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetProgramPipelineiv(Stack* stack, bool pushReturn) { |
| int32_t* params = stack->pop<int32_t*>(); |
| GLenum pname = stack->pop<GLenum>(); |
| uint32_t pipeline = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetProgramPipelineiv(%" PRIu32 ", %u, %p)\n", pipeline, pname, params); |
| if (glGetProgramPipelineiv != nullptr) { |
| glGetProgramPipelineiv(pipeline, pname, params); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetProgramPipelineiv returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetProgramPipelineiv\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetProgramPipelineiv\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetProgramResourceIndex(Stack* stack, bool pushReturn) { |
| char* name = stack->pop<char*>(); |
| GLenum programInterface = stack->pop<GLenum>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetProgramResourceIndex(%" PRIu32 ", %u, %p)\n", program, programInterface, |
| name); |
| if (glGetProgramResourceIndex != nullptr) { |
| uint32_t return_value = glGetProgramResourceIndex(program, programInterface, name); |
| GAPID_INFO("Returned: %" PRIu32 "\n", return_value); |
| if (pushReturn) { |
| stack->push<uint32_t>(return_value); |
| } |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetProgramResourceIndex returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetProgramResourceIndex\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetProgramResourceIndex\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetProgramResourceLocation(Stack* stack, bool pushReturn) { |
| char* name = stack->pop<char*>(); |
| GLenum programInterface = stack->pop<GLenum>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetProgramResourceLocation(%" PRIu32 ", %u, %p)\n", program, programInterface, |
| name); |
| if (glGetProgramResourceLocation != nullptr) { |
| int32_t return_value = glGetProgramResourceLocation(program, programInterface, name); |
| GAPID_INFO("Returned: %" PRId32 "\n", return_value); |
| if (pushReturn) { |
| stack->push<int32_t>(return_value); |
| } |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetProgramResourceLocation returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetProgramResourceLocation\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetProgramResourceLocation\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetProgramResourceName(Stack* stack, bool pushReturn) { |
| char* name = stack->pop<char*>(); |
| int32_t* length = stack->pop<int32_t*>(); |
| int32_t bufSize = stack->pop<int32_t>(); |
| uint32_t index = stack->pop<uint32_t>(); |
| GLenum programInterface = stack->pop<GLenum>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetProgramResourceName(%" PRIu32 ", %u, %" PRIu32 ", %" PRId32 ", %p, %p)\n", |
| program, programInterface, index, bufSize, length, name); |
| if (glGetProgramResourceName != nullptr) { |
| glGetProgramResourceName(program, programInterface, index, bufSize, length, name); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetProgramResourceName returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetProgramResourceName\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetProgramResourceName\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetProgramResourceiv(Stack* stack, bool pushReturn) { |
| int32_t* params = stack->pop<int32_t*>(); |
| int32_t* length = stack->pop<int32_t*>(); |
| int32_t bufSize = stack->pop<int32_t>(); |
| GLenum* props = stack->pop<GLenum*>(); |
| int32_t propCount = stack->pop<int32_t>(); |
| uint32_t index = stack->pop<uint32_t>(); |
| GLenum programInterface = stack->pop<GLenum>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetProgramResourceiv(%" PRIu32 ", %u, %" PRIu32 ", %" PRId32 ", %p, %" PRId32 |
| ", %p, %p)\n", |
| program, programInterface, index, propCount, props, bufSize, length, params); |
| if (glGetProgramResourceiv != nullptr) { |
| glGetProgramResourceiv(program, programInterface, index, propCount, props, bufSize, |
| length, params); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetProgramResourceiv returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetProgramResourceiv\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetProgramResourceiv\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetProgramiv(Stack* stack, bool pushReturn) { |
| int32_t* value = stack->pop<int32_t*>(); |
| GLenum parameter = stack->pop<GLenum>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetProgramiv(%" PRIu32 ", %u, %p)\n", program, parameter, value); |
| if (glGetProgramiv != nullptr) { |
| glGetProgramiv(program, parameter, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetProgramiv returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetProgramiv\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetProgramiv\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetShaderInfoLog(Stack* stack, bool pushReturn) { |
| char* info = stack->pop<char*>(); |
| int32_t* string_length_written = stack->pop<int32_t*>(); |
| int32_t buffer_length = stack->pop<int32_t>(); |
| uint32_t shader = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetShaderInfoLog(%" PRIu32 ", %" PRId32 ", %p, %p)\n", shader, buffer_length, |
| string_length_written, info); |
| if (glGetShaderInfoLog != nullptr) { |
| glGetShaderInfoLog(shader, buffer_length, string_length_written, info); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetShaderInfoLog returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetShaderInfoLog\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetShaderInfoLog\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetShaderPrecisionFormat(Stack* stack, bool pushReturn) { |
| int32_t* precision = stack->pop<int32_t*>(); |
| int32_t* range = stack->pop<int32_t*>(); |
| GLenum precision_type = stack->pop<GLenum>(); |
| GLenum shader_type = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetShaderPrecisionFormat(%u, %u, %p, %p)\n", shader_type, precision_type, |
| range, precision); |
| if (glGetShaderPrecisionFormat != nullptr) { |
| glGetShaderPrecisionFormat(shader_type, precision_type, range, precision); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetShaderPrecisionFormat returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetShaderPrecisionFormat\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetShaderPrecisionFormat\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetShaderSource(Stack* stack, bool pushReturn) { |
| char* source = stack->pop<char*>(); |
| int32_t* string_length_written = stack->pop<int32_t*>(); |
| int32_t buffer_length = stack->pop<int32_t>(); |
| uint32_t shader = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetShaderSource(%" PRIu32 ", %" PRId32 ", %p, %p)\n", shader, buffer_length, |
| string_length_written, source); |
| if (glGetShaderSource != nullptr) { |
| glGetShaderSource(shader, buffer_length, string_length_written, source); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetShaderSource returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetShaderSource\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetShaderSource\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetShaderiv(Stack* stack, bool pushReturn) { |
| int32_t* value = stack->pop<int32_t*>(); |
| GLenum parameter = stack->pop<GLenum>(); |
| uint32_t shader = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetShaderiv(%" PRIu32 ", %u, %p)\n", shader, parameter, value); |
| if (glGetShaderiv != nullptr) { |
| glGetShaderiv(shader, parameter, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetShaderiv returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetShaderiv\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetShaderiv\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetUniformBlockIndex(Stack* stack, bool pushReturn) { |
| char* uniformBlockName = stack->pop<char*>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetUniformBlockIndex(%" PRIu32 ", %p)\n", program, uniformBlockName); |
| if (glGetUniformBlockIndex != nullptr) { |
| uint32_t return_value = glGetUniformBlockIndex(program, uniformBlockName); |
| GAPID_INFO("Returned: %" PRIu32 "\n", return_value); |
| if (pushReturn) { |
| stack->push<uint32_t>(return_value); |
| } |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetUniformBlockIndex returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetUniformBlockIndex\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetUniformBlockIndex\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetUniformIndices(Stack* stack, bool pushReturn) { |
| uint32_t* uniformIndices = stack->pop<uint32_t*>(); |
| char** uniformNames = stack->pop<char**>(); |
| int32_t uniformCount = stack->pop<int32_t>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetUniformIndices(%" PRIu32 ", %" PRId32 ", %p, %p)\n", program, uniformCount, |
| uniformNames, uniformIndices); |
| if (glGetUniformIndices != nullptr) { |
| glGetUniformIndices(program, uniformCount, uniformNames, uniformIndices); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetUniformIndices returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetUniformIndices\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetUniformIndices\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetUniformLocation(Stack* stack, bool pushReturn) { |
| char* name = stack->pop<char*>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetUniformLocation(%" PRIu32 ", %s)\n", program, name); |
| if (glGetUniformLocation != nullptr) { |
| int32_t return_value = glGetUniformLocation(program, name); |
| GAPID_INFO("Returned: %" PRId32 "\n", return_value); |
| if (pushReturn) { |
| stack->push<int32_t>(return_value); |
| } |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetUniformLocation returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetUniformLocation\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetUniformLocation\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetUniformfv(Stack* stack, bool pushReturn) { |
| float* values = stack->pop<float*>(); |
| int32_t location = stack->pop<int32_t>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetUniformfv(%" PRIu32 ", %" PRId32 ", %p)\n", program, location, values); |
| if (glGetUniformfv != nullptr) { |
| glGetUniformfv(program, location, values); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetUniformfv returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetUniformfv\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetUniformfv\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetUniformiv(Stack* stack, bool pushReturn) { |
| int32_t* values = stack->pop<int32_t*>(); |
| int32_t location = stack->pop<int32_t>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetUniformiv(%" PRIu32 ", %" PRId32 ", %p)\n", program, location, values); |
| if (glGetUniformiv != nullptr) { |
| glGetUniformiv(program, location, values); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetUniformiv returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetUniformiv\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetUniformiv\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetUniformuiv(Stack* stack, bool pushReturn) { |
| uint32_t* params = stack->pop<uint32_t*>(); |
| int32_t location = stack->pop<int32_t>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetUniformuiv(%" PRIu32 ", %" PRId32 ", %p)\n", program, location, params); |
| if (glGetUniformuiv != nullptr) { |
| glGetUniformuiv(program, location, params); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetUniformuiv returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetUniformuiv\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetUniformuiv\n"); |
| return false; |
| } |
| } |
| |
| bool callGlIsProgram(Stack* stack, bool pushReturn) { |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glIsProgram(%" PRIu32 ")\n", program); |
| if (glIsProgram != nullptr) { |
| uint8_t return_value = glIsProgram(program); |
| GAPID_INFO("Returned: %" PRIu8 "\n", return_value); |
| if (pushReturn) { |
| stack->push<uint8_t>(return_value); |
| } |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glIsProgram returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glIsProgram\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glIsProgram\n"); |
| return false; |
| } |
| } |
| |
| bool callGlIsProgramPipeline(Stack* stack, bool pushReturn) { |
| uint32_t pipeline = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glIsProgramPipeline(%" PRIu32 ")\n", pipeline); |
| if (glIsProgramPipeline != nullptr) { |
| uint8_t return_value = glIsProgramPipeline(pipeline); |
| GAPID_INFO("Returned: %" PRIu8 "\n", return_value); |
| if (pushReturn) { |
| stack->push<uint8_t>(return_value); |
| } |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glIsProgramPipeline returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glIsProgramPipeline\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glIsProgramPipeline\n"); |
| return false; |
| } |
| } |
| |
| bool callGlIsShader(Stack* stack, bool pushReturn) { |
| uint32_t shader = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glIsShader(%" PRIu32 ")\n", shader); |
| if (glIsShader != nullptr) { |
| uint8_t return_value = glIsShader(shader); |
| GAPID_INFO("Returned: %" PRIu8 "\n", return_value); |
| if (pushReturn) { |
| stack->push<uint8_t>(return_value); |
| } |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glIsShader returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glIsShader\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glIsShader\n"); |
| return false; |
| } |
| } |
| |
| bool callGlLinkProgram(Stack* stack, bool pushReturn) { |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glLinkProgram(%" PRIu32 ")\n", program); |
| if (glLinkProgram != nullptr) { |
| glLinkProgram(program); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glLinkProgram returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glLinkProgram\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glLinkProgram\n"); |
| return false; |
| } |
| } |
| |
| bool callGlMemoryBarrier(Stack* stack, bool pushReturn) { |
| GLbitfield barriers = stack->pop<GLbitfield>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glMemoryBarrier(%u)\n", barriers); |
| if (glMemoryBarrier != nullptr) { |
| glMemoryBarrier(barriers); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glMemoryBarrier returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glMemoryBarrier\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glMemoryBarrier\n"); |
| return false; |
| } |
| } |
| |
| bool callGlMemoryBarrierByRegion(Stack* stack, bool pushReturn) { |
| GLbitfield barriers = stack->pop<GLbitfield>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glMemoryBarrierByRegion(%u)\n", barriers); |
| if (glMemoryBarrierByRegion != nullptr) { |
| glMemoryBarrierByRegion(barriers); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glMemoryBarrierByRegion returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glMemoryBarrierByRegion\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glMemoryBarrierByRegion\n"); |
| return false; |
| } |
| } |
| |
| bool callGlProgramBinary(Stack* stack, bool pushReturn) { |
| int32_t length = stack->pop<int32_t>(); |
| void* binary = stack->pop<void*>(); |
| GLenum binaryFormat = stack->pop<GLenum>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glProgramBinary(%" PRIu32 ", %u, %p, %" PRId32 ")\n", program, binaryFormat, |
| binary, length); |
| if (glProgramBinary != nullptr) { |
| glProgramBinary(program, binaryFormat, binary, length); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glProgramBinary returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glProgramBinary\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glProgramBinary\n"); |
| return false; |
| } |
| } |
| |
| bool callGlProgramParameteri(Stack* stack, bool pushReturn) { |
| int32_t value = stack->pop<int32_t>(); |
| GLenum pname = stack->pop<GLenum>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glProgramParameteri(%" PRIu32 ", %u, %" PRId32 ")\n", program, pname, value); |
| if (glProgramParameteri != nullptr) { |
| glProgramParameteri(program, pname, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glProgramParameteri returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glProgramParameteri\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glProgramParameteri\n"); |
| return false; |
| } |
| } |
| |
| bool callGlProgramUniform1f(Stack* stack, bool pushReturn) { |
| float v0 = stack->pop<float>(); |
| int32_t location = stack->pop<int32_t>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glProgramUniform1f(%" PRIu32 ", %" PRId32 ", %f)\n", program, location, v0); |
| if (glProgramUniform1f != nullptr) { |
| glProgramUniform1f(program, location, v0); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glProgramUniform1f returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glProgramUniform1f\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glProgramUniform1f\n"); |
| return false; |
| } |
| } |
| |
| bool callGlProgramUniform1fv(Stack* stack, bool pushReturn) { |
| float* value = stack->pop<float*>(); |
| int32_t count = stack->pop<int32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glProgramUniform1fv(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %p)\n", program, |
| location, count, value); |
| if (glProgramUniform1fv != nullptr) { |
| glProgramUniform1fv(program, location, count, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glProgramUniform1fv returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glProgramUniform1fv\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glProgramUniform1fv\n"); |
| return false; |
| } |
| } |
| |
| bool callGlProgramUniform1i(Stack* stack, bool pushReturn) { |
| int32_t v0 = stack->pop<int32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glProgramUniform1i(%" PRIu32 ", %" PRId32 ", %" PRId32 ")\n", program, location, |
| v0); |
| if (glProgramUniform1i != nullptr) { |
| glProgramUniform1i(program, location, v0); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glProgramUniform1i returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glProgramUniform1i\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glProgramUniform1i\n"); |
| return false; |
| } |
| } |
| |
| bool callGlProgramUniform1iv(Stack* stack, bool pushReturn) { |
| int32_t* value = stack->pop<int32_t*>(); |
| int32_t count = stack->pop<int32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glProgramUniform1iv(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %p)\n", program, |
| location, count, value); |
| if (glProgramUniform1iv != nullptr) { |
| glProgramUniform1iv(program, location, count, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glProgramUniform1iv returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glProgramUniform1iv\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glProgramUniform1iv\n"); |
| return false; |
| } |
| } |
| |
| bool callGlProgramUniform1ui(Stack* stack, bool pushReturn) { |
| uint32_t v0 = stack->pop<uint32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glProgramUniform1ui(%" PRIu32 ", %" PRId32 ", %" PRIu32 ")\n", program, |
| location, v0); |
| if (glProgramUniform1ui != nullptr) { |
| glProgramUniform1ui(program, location, v0); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glProgramUniform1ui returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glProgramUniform1ui\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glProgramUniform1ui\n"); |
| return false; |
| } |
| } |
| |
| bool callGlProgramUniform1uiv(Stack* stack, bool pushReturn) { |
| uint32_t* value = stack->pop<uint32_t*>(); |
| int32_t count = stack->pop<int32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glProgramUniform1uiv(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %p)\n", program, |
| location, count, value); |
| if (glProgramUniform1uiv != nullptr) { |
| glProgramUniform1uiv(program, location, count, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glProgramUniform1uiv returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glProgramUniform1uiv\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glProgramUniform1uiv\n"); |
| return false; |
| } |
| } |
| |
| bool callGlProgramUniform2f(Stack* stack, bool pushReturn) { |
| float v1 = stack->pop<float>(); |
| float v0 = stack->pop<float>(); |
| int32_t location = stack->pop<int32_t>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glProgramUniform2f(%" PRIu32 ", %" PRId32 ", %f, %f)\n", program, location, v0, |
| v1); |
| if (glProgramUniform2f != nullptr) { |
| glProgramUniform2f(program, location, v0, v1); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glProgramUniform2f returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glProgramUniform2f\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glProgramUniform2f\n"); |
| return false; |
| } |
| } |
| |
| bool callGlProgramUniform2fv(Stack* stack, bool pushReturn) { |
| float* value = stack->pop<float*>(); |
| int32_t count = stack->pop<int32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glProgramUniform2fv(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %p)\n", program, |
| location, count, value); |
| if (glProgramUniform2fv != nullptr) { |
| glProgramUniform2fv(program, location, count, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glProgramUniform2fv returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glProgramUniform2fv\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glProgramUniform2fv\n"); |
| return false; |
| } |
| } |
| |
| bool callGlProgramUniform2i(Stack* stack, bool pushReturn) { |
| int32_t v1 = stack->pop<int32_t>(); |
| int32_t v0 = stack->pop<int32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glProgramUniform2i(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %" PRId32 ")\n", |
| program, location, v0, v1); |
| if (glProgramUniform2i != nullptr) { |
| glProgramUniform2i(program, location, v0, v1); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glProgramUniform2i returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glProgramUniform2i\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glProgramUniform2i\n"); |
| return false; |
| } |
| } |
| |
| bool callGlProgramUniform2iv(Stack* stack, bool pushReturn) { |
| int32_t* value = stack->pop<int32_t*>(); |
| int32_t count = stack->pop<int32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glProgramUniform2iv(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %p)\n", program, |
| location, count, value); |
| if (glProgramUniform2iv != nullptr) { |
| glProgramUniform2iv(program, location, count, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glProgramUniform2iv returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glProgramUniform2iv\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glProgramUniform2iv\n"); |
| return false; |
| } |
| } |
| |
| bool callGlProgramUniform2ui(Stack* stack, bool pushReturn) { |
| uint32_t v1 = stack->pop<uint32_t>(); |
| uint32_t v0 = stack->pop<uint32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glProgramUniform2ui(%" PRIu32 ", %" PRId32 ", %" PRIu32 ", %" PRIu32 ")\n", |
| program, location, v0, v1); |
| if (glProgramUniform2ui != nullptr) { |
| glProgramUniform2ui(program, location, v0, v1); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glProgramUniform2ui returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glProgramUniform2ui\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glProgramUniform2ui\n"); |
| return false; |
| } |
| } |
| |
| bool callGlProgramUniform2uiv(Stack* stack, bool pushReturn) { |
| uint32_t* value = stack->pop<uint32_t*>(); |
| int32_t count = stack->pop<int32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glProgramUniform2uiv(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %p)\n", program, |
| location, count, value); |
| if (glProgramUniform2uiv != nullptr) { |
| glProgramUniform2uiv(program, location, count, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glProgramUniform2uiv returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glProgramUniform2uiv\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glProgramUniform2uiv\n"); |
| return false; |
| } |
| } |
| |
| bool callGlProgramUniform3f(Stack* stack, bool pushReturn) { |
| float v2 = stack->pop<float>(); |
| float v1 = stack->pop<float>(); |
| float v0 = stack->pop<float>(); |
| int32_t location = stack->pop<int32_t>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glProgramUniform3f(%" PRIu32 ", %" PRId32 ", %f, %f, %f)\n", program, location, |
| v0, v1, v2); |
| if (glProgramUniform3f != nullptr) { |
| glProgramUniform3f(program, location, v0, v1, v2); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glProgramUniform3f returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glProgramUniform3f\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glProgramUniform3f\n"); |
| return false; |
| } |
| } |
| |
| bool callGlProgramUniform3fv(Stack* stack, bool pushReturn) { |
| float* value = stack->pop<float*>(); |
| int32_t count = stack->pop<int32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glProgramUniform3fv(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %p)\n", program, |
| location, count, value); |
| if (glProgramUniform3fv != nullptr) { |
| glProgramUniform3fv(program, location, count, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glProgramUniform3fv returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glProgramUniform3fv\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glProgramUniform3fv\n"); |
| return false; |
| } |
| } |
| |
| bool callGlProgramUniform3i(Stack* stack, bool pushReturn) { |
| int32_t v2 = stack->pop<int32_t>(); |
| int32_t v1 = stack->pop<int32_t>(); |
| int32_t v0 = stack->pop<int32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glProgramUniform3i(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %" PRId32 ", %" PRId32 |
| ")\n", |
| program, location, v0, v1, v2); |
| if (glProgramUniform3i != nullptr) { |
| glProgramUniform3i(program, location, v0, v1, v2); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glProgramUniform3i returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glProgramUniform3i\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glProgramUniform3i\n"); |
| return false; |
| } |
| } |
| |
| bool callGlProgramUniform3iv(Stack* stack, bool pushReturn) { |
| int32_t* value = stack->pop<int32_t*>(); |
| int32_t count = stack->pop<int32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glProgramUniform3iv(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %p)\n", program, |
| location, count, value); |
| if (glProgramUniform3iv != nullptr) { |
| glProgramUniform3iv(program, location, count, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glProgramUniform3iv returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glProgramUniform3iv\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glProgramUniform3iv\n"); |
| return false; |
| } |
| } |
| |
| bool callGlProgramUniform3ui(Stack* stack, bool pushReturn) { |
| uint32_t v2 = stack->pop<uint32_t>(); |
| uint32_t v1 = stack->pop<uint32_t>(); |
| uint32_t v0 = stack->pop<uint32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glProgramUniform3ui(%" PRIu32 ", %" PRId32 ", %" PRIu32 ", %" PRIu32 |
| ", %" PRIu32 ")\n", |
| program, location, v0, v1, v2); |
| if (glProgramUniform3ui != nullptr) { |
| glProgramUniform3ui(program, location, v0, v1, v2); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glProgramUniform3ui returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glProgramUniform3ui\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glProgramUniform3ui\n"); |
| return false; |
| } |
| } |
| |
| bool callGlProgramUniform3uiv(Stack* stack, bool pushReturn) { |
| uint32_t* value = stack->pop<uint32_t*>(); |
| int32_t count = stack->pop<int32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glProgramUniform3uiv(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %p)\n", program, |
| location, count, value); |
| if (glProgramUniform3uiv != nullptr) { |
| glProgramUniform3uiv(program, location, count, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glProgramUniform3uiv returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glProgramUniform3uiv\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glProgramUniform3uiv\n"); |
| return false; |
| } |
| } |
| |
| bool callGlProgramUniform4f(Stack* stack, bool pushReturn) { |
| float v3 = stack->pop<float>(); |
| float v2 = stack->pop<float>(); |
| float v1 = stack->pop<float>(); |
| float v0 = stack->pop<float>(); |
| int32_t location = stack->pop<int32_t>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glProgramUniform4f(%" PRIu32 ", %" PRId32 ", %f, %f, %f, %f)\n", program, |
| location, v0, v1, v2, v3); |
| if (glProgramUniform4f != nullptr) { |
| glProgramUniform4f(program, location, v0, v1, v2, v3); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glProgramUniform4f returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glProgramUniform4f\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glProgramUniform4f\n"); |
| return false; |
| } |
| } |
| |
| bool callGlProgramUniform4fv(Stack* stack, bool pushReturn) { |
| float* value = stack->pop<float*>(); |
| int32_t count = stack->pop<int32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glProgramUniform4fv(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %p)\n", program, |
| location, count, value); |
| if (glProgramUniform4fv != nullptr) { |
| glProgramUniform4fv(program, location, count, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glProgramUniform4fv returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glProgramUniform4fv\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glProgramUniform4fv\n"); |
| return false; |
| } |
| } |
| |
| bool callGlProgramUniform4i(Stack* stack, bool pushReturn) { |
| int32_t v3 = stack->pop<int32_t>(); |
| int32_t v2 = stack->pop<int32_t>(); |
| int32_t v1 = stack->pop<int32_t>(); |
| int32_t v0 = stack->pop<int32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glProgramUniform4i(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %" PRId32 ", %" PRId32 |
| ", %" PRId32 ")\n", |
| program, location, v0, v1, v2, v3); |
| if (glProgramUniform4i != nullptr) { |
| glProgramUniform4i(program, location, v0, v1, v2, v3); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glProgramUniform4i returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glProgramUniform4i\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glProgramUniform4i\n"); |
| return false; |
| } |
| } |
| |
| bool callGlProgramUniform4iv(Stack* stack, bool pushReturn) { |
| int32_t* value = stack->pop<int32_t*>(); |
| int32_t count = stack->pop<int32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glProgramUniform4iv(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %p)\n", program, |
| location, count, value); |
| if (glProgramUniform4iv != nullptr) { |
| glProgramUniform4iv(program, location, count, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glProgramUniform4iv returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glProgramUniform4iv\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glProgramUniform4iv\n"); |
| return false; |
| } |
| } |
| |
| bool callGlProgramUniform4ui(Stack* stack, bool pushReturn) { |
| uint32_t v3 = stack->pop<uint32_t>(); |
| uint32_t v2 = stack->pop<uint32_t>(); |
| uint32_t v1 = stack->pop<uint32_t>(); |
| uint32_t v0 = stack->pop<uint32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glProgramUniform4ui(%" PRIu32 ", %" PRId32 ", %" PRIu32 ", %" PRIu32 |
| ", %" PRIu32 ", %" PRIu32 ")\n", |
| program, location, v0, v1, v2, v3); |
| if (glProgramUniform4ui != nullptr) { |
| glProgramUniform4ui(program, location, v0, v1, v2, v3); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glProgramUniform4ui returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glProgramUniform4ui\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glProgramUniform4ui\n"); |
| return false; |
| } |
| } |
| |
| bool callGlProgramUniform4uiv(Stack* stack, bool pushReturn) { |
| uint32_t* value = stack->pop<uint32_t*>(); |
| int32_t count = stack->pop<int32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glProgramUniform4uiv(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %p)\n", program, |
| location, count, value); |
| if (glProgramUniform4uiv != nullptr) { |
| glProgramUniform4uiv(program, location, count, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glProgramUniform4uiv returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glProgramUniform4uiv\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glProgramUniform4uiv\n"); |
| return false; |
| } |
| } |
| |
| bool callGlProgramUniformMatrix2fv(Stack* stack, bool pushReturn) { |
| float* value = stack->pop<float*>(); |
| uint8_t transpose = stack->pop<uint8_t>(); |
| int32_t count = stack->pop<int32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glProgramUniformMatrix2fv(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %" PRIu8 |
| ", %p)\n", |
| program, location, count, transpose, value); |
| if (glProgramUniformMatrix2fv != nullptr) { |
| glProgramUniformMatrix2fv(program, location, count, transpose, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glProgramUniformMatrix2fv returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glProgramUniformMatrix2fv\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glProgramUniformMatrix2fv\n"); |
| return false; |
| } |
| } |
| |
| bool callGlProgramUniformMatrix2x3fv(Stack* stack, bool pushReturn) { |
| float* value = stack->pop<float*>(); |
| uint8_t transpose = stack->pop<uint8_t>(); |
| int32_t count = stack->pop<int32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glProgramUniformMatrix2x3fv(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %" PRIu8 |
| ", %p)\n", |
| program, location, count, transpose, value); |
| if (glProgramUniformMatrix2x3fv != nullptr) { |
| glProgramUniformMatrix2x3fv(program, location, count, transpose, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glProgramUniformMatrix2x3fv returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glProgramUniformMatrix2x3fv\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glProgramUniformMatrix2x3fv\n"); |
| return false; |
| } |
| } |
| |
| bool callGlProgramUniformMatrix2x4fv(Stack* stack, bool pushReturn) { |
| float* value = stack->pop<float*>(); |
| uint8_t transpose = stack->pop<uint8_t>(); |
| int32_t count = stack->pop<int32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glProgramUniformMatrix2x4fv(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %" PRIu8 |
| ", %p)\n", |
| program, location, count, transpose, value); |
| if (glProgramUniformMatrix2x4fv != nullptr) { |
| glProgramUniformMatrix2x4fv(program, location, count, transpose, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glProgramUniformMatrix2x4fv returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glProgramUniformMatrix2x4fv\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glProgramUniformMatrix2x4fv\n"); |
| return false; |
| } |
| } |
| |
| bool callGlProgramUniformMatrix3fv(Stack* stack, bool pushReturn) { |
| float* value = stack->pop<float*>(); |
| uint8_t transpose = stack->pop<uint8_t>(); |
| int32_t count = stack->pop<int32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glProgramUniformMatrix3fv(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %" PRIu8 |
| ", %p)\n", |
| program, location, count, transpose, value); |
| if (glProgramUniformMatrix3fv != nullptr) { |
| glProgramUniformMatrix3fv(program, location, count, transpose, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glProgramUniformMatrix3fv returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glProgramUniformMatrix3fv\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glProgramUniformMatrix3fv\n"); |
| return false; |
| } |
| } |
| |
| bool callGlProgramUniformMatrix3x2fv(Stack* stack, bool pushReturn) { |
| float* value = stack->pop<float*>(); |
| uint8_t transpose = stack->pop<uint8_t>(); |
| int32_t count = stack->pop<int32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glProgramUniformMatrix3x2fv(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %" PRIu8 |
| ", %p)\n", |
| program, location, count, transpose, value); |
| if (glProgramUniformMatrix3x2fv != nullptr) { |
| glProgramUniformMatrix3x2fv(program, location, count, transpose, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glProgramUniformMatrix3x2fv returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glProgramUniformMatrix3x2fv\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glProgramUniformMatrix3x2fv\n"); |
| return false; |
| } |
| } |
| |
| bool callGlProgramUniformMatrix3x4fv(Stack* stack, bool pushReturn) { |
| float* value = stack->pop<float*>(); |
| uint8_t transpose = stack->pop<uint8_t>(); |
| int32_t count = stack->pop<int32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glProgramUniformMatrix3x4fv(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %" PRIu8 |
| ", %p)\n", |
| program, location, count, transpose, value); |
| if (glProgramUniformMatrix3x4fv != nullptr) { |
| glProgramUniformMatrix3x4fv(program, location, count, transpose, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glProgramUniformMatrix3x4fv returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glProgramUniformMatrix3x4fv\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glProgramUniformMatrix3x4fv\n"); |
| return false; |
| } |
| } |
| |
| bool callGlProgramUniformMatrix4fv(Stack* stack, bool pushReturn) { |
| float* value = stack->pop<float*>(); |
| uint8_t transpose = stack->pop<uint8_t>(); |
| int32_t count = stack->pop<int32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glProgramUniformMatrix4fv(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %" PRIu8 |
| ", %p)\n", |
| program, location, count, transpose, value); |
| if (glProgramUniformMatrix4fv != nullptr) { |
| glProgramUniformMatrix4fv(program, location, count, transpose, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glProgramUniformMatrix4fv returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glProgramUniformMatrix4fv\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glProgramUniformMatrix4fv\n"); |
| return false; |
| } |
| } |
| |
| bool callGlProgramUniformMatrix4x2fv(Stack* stack, bool pushReturn) { |
| float* value = stack->pop<float*>(); |
| uint8_t transpose = stack->pop<uint8_t>(); |
| int32_t count = stack->pop<int32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glProgramUniformMatrix4x2fv(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %" PRIu8 |
| ", %p)\n", |
| program, location, count, transpose, value); |
| if (glProgramUniformMatrix4x2fv != nullptr) { |
| glProgramUniformMatrix4x2fv(program, location, count, transpose, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glProgramUniformMatrix4x2fv returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glProgramUniformMatrix4x2fv\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glProgramUniformMatrix4x2fv\n"); |
| return false; |
| } |
| } |
| |
| bool callGlProgramUniformMatrix4x3fv(Stack* stack, bool pushReturn) { |
| float* value = stack->pop<float*>(); |
| uint8_t transpose = stack->pop<uint8_t>(); |
| int32_t count = stack->pop<int32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glProgramUniformMatrix4x3fv(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %" PRIu8 |
| ", %p)\n", |
| program, location, count, transpose, value); |
| if (glProgramUniformMatrix4x3fv != nullptr) { |
| glProgramUniformMatrix4x3fv(program, location, count, transpose, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glProgramUniformMatrix4x3fv returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glProgramUniformMatrix4x3fv\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glProgramUniformMatrix4x3fv\n"); |
| return false; |
| } |
| } |
| |
| bool callGlReleaseShaderCompiler(Stack* stack, bool pushReturn) { |
| if (stack->isValid()) { |
| GAPID_INFO("glReleaseShaderCompiler()\n"); |
| if (glReleaseShaderCompiler != nullptr) { |
| glReleaseShaderCompiler(); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glReleaseShaderCompiler returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glReleaseShaderCompiler\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glReleaseShaderCompiler\n"); |
| return false; |
| } |
| } |
| |
| bool callGlShaderBinary(Stack* stack, bool pushReturn) { |
| int32_t binary_size = stack->pop<int32_t>(); |
| void* binary = stack->pop<void*>(); |
| GLenum binary_format = stack->pop<GLenum>(); |
| uint32_t* shaders = stack->pop<uint32_t*>(); |
| int32_t count = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glShaderBinary(%" PRId32 ", %p, %u, %p, %" PRId32 ")\n", count, shaders, |
| binary_format, binary, binary_size); |
| if (glShaderBinary != nullptr) { |
| glShaderBinary(count, shaders, binary_format, binary, binary_size); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glShaderBinary returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glShaderBinary\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glShaderBinary\n"); |
| return false; |
| } |
| } |
| |
| bool callGlShaderSource(Stack* stack, bool pushReturn) { |
| int32_t* length = stack->pop<int32_t*>(); |
| char** source = stack->pop<char**>(); |
| int32_t count = stack->pop<int32_t>(); |
| uint32_t shader = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glShaderSource(%" PRIu32 ", %" PRId32 ", %p, %p)\n", shader, count, source, |
| length); |
| if (glShaderSource != nullptr) { |
| glShaderSource(shader, count, source, length); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glShaderSource returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glShaderSource\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glShaderSource\n"); |
| return false; |
| } |
| } |
| |
| bool callGlUniform1f(Stack* stack, bool pushReturn) { |
| float value = stack->pop<float>(); |
| int32_t location = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glUniform1f(%" PRId32 ", %f)\n", location, value); |
| if (glUniform1f != nullptr) { |
| glUniform1f(location, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glUniform1f returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glUniform1f\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glUniform1f\n"); |
| return false; |
| } |
| } |
| |
| bool callGlUniform1fv(Stack* stack, bool pushReturn) { |
| float* values = stack->pop<float*>(); |
| int32_t count = stack->pop<int32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glUniform1fv(%" PRId32 ", %" PRId32 ", %p)\n", location, count, values); |
| if (glUniform1fv != nullptr) { |
| glUniform1fv(location, count, values); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glUniform1fv returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glUniform1fv\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glUniform1fv\n"); |
| return false; |
| } |
| } |
| |
| bool callGlUniform1i(Stack* stack, bool pushReturn) { |
| int32_t value = stack->pop<int32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glUniform1i(%" PRId32 ", %" PRId32 ")\n", location, value); |
| if (glUniform1i != nullptr) { |
| glUniform1i(location, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glUniform1i returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glUniform1i\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glUniform1i\n"); |
| return false; |
| } |
| } |
| |
| bool callGlUniform1iv(Stack* stack, bool pushReturn) { |
| int32_t* values = stack->pop<int32_t*>(); |
| int32_t count = stack->pop<int32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glUniform1iv(%" PRId32 ", %" PRId32 ", %p)\n", location, count, values); |
| if (glUniform1iv != nullptr) { |
| glUniform1iv(location, count, values); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glUniform1iv returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glUniform1iv\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glUniform1iv\n"); |
| return false; |
| } |
| } |
| |
| bool callGlUniform1ui(Stack* stack, bool pushReturn) { |
| uint32_t v0 = stack->pop<uint32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glUniform1ui(%" PRId32 ", %" PRIu32 ")\n", location, v0); |
| if (glUniform1ui != nullptr) { |
| glUniform1ui(location, v0); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glUniform1ui returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glUniform1ui\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glUniform1ui\n"); |
| return false; |
| } |
| } |
| |
| bool callGlUniform1uiv(Stack* stack, bool pushReturn) { |
| uint32_t* value = stack->pop<uint32_t*>(); |
| int32_t count = stack->pop<int32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glUniform1uiv(%" PRId32 ", %" PRId32 ", %p)\n", location, count, value); |
| if (glUniform1uiv != nullptr) { |
| glUniform1uiv(location, count, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glUniform1uiv returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glUniform1uiv\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glUniform1uiv\n"); |
| return false; |
| } |
| } |
| |
| bool callGlUniform2f(Stack* stack, bool pushReturn) { |
| float value1 = stack->pop<float>(); |
| float value0 = stack->pop<float>(); |
| int32_t location = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glUniform2f(%" PRId32 ", %f, %f)\n", location, value0, value1); |
| if (glUniform2f != nullptr) { |
| glUniform2f(location, value0, value1); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glUniform2f returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glUniform2f\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glUniform2f\n"); |
| return false; |
| } |
| } |
| |
| bool callGlUniform2fv(Stack* stack, bool pushReturn) { |
| float* values = stack->pop<float*>(); |
| int32_t count = stack->pop<int32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glUniform2fv(%" PRId32 ", %" PRId32 ", %p)\n", location, count, values); |
| if (glUniform2fv != nullptr) { |
| glUniform2fv(location, count, values); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glUniform2fv returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glUniform2fv\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glUniform2fv\n"); |
| return false; |
| } |
| } |
| |
| bool callGlUniform2i(Stack* stack, bool pushReturn) { |
| int32_t value1 = stack->pop<int32_t>(); |
| int32_t value0 = stack->pop<int32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glUniform2i(%" PRId32 ", %" PRId32 ", %" PRId32 ")\n", location, value0, |
| value1); |
| if (glUniform2i != nullptr) { |
| glUniform2i(location, value0, value1); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glUniform2i returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glUniform2i\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glUniform2i\n"); |
| return false; |
| } |
| } |
| |
| bool callGlUniform2iv(Stack* stack, bool pushReturn) { |
| int32_t* values = stack->pop<int32_t*>(); |
| int32_t count = stack->pop<int32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glUniform2iv(%" PRId32 ", %" PRId32 ", %p)\n", location, count, values); |
| if (glUniform2iv != nullptr) { |
| glUniform2iv(location, count, values); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glUniform2iv returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glUniform2iv\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glUniform2iv\n"); |
| return false; |
| } |
| } |
| |
| bool callGlUniform2ui(Stack* stack, bool pushReturn) { |
| uint32_t v1 = stack->pop<uint32_t>(); |
| uint32_t v0 = stack->pop<uint32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glUniform2ui(%" PRId32 ", %" PRIu32 ", %" PRIu32 ")\n", location, v0, v1); |
| if (glUniform2ui != nullptr) { |
| glUniform2ui(location, v0, v1); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glUniform2ui returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glUniform2ui\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glUniform2ui\n"); |
| return false; |
| } |
| } |
| |
| bool callGlUniform2uiv(Stack* stack, bool pushReturn) { |
| uint32_t* value = stack->pop<uint32_t*>(); |
| int32_t count = stack->pop<int32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glUniform2uiv(%" PRId32 ", %" PRId32 ", %p)\n", location, count, value); |
| if (glUniform2uiv != nullptr) { |
| glUniform2uiv(location, count, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glUniform2uiv returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glUniform2uiv\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glUniform2uiv\n"); |
| return false; |
| } |
| } |
| |
| bool callGlUniform3f(Stack* stack, bool pushReturn) { |
| float value2 = stack->pop<float>(); |
| float value1 = stack->pop<float>(); |
| float value0 = stack->pop<float>(); |
| int32_t location = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glUniform3f(%" PRId32 ", %f, %f, %f)\n", location, value0, value1, value2); |
| if (glUniform3f != nullptr) { |
| glUniform3f(location, value0, value1, value2); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glUniform3f returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glUniform3f\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glUniform3f\n"); |
| return false; |
| } |
| } |
| |
| bool callGlUniform3fv(Stack* stack, bool pushReturn) { |
| float* values = stack->pop<float*>(); |
| int32_t count = stack->pop<int32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glUniform3fv(%" PRId32 ", %" PRId32 ", %p)\n", location, count, values); |
| if (glUniform3fv != nullptr) { |
| glUniform3fv(location, count, values); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glUniform3fv returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glUniform3fv\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glUniform3fv\n"); |
| return false; |
| } |
| } |
| |
| bool callGlUniform3i(Stack* stack, bool pushReturn) { |
| int32_t value2 = stack->pop<int32_t>(); |
| int32_t value1 = stack->pop<int32_t>(); |
| int32_t value0 = stack->pop<int32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glUniform3i(%" PRId32 ", %" PRId32 ", %" PRId32 ", %" PRId32 ")\n", location, |
| value0, value1, value2); |
| if (glUniform3i != nullptr) { |
| glUniform3i(location, value0, value1, value2); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glUniform3i returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glUniform3i\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glUniform3i\n"); |
| return false; |
| } |
| } |
| |
| bool callGlUniform3iv(Stack* stack, bool pushReturn) { |
| int32_t* values = stack->pop<int32_t*>(); |
| int32_t count = stack->pop<int32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glUniform3iv(%" PRId32 ", %" PRId32 ", %p)\n", location, count, values); |
| if (glUniform3iv != nullptr) { |
| glUniform3iv(location, count, values); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glUniform3iv returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glUniform3iv\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glUniform3iv\n"); |
| return false; |
| } |
| } |
| |
| bool callGlUniform3ui(Stack* stack, bool pushReturn) { |
| uint32_t v2 = stack->pop<uint32_t>(); |
| uint32_t v1 = stack->pop<uint32_t>(); |
| uint32_t v0 = stack->pop<uint32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glUniform3ui(%" PRId32 ", %" PRIu32 ", %" PRIu32 ", %" PRIu32 ")\n", location, |
| v0, v1, v2); |
| if (glUniform3ui != nullptr) { |
| glUniform3ui(location, v0, v1, v2); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glUniform3ui returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glUniform3ui\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glUniform3ui\n"); |
| return false; |
| } |
| } |
| |
| bool callGlUniform3uiv(Stack* stack, bool pushReturn) { |
| uint32_t* value = stack->pop<uint32_t*>(); |
| int32_t count = stack->pop<int32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glUniform3uiv(%" PRId32 ", %" PRId32 ", %p)\n", location, count, value); |
| if (glUniform3uiv != nullptr) { |
| glUniform3uiv(location, count, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glUniform3uiv returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glUniform3uiv\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glUniform3uiv\n"); |
| return false; |
| } |
| } |
| |
| bool callGlUniform4f(Stack* stack, bool pushReturn) { |
| float value3 = stack->pop<float>(); |
| float value2 = stack->pop<float>(); |
| float value1 = stack->pop<float>(); |
| float value0 = stack->pop<float>(); |
| int32_t location = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glUniform4f(%" PRId32 ", %f, %f, %f, %f)\n", location, value0, value1, value2, |
| value3); |
| if (glUniform4f != nullptr) { |
| glUniform4f(location, value0, value1, value2, value3); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glUniform4f returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glUniform4f\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glUniform4f\n"); |
| return false; |
| } |
| } |
| |
| bool callGlUniform4fv(Stack* stack, bool pushReturn) { |
| float* values = stack->pop<float*>(); |
| int32_t count = stack->pop<int32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glUniform4fv(%" PRId32 ", %" PRId32 ", %p)\n", location, count, values); |
| if (glUniform4fv != nullptr) { |
| glUniform4fv(location, count, values); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glUniform4fv returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glUniform4fv\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glUniform4fv\n"); |
| return false; |
| } |
| } |
| |
| bool callGlUniform4i(Stack* stack, bool pushReturn) { |
| int32_t value3 = stack->pop<int32_t>(); |
| int32_t value2 = stack->pop<int32_t>(); |
| int32_t value1 = stack->pop<int32_t>(); |
| int32_t value0 = stack->pop<int32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glUniform4i(%" PRId32 ", %" PRId32 ", %" PRId32 ", %" PRId32 ", %" PRId32 ")\n", |
| location, value0, value1, value2, value3); |
| if (glUniform4i != nullptr) { |
| glUniform4i(location, value0, value1, value2, value3); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glUniform4i returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glUniform4i\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glUniform4i\n"); |
| return false; |
| } |
| } |
| |
| bool callGlUniform4iv(Stack* stack, bool pushReturn) { |
| int32_t* values = stack->pop<int32_t*>(); |
| int32_t count = stack->pop<int32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glUniform4iv(%" PRId32 ", %" PRId32 ", %p)\n", location, count, values); |
| if (glUniform4iv != nullptr) { |
| glUniform4iv(location, count, values); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glUniform4iv returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glUniform4iv\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glUniform4iv\n"); |
| return false; |
| } |
| } |
| |
| bool callGlUniform4ui(Stack* stack, bool pushReturn) { |
| uint32_t v3 = stack->pop<uint32_t>(); |
| uint32_t v2 = stack->pop<uint32_t>(); |
| uint32_t v1 = stack->pop<uint32_t>(); |
| uint32_t v0 = stack->pop<uint32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glUniform4ui(%" PRId32 ", %" PRIu32 ", %" PRIu32 ", %" PRIu32 ", %" PRIu32 |
| ")\n", |
| location, v0, v1, v2, v3); |
| if (glUniform4ui != nullptr) { |
| glUniform4ui(location, v0, v1, v2, v3); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glUniform4ui returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glUniform4ui\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glUniform4ui\n"); |
| return false; |
| } |
| } |
| |
| bool callGlUniform4uiv(Stack* stack, bool pushReturn) { |
| uint32_t* value = stack->pop<uint32_t*>(); |
| int32_t count = stack->pop<int32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glUniform4uiv(%" PRId32 ", %" PRId32 ", %p)\n", location, count, value); |
| if (glUniform4uiv != nullptr) { |
| glUniform4uiv(location, count, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glUniform4uiv returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glUniform4uiv\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glUniform4uiv\n"); |
| return false; |
| } |
| } |
| |
| bool callGlUniformBlockBinding(Stack* stack, bool pushReturn) { |
| uint32_t uniform_block_binding = stack->pop<uint32_t>(); |
| uint32_t uniform_block_index = stack->pop<uint32_t>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glUniformBlockBinding(%" PRIu32 ", %" PRIu32 ", %" PRIu32 ")\n", program, |
| uniform_block_index, uniform_block_binding); |
| if (glUniformBlockBinding != nullptr) { |
| glUniformBlockBinding(program, uniform_block_index, uniform_block_binding); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glUniformBlockBinding returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glUniformBlockBinding\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glUniformBlockBinding\n"); |
| return false; |
| } |
| } |
| |
| bool callGlUniformMatrix2fv(Stack* stack, bool pushReturn) { |
| float* values = stack->pop<float*>(); |
| uint8_t transpose = stack->pop<uint8_t>(); |
| int32_t count = stack->pop<int32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glUniformMatrix2fv(%" PRId32 ", %" PRId32 ", %" PRIu8 ", %p)\n", location, |
| count, transpose, values); |
| if (glUniformMatrix2fv != nullptr) { |
| glUniformMatrix2fv(location, count, transpose, values); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glUniformMatrix2fv returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glUniformMatrix2fv\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glUniformMatrix2fv\n"); |
| return false; |
| } |
| } |
| |
| bool callGlUniformMatrix2x3fv(Stack* stack, bool pushReturn) { |
| float* value = stack->pop<float*>(); |
| uint8_t transpose = stack->pop<uint8_t>(); |
| int32_t count = stack->pop<int32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glUniformMatrix2x3fv(%" PRId32 ", %" PRId32 ", %" PRIu8 ", %p)\n", location, |
| count, transpose, value); |
| if (glUniformMatrix2x3fv != nullptr) { |
| glUniformMatrix2x3fv(location, count, transpose, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glUniformMatrix2x3fv returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glUniformMatrix2x3fv\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glUniformMatrix2x3fv\n"); |
| return false; |
| } |
| } |
| |
| bool callGlUniformMatrix2x4fv(Stack* stack, bool pushReturn) { |
| float* value = stack->pop<float*>(); |
| uint8_t transpose = stack->pop<uint8_t>(); |
| int32_t count = stack->pop<int32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glUniformMatrix2x4fv(%" PRId32 ", %" PRId32 ", %" PRIu8 ", %p)\n", location, |
| count, transpose, value); |
| if (glUniformMatrix2x4fv != nullptr) { |
| glUniformMatrix2x4fv(location, count, transpose, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glUniformMatrix2x4fv returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glUniformMatrix2x4fv\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glUniformMatrix2x4fv\n"); |
| return false; |
| } |
| } |
| |
| bool callGlUniformMatrix3fv(Stack* stack, bool pushReturn) { |
| float* values = stack->pop<float*>(); |
| uint8_t transpose = stack->pop<uint8_t>(); |
| int32_t count = stack->pop<int32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glUniformMatrix3fv(%" PRId32 ", %" PRId32 ", %" PRIu8 ", %p)\n", location, |
| count, transpose, values); |
| if (glUniformMatrix3fv != nullptr) { |
| glUniformMatrix3fv(location, count, transpose, values); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glUniformMatrix3fv returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glUniformMatrix3fv\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glUniformMatrix3fv\n"); |
| return false; |
| } |
| } |
| |
| bool callGlUniformMatrix3x2fv(Stack* stack, bool pushReturn) { |
| float* value = stack->pop<float*>(); |
| uint8_t transpose = stack->pop<uint8_t>(); |
| int32_t count = stack->pop<int32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glUniformMatrix3x2fv(%" PRId32 ", %" PRId32 ", %" PRIu8 ", %p)\n", location, |
| count, transpose, value); |
| if (glUniformMatrix3x2fv != nullptr) { |
| glUniformMatrix3x2fv(location, count, transpose, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glUniformMatrix3x2fv returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glUniformMatrix3x2fv\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glUniformMatrix3x2fv\n"); |
| return false; |
| } |
| } |
| |
| bool callGlUniformMatrix3x4fv(Stack* stack, bool pushReturn) { |
| float* value = stack->pop<float*>(); |
| uint8_t transpose = stack->pop<uint8_t>(); |
| int32_t count = stack->pop<int32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glUniformMatrix3x4fv(%" PRId32 ", %" PRId32 ", %" PRIu8 ", %p)\n", location, |
| count, transpose, value); |
| if (glUniformMatrix3x4fv != nullptr) { |
| glUniformMatrix3x4fv(location, count, transpose, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glUniformMatrix3x4fv returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glUniformMatrix3x4fv\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glUniformMatrix3x4fv\n"); |
| return false; |
| } |
| } |
| |
| bool callGlUniformMatrix4fv(Stack* stack, bool pushReturn) { |
| float* values = stack->pop<float*>(); |
| uint8_t transpose = stack->pop<uint8_t>(); |
| int32_t count = stack->pop<int32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glUniformMatrix4fv(%" PRId32 ", %" PRId32 ", %" PRIu8 ", %p)\n", location, |
| count, transpose, values); |
| if (glUniformMatrix4fv != nullptr) { |
| glUniformMatrix4fv(location, count, transpose, values); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glUniformMatrix4fv returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glUniformMatrix4fv\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glUniformMatrix4fv\n"); |
| return false; |
| } |
| } |
| |
| bool callGlUniformMatrix4x2fv(Stack* stack, bool pushReturn) { |
| float* value = stack->pop<float*>(); |
| uint8_t transpose = stack->pop<uint8_t>(); |
| int32_t count = stack->pop<int32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glUniformMatrix4x2fv(%" PRId32 ", %" PRId32 ", %" PRIu8 ", %p)\n", location, |
| count, transpose, value); |
| if (glUniformMatrix4x2fv != nullptr) { |
| glUniformMatrix4x2fv(location, count, transpose, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glUniformMatrix4x2fv returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glUniformMatrix4x2fv\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glUniformMatrix4x2fv\n"); |
| return false; |
| } |
| } |
| |
| bool callGlUniformMatrix4x3fv(Stack* stack, bool pushReturn) { |
| float* value = stack->pop<float*>(); |
| uint8_t transpose = stack->pop<uint8_t>(); |
| int32_t count = stack->pop<int32_t>(); |
| int32_t location = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glUniformMatrix4x3fv(%" PRId32 ", %" PRId32 ", %" PRIu8 ", %p)\n", location, |
| count, transpose, value); |
| if (glUniformMatrix4x3fv != nullptr) { |
| glUniformMatrix4x3fv(location, count, transpose, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glUniformMatrix4x3fv returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glUniformMatrix4x3fv\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glUniformMatrix4x3fv\n"); |
| return false; |
| } |
| } |
| |
| bool callGlUseProgram(Stack* stack, bool pushReturn) { |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glUseProgram(%" PRIu32 ")\n", program); |
| if (glUseProgram != nullptr) { |
| glUseProgram(program); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glUseProgram returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glUseProgram\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glUseProgram\n"); |
| return false; |
| } |
| } |
| |
| bool callGlUseProgramStages(Stack* stack, bool pushReturn) { |
| uint32_t program = stack->pop<uint32_t>(); |
| GLbitfield stages = stack->pop<GLbitfield>(); |
| uint32_t pipeline = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glUseProgramStages(%" PRIu32 ", %u, %" PRIu32 ")\n", pipeline, stages, program); |
| if (glUseProgramStages != nullptr) { |
| glUseProgramStages(pipeline, stages, program); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glUseProgramStages returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glUseProgramStages\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glUseProgramStages\n"); |
| return false; |
| } |
| } |
| |
| bool callGlValidateProgram(Stack* stack, bool pushReturn) { |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glValidateProgram(%" PRIu32 ")\n", program); |
| if (glValidateProgram != nullptr) { |
| glValidateProgram(program); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glValidateProgram returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glValidateProgram\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glValidateProgram\n"); |
| return false; |
| } |
| } |
| |
| bool callGlValidateProgramPipeline(Stack* stack, bool pushReturn) { |
| uint32_t pipeline = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glValidateProgramPipeline(%" PRIu32 ")\n", pipeline); |
| if (glValidateProgramPipeline != nullptr) { |
| glValidateProgramPipeline(pipeline); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glValidateProgramPipeline returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glValidateProgramPipeline\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glValidateProgramPipeline\n"); |
| return false; |
| } |
| } |
| |
| bool callGlCullFace(Stack* stack, bool pushReturn) { |
| GLenum mode = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glCullFace(%u)\n", mode); |
| if (glCullFace != nullptr) { |
| glCullFace(mode); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glCullFace returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glCullFace\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glCullFace\n"); |
| return false; |
| } |
| } |
| |
| bool callGlDepthRangef(Stack* stack, bool pushReturn) { |
| float far = stack->pop<float>(); |
| float near = stack->pop<float>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glDepthRangef(%f, %f)\n", near, far); |
| if (glDepthRangef != nullptr) { |
| glDepthRangef(near, far); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glDepthRangef returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glDepthRangef\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glDepthRangef\n"); |
| return false; |
| } |
| } |
| |
| bool callGlFrontFace(Stack* stack, bool pushReturn) { |
| GLenum orientation = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glFrontFace(%u)\n", orientation); |
| if (glFrontFace != nullptr) { |
| glFrontFace(orientation); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glFrontFace returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glFrontFace\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glFrontFace\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetMultisamplefv(Stack* stack, bool pushReturn) { |
| float* val = stack->pop<float*>(); |
| uint32_t index = stack->pop<uint32_t>(); |
| GLenum pname = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetMultisamplefv(%u, %" PRIu32 ", %p)\n", pname, index, val); |
| if (glGetMultisamplefv != nullptr) { |
| glGetMultisamplefv(pname, index, val); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetMultisamplefv returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetMultisamplefv\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetMultisamplefv\n"); |
| return false; |
| } |
| } |
| |
| bool callGlLineWidth(Stack* stack, bool pushReturn) { |
| float width = stack->pop<float>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glLineWidth(%f)\n", width); |
| if (glLineWidth != nullptr) { |
| glLineWidth(width); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glLineWidth returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glLineWidth\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glLineWidth\n"); |
| return false; |
| } |
| } |
| |
| bool callGlPolygonOffset(Stack* stack, bool pushReturn) { |
| float units = stack->pop<float>(); |
| float scale_factor = stack->pop<float>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glPolygonOffset(%f, %f)\n", scale_factor, units); |
| if (glPolygonOffset != nullptr) { |
| glPolygonOffset(scale_factor, units); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glPolygonOffset returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glPolygonOffset\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glPolygonOffset\n"); |
| return false; |
| } |
| } |
| |
| bool callGlViewport(Stack* stack, bool pushReturn) { |
| int32_t height = stack->pop<int32_t>(); |
| int32_t width = stack->pop<int32_t>(); |
| int32_t y = stack->pop<int32_t>(); |
| int32_t x = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glViewport(%" PRId32 ", %" PRId32 ", %" PRId32 ", %" PRId32 ")\n", x, y, width, |
| height); |
| if (glViewport != nullptr) { |
| glViewport(x, y, width, height); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glViewport returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glViewport\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glViewport\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetBooleaniV(Stack* stack, bool pushReturn) { |
| uint8_t* data = stack->pop<uint8_t*>(); |
| uint32_t index = stack->pop<uint32_t>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetBooleani_v(%u, %" PRIu32 ", %p)\n", target, index, data); |
| if (glGetBooleani_v != nullptr) { |
| glGetBooleani_v(target, index, data); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetBooleani_v returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetBooleani_v\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetBooleani_v\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetBooleanv(Stack* stack, bool pushReturn) { |
| uint8_t* values = stack->pop<uint8_t*>(); |
| GLenum param = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetBooleanv(%u, %p)\n", param, values); |
| if (glGetBooleanv != nullptr) { |
| glGetBooleanv(param, values); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetBooleanv returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetBooleanv\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetBooleanv\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetFloatv(Stack* stack, bool pushReturn) { |
| float* values = stack->pop<float*>(); |
| GLenum param = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetFloatv(%u, %p)\n", param, values); |
| if (glGetFloatv != nullptr) { |
| glGetFloatv(param, values); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetFloatv returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetFloatv\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetFloatv\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetInteger64iV(Stack* stack, bool pushReturn) { |
| int64_t* data = stack->pop<int64_t*>(); |
| uint32_t index = stack->pop<uint32_t>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetInteger64i_v(%u, %" PRIu32 ", %p)\n", target, index, data); |
| if (glGetInteger64i_v != nullptr) { |
| glGetInteger64i_v(target, index, data); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetInteger64i_v returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetInteger64i_v\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetInteger64i_v\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetInteger64v(Stack* stack, bool pushReturn) { |
| int64_t* data = stack->pop<int64_t*>(); |
| GLenum pname = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetInteger64v(%u, %p)\n", pname, data); |
| if (glGetInteger64v != nullptr) { |
| glGetInteger64v(pname, data); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetInteger64v returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetInteger64v\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetInteger64v\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetIntegeriV(Stack* stack, bool pushReturn) { |
| int32_t* data = stack->pop<int32_t*>(); |
| uint32_t index = stack->pop<uint32_t>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetIntegeri_v(%u, %" PRIu32 ", %p)\n", target, index, data); |
| if (glGetIntegeri_v != nullptr) { |
| glGetIntegeri_v(target, index, data); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetIntegeri_v returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetIntegeri_v\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetIntegeri_v\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetIntegerv(Stack* stack, bool pushReturn) { |
| int32_t* values = stack->pop<int32_t*>(); |
| GLenum param = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetIntegerv(%u, %p)\n", param, values); |
| if (glGetIntegerv != nullptr) { |
| glGetIntegerv(param, values); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetIntegerv returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetIntegerv\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetIntegerv\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetInternalformativ(Stack* stack, bool pushReturn) { |
| int32_t* params = stack->pop<int32_t*>(); |
| int32_t bufSize = stack->pop<int32_t>(); |
| GLenum pname = stack->pop<GLenum>(); |
| GLenum internalformat = stack->pop<GLenum>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetInternalformativ(%u, %u, %u, %" PRId32 ", %p)\n", target, internalformat, |
| pname, bufSize, params); |
| if (glGetInternalformativ != nullptr) { |
| glGetInternalformativ(target, internalformat, pname, bufSize, params); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetInternalformativ returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetInternalformativ\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetInternalformativ\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetString(Stack* stack, bool pushReturn) { |
| GLenum param = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetString(%u)\n", param); |
| if (glGetString != nullptr) { |
| uint8_t* return_value = glGetString(param); |
| GAPID_INFO("Returned: %p\n", return_value); |
| if (pushReturn) { |
| stack->push<uint8_t*>(return_value); |
| } |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetString returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetString\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetString\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetStringi(Stack* stack, bool pushReturn) { |
| uint32_t index = stack->pop<uint32_t>(); |
| GLenum name = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetStringi(%u, %" PRIu32 ")\n", name, index); |
| if (glGetStringi != nullptr) { |
| uint8_t* return_value = glGetStringi(name, index); |
| GAPID_INFO("Returned: %p\n", return_value); |
| if (pushReturn) { |
| stack->push<uint8_t*>(return_value); |
| } |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetStringi returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetStringi\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetStringi\n"); |
| return false; |
| } |
| } |
| |
| bool callGlIsEnabled(Stack* stack, bool pushReturn) { |
| GLenum capability = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glIsEnabled(%u)\n", capability); |
| if (glIsEnabled != nullptr) { |
| uint8_t return_value = glIsEnabled(capability); |
| GAPID_INFO("Returned: %" PRIu8 "\n", return_value); |
| if (pushReturn) { |
| stack->push<uint8_t>(return_value); |
| } |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glIsEnabled returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glIsEnabled\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glIsEnabled\n"); |
| return false; |
| } |
| } |
| |
| bool callGlClientWaitSync(Stack* stack, bool pushReturn) { |
| uint64_t timeout = stack->pop<uint64_t>(); |
| GLbitfield syncFlags = stack->pop<GLbitfield>(); |
| uint64_t sync = stack->pop<uint64_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glClientWaitSync(%" PRIu64 ", %u, %" PRIu64 ")\n", sync, syncFlags, timeout); |
| if (glClientWaitSync != nullptr) { |
| GLenum return_value = glClientWaitSync(sync, syncFlags, timeout); |
| GAPID_INFO("Returned: %u\n", return_value); |
| if (pushReturn) { |
| stack->push<GLenum>(return_value); |
| } |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glClientWaitSync returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glClientWaitSync\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glClientWaitSync\n"); |
| return false; |
| } |
| } |
| |
| bool callGlDeleteSync(Stack* stack, bool pushReturn) { |
| uint64_t sync = stack->pop<uint64_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glDeleteSync(%" PRIu64 ")\n", sync); |
| if (glDeleteSync != nullptr) { |
| glDeleteSync(sync); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glDeleteSync returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glDeleteSync\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glDeleteSync\n"); |
| return false; |
| } |
| } |
| |
| bool callGlFenceSync(Stack* stack, bool pushReturn) { |
| GLbitfield syncFlags = stack->pop<GLbitfield>(); |
| GLenum condition = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glFenceSync(%u, %u)\n", condition, syncFlags); |
| if (glFenceSync != nullptr) { |
| uint64_t return_value = glFenceSync(condition, syncFlags); |
| GAPID_INFO("Returned: %" PRIu64 "\n", return_value); |
| if (pushReturn) { |
| stack->push<uint64_t>(return_value); |
| } |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glFenceSync returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glFenceSync\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glFenceSync\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetSynciv(Stack* stack, bool pushReturn) { |
| int32_t* values = stack->pop<int32_t*>(); |
| int32_t* length = stack->pop<int32_t*>(); |
| int32_t bufSize = stack->pop<int32_t>(); |
| GLenum pname = stack->pop<GLenum>(); |
| uint64_t sync = stack->pop<uint64_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetSynciv(%" PRIu64 ", %u, %" PRId32 ", %p, %p)\n", sync, pname, bufSize, |
| length, values); |
| if (glGetSynciv != nullptr) { |
| glGetSynciv(sync, pname, bufSize, length, values); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetSynciv returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetSynciv\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetSynciv\n"); |
| return false; |
| } |
| } |
| |
| bool callGlIsSync(Stack* stack, bool pushReturn) { |
| uint64_t sync = stack->pop<uint64_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glIsSync(%" PRIu64 ")\n", sync); |
| if (glIsSync != nullptr) { |
| uint8_t return_value = glIsSync(sync); |
| GAPID_INFO("Returned: %" PRIu8 "\n", return_value); |
| if (pushReturn) { |
| stack->push<uint8_t>(return_value); |
| } |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glIsSync returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glIsSync\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glIsSync\n"); |
| return false; |
| } |
| } |
| |
| bool callGlWaitSync(Stack* stack, bool pushReturn) { |
| uint64_t timeout = stack->pop<uint64_t>(); |
| GLbitfield syncFlags = stack->pop<GLbitfield>(); |
| uint64_t sync = stack->pop<uint64_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glWaitSync(%" PRIu64 ", %u, %" PRIu64 ")\n", sync, syncFlags, timeout); |
| if (glWaitSync != nullptr) { |
| glWaitSync(sync, syncFlags, timeout); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glWaitSync returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glWaitSync\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glWaitSync\n"); |
| return false; |
| } |
| } |
| |
| bool callGlActiveTexture(Stack* stack, bool pushReturn) { |
| GLenum unit = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glActiveTexture(%u)\n", unit); |
| if (glActiveTexture != nullptr) { |
| glActiveTexture(unit); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glActiveTexture returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glActiveTexture\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glActiveTexture\n"); |
| return false; |
| } |
| } |
| |
| bool callGlBindImageTexture(Stack* stack, bool pushReturn) { |
| GLenum format = stack->pop<GLenum>(); |
| GLenum access = stack->pop<GLenum>(); |
| int32_t layer = stack->pop<int32_t>(); |
| uint8_t layered = stack->pop<uint8_t>(); |
| int32_t level = stack->pop<int32_t>(); |
| uint32_t texture = stack->pop<uint32_t>(); |
| uint32_t unit = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glBindImageTexture(%" PRIu32 ", %" PRIu32 ", %" PRId32 ", %" PRIu8 ", %" PRId32 |
| ", %u, %u)\n", |
| unit, texture, level, layered, layer, access, format); |
| if (glBindImageTexture != nullptr) { |
| glBindImageTexture(unit, texture, level, layered, layer, access, format); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glBindImageTexture returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glBindImageTexture\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glBindImageTexture\n"); |
| return false; |
| } |
| } |
| |
| bool callGlBindSampler(Stack* stack, bool pushReturn) { |
| uint32_t sampler = stack->pop<uint32_t>(); |
| uint32_t unit = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glBindSampler(%" PRIu32 ", %" PRIu32 ")\n", unit, sampler); |
| if (glBindSampler != nullptr) { |
| glBindSampler(unit, sampler); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glBindSampler returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glBindSampler\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glBindSampler\n"); |
| return false; |
| } |
| } |
| |
| bool callGlBindTexture(Stack* stack, bool pushReturn) { |
| uint32_t texture = stack->pop<uint32_t>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glBindTexture(%u, %" PRIu32 ")\n", target, texture); |
| if (glBindTexture != nullptr) { |
| glBindTexture(target, texture); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glBindTexture returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glBindTexture\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glBindTexture\n"); |
| return false; |
| } |
| } |
| |
| bool callGlCompressedTexImage2D(Stack* stack, bool pushReturn) { |
| void* data = stack->pop<void*>(); |
| int32_t image_size = stack->pop<int32_t>(); |
| int32_t border = stack->pop<int32_t>(); |
| int32_t height = stack->pop<int32_t>(); |
| int32_t width = stack->pop<int32_t>(); |
| GLenum format = stack->pop<GLenum>(); |
| int32_t level = stack->pop<int32_t>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glCompressedTexImage2D(%u, %" PRId32 ", %u, %" PRId32 ", %" PRId32 ", %" PRId32 |
| ", %" PRId32 ", %p)\n", |
| target, level, format, width, height, border, image_size, data); |
| if (glCompressedTexImage2D != nullptr) { |
| glCompressedTexImage2D(target, level, format, width, height, border, image_size, data); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glCompressedTexImage2D returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glCompressedTexImage2D\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glCompressedTexImage2D\n"); |
| return false; |
| } |
| } |
| |
| bool callGlCompressedTexImage3D(Stack* stack, bool pushReturn) { |
| void* data = stack->pop<void*>(); |
| int32_t imageSize = stack->pop<int32_t>(); |
| int32_t border = stack->pop<int32_t>(); |
| int32_t depth = stack->pop<int32_t>(); |
| int32_t height = stack->pop<int32_t>(); |
| int32_t width = stack->pop<int32_t>(); |
| GLenum internalformat = stack->pop<GLenum>(); |
| int32_t level = stack->pop<int32_t>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glCompressedTexImage3D(%u, %" PRId32 ", %u, %" PRId32 ", %" PRId32 ", %" PRId32 |
| ", %" PRId32 ", %" PRId32 ", %p)\n", |
| target, level, internalformat, width, height, depth, border, imageSize, data); |
| if (glCompressedTexImage3D != nullptr) { |
| glCompressedTexImage3D(target, level, internalformat, width, height, depth, border, |
| imageSize, data); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glCompressedTexImage3D returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glCompressedTexImage3D\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glCompressedTexImage3D\n"); |
| return false; |
| } |
| } |
| |
| bool callGlCompressedTexSubImage2D(Stack* stack, bool pushReturn) { |
| void* data = stack->pop<void*>(); |
| int32_t image_size = stack->pop<int32_t>(); |
| GLenum format = stack->pop<GLenum>(); |
| int32_t height = stack->pop<int32_t>(); |
| int32_t width = stack->pop<int32_t>(); |
| int32_t yoffset = stack->pop<int32_t>(); |
| int32_t xoffset = stack->pop<int32_t>(); |
| int32_t level = stack->pop<int32_t>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glCompressedTexSubImage2D(%u, %" PRId32 ", %" PRId32 ", %" PRId32 ", %" PRId32 |
| ", %" PRId32 ", %u, %" PRId32 ", %p)\n", |
| target, level, xoffset, yoffset, width, height, format, image_size, data); |
| if (glCompressedTexSubImage2D != nullptr) { |
| glCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, |
| image_size, data); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glCompressedTexSubImage2D returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glCompressedTexSubImage2D\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glCompressedTexSubImage2D\n"); |
| return false; |
| } |
| } |
| |
| bool callGlCompressedTexSubImage3D(Stack* stack, bool pushReturn) { |
| void* data = stack->pop<void*>(); |
| int32_t imageSize = stack->pop<int32_t>(); |
| GLenum format = stack->pop<GLenum>(); |
| int32_t depth = stack->pop<int32_t>(); |
| int32_t height = stack->pop<int32_t>(); |
| int32_t width = stack->pop<int32_t>(); |
| int32_t zoffset = stack->pop<int32_t>(); |
| int32_t yoffset = stack->pop<int32_t>(); |
| int32_t xoffset = stack->pop<int32_t>(); |
| int32_t level = stack->pop<int32_t>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| 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); |
| if (glCompressedTexSubImage3D != nullptr) { |
| glCompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, |
| depth, format, imageSize, data); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glCompressedTexSubImage3D returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glCompressedTexSubImage3D\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glCompressedTexSubImage3D\n"); |
| return false; |
| } |
| } |
| |
| bool callGlCopyTexImage2D(Stack* stack, bool pushReturn) { |
| int32_t border = stack->pop<int32_t>(); |
| int32_t height = stack->pop<int32_t>(); |
| int32_t width = stack->pop<int32_t>(); |
| int32_t y = stack->pop<int32_t>(); |
| int32_t x = stack->pop<int32_t>(); |
| GLenum format = stack->pop<GLenum>(); |
| int32_t level = stack->pop<int32_t>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glCopyTexImage2D(%u, %" PRId32 ", %u, %" PRId32 ", %" PRId32 ", %" PRId32 |
| ", %" PRId32 ", %" PRId32 ")\n", |
| target, level, format, x, y, width, height, border); |
| if (glCopyTexImage2D != nullptr) { |
| glCopyTexImage2D(target, level, format, x, y, width, height, border); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glCopyTexImage2D returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glCopyTexImage2D\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glCopyTexImage2D\n"); |
| return false; |
| } |
| } |
| |
| bool callGlCopyTexSubImage2D(Stack* stack, bool pushReturn) { |
| int32_t height = stack->pop<int32_t>(); |
| int32_t width = stack->pop<int32_t>(); |
| int32_t y = stack->pop<int32_t>(); |
| int32_t x = stack->pop<int32_t>(); |
| int32_t yoffset = stack->pop<int32_t>(); |
| int32_t xoffset = stack->pop<int32_t>(); |
| int32_t level = stack->pop<int32_t>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glCopyTexSubImage2D(%u, %" PRId32 ", %" PRId32 ", %" PRId32 ", %" PRId32 |
| ", %" PRId32 ", %" PRId32 ", %" PRId32 ")\n", |
| target, level, xoffset, yoffset, x, y, width, height); |
| if (glCopyTexSubImage2D != nullptr) { |
| glCopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glCopyTexSubImage2D returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glCopyTexSubImage2D\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glCopyTexSubImage2D\n"); |
| return false; |
| } |
| } |
| |
| bool callGlCopyTexSubImage3D(Stack* stack, bool pushReturn) { |
| int32_t height = stack->pop<int32_t>(); |
| int32_t width = stack->pop<int32_t>(); |
| int32_t y = stack->pop<int32_t>(); |
| int32_t x = stack->pop<int32_t>(); |
| int32_t zoffset = stack->pop<int32_t>(); |
| int32_t yoffset = stack->pop<int32_t>(); |
| int32_t xoffset = stack->pop<int32_t>(); |
| int32_t level = stack->pop<int32_t>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glCopyTexSubImage3D(%u, %" PRId32 ", %" PRId32 ", %" PRId32 ", %" PRId32 |
| ", %" PRId32 ", %" PRId32 ", %" PRId32 ", %" PRId32 ")\n", |
| target, level, xoffset, yoffset, zoffset, x, y, width, height); |
| if (glCopyTexSubImage3D != nullptr) { |
| glCopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glCopyTexSubImage3D returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glCopyTexSubImage3D\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glCopyTexSubImage3D\n"); |
| return false; |
| } |
| } |
| |
| bool callGlDeleteSamplers(Stack* stack, bool pushReturn) { |
| uint32_t* samplers = stack->pop<uint32_t*>(); |
| int32_t count = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glDeleteSamplers(%" PRId32 ", %p)\n", count, samplers); |
| if (glDeleteSamplers != nullptr) { |
| glDeleteSamplers(count, samplers); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glDeleteSamplers returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glDeleteSamplers\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glDeleteSamplers\n"); |
| return false; |
| } |
| } |
| |
| bool callGlDeleteTextures(Stack* stack, bool pushReturn) { |
| uint32_t* textures = stack->pop<uint32_t*>(); |
| int32_t count = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glDeleteTextures(%" PRId32 ", %p)\n", count, textures); |
| if (glDeleteTextures != nullptr) { |
| glDeleteTextures(count, textures); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glDeleteTextures returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glDeleteTextures\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glDeleteTextures\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGenSamplers(Stack* stack, bool pushReturn) { |
| uint32_t* samplers = stack->pop<uint32_t*>(); |
| int32_t count = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGenSamplers(%" PRId32 ", %p)\n", count, samplers); |
| if (glGenSamplers != nullptr) { |
| glGenSamplers(count, samplers); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGenSamplers returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGenSamplers\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGenSamplers\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGenTextures(Stack* stack, bool pushReturn) { |
| uint32_t* textures = stack->pop<uint32_t*>(); |
| int32_t count = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGenTextures(%" PRId32 ", %p)\n", count, textures); |
| if (glGenTextures != nullptr) { |
| glGenTextures(count, textures); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGenTextures returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGenTextures\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGenTextures\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGenerateMipmap(Stack* stack, bool pushReturn) { |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGenerateMipmap(%u)\n", target); |
| if (glGenerateMipmap != nullptr) { |
| glGenerateMipmap(target); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGenerateMipmap returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGenerateMipmap\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGenerateMipmap\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetSamplerParameterfv(Stack* stack, bool pushReturn) { |
| float* params = stack->pop<float*>(); |
| GLenum pname = stack->pop<GLenum>(); |
| uint32_t sampler = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetSamplerParameterfv(%" PRIu32 ", %u, %p)\n", sampler, pname, params); |
| if (glGetSamplerParameterfv != nullptr) { |
| glGetSamplerParameterfv(sampler, pname, params); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetSamplerParameterfv returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetSamplerParameterfv\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetSamplerParameterfv\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetSamplerParameteriv(Stack* stack, bool pushReturn) { |
| int32_t* params = stack->pop<int32_t*>(); |
| GLenum pname = stack->pop<GLenum>(); |
| uint32_t sampler = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetSamplerParameteriv(%" PRIu32 ", %u, %p)\n", sampler, pname, params); |
| if (glGetSamplerParameteriv != nullptr) { |
| glGetSamplerParameteriv(sampler, pname, params); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetSamplerParameteriv returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetSamplerParameteriv\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetSamplerParameteriv\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetTexLevelParameterfv(Stack* stack, bool pushReturn) { |
| float* params = stack->pop<float*>(); |
| GLenum pname = stack->pop<GLenum>(); |
| int32_t level = stack->pop<int32_t>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetTexLevelParameterfv(%u, %" PRId32 ", %u, %p)\n", target, level, pname, |
| params); |
| if (glGetTexLevelParameterfv != nullptr) { |
| glGetTexLevelParameterfv(target, level, pname, params); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetTexLevelParameterfv returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetTexLevelParameterfv\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetTexLevelParameterfv\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetTexLevelParameteriv(Stack* stack, bool pushReturn) { |
| int32_t* params = stack->pop<int32_t*>(); |
| GLenum pname = stack->pop<GLenum>(); |
| int32_t level = stack->pop<int32_t>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetTexLevelParameteriv(%u, %" PRId32 ", %u, %p)\n", target, level, pname, |
| params); |
| if (glGetTexLevelParameteriv != nullptr) { |
| glGetTexLevelParameteriv(target, level, pname, params); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetTexLevelParameteriv returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetTexLevelParameteriv\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetTexLevelParameteriv\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetTexParameterfv(Stack* stack, bool pushReturn) { |
| float* values = stack->pop<float*>(); |
| GLenum parameter = stack->pop<GLenum>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetTexParameterfv(%u, %u, %p)\n", target, parameter, values); |
| if (glGetTexParameterfv != nullptr) { |
| glGetTexParameterfv(target, parameter, values); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetTexParameterfv returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetTexParameterfv\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetTexParameterfv\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetTexParameteriv(Stack* stack, bool pushReturn) { |
| int32_t* values = stack->pop<int32_t*>(); |
| GLenum parameter = stack->pop<GLenum>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetTexParameteriv(%u, %u, %p)\n", target, parameter, values); |
| if (glGetTexParameteriv != nullptr) { |
| glGetTexParameteriv(target, parameter, values); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetTexParameteriv returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetTexParameteriv\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetTexParameteriv\n"); |
| return false; |
| } |
| } |
| |
| bool callGlIsSampler(Stack* stack, bool pushReturn) { |
| uint32_t sampler = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glIsSampler(%" PRIu32 ")\n", sampler); |
| if (glIsSampler != nullptr) { |
| uint8_t return_value = glIsSampler(sampler); |
| GAPID_INFO("Returned: %" PRIu8 "\n", return_value); |
| if (pushReturn) { |
| stack->push<uint8_t>(return_value); |
| } |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glIsSampler returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glIsSampler\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glIsSampler\n"); |
| return false; |
| } |
| } |
| |
| bool callGlIsTexture(Stack* stack, bool pushReturn) { |
| uint32_t texture = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glIsTexture(%" PRIu32 ")\n", texture); |
| if (glIsTexture != nullptr) { |
| uint8_t return_value = glIsTexture(texture); |
| GAPID_INFO("Returned: %" PRIu8 "\n", return_value); |
| if (pushReturn) { |
| stack->push<uint8_t>(return_value); |
| } |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glIsTexture returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glIsTexture\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glIsTexture\n"); |
| return false; |
| } |
| } |
| |
| bool callGlPixelStorei(Stack* stack, bool pushReturn) { |
| int32_t value = stack->pop<int32_t>(); |
| GLenum parameter = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glPixelStorei(%u, %" PRId32 ")\n", parameter, value); |
| if (glPixelStorei != nullptr) { |
| glPixelStorei(parameter, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glPixelStorei returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glPixelStorei\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glPixelStorei\n"); |
| return false; |
| } |
| } |
| |
| bool callGlSamplerParameterf(Stack* stack, bool pushReturn) { |
| float param = stack->pop<float>(); |
| GLenum pname = stack->pop<GLenum>(); |
| uint32_t sampler = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glSamplerParameterf(%" PRIu32 ", %u, %f)\n", sampler, pname, param); |
| if (glSamplerParameterf != nullptr) { |
| glSamplerParameterf(sampler, pname, param); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glSamplerParameterf returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glSamplerParameterf\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glSamplerParameterf\n"); |
| return false; |
| } |
| } |
| |
| bool callGlSamplerParameterfv(Stack* stack, bool pushReturn) { |
| float* param = stack->pop<float*>(); |
| GLenum pname = stack->pop<GLenum>(); |
| uint32_t sampler = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glSamplerParameterfv(%" PRIu32 ", %u, %p)\n", sampler, pname, param); |
| if (glSamplerParameterfv != nullptr) { |
| glSamplerParameterfv(sampler, pname, param); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glSamplerParameterfv returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glSamplerParameterfv\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glSamplerParameterfv\n"); |
| return false; |
| } |
| } |
| |
| bool callGlSamplerParameteri(Stack* stack, bool pushReturn) { |
| int32_t param = stack->pop<int32_t>(); |
| GLenum pname = stack->pop<GLenum>(); |
| uint32_t sampler = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glSamplerParameteri(%" PRIu32 ", %u, %" PRId32 ")\n", sampler, pname, param); |
| if (glSamplerParameteri != nullptr) { |
| glSamplerParameteri(sampler, pname, param); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glSamplerParameteri returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glSamplerParameteri\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glSamplerParameteri\n"); |
| return false; |
| } |
| } |
| |
| bool callGlSamplerParameteriv(Stack* stack, bool pushReturn) { |
| int32_t* param = stack->pop<int32_t*>(); |
| GLenum pname = stack->pop<GLenum>(); |
| uint32_t sampler = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glSamplerParameteriv(%" PRIu32 ", %u, %p)\n", sampler, pname, param); |
| if (glSamplerParameteriv != nullptr) { |
| glSamplerParameteriv(sampler, pname, param); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glSamplerParameteriv returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glSamplerParameteriv\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glSamplerParameteriv\n"); |
| return false; |
| } |
| } |
| |
| bool callGlTexImage2D(Stack* stack, bool pushReturn) { |
| void* data = stack->pop<void*>(); |
| GLenum type = stack->pop<GLenum>(); |
| GLenum format = stack->pop<GLenum>(); |
| int32_t border = stack->pop<int32_t>(); |
| int32_t height = stack->pop<int32_t>(); |
| int32_t width = stack->pop<int32_t>(); |
| int32_t internal_format = stack->pop<int32_t>(); |
| int32_t level = stack->pop<int32_t>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glTexImage2D(%u, %" PRId32 ", %" PRId32 ", %" PRId32 ", %" PRId32 ", %" PRId32 |
| ", %u, %u, %p)\n", |
| target, level, internal_format, width, height, border, format, type, data); |
| if (glTexImage2D != nullptr) { |
| glTexImage2D(target, level, internal_format, width, height, border, format, type, data); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glTexImage2D returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glTexImage2D\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glTexImage2D\n"); |
| return false; |
| } |
| } |
| |
| bool callGlTexImage3D(Stack* stack, bool pushReturn) { |
| void* pixels = stack->pop<void*>(); |
| GLenum type = stack->pop<GLenum>(); |
| GLenum format = stack->pop<GLenum>(); |
| int32_t border = stack->pop<int32_t>(); |
| int32_t depth = stack->pop<int32_t>(); |
| int32_t height = stack->pop<int32_t>(); |
| int32_t width = stack->pop<int32_t>(); |
| int32_t internalformat = stack->pop<int32_t>(); |
| int32_t level = stack->pop<int32_t>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glTexImage3D(%u, %" PRId32 ", %" PRId32 ", %" PRId32 ", %" PRId32 ", %" PRId32 |
| ", %" PRId32 ", %u, %u, %p)\n", |
| target, level, internalformat, width, height, depth, border, format, type, |
| pixels); |
| if (glTexImage3D != nullptr) { |
| glTexImage3D(target, level, internalformat, width, height, depth, border, format, type, |
| pixels); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glTexImage3D returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glTexImage3D\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glTexImage3D\n"); |
| return false; |
| } |
| } |
| |
| bool callGlTexParameterf(Stack* stack, bool pushReturn) { |
| float value = stack->pop<float>(); |
| GLenum parameter = stack->pop<GLenum>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glTexParameterf(%u, %u, %f)\n", target, parameter, value); |
| if (glTexParameterf != nullptr) { |
| glTexParameterf(target, parameter, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glTexParameterf returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glTexParameterf\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glTexParameterf\n"); |
| return false; |
| } |
| } |
| |
| bool callGlTexParameterfv(Stack* stack, bool pushReturn) { |
| float* params = stack->pop<float*>(); |
| GLenum pname = stack->pop<GLenum>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glTexParameterfv(%u, %u, %p)\n", target, pname, params); |
| if (glTexParameterfv != nullptr) { |
| glTexParameterfv(target, pname, params); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glTexParameterfv returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glTexParameterfv\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glTexParameterfv\n"); |
| return false; |
| } |
| } |
| |
| bool callGlTexParameteri(Stack* stack, bool pushReturn) { |
| int32_t value = stack->pop<int32_t>(); |
| GLenum parameter = stack->pop<GLenum>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glTexParameteri(%u, %u, %" PRId32 ")\n", target, parameter, value); |
| if (glTexParameteri != nullptr) { |
| glTexParameteri(target, parameter, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glTexParameteri returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glTexParameteri\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glTexParameteri\n"); |
| return false; |
| } |
| } |
| |
| bool callGlTexParameteriv(Stack* stack, bool pushReturn) { |
| int32_t* params = stack->pop<int32_t*>(); |
| GLenum pname = stack->pop<GLenum>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glTexParameteriv(%u, %u, %p)\n", target, pname, params); |
| if (glTexParameteriv != nullptr) { |
| glTexParameteriv(target, pname, params); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glTexParameteriv returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glTexParameteriv\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glTexParameteriv\n"); |
| return false; |
| } |
| } |
| |
| bool callGlTexStorage2D(Stack* stack, bool pushReturn) { |
| int32_t height = stack->pop<int32_t>(); |
| int32_t width = stack->pop<int32_t>(); |
| GLenum internalformat = stack->pop<GLenum>(); |
| int32_t levels = stack->pop<int32_t>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glTexStorage2D(%u, %" PRId32 ", %u, %" PRId32 ", %" PRId32 ")\n", target, |
| levels, internalformat, width, height); |
| if (glTexStorage2D != nullptr) { |
| glTexStorage2D(target, levels, internalformat, width, height); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glTexStorage2D returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glTexStorage2D\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glTexStorage2D\n"); |
| return false; |
| } |
| } |
| |
| bool callGlTexStorage2DMultisample(Stack* stack, bool pushReturn) { |
| uint8_t fixedsamplelocations = stack->pop<uint8_t>(); |
| int32_t height = stack->pop<int32_t>(); |
| int32_t width = stack->pop<int32_t>(); |
| GLenum internalformat = stack->pop<GLenum>(); |
| int32_t samples = stack->pop<int32_t>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glTexStorage2DMultisample(%u, %" PRId32 ", %u, %" PRId32 ", %" PRId32 |
| ", %" PRIu8 ")\n", |
| target, samples, internalformat, width, height, fixedsamplelocations); |
| if (glTexStorage2DMultisample != nullptr) { |
| glTexStorage2DMultisample(target, samples, internalformat, width, height, |
| fixedsamplelocations); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glTexStorage2DMultisample returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glTexStorage2DMultisample\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glTexStorage2DMultisample\n"); |
| return false; |
| } |
| } |
| |
| bool callGlTexStorage3D(Stack* stack, bool pushReturn) { |
| int32_t depth = stack->pop<int32_t>(); |
| int32_t height = stack->pop<int32_t>(); |
| int32_t width = stack->pop<int32_t>(); |
| GLenum internalformat = stack->pop<GLenum>(); |
| int32_t levels = stack->pop<int32_t>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glTexStorage3D(%u, %" PRId32 ", %u, %" PRId32 ", %" PRId32 ", %" PRId32 ")\n", |
| target, levels, internalformat, width, height, depth); |
| if (glTexStorage3D != nullptr) { |
| glTexStorage3D(target, levels, internalformat, width, height, depth); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glTexStorage3D returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glTexStorage3D\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glTexStorage3D\n"); |
| return false; |
| } |
| } |
| |
| bool callGlTexSubImage2D(Stack* stack, bool pushReturn) { |
| void* data = stack->pop<void*>(); |
| GLenum type = stack->pop<GLenum>(); |
| GLenum format = stack->pop<GLenum>(); |
| int32_t height = stack->pop<int32_t>(); |
| int32_t width = stack->pop<int32_t>(); |
| int32_t yoffset = stack->pop<int32_t>(); |
| int32_t xoffset = stack->pop<int32_t>(); |
| int32_t level = stack->pop<int32_t>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glTexSubImage2D(%u, %" PRId32 ", %" PRId32 ", %" PRId32 ", %" PRId32 |
| ", %" PRId32 ", %u, %u, %p)\n", |
| target, level, xoffset, yoffset, width, height, format, type, data); |
| if (glTexSubImage2D != nullptr) { |
| glTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, data); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glTexSubImage2D returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glTexSubImage2D\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glTexSubImage2D\n"); |
| return false; |
| } |
| } |
| |
| bool callGlTexSubImage3D(Stack* stack, bool pushReturn) { |
| void* pixels = stack->pop<void*>(); |
| GLenum type = stack->pop<GLenum>(); |
| GLenum format = stack->pop<GLenum>(); |
| int32_t depth = stack->pop<int32_t>(); |
| int32_t height = stack->pop<int32_t>(); |
| int32_t width = stack->pop<int32_t>(); |
| int32_t zoffset = stack->pop<int32_t>(); |
| int32_t yoffset = stack->pop<int32_t>(); |
| int32_t xoffset = stack->pop<int32_t>(); |
| int32_t level = stack->pop<int32_t>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| 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); |
| if (glTexSubImage3D != nullptr) { |
| glTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, |
| type, pixels); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glTexSubImage3D returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glTexSubImage3D\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glTexSubImage3D\n"); |
| return false; |
| } |
| } |
| |
| bool callGlBeginTransformFeedback(Stack* stack, bool pushReturn) { |
| GLenum primitiveMode = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glBeginTransformFeedback(%u)\n", primitiveMode); |
| if (glBeginTransformFeedback != nullptr) { |
| glBeginTransformFeedback(primitiveMode); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glBeginTransformFeedback returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glBeginTransformFeedback\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glBeginTransformFeedback\n"); |
| return false; |
| } |
| } |
| |
| bool callGlBindTransformFeedback(Stack* stack, bool pushReturn) { |
| uint32_t id = stack->pop<uint32_t>(); |
| GLenum target = stack->pop<GLenum>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glBindTransformFeedback(%u, %" PRIu32 ")\n", target, id); |
| if (glBindTransformFeedback != nullptr) { |
| glBindTransformFeedback(target, id); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glBindTransformFeedback returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glBindTransformFeedback\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glBindTransformFeedback\n"); |
| return false; |
| } |
| } |
| |
| bool callGlDeleteTransformFeedbacks(Stack* stack, bool pushReturn) { |
| uint32_t* ids = stack->pop<uint32_t*>(); |
| int32_t n = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glDeleteTransformFeedbacks(%" PRId32 ", %p)\n", n, ids); |
| if (glDeleteTransformFeedbacks != nullptr) { |
| glDeleteTransformFeedbacks(n, ids); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glDeleteTransformFeedbacks returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glDeleteTransformFeedbacks\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glDeleteTransformFeedbacks\n"); |
| return false; |
| } |
| } |
| |
| bool callGlEndTransformFeedback(Stack* stack, bool pushReturn) { |
| if (stack->isValid()) { |
| GAPID_INFO("glEndTransformFeedback()\n"); |
| if (glEndTransformFeedback != nullptr) { |
| glEndTransformFeedback(); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glEndTransformFeedback returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glEndTransformFeedback\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glEndTransformFeedback\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGenTransformFeedbacks(Stack* stack, bool pushReturn) { |
| uint32_t* ids = stack->pop<uint32_t*>(); |
| int32_t n = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGenTransformFeedbacks(%" PRId32 ", %p)\n", n, ids); |
| if (glGenTransformFeedbacks != nullptr) { |
| glGenTransformFeedbacks(n, ids); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGenTransformFeedbacks returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGenTransformFeedbacks\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGenTransformFeedbacks\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetTransformFeedbackVarying(Stack* stack, bool pushReturn) { |
| char* name = stack->pop<char*>(); |
| GLenum* type = stack->pop<GLenum*>(); |
| int32_t* size = stack->pop<int32_t*>(); |
| int32_t* length = stack->pop<int32_t*>(); |
| int32_t bufSize = stack->pop<int32_t>(); |
| uint32_t index = stack->pop<uint32_t>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetTransformFeedbackVarying(%" PRIu32 ", %" PRIu32 ", %" PRId32 |
| ", %p, %p, %p, %p)\n", |
| program, index, bufSize, length, size, type, name); |
| if (glGetTransformFeedbackVarying != nullptr) { |
| glGetTransformFeedbackVarying(program, index, bufSize, length, size, type, name); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetTransformFeedbackVarying returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetTransformFeedbackVarying\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetTransformFeedbackVarying\n"); |
| return false; |
| } |
| } |
| |
| bool callGlIsTransformFeedback(Stack* stack, bool pushReturn) { |
| uint32_t id = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glIsTransformFeedback(%" PRIu32 ")\n", id); |
| if (glIsTransformFeedback != nullptr) { |
| uint8_t return_value = glIsTransformFeedback(id); |
| GAPID_INFO("Returned: %" PRIu8 "\n", return_value); |
| if (pushReturn) { |
| stack->push<uint8_t>(return_value); |
| } |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glIsTransformFeedback returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glIsTransformFeedback\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glIsTransformFeedback\n"); |
| return false; |
| } |
| } |
| |
| bool callGlPauseTransformFeedback(Stack* stack, bool pushReturn) { |
| if (stack->isValid()) { |
| GAPID_INFO("glPauseTransformFeedback()\n"); |
| if (glPauseTransformFeedback != nullptr) { |
| glPauseTransformFeedback(); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glPauseTransformFeedback returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glPauseTransformFeedback\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glPauseTransformFeedback\n"); |
| return false; |
| } |
| } |
| |
| bool callGlResumeTransformFeedback(Stack* stack, bool pushReturn) { |
| if (stack->isValid()) { |
| GAPID_INFO("glResumeTransformFeedback()\n"); |
| if (glResumeTransformFeedback != nullptr) { |
| glResumeTransformFeedback(); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glResumeTransformFeedback returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glResumeTransformFeedback\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glResumeTransformFeedback\n"); |
| return false; |
| } |
| } |
| |
| bool callGlTransformFeedbackVaryings(Stack* stack, bool pushReturn) { |
| GLenum bufferMode = stack->pop<GLenum>(); |
| char** varyings = stack->pop<char**>(); |
| int32_t count = stack->pop<int32_t>(); |
| uint32_t program = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glTransformFeedbackVaryings(%" PRIu32 ", %" PRId32 ", %p, %u)\n", program, |
| count, varyings, bufferMode); |
| if (glTransformFeedbackVaryings != nullptr) { |
| glTransformFeedbackVaryings(program, count, varyings, bufferMode); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glTransformFeedbackVaryings returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glTransformFeedbackVaryings\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glTransformFeedbackVaryings\n"); |
| return false; |
| } |
| } |
| |
| bool callGlBindVertexArray(Stack* stack, bool pushReturn) { |
| uint32_t array = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glBindVertexArray(%" PRIu32 ")\n", array); |
| if (glBindVertexArray != nullptr) { |
| glBindVertexArray(array); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glBindVertexArray returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glBindVertexArray\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glBindVertexArray\n"); |
| return false; |
| } |
| } |
| |
| bool callGlBindVertexBuffer(Stack* stack, bool pushReturn) { |
| int32_t stride = stack->pop<int32_t>(); |
| int32_t offset = stack->pop<int32_t>(); |
| uint32_t buffer = stack->pop<uint32_t>(); |
| uint32_t bindingindex = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glBindVertexBuffer(%" PRIu32 ", %" PRIu32 ", %" PRId32 ", %" PRId32 ")\n", |
| bindingindex, buffer, offset, stride); |
| if (glBindVertexBuffer != nullptr) { |
| glBindVertexBuffer(bindingindex, buffer, offset, stride); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glBindVertexBuffer returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glBindVertexBuffer\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glBindVertexBuffer\n"); |
| return false; |
| } |
| } |
| |
| bool callGlDeleteVertexArrays(Stack* stack, bool pushReturn) { |
| uint32_t* arrays = stack->pop<uint32_t*>(); |
| int32_t count = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glDeleteVertexArrays(%" PRId32 ", %p)\n", count, arrays); |
| if (glDeleteVertexArrays != nullptr) { |
| glDeleteVertexArrays(count, arrays); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glDeleteVertexArrays returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glDeleteVertexArrays\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glDeleteVertexArrays\n"); |
| return false; |
| } |
| } |
| |
| bool callGlDisableVertexAttribArray(Stack* stack, bool pushReturn) { |
| uint32_t location = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glDisableVertexAttribArray(%" PRIu32 ")\n", location); |
| if (glDisableVertexAttribArray != nullptr) { |
| glDisableVertexAttribArray(location); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glDisableVertexAttribArray returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glDisableVertexAttribArray\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glDisableVertexAttribArray\n"); |
| return false; |
| } |
| } |
| |
| bool callGlEnableVertexAttribArray(Stack* stack, bool pushReturn) { |
| uint32_t location = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glEnableVertexAttribArray(%" PRIu32 ")\n", location); |
| if (glEnableVertexAttribArray != nullptr) { |
| glEnableVertexAttribArray(location); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glEnableVertexAttribArray returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glEnableVertexAttribArray\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glEnableVertexAttribArray\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGenVertexArrays(Stack* stack, bool pushReturn) { |
| uint32_t* arrays = stack->pop<uint32_t*>(); |
| int32_t count = stack->pop<int32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGenVertexArrays(%" PRId32 ", %p)\n", count, arrays); |
| if (glGenVertexArrays != nullptr) { |
| glGenVertexArrays(count, arrays); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGenVertexArrays returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGenVertexArrays\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGenVertexArrays\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetVertexAttribIiv(Stack* stack, bool pushReturn) { |
| int32_t* params = stack->pop<int32_t*>(); |
| GLenum pname = stack->pop<GLenum>(); |
| uint32_t index = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetVertexAttribIiv(%" PRIu32 ", %u, %p)\n", index, pname, params); |
| if (glGetVertexAttribIiv != nullptr) { |
| glGetVertexAttribIiv(index, pname, params); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetVertexAttribIiv returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetVertexAttribIiv\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetVertexAttribIiv\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetVertexAttribIuiv(Stack* stack, bool pushReturn) { |
| uint32_t* params = stack->pop<uint32_t*>(); |
| GLenum pname = stack->pop<GLenum>(); |
| uint32_t index = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetVertexAttribIuiv(%" PRIu32 ", %u, %p)\n", index, pname, params); |
| if (glGetVertexAttribIuiv != nullptr) { |
| glGetVertexAttribIuiv(index, pname, params); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetVertexAttribIuiv returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetVertexAttribIuiv\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetVertexAttribIuiv\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetVertexAttribPointerv(Stack* stack, bool pushReturn) { |
| void** pointer = stack->pop<void**>(); |
| GLenum pname = stack->pop<GLenum>(); |
| uint32_t index = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetVertexAttribPointerv(%" PRIu32 ", %u, %p)\n", index, pname, pointer); |
| if (glGetVertexAttribPointerv != nullptr) { |
| glGetVertexAttribPointerv(index, pname, pointer); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetVertexAttribPointerv returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetVertexAttribPointerv\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetVertexAttribPointerv\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetVertexAttribfv(Stack* stack, bool pushReturn) { |
| float* params = stack->pop<float*>(); |
| GLenum pname = stack->pop<GLenum>(); |
| uint32_t index = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetVertexAttribfv(%" PRIu32 ", %u, %p)\n", index, pname, params); |
| if (glGetVertexAttribfv != nullptr) { |
| glGetVertexAttribfv(index, pname, params); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetVertexAttribfv returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetVertexAttribfv\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetVertexAttribfv\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetVertexAttribiv(Stack* stack, bool pushReturn) { |
| int32_t* params = stack->pop<int32_t*>(); |
| GLenum pname = stack->pop<GLenum>(); |
| uint32_t index = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetVertexAttribiv(%" PRIu32 ", %u, %p)\n", index, pname, params); |
| if (glGetVertexAttribiv != nullptr) { |
| glGetVertexAttribiv(index, pname, params); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetVertexAttribiv returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetVertexAttribiv\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetVertexAttribiv\n"); |
| return false; |
| } |
| } |
| |
| bool callGlIsVertexArray(Stack* stack, bool pushReturn) { |
| uint32_t array = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glIsVertexArray(%" PRIu32 ")\n", array); |
| if (glIsVertexArray != nullptr) { |
| uint8_t return_value = glIsVertexArray(array); |
| GAPID_INFO("Returned: %" PRIu8 "\n", return_value); |
| if (pushReturn) { |
| stack->push<uint8_t>(return_value); |
| } |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glIsVertexArray returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glIsVertexArray\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glIsVertexArray\n"); |
| return false; |
| } |
| } |
| |
| bool callGlVertexAttrib1f(Stack* stack, bool pushReturn) { |
| float value0 = stack->pop<float>(); |
| uint32_t location = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glVertexAttrib1f(%" PRIu32 ", %f)\n", location, value0); |
| if (glVertexAttrib1f != nullptr) { |
| glVertexAttrib1f(location, value0); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glVertexAttrib1f returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glVertexAttrib1f\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glVertexAttrib1f\n"); |
| return false; |
| } |
| } |
| |
| bool callGlVertexAttrib1fv(Stack* stack, bool pushReturn) { |
| float* value = stack->pop<float*>(); |
| uint32_t location = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glVertexAttrib1fv(%" PRIu32 ", %p)\n", location, value); |
| if (glVertexAttrib1fv != nullptr) { |
| glVertexAttrib1fv(location, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glVertexAttrib1fv returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glVertexAttrib1fv\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glVertexAttrib1fv\n"); |
| return false; |
| } |
| } |
| |
| bool callGlVertexAttrib2f(Stack* stack, bool pushReturn) { |
| float value1 = stack->pop<float>(); |
| float value0 = stack->pop<float>(); |
| uint32_t location = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glVertexAttrib2f(%" PRIu32 ", %f, %f)\n", location, value0, value1); |
| if (glVertexAttrib2f != nullptr) { |
| glVertexAttrib2f(location, value0, value1); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glVertexAttrib2f returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glVertexAttrib2f\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glVertexAttrib2f\n"); |
| return false; |
| } |
| } |
| |
| bool callGlVertexAttrib2fv(Stack* stack, bool pushReturn) { |
| float* value = stack->pop<float*>(); |
| uint32_t location = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glVertexAttrib2fv(%" PRIu32 ", %p)\n", location, value); |
| if (glVertexAttrib2fv != nullptr) { |
| glVertexAttrib2fv(location, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glVertexAttrib2fv returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glVertexAttrib2fv\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glVertexAttrib2fv\n"); |
| return false; |
| } |
| } |
| |
| bool callGlVertexAttrib3f(Stack* stack, bool pushReturn) { |
| float value2 = stack->pop<float>(); |
| float value1 = stack->pop<float>(); |
| float value0 = stack->pop<float>(); |
| uint32_t location = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glVertexAttrib3f(%" PRIu32 ", %f, %f, %f)\n", location, value0, value1, value2); |
| if (glVertexAttrib3f != nullptr) { |
| glVertexAttrib3f(location, value0, value1, value2); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glVertexAttrib3f returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glVertexAttrib3f\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glVertexAttrib3f\n"); |
| return false; |
| } |
| } |
| |
| bool callGlVertexAttrib3fv(Stack* stack, bool pushReturn) { |
| float* value = stack->pop<float*>(); |
| uint32_t location = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glVertexAttrib3fv(%" PRIu32 ", %p)\n", location, value); |
| if (glVertexAttrib3fv != nullptr) { |
| glVertexAttrib3fv(location, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glVertexAttrib3fv returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glVertexAttrib3fv\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glVertexAttrib3fv\n"); |
| return false; |
| } |
| } |
| |
| bool callGlVertexAttrib4f(Stack* stack, bool pushReturn) { |
| float value3 = stack->pop<float>(); |
| float value2 = stack->pop<float>(); |
| float value1 = stack->pop<float>(); |
| float value0 = stack->pop<float>(); |
| uint32_t location = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glVertexAttrib4f(%" PRIu32 ", %f, %f, %f, %f)\n", location, value0, value1, |
| value2, value3); |
| if (glVertexAttrib4f != nullptr) { |
| glVertexAttrib4f(location, value0, value1, value2, value3); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glVertexAttrib4f returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glVertexAttrib4f\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glVertexAttrib4f\n"); |
| return false; |
| } |
| } |
| |
| bool callGlVertexAttrib4fv(Stack* stack, bool pushReturn) { |
| float* value = stack->pop<float*>(); |
| uint32_t location = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glVertexAttrib4fv(%" PRIu32 ", %p)\n", location, value); |
| if (glVertexAttrib4fv != nullptr) { |
| glVertexAttrib4fv(location, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glVertexAttrib4fv returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glVertexAttrib4fv\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glVertexAttrib4fv\n"); |
| return false; |
| } |
| } |
| |
| bool callGlVertexAttribBinding(Stack* stack, bool pushReturn) { |
| uint32_t bindingindex = stack->pop<uint32_t>(); |
| uint32_t attribindex = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glVertexAttribBinding(%" PRIu32 ", %" PRIu32 ")\n", attribindex, bindingindex); |
| if (glVertexAttribBinding != nullptr) { |
| glVertexAttribBinding(attribindex, bindingindex); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glVertexAttribBinding returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glVertexAttribBinding\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glVertexAttribBinding\n"); |
| return false; |
| } |
| } |
| |
| bool callGlVertexAttribDivisor(Stack* stack, bool pushReturn) { |
| uint32_t divisor = stack->pop<uint32_t>(); |
| uint32_t index = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glVertexAttribDivisor(%" PRIu32 ", %" PRIu32 ")\n", index, divisor); |
| if (glVertexAttribDivisor != nullptr) { |
| glVertexAttribDivisor(index, divisor); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glVertexAttribDivisor returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glVertexAttribDivisor\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glVertexAttribDivisor\n"); |
| return false; |
| } |
| } |
| |
| bool callGlVertexAttribFormat(Stack* stack, bool pushReturn) { |
| uint32_t relativeoffset = stack->pop<uint32_t>(); |
| uint8_t normalized = stack->pop<uint8_t>(); |
| GLenum type = stack->pop<GLenum>(); |
| int32_t size = stack->pop<int32_t>(); |
| uint32_t attribindex = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glVertexAttribFormat(%" PRIu32 ", %" PRId32 ", %u, %" PRIu8 ", %" PRIu32 ")\n", |
| attribindex, size, type, normalized, relativeoffset); |
| if (glVertexAttribFormat != nullptr) { |
| glVertexAttribFormat(attribindex, size, type, normalized, relativeoffset); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glVertexAttribFormat returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glVertexAttribFormat\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glVertexAttribFormat\n"); |
| return false; |
| } |
| } |
| |
| bool callGlVertexAttribI4i(Stack* stack, bool pushReturn) { |
| int32_t w = stack->pop<int32_t>(); |
| int32_t z = stack->pop<int32_t>(); |
| int32_t y = stack->pop<int32_t>(); |
| int32_t x = stack->pop<int32_t>(); |
| uint32_t index = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glVertexAttribI4i(%" PRIu32 ", %" PRId32 ", %" PRId32 ", %" PRId32 ", %" PRId32 |
| ")\n", |
| index, x, y, z, w); |
| if (glVertexAttribI4i != nullptr) { |
| glVertexAttribI4i(index, x, y, z, w); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glVertexAttribI4i returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glVertexAttribI4i\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glVertexAttribI4i\n"); |
| return false; |
| } |
| } |
| |
| bool callGlVertexAttribI4iv(Stack* stack, bool pushReturn) { |
| int32_t* v = stack->pop<int32_t*>(); |
| uint32_t index = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glVertexAttribI4iv(%" PRIu32 ", %p)\n", index, v); |
| if (glVertexAttribI4iv != nullptr) { |
| glVertexAttribI4iv(index, v); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glVertexAttribI4iv returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glVertexAttribI4iv\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glVertexAttribI4iv\n"); |
| return false; |
| } |
| } |
| |
| bool callGlVertexAttribI4ui(Stack* stack, bool pushReturn) { |
| uint32_t w = stack->pop<uint32_t>(); |
| uint32_t z = stack->pop<uint32_t>(); |
| uint32_t y = stack->pop<uint32_t>(); |
| uint32_t x = stack->pop<uint32_t>(); |
| uint32_t index = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glVertexAttribI4ui(%" PRIu32 ", %" PRIu32 ", %" PRIu32 ", %" PRIu32 ", %" PRIu32 |
| ")\n", |
| index, x, y, z, w); |
| if (glVertexAttribI4ui != nullptr) { |
| glVertexAttribI4ui(index, x, y, z, w); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glVertexAttribI4ui returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glVertexAttribI4ui\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glVertexAttribI4ui\n"); |
| return false; |
| } |
| } |
| |
| bool callGlVertexAttribI4uiv(Stack* stack, bool pushReturn) { |
| uint32_t* v = stack->pop<uint32_t*>(); |
| uint32_t index = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glVertexAttribI4uiv(%" PRIu32 ", %p)\n", index, v); |
| if (glVertexAttribI4uiv != nullptr) { |
| glVertexAttribI4uiv(index, v); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glVertexAttribI4uiv returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glVertexAttribI4uiv\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glVertexAttribI4uiv\n"); |
| return false; |
| } |
| } |
| |
| bool callGlVertexAttribIFormat(Stack* stack, bool pushReturn) { |
| uint32_t relativeoffset = stack->pop<uint32_t>(); |
| GLenum type = stack->pop<GLenum>(); |
| int32_t size = stack->pop<int32_t>(); |
| uint32_t attribindex = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glVertexAttribIFormat(%" PRIu32 ", %" PRId32 ", %u, %" PRIu32 ")\n", |
| attribindex, size, type, relativeoffset); |
| if (glVertexAttribIFormat != nullptr) { |
| glVertexAttribIFormat(attribindex, size, type, relativeoffset); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glVertexAttribIFormat returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glVertexAttribIFormat\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glVertexAttribIFormat\n"); |
| return false; |
| } |
| } |
| |
| bool callGlVertexAttribIPointer(Stack* stack, bool pushReturn) { |
| void* pointer = stack->pop<void*>(); |
| int32_t stride = stack->pop<int32_t>(); |
| GLenum type = stack->pop<GLenum>(); |
| int32_t size = stack->pop<int32_t>(); |
| uint32_t index = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glVertexAttribIPointer(%" PRIu32 ", %" PRId32 ", %u, %" PRId32 ", %p)\n", index, |
| size, type, stride, pointer); |
| if (glVertexAttribIPointer != nullptr) { |
| glVertexAttribIPointer(index, size, type, stride, pointer); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glVertexAttribIPointer returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glVertexAttribIPointer\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glVertexAttribIPointer\n"); |
| return false; |
| } |
| } |
| |
| bool callGlVertexAttribPointer(Stack* stack, bool pushReturn) { |
| void* data = stack->pop<void*>(); |
| int32_t stride = stack->pop<int32_t>(); |
| uint8_t normalized = stack->pop<uint8_t>(); |
| GLenum type = stack->pop<GLenum>(); |
| int32_t size = stack->pop<int32_t>(); |
| uint32_t location = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glVertexAttribPointer(%" PRIu32 ", %" PRId32 ", %u, %" PRIu8 ", %" PRId32 |
| ", %p)\n", |
| location, size, type, normalized, stride, data); |
| if (glVertexAttribPointer != nullptr) { |
| glVertexAttribPointer(location, size, type, normalized, stride, data); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glVertexAttribPointer returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glVertexAttribPointer\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glVertexAttribPointer\n"); |
| return false; |
| } |
| } |
| |
| bool callGlVertexBindingDivisor(Stack* stack, bool pushReturn) { |
| uint32_t divisor = stack->pop<uint32_t>(); |
| uint32_t bindingindex = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glVertexBindingDivisor(%" PRIu32 ", %" PRIu32 ")\n", bindingindex, divisor); |
| if (glVertexBindingDivisor != nullptr) { |
| glVertexBindingDivisor(bindingindex, divisor); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glVertexBindingDivisor returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glVertexBindingDivisor\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glVertexBindingDivisor\n"); |
| return false; |
| } |
| } |
| |
| bool callEglInitialize(Stack* stack, bool pushReturn) { |
| int* minor = stack->pop<int*>(); |
| int* major = stack->pop<int*>(); |
| void* dpy = stack->pop<void*>(); |
| if (stack->isValid()) { |
| GAPID_INFO("eglInitialize(%p, %p, %p)\n", dpy, major, minor); |
| if (eglInitialize != nullptr) { |
| int return_value = eglInitialize(dpy, major, minor); |
| GAPID_INFO("Returned: %d\n", return_value); |
| if (pushReturn) { |
| stack->push<int>(return_value); |
| } |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("eglInitialize returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function eglInitialize\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function eglInitialize\n"); |
| return false; |
| } |
| } |
| |
| bool callEglCreateContext(Stack* stack, bool pushReturn) { |
| int* attrib_list = stack->pop<int*>(); |
| void* share_context = stack->pop<void*>(); |
| void* config = stack->pop<void*>(); |
| void* display = stack->pop<void*>(); |
| if (stack->isValid()) { |
| GAPID_INFO("eglCreateContext(%p, %p, %p, %p)\n", display, config, share_context, |
| attrib_list); |
| if (eglCreateContext != nullptr) { |
| void* return_value = eglCreateContext(display, config, share_context, attrib_list); |
| GAPID_INFO("Returned: %p\n", return_value); |
| if (pushReturn) { |
| stack->push<void*>(return_value); |
| } |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("eglCreateContext returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function eglCreateContext\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function eglCreateContext\n"); |
| return false; |
| } |
| } |
| |
| bool callEglMakeCurrent(Stack* stack, bool pushReturn) { |
| void* context = stack->pop<void*>(); |
| void* read = stack->pop<void*>(); |
| void* draw = stack->pop<void*>(); |
| void* display = stack->pop<void*>(); |
| if (stack->isValid()) { |
| GAPID_INFO("eglMakeCurrent(%p, %p, %p, %p)\n", display, draw, read, context); |
| if (eglMakeCurrent != nullptr) { |
| int return_value = eglMakeCurrent(display, draw, read, context); |
| GAPID_INFO("Returned: %d\n", return_value); |
| if (pushReturn) { |
| stack->push<int>(return_value); |
| } |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("eglMakeCurrent returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function eglMakeCurrent\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function eglMakeCurrent\n"); |
| return false; |
| } |
| } |
| |
| bool callEglSwapBuffers(Stack* stack, bool pushReturn) { |
| void* surface = stack->pop<void*>(); |
| void* display = stack->pop<void*>(); |
| if (stack->isValid()) { |
| GAPID_INFO("eglSwapBuffers(%p, %p)\n", display, surface); |
| if (eglSwapBuffers != nullptr) { |
| int return_value = eglSwapBuffers(display, surface); |
| GAPID_INFO("Returned: %d\n", return_value); |
| if (pushReturn) { |
| stack->push<int>(return_value); |
| } |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("eglSwapBuffers returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function eglSwapBuffers\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function eglSwapBuffers\n"); |
| return false; |
| } |
| } |
| |
| bool callEglQuerySurface(Stack* stack, bool pushReturn) { |
| int* value = stack->pop<int*>(); |
| int attribute = stack->pop<int>(); |
| void* surface = stack->pop<void*>(); |
| void* display = stack->pop<void*>(); |
| if (stack->isValid()) { |
| GAPID_INFO("eglQuerySurface(%p, %p, %d, %p)\n", display, surface, attribute, value); |
| if (eglQuerySurface != nullptr) { |
| int return_value = eglQuerySurface(display, surface, attribute, value); |
| GAPID_INFO("Returned: %d\n", return_value); |
| if (pushReturn) { |
| stack->push<int>(return_value); |
| } |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("eglQuerySurface returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function eglQuerySurface\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function eglQuerySurface\n"); |
| return false; |
| } |
| } |
| |
| bool callGlXCreateContext(Stack* stack, bool pushReturn) { |
| bool direct = stack->pop<bool>(); |
| void* shareList = stack->pop<void*>(); |
| void* vis = stack->pop<void*>(); |
| void* dpy = stack->pop<void*>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glXCreateContext(%p, %p, %p, %d)\n", dpy, vis, shareList, direct); |
| if (glXCreateContext != nullptr) { |
| void* return_value = glXCreateContext(dpy, vis, shareList, direct); |
| GAPID_INFO("Returned: %p\n", return_value); |
| if (pushReturn) { |
| stack->push<void*>(return_value); |
| } |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glXCreateContext returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glXCreateContext\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glXCreateContext\n"); |
| return false; |
| } |
| } |
| |
| bool callGlXCreateNewContext(Stack* stack, bool pushReturn) { |
| bool direct = stack->pop<bool>(); |
| void* shared = stack->pop<void*>(); |
| uint32_t type = stack->pop<uint32_t>(); |
| void* fbconfig = stack->pop<void*>(); |
| void* display = stack->pop<void*>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glXCreateNewContext(%p, %p, %" PRIu32 ", %p, %d)\n", display, fbconfig, type, |
| shared, direct); |
| if (glXCreateNewContext != nullptr) { |
| void* return_value = glXCreateNewContext(display, fbconfig, type, shared, direct); |
| GAPID_INFO("Returned: %p\n", return_value); |
| if (pushReturn) { |
| stack->push<void*>(return_value); |
| } |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glXCreateNewContext returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glXCreateNewContext\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glXCreateNewContext\n"); |
| return false; |
| } |
| } |
| |
| bool callGlXMakeContextCurrent(Stack* stack, bool pushReturn) { |
| void* ctx = stack->pop<void*>(); |
| void* read = stack->pop<void*>(); |
| void* draw = stack->pop<void*>(); |
| void* display = stack->pop<void*>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glXMakeContextCurrent(%p, %p, %p, %p)\n", display, draw, read, ctx); |
| if (glXMakeContextCurrent != nullptr) { |
| int return_value = glXMakeContextCurrent(display, draw, read, ctx); |
| GAPID_INFO("Returned: %d\n", return_value); |
| if (pushReturn) { |
| stack->push<int>(return_value); |
| } |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glXMakeContextCurrent returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glXMakeContextCurrent\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glXMakeContextCurrent\n"); |
| return false; |
| } |
| } |
| |
| bool callGlXMakeCurrent(Stack* stack, bool pushReturn) { |
| void* ctx = stack->pop<void*>(); |
| void* drawable = stack->pop<void*>(); |
| void* display = stack->pop<void*>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glXMakeCurrent(%p, %p, %p)\n", display, drawable, ctx); |
| if (glXMakeCurrent != nullptr) { |
| int return_value = glXMakeCurrent(display, drawable, ctx); |
| GAPID_INFO("Returned: %d\n", return_value); |
| if (pushReturn) { |
| stack->push<int>(return_value); |
| } |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glXMakeCurrent returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glXMakeCurrent\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glXMakeCurrent\n"); |
| return false; |
| } |
| } |
| |
| bool callGlXSwapBuffers(Stack* stack, bool pushReturn) { |
| void* drawable = stack->pop<void*>(); |
| void* display = stack->pop<void*>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glXSwapBuffers(%p, %p)\n", display, drawable); |
| if (glXSwapBuffers != nullptr) { |
| glXSwapBuffers(display, drawable); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glXSwapBuffers returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glXSwapBuffers\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glXSwapBuffers\n"); |
| return false; |
| } |
| } |
| |
| bool callGlXQueryDrawable(Stack* stack, bool pushReturn) { |
| int* value = stack->pop<int*>(); |
| int attribute = stack->pop<int>(); |
| void* draw = stack->pop<void*>(); |
| void* display = stack->pop<void*>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glXQueryDrawable(%p, %p, %d, %p)\n", display, draw, attribute, value); |
| if (glXQueryDrawable != nullptr) { |
| int return_value = glXQueryDrawable(display, draw, attribute, value); |
| GAPID_INFO("Returned: %d\n", return_value); |
| if (pushReturn) { |
| stack->push<int>(return_value); |
| } |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glXQueryDrawable returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glXQueryDrawable\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glXQueryDrawable\n"); |
| return false; |
| } |
| } |
| |
| bool callWglCreateContext(Stack* stack, bool pushReturn) { |
| void* hdc = stack->pop<void*>(); |
| if (stack->isValid()) { |
| GAPID_INFO("wglCreateContext(%p)\n", hdc); |
| if (wglCreateContext != nullptr) { |
| void* return_value = wglCreateContext(hdc); |
| GAPID_INFO("Returned: %p\n", return_value); |
| if (pushReturn) { |
| stack->push<void*>(return_value); |
| } |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("wglCreateContext returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function wglCreateContext\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function wglCreateContext\n"); |
| return false; |
| } |
| } |
| |
| bool callWglCreateContextAttribsARB(Stack* stack, bool pushReturn) { |
| int* attribList = stack->pop<int*>(); |
| void* hShareContext = stack->pop<void*>(); |
| void* hdc = stack->pop<void*>(); |
| if (stack->isValid()) { |
| GAPID_INFO("wglCreateContextAttribsARB(%p, %p, %p)\n", hdc, hShareContext, attribList); |
| if (wglCreateContextAttribsARB != nullptr) { |
| void* return_value = wglCreateContextAttribsARB(hdc, hShareContext, attribList); |
| GAPID_INFO("Returned: %p\n", return_value); |
| if (pushReturn) { |
| stack->push<void*>(return_value); |
| } |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("wglCreateContextAttribsARB returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function wglCreateContextAttribsARB\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function wglCreateContextAttribsARB\n"); |
| return false; |
| } |
| } |
| |
| bool callWglMakeCurrent(Stack* stack, bool pushReturn) { |
| void* hglrc = stack->pop<void*>(); |
| void* hdc = stack->pop<void*>(); |
| if (stack->isValid()) { |
| GAPID_INFO("wglMakeCurrent(%p, %p)\n", hdc, hglrc); |
| if (wglMakeCurrent != nullptr) { |
| int return_value = wglMakeCurrent(hdc, hglrc); |
| GAPID_INFO("Returned: %d\n", return_value); |
| if (pushReturn) { |
| stack->push<int>(return_value); |
| } |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("wglMakeCurrent returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function wglMakeCurrent\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function wglMakeCurrent\n"); |
| return false; |
| } |
| } |
| |
| bool callWglSwapBuffers(Stack* stack, bool pushReturn) { |
| void* hdc = stack->pop<void*>(); |
| if (stack->isValid()) { |
| GAPID_INFO("wglSwapBuffers(%p)\n", hdc); |
| if (wglSwapBuffers != nullptr) { |
| wglSwapBuffers(hdc); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("wglSwapBuffers returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function wglSwapBuffers\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function wglSwapBuffers\n"); |
| return false; |
| } |
| } |
| |
| bool callCGLCreateContext(Stack* stack, bool pushReturn) { |
| void** ctx = stack->pop<void**>(); |
| void* share = stack->pop<void*>(); |
| void* pix = stack->pop<void*>(); |
| if (stack->isValid()) { |
| GAPID_INFO("CGLCreateContext(%p, %p, %p)\n", pix, share, ctx); |
| if (CGLCreateContext != nullptr) { |
| int return_value = CGLCreateContext(pix, share, ctx); |
| GAPID_INFO("Returned: %d\n", return_value); |
| if (pushReturn) { |
| stack->push<int>(return_value); |
| } |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("CGLCreateContext returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function CGLCreateContext\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function CGLCreateContext\n"); |
| return false; |
| } |
| } |
| |
| bool callCGLSetCurrentContext(Stack* stack, bool pushReturn) { |
| void* ctx = stack->pop<void*>(); |
| if (stack->isValid()) { |
| GAPID_INFO("CGLSetCurrentContext(%p)\n", ctx); |
| if (CGLSetCurrentContext != nullptr) { |
| int return_value = CGLSetCurrentContext(ctx); |
| GAPID_INFO("Returned: %d\n", return_value); |
| if (pushReturn) { |
| stack->push<int>(return_value); |
| } |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("CGLSetCurrentContext returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function CGLSetCurrentContext\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function CGLSetCurrentContext\n"); |
| return false; |
| } |
| } |
| |
| bool callCGLGetSurface(Stack* stack, bool pushReturn) { |
| int32_t* sid = stack->pop<int32_t*>(); |
| int32_t* wid = stack->pop<int32_t*>(); |
| void** cid = stack->pop<void**>(); |
| void* ctx = stack->pop<void*>(); |
| if (stack->isValid()) { |
| GAPID_INFO("CGLGetSurface(%p, %p, %p, %p)\n", ctx, cid, wid, sid); |
| if (CGLGetSurface != nullptr) { |
| int return_value = CGLGetSurface(ctx, cid, wid, sid); |
| GAPID_INFO("Returned: %d\n", return_value); |
| if (pushReturn) { |
| stack->push<int>(return_value); |
| } |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("CGLGetSurface returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function CGLGetSurface\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function CGLGetSurface\n"); |
| return false; |
| } |
| } |
| |
| bool callCGSGetSurfaceBounds(Stack* stack, bool pushReturn) { |
| double* bounds = stack->pop<double*>(); |
| int32_t sid = stack->pop<int32_t>(); |
| int32_t wid = stack->pop<int32_t>(); |
| void* cid = stack->pop<void*>(); |
| if (stack->isValid()) { |
| GAPID_INFO("CGSGetSurfaceBounds(%p, %" PRId32 ", %" PRId32 ", %p)\n", cid, wid, sid, |
| bounds); |
| if (CGSGetSurfaceBounds != nullptr) { |
| int return_value = CGSGetSurfaceBounds(cid, wid, sid, bounds); |
| GAPID_INFO("Returned: %d\n", return_value); |
| if (pushReturn) { |
| stack->push<int>(return_value); |
| } |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("CGSGetSurfaceBounds returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function CGSGetSurfaceBounds\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function CGSGetSurfaceBounds\n"); |
| return false; |
| } |
| } |
| |
| bool callCGLFlushDrawable(Stack* stack, bool pushReturn) { |
| void* ctx = stack->pop<void*>(); |
| if (stack->isValid()) { |
| GAPID_INFO("CGLFlushDrawable(%p)\n", ctx); |
| if (CGLFlushDrawable != nullptr) { |
| int return_value = CGLFlushDrawable(ctx); |
| GAPID_INFO("Returned: %d\n", return_value); |
| if (pushReturn) { |
| stack->push<int>(return_value); |
| } |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("CGLFlushDrawable returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function CGLFlushDrawable\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function CGLFlushDrawable\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetQueryObjecti64v(Stack* stack, bool pushReturn) { |
| int64_t* value = stack->pop<int64_t*>(); |
| GLenum parameter = stack->pop<GLenum>(); |
| uint32_t query = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetQueryObjecti64v(%" PRIu32 ", %u, %p)\n", query, parameter, value); |
| if (glGetQueryObjecti64v != nullptr) { |
| glGetQueryObjecti64v(query, parameter, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetQueryObjecti64v returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetQueryObjecti64v\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetQueryObjecti64v\n"); |
| return false; |
| } |
| } |
| |
| bool callGlGetQueryObjectui64v(Stack* stack, bool pushReturn) { |
| uint64_t* value = stack->pop<uint64_t*>(); |
| GLenum parameter = stack->pop<GLenum>(); |
| uint32_t query = stack->pop<uint32_t>(); |
| if (stack->isValid()) { |
| GAPID_INFO("glGetQueryObjectui64v(%" PRIu32 ", %u, %p)\n", query, parameter, value); |
| if (glGetQueryObjectui64v != nullptr) { |
| glGetQueryObjectui64v(query, parameter, value); |
| const GLenum err = glGetError(); |
| if (err != GLenum::GL_NO_ERROR) { |
| GAPID_WARNING("glGetQueryObjectui64v returned error: 0x%x\n", err); |
| } |
| } else { |
| GAPID_WARNING("Attempted to call unsupported function glGetQueryObjectui64v\n"); |
| } |
| return true; |
| } else { |
| GAPID_WARNING("Error during calling function glGetQueryObjectui64v\n"); |
| return false; |
| } |
| } |
| |
| } // end of anonymous namespace |
| |
| PFNGLBLENDBARRIERKHR glBlendBarrierKHR = nullptr; |
| PFNGLBLENDEQUATIONSEPARATEIEXT glBlendEquationSeparateiEXT = nullptr; |
| PFNGLBLENDEQUATIONIEXT glBlendEquationiEXT = nullptr; |
| PFNGLBLENDFUNCSEPARATEIEXT glBlendFuncSeparateiEXT = nullptr; |
| PFNGLBLENDFUNCIEXT glBlendFunciEXT = nullptr; |
| PFNGLCOLORMASKIEXT glColorMaskiEXT = nullptr; |
| PFNGLCOPYIMAGESUBDATAEXT glCopyImageSubDataEXT = nullptr; |
| PFNGLDEBUGMESSAGECALLBACKKHR glDebugMessageCallbackKHR = nullptr; |
| PFNGLDEBUGMESSAGECONTROLKHR glDebugMessageControlKHR = nullptr; |
| PFNGLDEBUGMESSAGEINSERTKHR glDebugMessageInsertKHR = nullptr; |
| PFNGLDISABLEIEXT glDisableiEXT = nullptr; |
| PFNGLENABLEIEXT glEnableiEXT = nullptr; |
| PFNGLFRAMEBUFFERTEXTUREEXT glFramebufferTextureEXT = nullptr; |
| PFNGLGETDEBUGMESSAGELOGKHR glGetDebugMessageLogKHR = nullptr; |
| PFNGLGETOBJECTLABELKHR glGetObjectLabelKHR = nullptr; |
| PFNGLGETOBJECTPTRLABELKHR glGetObjectPtrLabelKHR = nullptr; |
| PFNGLGETPOINTERVKHR glGetPointervKHR = nullptr; |
| PFNGLGETSAMPLERPARAMETERIIVEXT glGetSamplerParameterIivEXT = nullptr; |
| PFNGLGETSAMPLERPARAMETERIUIVEXT glGetSamplerParameterIuivEXT = nullptr; |
| PFNGLGETTEXPARAMETERIIVEXT glGetTexParameterIivEXT = nullptr; |
| PFNGLGETTEXPARAMETERIUIVEXT glGetTexParameterIuivEXT = nullptr; |
| PFNGLISENABLEDIEXT glIsEnablediEXT = nullptr; |
| PFNGLMINSAMPLESHADINGOES glMinSampleShadingOES = nullptr; |
| PFNGLOBJECTLABELKHR glObjectLabelKHR = nullptr; |
| PFNGLOBJECTPTRLABELKHR glObjectPtrLabelKHR = nullptr; |
| PFNGLPATCHPARAMETERIEXT glPatchParameteriEXT = nullptr; |
| PFNGLPOPDEBUGGROUPKHR glPopDebugGroupKHR = nullptr; |
| PFNGLPRIMITIVEBOUNDINGBOXEXT glPrimitiveBoundingBoxEXT = nullptr; |
| PFNGLPUSHDEBUGGROUPKHR glPushDebugGroupKHR = nullptr; |
| PFNGLSAMPLERPARAMETERIIVEXT glSamplerParameterIivEXT = nullptr; |
| PFNGLSAMPLERPARAMETERIUIVEXT glSamplerParameterIuivEXT = nullptr; |
| PFNGLTEXBUFFEREXT glTexBufferEXT = nullptr; |
| PFNGLTEXBUFFERRANGEEXT glTexBufferRangeEXT = nullptr; |
| PFNGLTEXPARAMETERIIVEXT glTexParameterIivEXT = nullptr; |
| PFNGLTEXPARAMETERIUIVEXT glTexParameterIuivEXT = nullptr; |
| PFNGLTEXSTORAGE3DMULTISAMPLEOES glTexStorage3DMultisampleOES = nullptr; |
| PFNGLBEGINQUERY glBeginQuery = nullptr; |
| PFNGLDELETEQUERIES glDeleteQueries = nullptr; |
| PFNGLENDQUERY glEndQuery = nullptr; |
| PFNGLGENQUERIES glGenQueries = nullptr; |
| PFNGLGETQUERYOBJECTUIV glGetQueryObjectuiv = nullptr; |
| PFNGLGETQUERYIV glGetQueryiv = nullptr; |
| PFNGLISQUERY glIsQuery = nullptr; |
| PFNGLBINDBUFFER glBindBuffer = nullptr; |
| PFNGLBINDBUFFERBASE glBindBufferBase = nullptr; |
| PFNGLBINDBUFFERRANGE glBindBufferRange = nullptr; |
| PFNGLBUFFERDATA glBufferData = nullptr; |
| PFNGLBUFFERSUBDATA glBufferSubData = nullptr; |
| PFNGLCOPYBUFFERSUBDATA glCopyBufferSubData = nullptr; |
| PFNGLDELETEBUFFERS glDeleteBuffers = nullptr; |
| PFNGLGENBUFFERS glGenBuffers = nullptr; |
| PFNGLGETBUFFERPARAMETERI64V glGetBufferParameteri64v = nullptr; |
| PFNGLGETBUFFERPARAMETERIV glGetBufferParameteriv = nullptr; |
| PFNGLGETBUFFERPOINTERV glGetBufferPointerv = nullptr; |
| PFNGLISBUFFER glIsBuffer = nullptr; |
| PFNGLMAPBUFFERRANGE glMapBufferRange = nullptr; |
| PFNGLUNMAPBUFFER glUnmapBuffer = nullptr; |
| PFNGLDRAWARRAYS glDrawArrays = nullptr; |
| PFNGLDRAWARRAYSINDIRECT glDrawArraysIndirect = nullptr; |
| PFNGLDRAWARRAYSINSTANCED glDrawArraysInstanced = nullptr; |
| PFNGLDRAWBUFFERS glDrawBuffers = nullptr; |
| PFNGLDRAWELEMENTS glDrawElements = nullptr; |
| PFNGLDRAWELEMENTSINDIRECT glDrawElementsIndirect = nullptr; |
| PFNGLDRAWELEMENTSINSTANCED glDrawElementsInstanced = nullptr; |
| PFNGLDRAWRANGEELEMENTS glDrawRangeElements = nullptr; |
| PFNGLACTIVESHADERPROGRAMEXT glActiveShaderProgramEXT = nullptr; |
| PFNGLALPHAFUNCQCOM glAlphaFuncQCOM = nullptr; |
| PFNGLBEGINCONDITIONALRENDERNV glBeginConditionalRenderNV = nullptr; |
| PFNGLBEGINPERFMONITORAMD glBeginPerfMonitorAMD = nullptr; |
| PFNGLBEGINPERFQUERYINTEL glBeginPerfQueryINTEL = nullptr; |
| PFNGLBEGINQUERYEXT glBeginQueryEXT = nullptr; |
| PFNGLBINDPROGRAMPIPELINEEXT glBindProgramPipelineEXT = nullptr; |
| PFNGLBINDVERTEXARRAYOES glBindVertexArrayOES = nullptr; |
| PFNGLBLENDBARRIERNV glBlendBarrierNV = nullptr; |
| PFNGLBLENDEQUATIONSEPARATEIOES glBlendEquationSeparateiOES = nullptr; |
| PFNGLBLENDEQUATIONIOES glBlendEquationiOES = nullptr; |
| PFNGLBLENDFUNCSEPARATEIOES glBlendFuncSeparateiOES = nullptr; |
| PFNGLBLENDFUNCIOES glBlendFunciOES = nullptr; |
| PFNGLBLENDPARAMETERINV glBlendParameteriNV = nullptr; |
| PFNGLBLITFRAMEBUFFERANGLE glBlitFramebufferANGLE = nullptr; |
| PFNGLBLITFRAMEBUFFERNV glBlitFramebufferNV = nullptr; |
| PFNGLBUFFERSTORAGEEXT glBufferStorageEXT = nullptr; |
| PFNGLCLIENTWAITSYNCAPPLE glClientWaitSyncAPPLE = nullptr; |
| PFNGLCOLORMASKIOES glColorMaskiOES = nullptr; |
| PFNGLCOMPRESSEDTEXIMAGE3DOES glCompressedTexImage3DOES = nullptr; |
| PFNGLCOMPRESSEDTEXSUBIMAGE3DOES glCompressedTexSubImage3DOES = nullptr; |
| PFNGLCOPYBUFFERSUBDATANV glCopyBufferSubDataNV = nullptr; |
| PFNGLCOPYIMAGESUBDATAOES glCopyImageSubDataOES = nullptr; |
| PFNGLCOPYPATHNV glCopyPathNV = nullptr; |
| PFNGLCOPYTEXSUBIMAGE3DOES glCopyTexSubImage3DOES = nullptr; |
| PFNGLCOPYTEXTURELEVELSAPPLE glCopyTextureLevelsAPPLE = nullptr; |
| PFNGLCOVERFILLPATHINSTANCEDNV glCoverFillPathInstancedNV = nullptr; |
| PFNGLCOVERFILLPATHNV glCoverFillPathNV = nullptr; |
| PFNGLCOVERSTROKEPATHINSTANCEDNV glCoverStrokePathInstancedNV = nullptr; |
| PFNGLCOVERSTROKEPATHNV glCoverStrokePathNV = nullptr; |
| PFNGLCOVERAGEMASKNV glCoverageMaskNV = nullptr; |
| PFNGLCOVERAGEOPERATIONNV glCoverageOperationNV = nullptr; |
| PFNGLCREATEPERFQUERYINTEL glCreatePerfQueryINTEL = nullptr; |
| PFNGLCREATESHADERPROGRAMVEXT glCreateShaderProgramvEXT = nullptr; |
| PFNGLDELETEFENCESNV glDeleteFencesNV = nullptr; |
| PFNGLDELETEPATHSNV glDeletePathsNV = nullptr; |
| PFNGLDELETEPERFMONITORSAMD glDeletePerfMonitorsAMD = nullptr; |
| PFNGLDELETEPERFQUERYINTEL glDeletePerfQueryINTEL = nullptr; |
| PFNGLDELETEPROGRAMPIPELINESEXT glDeleteProgramPipelinesEXT = nullptr; |
| PFNGLDELETEQUERIESEXT glDeleteQueriesEXT = nullptr; |
| PFNGLDELETESYNCAPPLE glDeleteSyncAPPLE = nullptr; |
| PFNGLDELETEVERTEXARRAYSOES glDeleteVertexArraysOES = nullptr; |
| PFNGLDEPTHRANGEARRAYFVNV glDepthRangeArrayfvNV = nullptr; |
| PFNGLDEPTHRANGEINDEXEDFNV glDepthRangeIndexedfNV = nullptr; |
| PFNGLDISABLEDRIVERCONTROLQCOM glDisableDriverControlQCOM = nullptr; |
| PFNGLDISABLEINV glDisableiNV = nullptr; |
| PFNGLDISABLEIOES glDisableiOES = nullptr; |
| PFNGLDISCARDFRAMEBUFFEREXT glDiscardFramebufferEXT = nullptr; |
| PFNGLDRAWARRAYSINSTANCEDANGLE glDrawArraysInstancedANGLE = nullptr; |
| PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEEXT glDrawArraysInstancedBaseInstanceEXT = nullptr; |
| PFNGLDRAWARRAYSINSTANCEDEXT glDrawArraysInstancedEXT = nullptr; |
| PFNGLDRAWARRAYSINSTANCEDNV glDrawArraysInstancedNV = nullptr; |
| PFNGLDRAWBUFFERSEXT glDrawBuffersEXT = nullptr; |
| PFNGLDRAWBUFFERSINDEXEDEXT glDrawBuffersIndexedEXT = nullptr; |
| PFNGLDRAWBUFFERSNV glDrawBuffersNV = nullptr; |
| PFNGLDRAWELEMENTSBASEVERTEXEXT glDrawElementsBaseVertexEXT = nullptr; |
| PFNGLDRAWELEMENTSBASEVERTEXOES glDrawElementsBaseVertexOES = nullptr; |
| PFNGLDRAWELEMENTSINSTANCEDANGLE glDrawElementsInstancedANGLE = nullptr; |
| PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEEXT glDrawElementsInstancedBaseInstanceEXT = nullptr; |
| PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXEXT glDrawElementsInstancedBaseVertexEXT = nullptr; |
| PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXOES glDrawElementsInstancedBaseVertexOES = nullptr; |
| PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEEXT |
| glDrawElementsInstancedBaseVertexBaseInstanceEXT = nullptr; |
| PFNGLDRAWELEMENTSINSTANCEDEXT glDrawElementsInstancedEXT = nullptr; |
| PFNGLDRAWELEMENTSINSTANCEDNV glDrawElementsInstancedNV = nullptr; |
| PFNGLDRAWRANGEELEMENTSBASEVERTEXEXT glDrawRangeElementsBaseVertexEXT = nullptr; |
| PFNGLDRAWRANGEELEMENTSBASEVERTEXOES glDrawRangeElementsBaseVertexOES = nullptr; |
| PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOES glEGLImageTargetRenderbufferStorageOES = nullptr; |
| PFNGLEGLIMAGETARGETTEXTURE2DOES glEGLImageTargetTexture2DOES = nullptr; |
| PFNGLENABLEDRIVERCONTROLQCOM glEnableDriverControlQCOM = nullptr; |
| PFNGLENABLEINV glEnableiNV = nullptr; |
| PFNGLENABLEIOES glEnableiOES = nullptr; |
| PFNGLENDCONDITIONALRENDERNV glEndConditionalRenderNV = nullptr; |
| PFNGLENDPERFMONITORAMD glEndPerfMonitorAMD = nullptr; |
| PFNGLENDPERFQUERYINTEL glEndPerfQueryINTEL = nullptr; |
| PFNGLENDQUERYEXT glEndQueryEXT = nullptr; |
| PFNGLENDTILINGQCOM glEndTilingQCOM = nullptr; |
| PFNGLEXTGETBUFFERPOINTERVQCOM glExtGetBufferPointervQCOM = nullptr; |
| PFNGLEXTGETBUFFERSQCOM glExtGetBuffersQCOM = nullptr; |
| PFNGLEXTGETFRAMEBUFFERSQCOM glExtGetFramebuffersQCOM = nullptr; |
| PFNGLEXTGETPROGRAMBINARYSOURCEQCOM glExtGetProgramBinarySourceQCOM = nullptr; |
| PFNGLEXTGETPROGRAMSQCOM glExtGetProgramsQCOM = nullptr; |
| PFNGLEXTGETRENDERBUFFERSQCOM glExtGetRenderbuffersQCOM = nullptr; |
| PFNGLEXTGETSHADERSQCOM glExtGetShadersQCOM = nullptr; |
| PFNGLEXTGETTEXLEVELPARAMETERIVQCOM glExtGetTexLevelParameterivQCOM = nullptr; |
| PFNGLEXTGETTEXSUBIMAGEQCOM glExtGetTexSubImageQCOM = nullptr; |
| PFNGLEXTGETTEXTURESQCOM glExtGetTexturesQCOM = nullptr; |
| PFNGLEXTISPROGRAMBINARYQCOM glExtIsProgramBinaryQCOM = nullptr; |
| PFNGLEXTTEXOBJECTSTATEOVERRIDEIQCOM glExtTexObjectStateOverrideiQCOM = nullptr; |
| PFNGLFENCESYNCAPPLE glFenceSyncAPPLE = nullptr; |
| PFNGLFINISHFENCENV glFinishFenceNV = nullptr; |
| PFNGLFLUSHMAPPEDBUFFERRANGEEXT glFlushMappedBufferRangeEXT = nullptr; |
| PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEEXT glFramebufferTexture2DMultisampleEXT = nullptr; |
| PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEIMG glFramebufferTexture2DMultisampleIMG = nullptr; |
| PFNGLFRAMEBUFFERTEXTURE3DOES glFramebufferTexture3DOES = nullptr; |
| PFNGLFRAMEBUFFERTEXTUREOES glFramebufferTextureOES = nullptr; |
| PFNGLFRAMEBUFFERTEXTUREMULTIVIEWOVR glFramebufferTextureMultiviewOVR = nullptr; |
| PFNGLGENFENCESNV glGenFencesNV = nullptr; |
| PFNGLGENPATHSNV glGenPathsNV = nullptr; |
| PFNGLGENPERFMONITORSAMD glGenPerfMonitorsAMD = nullptr; |
| PFNGLGENPROGRAMPIPELINESEXT glGenProgramPipelinesEXT = nullptr; |
| PFNGLGENQUERIESEXT glGenQueriesEXT = nullptr; |
| PFNGLGENVERTEXARRAYSOES glGenVertexArraysOES = nullptr; |
| PFNGLGETBUFFERPOINTERVOES glGetBufferPointervOES = nullptr; |
| PFNGLGETDRIVERCONTROLSTRINGQCOM glGetDriverControlStringQCOM = nullptr; |
| PFNGLGETDRIVERCONTROLSQCOM glGetDriverControlsQCOM = nullptr; |
| PFNGLGETFENCEIVNV glGetFenceivNV = nullptr; |
| PFNGLGETFIRSTPERFQUERYIDINTEL glGetFirstPerfQueryIdINTEL = nullptr; |
| PFNGLGETFLOATI_VNV glGetFloati_vNV = nullptr; |
| PFNGLGETGRAPHICSRESETSTATUSEXT glGetGraphicsResetStatusEXT = nullptr; |
| PFNGLGETGRAPHICSRESETSTATUSKHR glGetGraphicsResetStatusKHR = nullptr; |
| PFNGLGETIMAGEHANDLENV glGetImageHandleNV = nullptr; |
| PFNGLGETINTEGER64VAPPLE glGetInteger64vAPPLE = nullptr; |
| PFNGLGETINTEGERI_VEXT glGetIntegeri_vEXT = nullptr; |
| PFNGLGETINTERNALFORMATSAMPLEIVNV glGetInternalformatSampleivNV = nullptr; |
| PFNGLGETNEXTPERFQUERYIDINTEL glGetNextPerfQueryIdINTEL = nullptr; |
| PFNGLGETOBJECTLABELEXT glGetObjectLabelEXT = nullptr; |
| PFNGLGETPATHCOMMANDSNV glGetPathCommandsNV = nullptr; |
| PFNGLGETPATHCOORDSNV glGetPathCoordsNV = nullptr; |
| PFNGLGETPATHDASHARRAYNV glGetPathDashArrayNV = nullptr; |
| PFNGLGETPATHLENGTHNV glGetPathLengthNV = nullptr; |
| PFNGLGETPATHMETRICRANGENV glGetPathMetricRangeNV = nullptr; |
| PFNGLGETPATHMETRICSNV glGetPathMetricsNV = nullptr; |
| PFNGLGETPATHPARAMETERFVNV glGetPathParameterfvNV = nullptr; |
| PFNGLGETPATHPARAMETERIVNV glGetPathParameterivNV = nullptr; |
| PFNGLGETPATHSPACINGNV glGetPathSpacingNV = nullptr; |
| PFNGLGETPERFCOUNTERINFOINTEL glGetPerfCounterInfoINTEL = nullptr; |
| PFNGLGETPERFMONITORCOUNTERDATAAMD glGetPerfMonitorCounterDataAMD = nullptr; |
| PFNGLGETPERFMONITORCOUNTERINFOAMD glGetPerfMonitorCounterInfoAMD = nullptr; |
| PFNGLGETPERFMONITORCOUNTERSTRINGAMD glGetPerfMonitorCounterStringAMD = nullptr; |
| PFNGLGETPERFMONITORCOUNTERSAMD glGetPerfMonitorCountersAMD = nullptr; |
| PFNGLGETPERFMONITORGROUPSTRINGAMD glGetPerfMonitorGroupStringAMD = nullptr; |
| PFNGLGETPERFMONITORGROUPSAMD glGetPerfMonitorGroupsAMD = nullptr; |
| PFNGLGETPERFQUERYDATAINTEL glGetPerfQueryDataINTEL = nullptr; |
| PFNGLGETPERFQUERYIDBYNAMEINTEL glGetPerfQueryIdByNameINTEL = nullptr; |
| PFNGLGETPERFQUERYINFOINTEL glGetPerfQueryInfoINTEL = nullptr; |
| PFNGLGETPROGRAMBINARYOES glGetProgramBinaryOES = nullptr; |
| PFNGLGETPROGRAMPIPELINEINFOLOGEXT glGetProgramPipelineInfoLogEXT = nullptr; |
| PFNGLGETPROGRAMPIPELINEIVEXT glGetProgramPipelineivEXT = nullptr; |
| PFNGLGETPROGRAMRESOURCEFVNV glGetProgramResourcefvNV = nullptr; |
| PFNGLGETQUERYOBJECTI64VEXT glGetQueryObjecti64vEXT = nullptr; |
| PFNGLGETQUERYOBJECTIVEXT glGetQueryObjectivEXT = nullptr; |
| PFNGLGETQUERYOBJECTUI64VEXT glGetQueryObjectui64vEXT = nullptr; |
| PFNGLGETQUERYOBJECTUIVEXT glGetQueryObjectuivEXT = nullptr; |
| PFNGLGETQUERYIVEXT glGetQueryivEXT = nullptr; |
| PFNGLGETSAMPLERPARAMETERIIVOES glGetSamplerParameterIivOES = nullptr; |
| PFNGLGETSAMPLERPARAMETERIUIVOES glGetSamplerParameterIuivOES = nullptr; |
| PFNGLGETSYNCIVAPPLE glGetSyncivAPPLE = nullptr; |
| PFNGLGETTEXPARAMETERIIVOES glGetTexParameterIivOES = nullptr; |
| PFNGLGETTEXPARAMETERIUIVOES glGetTexParameterIuivOES = nullptr; |
| PFNGLGETTEXTUREHANDLENV glGetTextureHandleNV = nullptr; |
| PFNGLGETTEXTURESAMPLERHANDLENV glGetTextureSamplerHandleNV = nullptr; |
| PFNGLGETTRANSLATEDSHADERSOURCEANGLE glGetTranslatedShaderSourceANGLE = nullptr; |
| PFNGLGETNUNIFORMFVEXT glGetnUniformfvEXT = nullptr; |
| PFNGLGETNUNIFORMFVKHR glGetnUniformfvKHR = nullptr; |
| PFNGLGETNUNIFORMIVEXT glGetnUniformivEXT = nullptr; |
| PFNGLGETNUNIFORMIVKHR glGetnUniformivKHR = nullptr; |
| PFNGLGETNUNIFORMUIVKHR glGetnUniformuivKHR = nullptr; |
| PFNGLINSERTEVENTMARKEREXT glInsertEventMarkerEXT = nullptr; |
| PFNGLINTERPOLATEPATHSNV glInterpolatePathsNV = nullptr; |
| PFNGLISENABLEDIOES glIsEnablediOES = nullptr; |
| PFNGLISENABLEDINV glIsEnablediNV = nullptr; |
| PFNGLISFENCENV glIsFenceNV = nullptr; |
| PFNGLISIMAGEHANDLERESIDENTNV glIsImageHandleResidentNV = nullptr; |
| PFNGLISPATHNV glIsPathNV = nullptr; |
| PFNGLISPOINTINFILLPATHNV glIsPointInFillPathNV = nullptr; |
| PFNGLISPOINTINSTROKEPATHNV glIsPointInStrokePathNV = nullptr; |
| PFNGLISPROGRAMPIPELINEEXT glIsProgramPipelineEXT = nullptr; |
| PFNGLISQUERYEXT glIsQueryEXT = nullptr; |
| PFNGLISSYNCAPPLE glIsSyncAPPLE = nullptr; |
| PFNGLISTEXTUREHANDLERESIDENTNV glIsTextureHandleResidentNV = nullptr; |
| PFNGLISVERTEXARRAYOES glIsVertexArrayOES = nullptr; |
| PFNGLLABELOBJECTEXT glLabelObjectEXT = nullptr; |
| PFNGLMAKEIMAGEHANDLENONRESIDENTNV glMakeImageHandleNonResidentNV = nullptr; |
| PFNGLMAKEIMAGEHANDLERESIDENTNV glMakeImageHandleResidentNV = nullptr; |
| PFNGLMAKETEXTUREHANDLENONRESIDENTNV glMakeTextureHandleNonResidentNV = nullptr; |
| PFNGLMAKETEXTUREHANDLERESIDENTNV glMakeTextureHandleResidentNV = nullptr; |
| PFNGLMAPBUFFEROES glMapBufferOES = nullptr; |
| PFNGLMAPBUFFERRANGEEXT glMapBufferRangeEXT = nullptr; |
| PFNGLMATRIXLOAD3X2FNV glMatrixLoad3x2fNV = nullptr; |
| PFNGLMATRIXLOAD3X3FNV glMatrixLoad3x3fNV = nullptr; |
| PFNGLMATRIXLOADTRANSPOSE3X3FNV glMatrixLoadTranspose3x3fNV = nullptr; |
| PFNGLMATRIXMULT3X2FNV glMatrixMult3x2fNV = nullptr; |
| PFNGLMATRIXMULT3X3FNV glMatrixMult3x3fNV = nullptr; |
| PFNGLMATRIXMULTTRANSPOSE3X3FNV glMatrixMultTranspose3x3fNV = nullptr; |
| PFNGLMULTIDRAWARRAYSEXT glMultiDrawArraysEXT = nullptr; |
| PFNGLMULTIDRAWARRAYSINDIRECTEXT glMultiDrawArraysIndirectEXT = nullptr; |
| PFNGLMULTIDRAWELEMENTSBASEVERTEXEXT glMultiDrawElementsBaseVertexEXT = nullptr; |
| PFNGLMULTIDRAWELEMENTSBASEVERTEXOES glMultiDrawElementsBaseVertexOES = nullptr; |
| PFNGLMULTIDRAWELEMENTSEXT glMultiDrawElementsEXT = nullptr; |
| PFNGLMULTIDRAWELEMENTSINDIRECTEXT glMultiDrawElementsIndirectEXT = nullptr; |
| PFNGLPATCHPARAMETERIOES glPatchParameteriOES = nullptr; |
| PFNGLPATHCOMMANDSNV glPathCommandsNV = nullptr; |
| PFNGLPATHCOORDSNV glPathCoordsNV = nullptr; |
| PFNGLPATHCOVERDEPTHFUNCNV glPathCoverDepthFuncNV = nullptr; |
| PFNGLPATHDASHARRAYNV glPathDashArrayNV = nullptr; |
| PFNGLPATHGLYPHINDEXARRAYNV glPathGlyphIndexArrayNV = nullptr; |
| PFNGLPATHGLYPHINDEXRANGENV glPathGlyphIndexRangeNV = nullptr; |
| PFNGLPATHGLYPHRANGENV glPathGlyphRangeNV = nullptr; |
| PFNGLPATHGLYPHSNV glPathGlyphsNV = nullptr; |
| PFNGLPATHMEMORYGLYPHINDEXARRAYNV glPathMemoryGlyphIndexArrayNV = nullptr; |
| PFNGLPATHPARAMETERFNV glPathParameterfNV = nullptr; |
| PFNGLPATHPARAMETERFVNV glPathParameterfvNV = nullptr; |
| PFNGLPATHPARAMETERINV glPathParameteriNV = nullptr; |
| PFNGLPATHPARAMETERIVNV glPathParameterivNV = nullptr; |
| PFNGLPATHSTENCILDEPTHOFFSETNV glPathStencilDepthOffsetNV = nullptr; |
| PFNGLPATHSTENCILFUNCNV glPathStencilFuncNV = nullptr; |
| PFNGLPATHSTRINGNV glPathStringNV = nullptr; |
| PFNGLPATHSUBCOMMANDSNV glPathSubCommandsNV = nullptr; |
| PFNGLPATHSUBCOORDSNV glPathSubCoordsNV = nullptr; |
| PFNGLPOINTALONGPATHNV glPointAlongPathNV = nullptr; |
| PFNGLPOLYGONMODENV glPolygonModeNV = nullptr; |
| PFNGLPOPGROUPMARKEREXT glPopGroupMarkerEXT = nullptr; |
| PFNGLPRIMITIVEBOUNDINGBOXOES glPrimitiveBoundingBoxOES = nullptr; |
| PFNGLPROGRAMBINARYOES glProgramBinaryOES = nullptr; |
| PFNGLPROGRAMPARAMETERIEXT glProgramParameteriEXT = nullptr; |
| PFNGLPROGRAMPATHFRAGMENTINPUTGENNV glProgramPathFragmentInputGenNV = nullptr; |
| PFNGLPROGRAMUNIFORM1FEXT glProgramUniform1fEXT = nullptr; |
| PFNGLPROGRAMUNIFORM1FVEXT glProgramUniform1fvEXT = nullptr; |
| PFNGLPROGRAMUNIFORM1IEXT glProgramUniform1iEXT = nullptr; |
| PFNGLPROGRAMUNIFORM1IVEXT glProgramUniform1ivEXT = nullptr; |
| PFNGLPROGRAMUNIFORM1UIEXT glProgramUniform1uiEXT = nullptr; |
| PFNGLPROGRAMUNIFORM1UIVEXT glProgramUniform1uivEXT = nullptr; |
| PFNGLPROGRAMUNIFORM2FEXT glProgramUniform2fEXT = nullptr; |
| PFNGLPROGRAMUNIFORM2FVEXT glProgramUniform2fvEXT = nullptr; |
| PFNGLPROGRAMUNIFORM2IEXT glProgramUniform2iEXT = nullptr; |
| PFNGLPROGRAMUNIFORM2IVEXT glProgramUniform2ivEXT = nullptr; |
| PFNGLPROGRAMUNIFORM2UIEXT glProgramUniform2uiEXT = nullptr; |
| PFNGLPROGRAMUNIFORM2UIVEXT glProgramUniform2uivEXT = nullptr; |
| PFNGLPROGRAMUNIFORM3FEXT glProgramUniform3fEXT = nullptr; |
| PFNGLPROGRAMUNIFORM3FVEXT glProgramUniform3fvEXT = nullptr; |
| PFNGLPROGRAMUNIFORM3IEXT glProgramUniform3iEXT = nullptr; |
| PFNGLPROGRAMUNIFORM3IVEXT glProgramUniform3ivEXT = nullptr; |
| PFNGLPROGRAMUNIFORM3UIEXT glProgramUniform3uiEXT = nullptr; |
| PFNGLPROGRAMUNIFORM3UIVEXT glProgramUniform3uivEXT = nullptr; |
| PFNGLPROGRAMUNIFORM4FEXT glProgramUniform4fEXT = nullptr; |
| PFNGLPROGRAMUNIFORM4FVEXT glProgramUniform4fvEXT = nullptr; |
| PFNGLPROGRAMUNIFORM4IEXT glProgramUniform4iEXT = nullptr; |
| PFNGLPROGRAMUNIFORM4IVEXT glProgramUniform4ivEXT = nullptr; |
| PFNGLPROGRAMUNIFORM4UIEXT glProgramUniform4uiEXT = nullptr; |
| PFNGLPROGRAMUNIFORM4UIVEXT glProgramUniform4uivEXT = nullptr; |
| PFNGLPROGRAMUNIFORMHANDLEUI64NV glProgramUniformHandleui64NV = nullptr; |
| PFNGLPROGRAMUNIFORMHANDLEUI64VNV glProgramUniformHandleui64vNV = nullptr; |
| PFNGLPROGRAMUNIFORMMATRIX2FVEXT glProgramUniformMatrix2fvEXT = nullptr; |
| PFNGLPROGRAMUNIFORMMATRIX2X3FVEXT glProgramUniformMatrix2x3fvEXT = nullptr; |
| PFNGLPROGRAMUNIFORMMATRIX2X4FVEXT glProgramUniformMatrix2x4fvEXT = nullptr; |
| PFNGLPROGRAMUNIFORMMATRIX3FVEXT glProgramUniformMatrix3fvEXT = nullptr; |
| PFNGLPROGRAMUNIFORMMATRIX3X2FVEXT glProgramUniformMatrix3x2fvEXT = nullptr; |
| PFNGLPROGRAMUNIFORMMATRIX3X4FVEXT glProgramUniformMatrix3x4fvEXT = nullptr; |
| PFNGLPROGRAMUNIFORMMATRIX4FVEXT glProgramUniformMatrix4fvEXT = nullptr; |
| PFNGLPROGRAMUNIFORMMATRIX4X2FVEXT glProgramUniformMatrix4x2fvEXT = nullptr; |
| PFNGLPROGRAMUNIFORMMATRIX4X3FVEXT glProgramUniformMatrix4x3fvEXT = nullptr; |
| PFNGLPUSHGROUPMARKEREXT glPushGroupMarkerEXT = nullptr; |
| PFNGLQUERYCOUNTEREXT glQueryCounterEXT = nullptr; |
| PFNGLREADBUFFERINDEXEDEXT glReadBufferIndexedEXT = nullptr; |
| PFNGLREADBUFFERNV glReadBufferNV = nullptr; |
| PFNGLREADNPIXELSEXT glReadnPixelsEXT = nullptr; |
| PFNGLREADNPIXELSKHR glReadnPixelsKHR = nullptr; |
| PFNGLRENDERBUFFERSTORAGEMULTISAMPLEANGLE glRenderbufferStorageMultisampleANGLE = nullptr; |
| PFNGLRENDERBUFFERSTORAGEMULTISAMPLEAPPLE glRenderbufferStorageMultisampleAPPLE = nullptr; |
| PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXT glRenderbufferStorageMultisampleEXT = nullptr; |
| PFNGLRENDERBUFFERSTORAGEMULTISAMPLEIMG glRenderbufferStorageMultisampleIMG = nullptr; |
| PFNGLRENDERBUFFERSTORAGEMULTISAMPLENV glRenderbufferStorageMultisampleNV = nullptr; |
| PFNGLRESOLVEMULTISAMPLEFRAMEBUFFERAPPLE glResolveMultisampleFramebufferAPPLE = nullptr; |
| PFNGLSAMPLERPARAMETERIIVOES glSamplerParameterIivOES = nullptr; |
| PFNGLSAMPLERPARAMETERIUIVOES glSamplerParameterIuivOES = nullptr; |
| PFNGLSCISSORARRAYVNV glScissorArrayvNV = nullptr; |
| PFNGLSCISSORINDEXEDNV glScissorIndexedNV = nullptr; |
| PFNGLSCISSORINDEXEDVNV glScissorIndexedvNV = nullptr; |
| PFNGLSELECTPERFMONITORCOUNTERSAMD glSelectPerfMonitorCountersAMD = nullptr; |
| PFNGLSETFENCENV glSetFenceNV = nullptr; |
| PFNGLSTARTTILINGQCOM glStartTilingQCOM = nullptr; |
| PFNGLSTENCILFILLPATHINSTANCEDNV glStencilFillPathInstancedNV = nullptr; |
| PFNGLSTENCILFILLPATHNV glStencilFillPathNV = nullptr; |
| PFNGLSTENCILSTROKEPATHINSTANCEDNV glStencilStrokePathInstancedNV = nullptr; |
| PFNGLSTENCILSTROKEPATHNV glStencilStrokePathNV = nullptr; |
| PFNGLSTENCILTHENCOVERFILLPATHINSTANCEDNV glStencilThenCoverFillPathInstancedNV = nullptr; |
| PFNGLSTENCILTHENCOVERFILLPATHNV glStencilThenCoverFillPathNV = nullptr; |
| PFNGLSTENCILTHENCOVERSTROKEPATHINSTANCEDNV glStencilThenCoverStrokePathInstancedNV = nullptr; |
| PFNGLSTENCILTHENCOVERSTROKEPATHNV glStencilThenCoverStrokePathNV = nullptr; |
| PFNGLTESTFENCENV glTestFenceNV = nullptr; |
| PFNGLTEXBUFFEROES glTexBufferOES = nullptr; |
| PFNGLTEXBUFFERRANGEOES glTexBufferRangeOES = nullptr; |
| PFNGLTEXIMAGE3DOES glTexImage3DOES = nullptr; |
| PFNGLTEXPAGECOMMITMENTARB glTexPageCommitmentARB = nullptr; |
| PFNGLTEXPARAMETERIIVOES glTexParameterIivOES = nullptr; |
| PFNGLTEXPARAMETERIUIVOES glTexParameterIuivOES = nullptr; |
| PFNGLTEXSTORAGE1DEXT glTexStorage1DEXT = nullptr; |
| PFNGLTEXSTORAGE2DEXT glTexStorage2DEXT = nullptr; |
| PFNGLTEXSTORAGE3DEXT glTexStorage3DEXT = nullptr; |
| PFNGLTEXSUBIMAGE3DOES glTexSubImage3DOES = nullptr; |
| PFNGLTEXTURESTORAGE1DEXT glTextureStorage1DEXT = nullptr; |
| PFNGLTEXTURESTORAGE2DEXT glTextureStorage2DEXT = nullptr; |
| PFNGLTEXTURESTORAGE3DEXT glTextureStorage3DEXT = nullptr; |
| PFNGLTEXTUREVIEWEXT glTextureViewEXT = nullptr; |
| PFNGLTEXTUREVIEWOES glTextureViewOES = nullptr; |
| PFNGLTRANSFORMPATHNV glTransformPathNV = nullptr; |
| PFNGLUNIFORMHANDLEUI64NV glUniformHandleui64NV = nullptr; |
| PFNGLUNIFORMHANDLEUI64VNV glUniformHandleui64vNV = nullptr; |
| PFNGLUNIFORMMATRIX2X3FVNV glUniformMatrix2x3fvNV = nullptr; |
| PFNGLUNIFORMMATRIX2X4FVNV glUniformMatrix2x4fvNV = nullptr; |
| PFNGLUNIFORMMATRIX3X2FVNV glUniformMatrix3x2fvNV = nullptr; |
| PFNGLUNIFORMMATRIX3X4FVNV glUniformMatrix3x4fvNV = nullptr; |
| PFNGLUNIFORMMATRIX4X2FVNV glUniformMatrix4x2fvNV = nullptr; |
| PFNGLUNIFORMMATRIX4X3FVNV glUniformMatrix4x3fvNV = nullptr; |
| PFNGLUNMAPBUFFEROES glUnmapBufferOES = nullptr; |
| PFNGLUSEPROGRAMSTAGESEXT glUseProgramStagesEXT = nullptr; |
| PFNGLVALIDATEPROGRAMPIPELINEEXT glValidateProgramPipelineEXT = nullptr; |
| PFNGLVERTEXATTRIBDIVISORANGLE glVertexAttribDivisorANGLE = nullptr; |
| PFNGLVERTEXATTRIBDIVISOREXT glVertexAttribDivisorEXT = nullptr; |
| PFNGLVERTEXATTRIBDIVISORNV glVertexAttribDivisorNV = nullptr; |
| PFNGLVIEWPORTARRAYVNV glViewportArrayvNV = nullptr; |
| PFNGLVIEWPORTINDEXEDFNV glViewportIndexedfNV = nullptr; |
| PFNGLVIEWPORTINDEXEDFVNV glViewportIndexedfvNV = nullptr; |
| PFNGLWAITSYNCAPPLE glWaitSyncAPPLE = nullptr; |
| PFNGLWEIGHTPATHSNV glWeightPathsNV = nullptr; |
| PFNGLCOVERAGEMODULATIONNV glCoverageModulationNV = nullptr; |
| PFNGLCOVERAGEMODULATIONTABLENV glCoverageModulationTableNV = nullptr; |
| PFNGLFRAGMENTCOVERAGECOLORNV glFragmentCoverageColorNV = nullptr; |
| PFNGLFRAMEBUFFERSAMPLELOCATIONSFVNV glFramebufferSampleLocationsfvNV = nullptr; |
| PFNGLGETCOVERAGEMODULATIONTABLENV glGetCoverageModulationTableNV = nullptr; |
| PFNGLNAMEDFRAMEBUFFERSAMPLELOCATIONSFVNV glNamedFramebufferSampleLocationsfvNV = nullptr; |
| PFNGLRASTERSAMPLESEXT glRasterSamplesEXT = nullptr; |
| PFNGLRESOLVEDEPTHVALUESNV glResolveDepthValuesNV = nullptr; |
| PFNGLSUBPIXELPRECISIONBIASNV glSubpixelPrecisionBiasNV = nullptr; |
| PFNGLBLENDCOLOR glBlendColor = nullptr; |
| PFNGLBLENDEQUATION glBlendEquation = nullptr; |
| PFNGLBLENDEQUATIONSEPARATE glBlendEquationSeparate = nullptr; |
| PFNGLBLENDFUNC glBlendFunc = nullptr; |
| PFNGLBLENDFUNCSEPARATE glBlendFuncSeparate = nullptr; |
| PFNGLDEPTHFUNC glDepthFunc = nullptr; |
| PFNGLSAMPLECOVERAGE glSampleCoverage = nullptr; |
| PFNGLSAMPLEMASKI glSampleMaski = nullptr; |
| PFNGLSCISSOR glScissor = nullptr; |
| PFNGLSTENCILFUNC glStencilFunc = nullptr; |
| PFNGLSTENCILFUNCSEPARATE glStencilFuncSeparate = nullptr; |
| PFNGLSTENCILOP glStencilOp = nullptr; |
| PFNGLSTENCILOPSEPARATE glStencilOpSeparate = nullptr; |
| PFNGLBINDFRAMEBUFFER glBindFramebuffer = nullptr; |
| PFNGLBINDRENDERBUFFER glBindRenderbuffer = nullptr; |
| PFNGLBLITFRAMEBUFFER glBlitFramebuffer = nullptr; |
| PFNGLCHECKFRAMEBUFFERSTATUS glCheckFramebufferStatus = nullptr; |
| PFNGLCLEAR glClear = nullptr; |
| PFNGLCLEARBUFFERFI glClearBufferfi = nullptr; |
| PFNGLCLEARBUFFERFV glClearBufferfv = nullptr; |
| PFNGLCLEARBUFFERIV glClearBufferiv = nullptr; |
| PFNGLCLEARBUFFERUIV glClearBufferuiv = nullptr; |
| PFNGLCLEARCOLOR glClearColor = nullptr; |
| PFNGLCLEARDEPTHF glClearDepthf = nullptr; |
| PFNGLCLEARSTENCIL glClearStencil = nullptr; |
| PFNGLCOLORMASK glColorMask = nullptr; |
| PFNGLDELETEFRAMEBUFFERS glDeleteFramebuffers = nullptr; |
| PFNGLDELETERENDERBUFFERS glDeleteRenderbuffers = nullptr; |
| PFNGLDEPTHMASK glDepthMask = nullptr; |
| PFNGLFRAMEBUFFERPARAMETERI glFramebufferParameteri = nullptr; |
| PFNGLFRAMEBUFFERRENDERBUFFER glFramebufferRenderbuffer = nullptr; |
| PFNGLFRAMEBUFFERTEXTURE2D glFramebufferTexture2D = nullptr; |
| PFNGLFRAMEBUFFERTEXTURELAYER glFramebufferTextureLayer = nullptr; |
| PFNGLGENFRAMEBUFFERS glGenFramebuffers = nullptr; |
| PFNGLGENRENDERBUFFERS glGenRenderbuffers = nullptr; |
| PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIV glGetFramebufferAttachmentParameteriv = nullptr; |
| PFNGLGETFRAMEBUFFERPARAMETERIV glGetFramebufferParameteriv = nullptr; |
| PFNGLGETRENDERBUFFERPARAMETERIV glGetRenderbufferParameteriv = nullptr; |
| PFNGLINVALIDATEFRAMEBUFFER glInvalidateFramebuffer = nullptr; |
| PFNGLINVALIDATESUBFRAMEBUFFER glInvalidateSubFramebuffer = nullptr; |
| PFNGLISFRAMEBUFFER glIsFramebuffer = nullptr; |
| PFNGLISRENDERBUFFER glIsRenderbuffer = nullptr; |
| PFNGLREADBUFFER glReadBuffer = nullptr; |
| PFNGLREADPIXELS glReadPixels = nullptr; |
| PFNGLRENDERBUFFERSTORAGE glRenderbufferStorage = nullptr; |
| PFNGLRENDERBUFFERSTORAGEMULTISAMPLE glRenderbufferStorageMultisample = nullptr; |
| PFNGLSTENCILMASK glStencilMask = nullptr; |
| PFNGLSTENCILMASKSEPARATE glStencilMaskSeparate = nullptr; |
| PFNGLDISABLE glDisable = nullptr; |
| PFNGLENABLE glEnable = nullptr; |
| PFNGLFINISH glFinish = nullptr; |
| PFNGLFLUSH glFlush = nullptr; |
| PFNGLFLUSHMAPPEDBUFFERRANGE glFlushMappedBufferRange = nullptr; |
| PFNGLGETERROR glGetError = nullptr; |
| PFNGLHINT glHint = nullptr; |
| PFNGLACTIVESHADERPROGRAM glActiveShaderProgram = nullptr; |
| PFNGLATTACHSHADER glAttachShader = nullptr; |
| PFNGLBINDATTRIBLOCATION glBindAttribLocation = nullptr; |
| PFNGLBINDPROGRAMPIPELINE glBindProgramPipeline = nullptr; |
| PFNGLCOMPILESHADER glCompileShader = nullptr; |
| PFNGLCREATEPROGRAM glCreateProgram = nullptr; |
| PFNGLCREATESHADER glCreateShader = nullptr; |
| PFNGLCREATESHADERPROGRAMV glCreateShaderProgramv = nullptr; |
| PFNGLDELETEPROGRAM glDeleteProgram = nullptr; |
| PFNGLDELETEPROGRAMPIPELINES glDeleteProgramPipelines = nullptr; |
| PFNGLDELETESHADER glDeleteShader = nullptr; |
| PFNGLDETACHSHADER glDetachShader = nullptr; |
| PFNGLDISPATCHCOMPUTE glDispatchCompute = nullptr; |
| PFNGLDISPATCHCOMPUTEINDIRECT glDispatchComputeIndirect = nullptr; |
| PFNGLGENPROGRAMPIPELINES glGenProgramPipelines = nullptr; |
| PFNGLGETACTIVEATTRIB glGetActiveAttrib = nullptr; |
| PFNGLGETACTIVEUNIFORM glGetActiveUniform = nullptr; |
| PFNGLGETACTIVEUNIFORMBLOCKNAME glGetActiveUniformBlockName = nullptr; |
| PFNGLGETACTIVEUNIFORMBLOCKIV glGetActiveUniformBlockiv = nullptr; |
| PFNGLGETACTIVEUNIFORMSIV glGetActiveUniformsiv = nullptr; |
| PFNGLGETATTACHEDSHADERS glGetAttachedShaders = nullptr; |
| PFNGLGETATTRIBLOCATION glGetAttribLocation = nullptr; |
| PFNGLGETFRAGDATALOCATION glGetFragDataLocation = nullptr; |
| PFNGLGETPROGRAMBINARY glGetProgramBinary = nullptr; |
| PFNGLGETPROGRAMINFOLOG glGetProgramInfoLog = nullptr; |
| PFNGLGETPROGRAMINTERFACEIV glGetProgramInterfaceiv = nullptr; |
| PFNGLGETPROGRAMPIPELINEINFOLOG glGetProgramPipelineInfoLog = nullptr; |
| PFNGLGETPROGRAMPIPELINEIV glGetProgramPipelineiv = nullptr; |
| PFNGLGETPROGRAMRESOURCEINDEX glGetProgramResourceIndex = nullptr; |
| PFNGLGETPROGRAMRESOURCELOCATION glGetProgramResourceLocation = nullptr; |
| PFNGLGETPROGRAMRESOURCENAME glGetProgramResourceName = nullptr; |
| PFNGLGETPROGRAMRESOURCEIV glGetProgramResourceiv = nullptr; |
| PFNGLGETPROGRAMIV glGetProgramiv = nullptr; |
| PFNGLGETSHADERINFOLOG glGetShaderInfoLog = nullptr; |
| PFNGLGETSHADERPRECISIONFORMAT glGetShaderPrecisionFormat = nullptr; |
| PFNGLGETSHADERSOURCE glGetShaderSource = nullptr; |
| PFNGLGETSHADERIV glGetShaderiv = nullptr; |
| PFNGLGETUNIFORMBLOCKINDEX glGetUniformBlockIndex = nullptr; |
| PFNGLGETUNIFORMINDICES glGetUniformIndices = nullptr; |
| PFNGLGETUNIFORMLOCATION glGetUniformLocation = nullptr; |
| PFNGLGETUNIFORMFV glGetUniformfv = nullptr; |
| PFNGLGETUNIFORMIV glGetUniformiv = nullptr; |
| PFNGLGETUNIFORMUIV glGetUniformuiv = nullptr; |
| PFNGLISPROGRAM glIsProgram = nullptr; |
| PFNGLISPROGRAMPIPELINE glIsProgramPipeline = nullptr; |
| PFNGLISSHADER glIsShader = nullptr; |
| PFNGLLINKPROGRAM glLinkProgram = nullptr; |
| PFNGLMEMORYBARRIER glMemoryBarrier = nullptr; |
| PFNGLMEMORYBARRIERBYREGION glMemoryBarrierByRegion = nullptr; |
| PFNGLPROGRAMBINARY glProgramBinary = nullptr; |
| PFNGLPROGRAMPARAMETERI glProgramParameteri = nullptr; |
| PFNGLPROGRAMUNIFORM1F glProgramUniform1f = nullptr; |
| PFNGLPROGRAMUNIFORM1FV glProgramUniform1fv = nullptr; |
| PFNGLPROGRAMUNIFORM1I glProgramUniform1i = nullptr; |
| PFNGLPROGRAMUNIFORM1IV glProgramUniform1iv = nullptr; |
| PFNGLPROGRAMUNIFORM1UI glProgramUniform1ui = nullptr; |
| PFNGLPROGRAMUNIFORM1UIV glProgramUniform1uiv = nullptr; |
| PFNGLPROGRAMUNIFORM2F glProgramUniform2f = nullptr; |
| PFNGLPROGRAMUNIFORM2FV glProgramUniform2fv = nullptr; |
| PFNGLPROGRAMUNIFORM2I glProgramUniform2i = nullptr; |
| PFNGLPROGRAMUNIFORM2IV glProgramUniform2iv = nullptr; |
| PFNGLPROGRAMUNIFORM2UI glProgramUniform2ui = nullptr; |
| PFNGLPROGRAMUNIFORM2UIV glProgramUniform2uiv = nullptr; |
| PFNGLPROGRAMUNIFORM3F glProgramUniform3f = nullptr; |
| PFNGLPROGRAMUNIFORM3FV glProgramUniform3fv = nullptr; |
| PFNGLPROGRAMUNIFORM3I glProgramUniform3i = nullptr; |
| PFNGLPROGRAMUNIFORM3IV glProgramUniform3iv = nullptr; |
| PFNGLPROGRAMUNIFORM3UI glProgramUniform3ui = nullptr; |
| PFNGLPROGRAMUNIFORM3UIV glProgramUniform3uiv = nullptr; |
| PFNGLPROGRAMUNIFORM4F glProgramUniform4f = nullptr; |
| PFNGLPROGRAMUNIFORM4FV glProgramUniform4fv = nullptr; |
| PFNGLPROGRAMUNIFORM4I glProgramUniform4i = nullptr; |
| PFNGLPROGRAMUNIFORM4IV glProgramUniform4iv = nullptr; |
| PFNGLPROGRAMUNIFORM4UI glProgramUniform4ui = nullptr; |
| PFNGLPROGRAMUNIFORM4UIV glProgramUniform4uiv = nullptr; |
| PFNGLPROGRAMUNIFORMMATRIX2FV glProgramUniformMatrix2fv = nullptr; |
| PFNGLPROGRAMUNIFORMMATRIX2X3FV glProgramUniformMatrix2x3fv = nullptr; |
| PFNGLPROGRAMUNIFORMMATRIX2X4FV glProgramUniformMatrix2x4fv = nullptr; |
| PFNGLPROGRAMUNIFORMMATRIX3FV glProgramUniformMatrix3fv = nullptr; |
| PFNGLPROGRAMUNIFORMMATRIX3X2FV glProgramUniformMatrix3x2fv = nullptr; |
| PFNGLPROGRAMUNIFORMMATRIX3X4FV glProgramUniformMatrix3x4fv = nullptr; |
| PFNGLPROGRAMUNIFORMMATRIX4FV glProgramUniformMatrix4fv = nullptr; |
| PFNGLPROGRAMUNIFORMMATRIX4X2FV glProgramUniformMatrix4x2fv = nullptr; |
| PFNGLPROGRAMUNIFORMMATRIX4X3FV glProgramUniformMatrix4x3fv = nullptr; |
| PFNGLRELEASESHADERCOMPILER glReleaseShaderCompiler = nullptr; |
| PFNGLSHADERBINARY glShaderBinary = nullptr; |
| PFNGLSHADERSOURCE glShaderSource = nullptr; |
| PFNGLUNIFORM1F glUniform1f = nullptr; |
| PFNGLUNIFORM1FV glUniform1fv = nullptr; |
| PFNGLUNIFORM1I glUniform1i = nullptr; |
| PFNGLUNIFORM1IV glUniform1iv = nullptr; |
| PFNGLUNIFORM1UI glUniform1ui = nullptr; |
| PFNGLUNIFORM1UIV glUniform1uiv = nullptr; |
| PFNGLUNIFORM2F glUniform2f = nullptr; |
| PFNGLUNIFORM2FV glUniform2fv = nullptr; |
| PFNGLUNIFORM2I glUniform2i = nullptr; |
| PFNGLUNIFORM2IV glUniform2iv = nullptr; |
| PFNGLUNIFORM2UI glUniform2ui = nullptr; |
| PFNGLUNIFORM2UIV glUniform2uiv = nullptr; |
| PFNGLUNIFORM3F glUniform3f = nullptr; |
| PFNGLUNIFORM3FV glUniform3fv = nullptr; |
| PFNGLUNIFORM3I glUniform3i = nullptr; |
| PFNGLUNIFORM3IV glUniform3iv = nullptr; |
| PFNGLUNIFORM3UI glUniform3ui = nullptr; |
| PFNGLUNIFORM3UIV glUniform3uiv = nullptr; |
| PFNGLUNIFORM4F glUniform4f = nullptr; |
| PFNGLUNIFORM4FV glUniform4fv = nullptr; |
| PFNGLUNIFORM4I glUniform4i = nullptr; |
| PFNGLUNIFORM4IV glUniform4iv = nullptr; |
| PFNGLUNIFORM4UI glUniform4ui = nullptr; |
| PFNGLUNIFORM4UIV glUniform4uiv = nullptr; |
| PFNGLUNIFORMBLOCKBINDING glUniformBlockBinding = nullptr; |
| PFNGLUNIFORMMATRIX2FV glUniformMatrix2fv = nullptr; |
| PFNGLUNIFORMMATRIX2X3FV glUniformMatrix2x3fv = nullptr; |
| PFNGLUNIFORMMATRIX2X4FV glUniformMatrix2x4fv = nullptr; |
| PFNGLUNIFORMMATRIX3FV glUniformMatrix3fv = nullptr; |
| PFNGLUNIFORMMATRIX3X2FV glUniformMatrix3x2fv = nullptr; |
| PFNGLUNIFORMMATRIX3X4FV glUniformMatrix3x4fv = nullptr; |
| PFNGLUNIFORMMATRIX4FV glUniformMatrix4fv = nullptr; |
| PFNGLUNIFORMMATRIX4X2FV glUniformMatrix4x2fv = nullptr; |
| PFNGLUNIFORMMATRIX4X3FV glUniformMatrix4x3fv = nullptr; |
| PFNGLUSEPROGRAM glUseProgram = nullptr; |
| PFNGLUSEPROGRAMSTAGES glUseProgramStages = nullptr; |
| PFNGLVALIDATEPROGRAM glValidateProgram = nullptr; |
| PFNGLVALIDATEPROGRAMPIPELINE glValidateProgramPipeline = nullptr; |
| PFNGLCULLFACE glCullFace = nullptr; |
| PFNGLDEPTHRANGEF glDepthRangef = nullptr; |
| PFNGLFRONTFACE glFrontFace = nullptr; |
| PFNGLGETMULTISAMPLEFV glGetMultisamplefv = nullptr; |
| PFNGLLINEWIDTH glLineWidth = nullptr; |
| PFNGLPOLYGONOFFSET glPolygonOffset = nullptr; |
| PFNGLVIEWPORT glViewport = nullptr; |
| PFNGLGETBOOLEANI_V glGetBooleani_v = nullptr; |
| PFNGLGETBOOLEANV glGetBooleanv = nullptr; |
| PFNGLGETFLOATV glGetFloatv = nullptr; |
| PFNGLGETINTEGER64I_V glGetInteger64i_v = nullptr; |
| PFNGLGETINTEGER64V glGetInteger64v = nullptr; |
| PFNGLGETINTEGERI_V glGetIntegeri_v = nullptr; |
| PFNGLGETINTEGERV glGetIntegerv = nullptr; |
| PFNGLGETINTERNALFORMATIV glGetInternalformativ = nullptr; |
| PFNGLGETSTRING glGetString = nullptr; |
| PFNGLGETSTRINGI glGetStringi = nullptr; |
| PFNGLISENABLED glIsEnabled = nullptr; |
| PFNGLCLIENTWAITSYNC glClientWaitSync = nullptr; |
| PFNGLDELETESYNC glDeleteSync = nullptr; |
| PFNGLFENCESYNC glFenceSync = nullptr; |
| PFNGLGETSYNCIV glGetSynciv = nullptr; |
| PFNGLISSYNC glIsSync = nullptr; |
| PFNGLWAITSYNC glWaitSync = nullptr; |
| PFNGLACTIVETEXTURE glActiveTexture = nullptr; |
| PFNGLBINDIMAGETEXTURE glBindImageTexture = nullptr; |
| PFNGLBINDSAMPLER glBindSampler = nullptr; |
| PFNGLBINDTEXTURE glBindTexture = nullptr; |
| PFNGLCOMPRESSEDTEXIMAGE2D glCompressedTexImage2D = nullptr; |
| PFNGLCOMPRESSEDTEXIMAGE3D glCompressedTexImage3D = nullptr; |
| PFNGLCOMPRESSEDTEXSUBIMAGE2D glCompressedTexSubImage2D = nullptr; |
| PFNGLCOMPRESSEDTEXSUBIMAGE3D glCompressedTexSubImage3D = nullptr; |
| PFNGLCOPYTEXIMAGE2D glCopyTexImage2D = nullptr; |
| PFNGLCOPYTEXSUBIMAGE2D glCopyTexSubImage2D = nullptr; |
| PFNGLCOPYTEXSUBIMAGE3D glCopyTexSubImage3D = nullptr; |
| PFNGLDELETESAMPLERS glDeleteSamplers = nullptr; |
| PFNGLDELETETEXTURES glDeleteTextures = nullptr; |
| PFNGLGENSAMPLERS glGenSamplers = nullptr; |
| PFNGLGENTEXTURES glGenTextures = nullptr; |
| PFNGLGENERATEMIPMAP glGenerateMipmap = nullptr; |
| PFNGLGETSAMPLERPARAMETERFV glGetSamplerParameterfv = nullptr; |
| PFNGLGETSAMPLERPARAMETERIV glGetSamplerParameteriv = nullptr; |
| PFNGLGETTEXLEVELPARAMETERFV glGetTexLevelParameterfv = nullptr; |
| PFNGLGETTEXLEVELPARAMETERIV glGetTexLevelParameteriv = nullptr; |
| PFNGLGETTEXPARAMETERFV glGetTexParameterfv = nullptr; |
| PFNGLGETTEXPARAMETERIV glGetTexParameteriv = nullptr; |
| PFNGLISSAMPLER glIsSampler = nullptr; |
| PFNGLISTEXTURE glIsTexture = nullptr; |
| PFNGLPIXELSTOREI glPixelStorei = nullptr; |
| PFNGLSAMPLERPARAMETERF glSamplerParameterf = nullptr; |
| PFNGLSAMPLERPARAMETERFV glSamplerParameterfv = nullptr; |
| PFNGLSAMPLERPARAMETERI glSamplerParameteri = nullptr; |
| PFNGLSAMPLERPARAMETERIV glSamplerParameteriv = nullptr; |
| PFNGLTEXIMAGE2D glTexImage2D = nullptr; |
| PFNGLTEXIMAGE3D glTexImage3D = nullptr; |
| PFNGLTEXPARAMETERF glTexParameterf = nullptr; |
| PFNGLTEXPARAMETERFV glTexParameterfv = nullptr; |
| PFNGLTEXPARAMETERI glTexParameteri = nullptr; |
| PFNGLTEXPARAMETERIV glTexParameteriv = nullptr; |
| PFNGLTEXSTORAGE2D glTexStorage2D = nullptr; |
| PFNGLTEXSTORAGE2DMULTISAMPLE glTexStorage2DMultisample = nullptr; |
| PFNGLTEXSTORAGE3D glTexStorage3D = nullptr; |
| PFNGLTEXSUBIMAGE2D glTexSubImage2D = nullptr; |
| PFNGLTEXSUBIMAGE3D glTexSubImage3D = nullptr; |
| PFNGLBEGINTRANSFORMFEEDBACK glBeginTransformFeedback = nullptr; |
| PFNGLBINDTRANSFORMFEEDBACK glBindTransformFeedback = nullptr; |
| PFNGLDELETETRANSFORMFEEDBACKS glDeleteTransformFeedbacks = nullptr; |
| PFNGLENDTRANSFORMFEEDBACK glEndTransformFeedback = nullptr; |
| PFNGLGENTRANSFORMFEEDBACKS glGenTransformFeedbacks = nullptr; |
| PFNGLGETTRANSFORMFEEDBACKVARYING glGetTransformFeedbackVarying = nullptr; |
| PFNGLISTRANSFORMFEEDBACK glIsTransformFeedback = nullptr; |
| PFNGLPAUSETRANSFORMFEEDBACK glPauseTransformFeedback = nullptr; |
| PFNGLRESUMETRANSFORMFEEDBACK glResumeTransformFeedback = nullptr; |
| PFNGLTRANSFORMFEEDBACKVARYINGS glTransformFeedbackVaryings = nullptr; |
| PFNGLBINDVERTEXARRAY glBindVertexArray = nullptr; |
| PFNGLBINDVERTEXBUFFER glBindVertexBuffer = nullptr; |
| PFNGLDELETEVERTEXARRAYS glDeleteVertexArrays = nullptr; |
| PFNGLDISABLEVERTEXATTRIBARRAY glDisableVertexAttribArray = nullptr; |
| PFNGLENABLEVERTEXATTRIBARRAY glEnableVertexAttribArray = nullptr; |
| PFNGLGENVERTEXARRAYS glGenVertexArrays = nullptr; |
| PFNGLGETVERTEXATTRIBIIV glGetVertexAttribIiv = nullptr; |
| PFNGLGETVERTEXATTRIBIUIV glGetVertexAttribIuiv = nullptr; |
| PFNGLGETVERTEXATTRIBPOINTERV glGetVertexAttribPointerv = nullptr; |
| PFNGLGETVERTEXATTRIBFV glGetVertexAttribfv = nullptr; |
| PFNGLGETVERTEXATTRIBIV glGetVertexAttribiv = nullptr; |
| PFNGLISVERTEXARRAY glIsVertexArray = nullptr; |
| PFNGLVERTEXATTRIB1F glVertexAttrib1f = nullptr; |
| PFNGLVERTEXATTRIB1FV glVertexAttrib1fv = nullptr; |
| PFNGLVERTEXATTRIB2F glVertexAttrib2f = nullptr; |
| PFNGLVERTEXATTRIB2FV glVertexAttrib2fv = nullptr; |
| PFNGLVERTEXATTRIB3F glVertexAttrib3f = nullptr; |
| PFNGLVERTEXATTRIB3FV glVertexAttrib3fv = nullptr; |
| PFNGLVERTEXATTRIB4F glVertexAttrib4f = nullptr; |
| PFNGLVERTEXATTRIB4FV glVertexAttrib4fv = nullptr; |
| PFNGLVERTEXATTRIBBINDING glVertexAttribBinding = nullptr; |
| PFNGLVERTEXATTRIBDIVISOR glVertexAttribDivisor = nullptr; |
| PFNGLVERTEXATTRIBFORMAT glVertexAttribFormat = nullptr; |
| PFNGLVERTEXATTRIBI4I glVertexAttribI4i = nullptr; |
| PFNGLVERTEXATTRIBI4IV glVertexAttribI4iv = nullptr; |
| PFNGLVERTEXATTRIBI4UI glVertexAttribI4ui = nullptr; |
| PFNGLVERTEXATTRIBI4UIV glVertexAttribI4uiv = nullptr; |
| PFNGLVERTEXATTRIBIFORMAT glVertexAttribIFormat = nullptr; |
| PFNGLVERTEXATTRIBIPOINTER glVertexAttribIPointer = nullptr; |
| PFNGLVERTEXATTRIBPOINTER glVertexAttribPointer = nullptr; |
| PFNGLVERTEXBINDINGDIVISOR glVertexBindingDivisor = nullptr; |
| PFNEGLINITIALIZE eglInitialize = nullptr; |
| PFNEGLCREATECONTEXT eglCreateContext = nullptr; |
| PFNEGLMAKECURRENT eglMakeCurrent = nullptr; |
| PFNEGLSWAPBUFFERS eglSwapBuffers = nullptr; |
| PFNEGLQUERYSURFACE eglQuerySurface = nullptr; |
| PFNGLXCREATECONTEXT glXCreateContext = nullptr; |
| PFNGLXCREATENEWCONTEXT glXCreateNewContext = nullptr; |
| PFNGLXMAKECONTEXTCURRENT glXMakeContextCurrent = nullptr; |
| PFNGLXMAKECURRENT glXMakeCurrent = nullptr; |
| PFNGLXSWAPBUFFERS glXSwapBuffers = nullptr; |
| PFNGLXQUERYDRAWABLE glXQueryDrawable = nullptr; |
| PFNWGLCREATECONTEXT wglCreateContext = nullptr; |
| PFNWGLCREATECONTEXTATTRIBSARB wglCreateContextAttribsARB = nullptr; |
| PFNWGLMAKECURRENT wglMakeCurrent = nullptr; |
| PFNWGLSWAPBUFFERS wglSwapBuffers = nullptr; |
| PFNCGLCREATECONTEXT CGLCreateContext = nullptr; |
| PFNCGLSETCURRENTCONTEXT CGLSetCurrentContext = nullptr; |
| PFNCGLGETSURFACE CGLGetSurface = nullptr; |
| PFNCGSGETSURFACEBOUNDS CGSGetSurfaceBounds = nullptr; |
| PFNCGLFLUSHDRAWABLE CGLFlushDrawable = nullptr; |
| PFNGLGETQUERYOBJECTI64V glGetQueryObjecti64v = nullptr; |
| PFNGLGETQUERYOBJECTUI64V glGetQueryObjectui64v = nullptr; |
| |
| void Register(Interpreter* interpreter) { |
| interpreter->registerFunction(Ids::GlBlendBarrierKHR, callGlBlendBarrierKHR); |
| interpreter->registerFunction(Ids::GlBlendEquationSeparateiEXT, |
| callGlBlendEquationSeparateiEXT); |
| interpreter->registerFunction(Ids::GlBlendEquationiEXT, callGlBlendEquationiEXT); |
| interpreter->registerFunction(Ids::GlBlendFuncSeparateiEXT, callGlBlendFuncSeparateiEXT); |
| interpreter->registerFunction(Ids::GlBlendFunciEXT, callGlBlendFunciEXT); |
| interpreter->registerFunction(Ids::GlColorMaskiEXT, callGlColorMaskiEXT); |
| interpreter->registerFunction(Ids::GlCopyImageSubDataEXT, callGlCopyImageSubDataEXT); |
| interpreter->registerFunction(Ids::GlDebugMessageCallbackKHR, callGlDebugMessageCallbackKHR); |
| interpreter->registerFunction(Ids::GlDebugMessageControlKHR, callGlDebugMessageControlKHR); |
| interpreter->registerFunction(Ids::GlDebugMessageInsertKHR, callGlDebugMessageInsertKHR); |
| interpreter->registerFunction(Ids::GlDisableiEXT, callGlDisableiEXT); |
| interpreter->registerFunction(Ids::GlEnableiEXT, callGlEnableiEXT); |
| interpreter->registerFunction(Ids::GlFramebufferTextureEXT, callGlFramebufferTextureEXT); |
| interpreter->registerFunction(Ids::GlGetDebugMessageLogKHR, callGlGetDebugMessageLogKHR); |
| interpreter->registerFunction(Ids::GlGetObjectLabelKHR, callGlGetObjectLabelKHR); |
| interpreter->registerFunction(Ids::GlGetObjectPtrLabelKHR, callGlGetObjectPtrLabelKHR); |
| interpreter->registerFunction(Ids::GlGetPointervKHR, callGlGetPointervKHR); |
| interpreter->registerFunction(Ids::GlGetSamplerParameterIivEXT, |
| callGlGetSamplerParameterIivEXT); |
| interpreter->registerFunction(Ids::GlGetSamplerParameterIuivEXT, |
| callGlGetSamplerParameterIuivEXT); |
| interpreter->registerFunction(Ids::GlGetTexParameterIivEXT, callGlGetTexParameterIivEXT); |
| interpreter->registerFunction(Ids::GlGetTexParameterIuivEXT, callGlGetTexParameterIuivEXT); |
| interpreter->registerFunction(Ids::GlIsEnablediEXT, callGlIsEnablediEXT); |
| interpreter->registerFunction(Ids::GlMinSampleShadingOES, callGlMinSampleShadingOES); |
| interpreter->registerFunction(Ids::GlObjectLabelKHR, callGlObjectLabelKHR); |
| interpreter->registerFunction(Ids::GlObjectPtrLabelKHR, callGlObjectPtrLabelKHR); |
| interpreter->registerFunction(Ids::GlPatchParameteriEXT, callGlPatchParameteriEXT); |
| interpreter->registerFunction(Ids::GlPopDebugGroupKHR, callGlPopDebugGroupKHR); |
| interpreter->registerFunction(Ids::GlPrimitiveBoundingBoxEXT, callGlPrimitiveBoundingBoxEXT); |
| interpreter->registerFunction(Ids::GlPushDebugGroupKHR, callGlPushDebugGroupKHR); |
| interpreter->registerFunction(Ids::GlSamplerParameterIivEXT, callGlSamplerParameterIivEXT); |
| interpreter->registerFunction(Ids::GlSamplerParameterIuivEXT, callGlSamplerParameterIuivEXT); |
| interpreter->registerFunction(Ids::GlTexBufferEXT, callGlTexBufferEXT); |
| interpreter->registerFunction(Ids::GlTexBufferRangeEXT, callGlTexBufferRangeEXT); |
| interpreter->registerFunction(Ids::GlTexParameterIivEXT, callGlTexParameterIivEXT); |
| interpreter->registerFunction(Ids::GlTexParameterIuivEXT, callGlTexParameterIuivEXT); |
| interpreter->registerFunction(Ids::GlTexStorage3DMultisampleOES, |
| callGlTexStorage3DMultisampleOES); |
| interpreter->registerFunction(Ids::GlBeginQuery, callGlBeginQuery); |
| interpreter->registerFunction(Ids::GlDeleteQueries, callGlDeleteQueries); |
| interpreter->registerFunction(Ids::GlEndQuery, callGlEndQuery); |
| interpreter->registerFunction(Ids::GlGenQueries, callGlGenQueries); |
| interpreter->registerFunction(Ids::GlGetQueryObjectuiv, callGlGetQueryObjectuiv); |
| interpreter->registerFunction(Ids::GlGetQueryiv, callGlGetQueryiv); |
| interpreter->registerFunction(Ids::GlIsQuery, callGlIsQuery); |
| interpreter->registerFunction(Ids::GlBindBuffer, callGlBindBuffer); |
| interpreter->registerFunction(Ids::GlBindBufferBase, callGlBindBufferBase); |
| interpreter->registerFunction(Ids::GlBindBufferRange, callGlBindBufferRange); |
| interpreter->registerFunction(Ids::GlBufferData, callGlBufferData); |
| interpreter->registerFunction(Ids::GlBufferSubData, callGlBufferSubData); |
| interpreter->registerFunction(Ids::GlCopyBufferSubData, callGlCopyBufferSubData); |
| interpreter->registerFunction(Ids::GlDeleteBuffers, callGlDeleteBuffers); |
| interpreter->registerFunction(Ids::GlGenBuffers, callGlGenBuffers); |
| interpreter->registerFunction(Ids::GlGetBufferParameteri64v, callGlGetBufferParameteri64v); |
| interpreter->registerFunction(Ids::GlGetBufferParameteriv, callGlGetBufferParameteriv); |
| interpreter->registerFunction(Ids::GlGetBufferPointerv, callGlGetBufferPointerv); |
| interpreter->registerFunction(Ids::GlIsBuffer, callGlIsBuffer); |
| interpreter->registerFunction(Ids::GlMapBufferRange, callGlMapBufferRange); |
| interpreter->registerFunction(Ids::GlUnmapBuffer, callGlUnmapBuffer); |
| interpreter->registerFunction(Ids::GlDrawArrays, callGlDrawArrays); |
| interpreter->registerFunction(Ids::GlDrawArraysIndirect, callGlDrawArraysIndirect); |
| interpreter->registerFunction(Ids::GlDrawArraysInstanced, callGlDrawArraysInstanced); |
| interpreter->registerFunction(Ids::GlDrawBuffers, callGlDrawBuffers); |
| interpreter->registerFunction(Ids::GlDrawElements, callGlDrawElements); |
| interpreter->registerFunction(Ids::GlDrawElementsIndirect, callGlDrawElementsIndirect); |
| interpreter->registerFunction(Ids::GlDrawElementsInstanced, callGlDrawElementsInstanced); |
| interpreter->registerFunction(Ids::GlDrawRangeElements, callGlDrawRangeElements); |
| interpreter->registerFunction(Ids::GlActiveShaderProgramEXT, callGlActiveShaderProgramEXT); |
| interpreter->registerFunction(Ids::GlAlphaFuncQCOM, callGlAlphaFuncQCOM); |
| interpreter->registerFunction(Ids::GlBeginConditionalRenderNV, callGlBeginConditionalRenderNV); |
| interpreter->registerFunction(Ids::GlBeginPerfMonitorAMD, callGlBeginPerfMonitorAMD); |
| interpreter->registerFunction(Ids::GlBeginPerfQueryINTEL, callGlBeginPerfQueryINTEL); |
| interpreter->registerFunction(Ids::GlBeginQueryEXT, callGlBeginQueryEXT); |
| interpreter->registerFunction(Ids::GlBindProgramPipelineEXT, callGlBindProgramPipelineEXT); |
| interpreter->registerFunction(Ids::GlBindVertexArrayOES, callGlBindVertexArrayOES); |
| interpreter->registerFunction(Ids::GlBlendBarrierNV, callGlBlendBarrierNV); |
| interpreter->registerFunction(Ids::GlBlendEquationSeparateiOES, |
| callGlBlendEquationSeparateiOES); |
| interpreter->registerFunction(Ids::GlBlendEquationiOES, callGlBlendEquationiOES); |
| interpreter->registerFunction(Ids::GlBlendFuncSeparateiOES, callGlBlendFuncSeparateiOES); |
| interpreter->registerFunction(Ids::GlBlendFunciOES, callGlBlendFunciOES); |
| interpreter->registerFunction(Ids::GlBlendParameteriNV, callGlBlendParameteriNV); |
| interpreter->registerFunction(Ids::GlBlitFramebufferANGLE, callGlBlitFramebufferANGLE); |
| interpreter->registerFunction(Ids::GlBlitFramebufferNV, callGlBlitFramebufferNV); |
| interpreter->registerFunction(Ids::GlBufferStorageEXT, callGlBufferStorageEXT); |
| interpreter->registerFunction(Ids::GlClientWaitSyncAPPLE, callGlClientWaitSyncAPPLE); |
| interpreter->registerFunction(Ids::GlColorMaskiOES, callGlColorMaskiOES); |
| interpreter->registerFunction(Ids::GlCompressedTexImage3DOES, callGlCompressedTexImage3DOES); |
| interpreter->registerFunction(Ids::GlCompressedTexSubImage3DOES, |
| callGlCompressedTexSubImage3DOES); |
| interpreter->registerFunction(Ids::GlCopyBufferSubDataNV, callGlCopyBufferSubDataNV); |
| interpreter->registerFunction(Ids::GlCopyImageSubDataOES, callGlCopyImageSubDataOES); |
| interpreter->registerFunction(Ids::GlCopyPathNV, callGlCopyPathNV); |
| interpreter->registerFunction(Ids::GlCopyTexSubImage3DOES, callGlCopyTexSubImage3DOES); |
| interpreter->registerFunction(Ids::GlCopyTextureLevelsAPPLE, callGlCopyTextureLevelsAPPLE); |
| interpreter->registerFunction(Ids::GlCoverFillPathInstancedNV, callGlCoverFillPathInstancedNV); |
| interpreter->registerFunction(Ids::GlCoverFillPathNV, callGlCoverFillPathNV); |
| interpreter->registerFunction(Ids::GlCoverStrokePathInstancedNV, |
| callGlCoverStrokePathInstancedNV); |
| interpreter->registerFunction(Ids::GlCoverStrokePathNV, callGlCoverStrokePathNV); |
| interpreter->registerFunction(Ids::GlCoverageMaskNV, callGlCoverageMaskNV); |
| interpreter->registerFunction(Ids::GlCoverageOperationNV, callGlCoverageOperationNV); |
| interpreter->registerFunction(Ids::GlCreatePerfQueryINTEL, callGlCreatePerfQueryINTEL); |
| interpreter->registerFunction(Ids::GlCreateShaderProgramvEXT, callGlCreateShaderProgramvEXT); |
| interpreter->registerFunction(Ids::GlDeleteFencesNV, callGlDeleteFencesNV); |
| interpreter->registerFunction(Ids::GlDeletePathsNV, callGlDeletePathsNV); |
| interpreter->registerFunction(Ids::GlDeletePerfMonitorsAMD, callGlDeletePerfMonitorsAMD); |
| interpreter->registerFunction(Ids::GlDeletePerfQueryINTEL, callGlDeletePerfQueryINTEL); |
| interpreter->registerFunction(Ids::GlDeleteProgramPipelinesEXT, |
| callGlDeleteProgramPipelinesEXT); |
| interpreter->registerFunction(Ids::GlDeleteQueriesEXT, callGlDeleteQueriesEXT); |
| interpreter->registerFunction(Ids::GlDeleteSyncAPPLE, callGlDeleteSyncAPPLE); |
| interpreter->registerFunction(Ids::GlDeleteVertexArraysOES, callGlDeleteVertexArraysOES); |
| interpreter->registerFunction(Ids::GlDepthRangeArrayfvNV, callGlDepthRangeArrayfvNV); |
| interpreter->registerFunction(Ids::GlDepthRangeIndexedfNV, callGlDepthRangeIndexedfNV); |
| interpreter->registerFunction(Ids::GlDisableDriverControlQCOM, callGlDisableDriverControlQCOM); |
| interpreter->registerFunction(Ids::GlDisableiNV, callGlDisableiNV); |
| interpreter->registerFunction(Ids::GlDisableiOES, callGlDisableiOES); |
| interpreter->registerFunction(Ids::GlDiscardFramebufferEXT, callGlDiscardFramebufferEXT); |
| interpreter->registerFunction(Ids::GlDrawArraysInstancedANGLE, callGlDrawArraysInstancedANGLE); |
| interpreter->registerFunction(Ids::GlDrawArraysInstancedBaseInstanceEXT, |
| callGlDrawArraysInstancedBaseInstanceEXT); |
| interpreter->registerFunction(Ids::GlDrawArraysInstancedEXT, callGlDrawArraysInstancedEXT); |
| interpreter->registerFunction(Ids::GlDrawArraysInstancedNV, callGlDrawArraysInstancedNV); |
| interpreter->registerFunction(Ids::GlDrawBuffersEXT, callGlDrawBuffersEXT); |
| interpreter->registerFunction(Ids::GlDrawBuffersIndexedEXT, callGlDrawBuffersIndexedEXT); |
| interpreter->registerFunction(Ids::GlDrawBuffersNV, callGlDrawBuffersNV); |
| interpreter->registerFunction(Ids::GlDrawElementsBaseVertexEXT, |
| callGlDrawElementsBaseVertexEXT); |
| interpreter->registerFunction(Ids::GlDrawElementsBaseVertexOES, |
| callGlDrawElementsBaseVertexOES); |
| interpreter->registerFunction(Ids::GlDrawElementsInstancedANGLE, |
| callGlDrawElementsInstancedANGLE); |
| interpreter->registerFunction(Ids::GlDrawElementsInstancedBaseInstanceEXT, |
| callGlDrawElementsInstancedBaseInstanceEXT); |
| interpreter->registerFunction(Ids::GlDrawElementsInstancedBaseVertexEXT, |
| callGlDrawElementsInstancedBaseVertexEXT); |
| interpreter->registerFunction(Ids::GlDrawElementsInstancedBaseVertexOES, |
| callGlDrawElementsInstancedBaseVertexOES); |
| interpreter->registerFunction(Ids::GlDrawElementsInstancedBaseVertexBaseInstanceEXT, |
| callGlDrawElementsInstancedBaseVertexBaseInstanceEXT); |
| interpreter->registerFunction(Ids::GlDrawElementsInstancedEXT, callGlDrawElementsInstancedEXT); |
| interpreter->registerFunction(Ids::GlDrawElementsInstancedNV, callGlDrawElementsInstancedNV); |
| interpreter->registerFunction(Ids::GlDrawRangeElementsBaseVertexEXT, |
| callGlDrawRangeElementsBaseVertexEXT); |
| interpreter->registerFunction(Ids::GlDrawRangeElementsBaseVertexOES, |
| callGlDrawRangeElementsBaseVertexOES); |
| interpreter->registerFunction(Ids::GlEGLImageTargetRenderbufferStorageOES, |
| callGlEGLImageTargetRenderbufferStorageOES); |
| interpreter->registerFunction(Ids::GlEGLImageTargetTexture2DOES, |
| callGlEGLImageTargetTexture2DOES); |
| interpreter->registerFunction(Ids::GlEnableDriverControlQCOM, callGlEnableDriverControlQCOM); |
| interpreter->registerFunction(Ids::GlEnableiNV, callGlEnableiNV); |
| interpreter->registerFunction(Ids::GlEnableiOES, callGlEnableiOES); |
| interpreter->registerFunction(Ids::GlEndConditionalRenderNV, callGlEndConditionalRenderNV); |
| interpreter->registerFunction(Ids::GlEndPerfMonitorAMD, callGlEndPerfMonitorAMD); |
| interpreter->registerFunction(Ids::GlEndPerfQueryINTEL, callGlEndPerfQueryINTEL); |
| interpreter->registerFunction(Ids::GlEndQueryEXT, callGlEndQueryEXT); |
| interpreter->registerFunction(Ids::GlEndTilingQCOM, callGlEndTilingQCOM); |
| interpreter->registerFunction(Ids::GlExtGetBufferPointervQCOM, callGlExtGetBufferPointervQCOM); |
| interpreter->registerFunction(Ids::GlExtGetBuffersQCOM, callGlExtGetBuffersQCOM); |
| interpreter->registerFunction(Ids::GlExtGetFramebuffersQCOM, callGlExtGetFramebuffersQCOM); |
| interpreter->registerFunction(Ids::GlExtGetProgramBinarySourceQCOM, |
| callGlExtGetProgramBinarySourceQCOM); |
| interpreter->registerFunction(Ids::GlExtGetProgramsQCOM, callGlExtGetProgramsQCOM); |
| interpreter->registerFunction(Ids::GlExtGetRenderbuffersQCOM, callGlExtGetRenderbuffersQCOM); |
| interpreter->registerFunction(Ids::GlExtGetShadersQCOM, callGlExtGetShadersQCOM); |
| interpreter->registerFunction(Ids::GlExtGetTexLevelParameterivQCOM, |
| callGlExtGetTexLevelParameterivQCOM); |
| interpreter->registerFunction(Ids::GlExtGetTexSubImageQCOM, callGlExtGetTexSubImageQCOM); |
| interpreter->registerFunction(Ids::GlExtGetTexturesQCOM, callGlExtGetTexturesQCOM); |
| interpreter->registerFunction(Ids::GlExtIsProgramBinaryQCOM, callGlExtIsProgramBinaryQCOM); |
| interpreter->registerFunction(Ids::GlExtTexObjectStateOverrideiQCOM, |
| callGlExtTexObjectStateOverrideiQCOM); |
| interpreter->registerFunction(Ids::GlFenceSyncAPPLE, callGlFenceSyncAPPLE); |
| interpreter->registerFunction(Ids::GlFinishFenceNV, callGlFinishFenceNV); |
| interpreter->registerFunction(Ids::GlFlushMappedBufferRangeEXT, |
| callGlFlushMappedBufferRangeEXT); |
| interpreter->registerFunction(Ids::GlFramebufferTexture2DMultisampleEXT, |
| callGlFramebufferTexture2DMultisampleEXT); |
| interpreter->registerFunction(Ids::GlFramebufferTexture2DMultisampleIMG, |
| callGlFramebufferTexture2DMultisampleIMG); |
| interpreter->registerFunction(Ids::GlFramebufferTexture3DOES, callGlFramebufferTexture3DOES); |
| interpreter->registerFunction(Ids::GlFramebufferTextureOES, callGlFramebufferTextureOES); |
| interpreter->registerFunction(Ids::GlFramebufferTextureMultiviewOVR, |
| callGlFramebufferTextureMultiviewOVR); |
| interpreter->registerFunction(Ids::GlGenFencesNV, callGlGenFencesNV); |
| interpreter->registerFunction(Ids::GlGenPathsNV, callGlGenPathsNV); |
| interpreter->registerFunction(Ids::GlGenPerfMonitorsAMD, callGlGenPerfMonitorsAMD); |
| interpreter->registerFunction(Ids::GlGenProgramPipelinesEXT, callGlGenProgramPipelinesEXT); |
| interpreter->registerFunction(Ids::GlGenQueriesEXT, callGlGenQueriesEXT); |
| interpreter->registerFunction(Ids::GlGenVertexArraysOES, callGlGenVertexArraysOES); |
| interpreter->registerFunction(Ids::GlGetBufferPointervOES, callGlGetBufferPointervOES); |
| interpreter->registerFunction(Ids::GlGetDriverControlStringQCOM, |
| callGlGetDriverControlStringQCOM); |
| interpreter->registerFunction(Ids::GlGetDriverControlsQCOM, callGlGetDriverControlsQCOM); |
| interpreter->registerFunction(Ids::GlGetFenceivNV, callGlGetFenceivNV); |
| interpreter->registerFunction(Ids::GlGetFirstPerfQueryIdINTEL, callGlGetFirstPerfQueryIdINTEL); |
| interpreter->registerFunction(Ids::GlGetFloatiVNV, callGlGetFloatiVNV); |
| interpreter->registerFunction(Ids::GlGetGraphicsResetStatusEXT, |
| callGlGetGraphicsResetStatusEXT); |
| interpreter->registerFunction(Ids::GlGetGraphicsResetStatusKHR, |
| callGlGetGraphicsResetStatusKHR); |
| interpreter->registerFunction(Ids::GlGetImageHandleNV, callGlGetImageHandleNV); |
| interpreter->registerFunction(Ids::GlGetInteger64vAPPLE, callGlGetInteger64vAPPLE); |
| interpreter->registerFunction(Ids::GlGetIntegeriVEXT, callGlGetIntegeriVEXT); |
| interpreter->registerFunction(Ids::GlGetInternalformatSampleivNV, |
| callGlGetInternalformatSampleivNV); |
| interpreter->registerFunction(Ids::GlGetNextPerfQueryIdINTEL, callGlGetNextPerfQueryIdINTEL); |
| interpreter->registerFunction(Ids::GlGetObjectLabelEXT, callGlGetObjectLabelEXT); |
| interpreter->registerFunction(Ids::GlGetPathCommandsNV, callGlGetPathCommandsNV); |
| interpreter->registerFunction(Ids::GlGetPathCoordsNV, callGlGetPathCoordsNV); |
| interpreter->registerFunction(Ids::GlGetPathDashArrayNV, callGlGetPathDashArrayNV); |
| interpreter->registerFunction(Ids::GlGetPathLengthNV, callGlGetPathLengthNV); |
| interpreter->registerFunction(Ids::GlGetPathMetricRangeNV, callGlGetPathMetricRangeNV); |
| interpreter->registerFunction(Ids::GlGetPathMetricsNV, callGlGetPathMetricsNV); |
| interpreter->registerFunction(Ids::GlGetPathParameterfvNV, callGlGetPathParameterfvNV); |
| interpreter->registerFunction(Ids::GlGetPathParameterivNV, callGlGetPathParameterivNV); |
| interpreter->registerFunction(Ids::GlGetPathSpacingNV, callGlGetPathSpacingNV); |
| interpreter->registerFunction(Ids::GlGetPerfCounterInfoINTEL, callGlGetPerfCounterInfoINTEL); |
| interpreter->registerFunction(Ids::GlGetPerfMonitorCounterDataAMD, |
| callGlGetPerfMonitorCounterDataAMD); |
| interpreter->registerFunction(Ids::GlGetPerfMonitorCounterInfoAMD, |
| callGlGetPerfMonitorCounterInfoAMD); |
| interpreter->registerFunction(Ids::GlGetPerfMonitorCounterStringAMD, |
| callGlGetPerfMonitorCounterStringAMD); |
| interpreter->registerFunction(Ids::GlGetPerfMonitorCountersAMD, |
| callGlGetPerfMonitorCountersAMD); |
| interpreter->registerFunction(Ids::GlGetPerfMonitorGroupStringAMD, |
| callGlGetPerfMonitorGroupStringAMD); |
| interpreter->registerFunction(Ids::GlGetPerfMonitorGroupsAMD, callGlGetPerfMonitorGroupsAMD); |
| interpreter->registerFunction(Ids::GlGetPerfQueryDataINTEL, callGlGetPerfQueryDataINTEL); |
| interpreter->registerFunction(Ids::GlGetPerfQueryIdByNameINTEL, |
| callGlGetPerfQueryIdByNameINTEL); |
| interpreter->registerFunction(Ids::GlGetPerfQueryInfoINTEL, callGlGetPerfQueryInfoINTEL); |
| interpreter->registerFunction(Ids::GlGetProgramBinaryOES, callGlGetProgramBinaryOES); |
| interpreter->registerFunction(Ids::GlGetProgramPipelineInfoLogEXT, |
| callGlGetProgramPipelineInfoLogEXT); |
| interpreter->registerFunction(Ids::GlGetProgramPipelineivEXT, callGlGetProgramPipelineivEXT); |
| interpreter->registerFunction(Ids::GlGetProgramResourcefvNV, callGlGetProgramResourcefvNV); |
| interpreter->registerFunction(Ids::GlGetQueryObjecti64vEXT, callGlGetQueryObjecti64vEXT); |
| interpreter->registerFunction(Ids::GlGetQueryObjectivEXT, callGlGetQueryObjectivEXT); |
| interpreter->registerFunction(Ids::GlGetQueryObjectui64vEXT, callGlGetQueryObjectui64vEXT); |
| interpreter->registerFunction(Ids::GlGetQueryObjectuivEXT, callGlGetQueryObjectuivEXT); |
| interpreter->registerFunction(Ids::GlGetQueryivEXT, callGlGetQueryivEXT); |
| interpreter->registerFunction(Ids::GlGetSamplerParameterIivOES, |
| callGlGetSamplerParameterIivOES); |
| interpreter->registerFunction(Ids::GlGetSamplerParameterIuivOES, |
| callGlGetSamplerParameterIuivOES); |
| interpreter->registerFunction(Ids::GlGetSyncivAPPLE, callGlGetSyncivAPPLE); |
| interpreter->registerFunction(Ids::GlGetTexParameterIivOES, callGlGetTexParameterIivOES); |
| interpreter->registerFunction(Ids::GlGetTexParameterIuivOES, callGlGetTexParameterIuivOES); |
| interpreter->registerFunction(Ids::GlGetTextureHandleNV, callGlGetTextureHandleNV); |
| interpreter->registerFunction(Ids::GlGetTextureSamplerHandleNV, |
| callGlGetTextureSamplerHandleNV); |
| interpreter->registerFunction(Ids::GlGetTranslatedShaderSourceANGLE, |
| callGlGetTranslatedShaderSourceANGLE); |
| interpreter->registerFunction(Ids::GlGetnUniformfvEXT, callGlGetnUniformfvEXT); |
| interpreter->registerFunction(Ids::GlGetnUniformfvKHR, callGlGetnUniformfvKHR); |
| interpreter->registerFunction(Ids::GlGetnUniformivEXT, callGlGetnUniformivEXT); |
| interpreter->registerFunction(Ids::GlGetnUniformivKHR, callGlGetnUniformivKHR); |
| interpreter->registerFunction(Ids::GlGetnUniformuivKHR, callGlGetnUniformuivKHR); |
| interpreter->registerFunction(Ids::GlInsertEventMarkerEXT, callGlInsertEventMarkerEXT); |
| interpreter->registerFunction(Ids::GlInterpolatePathsNV, callGlInterpolatePathsNV); |
| interpreter->registerFunction(Ids::GlIsEnablediOES, callGlIsEnablediOES); |
| interpreter->registerFunction(Ids::GlIsEnablediNV, callGlIsEnablediNV); |
| interpreter->registerFunction(Ids::GlIsFenceNV, callGlIsFenceNV); |
| interpreter->registerFunction(Ids::GlIsImageHandleResidentNV, callGlIsImageHandleResidentNV); |
| interpreter->registerFunction(Ids::GlIsPathNV, callGlIsPathNV); |
| interpreter->registerFunction(Ids::GlIsPointInFillPathNV, callGlIsPointInFillPathNV); |
| interpreter->registerFunction(Ids::GlIsPointInStrokePathNV, callGlIsPointInStrokePathNV); |
| interpreter->registerFunction(Ids::GlIsProgramPipelineEXT, callGlIsProgramPipelineEXT); |
| interpreter->registerFunction(Ids::GlIsQueryEXT, callGlIsQueryEXT); |
| interpreter->registerFunction(Ids::GlIsSyncAPPLE, callGlIsSyncAPPLE); |
| interpreter->registerFunction(Ids::GlIsTextureHandleResidentNV, |
| callGlIsTextureHandleResidentNV); |
| interpreter->registerFunction(Ids::GlIsVertexArrayOES, callGlIsVertexArrayOES); |
| interpreter->registerFunction(Ids::GlLabelObjectEXT, callGlLabelObjectEXT); |
| interpreter->registerFunction(Ids::GlMakeImageHandleNonResidentNV, |
| callGlMakeImageHandleNonResidentNV); |
| interpreter->registerFunction(Ids::GlMakeImageHandleResidentNV, |
| callGlMakeImageHandleResidentNV); |
| interpreter->registerFunction(Ids::GlMakeTextureHandleNonResidentNV, |
| callGlMakeTextureHandleNonResidentNV); |
| interpreter->registerFunction(Ids::GlMakeTextureHandleResidentNV, |
| callGlMakeTextureHandleResidentNV); |
| interpreter->registerFunction(Ids::GlMapBufferOES, callGlMapBufferOES); |
| interpreter->registerFunction(Ids::GlMapBufferRangeEXT, callGlMapBufferRangeEXT); |
| interpreter->registerFunction(Ids::GlMatrixLoad3x2fNV, callGlMatrixLoad3x2fNV); |
| interpreter->registerFunction(Ids::GlMatrixLoad3x3fNV, callGlMatrixLoad3x3fNV); |
| interpreter->registerFunction(Ids::GlMatrixLoadTranspose3x3fNV, |
| callGlMatrixLoadTranspose3x3fNV); |
| interpreter->registerFunction(Ids::GlMatrixMult3x2fNV, callGlMatrixMult3x2fNV); |
| interpreter->registerFunction(Ids::GlMatrixMult3x3fNV, callGlMatrixMult3x3fNV); |
| interpreter->registerFunction(Ids::GlMatrixMultTranspose3x3fNV, |
| callGlMatrixMultTranspose3x3fNV); |
| interpreter->registerFunction(Ids::GlMultiDrawArraysEXT, callGlMultiDrawArraysEXT); |
| interpreter->registerFunction(Ids::GlMultiDrawArraysIndirectEXT, |
| callGlMultiDrawArraysIndirectEXT); |
| interpreter->registerFunction(Ids::GlMultiDrawElementsBaseVertexEXT, |
| callGlMultiDrawElementsBaseVertexEXT); |
| interpreter->registerFunction(Ids::GlMultiDrawElementsBaseVertexOES, |
| callGlMultiDrawElementsBaseVertexOES); |
| interpreter->registerFunction(Ids::GlMultiDrawElementsEXT, callGlMultiDrawElementsEXT); |
| interpreter->registerFunction(Ids::GlMultiDrawElementsIndirectEXT, |
| callGlMultiDrawElementsIndirectEXT); |
| interpreter->registerFunction(Ids::GlPatchParameteriOES, callGlPatchParameteriOES); |
| interpreter->registerFunction(Ids::GlPathCommandsNV, callGlPathCommandsNV); |
| interpreter->registerFunction(Ids::GlPathCoordsNV, callGlPathCoordsNV); |
| interpreter->registerFunction(Ids::GlPathCoverDepthFuncNV, callGlPathCoverDepthFuncNV); |
| interpreter->registerFunction(Ids::GlPathDashArrayNV, callGlPathDashArrayNV); |
| interpreter->registerFunction(Ids::GlPathGlyphIndexArrayNV, callGlPathGlyphIndexArrayNV); |
| interpreter->registerFunction(Ids::GlPathGlyphIndexRangeNV, callGlPathGlyphIndexRangeNV); |
| interpreter->registerFunction(Ids::GlPathGlyphRangeNV, callGlPathGlyphRangeNV); |
| interpreter->registerFunction(Ids::GlPathGlyphsNV, callGlPathGlyphsNV); |
| interpreter->registerFunction(Ids::GlPathMemoryGlyphIndexArrayNV, |
| callGlPathMemoryGlyphIndexArrayNV); |
| interpreter->registerFunction(Ids::GlPathParameterfNV, callGlPathParameterfNV); |
| interpreter->registerFunction(Ids::GlPathParameterfvNV, callGlPathParameterfvNV); |
| interpreter->registerFunction(Ids::GlPathParameteriNV, callGlPathParameteriNV); |
| interpreter->registerFunction(Ids::GlPathParameterivNV, callGlPathParameterivNV); |
| interpreter->registerFunction(Ids::GlPathStencilDepthOffsetNV, callGlPathStencilDepthOffsetNV); |
| interpreter->registerFunction(Ids::GlPathStencilFuncNV, callGlPathStencilFuncNV); |
| interpreter->registerFunction(Ids::GlPathStringNV, callGlPathStringNV); |
| interpreter->registerFunction(Ids::GlPathSubCommandsNV, callGlPathSubCommandsNV); |
| interpreter->registerFunction(Ids::GlPathSubCoordsNV, callGlPathSubCoordsNV); |
| interpreter->registerFunction(Ids::GlPointAlongPathNV, callGlPointAlongPathNV); |
| interpreter->registerFunction(Ids::GlPolygonModeNV, callGlPolygonModeNV); |
| interpreter->registerFunction(Ids::GlPopGroupMarkerEXT, callGlPopGroupMarkerEXT); |
| interpreter->registerFunction(Ids::GlPrimitiveBoundingBoxOES, callGlPrimitiveBoundingBoxOES); |
| interpreter->registerFunction(Ids::GlProgramBinaryOES, callGlProgramBinaryOES); |
| interpreter->registerFunction(Ids::GlProgramParameteriEXT, callGlProgramParameteriEXT); |
| interpreter->registerFunction(Ids::GlProgramPathFragmentInputGenNV, |
| callGlProgramPathFragmentInputGenNV); |
| interpreter->registerFunction(Ids::GlProgramUniform1fEXT, callGlProgramUniform1fEXT); |
| interpreter->registerFunction(Ids::GlProgramUniform1fvEXT, callGlProgramUniform1fvEXT); |
| interpreter->registerFunction(Ids::GlProgramUniform1iEXT, callGlProgramUniform1iEXT); |
| interpreter->registerFunction(Ids::GlProgramUniform1ivEXT, callGlProgramUniform1ivEXT); |
| interpreter->registerFunction(Ids::GlProgramUniform1uiEXT, callGlProgramUniform1uiEXT); |
| interpreter->registerFunction(Ids::GlProgramUniform1uivEXT, callGlProgramUniform1uivEXT); |
| interpreter->registerFunction(Ids::GlProgramUniform2fEXT, callGlProgramUniform2fEXT); |
| interpreter->registerFunction(Ids::GlProgramUniform2fvEXT, callGlProgramUniform2fvEXT); |
| interpreter->registerFunction(Ids::GlProgramUniform2iEXT, callGlProgramUniform2iEXT); |
| interpreter->registerFunction(Ids::GlProgramUniform2ivEXT, callGlProgramUniform2ivEXT); |
| interpreter->registerFunction(Ids::GlProgramUniform2uiEXT, callGlProgramUniform2uiEXT); |
| interpreter->registerFunction(Ids::GlProgramUniform2uivEXT, callGlProgramUniform2uivEXT); |
| interpreter->registerFunction(Ids::GlProgramUniform3fEXT, callGlProgramUniform3fEXT); |
| interpreter->registerFunction(Ids::GlProgramUniform3fvEXT, callGlProgramUniform3fvEXT); |
| interpreter->registerFunction(Ids::GlProgramUniform3iEXT, callGlProgramUniform3iEXT); |
| interpreter->registerFunction(Ids::GlProgramUniform3ivEXT, callGlProgramUniform3ivEXT); |
| interpreter->registerFunction(Ids::GlProgramUniform3uiEXT, callGlProgramUniform3uiEXT); |
| interpreter->registerFunction(Ids::GlProgramUniform3uivEXT, callGlProgramUniform3uivEXT); |
| interpreter->registerFunction(Ids::GlProgramUniform4fEXT, callGlProgramUniform4fEXT); |
| interpreter->registerFunction(Ids::GlProgramUniform4fvEXT, callGlProgramUniform4fvEXT); |
| interpreter->registerFunction(Ids::GlProgramUniform4iEXT, callGlProgramUniform4iEXT); |
| interpreter->registerFunction(Ids::GlProgramUniform4ivEXT, callGlProgramUniform4ivEXT); |
| interpreter->registerFunction(Ids::GlProgramUniform4uiEXT, callGlProgramUniform4uiEXT); |
| interpreter->registerFunction(Ids::GlProgramUniform4uivEXT, callGlProgramUniform4uivEXT); |
| interpreter->registerFunction(Ids::GlProgramUniformHandleui64NV, |
| callGlProgramUniformHandleui64NV); |
| interpreter->registerFunction(Ids::GlProgramUniformHandleui64vNV, |
| callGlProgramUniformHandleui64vNV); |
| interpreter->registerFunction(Ids::GlProgramUniformMatrix2fvEXT, |
| callGlProgramUniformMatrix2fvEXT); |
| interpreter->registerFunction(Ids::GlProgramUniformMatrix2x3fvEXT, |
| callGlProgramUniformMatrix2x3fvEXT); |
| interpreter->registerFunction(Ids::GlProgramUniformMatrix2x4fvEXT, |
| callGlProgramUniformMatrix2x4fvEXT); |
| interpreter->registerFunction(Ids::GlProgramUniformMatrix3fvEXT, |
| callGlProgramUniformMatrix3fvEXT); |
| interpreter->registerFunction(Ids::GlProgramUniformMatrix3x2fvEXT, |
| callGlProgramUniformMatrix3x2fvEXT); |
| interpreter->registerFunction(Ids::GlProgramUniformMatrix3x4fvEXT, |
| callGlProgramUniformMatrix3x4fvEXT); |
| interpreter->registerFunction(Ids::GlProgramUniformMatrix4fvEXT, |
| callGlProgramUniformMatrix4fvEXT); |
| interpreter->registerFunction(Ids::GlProgramUniformMatrix4x2fvEXT, |
| callGlProgramUniformMatrix4x2fvEXT); |
| interpreter->registerFunction(Ids::GlProgramUniformMatrix4x3fvEXT, |
| callGlProgramUniformMatrix4x3fvEXT); |
| interpreter->registerFunction(Ids::GlPushGroupMarkerEXT, callGlPushGroupMarkerEXT); |
| interpreter->registerFunction(Ids::GlQueryCounterEXT, callGlQueryCounterEXT); |
| interpreter->registerFunction(Ids::GlReadBufferIndexedEXT, callGlReadBufferIndexedEXT); |
| interpreter->registerFunction(Ids::GlReadBufferNV, callGlReadBufferNV); |
| interpreter->registerFunction(Ids::GlReadnPixelsEXT, callGlReadnPixelsEXT); |
| interpreter->registerFunction(Ids::GlReadnPixelsKHR, callGlReadnPixelsKHR); |
| interpreter->registerFunction(Ids::GlRenderbufferStorageMultisampleANGLE, |
| callGlRenderbufferStorageMultisampleANGLE); |
| interpreter->registerFunction(Ids::GlRenderbufferStorageMultisampleAPPLE, |
| callGlRenderbufferStorageMultisampleAPPLE); |
| interpreter->registerFunction(Ids::GlRenderbufferStorageMultisampleEXT, |
| callGlRenderbufferStorageMultisampleEXT); |
| interpreter->registerFunction(Ids::GlRenderbufferStorageMultisampleIMG, |
| callGlRenderbufferStorageMultisampleIMG); |
| interpreter->registerFunction(Ids::GlRenderbufferStorageMultisampleNV, |
| callGlRenderbufferStorageMultisampleNV); |
| interpreter->registerFunction(Ids::GlResolveMultisampleFramebufferAPPLE, |
| callGlResolveMultisampleFramebufferAPPLE); |
| interpreter->registerFunction(Ids::GlSamplerParameterIivOES, callGlSamplerParameterIivOES); |
| interpreter->registerFunction(Ids::GlSamplerParameterIuivOES, callGlSamplerParameterIuivOES); |
| interpreter->registerFunction(Ids::GlScissorArrayvNV, callGlScissorArrayvNV); |
| interpreter->registerFunction(Ids::GlScissorIndexedNV, callGlScissorIndexedNV); |
| interpreter->registerFunction(Ids::GlScissorIndexedvNV, callGlScissorIndexedvNV); |
| interpreter->registerFunction(Ids::GlSelectPerfMonitorCountersAMD, |
| callGlSelectPerfMonitorCountersAMD); |
| interpreter->registerFunction(Ids::GlSetFenceNV, callGlSetFenceNV); |
| interpreter->registerFunction(Ids::GlStartTilingQCOM, callGlStartTilingQCOM); |
| interpreter->registerFunction(Ids::GlStencilFillPathInstancedNV, |
| callGlStencilFillPathInstancedNV); |
| interpreter->registerFunction(Ids::GlStencilFillPathNV, callGlStencilFillPathNV); |
| interpreter->registerFunction(Ids::GlStencilStrokePathInstancedNV, |
| callGlStencilStrokePathInstancedNV); |
| interpreter->registerFunction(Ids::GlStencilStrokePathNV, callGlStencilStrokePathNV); |
| interpreter->registerFunction(Ids::GlStencilThenCoverFillPathInstancedNV, |
| callGlStencilThenCoverFillPathInstancedNV); |
| interpreter->registerFunction(Ids::GlStencilThenCoverFillPathNV, |
| callGlStencilThenCoverFillPathNV); |
| interpreter->registerFunction(Ids::GlStencilThenCoverStrokePathInstancedNV, |
| callGlStencilThenCoverStrokePathInstancedNV); |
| interpreter->registerFunction(Ids::GlStencilThenCoverStrokePathNV, |
| callGlStencilThenCoverStrokePathNV); |
| interpreter->registerFunction(Ids::GlTestFenceNV, callGlTestFenceNV); |
| interpreter->registerFunction(Ids::GlTexBufferOES, callGlTexBufferOES); |
| interpreter->registerFunction(Ids::GlTexBufferRangeOES, callGlTexBufferRangeOES); |
| interpreter->registerFunction(Ids::GlTexImage3DOES, callGlTexImage3DOES); |
| interpreter->registerFunction(Ids::GlTexPageCommitmentARB, callGlTexPageCommitmentARB); |
| interpreter->registerFunction(Ids::GlTexParameterIivOES, callGlTexParameterIivOES); |
| interpreter->registerFunction(Ids::GlTexParameterIuivOES, callGlTexParameterIuivOES); |
| interpreter->registerFunction(Ids::GlTexStorage1DEXT, callGlTexStorage1DEXT); |
| interpreter->registerFunction(Ids::GlTexStorage2DEXT, callGlTexStorage2DEXT); |
| interpreter->registerFunction(Ids::GlTexStorage3DEXT, callGlTexStorage3DEXT); |
| interpreter->registerFunction(Ids::GlTexSubImage3DOES, callGlTexSubImage3DOES); |
| interpreter->registerFunction(Ids::GlTextureStorage1DEXT, callGlTextureStorage1DEXT); |
| interpreter->registerFunction(Ids::GlTextureStorage2DEXT, callGlTextureStorage2DEXT); |
| interpreter->registerFunction(Ids::GlTextureStorage3DEXT, callGlTextureStorage3DEXT); |
| interpreter->registerFunction(Ids::GlTextureViewEXT, callGlTextureViewEXT); |
| interpreter->registerFunction(Ids::GlTextureViewOES, callGlTextureViewOES); |
| interpreter->registerFunction(Ids::GlTransformPathNV, callGlTransformPathNV); |
| interpreter->registerFunction(Ids::GlUniformHandleui64NV, callGlUniformHandleui64NV); |
| interpreter->registerFunction(Ids::GlUniformHandleui64vNV, callGlUniformHandleui64vNV); |
| interpreter->registerFunction(Ids::GlUniformMatrix2x3fvNV, callGlUniformMatrix2x3fvNV); |
| interpreter->registerFunction(Ids::GlUniformMatrix2x4fvNV, callGlUniformMatrix2x4fvNV); |
| interpreter->registerFunction(Ids::GlUniformMatrix3x2fvNV, callGlUniformMatrix3x2fvNV); |
| interpreter->registerFunction(Ids::GlUniformMatrix3x4fvNV, callGlUniformMatrix3x4fvNV); |
| interpreter->registerFunction(Ids::GlUniformMatrix4x2fvNV, callGlUniformMatrix4x2fvNV); |
| interpreter->registerFunction(Ids::GlUniformMatrix4x3fvNV, callGlUniformMatrix4x3fvNV); |
| interpreter->registerFunction(Ids::GlUnmapBufferOES, callGlUnmapBufferOES); |
| interpreter->registerFunction(Ids::GlUseProgramStagesEXT, callGlUseProgramStagesEXT); |
| interpreter->registerFunction(Ids::GlValidateProgramPipelineEXT, |
| callGlValidateProgramPipelineEXT); |
| interpreter->registerFunction(Ids::GlVertexAttribDivisorANGLE, callGlVertexAttribDivisorANGLE); |
| interpreter->registerFunction(Ids::GlVertexAttribDivisorEXT, callGlVertexAttribDivisorEXT); |
| interpreter->registerFunction(Ids::GlVertexAttribDivisorNV, callGlVertexAttribDivisorNV); |
| interpreter->registerFunction(Ids::GlViewportArrayvNV, callGlViewportArrayvNV); |
| interpreter->registerFunction(Ids::GlViewportIndexedfNV, callGlViewportIndexedfNV); |
| interpreter->registerFunction(Ids::GlViewportIndexedfvNV, callGlViewportIndexedfvNV); |
| interpreter->registerFunction(Ids::GlWaitSyncAPPLE, callGlWaitSyncAPPLE); |
| interpreter->registerFunction(Ids::GlWeightPathsNV, callGlWeightPathsNV); |
| interpreter->registerFunction(Ids::GlCoverageModulationNV, callGlCoverageModulationNV); |
| interpreter->registerFunction(Ids::GlCoverageModulationTableNV, |
| callGlCoverageModulationTableNV); |
| interpreter->registerFunction(Ids::GlFragmentCoverageColorNV, callGlFragmentCoverageColorNV); |
| interpreter->registerFunction(Ids::GlFramebufferSampleLocationsfvNV, |
| callGlFramebufferSampleLocationsfvNV); |
| interpreter->registerFunction(Ids::GlGetCoverageModulationTableNV, |
| callGlGetCoverageModulationTableNV); |
| interpreter->registerFunction(Ids::GlNamedFramebufferSampleLocationsfvNV, |
| callGlNamedFramebufferSampleLocationsfvNV); |
| interpreter->registerFunction(Ids::GlRasterSamplesEXT, callGlRasterSamplesEXT); |
| interpreter->registerFunction(Ids::GlResolveDepthValuesNV, callGlResolveDepthValuesNV); |
| interpreter->registerFunction(Ids::GlSubpixelPrecisionBiasNV, callGlSubpixelPrecisionBiasNV); |
| interpreter->registerFunction(Ids::GlBlendColor, callGlBlendColor); |
| interpreter->registerFunction(Ids::GlBlendEquation, callGlBlendEquation); |
| interpreter->registerFunction(Ids::GlBlendEquationSeparate, callGlBlendEquationSeparate); |
| interpreter->registerFunction(Ids::GlBlendFunc, callGlBlendFunc); |
| interpreter->registerFunction(Ids::GlBlendFuncSeparate, callGlBlendFuncSeparate); |
| interpreter->registerFunction(Ids::GlDepthFunc, callGlDepthFunc); |
| interpreter->registerFunction(Ids::GlSampleCoverage, callGlSampleCoverage); |
| interpreter->registerFunction(Ids::GlSampleMaski, callGlSampleMaski); |
| interpreter->registerFunction(Ids::GlScissor, callGlScissor); |
| interpreter->registerFunction(Ids::GlStencilFunc, callGlStencilFunc); |
| interpreter->registerFunction(Ids::GlStencilFuncSeparate, callGlStencilFuncSeparate); |
| interpreter->registerFunction(Ids::GlStencilOp, callGlStencilOp); |
| interpreter->registerFunction(Ids::GlStencilOpSeparate, callGlStencilOpSeparate); |
| interpreter->registerFunction(Ids::GlBindFramebuffer, callGlBindFramebuffer); |
| interpreter->registerFunction(Ids::GlBindRenderbuffer, callGlBindRenderbuffer); |
| interpreter->registerFunction(Ids::GlBlitFramebuffer, callGlBlitFramebuffer); |
| interpreter->registerFunction(Ids::GlCheckFramebufferStatus, callGlCheckFramebufferStatus); |
| interpreter->registerFunction(Ids::GlClear, callGlClear); |
| interpreter->registerFunction(Ids::GlClearBufferfi, callGlClearBufferfi); |
| interpreter->registerFunction(Ids::GlClearBufferfv, callGlClearBufferfv); |
| interpreter->registerFunction(Ids::GlClearBufferiv, callGlClearBufferiv); |
| interpreter->registerFunction(Ids::GlClearBufferuiv, callGlClearBufferuiv); |
| interpreter->registerFunction(Ids::GlClearColor, callGlClearColor); |
| interpreter->registerFunction(Ids::GlClearDepthf, callGlClearDepthf); |
| interpreter->registerFunction(Ids::GlClearStencil, callGlClearStencil); |
| interpreter->registerFunction(Ids::GlColorMask, callGlColorMask); |
| interpreter->registerFunction(Ids::GlDeleteFramebuffers, callGlDeleteFramebuffers); |
| interpreter->registerFunction(Ids::GlDeleteRenderbuffers, callGlDeleteRenderbuffers); |
| interpreter->registerFunction(Ids::GlDepthMask, callGlDepthMask); |
| interpreter->registerFunction(Ids::GlFramebufferParameteri, callGlFramebufferParameteri); |
| interpreter->registerFunction(Ids::GlFramebufferRenderbuffer, callGlFramebufferRenderbuffer); |
| interpreter->registerFunction(Ids::GlFramebufferTexture2D, callGlFramebufferTexture2D); |
| interpreter->registerFunction(Ids::GlFramebufferTextureLayer, callGlFramebufferTextureLayer); |
| interpreter->registerFunction(Ids::GlGenFramebuffers, callGlGenFramebuffers); |
| interpreter->registerFunction(Ids::GlGenRenderbuffers, callGlGenRenderbuffers); |
| interpreter->registerFunction(Ids::GlGetFramebufferAttachmentParameteriv, |
| callGlGetFramebufferAttachmentParameteriv); |
| interpreter->registerFunction(Ids::GlGetFramebufferParameteriv, |
| callGlGetFramebufferParameteriv); |
| interpreter->registerFunction(Ids::GlGetRenderbufferParameteriv, |
| callGlGetRenderbufferParameteriv); |
| interpreter->registerFunction(Ids::GlInvalidateFramebuffer, callGlInvalidateFramebuffer); |
| interpreter->registerFunction(Ids::GlInvalidateSubFramebuffer, callGlInvalidateSubFramebuffer); |
| interpreter->registerFunction(Ids::GlIsFramebuffer, callGlIsFramebuffer); |
| interpreter->registerFunction(Ids::GlIsRenderbuffer, callGlIsRenderbuffer); |
| interpreter->registerFunction(Ids::GlReadBuffer, callGlReadBuffer); |
| interpreter->registerFunction(Ids::GlReadPixels, callGlReadPixels); |
| interpreter->registerFunction(Ids::GlRenderbufferStorage, callGlRenderbufferStorage); |
| interpreter->registerFunction(Ids::GlRenderbufferStorageMultisample, |
| callGlRenderbufferStorageMultisample); |
| interpreter->registerFunction(Ids::GlStencilMask, callGlStencilMask); |
| interpreter->registerFunction(Ids::GlStencilMaskSeparate, callGlStencilMaskSeparate); |
| interpreter->registerFunction(Ids::GlDisable, callGlDisable); |
| interpreter->registerFunction(Ids::GlEnable, callGlEnable); |
| interpreter->registerFunction(Ids::GlFinish, callGlFinish); |
| interpreter->registerFunction(Ids::GlFlush, callGlFlush); |
| interpreter->registerFunction(Ids::GlFlushMappedBufferRange, callGlFlushMappedBufferRange); |
| interpreter->registerFunction(Ids::GlGetError, callGlGetError); |
| interpreter->registerFunction(Ids::GlHint, callGlHint); |
| interpreter->registerFunction(Ids::GlActiveShaderProgram, callGlActiveShaderProgram); |
| interpreter->registerFunction(Ids::GlAttachShader, callGlAttachShader); |
| interpreter->registerFunction(Ids::GlBindAttribLocation, callGlBindAttribLocation); |
| interpreter->registerFunction(Ids::GlBindProgramPipeline, callGlBindProgramPipeline); |
| interpreter->registerFunction(Ids::GlCompileShader, callGlCompileShader); |
| interpreter->registerFunction(Ids::GlCreateProgram, callGlCreateProgram); |
| interpreter->registerFunction(Ids::GlCreateShader, callGlCreateShader); |
| interpreter->registerFunction(Ids::GlCreateShaderProgramv, callGlCreateShaderProgramv); |
| interpreter->registerFunction(Ids::GlDeleteProgram, callGlDeleteProgram); |
| interpreter->registerFunction(Ids::GlDeleteProgramPipelines, callGlDeleteProgramPipelines); |
| interpreter->registerFunction(Ids::GlDeleteShader, callGlDeleteShader); |
| interpreter->registerFunction(Ids::GlDetachShader, callGlDetachShader); |
| interpreter->registerFunction(Ids::GlDispatchCompute, callGlDispatchCompute); |
| interpreter->registerFunction(Ids::GlDispatchComputeIndirect, callGlDispatchComputeIndirect); |
| interpreter->registerFunction(Ids::GlGenProgramPipelines, callGlGenProgramPipelines); |
| interpreter->registerFunction(Ids::GlGetActiveAttrib, callGlGetActiveAttrib); |
| interpreter->registerFunction(Ids::GlGetActiveUniform, callGlGetActiveUniform); |
| interpreter->registerFunction(Ids::GlGetActiveUniformBlockName, |
| callGlGetActiveUniformBlockName); |
| interpreter->registerFunction(Ids::GlGetActiveUniformBlockiv, callGlGetActiveUniformBlockiv); |
| interpreter->registerFunction(Ids::GlGetActiveUniformsiv, callGlGetActiveUniformsiv); |
| interpreter->registerFunction(Ids::GlGetAttachedShaders, callGlGetAttachedShaders); |
| interpreter->registerFunction(Ids::GlGetAttribLocation, callGlGetAttribLocation); |
| interpreter->registerFunction(Ids::GlGetFragDataLocation, callGlGetFragDataLocation); |
| interpreter->registerFunction(Ids::GlGetProgramBinary, callGlGetProgramBinary); |
| interpreter->registerFunction(Ids::GlGetProgramInfoLog, callGlGetProgramInfoLog); |
| interpreter->registerFunction(Ids::GlGetProgramInterfaceiv, callGlGetProgramInterfaceiv); |
| interpreter->registerFunction(Ids::GlGetProgramPipelineInfoLog, |
| callGlGetProgramPipelineInfoLog); |
| interpreter->registerFunction(Ids::GlGetProgramPipelineiv, callGlGetProgramPipelineiv); |
| interpreter->registerFunction(Ids::GlGetProgramResourceIndex, callGlGetProgramResourceIndex); |
| interpreter->registerFunction(Ids::GlGetProgramResourceLocation, |
| callGlGetProgramResourceLocation); |
| interpreter->registerFunction(Ids::GlGetProgramResourceName, callGlGetProgramResourceName); |
| interpreter->registerFunction(Ids::GlGetProgramResourceiv, callGlGetProgramResourceiv); |
| interpreter->registerFunction(Ids::GlGetProgramiv, callGlGetProgramiv); |
| interpreter->registerFunction(Ids::GlGetShaderInfoLog, callGlGetShaderInfoLog); |
| interpreter->registerFunction(Ids::GlGetShaderPrecisionFormat, callGlGetShaderPrecisionFormat); |
| interpreter->registerFunction(Ids::GlGetShaderSource, callGlGetShaderSource); |
| interpreter->registerFunction(Ids::GlGetShaderiv, callGlGetShaderiv); |
| interpreter->registerFunction(Ids::GlGetUniformBlockIndex, callGlGetUniformBlockIndex); |
| interpreter->registerFunction(Ids::GlGetUniformIndices, callGlGetUniformIndices); |
| interpreter->registerFunction(Ids::GlGetUniformLocation, callGlGetUniformLocation); |
| interpreter->registerFunction(Ids::GlGetUniformfv, callGlGetUniformfv); |
| interpreter->registerFunction(Ids::GlGetUniformiv, callGlGetUniformiv); |
| interpreter->registerFunction(Ids::GlGetUniformuiv, callGlGetUniformuiv); |
| interpreter->registerFunction(Ids::GlIsProgram, callGlIsProgram); |
| interpreter->registerFunction(Ids::GlIsProgramPipeline, callGlIsProgramPipeline); |
| interpreter->registerFunction(Ids::GlIsShader, callGlIsShader); |
| interpreter->registerFunction(Ids::GlLinkProgram, callGlLinkProgram); |
| interpreter->registerFunction(Ids::GlMemoryBarrier, callGlMemoryBarrier); |
| interpreter->registerFunction(Ids::GlMemoryBarrierByRegion, callGlMemoryBarrierByRegion); |
| interpreter->registerFunction(Ids::GlProgramBinary, callGlProgramBinary); |
| interpreter->registerFunction(Ids::GlProgramParameteri, callGlProgramParameteri); |
| interpreter->registerFunction(Ids::GlProgramUniform1f, callGlProgramUniform1f); |
| interpreter->registerFunction(Ids::GlProgramUniform1fv, callGlProgramUniform1fv); |
| interpreter->registerFunction(Ids::GlProgramUniform1i, callGlProgramUniform1i); |
| interpreter->registerFunction(Ids::GlProgramUniform1iv, callGlProgramUniform1iv); |
| interpreter->registerFunction(Ids::GlProgramUniform1ui, callGlProgramUniform1ui); |
| interpreter->registerFunction(Ids::GlProgramUniform1uiv, callGlProgramUniform1uiv); |
| interpreter->registerFunction(Ids::GlProgramUniform2f, callGlProgramUniform2f); |
| interpreter->registerFunction(Ids::GlProgramUniform2fv, callGlProgramUniform2fv); |
| interpreter->registerFunction(Ids::GlProgramUniform2i, callGlProgramUniform2i); |
| interpreter->registerFunction(Ids::GlProgramUniform2iv, callGlProgramUniform2iv); |
| interpreter->registerFunction(Ids::GlProgramUniform2ui, callGlProgramUniform2ui); |
| interpreter->registerFunction(Ids::GlProgramUniform2uiv, callGlProgramUniform2uiv); |
| interpreter->registerFunction(Ids::GlProgramUniform3f, callGlProgramUniform3f); |
| interpreter->registerFunction(Ids::GlProgramUniform3fv, callGlProgramUniform3fv); |
| interpreter->registerFunction(Ids::GlProgramUniform3i, callGlProgramUniform3i); |
| interpreter->registerFunction(Ids::GlProgramUniform3iv, callGlProgramUniform3iv); |
| interpreter->registerFunction(Ids::GlProgramUniform3ui, callGlProgramUniform3ui); |
| interpreter->registerFunction(Ids::GlProgramUniform3uiv, callGlProgramUniform3uiv); |
| interpreter->registerFunction(Ids::GlProgramUniform4f, callGlProgramUniform4f); |
| interpreter->registerFunction(Ids::GlProgramUniform4fv, callGlProgramUniform4fv); |
| interpreter->registerFunction(Ids::GlProgramUniform4i, callGlProgramUniform4i); |
| interpreter->registerFunction(Ids::GlProgramUniform4iv, callGlProgramUniform4iv); |
| interpreter->registerFunction(Ids::GlProgramUniform4ui, callGlProgramUniform4ui); |
| interpreter->registerFunction(Ids::GlProgramUniform4uiv, callGlProgramUniform4uiv); |
| interpreter->registerFunction(Ids::GlProgramUniformMatrix2fv, callGlProgramUniformMatrix2fv); |
| interpreter->registerFunction(Ids::GlProgramUniformMatrix2x3fv, |
| callGlProgramUniformMatrix2x3fv); |
| interpreter->registerFunction(Ids::GlProgramUniformMatrix2x4fv, |
| callGlProgramUniformMatrix2x4fv); |
| interpreter->registerFunction(Ids::GlProgramUniformMatrix3fv, callGlProgramUniformMatrix3fv); |
| interpreter->registerFunction(Ids::GlProgramUniformMatrix3x2fv, |
| callGlProgramUniformMatrix3x2fv); |
| interpreter->registerFunction(Ids::GlProgramUniformMatrix3x4fv, |
| callGlProgramUniformMatrix3x4fv); |
| interpreter->registerFunction(Ids::GlProgramUniformMatrix4fv, callGlProgramUniformMatrix4fv); |
| interpreter->registerFunction(Ids::GlProgramUniformMatrix4x2fv, |
| callGlProgramUniformMatrix4x2fv); |
| interpreter->registerFunction(Ids::GlProgramUniformMatrix4x3fv, |
| callGlProgramUniformMatrix4x3fv); |
| interpreter->registerFunction(Ids::GlReleaseShaderCompiler, callGlReleaseShaderCompiler); |
| interpreter->registerFunction(Ids::GlShaderBinary, callGlShaderBinary); |
| interpreter->registerFunction(Ids::GlShaderSource, callGlShaderSource); |
| interpreter->registerFunction(Ids::GlUniform1f, callGlUniform1f); |
| interpreter->registerFunction(Ids::GlUniform1fv, callGlUniform1fv); |
| interpreter->registerFunction(Ids::GlUniform1i, callGlUniform1i); |
| interpreter->registerFunction(Ids::GlUniform1iv, callGlUniform1iv); |
| interpreter->registerFunction(Ids::GlUniform1ui, callGlUniform1ui); |
| interpreter->registerFunction(Ids::GlUniform1uiv, callGlUniform1uiv); |
| interpreter->registerFunction(Ids::GlUniform2f, callGlUniform2f); |
| interpreter->registerFunction(Ids::GlUniform2fv, callGlUniform2fv); |
| interpreter->registerFunction(Ids::GlUniform2i, callGlUniform2i); |
| interpreter->registerFunction(Ids::GlUniform2iv, callGlUniform2iv); |
| interpreter->registerFunction(Ids::GlUniform2ui, callGlUniform2ui); |
| interpreter->registerFunction(Ids::GlUniform2uiv, callGlUniform2uiv); |
| interpreter->registerFunction(Ids::GlUniform3f, callGlUniform3f); |
| interpreter->registerFunction(Ids::GlUniform3fv, callGlUniform3fv); |
| interpreter->registerFunction(Ids::GlUniform3i, callGlUniform3i); |
| interpreter->registerFunction(Ids::GlUniform3iv, callGlUniform3iv); |
| interpreter->registerFunction(Ids::GlUniform3ui, callGlUniform3ui); |
| interpreter->registerFunction(Ids::GlUniform3uiv, callGlUniform3uiv); |
| interpreter->registerFunction(Ids::GlUniform4f, callGlUniform4f); |
| interpreter->registerFunction(Ids::GlUniform4fv, callGlUniform4fv); |
| interpreter->registerFunction(Ids::GlUniform4i, callGlUniform4i); |
| interpreter->registerFunction(Ids::GlUniform4iv, callGlUniform4iv); |
| interpreter->registerFunction(Ids::GlUniform4ui, callGlUniform4ui); |
| interpreter->registerFunction(Ids::GlUniform4uiv, callGlUniform4uiv); |
| interpreter->registerFunction(Ids::GlUniformBlockBinding, callGlUniformBlockBinding); |
| interpreter->registerFunction(Ids::GlUniformMatrix2fv, callGlUniformMatrix2fv); |
| interpreter->registerFunction(Ids::GlUniformMatrix2x3fv, callGlUniformMatrix2x3fv); |
| interpreter->registerFunction(Ids::GlUniformMatrix2x4fv, callGlUniformMatrix2x4fv); |
| interpreter->registerFunction(Ids::GlUniformMatrix3fv, callGlUniformMatrix3fv); |
| interpreter->registerFunction(Ids::GlUniformMatrix3x2fv, callGlUniformMatrix3x2fv); |
| interpreter->registerFunction(Ids::GlUniformMatrix3x4fv, callGlUniformMatrix3x4fv); |
| interpreter->registerFunction(Ids::GlUniformMatrix4fv, callGlUniformMatrix4fv); |
| interpreter->registerFunction(Ids::GlUniformMatrix4x2fv, callGlUniformMatrix4x2fv); |
| interpreter->registerFunction(Ids::GlUniformMatrix4x3fv, callGlUniformMatrix4x3fv); |
| interpreter->registerFunction(Ids::GlUseProgram, callGlUseProgram); |
| interpreter->registerFunction(Ids::GlUseProgramStages, callGlUseProgramStages); |
| interpreter->registerFunction(Ids::GlValidateProgram, callGlValidateProgram); |
| interpreter->registerFunction(Ids::GlValidateProgramPipeline, callGlValidateProgramPipeline); |
| interpreter->registerFunction(Ids::GlCullFace, callGlCullFace); |
| interpreter->registerFunction(Ids::GlDepthRangef, callGlDepthRangef); |
| interpreter->registerFunction(Ids::GlFrontFace, callGlFrontFace); |
| interpreter->registerFunction(Ids::GlGetMultisamplefv, callGlGetMultisamplefv); |
| interpreter->registerFunction(Ids::GlLineWidth, callGlLineWidth); |
| interpreter->registerFunction(Ids::GlPolygonOffset, callGlPolygonOffset); |
| interpreter->registerFunction(Ids::GlViewport, callGlViewport); |
| interpreter->registerFunction(Ids::GlGetBooleaniV, callGlGetBooleaniV); |
| interpreter->registerFunction(Ids::GlGetBooleanv, callGlGetBooleanv); |
| interpreter->registerFunction(Ids::GlGetFloatv, callGlGetFloatv); |
| interpreter->registerFunction(Ids::GlGetInteger64iV, callGlGetInteger64iV); |
| interpreter->registerFunction(Ids::GlGetInteger64v, callGlGetInteger64v); |
| interpreter->registerFunction(Ids::GlGetIntegeriV, callGlGetIntegeriV); |
| interpreter->registerFunction(Ids::GlGetIntegerv, callGlGetIntegerv); |
| interpreter->registerFunction(Ids::GlGetInternalformativ, callGlGetInternalformativ); |
| interpreter->registerFunction(Ids::GlGetString, callGlGetString); |
| interpreter->registerFunction(Ids::GlGetStringi, callGlGetStringi); |
| interpreter->registerFunction(Ids::GlIsEnabled, callGlIsEnabled); |
| interpreter->registerFunction(Ids::GlClientWaitSync, callGlClientWaitSync); |
| interpreter->registerFunction(Ids::GlDeleteSync, callGlDeleteSync); |
| interpreter->registerFunction(Ids::GlFenceSync, callGlFenceSync); |
| interpreter->registerFunction(Ids::GlGetSynciv, callGlGetSynciv); |
| interpreter->registerFunction(Ids::GlIsSync, callGlIsSync); |
| interpreter->registerFunction(Ids::GlWaitSync, callGlWaitSync); |
| interpreter->registerFunction(Ids::GlActiveTexture, callGlActiveTexture); |
| interpreter->registerFunction(Ids::GlBindImageTexture, callGlBindImageTexture); |
| interpreter->registerFunction(Ids::GlBindSampler, callGlBindSampler); |
| interpreter->registerFunction(Ids::GlBindTexture, callGlBindTexture); |
| interpreter->registerFunction(Ids::GlCompressedTexImage2D, callGlCompressedTexImage2D); |
| interpreter->registerFunction(Ids::GlCompressedTexImage3D, callGlCompressedTexImage3D); |
| interpreter->registerFunction(Ids::GlCompressedTexSubImage2D, callGlCompressedTexSubImage2D); |
| interpreter->registerFunction(Ids::GlCompressedTexSubImage3D, callGlCompressedTexSubImage3D); |
| interpreter->registerFunction(Ids::GlCopyTexImage2D, callGlCopyTexImage2D); |
| interpreter->registerFunction(Ids::GlCopyTexSubImage2D, callGlCopyTexSubImage2D); |
| interpreter->registerFunction(Ids::GlCopyTexSubImage3D, callGlCopyTexSubImage3D); |
| interpreter->registerFunction(Ids::GlDeleteSamplers, callGlDeleteSamplers); |
| interpreter->registerFunction(Ids::GlDeleteTextures, callGlDeleteTextures); |
| interpreter->registerFunction(Ids::GlGenSamplers, callGlGenSamplers); |
| interpreter->registerFunction(Ids::GlGenTextures, callGlGenTextures); |
| interpreter->registerFunction(Ids::GlGenerateMipmap, callGlGenerateMipmap); |
| interpreter->registerFunction(Ids::GlGetSamplerParameterfv, callGlGetSamplerParameterfv); |
| interpreter->registerFunction(Ids::GlGetSamplerParameteriv, callGlGetSamplerParameteriv); |
| interpreter->registerFunction(Ids::GlGetTexLevelParameterfv, callGlGetTexLevelParameterfv); |
| interpreter->registerFunction(Ids::GlGetTexLevelParameteriv, callGlGetTexLevelParameteriv); |
| interpreter->registerFunction(Ids::GlGetTexParameterfv, callGlGetTexParameterfv); |
| interpreter->registerFunction(Ids::GlGetTexParameteriv, callGlGetTexParameteriv); |
| interpreter->registerFunction(Ids::GlIsSampler, callGlIsSampler); |
| interpreter->registerFunction(Ids::GlIsTexture, callGlIsTexture); |
| interpreter->registerFunction(Ids::GlPixelStorei, callGlPixelStorei); |
| interpreter->registerFunction(Ids::GlSamplerParameterf, callGlSamplerParameterf); |
| interpreter->registerFunction(Ids::GlSamplerParameterfv, callGlSamplerParameterfv); |
| interpreter->registerFunction(Ids::GlSamplerParameteri, callGlSamplerParameteri); |
| interpreter->registerFunction(Ids::GlSamplerParameteriv, callGlSamplerParameteriv); |
| interpreter->registerFunction(Ids::GlTexImage2D, callGlTexImage2D); |
| interpreter->registerFunction(Ids::GlTexImage3D, callGlTexImage3D); |
| interpreter->registerFunction(Ids::GlTexParameterf, callGlTexParameterf); |
| interpreter->registerFunction(Ids::GlTexParameterfv, callGlTexParameterfv); |
| interpreter->registerFunction(Ids::GlTexParameteri, callGlTexParameteri); |
| interpreter->registerFunction(Ids::GlTexParameteriv, callGlTexParameteriv); |
| interpreter->registerFunction(Ids::GlTexStorage2D, callGlTexStorage2D); |
| interpreter->registerFunction(Ids::GlTexStorage2DMultisample, callGlTexStorage2DMultisample); |
| interpreter->registerFunction(Ids::GlTexStorage3D, callGlTexStorage3D); |
| interpreter->registerFunction(Ids::GlTexSubImage2D, callGlTexSubImage2D); |
| interpreter->registerFunction(Ids::GlTexSubImage3D, callGlTexSubImage3D); |
| interpreter->registerFunction(Ids::GlBeginTransformFeedback, callGlBeginTransformFeedback); |
| interpreter->registerFunction(Ids::GlBindTransformFeedback, callGlBindTransformFeedback); |
| interpreter->registerFunction(Ids::GlDeleteTransformFeedbacks, callGlDeleteTransformFeedbacks); |
| interpreter->registerFunction(Ids::GlEndTransformFeedback, callGlEndTransformFeedback); |
| interpreter->registerFunction(Ids::GlGenTransformFeedbacks, callGlGenTransformFeedbacks); |
| interpreter->registerFunction(Ids::GlGetTransformFeedbackVarying, |
| callGlGetTransformFeedbackVarying); |
| interpreter->registerFunction(Ids::GlIsTransformFeedback, callGlIsTransformFeedback); |
| interpreter->registerFunction(Ids::GlPauseTransformFeedback, callGlPauseTransformFeedback); |
| interpreter->registerFunction(Ids::GlResumeTransformFeedback, callGlResumeTransformFeedback); |
| interpreter->registerFunction(Ids::GlTransformFeedbackVaryings, |
| callGlTransformFeedbackVaryings); |
| interpreter->registerFunction(Ids::GlBindVertexArray, callGlBindVertexArray); |
| interpreter->registerFunction(Ids::GlBindVertexBuffer, callGlBindVertexBuffer); |
| interpreter->registerFunction(Ids::GlDeleteVertexArrays, callGlDeleteVertexArrays); |
| interpreter->registerFunction(Ids::GlDisableVertexAttribArray, callGlDisableVertexAttribArray); |
| interpreter->registerFunction(Ids::GlEnableVertexAttribArray, callGlEnableVertexAttribArray); |
| interpreter->registerFunction(Ids::GlGenVertexArrays, callGlGenVertexArrays); |
| interpreter->registerFunction(Ids::GlGetVertexAttribIiv, callGlGetVertexAttribIiv); |
| interpreter->registerFunction(Ids::GlGetVertexAttribIuiv, callGlGetVertexAttribIuiv); |
| interpreter->registerFunction(Ids::GlGetVertexAttribPointerv, callGlGetVertexAttribPointerv); |
| interpreter->registerFunction(Ids::GlGetVertexAttribfv, callGlGetVertexAttribfv); |
| interpreter->registerFunction(Ids::GlGetVertexAttribiv, callGlGetVertexAttribiv); |
| interpreter->registerFunction(Ids::GlIsVertexArray, callGlIsVertexArray); |
| interpreter->registerFunction(Ids::GlVertexAttrib1f, callGlVertexAttrib1f); |
| interpreter->registerFunction(Ids::GlVertexAttrib1fv, callGlVertexAttrib1fv); |
| interpreter->registerFunction(Ids::GlVertexAttrib2f, callGlVertexAttrib2f); |
| interpreter->registerFunction(Ids::GlVertexAttrib2fv, callGlVertexAttrib2fv); |
| interpreter->registerFunction(Ids::GlVertexAttrib3f, callGlVertexAttrib3f); |
| interpreter->registerFunction(Ids::GlVertexAttrib3fv, callGlVertexAttrib3fv); |
| interpreter->registerFunction(Ids::GlVertexAttrib4f, callGlVertexAttrib4f); |
| interpreter->registerFunction(Ids::GlVertexAttrib4fv, callGlVertexAttrib4fv); |
| interpreter->registerFunction(Ids::GlVertexAttribBinding, callGlVertexAttribBinding); |
| interpreter->registerFunction(Ids::GlVertexAttribDivisor, callGlVertexAttribDivisor); |
| interpreter->registerFunction(Ids::GlVertexAttribFormat, callGlVertexAttribFormat); |
| interpreter->registerFunction(Ids::GlVertexAttribI4i, callGlVertexAttribI4i); |
| interpreter->registerFunction(Ids::GlVertexAttribI4iv, callGlVertexAttribI4iv); |
| interpreter->registerFunction(Ids::GlVertexAttribI4ui, callGlVertexAttribI4ui); |
| interpreter->registerFunction(Ids::GlVertexAttribI4uiv, callGlVertexAttribI4uiv); |
| interpreter->registerFunction(Ids::GlVertexAttribIFormat, callGlVertexAttribIFormat); |
| interpreter->registerFunction(Ids::GlVertexAttribIPointer, callGlVertexAttribIPointer); |
| interpreter->registerFunction(Ids::GlVertexAttribPointer, callGlVertexAttribPointer); |
| interpreter->registerFunction(Ids::GlVertexBindingDivisor, callGlVertexBindingDivisor); |
| interpreter->registerFunction(Ids::EglInitialize, callEglInitialize); |
| interpreter->registerFunction(Ids::EglCreateContext, callEglCreateContext); |
| interpreter->registerFunction(Ids::EglMakeCurrent, callEglMakeCurrent); |
| interpreter->registerFunction(Ids::EglSwapBuffers, callEglSwapBuffers); |
| interpreter->registerFunction(Ids::EglQuerySurface, callEglQuerySurface); |
| interpreter->registerFunction(Ids::GlXCreateContext, callGlXCreateContext); |
| interpreter->registerFunction(Ids::GlXCreateNewContext, callGlXCreateNewContext); |
| interpreter->registerFunction(Ids::GlXMakeContextCurrent, callGlXMakeContextCurrent); |
| interpreter->registerFunction(Ids::GlXMakeCurrent, callGlXMakeCurrent); |
| interpreter->registerFunction(Ids::GlXSwapBuffers, callGlXSwapBuffers); |
| interpreter->registerFunction(Ids::GlXQueryDrawable, callGlXQueryDrawable); |
| interpreter->registerFunction(Ids::WglCreateContext, callWglCreateContext); |
| interpreter->registerFunction(Ids::WglCreateContextAttribsARB, callWglCreateContextAttribsARB); |
| interpreter->registerFunction(Ids::WglMakeCurrent, callWglMakeCurrent); |
| interpreter->registerFunction(Ids::WglSwapBuffers, callWglSwapBuffers); |
| interpreter->registerFunction(Ids::CGLCreateContext, callCGLCreateContext); |
| interpreter->registerFunction(Ids::CGLSetCurrentContext, callCGLSetCurrentContext); |
| interpreter->registerFunction(Ids::CGLGetSurface, callCGLGetSurface); |
| interpreter->registerFunction(Ids::CGSGetSurfaceBounds, callCGSGetSurfaceBounds); |
| interpreter->registerFunction(Ids::CGLFlushDrawable, callCGLFlushDrawable); |
| interpreter->registerFunction(Ids::GlGetQueryObjecti64v, callGlGetQueryObjecti64v); |
| interpreter->registerFunction(Ids::GlGetQueryObjectui64v, callGlGetQueryObjectui64v); |
| } |
| void Initialize() { |
| glBlendBarrierKHR = reinterpret_cast<PFNGLBLENDBARRIERKHR>( |
| gapic::GetGfxProcAddress("glBlendBarrierKHR", false)); |
| glBlendEquationSeparateiEXT = reinterpret_cast<PFNGLBLENDEQUATIONSEPARATEIEXT>( |
| gapic::GetGfxProcAddress("glBlendEquationSeparateiEXT", false)); |
| glBlendEquationiEXT = reinterpret_cast<PFNGLBLENDEQUATIONIEXT>( |
| gapic::GetGfxProcAddress("glBlendEquationiEXT", false)); |
| glBlendFuncSeparateiEXT = reinterpret_cast<PFNGLBLENDFUNCSEPARATEIEXT>( |
| gapic::GetGfxProcAddress("glBlendFuncSeparateiEXT", false)); |
| glBlendFunciEXT = reinterpret_cast<PFNGLBLENDFUNCIEXT>( |
| gapic::GetGfxProcAddress("glBlendFunciEXT", false)); |
| glColorMaskiEXT = reinterpret_cast<PFNGLCOLORMASKIEXT>( |
| gapic::GetGfxProcAddress("glColorMaskiEXT", false)); |
| glCopyImageSubDataEXT = reinterpret_cast<PFNGLCOPYIMAGESUBDATAEXT>( |
| gapic::GetGfxProcAddress("glCopyImageSubDataEXT", false)); |
| glDebugMessageCallbackKHR = reinterpret_cast<PFNGLDEBUGMESSAGECALLBACKKHR>( |
| gapic::GetGfxProcAddress("glDebugMessageCallbackKHR", false)); |
| glDebugMessageControlKHR = reinterpret_cast<PFNGLDEBUGMESSAGECONTROLKHR>( |
| gapic::GetGfxProcAddress("glDebugMessageControlKHR", false)); |
| glDebugMessageInsertKHR = reinterpret_cast<PFNGLDEBUGMESSAGEINSERTKHR>( |
| gapic::GetGfxProcAddress("glDebugMessageInsertKHR", false)); |
| glDisableiEXT = |
| reinterpret_cast<PFNGLDISABLEIEXT>(gapic::GetGfxProcAddress("glDisableiEXT", false)); |
| glEnableiEXT = |
| reinterpret_cast<PFNGLENABLEIEXT>(gapic::GetGfxProcAddress("glEnableiEXT", false)); |
| glFramebufferTextureEXT = reinterpret_cast<PFNGLFRAMEBUFFERTEXTUREEXT>( |
| gapic::GetGfxProcAddress("glFramebufferTextureEXT", false)); |
| glGetDebugMessageLogKHR = reinterpret_cast<PFNGLGETDEBUGMESSAGELOGKHR>( |
| gapic::GetGfxProcAddress("glGetDebugMessageLogKHR", false)); |
| glGetObjectLabelKHR = reinterpret_cast<PFNGLGETOBJECTLABELKHR>( |
| gapic::GetGfxProcAddress("glGetObjectLabelKHR", false)); |
| glGetObjectPtrLabelKHR = reinterpret_cast<PFNGLGETOBJECTPTRLABELKHR>( |
| gapic::GetGfxProcAddress("glGetObjectPtrLabelKHR", false)); |
| glGetPointervKHR = reinterpret_cast<PFNGLGETPOINTERVKHR>( |
| gapic::GetGfxProcAddress("glGetPointervKHR", false)); |
| glGetSamplerParameterIivEXT = reinterpret_cast<PFNGLGETSAMPLERPARAMETERIIVEXT>( |
| gapic::GetGfxProcAddress("glGetSamplerParameterIivEXT", false)); |
| glGetSamplerParameterIuivEXT = reinterpret_cast<PFNGLGETSAMPLERPARAMETERIUIVEXT>( |
| gapic::GetGfxProcAddress("glGetSamplerParameterIuivEXT", false)); |
| glGetTexParameterIivEXT = reinterpret_cast<PFNGLGETTEXPARAMETERIIVEXT>( |
| gapic::GetGfxProcAddress("glGetTexParameterIivEXT", false)); |
| glGetTexParameterIuivEXT = reinterpret_cast<PFNGLGETTEXPARAMETERIUIVEXT>( |
| gapic::GetGfxProcAddress("glGetTexParameterIuivEXT", false)); |
| glIsEnablediEXT = reinterpret_cast<PFNGLISENABLEDIEXT>( |
| gapic::GetGfxProcAddress("glIsEnablediEXT", false)); |
| glMinSampleShadingOES = reinterpret_cast<PFNGLMINSAMPLESHADINGOES>( |
| gapic::GetGfxProcAddress("glMinSampleShadingOES", false)); |
| glObjectLabelKHR = reinterpret_cast<PFNGLOBJECTLABELKHR>( |
| gapic::GetGfxProcAddress("glObjectLabelKHR", false)); |
| glObjectPtrLabelKHR = reinterpret_cast<PFNGLOBJECTPTRLABELKHR>( |
| gapic::GetGfxProcAddress("glObjectPtrLabelKHR", false)); |
| glPatchParameteriEXT = reinterpret_cast<PFNGLPATCHPARAMETERIEXT>( |
| gapic::GetGfxProcAddress("glPatchParameteriEXT", false)); |
| glPopDebugGroupKHR = reinterpret_cast<PFNGLPOPDEBUGGROUPKHR>( |
| gapic::GetGfxProcAddress("glPopDebugGroupKHR", false)); |
| glPrimitiveBoundingBoxEXT = reinterpret_cast<PFNGLPRIMITIVEBOUNDINGBOXEXT>( |
| gapic::GetGfxProcAddress("glPrimitiveBoundingBoxEXT", false)); |
| glPushDebugGroupKHR = reinterpret_cast<PFNGLPUSHDEBUGGROUPKHR>( |
| gapic::GetGfxProcAddress("glPushDebugGroupKHR", false)); |
| glSamplerParameterIivEXT = reinterpret_cast<PFNGLSAMPLERPARAMETERIIVEXT>( |
| gapic::GetGfxProcAddress("glSamplerParameterIivEXT", false)); |
| glSamplerParameterIuivEXT = reinterpret_cast<PFNGLSAMPLERPARAMETERIUIVEXT>( |
| gapic::GetGfxProcAddress("glSamplerParameterIuivEXT", false)); |
| glTexBufferEXT = |
| reinterpret_cast<PFNGLTEXBUFFEREXT>(gapic::GetGfxProcAddress("glTexBufferEXT", false)); |
| glTexBufferRangeEXT = reinterpret_cast<PFNGLTEXBUFFERRANGEEXT>( |
| gapic::GetGfxProcAddress("glTexBufferRangeEXT", false)); |
| glTexParameterIivEXT = reinterpret_cast<PFNGLTEXPARAMETERIIVEXT>( |
| gapic::GetGfxProcAddress("glTexParameterIivEXT", false)); |
| glTexParameterIuivEXT = reinterpret_cast<PFNGLTEXPARAMETERIUIVEXT>( |
| gapic::GetGfxProcAddress("glTexParameterIuivEXT", false)); |
| glTexStorage3DMultisampleOES = reinterpret_cast<PFNGLTEXSTORAGE3DMULTISAMPLEOES>( |
| gapic::GetGfxProcAddress("glTexStorage3DMultisampleOES", false)); |
| glBeginQuery = |
| reinterpret_cast<PFNGLBEGINQUERY>(gapic::GetGfxProcAddress("glBeginQuery", false)); |
| glDeleteQueries = reinterpret_cast<PFNGLDELETEQUERIES>( |
| gapic::GetGfxProcAddress("glDeleteQueries", false)); |
| glEndQuery = reinterpret_cast<PFNGLENDQUERY>(gapic::GetGfxProcAddress("glEndQuery", false)); |
| glGenQueries = |
| reinterpret_cast<PFNGLGENQUERIES>(gapic::GetGfxProcAddress("glGenQueries", false)); |
| glGetQueryObjectuiv = reinterpret_cast<PFNGLGETQUERYOBJECTUIV>( |
| gapic::GetGfxProcAddress("glGetQueryObjectuiv", false)); |
| glGetQueryiv = |
| reinterpret_cast<PFNGLGETQUERYIV>(gapic::GetGfxProcAddress("glGetQueryiv", false)); |
| glIsQuery = reinterpret_cast<PFNGLISQUERY>(gapic::GetGfxProcAddress("glIsQuery", false)); |
| glBindBuffer = |
| reinterpret_cast<PFNGLBINDBUFFER>(gapic::GetGfxProcAddress("glBindBuffer", false)); |
| glBindBufferBase = reinterpret_cast<PFNGLBINDBUFFERBASE>( |
| gapic::GetGfxProcAddress("glBindBufferBase", false)); |
| glBindBufferRange = reinterpret_cast<PFNGLBINDBUFFERRANGE>( |
| gapic::GetGfxProcAddress("glBindBufferRange", false)); |
| glBufferData = |
| reinterpret_cast<PFNGLBUFFERDATA>(gapic::GetGfxProcAddress("glBufferData", false)); |
| glBufferSubData = reinterpret_cast<PFNGLBUFFERSUBDATA>( |
| gapic::GetGfxProcAddress("glBufferSubData", false)); |
| glCopyBufferSubData = reinterpret_cast<PFNGLCOPYBUFFERSUBDATA>( |
| gapic::GetGfxProcAddress("glCopyBufferSubData", false)); |
| glDeleteBuffers = reinterpret_cast<PFNGLDELETEBUFFERS>( |
| gapic::GetGfxProcAddress("glDeleteBuffers", false)); |
| glGenBuffers = |
| reinterpret_cast<PFNGLGENBUFFERS>(gapic::GetGfxProcAddress("glGenBuffers", false)); |
| glGetBufferParameteri64v = reinterpret_cast<PFNGLGETBUFFERPARAMETERI64V>( |
| gapic::GetGfxProcAddress("glGetBufferParameteri64v", false)); |
| glGetBufferParameteriv = reinterpret_cast<PFNGLGETBUFFERPARAMETERIV>( |
| gapic::GetGfxProcAddress("glGetBufferParameteriv", false)); |
| glGetBufferPointerv = reinterpret_cast<PFNGLGETBUFFERPOINTERV>( |
| gapic::GetGfxProcAddress("glGetBufferPointerv", false)); |
| glIsBuffer = reinterpret_cast<PFNGLISBUFFER>(gapic::GetGfxProcAddress("glIsBuffer", false)); |
| glMapBufferRange = reinterpret_cast<PFNGLMAPBUFFERRANGE>( |
| gapic::GetGfxProcAddress("glMapBufferRange", false)); |
| glUnmapBuffer = |
| reinterpret_cast<PFNGLUNMAPBUFFER>(gapic::GetGfxProcAddress("glUnmapBuffer", false)); |
| glDrawArrays = |
| reinterpret_cast<PFNGLDRAWARRAYS>(gapic::GetGfxProcAddress("glDrawArrays", false)); |
| glDrawArraysIndirect = reinterpret_cast<PFNGLDRAWARRAYSINDIRECT>( |
| gapic::GetGfxProcAddress("glDrawArraysIndirect", false)); |
| glDrawArraysInstanced = reinterpret_cast<PFNGLDRAWARRAYSINSTANCED>( |
| gapic::GetGfxProcAddress("glDrawArraysInstanced", false)); |
| glDrawBuffers = |
| reinterpret_cast<PFNGLDRAWBUFFERS>(gapic::GetGfxProcAddress("glDrawBuffers", false)); |
| glDrawElements = |
| reinterpret_cast<PFNGLDRAWELEMENTS>(gapic::GetGfxProcAddress("glDrawElements", false)); |
| glDrawElementsIndirect = reinterpret_cast<PFNGLDRAWELEMENTSINDIRECT>( |
| gapic::GetGfxProcAddress("glDrawElementsIndirect", false)); |
| glDrawElementsInstanced = reinterpret_cast<PFNGLDRAWELEMENTSINSTANCED>( |
| gapic::GetGfxProcAddress("glDrawElementsInstanced", false)); |
| glDrawRangeElements = reinterpret_cast<PFNGLDRAWRANGEELEMENTS>( |
| gapic::GetGfxProcAddress("glDrawRangeElements", false)); |
| glActiveShaderProgramEXT = reinterpret_cast<PFNGLACTIVESHADERPROGRAMEXT>( |
| gapic::GetGfxProcAddress("glActiveShaderProgramEXT", false)); |
| glAlphaFuncQCOM = reinterpret_cast<PFNGLALPHAFUNCQCOM>( |
| gapic::GetGfxProcAddress("glAlphaFuncQCOM", false)); |
| glBeginConditionalRenderNV = reinterpret_cast<PFNGLBEGINCONDITIONALRENDERNV>( |
| gapic::GetGfxProcAddress("glBeginConditionalRenderNV", false)); |
| glBeginPerfMonitorAMD = reinterpret_cast<PFNGLBEGINPERFMONITORAMD>( |
| gapic::GetGfxProcAddress("glBeginPerfMonitorAMD", false)); |
| glBeginPerfQueryINTEL = reinterpret_cast<PFNGLBEGINPERFQUERYINTEL>( |
| gapic::GetGfxProcAddress("glBeginPerfQueryINTEL", false)); |
| glBeginQueryEXT = reinterpret_cast<PFNGLBEGINQUERYEXT>( |
| gapic::GetGfxProcAddress("glBeginQueryEXT", false)); |
| glBindProgramPipelineEXT = reinterpret_cast<PFNGLBINDPROGRAMPIPELINEEXT>( |
| gapic::GetGfxProcAddress("glBindProgramPipelineEXT", false)); |
| glBindVertexArrayOES = reinterpret_cast<PFNGLBINDVERTEXARRAYOES>( |
| gapic::GetGfxProcAddress("glBindVertexArrayOES", false)); |
| glBlendBarrierNV = reinterpret_cast<PFNGLBLENDBARRIERNV>( |
| gapic::GetGfxProcAddress("glBlendBarrierNV", false)); |
| glBlendEquationSeparateiOES = reinterpret_cast<PFNGLBLENDEQUATIONSEPARATEIOES>( |
| gapic::GetGfxProcAddress("glBlendEquationSeparateiOES", false)); |
| glBlendEquationiOES = reinterpret_cast<PFNGLBLENDEQUATIONIOES>( |
| gapic::GetGfxProcAddress("glBlendEquationiOES", false)); |
| glBlendFuncSeparateiOES = reinterpret_cast<PFNGLBLENDFUNCSEPARATEIOES>( |
| gapic::GetGfxProcAddress("glBlendFuncSeparateiOES", false)); |
| glBlendFunciOES = reinterpret_cast<PFNGLBLENDFUNCIOES>( |
| gapic::GetGfxProcAddress("glBlendFunciOES", false)); |
| glBlendParameteriNV = reinterpret_cast<PFNGLBLENDPARAMETERINV>( |
| gapic::GetGfxProcAddress("glBlendParameteriNV", false)); |
| glBlitFramebufferANGLE = reinterpret_cast<PFNGLBLITFRAMEBUFFERANGLE>( |
| gapic::GetGfxProcAddress("glBlitFramebufferANGLE", false)); |
| glBlitFramebufferNV = reinterpret_cast<PFNGLBLITFRAMEBUFFERNV>( |
| gapic::GetGfxProcAddress("glBlitFramebufferNV", false)); |
| glBufferStorageEXT = reinterpret_cast<PFNGLBUFFERSTORAGEEXT>( |
| gapic::GetGfxProcAddress("glBufferStorageEXT", false)); |
| glClientWaitSyncAPPLE = reinterpret_cast<PFNGLCLIENTWAITSYNCAPPLE>( |
| gapic::GetGfxProcAddress("glClientWaitSyncAPPLE", false)); |
| glColorMaskiOES = reinterpret_cast<PFNGLCOLORMASKIOES>( |
| gapic::GetGfxProcAddress("glColorMaskiOES", false)); |
| glCompressedTexImage3DOES = reinterpret_cast<PFNGLCOMPRESSEDTEXIMAGE3DOES>( |
| gapic::GetGfxProcAddress("glCompressedTexImage3DOES", false)); |
| glCompressedTexSubImage3DOES = reinterpret_cast<PFNGLCOMPRESSEDTEXSUBIMAGE3DOES>( |
| gapic::GetGfxProcAddress("glCompressedTexSubImage3DOES", false)); |
| glCopyBufferSubDataNV = reinterpret_cast<PFNGLCOPYBUFFERSUBDATANV>( |
| gapic::GetGfxProcAddress("glCopyBufferSubDataNV", false)); |
| glCopyImageSubDataOES = reinterpret_cast<PFNGLCOPYIMAGESUBDATAOES>( |
| gapic::GetGfxProcAddress("glCopyImageSubDataOES", false)); |
| glCopyPathNV = |
| reinterpret_cast<PFNGLCOPYPATHNV>(gapic::GetGfxProcAddress("glCopyPathNV", false)); |
| glCopyTexSubImage3DOES = reinterpret_cast<PFNGLCOPYTEXSUBIMAGE3DOES>( |
| gapic::GetGfxProcAddress("glCopyTexSubImage3DOES", false)); |
| glCopyTextureLevelsAPPLE = reinterpret_cast<PFNGLCOPYTEXTURELEVELSAPPLE>( |
| gapic::GetGfxProcAddress("glCopyTextureLevelsAPPLE", false)); |
| glCoverFillPathInstancedNV = reinterpret_cast<PFNGLCOVERFILLPATHINSTANCEDNV>( |
| gapic::GetGfxProcAddress("glCoverFillPathInstancedNV", false)); |
| glCoverFillPathNV = reinterpret_cast<PFNGLCOVERFILLPATHNV>( |
| gapic::GetGfxProcAddress("glCoverFillPathNV", false)); |
| glCoverStrokePathInstancedNV = reinterpret_cast<PFNGLCOVERSTROKEPATHINSTANCEDNV>( |
| gapic::GetGfxProcAddress("glCoverStrokePathInstancedNV", false)); |
| glCoverStrokePathNV = reinterpret_cast<PFNGLCOVERSTROKEPATHNV>( |
| gapic::GetGfxProcAddress("glCoverStrokePathNV", false)); |
| glCoverageMaskNV = reinterpret_cast<PFNGLCOVERAGEMASKNV>( |
| gapic::GetGfxProcAddress("glCoverageMaskNV", false)); |
| glCoverageOperationNV = reinterpret_cast<PFNGLCOVERAGEOPERATIONNV>( |
| gapic::GetGfxProcAddress("glCoverageOperationNV", false)); |
| glCreatePerfQueryINTEL = reinterpret_cast<PFNGLCREATEPERFQUERYINTEL>( |
| gapic::GetGfxProcAddress("glCreatePerfQueryINTEL", false)); |
| glCreateShaderProgramvEXT = reinterpret_cast<PFNGLCREATESHADERPROGRAMVEXT>( |
| gapic::GetGfxProcAddress("glCreateShaderProgramvEXT", false)); |
| glDeleteFencesNV = reinterpret_cast<PFNGLDELETEFENCESNV>( |
| gapic::GetGfxProcAddress("glDeleteFencesNV", false)); |
| glDeletePathsNV = reinterpret_cast<PFNGLDELETEPATHSNV>( |
| gapic::GetGfxProcAddress("glDeletePathsNV", false)); |
| glDeletePerfMonitorsAMD = reinterpret_cast<PFNGLDELETEPERFMONITORSAMD>( |
| gapic::GetGfxProcAddress("glDeletePerfMonitorsAMD", false)); |
| glDeletePerfQueryINTEL = reinterpret_cast<PFNGLDELETEPERFQUERYINTEL>( |
| gapic::GetGfxProcAddress("glDeletePerfQueryINTEL", false)); |
| glDeleteProgramPipelinesEXT = reinterpret_cast<PFNGLDELETEPROGRAMPIPELINESEXT>( |
| gapic::GetGfxProcAddress("glDeleteProgramPipelinesEXT", false)); |
| glDeleteQueriesEXT = reinterpret_cast<PFNGLDELETEQUERIESEXT>( |
| gapic::GetGfxProcAddress("glDeleteQueriesEXT", false)); |
| glDeleteSyncAPPLE = reinterpret_cast<PFNGLDELETESYNCAPPLE>( |
| gapic::GetGfxProcAddress("glDeleteSyncAPPLE", false)); |
| glDeleteVertexArraysOES = reinterpret_cast<PFNGLDELETEVERTEXARRAYSOES>( |
| gapic::GetGfxProcAddress("glDeleteVertexArraysOES", false)); |
| glDepthRangeArrayfvNV = reinterpret_cast<PFNGLDEPTHRANGEARRAYFVNV>( |
| gapic::GetGfxProcAddress("glDepthRangeArrayfvNV", false)); |
| glDepthRangeIndexedfNV = reinterpret_cast<PFNGLDEPTHRANGEINDEXEDFNV>( |
| gapic::GetGfxProcAddress("glDepthRangeIndexedfNV", false)); |
| glDisableDriverControlQCOM = reinterpret_cast<PFNGLDISABLEDRIVERCONTROLQCOM>( |
| gapic::GetGfxProcAddress("glDisableDriverControlQCOM", false)); |
| glDisableiNV = |
| reinterpret_cast<PFNGLDISABLEINV>(gapic::GetGfxProcAddress("glDisableiNV", false)); |
| glDisableiOES = |
| reinterpret_cast<PFNGLDISABLEIOES>(gapic::GetGfxProcAddress("glDisableiOES", false)); |
| glDiscardFramebufferEXT = reinterpret_cast<PFNGLDISCARDFRAMEBUFFEREXT>( |
| gapic::GetGfxProcAddress("glDiscardFramebufferEXT", false)); |
| glDrawArraysInstancedANGLE = reinterpret_cast<PFNGLDRAWARRAYSINSTANCEDANGLE>( |
| gapic::GetGfxProcAddress("glDrawArraysInstancedANGLE", false)); |
| glDrawArraysInstancedBaseInstanceEXT = |
| reinterpret_cast<PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEEXT>( |
| gapic::GetGfxProcAddress("glDrawArraysInstancedBaseInstanceEXT", false)); |
| glDrawArraysInstancedEXT = reinterpret_cast<PFNGLDRAWARRAYSINSTANCEDEXT>( |
| gapic::GetGfxProcAddress("glDrawArraysInstancedEXT", false)); |
| glDrawArraysInstancedNV = reinterpret_cast<PFNGLDRAWARRAYSINSTANCEDNV>( |
| gapic::GetGfxProcAddress("glDrawArraysInstancedNV", false)); |
| glDrawBuffersEXT = reinterpret_cast<PFNGLDRAWBUFFERSEXT>( |
| gapic::GetGfxProcAddress("glDrawBuffersEXT", false)); |
| glDrawBuffersIndexedEXT = reinterpret_cast<PFNGLDRAWBUFFERSINDEXEDEXT>( |
| gapic::GetGfxProcAddress("glDrawBuffersIndexedEXT", false)); |
| glDrawBuffersNV = reinterpret_cast<PFNGLDRAWBUFFERSNV>( |
| gapic::GetGfxProcAddress("glDrawBuffersNV", false)); |
| glDrawElementsBaseVertexEXT = reinterpret_cast<PFNGLDRAWELEMENTSBASEVERTEXEXT>( |
| gapic::GetGfxProcAddress("glDrawElementsBaseVertexEXT", false)); |
| glDrawElementsBaseVertexOES = reinterpret_cast<PFNGLDRAWELEMENTSBASEVERTEXOES>( |
| gapic::GetGfxProcAddress("glDrawElementsBaseVertexOES", false)); |
| glDrawElementsInstancedANGLE = reinterpret_cast<PFNGLDRAWELEMENTSINSTANCEDANGLE>( |
| gapic::GetGfxProcAddress("glDrawElementsInstancedANGLE", false)); |
| glDrawElementsInstancedBaseInstanceEXT = |
| reinterpret_cast<PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEEXT>( |
| gapic::GetGfxProcAddress("glDrawElementsInstancedBaseInstanceEXT", false)); |
| glDrawElementsInstancedBaseVertexEXT = |
| reinterpret_cast<PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXEXT>( |
| gapic::GetGfxProcAddress("glDrawElementsInstancedBaseVertexEXT", false)); |
| glDrawElementsInstancedBaseVertexOES = |
| reinterpret_cast<PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXOES>( |
| gapic::GetGfxProcAddress("glDrawElementsInstancedBaseVertexOES", false)); |
| glDrawElementsInstancedBaseVertexBaseInstanceEXT = |
| reinterpret_cast<PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEEXT>( |
| gapic::GetGfxProcAddress("glDrawElementsInstancedBaseVertexBaseInstanceEXT", |
| false)); |
| glDrawElementsInstancedEXT = reinterpret_cast<PFNGLDRAWELEMENTSINSTANCEDEXT>( |
| gapic::GetGfxProcAddress("glDrawElementsInstancedEXT", false)); |
| glDrawElementsInstancedNV = reinterpret_cast<PFNGLDRAWELEMENTSINSTANCEDNV>( |
| gapic::GetGfxProcAddress("glDrawElementsInstancedNV", false)); |
| glDrawRangeElementsBaseVertexEXT = reinterpret_cast<PFNGLDRAWRANGEELEMENTSBASEVERTEXEXT>( |
| gapic::GetGfxProcAddress("glDrawRangeElementsBaseVertexEXT", false)); |
| glDrawRangeElementsBaseVertexOES = reinterpret_cast<PFNGLDRAWRANGEELEMENTSBASEVERTEXOES>( |
| gapic::GetGfxProcAddress("glDrawRangeElementsBaseVertexOES", false)); |
| glEGLImageTargetRenderbufferStorageOES = |
| reinterpret_cast<PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOES>( |
| gapic::GetGfxProcAddress("glEGLImageTargetRenderbufferStorageOES", false)); |
| glEGLImageTargetTexture2DOES = reinterpret_cast<PFNGLEGLIMAGETARGETTEXTURE2DOES>( |
| gapic::GetGfxProcAddress("glEGLImageTargetTexture2DOES", false)); |
| glEnableDriverControlQCOM = reinterpret_cast<PFNGLENABLEDRIVERCONTROLQCOM>( |
| gapic::GetGfxProcAddress("glEnableDriverControlQCOM", false)); |
| glEnableiNV = reinterpret_cast<PFNGLENABLEINV>(gapic::GetGfxProcAddress("glEnableiNV", false)); |
| glEnableiOES = |
| reinterpret_cast<PFNGLENABLEIOES>(gapic::GetGfxProcAddress("glEnableiOES", false)); |
| glEndConditionalRenderNV = reinterpret_cast<PFNGLENDCONDITIONALRENDERNV>( |
| gapic::GetGfxProcAddress("glEndConditionalRenderNV", false)); |
| glEndPerfMonitorAMD = reinterpret_cast<PFNGLENDPERFMONITORAMD>( |
| gapic::GetGfxProcAddress("glEndPerfMonitorAMD", false)); |
| glEndPerfQueryINTEL = reinterpret_cast<PFNGLENDPERFQUERYINTEL>( |
| gapic::GetGfxProcAddress("glEndPerfQueryINTEL", false)); |
| glEndQueryEXT = |
| reinterpret_cast<PFNGLENDQUERYEXT>(gapic::GetGfxProcAddress("glEndQueryEXT", false)); |
| glEndTilingQCOM = reinterpret_cast<PFNGLENDTILINGQCOM>( |
| gapic::GetGfxProcAddress("glEndTilingQCOM", false)); |
| glExtGetBufferPointervQCOM = reinterpret_cast<PFNGLEXTGETBUFFERPOINTERVQCOM>( |
| gapic::GetGfxProcAddress("glExtGetBufferPointervQCOM", false)); |
| glExtGetBuffersQCOM = reinterpret_cast<PFNGLEXTGETBUFFERSQCOM>( |
| gapic::GetGfxProcAddress("glExtGetBuffersQCOM", false)); |
| glExtGetFramebuffersQCOM = reinterpret_cast<PFNGLEXTGETFRAMEBUFFERSQCOM>( |
| gapic::GetGfxProcAddress("glExtGetFramebuffersQCOM", false)); |
| glExtGetProgramBinarySourceQCOM = reinterpret_cast<PFNGLEXTGETPROGRAMBINARYSOURCEQCOM>( |
| gapic::GetGfxProcAddress("glExtGetProgramBinarySourceQCOM", false)); |
| glExtGetProgramsQCOM = reinterpret_cast<PFNGLEXTGETPROGRAMSQCOM>( |
| gapic::GetGfxProcAddress("glExtGetProgramsQCOM", false)); |
| glExtGetRenderbuffersQCOM = reinterpret_cast<PFNGLEXTGETRENDERBUFFERSQCOM>( |
| gapic::GetGfxProcAddress("glExtGetRenderbuffersQCOM", false)); |
| glExtGetShadersQCOM = reinterpret_cast<PFNGLEXTGETSHADERSQCOM>( |
| gapic::GetGfxProcAddress("glExtGetShadersQCOM", false)); |
| glExtGetTexLevelParameterivQCOM = reinterpret_cast<PFNGLEXTGETTEXLEVELPARAMETERIVQCOM>( |
| gapic::GetGfxProcAddress("glExtGetTexLevelParameterivQCOM", false)); |
| glExtGetTexSubImageQCOM = reinterpret_cast<PFNGLEXTGETTEXSUBIMAGEQCOM>( |
| gapic::GetGfxProcAddress("glExtGetTexSubImageQCOM", false)); |
| glExtGetTexturesQCOM = reinterpret_cast<PFNGLEXTGETTEXTURESQCOM>( |
| gapic::GetGfxProcAddress("glExtGetTexturesQCOM", false)); |
| glExtIsProgramBinaryQCOM = reinterpret_cast<PFNGLEXTISPROGRAMBINARYQCOM>( |
| gapic::GetGfxProcAddress("glExtIsProgramBinaryQCOM", false)); |
| glExtTexObjectStateOverrideiQCOM = reinterpret_cast<PFNGLEXTTEXOBJECTSTATEOVERRIDEIQCOM>( |
| gapic::GetGfxProcAddress("glExtTexObjectStateOverrideiQCOM", false)); |
| glFenceSyncAPPLE = reinterpret_cast<PFNGLFENCESYNCAPPLE>( |
| gapic::GetGfxProcAddress("glFenceSyncAPPLE", false)); |
| glFinishFenceNV = reinterpret_cast<PFNGLFINISHFENCENV>( |
| gapic::GetGfxProcAddress("glFinishFenceNV", false)); |
| glFlushMappedBufferRangeEXT = reinterpret_cast<PFNGLFLUSHMAPPEDBUFFERRANGEEXT>( |
| gapic::GetGfxProcAddress("glFlushMappedBufferRangeEXT", false)); |
| glFramebufferTexture2DMultisampleEXT = |
| reinterpret_cast<PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEEXT>( |
| gapic::GetGfxProcAddress("glFramebufferTexture2DMultisampleEXT", false)); |
| glFramebufferTexture2DMultisampleIMG = |
| reinterpret_cast<PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEIMG>( |
| gapic::GetGfxProcAddress("glFramebufferTexture2DMultisampleIMG", false)); |
| glFramebufferTexture3DOES = reinterpret_cast<PFNGLFRAMEBUFFERTEXTURE3DOES>( |
| gapic::GetGfxProcAddress("glFramebufferTexture3DOES", false)); |
| glFramebufferTextureOES = reinterpret_cast<PFNGLFRAMEBUFFERTEXTUREOES>( |
| gapic::GetGfxProcAddress("glFramebufferTextureOES", false)); |
| glFramebufferTextureMultiviewOVR = reinterpret_cast<PFNGLFRAMEBUFFERTEXTUREMULTIVIEWOVR>( |
| gapic::GetGfxProcAddress("glFramebufferTextureMultiviewOVR", false)); |
| glGenFencesNV = |
| reinterpret_cast<PFNGLGENFENCESNV>(gapic::GetGfxProcAddress("glGenFencesNV", false)); |
| glGenPathsNV = |
| reinterpret_cast<PFNGLGENPATHSNV>(gapic::GetGfxProcAddress("glGenPathsNV", false)); |
| glGenPerfMonitorsAMD = reinterpret_cast<PFNGLGENPERFMONITORSAMD>( |
| gapic::GetGfxProcAddress("glGenPerfMonitorsAMD", false)); |
| glGenProgramPipelinesEXT = reinterpret_cast<PFNGLGENPROGRAMPIPELINESEXT>( |
| gapic::GetGfxProcAddress("glGenProgramPipelinesEXT", false)); |
| glGenQueriesEXT = reinterpret_cast<PFNGLGENQUERIESEXT>( |
| gapic::GetGfxProcAddress("glGenQueriesEXT", false)); |
| glGenVertexArraysOES = reinterpret_cast<PFNGLGENVERTEXARRAYSOES>( |
| gapic::GetGfxProcAddress("glGenVertexArraysOES", false)); |
| glGetBufferPointervOES = reinterpret_cast<PFNGLGETBUFFERPOINTERVOES>( |
| gapic::GetGfxProcAddress("glGetBufferPointervOES", false)); |
| glGetDriverControlStringQCOM = reinterpret_cast<PFNGLGETDRIVERCONTROLSTRINGQCOM>( |
| gapic::GetGfxProcAddress("glGetDriverControlStringQCOM", false)); |
| glGetDriverControlsQCOM = reinterpret_cast<PFNGLGETDRIVERCONTROLSQCOM>( |
| gapic::GetGfxProcAddress("glGetDriverControlsQCOM", false)); |
| glGetFenceivNV = |
| reinterpret_cast<PFNGLGETFENCEIVNV>(gapic::GetGfxProcAddress("glGetFenceivNV", false)); |
| glGetFirstPerfQueryIdINTEL = reinterpret_cast<PFNGLGETFIRSTPERFQUERYIDINTEL>( |
| gapic::GetGfxProcAddress("glGetFirstPerfQueryIdINTEL", false)); |
| glGetFloati_vNV = reinterpret_cast<PFNGLGETFLOATI_VNV>( |
| gapic::GetGfxProcAddress("glGetFloati_vNV", false)); |
| glGetGraphicsResetStatusEXT = reinterpret_cast<PFNGLGETGRAPHICSRESETSTATUSEXT>( |
| gapic::GetGfxProcAddress("glGetGraphicsResetStatusEXT", false)); |
| glGetGraphicsResetStatusKHR = reinterpret_cast<PFNGLGETGRAPHICSRESETSTATUSKHR>( |
| gapic::GetGfxProcAddress("glGetGraphicsResetStatusKHR", false)); |
| glGetImageHandleNV = reinterpret_cast<PFNGLGETIMAGEHANDLENV>( |
| gapic::GetGfxProcAddress("glGetImageHandleNV", false)); |
| glGetInteger64vAPPLE = reinterpret_cast<PFNGLGETINTEGER64VAPPLE>( |
| gapic::GetGfxProcAddress("glGetInteger64vAPPLE", false)); |
| glGetIntegeri_vEXT = reinterpret_cast<PFNGLGETINTEGERI_VEXT>( |
| gapic::GetGfxProcAddress("glGetIntegeri_vEXT", false)); |
| glGetInternalformatSampleivNV = reinterpret_cast<PFNGLGETINTERNALFORMATSAMPLEIVNV>( |
| gapic::GetGfxProcAddress("glGetInternalformatSampleivNV", false)); |
| glGetNextPerfQueryIdINTEL = reinterpret_cast<PFNGLGETNEXTPERFQUERYIDINTEL>( |
| gapic::GetGfxProcAddress("glGetNextPerfQueryIdINTEL", false)); |
| glGetObjectLabelEXT = reinterpret_cast<PFNGLGETOBJECTLABELEXT>( |
| gapic::GetGfxProcAddress("glGetObjectLabelEXT", false)); |
| glGetPathCommandsNV = reinterpret_cast<PFNGLGETPATHCOMMANDSNV>( |
| gapic::GetGfxProcAddress("glGetPathCommandsNV", false)); |
| glGetPathCoordsNV = reinterpret_cast<PFNGLGETPATHCOORDSNV>( |
| gapic::GetGfxProcAddress("glGetPathCoordsNV", false)); |
| glGetPathDashArrayNV = reinterpret_cast<PFNGLGETPATHDASHARRAYNV>( |
| gapic::GetGfxProcAddress("glGetPathDashArrayNV", false)); |
| glGetPathLengthNV = reinterpret_cast<PFNGLGETPATHLENGTHNV>( |
| gapic::GetGfxProcAddress("glGetPathLengthNV", false)); |
| glGetPathMetricRangeNV = reinterpret_cast<PFNGLGETPATHMETRICRANGENV>( |
| gapic::GetGfxProcAddress("glGetPathMetricRangeNV", false)); |
| glGetPathMetricsNV = reinterpret_cast<PFNGLGETPATHMETRICSNV>( |
| gapic::GetGfxProcAddress("glGetPathMetricsNV", false)); |
| glGetPathParameterfvNV = reinterpret_cast<PFNGLGETPATHPARAMETERFVNV>( |
| gapic::GetGfxProcAddress("glGetPathParameterfvNV", false)); |
| glGetPathParameterivNV = reinterpret_cast<PFNGLGETPATHPARAMETERIVNV>( |
| gapic::GetGfxProcAddress("glGetPathParameterivNV", false)); |
| glGetPathSpacingNV = reinterpret_cast<PFNGLGETPATHSPACINGNV>( |
| gapic::GetGfxProcAddress("glGetPathSpacingNV", false)); |
| glGetPerfCounterInfoINTEL = reinterpret_cast<PFNGLGETPERFCOUNTERINFOINTEL>( |
| gapic::GetGfxProcAddress("glGetPerfCounterInfoINTEL", false)); |
| glGetPerfMonitorCounterDataAMD = reinterpret_cast<PFNGLGETPERFMONITORCOUNTERDATAAMD>( |
| gapic::GetGfxProcAddress("glGetPerfMonitorCounterDataAMD", false)); |
| glGetPerfMonitorCounterInfoAMD = reinterpret_cast<PFNGLGETPERFMONITORCOUNTERINFOAMD>( |
| gapic::GetGfxProcAddress("glGetPerfMonitorCounterInfoAMD", false)); |
| glGetPerfMonitorCounterStringAMD = reinterpret_cast<PFNGLGETPERFMONITORCOUNTERSTRINGAMD>( |
| gapic::GetGfxProcAddress("glGetPerfMonitorCounterStringAMD", false)); |
| glGetPerfMonitorCountersAMD = reinterpret_cast<PFNGLGETPERFMONITORCOUNTERSAMD>( |
| gapic::GetGfxProcAddress("glGetPerfMonitorCountersAMD", false)); |
| glGetPerfMonitorGroupStringAMD = reinterpret_cast<PFNGLGETPERFMONITORGROUPSTRINGAMD>( |
| gapic::GetGfxProcAddress("glGetPerfMonitorGroupStringAMD", false)); |
| glGetPerfMonitorGroupsAMD = reinterpret_cast<PFNGLGETPERFMONITORGROUPSAMD>( |
| gapic::GetGfxProcAddress("glGetPerfMonitorGroupsAMD", false)); |
| glGetPerfQueryDataINTEL = reinterpret_cast<PFNGLGETPERFQUERYDATAINTEL>( |
| gapic::GetGfxProcAddress("glGetPerfQueryDataINTEL", false)); |
| glGetPerfQueryIdByNameINTEL = reinterpret_cast<PFNGLGETPERFQUERYIDBYNAMEINTEL>( |
| gapic::GetGfxProcAddress("glGetPerfQueryIdByNameINTEL", false)); |
| glGetPerfQueryInfoINTEL = reinterpret_cast<PFNGLGETPERFQUERYINFOINTEL>( |
| gapic::GetGfxProcAddress("glGetPerfQueryInfoINTEL", false)); |
| glGetProgramBinaryOES = reinterpret_cast<PFNGLGETPROGRAMBINARYOES>( |
| gapic::GetGfxProcAddress("glGetProgramBinaryOES", false)); |
| glGetProgramPipelineInfoLogEXT = reinterpret_cast<PFNGLGETPROGRAMPIPELINEINFOLOGEXT>( |
| gapic::GetGfxProcAddress("glGetProgramPipelineInfoLogEXT", false)); |
| glGetProgramPipelineivEXT = reinterpret_cast<PFNGLGETPROGRAMPIPELINEIVEXT>( |
| gapic::GetGfxProcAddress("glGetProgramPipelineivEXT", false)); |
| glGetProgramResourcefvNV = reinterpret_cast<PFNGLGETPROGRAMRESOURCEFVNV>( |
| gapic::GetGfxProcAddress("glGetProgramResourcefvNV", false)); |
| glGetQueryObjecti64vEXT = reinterpret_cast<PFNGLGETQUERYOBJECTI64VEXT>( |
| gapic::GetGfxProcAddress("glGetQueryObjecti64vEXT", false)); |
| glGetQueryObjectivEXT = reinterpret_cast<PFNGLGETQUERYOBJECTIVEXT>( |
| gapic::GetGfxProcAddress("glGetQueryObjectivEXT", false)); |
| glGetQueryObjectui64vEXT = reinterpret_cast<PFNGLGETQUERYOBJECTUI64VEXT>( |
| gapic::GetGfxProcAddress("glGetQueryObjectui64vEXT", false)); |
| glGetQueryObjectuivEXT = reinterpret_cast<PFNGLGETQUERYOBJECTUIVEXT>( |
| gapic::GetGfxProcAddress("glGetQueryObjectuivEXT", false)); |
| glGetQueryivEXT = reinterpret_cast<PFNGLGETQUERYIVEXT>( |
| gapic::GetGfxProcAddress("glGetQueryivEXT", false)); |
| glGetSamplerParameterIivOES = reinterpret_cast<PFNGLGETSAMPLERPARAMETERIIVOES>( |
| gapic::GetGfxProcAddress("glGetSamplerParameterIivOES", false)); |
| glGetSamplerParameterIuivOES = reinterpret_cast<PFNGLGETSAMPLERPARAMETERIUIVOES>( |
| gapic::GetGfxProcAddress("glGetSamplerParameterIuivOES", false)); |
| glGetSyncivAPPLE = reinterpret_cast<PFNGLGETSYNCIVAPPLE>( |
| gapic::GetGfxProcAddress("glGetSyncivAPPLE", false)); |
| glGetTexParameterIivOES = reinterpret_cast<PFNGLGETTEXPARAMETERIIVOES>( |
| gapic::GetGfxProcAddress("glGetTexParameterIivOES", false)); |
| glGetTexParameterIuivOES = reinterpret_cast<PFNGLGETTEXPARAMETERIUIVOES>( |
| gapic::GetGfxProcAddress("glGetTexParameterIuivOES", false)); |
| glGetTextureHandleNV = reinterpret_cast<PFNGLGETTEXTUREHANDLENV>( |
| gapic::GetGfxProcAddress("glGetTextureHandleNV", false)); |
| glGetTextureSamplerHandleNV = reinterpret_cast<PFNGLGETTEXTURESAMPLERHANDLENV>( |
| gapic::GetGfxProcAddress("glGetTextureSamplerHandleNV", false)); |
| glGetTranslatedShaderSourceANGLE = reinterpret_cast<PFNGLGETTRANSLATEDSHADERSOURCEANGLE>( |
| gapic::GetGfxProcAddress("glGetTranslatedShaderSourceANGLE", false)); |
| glGetnUniformfvEXT = reinterpret_cast<PFNGLGETNUNIFORMFVEXT>( |
| gapic::GetGfxProcAddress("glGetnUniformfvEXT", false)); |
| glGetnUniformfvKHR = reinterpret_cast<PFNGLGETNUNIFORMFVKHR>( |
| gapic::GetGfxProcAddress("glGetnUniformfvKHR", false)); |
| glGetnUniformivEXT = reinterpret_cast<PFNGLGETNUNIFORMIVEXT>( |
| gapic::GetGfxProcAddress("glGetnUniformivEXT", false)); |
| glGetnUniformivKHR = reinterpret_cast<PFNGLGETNUNIFORMIVKHR>( |
| gapic::GetGfxProcAddress("glGetnUniformivKHR", false)); |
| glGetnUniformuivKHR = reinterpret_cast<PFNGLGETNUNIFORMUIVKHR>( |
| gapic::GetGfxProcAddress("glGetnUniformuivKHR", false)); |
| glInsertEventMarkerEXT = reinterpret_cast<PFNGLINSERTEVENTMARKEREXT>( |
| gapic::GetGfxProcAddress("glInsertEventMarkerEXT", false)); |
| glInterpolatePathsNV = reinterpret_cast<PFNGLINTERPOLATEPATHSNV>( |
| gapic::GetGfxProcAddress("glInterpolatePathsNV", false)); |
| glIsEnablediOES = reinterpret_cast<PFNGLISENABLEDIOES>( |
| gapic::GetGfxProcAddress("glIsEnablediOES", false)); |
| glIsEnablediNV = |
| reinterpret_cast<PFNGLISENABLEDINV>(gapic::GetGfxProcAddress("glIsEnablediNV", false)); |
| glIsFenceNV = reinterpret_cast<PFNGLISFENCENV>(gapic::GetGfxProcAddress("glIsFenceNV", false)); |
| glIsImageHandleResidentNV = reinterpret_cast<PFNGLISIMAGEHANDLERESIDENTNV>( |
| gapic::GetGfxProcAddress("glIsImageHandleResidentNV", false)); |
| glIsPathNV = reinterpret_cast<PFNGLISPATHNV>(gapic::GetGfxProcAddress("glIsPathNV", false)); |
| glIsPointInFillPathNV = reinterpret_cast<PFNGLISPOINTINFILLPATHNV>( |
| gapic::GetGfxProcAddress("glIsPointInFillPathNV", false)); |
| glIsPointInStrokePathNV = reinterpret_cast<PFNGLISPOINTINSTROKEPATHNV>( |
| gapic::GetGfxProcAddress("glIsPointInStrokePathNV", false)); |
| glIsProgramPipelineEXT = reinterpret_cast<PFNGLISPROGRAMPIPELINEEXT>( |
| gapic::GetGfxProcAddress("glIsProgramPipelineEXT", false)); |
| glIsQueryEXT = |
| reinterpret_cast<PFNGLISQUERYEXT>(gapic::GetGfxProcAddress("glIsQueryEXT", false)); |
| glIsSyncAPPLE = |
| reinterpret_cast<PFNGLISSYNCAPPLE>(gapic::GetGfxProcAddress("glIsSyncAPPLE", false)); |
| glIsTextureHandleResidentNV = reinterpret_cast<PFNGLISTEXTUREHANDLERESIDENTNV>( |
| gapic::GetGfxProcAddress("glIsTextureHandleResidentNV", false)); |
| glIsVertexArrayOES = reinterpret_cast<PFNGLISVERTEXARRAYOES>( |
| gapic::GetGfxProcAddress("glIsVertexArrayOES", false)); |
| glLabelObjectEXT = reinterpret_cast<PFNGLLABELOBJECTEXT>( |
| gapic::GetGfxProcAddress("glLabelObjectEXT", false)); |
| glMakeImageHandleNonResidentNV = reinterpret_cast<PFNGLMAKEIMAGEHANDLENONRESIDENTNV>( |
| gapic::GetGfxProcAddress("glMakeImageHandleNonResidentNV", false)); |
| glMakeImageHandleResidentNV = reinterpret_cast<PFNGLMAKEIMAGEHANDLERESIDENTNV>( |
| gapic::GetGfxProcAddress("glMakeImageHandleResidentNV", false)); |
| glMakeTextureHandleNonResidentNV = reinterpret_cast<PFNGLMAKETEXTUREHANDLENONRESIDENTNV>( |
| gapic::GetGfxProcAddress("glMakeTextureHandleNonResidentNV", false)); |
| glMakeTextureHandleResidentNV = reinterpret_cast<PFNGLMAKETEXTUREHANDLERESIDENTNV>( |
| gapic::GetGfxProcAddress("glMakeTextureHandleResidentNV", false)); |
| glMapBufferOES = |
| reinterpret_cast<PFNGLMAPBUFFEROES>(gapic::GetGfxProcAddress("glMapBufferOES", false)); |
| glMapBufferRangeEXT = reinterpret_cast<PFNGLMAPBUFFERRANGEEXT>( |
| gapic::GetGfxProcAddress("glMapBufferRangeEXT", false)); |
| glMatrixLoad3x2fNV = reinterpret_cast<PFNGLMATRIXLOAD3X2FNV>( |
| gapic::GetGfxProcAddress("glMatrixLoad3x2fNV", false)); |
| glMatrixLoad3x3fNV = reinterpret_cast<PFNGLMATRIXLOAD3X3FNV>( |
| gapic::GetGfxProcAddress("glMatrixLoad3x3fNV", false)); |
| glMatrixLoadTranspose3x3fNV = reinterpret_cast<PFNGLMATRIXLOADTRANSPOSE3X3FNV>( |
| gapic::GetGfxProcAddress("glMatrixLoadTranspose3x3fNV", false)); |
| glMatrixMult3x2fNV = reinterpret_cast<PFNGLMATRIXMULT3X2FNV>( |
| gapic::GetGfxProcAddress("glMatrixMult3x2fNV", false)); |
| glMatrixMult3x3fNV = reinterpret_cast<PFNGLMATRIXMULT3X3FNV>( |
| gapic::GetGfxProcAddress("glMatrixMult3x3fNV", false)); |
| glMatrixMultTranspose3x3fNV = reinterpret_cast<PFNGLMATRIXMULTTRANSPOSE3X3FNV>( |
| gapic::GetGfxProcAddress("glMatrixMultTranspose3x3fNV", false)); |
| glMultiDrawArraysEXT = reinterpret_cast<PFNGLMULTIDRAWARRAYSEXT>( |
| gapic::GetGfxProcAddress("glMultiDrawArraysEXT", false)); |
| glMultiDrawArraysIndirectEXT = reinterpret_cast<PFNGLMULTIDRAWARRAYSINDIRECTEXT>( |
| gapic::GetGfxProcAddress("glMultiDrawArraysIndirectEXT", false)); |
| glMultiDrawElementsBaseVertexEXT = reinterpret_cast<PFNGLMULTIDRAWELEMENTSBASEVERTEXEXT>( |
| gapic::GetGfxProcAddress("glMultiDrawElementsBaseVertexEXT", false)); |
| glMultiDrawElementsBaseVertexOES = reinterpret_cast<PFNGLMULTIDRAWELEMENTSBASEVERTEXOES>( |
| gapic::GetGfxProcAddress("glMultiDrawElementsBaseVertexOES", false)); |
| glMultiDrawElementsEXT = reinterpret_cast<PFNGLMULTIDRAWELEMENTSEXT>( |
| gapic::GetGfxProcAddress("glMultiDrawElementsEXT", false)); |
| glMultiDrawElementsIndirectEXT = reinterpret_cast<PFNGLMULTIDRAWELEMENTSINDIRECTEXT>( |
| gapic::GetGfxProcAddress("glMultiDrawElementsIndirectEXT", false)); |
| glPatchParameteriOES = reinterpret_cast<PFNGLPATCHPARAMETERIOES>( |
| gapic::GetGfxProcAddress("glPatchParameteriOES", false)); |
| glPathCommandsNV = reinterpret_cast<PFNGLPATHCOMMANDSNV>( |
| gapic::GetGfxProcAddress("glPathCommandsNV", false)); |
| glPathCoordsNV = |
| reinterpret_cast<PFNGLPATHCOORDSNV>(gapic::GetGfxProcAddress("glPathCoordsNV", false)); |
| glPathCoverDepthFuncNV = reinterpret_cast<PFNGLPATHCOVERDEPTHFUNCNV>( |
| gapic::GetGfxProcAddress("glPathCoverDepthFuncNV", false)); |
| glPathDashArrayNV = reinterpret_cast<PFNGLPATHDASHARRAYNV>( |
| gapic::GetGfxProcAddress("glPathDashArrayNV", false)); |
| glPathGlyphIndexArrayNV = reinterpret_cast<PFNGLPATHGLYPHINDEXARRAYNV>( |
| gapic::GetGfxProcAddress("glPathGlyphIndexArrayNV", false)); |
| glPathGlyphIndexRangeNV = reinterpret_cast<PFNGLPATHGLYPHINDEXRANGENV>( |
| gapic::GetGfxProcAddress("glPathGlyphIndexRangeNV", false)); |
| glPathGlyphRangeNV = reinterpret_cast<PFNGLPATHGLYPHRANGENV>( |
| gapic::GetGfxProcAddress("glPathGlyphRangeNV", false)); |
| glPathGlyphsNV = |
| reinterpret_cast<PFNGLPATHGLYPHSNV>(gapic::GetGfxProcAddress("glPathGlyphsNV", false)); |
| glPathMemoryGlyphIndexArrayNV = reinterpret_cast<PFNGLPATHMEMORYGLYPHINDEXARRAYNV>( |
| gapic::GetGfxProcAddress("glPathMemoryGlyphIndexArrayNV", false)); |
| glPathParameterfNV = reinterpret_cast<PFNGLPATHPARAMETERFNV>( |
| gapic::GetGfxProcAddress("glPathParameterfNV", false)); |
| glPathParameterfvNV = reinterpret_cast<PFNGLPATHPARAMETERFVNV>( |
| gapic::GetGfxProcAddress("glPathParameterfvNV", false)); |
| glPathParameteriNV = reinterpret_cast<PFNGLPATHPARAMETERINV>( |
| gapic::GetGfxProcAddress("glPathParameteriNV", false)); |
| glPathParameterivNV = reinterpret_cast<PFNGLPATHPARAMETERIVNV>( |
| gapic::GetGfxProcAddress("glPathParameterivNV", false)); |
| glPathStencilDepthOffsetNV = reinterpret_cast<PFNGLPATHSTENCILDEPTHOFFSETNV>( |
| gapic::GetGfxProcAddress("glPathStencilDepthOffsetNV", false)); |
| glPathStencilFuncNV = reinterpret_cast<PFNGLPATHSTENCILFUNCNV>( |
| gapic::GetGfxProcAddress("glPathStencilFuncNV", false)); |
| glPathStringNV = |
| reinterpret_cast<PFNGLPATHSTRINGNV>(gapic::GetGfxProcAddress("glPathStringNV", false)); |
| glPathSubCommandsNV = reinterpret_cast<PFNGLPATHSUBCOMMANDSNV>( |
| gapic::GetGfxProcAddress("glPathSubCommandsNV", false)); |
| glPathSubCoordsNV = reinterpret_cast<PFNGLPATHSUBCOORDSNV>( |
| gapic::GetGfxProcAddress("glPathSubCoordsNV", false)); |
| glPointAlongPathNV = reinterpret_cast<PFNGLPOINTALONGPATHNV>( |
| gapic::GetGfxProcAddress("glPointAlongPathNV", false)); |
| glPolygonModeNV = reinterpret_cast<PFNGLPOLYGONMODENV>( |
| gapic::GetGfxProcAddress("glPolygonModeNV", false)); |
| glPopGroupMarkerEXT = reinterpret_cast<PFNGLPOPGROUPMARKEREXT>( |
| gapic::GetGfxProcAddress("glPopGroupMarkerEXT", false)); |
| glPrimitiveBoundingBoxOES = reinterpret_cast<PFNGLPRIMITIVEBOUNDINGBOXOES>( |
| gapic::GetGfxProcAddress("glPrimitiveBoundingBoxOES", false)); |
| glProgramBinaryOES = reinterpret_cast<PFNGLPROGRAMBINARYOES>( |
| gapic::GetGfxProcAddress("glProgramBinaryOES", false)); |
| glProgramParameteriEXT = reinterpret_cast<PFNGLPROGRAMPARAMETERIEXT>( |
| gapic::GetGfxProcAddress("glProgramParameteriEXT", false)); |
| glProgramPathFragmentInputGenNV = reinterpret_cast<PFNGLPROGRAMPATHFRAGMENTINPUTGENNV>( |
| gapic::GetGfxProcAddress("glProgramPathFragmentInputGenNV", false)); |
| glProgramUniform1fEXT = reinterpret_cast<PFNGLPROGRAMUNIFORM1FEXT>( |
| gapic::GetGfxProcAddress("glProgramUniform1fEXT", false)); |
| glProgramUniform1fvEXT = reinterpret_cast<PFNGLPROGRAMUNIFORM1FVEXT>( |
| gapic::GetGfxProcAddress("glProgramUniform1fvEXT", false)); |
| glProgramUniform1iEXT = reinterpret_cast<PFNGLPROGRAMUNIFORM1IEXT>( |
| gapic::GetGfxProcAddress("glProgramUniform1iEXT", false)); |
| glProgramUniform1ivEXT = reinterpret_cast<PFNGLPROGRAMUNIFORM1IVEXT>( |
| gapic::GetGfxProcAddress("glProgramUniform1ivEXT", false)); |
| glProgramUniform1uiEXT = reinterpret_cast<PFNGLPROGRAMUNIFORM1UIEXT>( |
| gapic::GetGfxProcAddress("glProgramUniform1uiEXT", false)); |
| glProgramUniform1uivEXT = reinterpret_cast<PFNGLPROGRAMUNIFORM1UIVEXT>( |
| gapic::GetGfxProcAddress("glProgramUniform1uivEXT", false)); |
| glProgramUniform2fEXT = reinterpret_cast<PFNGLPROGRAMUNIFORM2FEXT>( |
| gapic::GetGfxProcAddress("glProgramUniform2fEXT", false)); |
| glProgramUniform2fvEXT = reinterpret_cast<PFNGLPROGRAMUNIFORM2FVEXT>( |
| gapic::GetGfxProcAddress("glProgramUniform2fvEXT", false)); |
| glProgramUniform2iEXT = reinterpret_cast<PFNGLPROGRAMUNIFORM2IEXT>( |
| gapic::GetGfxProcAddress("glProgramUniform2iEXT", false)); |
| glProgramUniform2ivEXT = reinterpret_cast<PFNGLPROGRAMUNIFORM2IVEXT>( |
| gapic::GetGfxProcAddress("glProgramUniform2ivEXT", false)); |
| glProgramUniform2uiEXT = reinterpret_cast<PFNGLPROGRAMUNIFORM2UIEXT>( |
| gapic::GetGfxProcAddress("glProgramUniform2uiEXT", false)); |
| glProgramUniform2uivEXT = reinterpret_cast<PFNGLPROGRAMUNIFORM2UIVEXT>( |
| gapic::GetGfxProcAddress("glProgramUniform2uivEXT", false)); |
| glProgramUniform3fEXT = reinterpret_cast<PFNGLPROGRAMUNIFORM3FEXT>( |
| gapic::GetGfxProcAddress("glProgramUniform3fEXT", false)); |
| glProgramUniform3fvEXT = reinterpret_cast<PFNGLPROGRAMUNIFORM3FVEXT>( |
| gapic::GetGfxProcAddress("glProgramUniform3fvEXT", false)); |
| glProgramUniform3iEXT = reinterpret_cast<PFNGLPROGRAMUNIFORM3IEXT>( |
| gapic::GetGfxProcAddress("glProgramUniform3iEXT", false)); |
| glProgramUniform3ivEXT = reinterpret_cast<PFNGLPROGRAMUNIFORM3IVEXT>( |
| gapic::GetGfxProcAddress("glProgramUniform3ivEXT", false)); |
| glProgramUniform3uiEXT = reinterpret_cast<PFNGLPROGRAMUNIFORM3UIEXT>( |
| gapic::GetGfxProcAddress("glProgramUniform3uiEXT", false)); |
| glProgramUniform3uivEXT = reinterpret_cast<PFNGLPROGRAMUNIFORM3UIVEXT>( |
| gapic::GetGfxProcAddress("glProgramUniform3uivEXT", false)); |
| glProgramUniform4fEXT = reinterpret_cast<PFNGLPROGRAMUNIFORM4FEXT>( |
| gapic::GetGfxProcAddress("glProgramUniform4fEXT", false)); |
| glProgramUniform4fvEXT = reinterpret_cast<PFNGLPROGRAMUNIFORM4FVEXT>( |
| gapic::GetGfxProcAddress("glProgramUniform4fvEXT", false)); |
| glProgramUniform4iEXT = reinterpret_cast<PFNGLPROGRAMUNIFORM4IEXT>( |
| gapic::GetGfxProcAddress("glProgramUniform4iEXT", false)); |
| glProgramUniform4ivEXT = reinterpret_cast<PFNGLPROGRAMUNIFORM4IVEXT>( |
| gapic::GetGfxProcAddress("glProgramUniform4ivEXT", false)); |
| glProgramUniform4uiEXT = reinterpret_cast<PFNGLPROGRAMUNIFORM4UIEXT>( |
| gapic::GetGfxProcAddress("glProgramUniform4uiEXT", false)); |
| glProgramUniform4uivEXT = reinterpret_cast<PFNGLPROGRAMUNIFORM4UIVEXT>( |
| gapic::GetGfxProcAddress("glProgramUniform4uivEXT", false)); |
| glProgramUniformHandleui64NV = reinterpret_cast<PFNGLPROGRAMUNIFORMHANDLEUI64NV>( |
| gapic::GetGfxProcAddress("glProgramUniformHandleui64NV", false)); |
| glProgramUniformHandleui64vNV = reinterpret_cast<PFNGLPROGRAMUNIFORMHANDLEUI64VNV>( |
| gapic::GetGfxProcAddress("glProgramUniformHandleui64vNV", false)); |
| glProgramUniformMatrix2fvEXT = reinterpret_cast<PFNGLPROGRAMUNIFORMMATRIX2FVEXT>( |
| gapic::GetGfxProcAddress("glProgramUniformMatrix2fvEXT", false)); |
| glProgramUniformMatrix2x3fvEXT = reinterpret_cast<PFNGLPROGRAMUNIFORMMATRIX2X3FVEXT>( |
| gapic::GetGfxProcAddress("glProgramUniformMatrix2x3fvEXT", false)); |
| glProgramUniformMatrix2x4fvEXT = reinterpret_cast<PFNGLPROGRAMUNIFORMMATRIX2X4FVEXT>( |
| gapic::GetGfxProcAddress("glProgramUniformMatrix2x4fvEXT", false)); |
| glProgramUniformMatrix3fvEXT = reinterpret_cast<PFNGLPROGRAMUNIFORMMATRIX3FVEXT>( |
| gapic::GetGfxProcAddress("glProgramUniformMatrix3fvEXT", false)); |
| glProgramUniformMatrix3x2fvEXT = reinterpret_cast<PFNGLPROGRAMUNIFORMMATRIX3X2FVEXT>( |
| gapic::GetGfxProcAddress("glProgramUniformMatrix3x2fvEXT", false)); |
| glProgramUniformMatrix3x4fvEXT = reinterpret_cast<PFNGLPROGRAMUNIFORMMATRIX3X4FVEXT>( |
| gapic::GetGfxProcAddress("glProgramUniformMatrix3x4fvEXT", false)); |
| glProgramUniformMatrix4fvEXT = reinterpret_cast<PFNGLPROGRAMUNIFORMMATRIX4FVEXT>( |
| gapic::GetGfxProcAddress("glProgramUniformMatrix4fvEXT", false)); |
| glProgramUniformMatrix4x2fvEXT = reinterpret_cast<PFNGLPROGRAMUNIFORMMATRIX4X2FVEXT>( |
| gapic::GetGfxProcAddress("glProgramUniformMatrix4x2fvEXT", false)); |
| glProgramUniformMatrix4x3fvEXT = reinterpret_cast<PFNGLPROGRAMUNIFORMMATRIX4X3FVEXT>( |
| gapic::GetGfxProcAddress("glProgramUniformMatrix4x3fvEXT", false)); |
| glPushGroupMarkerEXT = reinterpret_cast<PFNGLPUSHGROUPMARKEREXT>( |
| gapic::GetGfxProcAddress("glPushGroupMarkerEXT", false)); |
| glQueryCounterEXT = reinterpret_cast<PFNGLQUERYCOUNTEREXT>( |
| gapic::GetGfxProcAddress("glQueryCounterEXT", false)); |
| glReadBufferIndexedEXT = reinterpret_cast<PFNGLREADBUFFERINDEXEDEXT>( |
| gapic::GetGfxProcAddress("glReadBufferIndexedEXT", false)); |
| glReadBufferNV = |
| reinterpret_cast<PFNGLREADBUFFERNV>(gapic::GetGfxProcAddress("glReadBufferNV", false)); |
| glReadnPixelsEXT = reinterpret_cast<PFNGLREADNPIXELSEXT>( |
| gapic::GetGfxProcAddress("glReadnPixelsEXT", false)); |
| glReadnPixelsKHR = reinterpret_cast<PFNGLREADNPIXELSKHR>( |
| gapic::GetGfxProcAddress("glReadnPixelsKHR", false)); |
| glRenderbufferStorageMultisampleANGLE = |
| reinterpret_cast<PFNGLRENDERBUFFERSTORAGEMULTISAMPLEANGLE>( |
| gapic::GetGfxProcAddress("glRenderbufferStorageMultisampleANGLE", false)); |
| glRenderbufferStorageMultisampleAPPLE = |
| reinterpret_cast<PFNGLRENDERBUFFERSTORAGEMULTISAMPLEAPPLE>( |
| gapic::GetGfxProcAddress("glRenderbufferStorageMultisampleAPPLE", false)); |
| glRenderbufferStorageMultisampleEXT = reinterpret_cast<PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXT>( |
| gapic::GetGfxProcAddress("glRenderbufferStorageMultisampleEXT", false)); |
| glRenderbufferStorageMultisampleIMG = reinterpret_cast<PFNGLRENDERBUFFERSTORAGEMULTISAMPLEIMG>( |
| gapic::GetGfxProcAddress("glRenderbufferStorageMultisampleIMG", false)); |
| glRenderbufferStorageMultisampleNV = reinterpret_cast<PFNGLRENDERBUFFERSTORAGEMULTISAMPLENV>( |
| gapic::GetGfxProcAddress("glRenderbufferStorageMultisampleNV", false)); |
| glResolveMultisampleFramebufferAPPLE = |
| reinterpret_cast<PFNGLRESOLVEMULTISAMPLEFRAMEBUFFERAPPLE>( |
| gapic::GetGfxProcAddress("glResolveMultisampleFramebufferAPPLE", false)); |
| glSamplerParameterIivOES = reinterpret_cast<PFNGLSAMPLERPARAMETERIIVOES>( |
| gapic::GetGfxProcAddress("glSamplerParameterIivOES", false)); |
| glSamplerParameterIuivOES = reinterpret_cast<PFNGLSAMPLERPARAMETERIUIVOES>( |
| gapic::GetGfxProcAddress("glSamplerParameterIuivOES", false)); |
| glScissorArrayvNV = reinterpret_cast<PFNGLSCISSORARRAYVNV>( |
| gapic::GetGfxProcAddress("glScissorArrayvNV", false)); |
| glScissorIndexedNV = reinterpret_cast<PFNGLSCISSORINDEXEDNV>( |
| gapic::GetGfxProcAddress("glScissorIndexedNV", false)); |
| glScissorIndexedvNV = reinterpret_cast<PFNGLSCISSORINDEXEDVNV>( |
| gapic::GetGfxProcAddress("glScissorIndexedvNV", false)); |
| glSelectPerfMonitorCountersAMD = reinterpret_cast<PFNGLSELECTPERFMONITORCOUNTERSAMD>( |
| gapic::GetGfxProcAddress("glSelectPerfMonitorCountersAMD", false)); |
| glSetFenceNV = |
| reinterpret_cast<PFNGLSETFENCENV>(gapic::GetGfxProcAddress("glSetFenceNV", false)); |
| glStartTilingQCOM = reinterpret_cast<PFNGLSTARTTILINGQCOM>( |
| gapic::GetGfxProcAddress("glStartTilingQCOM", false)); |
| glStencilFillPathInstancedNV = reinterpret_cast<PFNGLSTENCILFILLPATHINSTANCEDNV>( |
| gapic::GetGfxProcAddress("glStencilFillPathInstancedNV", false)); |
| glStencilFillPathNV = reinterpret_cast<PFNGLSTENCILFILLPATHNV>( |
| gapic::GetGfxProcAddress("glStencilFillPathNV", false)); |
| glStencilStrokePathInstancedNV = reinterpret_cast<PFNGLSTENCILSTROKEPATHINSTANCEDNV>( |
| gapic::GetGfxProcAddress("glStencilStrokePathInstancedNV", false)); |
| glStencilStrokePathNV = reinterpret_cast<PFNGLSTENCILSTROKEPATHNV>( |
| gapic::GetGfxProcAddress("glStencilStrokePathNV", false)); |
| glStencilThenCoverFillPathInstancedNV = |
| reinterpret_cast<PFNGLSTENCILTHENCOVERFILLPATHINSTANCEDNV>( |
| gapic::GetGfxProcAddress("glStencilThenCoverFillPathInstancedNV", false)); |
| glStencilThenCoverFillPathNV = reinterpret_cast<PFNGLSTENCILTHENCOVERFILLPATHNV>( |
| gapic::GetGfxProcAddress("glStencilThenCoverFillPathNV", false)); |
| glStencilThenCoverStrokePathInstancedNV = |
| reinterpret_cast<PFNGLSTENCILTHENCOVERSTROKEPATHINSTANCEDNV>( |
| gapic::GetGfxProcAddress("glStencilThenCoverStrokePathInstancedNV", false)); |
| glStencilThenCoverStrokePathNV = reinterpret_cast<PFNGLSTENCILTHENCOVERSTROKEPATHNV>( |
| gapic::GetGfxProcAddress("glStencilThenCoverStrokePathNV", false)); |
| glTestFenceNV = |
| reinterpret_cast<PFNGLTESTFENCENV>(gapic::GetGfxProcAddress("glTestFenceNV", false)); |
| glTexBufferOES = |
| reinterpret_cast<PFNGLTEXBUFFEROES>(gapic::GetGfxProcAddress("glTexBufferOES", false)); |
| glTexBufferRangeOES = reinterpret_cast<PFNGLTEXBUFFERRANGEOES>( |
| gapic::GetGfxProcAddress("glTexBufferRangeOES", false)); |
| glTexImage3DOES = reinterpret_cast<PFNGLTEXIMAGE3DOES>( |
| gapic::GetGfxProcAddress("glTexImage3DOES", false)); |
| glTexPageCommitmentARB = reinterpret_cast<PFNGLTEXPAGECOMMITMENTARB>( |
| gapic::GetGfxProcAddress("glTexPageCommitmentARB", false)); |
| glTexParameterIivOES = reinterpret_cast<PFNGLTEXPARAMETERIIVOES>( |
| gapic::GetGfxProcAddress("glTexParameterIivOES", false)); |
| glTexParameterIuivOES = reinterpret_cast<PFNGLTEXPARAMETERIUIVOES>( |
| gapic::GetGfxProcAddress("glTexParameterIuivOES", false)); |
| glTexStorage1DEXT = reinterpret_cast<PFNGLTEXSTORAGE1DEXT>( |
| gapic::GetGfxProcAddress("glTexStorage1DEXT", false)); |
| glTexStorage2DEXT = reinterpret_cast<PFNGLTEXSTORAGE2DEXT>( |
| gapic::GetGfxProcAddress("glTexStorage2DEXT", false)); |
| glTexStorage3DEXT = reinterpret_cast<PFNGLTEXSTORAGE3DEXT>( |
| gapic::GetGfxProcAddress("glTexStorage3DEXT", false)); |
| glTexSubImage3DOES = reinterpret_cast<PFNGLTEXSUBIMAGE3DOES>( |
| gapic::GetGfxProcAddress("glTexSubImage3DOES", false)); |
| glTextureStorage1DEXT = reinterpret_cast<PFNGLTEXTURESTORAGE1DEXT>( |
| gapic::GetGfxProcAddress("glTextureStorage1DEXT", false)); |
| glTextureStorage2DEXT = reinterpret_cast<PFNGLTEXTURESTORAGE2DEXT>( |
| gapic::GetGfxProcAddress("glTextureStorage2DEXT", false)); |
| glTextureStorage3DEXT = reinterpret_cast<PFNGLTEXTURESTORAGE3DEXT>( |
| gapic::GetGfxProcAddress("glTextureStorage3DEXT", false)); |
| glTextureViewEXT = reinterpret_cast<PFNGLTEXTUREVIEWEXT>( |
| gapic::GetGfxProcAddress("glTextureViewEXT", false)); |
| glTextureViewOES = reinterpret_cast<PFNGLTEXTUREVIEWOES>( |
| gapic::GetGfxProcAddress("glTextureViewOES", false)); |
| glTransformPathNV = reinterpret_cast<PFNGLTRANSFORMPATHNV>( |
| gapic::GetGfxProcAddress("glTransformPathNV", false)); |
| glUniformHandleui64NV = reinterpret_cast<PFNGLUNIFORMHANDLEUI64NV>( |
| gapic::GetGfxProcAddress("glUniformHandleui64NV", false)); |
| glUniformHandleui64vNV = reinterpret_cast<PFNGLUNIFORMHANDLEUI64VNV>( |
| gapic::GetGfxProcAddress("glUniformHandleui64vNV", false)); |
| glUniformMatrix2x3fvNV = reinterpret_cast<PFNGLUNIFORMMATRIX2X3FVNV>( |
| gapic::GetGfxProcAddress("glUniformMatrix2x3fvNV", false)); |
| glUniformMatrix2x4fvNV = reinterpret_cast<PFNGLUNIFORMMATRIX2X4FVNV>( |
| gapic::GetGfxProcAddress("glUniformMatrix2x4fvNV", false)); |
| glUniformMatrix3x2fvNV = reinterpret_cast<PFNGLUNIFORMMATRIX3X2FVNV>( |
| gapic::GetGfxProcAddress("glUniformMatrix3x2fvNV", false)); |
| glUniformMatrix3x4fvNV = reinterpret_cast<PFNGLUNIFORMMATRIX3X4FVNV>( |
| gapic::GetGfxProcAddress("glUniformMatrix3x4fvNV", false)); |
| glUniformMatrix4x2fvNV = reinterpret_cast<PFNGLUNIFORMMATRIX4X2FVNV>( |
| gapic::GetGfxProcAddress("glUniformMatrix4x2fvNV", false)); |
| glUniformMatrix4x3fvNV = reinterpret_cast<PFNGLUNIFORMMATRIX4X3FVNV>( |
| gapic::GetGfxProcAddress("glUniformMatrix4x3fvNV", false)); |
| glUnmapBufferOES = reinterpret_cast<PFNGLUNMAPBUFFEROES>( |
| gapic::GetGfxProcAddress("glUnmapBufferOES", false)); |
| glUseProgramStagesEXT = reinterpret_cast<PFNGLUSEPROGRAMSTAGESEXT>( |
| gapic::GetGfxProcAddress("glUseProgramStagesEXT", false)); |
| glValidateProgramPipelineEXT = reinterpret_cast<PFNGLVALIDATEPROGRAMPIPELINEEXT>( |
| gapic::GetGfxProcAddress("glValidateProgramPipelineEXT", false)); |
| glVertexAttribDivisorANGLE = reinterpret_cast<PFNGLVERTEXATTRIBDIVISORANGLE>( |
| gapic::GetGfxProcAddress("glVertexAttribDivisorANGLE", false)); |
| glVertexAttribDivisorEXT = reinterpret_cast<PFNGLVERTEXATTRIBDIVISOREXT>( |
| gapic::GetGfxProcAddress("glVertexAttribDivisorEXT", false)); |
| glVertexAttribDivisorNV = reinterpret_cast<PFNGLVERTEXATTRIBDIVISORNV>( |
| gapic::GetGfxProcAddress("glVertexAttribDivisorNV", false)); |
| glViewportArrayvNV = reinterpret_cast<PFNGLVIEWPORTARRAYVNV>( |
| gapic::GetGfxProcAddress("glViewportArrayvNV", false)); |
| glViewportIndexedfNV = reinterpret_cast<PFNGLVIEWPORTINDEXEDFNV>( |
| gapic::GetGfxProcAddress("glViewportIndexedfNV", false)); |
| glViewportIndexedfvNV = reinterpret_cast<PFNGLVIEWPORTINDEXEDFVNV>( |
| gapic::GetGfxProcAddress("glViewportIndexedfvNV", false)); |
| glWaitSyncAPPLE = reinterpret_cast<PFNGLWAITSYNCAPPLE>( |
| gapic::GetGfxProcAddress("glWaitSyncAPPLE", false)); |
| glWeightPathsNV = reinterpret_cast<PFNGLWEIGHTPATHSNV>( |
| gapic::GetGfxProcAddress("glWeightPathsNV", false)); |
| glCoverageModulationNV = reinterpret_cast<PFNGLCOVERAGEMODULATIONNV>( |
| gapic::GetGfxProcAddress("glCoverageModulationNV", false)); |
| glCoverageModulationTableNV = reinterpret_cast<PFNGLCOVERAGEMODULATIONTABLENV>( |
| gapic::GetGfxProcAddress("glCoverageModulationTableNV", false)); |
| glFragmentCoverageColorNV = reinterpret_cast<PFNGLFRAGMENTCOVERAGECOLORNV>( |
| gapic::GetGfxProcAddress("glFragmentCoverageColorNV", false)); |
| glFramebufferSampleLocationsfvNV = reinterpret_cast<PFNGLFRAMEBUFFERSAMPLELOCATIONSFVNV>( |
| gapic::GetGfxProcAddress("glFramebufferSampleLocationsfvNV", false)); |
| glGetCoverageModulationTableNV = reinterpret_cast<PFNGLGETCOVERAGEMODULATIONTABLENV>( |
| gapic::GetGfxProcAddress("glGetCoverageModulationTableNV", false)); |
| glNamedFramebufferSampleLocationsfvNV = |
| reinterpret_cast<PFNGLNAMEDFRAMEBUFFERSAMPLELOCATIONSFVNV>( |
| gapic::GetGfxProcAddress("glNamedFramebufferSampleLocationsfvNV", false)); |
| glRasterSamplesEXT = reinterpret_cast<PFNGLRASTERSAMPLESEXT>( |
| gapic::GetGfxProcAddress("glRasterSamplesEXT", false)); |
| glResolveDepthValuesNV = reinterpret_cast<PFNGLRESOLVEDEPTHVALUESNV>( |
| gapic::GetGfxProcAddress("glResolveDepthValuesNV", false)); |
| glSubpixelPrecisionBiasNV = reinterpret_cast<PFNGLSUBPIXELPRECISIONBIASNV>( |
| gapic::GetGfxProcAddress("glSubpixelPrecisionBiasNV", false)); |
| glBlendColor = |
| reinterpret_cast<PFNGLBLENDCOLOR>(gapic::GetGfxProcAddress("glBlendColor", false)); |
| glBlendEquation = reinterpret_cast<PFNGLBLENDEQUATION>( |
| gapic::GetGfxProcAddress("glBlendEquation", false)); |
| glBlendEquationSeparate = reinterpret_cast<PFNGLBLENDEQUATIONSEPARATE>( |
| gapic::GetGfxProcAddress("glBlendEquationSeparate", false)); |
| glBlendFunc = reinterpret_cast<PFNGLBLENDFUNC>(gapic::GetGfxProcAddress("glBlendFunc", false)); |
| glBlendFuncSeparate = reinterpret_cast<PFNGLBLENDFUNCSEPARATE>( |
| gapic::GetGfxProcAddress("glBlendFuncSeparate", false)); |
| glDepthFunc = reinterpret_cast<PFNGLDEPTHFUNC>(gapic::GetGfxProcAddress("glDepthFunc", false)); |
| glSampleCoverage = reinterpret_cast<PFNGLSAMPLECOVERAGE>( |
| gapic::GetGfxProcAddress("glSampleCoverage", false)); |
| glSampleMaski = |
| reinterpret_cast<PFNGLSAMPLEMASKI>(gapic::GetGfxProcAddress("glSampleMaski", false)); |
| glScissor = reinterpret_cast<PFNGLSCISSOR>(gapic::GetGfxProcAddress("glScissor", false)); |
| glStencilFunc = |
| reinterpret_cast<PFNGLSTENCILFUNC>(gapic::GetGfxProcAddress("glStencilFunc", false)); |
| glStencilFuncSeparate = reinterpret_cast<PFNGLSTENCILFUNCSEPARATE>( |
| gapic::GetGfxProcAddress("glStencilFuncSeparate", false)); |
| glStencilOp = reinterpret_cast<PFNGLSTENCILOP>(gapic::GetGfxProcAddress("glStencilOp", false)); |
| glStencilOpSeparate = reinterpret_cast<PFNGLSTENCILOPSEPARATE>( |
| gapic::GetGfxProcAddress("glStencilOpSeparate", false)); |
| glBindFramebuffer = reinterpret_cast<PFNGLBINDFRAMEBUFFER>( |
| gapic::GetGfxProcAddress("glBindFramebuffer", false)); |
| glBindRenderbuffer = reinterpret_cast<PFNGLBINDRENDERBUFFER>( |
| gapic::GetGfxProcAddress("glBindRenderbuffer", false)); |
| glBlitFramebuffer = reinterpret_cast<PFNGLBLITFRAMEBUFFER>( |
| gapic::GetGfxProcAddress("glBlitFramebuffer", false)); |
| glCheckFramebufferStatus = reinterpret_cast<PFNGLCHECKFRAMEBUFFERSTATUS>( |
| gapic::GetGfxProcAddress("glCheckFramebufferStatus", false)); |
| glClear = reinterpret_cast<PFNGLCLEAR>(gapic::GetGfxProcAddress("glClear", false)); |
| glClearBufferfi = reinterpret_cast<PFNGLCLEARBUFFERFI>( |
| gapic::GetGfxProcAddress("glClearBufferfi", false)); |
| glClearBufferfv = reinterpret_cast<PFNGLCLEARBUFFERFV>( |
| gapic::GetGfxProcAddress("glClearBufferfv", false)); |
| glClearBufferiv = reinterpret_cast<PFNGLCLEARBUFFERIV>( |
| gapic::GetGfxProcAddress("glClearBufferiv", false)); |
| glClearBufferuiv = reinterpret_cast<PFNGLCLEARBUFFERUIV>( |
| gapic::GetGfxProcAddress("glClearBufferuiv", false)); |
| glClearColor = |
| reinterpret_cast<PFNGLCLEARCOLOR>(gapic::GetGfxProcAddress("glClearColor", false)); |
| glClearDepthf = |
| reinterpret_cast<PFNGLCLEARDEPTHF>(gapic::GetGfxProcAddress("glClearDepthf", false)); |
| glClearStencil = |
| reinterpret_cast<PFNGLCLEARSTENCIL>(gapic::GetGfxProcAddress("glClearStencil", false)); |
| glColorMask = reinterpret_cast<PFNGLCOLORMASK>(gapic::GetGfxProcAddress("glColorMask", false)); |
| glDeleteFramebuffers = reinterpret_cast<PFNGLDELETEFRAMEBUFFERS>( |
| gapic::GetGfxProcAddress("glDeleteFramebuffers", false)); |
| glDeleteRenderbuffers = reinterpret_cast<PFNGLDELETERENDERBUFFERS>( |
| gapic::GetGfxProcAddress("glDeleteRenderbuffers", false)); |
| glDepthMask = reinterpret_cast<PFNGLDEPTHMASK>(gapic::GetGfxProcAddress("glDepthMask", false)); |
| glFramebufferParameteri = reinterpret_cast<PFNGLFRAMEBUFFERPARAMETERI>( |
| gapic::GetGfxProcAddress("glFramebufferParameteri", false)); |
| glFramebufferRenderbuffer = reinterpret_cast<PFNGLFRAMEBUFFERRENDERBUFFER>( |
| gapic::GetGfxProcAddress("glFramebufferRenderbuffer", false)); |
| glFramebufferTexture2D = reinterpret_cast<PFNGLFRAMEBUFFERTEXTURE2D>( |
| gapic::GetGfxProcAddress("glFramebufferTexture2D", false)); |
| glFramebufferTextureLayer = reinterpret_cast<PFNGLFRAMEBUFFERTEXTURELAYER>( |
| gapic::GetGfxProcAddress("glFramebufferTextureLayer", false)); |
| glGenFramebuffers = reinterpret_cast<PFNGLGENFRAMEBUFFERS>( |
| gapic::GetGfxProcAddress("glGenFramebuffers", false)); |
| glGenRenderbuffers = reinterpret_cast<PFNGLGENRENDERBUFFERS>( |
| gapic::GetGfxProcAddress("glGenRenderbuffers", false)); |
| glGetFramebufferAttachmentParameteriv = |
| reinterpret_cast<PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIV>( |
| gapic::GetGfxProcAddress("glGetFramebufferAttachmentParameteriv", false)); |
| glGetFramebufferParameteriv = reinterpret_cast<PFNGLGETFRAMEBUFFERPARAMETERIV>( |
| gapic::GetGfxProcAddress("glGetFramebufferParameteriv", false)); |
| glGetRenderbufferParameteriv = reinterpret_cast<PFNGLGETRENDERBUFFERPARAMETERIV>( |
| gapic::GetGfxProcAddress("glGetRenderbufferParameteriv", false)); |
| glInvalidateFramebuffer = reinterpret_cast<PFNGLINVALIDATEFRAMEBUFFER>( |
| gapic::GetGfxProcAddress("glInvalidateFramebuffer", false)); |
| glInvalidateSubFramebuffer = reinterpret_cast<PFNGLINVALIDATESUBFRAMEBUFFER>( |
| gapic::GetGfxProcAddress("glInvalidateSubFramebuffer", false)); |
| glIsFramebuffer = reinterpret_cast<PFNGLISFRAMEBUFFER>( |
| gapic::GetGfxProcAddress("glIsFramebuffer", false)); |
| glIsRenderbuffer = reinterpret_cast<PFNGLISRENDERBUFFER>( |
| gapic::GetGfxProcAddress("glIsRenderbuffer", false)); |
| glReadBuffer = |
| reinterpret_cast<PFNGLREADBUFFER>(gapic::GetGfxProcAddress("glReadBuffer", false)); |
| glReadPixels = |
| reinterpret_cast<PFNGLREADPIXELS>(gapic::GetGfxProcAddress("glReadPixels", false)); |
| glRenderbufferStorage = reinterpret_cast<PFNGLRENDERBUFFERSTORAGE>( |
| gapic::GetGfxProcAddress("glRenderbufferStorage", false)); |
| glRenderbufferStorageMultisample = reinterpret_cast<PFNGLRENDERBUFFERSTORAGEMULTISAMPLE>( |
| gapic::GetGfxProcAddress("glRenderbufferStorageMultisample", false)); |
| glStencilMask = |
| reinterpret_cast<PFNGLSTENCILMASK>(gapic::GetGfxProcAddress("glStencilMask", false)); |
| glStencilMaskSeparate = reinterpret_cast<PFNGLSTENCILMASKSEPARATE>( |
| gapic::GetGfxProcAddress("glStencilMaskSeparate", false)); |
| glDisable = reinterpret_cast<PFNGLDISABLE>(gapic::GetGfxProcAddress("glDisable", false)); |
| glEnable = reinterpret_cast<PFNGLENABLE>(gapic::GetGfxProcAddress("glEnable", false)); |
| glFinish = reinterpret_cast<PFNGLFINISH>(gapic::GetGfxProcAddress("glFinish", false)); |
| glFlush = reinterpret_cast<PFNGLFLUSH>(gapic::GetGfxProcAddress("glFlush", false)); |
| glFlushMappedBufferRange = reinterpret_cast<PFNGLFLUSHMAPPEDBUFFERRANGE>( |
| gapic::GetGfxProcAddress("glFlushMappedBufferRange", false)); |
| glGetError = reinterpret_cast<PFNGLGETERROR>(gapic::GetGfxProcAddress("glGetError", false)); |
| glHint = reinterpret_cast<PFNGLHINT>(gapic::GetGfxProcAddress("glHint", false)); |
| glActiveShaderProgram = reinterpret_cast<PFNGLACTIVESHADERPROGRAM>( |
| gapic::GetGfxProcAddress("glActiveShaderProgram", false)); |
| glAttachShader = |
| reinterpret_cast<PFNGLATTACHSHADER>(gapic::GetGfxProcAddress("glAttachShader", false)); |
| glBindAttribLocation = reinterpret_cast<PFNGLBINDATTRIBLOCATION>( |
| gapic::GetGfxProcAddress("glBindAttribLocation", false)); |
| glBindProgramPipeline = reinterpret_cast<PFNGLBINDPROGRAMPIPELINE>( |
| gapic::GetGfxProcAddress("glBindProgramPipeline", false)); |
| glCompileShader = reinterpret_cast<PFNGLCOMPILESHADER>( |
| gapic::GetGfxProcAddress("glCompileShader", false)); |
| glCreateProgram = reinterpret_cast<PFNGLCREATEPROGRAM>( |
| gapic::GetGfxProcAddress("glCreateProgram", false)); |
| glCreateShader = |
| reinterpret_cast<PFNGLCREATESHADER>(gapic::GetGfxProcAddress("glCreateShader", false)); |
| glCreateShaderProgramv = reinterpret_cast<PFNGLCREATESHADERPROGRAMV>( |
| gapic::GetGfxProcAddress("glCreateShaderProgramv", false)); |
| glDeleteProgram = reinterpret_cast<PFNGLDELETEPROGRAM>( |
| gapic::GetGfxProcAddress("glDeleteProgram", false)); |
| glDeleteProgramPipelines = reinterpret_cast<PFNGLDELETEPROGRAMPIPELINES>( |
| gapic::GetGfxProcAddress("glDeleteProgramPipelines", false)); |
| glDeleteShader = |
| reinterpret_cast<PFNGLDELETESHADER>(gapic::GetGfxProcAddress("glDeleteShader", false)); |
| glDetachShader = |
| reinterpret_cast<PFNGLDETACHSHADER>(gapic::GetGfxProcAddress("glDetachShader", false)); |
| glDispatchCompute = reinterpret_cast<PFNGLDISPATCHCOMPUTE>( |
| gapic::GetGfxProcAddress("glDispatchCompute", false)); |
| glDispatchComputeIndirect = reinterpret_cast<PFNGLDISPATCHCOMPUTEINDIRECT>( |
| gapic::GetGfxProcAddress("glDispatchComputeIndirect", false)); |
| glGenProgramPipelines = reinterpret_cast<PFNGLGENPROGRAMPIPELINES>( |
| gapic::GetGfxProcAddress("glGenProgramPipelines", false)); |
| glGetActiveAttrib = reinterpret_cast<PFNGLGETACTIVEATTRIB>( |
| gapic::GetGfxProcAddress("glGetActiveAttrib", false)); |
| glGetActiveUniform = reinterpret_cast<PFNGLGETACTIVEUNIFORM>( |
| gapic::GetGfxProcAddress("glGetActiveUniform", false)); |
| glGetActiveUniformBlockName = reinterpret_cast<PFNGLGETACTIVEUNIFORMBLOCKNAME>( |
| gapic::GetGfxProcAddress("glGetActiveUniformBlockName", false)); |
| glGetActiveUniformBlockiv = reinterpret_cast<PFNGLGETACTIVEUNIFORMBLOCKIV>( |
| gapic::GetGfxProcAddress("glGetActiveUniformBlockiv", false)); |
| glGetActiveUniformsiv = reinterpret_cast<PFNGLGETACTIVEUNIFORMSIV>( |
| gapic::GetGfxProcAddress("glGetActiveUniformsiv", false)); |
| glGetAttachedShaders = reinterpret_cast<PFNGLGETATTACHEDSHADERS>( |
| gapic::GetGfxProcAddress("glGetAttachedShaders", false)); |
| glGetAttribLocation = reinterpret_cast<PFNGLGETATTRIBLOCATION>( |
| gapic::GetGfxProcAddress("glGetAttribLocation", false)); |
| glGetFragDataLocation = reinterpret_cast<PFNGLGETFRAGDATALOCATION>( |
| gapic::GetGfxProcAddress("glGetFragDataLocation", false)); |
| glGetProgramBinary = reinterpret_cast<PFNGLGETPROGRAMBINARY>( |
| gapic::GetGfxProcAddress("glGetProgramBinary", false)); |
| glGetProgramInfoLog = reinterpret_cast<PFNGLGETPROGRAMINFOLOG>( |
| gapic::GetGfxProcAddress("glGetProgramInfoLog", false)); |
| glGetProgramInterfaceiv = reinterpret_cast<PFNGLGETPROGRAMINTERFACEIV>( |
| gapic::GetGfxProcAddress("glGetProgramInterfaceiv", false)); |
| glGetProgramPipelineInfoLog = reinterpret_cast<PFNGLGETPROGRAMPIPELINEINFOLOG>( |
| gapic::GetGfxProcAddress("glGetProgramPipelineInfoLog", false)); |
| glGetProgramPipelineiv = reinterpret_cast<PFNGLGETPROGRAMPIPELINEIV>( |
| gapic::GetGfxProcAddress("glGetProgramPipelineiv", false)); |
| glGetProgramResourceIndex = reinterpret_cast<PFNGLGETPROGRAMRESOURCEINDEX>( |
| gapic::GetGfxProcAddress("glGetProgramResourceIndex", false)); |
| glGetProgramResourceLocation = reinterpret_cast<PFNGLGETPROGRAMRESOURCELOCATION>( |
| gapic::GetGfxProcAddress("glGetProgramResourceLocation", false)); |
| glGetProgramResourceName = reinterpret_cast<PFNGLGETPROGRAMRESOURCENAME>( |
| gapic::GetGfxProcAddress("glGetProgramResourceName", false)); |
| glGetProgramResourceiv = reinterpret_cast<PFNGLGETPROGRAMRESOURCEIV>( |
| gapic::GetGfxProcAddress("glGetProgramResourceiv", false)); |
| glGetProgramiv = |
| reinterpret_cast<PFNGLGETPROGRAMIV>(gapic::GetGfxProcAddress("glGetProgramiv", false)); |
| glGetShaderInfoLog = reinterpret_cast<PFNGLGETSHADERINFOLOG>( |
| gapic::GetGfxProcAddress("glGetShaderInfoLog", false)); |
| glGetShaderPrecisionFormat = reinterpret_cast<PFNGLGETSHADERPRECISIONFORMAT>( |
| gapic::GetGfxProcAddress("glGetShaderPrecisionFormat", false)); |
| glGetShaderSource = reinterpret_cast<PFNGLGETSHADERSOURCE>( |
| gapic::GetGfxProcAddress("glGetShaderSource", false)); |
| glGetShaderiv = |
| reinterpret_cast<PFNGLGETSHADERIV>(gapic::GetGfxProcAddress("glGetShaderiv", false)); |
| glGetUniformBlockIndex = reinterpret_cast<PFNGLGETUNIFORMBLOCKINDEX>( |
| gapic::GetGfxProcAddress("glGetUniformBlockIndex", false)); |
| glGetUniformIndices = reinterpret_cast<PFNGLGETUNIFORMINDICES>( |
| gapic::GetGfxProcAddress("glGetUniformIndices", false)); |
| glGetUniformLocation = reinterpret_cast<PFNGLGETUNIFORMLOCATION>( |
| gapic::GetGfxProcAddress("glGetUniformLocation", false)); |
| glGetUniformfv = |
| reinterpret_cast<PFNGLGETUNIFORMFV>(gapic::GetGfxProcAddress("glGetUniformfv", false)); |
| glGetUniformiv = |
| reinterpret_cast<PFNGLGETUNIFORMIV>(gapic::GetGfxProcAddress("glGetUniformiv", false)); |
| glGetUniformuiv = reinterpret_cast<PFNGLGETUNIFORMUIV>( |
| gapic::GetGfxProcAddress("glGetUniformuiv", false)); |
| glIsProgram = reinterpret_cast<PFNGLISPROGRAM>(gapic::GetGfxProcAddress("glIsProgram", false)); |
| glIsProgramPipeline = reinterpret_cast<PFNGLISPROGRAMPIPELINE>( |
| gapic::GetGfxProcAddress("glIsProgramPipeline", false)); |
| glIsShader = reinterpret_cast<PFNGLISSHADER>(gapic::GetGfxProcAddress("glIsShader", false)); |
| glLinkProgram = |
| reinterpret_cast<PFNGLLINKPROGRAM>(gapic::GetGfxProcAddress("glLinkProgram", false)); |
| glMemoryBarrier = reinterpret_cast<PFNGLMEMORYBARRIER>( |
| gapic::GetGfxProcAddress("glMemoryBarrier", false)); |
| glMemoryBarrierByRegion = reinterpret_cast<PFNGLMEMORYBARRIERBYREGION>( |
| gapic::GetGfxProcAddress("glMemoryBarrierByRegion", false)); |
| glProgramBinary = reinterpret_cast<PFNGLPROGRAMBINARY>( |
| gapic::GetGfxProcAddress("glProgramBinary", false)); |
| glProgramParameteri = reinterpret_cast<PFNGLPROGRAMPARAMETERI>( |
| gapic::GetGfxProcAddress("glProgramParameteri", false)); |
| glProgramUniform1f = reinterpret_cast<PFNGLPROGRAMUNIFORM1F>( |
| gapic::GetGfxProcAddress("glProgramUniform1f", false)); |
| glProgramUniform1fv = reinterpret_cast<PFNGLPROGRAMUNIFORM1FV>( |
| gapic::GetGfxProcAddress("glProgramUniform1fv", false)); |
| glProgramUniform1i = reinterpret_cast<PFNGLPROGRAMUNIFORM1I>( |
| gapic::GetGfxProcAddress("glProgramUniform1i", false)); |
| glProgramUniform1iv = reinterpret_cast<PFNGLPROGRAMUNIFORM1IV>( |
| gapic::GetGfxProcAddress("glProgramUniform1iv", false)); |
| glProgramUniform1ui = reinterpret_cast<PFNGLPROGRAMUNIFORM1UI>( |
| gapic::GetGfxProcAddress("glProgramUniform1ui", false)); |
| glProgramUniform1uiv = reinterpret_cast<PFNGLPROGRAMUNIFORM1UIV>( |
| gapic::GetGfxProcAddress("glProgramUniform1uiv", false)); |
| glProgramUniform2f = reinterpret_cast<PFNGLPROGRAMUNIFORM2F>( |
| gapic::GetGfxProcAddress("glProgramUniform2f", false)); |
| glProgramUniform2fv = reinterpret_cast<PFNGLPROGRAMUNIFORM2FV>( |
| gapic::GetGfxProcAddress("glProgramUniform2fv", false)); |
| glProgramUniform2i = reinterpret_cast<PFNGLPROGRAMUNIFORM2I>( |
| gapic::GetGfxProcAddress("glProgramUniform2i", false)); |
| glProgramUniform2iv = reinterpret_cast<PFNGLPROGRAMUNIFORM2IV>( |
| gapic::GetGfxProcAddress("glProgramUniform2iv", false)); |
| glProgramUniform2ui = reinterpret_cast<PFNGLPROGRAMUNIFORM2UI>( |
| gapic::GetGfxProcAddress("glProgramUniform2ui", false)); |
| glProgramUniform2uiv = reinterpret_cast<PFNGLPROGRAMUNIFORM2UIV>( |
| gapic::GetGfxProcAddress("glProgramUniform2uiv", false)); |
| glProgramUniform3f = reinterpret_cast<PFNGLPROGRAMUNIFORM3F>( |
| gapic::GetGfxProcAddress("glProgramUniform3f", false)); |
| glProgramUniform3fv = reinterpret_cast<PFNGLPROGRAMUNIFORM3FV>( |
| gapic::GetGfxProcAddress("glProgramUniform3fv", false)); |
| glProgramUniform3i = reinterpret_cast<PFNGLPROGRAMUNIFORM3I>( |
| gapic::GetGfxProcAddress("glProgramUniform3i", false)); |
| glProgramUniform3iv = reinterpret_cast<PFNGLPROGRAMUNIFORM3IV>( |
| gapic::GetGfxProcAddress("glProgramUniform3iv", false)); |
| glProgramUniform3ui = reinterpret_cast<PFNGLPROGRAMUNIFORM3UI>( |
| gapic::GetGfxProcAddress("glProgramUniform3ui", false)); |
| glProgramUniform3uiv = reinterpret_cast<PFNGLPROGRAMUNIFORM3UIV>( |
| gapic::GetGfxProcAddress("glProgramUniform3uiv", false)); |
| glProgramUniform4f = reinterpret_cast<PFNGLPROGRAMUNIFORM4F>( |
| gapic::GetGfxProcAddress("glProgramUniform4f", false)); |
| glProgramUniform4fv = reinterpret_cast<PFNGLPROGRAMUNIFORM4FV>( |
| gapic::GetGfxProcAddress("glProgramUniform4fv", false)); |
| glProgramUniform4i = reinterpret_cast<PFNGLPROGRAMUNIFORM4I>( |
| gapic::GetGfxProcAddress("glProgramUniform4i", false)); |
| glProgramUniform4iv = reinterpret_cast<PFNGLPROGRAMUNIFORM4IV>( |
| gapic::GetGfxProcAddress("glProgramUniform4iv", false)); |
| glProgramUniform4ui = reinterpret_cast<PFNGLPROGRAMUNIFORM4UI>( |
| gapic::GetGfxProcAddress("glProgramUniform4ui", false)); |
| glProgramUniform4uiv = reinterpret_cast<PFNGLPROGRAMUNIFORM4UIV>( |
| gapic::GetGfxProcAddress("glProgramUniform4uiv", false)); |
| glProgramUniformMatrix2fv = reinterpret_cast<PFNGLPROGRAMUNIFORMMATRIX2FV>( |
| gapic::GetGfxProcAddress("glProgramUniformMatrix2fv", false)); |
| glProgramUniformMatrix2x3fv = reinterpret_cast<PFNGLPROGRAMUNIFORMMATRIX2X3FV>( |
| gapic::GetGfxProcAddress("glProgramUniformMatrix2x3fv", false)); |
| glProgramUniformMatrix2x4fv = reinterpret_cast<PFNGLPROGRAMUNIFORMMATRIX2X4FV>( |
| gapic::GetGfxProcAddress("glProgramUniformMatrix2x4fv", false)); |
| glProgramUniformMatrix3fv = reinterpret_cast<PFNGLPROGRAMUNIFORMMATRIX3FV>( |
| gapic::GetGfxProcAddress("glProgramUniformMatrix3fv", false)); |
| glProgramUniformMatrix3x2fv = reinterpret_cast<PFNGLPROGRAMUNIFORMMATRIX3X2FV>( |
| gapic::GetGfxProcAddress("glProgramUniformMatrix3x2fv", false)); |
| glProgramUniformMatrix3x4fv = reinterpret_cast<PFNGLPROGRAMUNIFORMMATRIX3X4FV>( |
| gapic::GetGfxProcAddress("glProgramUniformMatrix3x4fv", false)); |
| glProgramUniformMatrix4fv = reinterpret_cast<PFNGLPROGRAMUNIFORMMATRIX4FV>( |
| gapic::GetGfxProcAddress("glProgramUniformMatrix4fv", false)); |
| glProgramUniformMatrix4x2fv = reinterpret_cast<PFNGLPROGRAMUNIFORMMATRIX4X2FV>( |
| gapic::GetGfxProcAddress("glProgramUniformMatrix4x2fv", false)); |
| glProgramUniformMatrix4x3fv = reinterpret_cast<PFNGLPROGRAMUNIFORMMATRIX4X3FV>( |
| gapic::GetGfxProcAddress("glProgramUniformMatrix4x3fv", false)); |
| glReleaseShaderCompiler = reinterpret_cast<PFNGLRELEASESHADERCOMPILER>( |
| gapic::GetGfxProcAddress("glReleaseShaderCompiler", false)); |
| glShaderBinary = |
| reinterpret_cast<PFNGLSHADERBINARY>(gapic::GetGfxProcAddress("glShaderBinary", false)); |
| glShaderSource = |
| reinterpret_cast<PFNGLSHADERSOURCE>(gapic::GetGfxProcAddress("glShaderSource", false)); |
| glUniform1f = reinterpret_cast<PFNGLUNIFORM1F>(gapic::GetGfxProcAddress("glUniform1f", false)); |
| glUniform1fv = |
| reinterpret_cast<PFNGLUNIFORM1FV>(gapic::GetGfxProcAddress("glUniform1fv", false)); |
| glUniform1i = reinterpret_cast<PFNGLUNIFORM1I>(gapic::GetGfxProcAddress("glUniform1i", false)); |
| glUniform1iv = |
| reinterpret_cast<PFNGLUNIFORM1IV>(gapic::GetGfxProcAddress("glUniform1iv", false)); |
| glUniform1ui = |
| reinterpret_cast<PFNGLUNIFORM1UI>(gapic::GetGfxProcAddress("glUniform1ui", false)); |
| glUniform1uiv = |
| reinterpret_cast<PFNGLUNIFORM1UIV>(gapic::GetGfxProcAddress("glUniform1uiv", false)); |
| glUniform2f = reinterpret_cast<PFNGLUNIFORM2F>(gapic::GetGfxProcAddress("glUniform2f", false)); |
| glUniform2fv = |
| reinterpret_cast<PFNGLUNIFORM2FV>(gapic::GetGfxProcAddress("glUniform2fv", false)); |
| glUniform2i = reinterpret_cast<PFNGLUNIFORM2I>(gapic::GetGfxProcAddress("glUniform2i", false)); |
| glUniform2iv = |
| reinterpret_cast<PFNGLUNIFORM2IV>(gapic::GetGfxProcAddress("glUniform2iv", false)); |
| glUniform2ui = |
| reinterpret_cast<PFNGLUNIFORM2UI>(gapic::GetGfxProcAddress("glUniform2ui", false)); |
| glUniform2uiv = |
| reinterpret_cast<PFNGLUNIFORM2UIV>(gapic::GetGfxProcAddress("glUniform2uiv", false)); |
| glUniform3f = reinterpret_cast<PFNGLUNIFORM3F>(gapic::GetGfxProcAddress("glUniform3f", false)); |
| glUniform3fv = |
| reinterpret_cast<PFNGLUNIFORM3FV>(gapic::GetGfxProcAddress("glUniform3fv", false)); |
| glUniform3i = reinterpret_cast<PFNGLUNIFORM3I>(gapic::GetGfxProcAddress("glUniform3i", false)); |
| glUniform3iv = |
| reinterpret_cast<PFNGLUNIFORM3IV>(gapic::GetGfxProcAddress("glUniform3iv", false)); |
| glUniform3ui = |
| reinterpret_cast<PFNGLUNIFORM3UI>(gapic::GetGfxProcAddress("glUniform3ui", false)); |
| glUniform3uiv = |
| reinterpret_cast<PFNGLUNIFORM3UIV>(gapic::GetGfxProcAddress("glUniform3uiv", false)); |
| glUniform4f = reinterpret_cast<PFNGLUNIFORM4F>(gapic::GetGfxProcAddress("glUniform4f", false)); |
| glUniform4fv = |
| reinterpret_cast<PFNGLUNIFORM4FV>(gapic::GetGfxProcAddress("glUniform4fv", false)); |
| glUniform4i = reinterpret_cast<PFNGLUNIFORM4I>(gapic::GetGfxProcAddress("glUniform4i", false)); |
| glUniform4iv = |
| reinterpret_cast<PFNGLUNIFORM4IV>(gapic::GetGfxProcAddress("glUniform4iv", false)); |
| glUniform4ui = |
| reinterpret_cast<PFNGLUNIFORM4UI>(gapic::GetGfxProcAddress("glUniform4ui", false)); |
| glUniform4uiv = |
| reinterpret_cast<PFNGLUNIFORM4UIV>(gapic::GetGfxProcAddress("glUniform4uiv", false)); |
| glUniformBlockBinding = reinterpret_cast<PFNGLUNIFORMBLOCKBINDING>( |
| gapic::GetGfxProcAddress("glUniformBlockBinding", false)); |
| glUniformMatrix2fv = reinterpret_cast<PFNGLUNIFORMMATRIX2FV>( |
| gapic::GetGfxProcAddress("glUniformMatrix2fv", false)); |
| glUniformMatrix2x3fv = reinterpret_cast<PFNGLUNIFORMMATRIX2X3FV>( |
| gapic::GetGfxProcAddress("glUniformMatrix2x3fv", false)); |
| glUniformMatrix2x4fv = reinterpret_cast<PFNGLUNIFORMMATRIX2X4FV>( |
| gapic::GetGfxProcAddress("glUniformMatrix2x4fv", false)); |
| glUniformMatrix3fv = reinterpret_cast<PFNGLUNIFORMMATRIX3FV>( |
| gapic::GetGfxProcAddress("glUniformMatrix3fv", false)); |
| glUniformMatrix3x2fv = reinterpret_cast<PFNGLUNIFORMMATRIX3X2FV>( |
| gapic::GetGfxProcAddress("glUniformMatrix3x2fv", false)); |
| glUniformMatrix3x4fv = reinterpret_cast<PFNGLUNIFORMMATRIX3X4FV>( |
| gapic::GetGfxProcAddress("glUniformMatrix3x4fv", false)); |
| glUniformMatrix4fv = reinterpret_cast<PFNGLUNIFORMMATRIX4FV>( |
| gapic::GetGfxProcAddress("glUniformMatrix4fv", false)); |
| glUniformMatrix4x2fv = reinterpret_cast<PFNGLUNIFORMMATRIX4X2FV>( |
| gapic::GetGfxProcAddress("glUniformMatrix4x2fv", false)); |
| glUniformMatrix4x3fv = reinterpret_cast<PFNGLUNIFORMMATRIX4X3FV>( |
| gapic::GetGfxProcAddress("glUniformMatrix4x3fv", false)); |
| glUseProgram = |
| reinterpret_cast<PFNGLUSEPROGRAM>(gapic::GetGfxProcAddress("glUseProgram", false)); |
| glUseProgramStages = reinterpret_cast<PFNGLUSEPROGRAMSTAGES>( |
| gapic::GetGfxProcAddress("glUseProgramStages", false)); |
| glValidateProgram = reinterpret_cast<PFNGLVALIDATEPROGRAM>( |
| gapic::GetGfxProcAddress("glValidateProgram", false)); |
| glValidateProgramPipeline = reinterpret_cast<PFNGLVALIDATEPROGRAMPIPELINE>( |
| gapic::GetGfxProcAddress("glValidateProgramPipeline", false)); |
| glCullFace = reinterpret_cast<PFNGLCULLFACE>(gapic::GetGfxProcAddress("glCullFace", false)); |
| glDepthRangef = |
| reinterpret_cast<PFNGLDEPTHRANGEF>(gapic::GetGfxProcAddress("glDepthRangef", false)); |
| glFrontFace = reinterpret_cast<PFNGLFRONTFACE>(gapic::GetGfxProcAddress("glFrontFace", false)); |
| glGetMultisamplefv = reinterpret_cast<PFNGLGETMULTISAMPLEFV>( |
| gapic::GetGfxProcAddress("glGetMultisamplefv", false)); |
| glLineWidth = reinterpret_cast<PFNGLLINEWIDTH>(gapic::GetGfxProcAddress("glLineWidth", false)); |
| glPolygonOffset = reinterpret_cast<PFNGLPOLYGONOFFSET>( |
| gapic::GetGfxProcAddress("glPolygonOffset", false)); |
| glViewport = reinterpret_cast<PFNGLVIEWPORT>(gapic::GetGfxProcAddress("glViewport", false)); |
| glGetBooleani_v = reinterpret_cast<PFNGLGETBOOLEANI_V>( |
| gapic::GetGfxProcAddress("glGetBooleani_v", false)); |
| glGetBooleanv = |
| reinterpret_cast<PFNGLGETBOOLEANV>(gapic::GetGfxProcAddress("glGetBooleanv", false)); |
| glGetFloatv = reinterpret_cast<PFNGLGETFLOATV>(gapic::GetGfxProcAddress("glGetFloatv", false)); |
| glGetInteger64i_v = reinterpret_cast<PFNGLGETINTEGER64I_V>( |
| gapic::GetGfxProcAddress("glGetInteger64i_v", false)); |
| glGetInteger64v = reinterpret_cast<PFNGLGETINTEGER64V>( |
| gapic::GetGfxProcAddress("glGetInteger64v", false)); |
| glGetIntegeri_v = reinterpret_cast<PFNGLGETINTEGERI_V>( |
| gapic::GetGfxProcAddress("glGetIntegeri_v", false)); |
| glGetIntegerv = |
| reinterpret_cast<PFNGLGETINTEGERV>(gapic::GetGfxProcAddress("glGetIntegerv", false)); |
| glGetInternalformativ = reinterpret_cast<PFNGLGETINTERNALFORMATIV>( |
| gapic::GetGfxProcAddress("glGetInternalformativ", false)); |
| glGetString = reinterpret_cast<PFNGLGETSTRING>(gapic::GetGfxProcAddress("glGetString", false)); |
| glGetStringi = |
| reinterpret_cast<PFNGLGETSTRINGI>(gapic::GetGfxProcAddress("glGetStringi", false)); |
| glIsEnabled = reinterpret_cast<PFNGLISENABLED>(gapic::GetGfxProcAddress("glIsEnabled", false)); |
| glClientWaitSync = reinterpret_cast<PFNGLCLIENTWAITSYNC>( |
| gapic::GetGfxProcAddress("glClientWaitSync", false)); |
| glDeleteSync = |
| reinterpret_cast<PFNGLDELETESYNC>(gapic::GetGfxProcAddress("glDeleteSync", false)); |
| glFenceSync = reinterpret_cast<PFNGLFENCESYNC>(gapic::GetGfxProcAddress("glFenceSync", false)); |
| glGetSynciv = reinterpret_cast<PFNGLGETSYNCIV>(gapic::GetGfxProcAddress("glGetSynciv", false)); |
| glIsSync = reinterpret_cast<PFNGLISSYNC>(gapic::GetGfxProcAddress("glIsSync", false)); |
| glWaitSync = reinterpret_cast<PFNGLWAITSYNC>(gapic::GetGfxProcAddress("glWaitSync", false)); |
| glActiveTexture = reinterpret_cast<PFNGLACTIVETEXTURE>( |
| gapic::GetGfxProcAddress("glActiveTexture", false)); |
| glBindImageTexture = reinterpret_cast<PFNGLBINDIMAGETEXTURE>( |
| gapic::GetGfxProcAddress("glBindImageTexture", false)); |
| glBindSampler = |
| reinterpret_cast<PFNGLBINDSAMPLER>(gapic::GetGfxProcAddress("glBindSampler", false)); |
| glBindTexture = |
| reinterpret_cast<PFNGLBINDTEXTURE>(gapic::GetGfxProcAddress("glBindTexture", false)); |
| glCompressedTexImage2D = reinterpret_cast<PFNGLCOMPRESSEDTEXIMAGE2D>( |
| gapic::GetGfxProcAddress("glCompressedTexImage2D", false)); |
| glCompressedTexImage3D = reinterpret_cast<PFNGLCOMPRESSEDTEXIMAGE3D>( |
| gapic::GetGfxProcAddress("glCompressedTexImage3D", false)); |
| glCompressedTexSubImage2D = reinterpret_cast<PFNGLCOMPRESSEDTEXSUBIMAGE2D>( |
| gapic::GetGfxProcAddress("glCompressedTexSubImage2D", false)); |
| glCompressedTexSubImage3D = reinterpret_cast<PFNGLCOMPRESSEDTEXSUBIMAGE3D>( |
| gapic::GetGfxProcAddress("glCompressedTexSubImage3D", false)); |
| glCopyTexImage2D = reinterpret_cast<PFNGLCOPYTEXIMAGE2D>( |
| gapic::GetGfxProcAddress("glCopyTexImage2D", false)); |
| glCopyTexSubImage2D = reinterpret_cast<PFNGLCOPYTEXSUBIMAGE2D>( |
| gapic::GetGfxProcAddress("glCopyTexSubImage2D", false)); |
| glCopyTexSubImage3D = reinterpret_cast<PFNGLCOPYTEXSUBIMAGE3D>( |
| gapic::GetGfxProcAddress("glCopyTexSubImage3D", false)); |
| glDeleteSamplers = reinterpret_cast<PFNGLDELETESAMPLERS>( |
| gapic::GetGfxProcAddress("glDeleteSamplers", false)); |
| glDeleteTextures = reinterpret_cast<PFNGLDELETETEXTURES>( |
| gapic::GetGfxProcAddress("glDeleteTextures", false)); |
| glGenSamplers = |
| reinterpret_cast<PFNGLGENSAMPLERS>(gapic::GetGfxProcAddress("glGenSamplers", false)); |
| glGenTextures = |
| reinterpret_cast<PFNGLGENTEXTURES>(gapic::GetGfxProcAddress("glGenTextures", false)); |
| glGenerateMipmap = reinterpret_cast<PFNGLGENERATEMIPMAP>( |
| gapic::GetGfxProcAddress("glGenerateMipmap", false)); |
| glGetSamplerParameterfv = reinterpret_cast<PFNGLGETSAMPLERPARAMETERFV>( |
| gapic::GetGfxProcAddress("glGetSamplerParameterfv", false)); |
| glGetSamplerParameteriv = reinterpret_cast<PFNGLGETSAMPLERPARAMETERIV>( |
| gapic::GetGfxProcAddress("glGetSamplerParameteriv", false)); |
| glGetTexLevelParameterfv = reinterpret_cast<PFNGLGETTEXLEVELPARAMETERFV>( |
| gapic::GetGfxProcAddress("glGetTexLevelParameterfv", false)); |
| glGetTexLevelParameteriv = reinterpret_cast<PFNGLGETTEXLEVELPARAMETERIV>( |
| gapic::GetGfxProcAddress("glGetTexLevelParameteriv", false)); |
| glGetTexParameterfv = reinterpret_cast<PFNGLGETTEXPARAMETERFV>( |
| gapic::GetGfxProcAddress("glGetTexParameterfv", false)); |
| glGetTexParameteriv = reinterpret_cast<PFNGLGETTEXPARAMETERIV>( |
| gapic::GetGfxProcAddress("glGetTexParameteriv", false)); |
| glIsSampler = reinterpret_cast<PFNGLISSAMPLER>(gapic::GetGfxProcAddress("glIsSampler", false)); |
| glIsTexture = reinterpret_cast<PFNGLISTEXTURE>(gapic::GetGfxProcAddress("glIsTexture", false)); |
| glPixelStorei = |
| reinterpret_cast<PFNGLPIXELSTOREI>(gapic::GetGfxProcAddress("glPixelStorei", false)); |
| glSamplerParameterf = reinterpret_cast<PFNGLSAMPLERPARAMETERF>( |
| gapic::GetGfxProcAddress("glSamplerParameterf", false)); |
| glSamplerParameterfv = reinterpret_cast<PFNGLSAMPLERPARAMETERFV>( |
| gapic::GetGfxProcAddress("glSamplerParameterfv", false)); |
| glSamplerParameteri = reinterpret_cast<PFNGLSAMPLERPARAMETERI>( |
| gapic::GetGfxProcAddress("glSamplerParameteri", false)); |
| glSamplerParameteriv = reinterpret_cast<PFNGLSAMPLERPARAMETERIV>( |
| gapic::GetGfxProcAddress("glSamplerParameteriv", false)); |
| glTexImage2D = |
| reinterpret_cast<PFNGLTEXIMAGE2D>(gapic::GetGfxProcAddress("glTexImage2D", false)); |
| glTexImage3D = |
| reinterpret_cast<PFNGLTEXIMAGE3D>(gapic::GetGfxProcAddress("glTexImage3D", false)); |
| glTexParameterf = reinterpret_cast<PFNGLTEXPARAMETERF>( |
| gapic::GetGfxProcAddress("glTexParameterf", false)); |
| glTexParameterfv = reinterpret_cast<PFNGLTEXPARAMETERFV>( |
| gapic::GetGfxProcAddress("glTexParameterfv", false)); |
| glTexParameteri = reinterpret_cast<PFNGLTEXPARAMETERI>( |
| gapic::GetGfxProcAddress("glTexParameteri", false)); |
| glTexParameteriv = reinterpret_cast<PFNGLTEXPARAMETERIV>( |
| gapic::GetGfxProcAddress("glTexParameteriv", false)); |
| glTexStorage2D = |
| reinterpret_cast<PFNGLTEXSTORAGE2D>(gapic::GetGfxProcAddress("glTexStorage2D", false)); |
| glTexStorage2DMultisample = reinterpret_cast<PFNGLTEXSTORAGE2DMULTISAMPLE>( |
| gapic::GetGfxProcAddress("glTexStorage2DMultisample", false)); |
| glTexStorage3D = |
| reinterpret_cast<PFNGLTEXSTORAGE3D>(gapic::GetGfxProcAddress("glTexStorage3D", false)); |
| glTexSubImage2D = reinterpret_cast<PFNGLTEXSUBIMAGE2D>( |
| gapic::GetGfxProcAddress("glTexSubImage2D", false)); |
| glTexSubImage3D = reinterpret_cast<PFNGLTEXSUBIMAGE3D>( |
| gapic::GetGfxProcAddress("glTexSubImage3D", false)); |
| glBeginTransformFeedback = reinterpret_cast<PFNGLBEGINTRANSFORMFEEDBACK>( |
| gapic::GetGfxProcAddress("glBeginTransformFeedback", false)); |
| glBindTransformFeedback = reinterpret_cast<PFNGLBINDTRANSFORMFEEDBACK>( |
| gapic::GetGfxProcAddress("glBindTransformFeedback", false)); |
| glDeleteTransformFeedbacks = reinterpret_cast<PFNGLDELETETRANSFORMFEEDBACKS>( |
| gapic::GetGfxProcAddress("glDeleteTransformFeedbacks", false)); |
| glEndTransformFeedback = reinterpret_cast<PFNGLENDTRANSFORMFEEDBACK>( |
| gapic::GetGfxProcAddress("glEndTransformFeedback", false)); |
| glGenTransformFeedbacks = reinterpret_cast<PFNGLGENTRANSFORMFEEDBACKS>( |
| gapic::GetGfxProcAddress("glGenTransformFeedbacks", false)); |
| glGetTransformFeedbackVarying = reinterpret_cast<PFNGLGETTRANSFORMFEEDBACKVARYING>( |
| gapic::GetGfxProcAddress("glGetTransformFeedbackVarying", false)); |
| glIsTransformFeedback = reinterpret_cast<PFNGLISTRANSFORMFEEDBACK>( |
| gapic::GetGfxProcAddress("glIsTransformFeedback", false)); |
| glPauseTransformFeedback = reinterpret_cast<PFNGLPAUSETRANSFORMFEEDBACK>( |
| gapic::GetGfxProcAddress("glPauseTransformFeedback", false)); |
| glResumeTransformFeedback = reinterpret_cast<PFNGLRESUMETRANSFORMFEEDBACK>( |
| gapic::GetGfxProcAddress("glResumeTransformFeedback", false)); |
| glTransformFeedbackVaryings = reinterpret_cast<PFNGLTRANSFORMFEEDBACKVARYINGS>( |
| gapic::GetGfxProcAddress("glTransformFeedbackVaryings", false)); |
| glBindVertexArray = reinterpret_cast<PFNGLBINDVERTEXARRAY>( |
| gapic::GetGfxProcAddress("glBindVertexArray", false)); |
| glBindVertexBuffer = reinterpret_cast<PFNGLBINDVERTEXBUFFER>( |
| gapic::GetGfxProcAddress("glBindVertexBuffer", false)); |
| glDeleteVertexArrays = reinterpret_cast<PFNGLDELETEVERTEXARRAYS>( |
| gapic::GetGfxProcAddress("glDeleteVertexArrays", false)); |
| glDisableVertexAttribArray = reinterpret_cast<PFNGLDISABLEVERTEXATTRIBARRAY>( |
| gapic::GetGfxProcAddress("glDisableVertexAttribArray", false)); |
| glEnableVertexAttribArray = reinterpret_cast<PFNGLENABLEVERTEXATTRIBARRAY>( |
| gapic::GetGfxProcAddress("glEnableVertexAttribArray", false)); |
| glGenVertexArrays = reinterpret_cast<PFNGLGENVERTEXARRAYS>( |
| gapic::GetGfxProcAddress("glGenVertexArrays", false)); |
| glGetVertexAttribIiv = reinterpret_cast<PFNGLGETVERTEXATTRIBIIV>( |
| gapic::GetGfxProcAddress("glGetVertexAttribIiv", false)); |
| glGetVertexAttribIuiv = reinterpret_cast<PFNGLGETVERTEXATTRIBIUIV>( |
| gapic::GetGfxProcAddress("glGetVertexAttribIuiv", false)); |
| glGetVertexAttribPointerv = reinterpret_cast<PFNGLGETVERTEXATTRIBPOINTERV>( |
| gapic::GetGfxProcAddress("glGetVertexAttribPointerv", false)); |
| glGetVertexAttribfv = reinterpret_cast<PFNGLGETVERTEXATTRIBFV>( |
| gapic::GetGfxProcAddress("glGetVertexAttribfv", false)); |
| glGetVertexAttribiv = reinterpret_cast<PFNGLGETVERTEXATTRIBIV>( |
| gapic::GetGfxProcAddress("glGetVertexAttribiv", false)); |
| glIsVertexArray = reinterpret_cast<PFNGLISVERTEXARRAY>( |
| gapic::GetGfxProcAddress("glIsVertexArray", false)); |
| glVertexAttrib1f = reinterpret_cast<PFNGLVERTEXATTRIB1F>( |
| gapic::GetGfxProcAddress("glVertexAttrib1f", false)); |
| glVertexAttrib1fv = reinterpret_cast<PFNGLVERTEXATTRIB1FV>( |
| gapic::GetGfxProcAddress("glVertexAttrib1fv", false)); |
| glVertexAttrib2f = reinterpret_cast<PFNGLVERTEXATTRIB2F>( |
| gapic::GetGfxProcAddress("glVertexAttrib2f", false)); |
| glVertexAttrib2fv = reinterpret_cast<PFNGLVERTEXATTRIB2FV>( |
| gapic::GetGfxProcAddress("glVertexAttrib2fv", false)); |
| glVertexAttrib3f = reinterpret_cast<PFNGLVERTEXATTRIB3F>( |
| gapic::GetGfxProcAddress("glVertexAttrib3f", false)); |
| glVertexAttrib3fv = reinterpret_cast<PFNGLVERTEXATTRIB3FV>( |
| gapic::GetGfxProcAddress("glVertexAttrib3fv", false)); |
| glVertexAttrib4f = reinterpret_cast<PFNGLVERTEXATTRIB4F>( |
| gapic::GetGfxProcAddress("glVertexAttrib4f", false)); |
| glVertexAttrib4fv = reinterpret_cast<PFNGLVERTEXATTRIB4FV>( |
| gapic::GetGfxProcAddress("glVertexAttrib4fv", false)); |
| glVertexAttribBinding = reinterpret_cast<PFNGLVERTEXATTRIBBINDING>( |
| gapic::GetGfxProcAddress("glVertexAttribBinding", false)); |
| glVertexAttribDivisor = reinterpret_cast<PFNGLVERTEXATTRIBDIVISOR>( |
| gapic::GetGfxProcAddress("glVertexAttribDivisor", false)); |
| glVertexAttribFormat = reinterpret_cast<PFNGLVERTEXATTRIBFORMAT>( |
| gapic::GetGfxProcAddress("glVertexAttribFormat", false)); |
| glVertexAttribI4i = reinterpret_cast<PFNGLVERTEXATTRIBI4I>( |
| gapic::GetGfxProcAddress("glVertexAttribI4i", false)); |
| glVertexAttribI4iv = reinterpret_cast<PFNGLVERTEXATTRIBI4IV>( |
| gapic::GetGfxProcAddress("glVertexAttribI4iv", false)); |
| glVertexAttribI4ui = reinterpret_cast<PFNGLVERTEXATTRIBI4UI>( |
| gapic::GetGfxProcAddress("glVertexAttribI4ui", false)); |
| glVertexAttribI4uiv = reinterpret_cast<PFNGLVERTEXATTRIBI4UIV>( |
| gapic::GetGfxProcAddress("glVertexAttribI4uiv", false)); |
| glVertexAttribIFormat = reinterpret_cast<PFNGLVERTEXATTRIBIFORMAT>( |
| gapic::GetGfxProcAddress("glVertexAttribIFormat", false)); |
| glVertexAttribIPointer = reinterpret_cast<PFNGLVERTEXATTRIBIPOINTER>( |
| gapic::GetGfxProcAddress("glVertexAttribIPointer", false)); |
| glVertexAttribPointer = reinterpret_cast<PFNGLVERTEXATTRIBPOINTER>( |
| gapic::GetGfxProcAddress("glVertexAttribPointer", false)); |
| glVertexBindingDivisor = reinterpret_cast<PFNGLVERTEXBINDINGDIVISOR>( |
| gapic::GetGfxProcAddress("glVertexBindingDivisor", false)); |
| eglInitialize = |
| reinterpret_cast<PFNEGLINITIALIZE>(gapic::GetGfxProcAddress("eglInitialize", false)); |
| eglCreateContext = reinterpret_cast<PFNEGLCREATECONTEXT>( |
| gapic::GetGfxProcAddress("eglCreateContext", false)); |
| eglMakeCurrent = |
| reinterpret_cast<PFNEGLMAKECURRENT>(gapic::GetGfxProcAddress("eglMakeCurrent", false)); |
| eglSwapBuffers = |
| reinterpret_cast<PFNEGLSWAPBUFFERS>(gapic::GetGfxProcAddress("eglSwapBuffers", false)); |
| eglQuerySurface = reinterpret_cast<PFNEGLQUERYSURFACE>( |
| gapic::GetGfxProcAddress("eglQuerySurface", false)); |
| glXCreateContext = reinterpret_cast<PFNGLXCREATECONTEXT>( |
| gapic::GetGfxProcAddress("glXCreateContext", false)); |
| glXCreateNewContext = reinterpret_cast<PFNGLXCREATENEWCONTEXT>( |
| gapic::GetGfxProcAddress("glXCreateNewContext", false)); |
| glXMakeContextCurrent = reinterpret_cast<PFNGLXMAKECONTEXTCURRENT>( |
| gapic::GetGfxProcAddress("glXMakeContextCurrent", false)); |
| glXMakeCurrent = |
| reinterpret_cast<PFNGLXMAKECURRENT>(gapic::GetGfxProcAddress("glXMakeCurrent", false)); |
| glXSwapBuffers = |
| reinterpret_cast<PFNGLXSWAPBUFFERS>(gapic::GetGfxProcAddress("glXSwapBuffers", false)); |
| glXQueryDrawable = reinterpret_cast<PFNGLXQUERYDRAWABLE>( |
| gapic::GetGfxProcAddress("glXQueryDrawable", false)); |
| wglCreateContext = reinterpret_cast<PFNWGLCREATECONTEXT>( |
| gapic::GetGfxProcAddress("wglCreateContext", false)); |
| wglCreateContextAttribsARB = reinterpret_cast<PFNWGLCREATECONTEXTATTRIBSARB>( |
| gapic::GetGfxProcAddress("wglCreateContextAttribsARB", false)); |
| wglMakeCurrent = |
| reinterpret_cast<PFNWGLMAKECURRENT>(gapic::GetGfxProcAddress("wglMakeCurrent", false)); |
| wglSwapBuffers = |
| reinterpret_cast<PFNWGLSWAPBUFFERS>(gapic::GetGfxProcAddress("wglSwapBuffers", false)); |
| CGLCreateContext = reinterpret_cast<PFNCGLCREATECONTEXT>( |
| gapic::GetGfxProcAddress("CGLCreateContext", false)); |
| CGLSetCurrentContext = reinterpret_cast<PFNCGLSETCURRENTCONTEXT>( |
| gapic::GetGfxProcAddress("CGLSetCurrentContext", false)); |
| CGLGetSurface = |
| reinterpret_cast<PFNCGLGETSURFACE>(gapic::GetGfxProcAddress("CGLGetSurface", false)); |
| CGSGetSurfaceBounds = reinterpret_cast<PFNCGSGETSURFACEBOUNDS>( |
| gapic::GetGfxProcAddress("CGSGetSurfaceBounds", false)); |
| CGLFlushDrawable = reinterpret_cast<PFNCGLFLUSHDRAWABLE>( |
| gapic::GetGfxProcAddress("CGLFlushDrawable", false)); |
| glGetQueryObjecti64v = reinterpret_cast<PFNGLGETQUERYOBJECTI64V>( |
| gapic::GetGfxProcAddress("glGetQueryObjecti64v", false)); |
| glGetQueryObjectui64v = reinterpret_cast<PFNGLGETQUERYOBJECTUI64V>( |
| gapic::GetGfxProcAddress("glGetQueryObjectui64v", false)); |
| } |
| |
| } // namespace gfxapi |
| } // namespace gapir |