mirror of
https://github.com/ptitSeb/box64.git
synced 2025-05-09 00:21:32 +08:00
Added wrapped support for EGL/GLESv2
This commit is contained in:
parent
0e71c3a2ac
commit
50250bd2ca
@ -470,6 +470,7 @@ set(WRAPPEDS
|
||||
"${BOX64_ROOT}/src/wrapped/wrappedgdkpixbuf2.c"
|
||||
"${BOX64_ROOT}/src/wrapped/wrappedgdkx112.c"
|
||||
"${BOX64_ROOT}/src/wrapped/wrappedgio2.c"
|
||||
"${BOX64_ROOT}/src/wrapped/wrappedglesv2.c"
|
||||
"${BOX64_ROOT}/src/wrapped/wrappedglib2.c"
|
||||
"${BOX64_ROOT}/src/wrapped/wrappedgmodule2.c"
|
||||
"${BOX64_ROOT}/src/wrapped/wrappedgmp.c"
|
||||
|
@ -399,7 +399,9 @@ def readFiles(files: Iterable[Filename]) -> Tuple[JumbledGlobals, JumbledRedirec
|
||||
or match("sdl1mixer", "sdl2mixer") \
|
||||
or match("sdl1net", "sdl2net") \
|
||||
or match("sdl1ttf", "sdl2ttf") \
|
||||
or match("libGL", "libEGL") \
|
||||
or match("libgl", "libegl") \
|
||||
or match("libgl", "glesv2") \
|
||||
or match("libegl", "glesv2") \
|
||||
or match("libc", "tcmallocminimal") \
|
||||
or match("libc", "tbbmallocproxy") \
|
||||
or match("libc", "androidshmem") \
|
||||
|
@ -473,6 +473,12 @@ library_t *NewLibrary(const char* path, box64context_t* context, elfheader_t* ve
|
||||
int precise = (!box64_prefer_wrapped && !essential && path && strchr(path, '/'))?1:0;
|
||||
if(!notwrapped && precise && strstr(path, "libtcmalloc_minimal.so"))
|
||||
precise = 0; // allow native version for tcmalloc_minimum
|
||||
/*
|
||||
if(!notwrapped && precise && strstr(path, "libEGL.so"))
|
||||
precise = 0; // allow native version for EGL
|
||||
if(!notwrapped && precise && strstr(path, "libGLESv2.so"))
|
||||
precise = 0; // allow native version for GLESv2
|
||||
*/
|
||||
// check if name is libSDL_sound-1.0.so.1 but with SDL2 loaded, then try emulated first...
|
||||
if(!notwrapped && !strcmp(lib->name, "libSDL_sound-1.0.so.1") && my_context->sdl2lib)
|
||||
notwrapped = 1;
|
||||
|
@ -6,12 +6,15 @@ GO("libc.musl-x86_64.so.1", libcmusl)
|
||||
GO("librt.so.1", librt)
|
||||
GO("libbsd.so.0", libbsd)
|
||||
GO("libEGL.so.1", libegl)
|
||||
GO("libEGL.so", libegl)
|
||||
GO("libGL.so.1", libgl)
|
||||
GO("libGL.so", libgl)
|
||||
GO("libOpenGL.so.0", libgl)
|
||||
GO("libGLU.so.1", libglu)
|
||||
GO("libGLX.so.0", libglx)
|
||||
GO("libGLX.so", libglx)
|
||||
GO("libGLESv2.so.2", glesv2)
|
||||
GO("libGLESv2.so", glesv2)
|
||||
GO("libX11.so.6", libx11)
|
||||
GO("libasound.so.2", libasound)
|
||||
GO("libasound.so", libasound)
|
||||
|
@ -2482,6 +2482,7 @@
|
||||
#() vFEpppppuu
|
||||
#() vFiiiiuuip
|
||||
#() vFiilliilp
|
||||
#() vFiilluulp
|
||||
#() vFiupuiuup
|
||||
#() vFiupuuuup
|
||||
#() vFuiiiiiii
|
||||
@ -3437,6 +3438,7 @@ wrappedgio2:
|
||||
- g_dbus_connection_signal_subscribe
|
||||
- vFpppppppiippp:
|
||||
- g_dbus_connection_call
|
||||
wrappedglesv2:
|
||||
wrappedglib2:
|
||||
- vFp:
|
||||
- g_atexit
|
||||
@ -4365,10 +4367,14 @@ wrappedlibgl:
|
||||
- glDebugMessageCallbackAMD
|
||||
- glDebugMessageCallbackARB
|
||||
- glDebugMessageCallbackKHR
|
||||
- iFpp:
|
||||
- eglDebugMessageControlKHR
|
||||
- vFipp:
|
||||
- glProgramCallbackMESA
|
||||
- vFppi:
|
||||
- glXSwapIntervalEXT
|
||||
- vFppp:
|
||||
- eglSetBlobCacheFuncsANDROID
|
||||
wrappedlibglu:
|
||||
- vFpip:
|
||||
- gluNurbsCallback
|
||||
|
8
src/wrapped/generated/wrappedglesv2defs.h
Normal file
8
src/wrapped/generated/wrappedglesv2defs.h
Normal file
@ -0,0 +1,8 @@
|
||||
/*******************************************************************
|
||||
* File automatically generated by rebuild_wrappers.py (v2.4.0.21) *
|
||||
*******************************************************************/
|
||||
#ifndef __wrappedglesv2DEFS_H_
|
||||
#define __wrappedglesv2DEFS_H_
|
||||
|
||||
|
||||
#endif // __wrappedglesv2DEFS_H_
|
17
src/wrapped/generated/wrappedglesv2types.h
Normal file
17
src/wrapped/generated/wrappedglesv2types.h
Normal file
@ -0,0 +1,17 @@
|
||||
/*******************************************************************
|
||||
* File automatically generated by rebuild_wrappers.py (v2.4.0.21) *
|
||||
*******************************************************************/
|
||||
#ifndef __wrappedglesv2TYPES_H_
|
||||
#define __wrappedglesv2TYPES_H_
|
||||
|
||||
#ifndef LIBNAME
|
||||
#error You should only #include this file inside a wrapped*.c file
|
||||
#endif
|
||||
#ifndef ADDED_FUNCTIONS
|
||||
#define ADDED_FUNCTIONS()
|
||||
#endif
|
||||
|
||||
|
||||
#define SUPER() ADDED_FUNCTIONS()
|
||||
|
||||
#endif // __wrappedglesv2TYPES_H_
|
8
src/wrapped/generated/wrappedglesv2undefs.h
Normal file
8
src/wrapped/generated/wrappedglesv2undefs.h
Normal file
@ -0,0 +1,8 @@
|
||||
/*******************************************************************
|
||||
* File automatically generated by rebuild_wrappers.py (v2.4.0.21) *
|
||||
*******************************************************************/
|
||||
#ifndef __wrappedglesv2UNDEFS_H_
|
||||
#define __wrappedglesv2UNDEFS_H_
|
||||
|
||||
|
||||
#endif // __wrappedglesv2UNDEFS_H_
|
@ -14,8 +14,10 @@
|
||||
typedef int32_t (*iFi_t)(int32_t);
|
||||
typedef void* (*pFp_t)(void*);
|
||||
typedef void (*vFpp_t)(void*, void*);
|
||||
typedef int32_t (*iFpp_t)(void*, void*);
|
||||
typedef void (*vFipp_t)(int32_t, void*, void*);
|
||||
typedef void (*vFppi_t)(void*, void*, int32_t);
|
||||
typedef void (*vFppp_t)(void*, void*, void*);
|
||||
|
||||
#define SUPER() ADDED_FUNCTIONS() \
|
||||
GO(glXSwapIntervalMESA, iFi_t) \
|
||||
@ -26,7 +28,9 @@ typedef void (*vFppi_t)(void*, void*, int32_t);
|
||||
GO(glDebugMessageCallbackAMD, vFpp_t) \
|
||||
GO(glDebugMessageCallbackARB, vFpp_t) \
|
||||
GO(glDebugMessageCallbackKHR, vFpp_t) \
|
||||
GO(eglDebugMessageControlKHR, iFpp_t) \
|
||||
GO(glProgramCallbackMESA, vFipp_t) \
|
||||
GO(glXSwapIntervalEXT, vFppi_t)
|
||||
GO(glXSwapIntervalEXT, vFppi_t) \
|
||||
GO(eglSetBlobCacheFuncsANDROID, vFppp_t)
|
||||
|
||||
#endif // __wrappedlibglTYPES_H_
|
||||
|
@ -2520,6 +2520,7 @@ typedef void (*vFEpppuipV_t)(x64emu_t*, void*, void*, void*, uint32_t, int32_t,
|
||||
typedef void (*vFEpppppuu_t)(x64emu_t*, void*, void*, void*, void*, void*, uint32_t, uint32_t);
|
||||
typedef void (*vFiiiiuuip_t)(int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, int32_t, void*);
|
||||
typedef void (*vFiilliilp_t)(int32_t, int32_t, intptr_t, intptr_t, int32_t, int32_t, intptr_t, void*);
|
||||
typedef void (*vFiilluulp_t)(int32_t, int32_t, intptr_t, intptr_t, uint32_t, uint32_t, intptr_t, void*);
|
||||
typedef void (*vFiupuiuup_t)(int32_t, uint32_t, void*, uint32_t, int32_t, uint32_t, uint32_t, void*);
|
||||
typedef void (*vFiupuuuup_t)(int32_t, uint32_t, void*, uint32_t, uint32_t, uint32_t, uint32_t, void*);
|
||||
typedef void (*vFuiiiiiii_t)(uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t);
|
||||
@ -5589,6 +5590,7 @@ void vFEpppuipV(x64emu_t *emu, uintptr_t fcn) { vFEpppuipV_t fn = (vFEpppuipV_t)
|
||||
void vFEpppppuu(x64emu_t *emu, uintptr_t fcn) { vFEpppppuu_t fn = (vFEpppppuu_t)fcn; fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (uint32_t)R_R9, *(uint32_t*)(R_RSP + 8)); }
|
||||
void vFiiiiuuip(x64emu_t *emu, uintptr_t fcn) { vFiiiiuuip_t fn = (vFiiiiuuip_t)fcn; fn((int32_t)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9, *(int32_t*)(R_RSP + 8), *(void**)(R_RSP + 16)); }
|
||||
void vFiilliilp(x64emu_t *emu, uintptr_t fcn) { vFiilliilp_t fn = (vFiilliilp_t)fcn; fn((int32_t)R_RDI, (int32_t)R_RSI, (intptr_t)R_RDX, (intptr_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(intptr_t*)(R_RSP + 8), *(void**)(R_RSP + 16)); }
|
||||
void vFiilluulp(x64emu_t *emu, uintptr_t fcn) { vFiilluulp_t fn = (vFiilluulp_t)fcn; fn((int32_t)R_RDI, (int32_t)R_RSI, (intptr_t)R_RDX, (intptr_t)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9, *(intptr_t*)(R_RSP + 8), *(void**)(R_RSP + 16)); }
|
||||
void vFiupuiuup(x64emu_t *emu, uintptr_t fcn) { vFiupuiuup_t fn = (vFiupuiuup_t)fcn; fn((int32_t)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (uint32_t)R_RCX, (int32_t)R_R8, (uint32_t)R_R9, *(uint32_t*)(R_RSP + 8), *(void**)(R_RSP + 16)); }
|
||||
void vFiupuuuup(x64emu_t *emu, uintptr_t fcn) { vFiupuuuup_t fn = (vFiupuuuup_t)fcn; fn((int32_t)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9, *(uint32_t*)(R_RSP + 8), *(void**)(R_RSP + 16)); }
|
||||
void vFuiiiiiii(x64emu_t *emu, uintptr_t fcn) { vFuiiiiiii_t fn = (vFuiiiiiii_t)fcn; fn((uint32_t)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(int32_t*)(R_RSP + 8), *(int32_t*)(R_RSP + 16)); }
|
||||
|
@ -2520,6 +2520,7 @@ void vFEpppuipV(x64emu_t *emu, uintptr_t fnc);
|
||||
void vFEpppppuu(x64emu_t *emu, uintptr_t fnc);
|
||||
void vFiiiiuuip(x64emu_t *emu, uintptr_t fnc);
|
||||
void vFiilliilp(x64emu_t *emu, uintptr_t fnc);
|
||||
void vFiilluulp(x64emu_t *emu, uintptr_t fnc);
|
||||
void vFiupuiuup(x64emu_t *emu, uintptr_t fnc);
|
||||
void vFiupuuuup(x64emu_t *emu, uintptr_t fnc);
|
||||
void vFuiiiiiii(x64emu_t *emu, uintptr_t fnc);
|
||||
|
23
src/wrapped/wrappedglesv2.c
Normal file
23
src/wrapped/wrappedglesv2.c
Normal file
@ -0,0 +1,23 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#define _GNU_SOURCE /* See feature_test_macros(7) */
|
||||
#include <dlfcn.h>
|
||||
|
||||
#include "wrappedlibs.h"
|
||||
|
||||
#include "debug.h"
|
||||
#include "wrapper.h"
|
||||
#include "bridge.h"
|
||||
#include "librarian/library_private.h"
|
||||
#include "x64emu.h"
|
||||
|
||||
#ifdef ANDROID
|
||||
const char* glesv2Name = "libGLESv2.so";
|
||||
#else
|
||||
const char* glesv2Name = "libGLESv2.so.2";
|
||||
#endif
|
||||
|
||||
#define LIBNAME glesv2
|
||||
|
||||
#include "wrappedlib_init.h"
|
362
src/wrapped/wrappedglesv2_private.h
Normal file
362
src/wrapped/wrappedglesv2_private.h
Normal file
@ -0,0 +1,362 @@
|
||||
#if !(defined(GO) && defined(GOM) && defined(GO2) && defined(DATA))
|
||||
#error meh!
|
||||
#endif
|
||||
|
||||
GO(glActiveShaderProgram, vFuu)
|
||||
GO(glActiveTexture, vFu)
|
||||
GO(glAttachShader, vFuu)
|
||||
GO(glBeginQuery, vFuu)
|
||||
GO(glBeginTransformFeedback, vFu)
|
||||
GO(glBindAttribLocation, vFuup)
|
||||
GO(glBindBuffer, vFuu)
|
||||
GO(glBindBufferBase, vFuuu)
|
||||
GO(glBindBufferRange, vFuuuii)
|
||||
GO(glBindFramebuffer, vFuu)
|
||||
GO(glBindImageTexture, vFuuiCiuu)
|
||||
GO(glBindProgramPipeline, vFu)
|
||||
GO(glBindRenderbuffer, vFuu)
|
||||
GO(glBindSampler, vFuu)
|
||||
GO(glBindTexture, vFuu)
|
||||
GO(glBindTransformFeedback, vFuu)
|
||||
GO(glBindVertexArray, vFu)
|
||||
GO(glBindVertexBuffer, vFuuli)
|
||||
GO(glBlendBarrier, vFv)
|
||||
GO(glBlendColor, vFffff)
|
||||
GO(glBlendEquation, vFu)
|
||||
GO(glBlendEquationi, vFuu)
|
||||
GO(glBlendEquationSeparate, vFuu)
|
||||
GO(glBlendEquationSeparatei, vFuuu)
|
||||
GO(glBlendFunc, vFuu)
|
||||
GO(glBlendFunci, vFuuu)
|
||||
GO(glBlendFuncSeparate, vFuuuu)
|
||||
GO(glBlendFuncSeparatei, vFuuuuu)
|
||||
GO(glBlitFramebuffer, vFiiiiiiiiiu)
|
||||
GO(glBufferData, vFulpu)
|
||||
GO(glBufferSubData, vFullp)
|
||||
GO(glCheckFramebufferStatus, uFu)
|
||||
GO(glClear, vFi)
|
||||
GO(glClearBufferfi, vFuifi)
|
||||
GO(glClearBufferfv, vFuip)
|
||||
GO(glClearBufferiv, vFuip)
|
||||
GO(glClearBufferuiv, vFuip)
|
||||
GO(glClearColor, vFffff)
|
||||
GO(glClearDepthf, vFf)
|
||||
GO(glClearStencil, vFi)
|
||||
GO(glClientWaitSync, uFpuL)
|
||||
GO(glColorMask, vFCCCC)
|
||||
GO(glColorMaski, vFuiiii)
|
||||
GO(glCompileShader, vFu)
|
||||
GO(glCompressedTexImage2D, vFuiuiiiip)
|
||||
GO(glCompressedTexImage3D, vFuiuiiiiip)
|
||||
GO(glCompressedTexSubImage2D, vFuiiiiiuip)
|
||||
GO(glCompressedTexSubImage3D, vFuiiiiiiiuip)
|
||||
GO(glCopyBufferSubData, vFuulll)
|
||||
GO(glCopyImageSubData, vFuuiiiiuuiiiiiii)
|
||||
GO(glCopyTexImage2D, vFuiuiiiii)
|
||||
GO(glCopyTexSubImage2D, vFuiiiiiii)
|
||||
GO(glCopyTexSubImage3D, vFuiiiiiiii)
|
||||
GO(glCreateProgram, uFv)
|
||||
GO(glCreateShader, uFu)
|
||||
GO(glCreateShaderProgramv, uFuip)
|
||||
GO(glCullFace, vFu)
|
||||
//GO(glDebugMessageCallback,
|
||||
GO(glDebugMessageControl, vFuuuipi)
|
||||
GO(glDebugMessageInsert, vFuuuuip)
|
||||
GO(glDeleteBuffers, vFip)
|
||||
GO(glDeleteFramebuffers, vFip)
|
||||
GO(glDeleteProgram, vFu)
|
||||
GO(glDeleteProgramPipelines, vFip)
|
||||
GO(glDeleteQueries, vFip)
|
||||
GO(glDeleteRenderbuffers, vFip)
|
||||
GO(glDeleteSamplers, vFip)
|
||||
GO(glDeleteShader, vFu)
|
||||
GO(glDeleteSync, vFp)
|
||||
GO(glDeleteTextures, vFip)
|
||||
GO(glDeleteTransformFeedbacks, vFip)
|
||||
GO(glDeleteVertexArrays, vFip)
|
||||
GO(glDepthFunc, vFu)
|
||||
GO(glDepthMask, vFi)
|
||||
GO(glDepthRangef, vFff)
|
||||
GO(glDetachShader, vFuu)
|
||||
GO(glDisable, vFu)
|
||||
GO(glDisablei, vFuu)
|
||||
GO(glDisableVertexAttribArray, vFu)
|
||||
GO(glDispatchCompute, vFuuu)
|
||||
GO(glDispatchComputeIndirect, vFi)
|
||||
GO(glDrawArrays, vFuii)
|
||||
GO(glDrawArraysIndirect, vFup)
|
||||
GO(glDrawArraysInstanced, vFuiii)
|
||||
GO(glDrawBuffers, vFip)
|
||||
GO(glDrawElements, vFuiup)
|
||||
GO(glDrawElementsBaseVertex, vFuiupi)
|
||||
GO(glDrawElementsIndirect, vFuup)
|
||||
GO(glDrawElementsInstanced, vFuiupi)
|
||||
GO(glDrawElementsInstancedBaseVertex, vFuiupii)
|
||||
GO(glDrawRangeElements, vFuuuiup)
|
||||
GO(glDrawRangeElementsBaseVertex, vFuuuiupi)
|
||||
GO(glEnable, vFu)
|
||||
GO(glEnablei, vFuu)
|
||||
GO(glEnableVertexAttribArray, vFu)
|
||||
GO(glEndQuery, vFu)
|
||||
GO(glEndTransformFeedback, vFv)
|
||||
GO(glFenceSync, pFuu)
|
||||
GO(glFinish, vFv)
|
||||
GO(glFlush, vFv)
|
||||
GO(glFlushMappedBufferRange, vFull)
|
||||
GO(glFramebufferParameteri, vFuui)
|
||||
GO(glFramebufferRenderbuffer, vFuuuu)
|
||||
GO(glFramebufferTexture, vFuuui)
|
||||
GO(glFramebufferTexture2D, vFuuuui)
|
||||
GO(glFramebufferTextureLayer, vFuuuii)
|
||||
GO(glFrontFace, vFu)
|
||||
GO(glGenBuffers, vFip)
|
||||
GO(glGenerateMipmap, vFu)
|
||||
GO(glGenFramebuffers, vFip)
|
||||
GO(glGenProgramPipelines, vFip)
|
||||
GO(glGenQueries, vFip)
|
||||
GO(glGenRenderbuffers, vFip)
|
||||
GO(glGenSamplers, vFip)
|
||||
GO(glGenTextures, vFip)
|
||||
GO(glGenTransformFeedbacks, vFip)
|
||||
GO(glGenVertexArrays, vFip)
|
||||
GO(glGetActiveAttrib, vFuuipppp)
|
||||
GO(glGetActiveUniform, vFuuipppp)
|
||||
GO(glGetActiveUniformBlockiv, vFuuup)
|
||||
GO(glGetActiveUniformBlockName, vFuuipp)
|
||||
GO(glGetActiveUniformsiv, vFuipup)
|
||||
GO(glGetAttachedShaders, vFuipp)
|
||||
GO(glGetAttribLocation, iFup)
|
||||
GO(glGetBooleani_v, vFuup)
|
||||
GO(glGetBooleanv, vFup)
|
||||
GO(glGetBufferParameteri64v, vFuup)
|
||||
GO(glGetBufferParameteriv, vFuup)
|
||||
GO(glGetBufferPointerv, vFuup)
|
||||
GO(glGetDebugMessageLog, uFuipppppp)
|
||||
GO(glGetError, uFv)
|
||||
GO(glGetFloatv, vFup)
|
||||
GO(glGetFragDataLocation, iFup)
|
||||
GO(glGetFramebufferAttachmentParameteriv, vFuuup)
|
||||
GO(glGetFramebufferParameteriv, vFuup)
|
||||
GO(glGetGraphicsResetStatus, iFv)
|
||||
GO(glGetInteger64i_v, vFuup)
|
||||
GO(glGetInteger64v, vFup)
|
||||
GO(glGetIntegeri_v, vFuup)
|
||||
GO(glGetIntegerv, vFup)
|
||||
GO(glGetInternalformativ, vFuuuip)
|
||||
GO(glGetMultisamplefv, vFuup)
|
||||
GO(glGetnUniformfv, vFuilp)
|
||||
GO(glGetnUniformiv, vFuilp)
|
||||
GO(glGetnUniformuiv, vFuilp)
|
||||
GO(glGetObjectLabel, vFuuipp)
|
||||
GO(glGetObjectPtrLabel, vFpipp)
|
||||
GO(glGetPointerv, vFup)
|
||||
GO(glGetProgramBinary, vFuippp)
|
||||
GO(glGetProgramInfoLog, vFuipp)
|
||||
GO(glGetProgramInterfaceiv, vFuuup)
|
||||
GO(glGetProgramiv, vFuup)
|
||||
GO(glGetProgramPipelineInfoLog, vFuipp)
|
||||
GO(glGetProgramPipelineiv, vFuup)
|
||||
GO(glGetProgramResourceIndex, uFuup)
|
||||
GO(glGetProgramResourceiv, vFuuuipipp)
|
||||
GO(glGetProgramResourceLocation, iFuup)
|
||||
GO(glGetProgramResourceName, vFuuuipp)
|
||||
GO(glGetQueryiv, vFuup)
|
||||
GO(glGetQueryObjectuiv, vFuup)
|
||||
GO(glGetRenderbufferParameteriv, vFuup)
|
||||
GO(glGetSamplerParameterfv, vFuup)
|
||||
GO(glGetSamplerParameterIiv, vFuup)
|
||||
GO(glGetSamplerParameterIuiv, vFuup)
|
||||
GO(glGetSamplerParameteriv, vFuup)
|
||||
GO(glGetShaderInfoLog, vFuipp)
|
||||
GO(glGetShaderiv, vFuup)
|
||||
GO(glGetShaderPrecisionFormat, vFuupp)
|
||||
GO(glGetShaderSource, vFuipp)
|
||||
GO(glGetString, pFu)
|
||||
GO(glGetStringi, pFuu)
|
||||
GO(glGetSynciv, vFpuipp)
|
||||
GO(glGetTexLevelParameterfv, vFuiup)
|
||||
GO(glGetTexLevelParameteriv, vFuiup)
|
||||
GO(glGetTexParameterfv, vFuup)
|
||||
GO(glGetTexParameterIiv, vFuup)
|
||||
GO(glGetTexParameterIuiv, vFuup)
|
||||
GO(glGetTexParameteriv, vFuup)
|
||||
GO(glGetTransformFeedbackVarying, vFuuipppp)
|
||||
GO(glGetUniformBlockIndex, uFup)
|
||||
GO(glGetUniformfv, vFuip)
|
||||
GO(glGetUniformIndices, vFuipp)
|
||||
GO(glGetUniformiv, vFuip)
|
||||
GO(glGetUniformLocation, iFup)
|
||||
GO(glGetUniformuiv, vFuip)
|
||||
GO(glGetVertexAttribfv, vFuup)
|
||||
GO(glGetVertexAttribIiv, vFuup)
|
||||
GO(glGetVertexAttribIuiv, vFuup)
|
||||
GO(glGetVertexAttribiv, vFuup)
|
||||
GO(glGetVertexAttribPointerv, vFuup)
|
||||
GO(glHint, vFuu)
|
||||
GO(glInvalidateFramebuffer, vFuip)
|
||||
GO(glInvalidateSubFramebuffer, vFuipiiii)
|
||||
GO(glIsBuffer, iFu)
|
||||
GO(glIsEnabled, iFu)
|
||||
GO(glIsEnabledi, iFuu)
|
||||
GO(glIsFramebuffer, iFu)
|
||||
GO(glIsProgram, iFu)
|
||||
GO(glIsProgramPipeline, iFu)
|
||||
GO(glIsQuery, iFu)
|
||||
GO(glIsRenderbuffer, iFu)
|
||||
GO(glIsSampler, iFu)
|
||||
GO(glIsShader, iFu)
|
||||
GO(glIsSync, CFp)
|
||||
GO(glIsTexture, iFu)
|
||||
GO(glIsTransformFeedback, iFu)
|
||||
GO(glIsVertexArray, iFu)
|
||||
GO(glLineWidth, vFf)
|
||||
GO(glLinkProgram, vFu)
|
||||
GO(glMapBufferRange, pFullu)
|
||||
GO(glMemoryBarrier, vFi)
|
||||
GO(glMemoryBarrierByRegion, vFu)
|
||||
GO(glMinSampleShading, vFf)
|
||||
GO(glObjectLabel, vFuuip)
|
||||
GO(glObjectPtrLabel, vFpip)
|
||||
GO(glPatchParameteri, vFui)
|
||||
GO(glPauseTransformFeedback, vFv)
|
||||
GO(glPixelStorei, vFui)
|
||||
GO(glPolygonOffset, vFff)
|
||||
GO(glPopDebugGroup, vFv)
|
||||
GO(glPrimitiveBoundingBox, vFffffffff)
|
||||
GO(glProgramBinary, vFuupi)
|
||||
GO(glProgramParameteri, vFuui)
|
||||
GO(glProgramUniform1f, vFuif)
|
||||
GO(glProgramUniform1fv, vFuiip)
|
||||
GO(glProgramUniform1i, vFuii)
|
||||
GO(glProgramUniform1iv, vFuiip)
|
||||
GO(glProgramUniform1ui, vFuiu)
|
||||
GO(glProgramUniform1uiv, vFuiip)
|
||||
GO(glProgramUniform2f, vFuiff)
|
||||
GO(glProgramUniform2fv, vFuiip)
|
||||
GO(glProgramUniform2i, vFuiii)
|
||||
GO(glProgramUniform2iv, vFuiip)
|
||||
GO(glProgramUniform2ui, vFuiuu)
|
||||
GO(glProgramUniform2uiv, vFuiip)
|
||||
GO(glProgramUniform3f, vFuifff)
|
||||
GO(glProgramUniform3fv, vFuiip)
|
||||
GO(glProgramUniform3i, vFuiiii)
|
||||
GO(glProgramUniform3iv, vFuiip)
|
||||
GO(glProgramUniform3ui, vFuiuuu)
|
||||
GO(glProgramUniform3uiv, vFuiip)
|
||||
GO(glProgramUniform4f, vFuiffff)
|
||||
GO(glProgramUniform4fv, vFuiip)
|
||||
GO(glProgramUniform4i, vFuiiiii)
|
||||
GO(glProgramUniform4iv, vFuiip)
|
||||
GO(glProgramUniform4ui, vFuiuuuu)
|
||||
GO(glProgramUniform4uiv, vFuiip)
|
||||
GO(glProgramUniformMatrix2fv, vFuiiip)
|
||||
GO(glProgramUniformMatrix2x3fv, vFuiiip)
|
||||
GO(glProgramUniformMatrix2x4fv, vFuiiip)
|
||||
GO(glProgramUniformMatrix3fv, vFuiiip)
|
||||
GO(glProgramUniformMatrix3x2fv, vFuiiip)
|
||||
GO(glProgramUniformMatrix3x4fv, vFuiiip)
|
||||
GO(glProgramUniformMatrix4fv, vFuiiip)
|
||||
GO(glProgramUniformMatrix4x2fv, vFuiiip)
|
||||
GO(glProgramUniformMatrix4x3fv, vFuiiip)
|
||||
GO(glPushDebugGroup, vFuuip)
|
||||
GO(glReadBuffer, vFu)
|
||||
GO(glReadnPixels, vFiilluulp)
|
||||
GO(glReadPixels, vFiiiiuup)
|
||||
GO(glReleaseShaderCompiler, vFv)
|
||||
GO(glRenderbufferStorage, vFuuii)
|
||||
GO(glRenderbufferStorageMultisample, vFuiuii)
|
||||
GO(glResumeTransformFeedback, vFv)
|
||||
GO(glSampleCoverage, vFfi)
|
||||
GO(glSampleMaski, vFui)
|
||||
GO(glSamplerParameterf, vFuuf)
|
||||
GO(glSamplerParameterfv, vFuup)
|
||||
GO(glSamplerParameteri, vFuui)
|
||||
GO(glSamplerParameterIiv, vFuup)
|
||||
GO(glSamplerParameterIuiv, vFuup)
|
||||
GO(glSamplerParameteriv, vFuup)
|
||||
GO(glScissor, vFiiii)
|
||||
GO(glShaderBinary, vFipupi)
|
||||
GO(glShaderSource, vFuipp)
|
||||
GO(glStencilFunc, vFuiu)
|
||||
GO(glStencilFuncSeparate, vFuuiu)
|
||||
GO(glStencilMask, vFu)
|
||||
GO(glStencilMaskSeparate, vFuu)
|
||||
GO(glStencilOp, vFuuu)
|
||||
GO(glStencilOpSeparate, vFuuuu)
|
||||
GO(glTexBuffer, vFuuu)
|
||||
GO(glTexBufferRange, vFuuull)
|
||||
GO(glTexImage2D, vFuiiiiiuup)
|
||||
GO(glTexImage3D, vFuiiiiiiuup)
|
||||
GO(glTexParameterf, vFuuf)
|
||||
GO(glTexParameterfv, vFuup)
|
||||
GO(glTexParameteri, vFuui)
|
||||
GO(glTexParameterIiv, vFuup)
|
||||
GO(glTexParameterIuiv, vFuup)
|
||||
GO(glTexParameteriv, vFuup)
|
||||
GO(glTexStorage2D, vFuiuii)
|
||||
GO(glTexStorage2DMultisample, vFuiuiiC)
|
||||
GO(glTexStorage3D, vFuiuiii)
|
||||
GO(glTexStorage3DMultisample, vFuiuiiiC)
|
||||
GO(glTexSubImage2D, vFuiiiiiuup)
|
||||
GO(glTexSubImage3D, vFuiiiiiiiuup)
|
||||
GO(glTransformFeedbackVaryings, vFuipu)
|
||||
GO(glUniform1f, vFif)
|
||||
GO(glUniform1fv, vFiip)
|
||||
GO(glUniform1i, vFii)
|
||||
GO(glUniform1iv, vFiip)
|
||||
GO(glUniform1ui, vFiu)
|
||||
GO(glUniform1uiv, vFiip)
|
||||
GO(glUniform2f, vFiff)
|
||||
GO(glUniform2fv, vFiip)
|
||||
GO(glUniform2i, vFiii)
|
||||
GO(glUniform2iv, vFiip)
|
||||
GO(glUniform2ui, vFiuu)
|
||||
GO(glUniform2uiv, vFiip)
|
||||
GO(glUniform3f, vFifff)
|
||||
GO(glUniform3fv, vFiip)
|
||||
GO(glUniform3i, vFiiii)
|
||||
GO(glUniform3iv, vFiip)
|
||||
GO(glUniform3ui, vFiuuu)
|
||||
GO(glUniform3uiv, vFiip)
|
||||
GO(glUniform4f, vFiffff)
|
||||
GO(glUniform4fv, vFiip)
|
||||
GO(glUniform4i, vFiiiii)
|
||||
GO(glUniform4iv, vFiip)
|
||||
GO(glUniform4ui, vFiuuuu)
|
||||
GO(glUniform4uiv, vFiip)
|
||||
GO(glUniformBlockBinding, vFuuu)
|
||||
GO(glUniformMatrix2fv, vFiiip)
|
||||
GO(glUniformMatrix2x3fv, vFiiip)
|
||||
GO(glUniformMatrix2x4fv, vFiiip)
|
||||
GO(glUniformMatrix3fv, vFiiip)
|
||||
GO(glUniformMatrix3x2fv, vFiiip)
|
||||
GO(glUniformMatrix3x4fv, vFiiip)
|
||||
GO(glUniformMatrix4fv, vFiiip)
|
||||
GO(glUniformMatrix4x2fv, vFiiip)
|
||||
GO(glUniformMatrix4x3fv, vFiiip)
|
||||
GO(glUnmapBuffer, iFu)
|
||||
GO(glUseProgram, vFu)
|
||||
GO(glUseProgramStages, vFuuu)
|
||||
GO(glValidateProgram, vFu)
|
||||
GO(glValidateProgramPipeline, vFu)
|
||||
GO(glVertexAttrib1f, vFuf)
|
||||
GO(glVertexAttrib1fv, vFup)
|
||||
GO(glVertexAttrib2f, vFuff)
|
||||
GO(glVertexAttrib2fv, vFup)
|
||||
GO(glVertexAttrib3f, vFufff)
|
||||
GO(glVertexAttrib3fv, vFup)
|
||||
GO(glVertexAttrib4f, vFuffff)
|
||||
GO(glVertexAttrib4fv, vFup)
|
||||
GO(glVertexAttribBinding, vFuu)
|
||||
GO(glVertexAttribDivisor, vFuu)
|
||||
GO(glVertexAttribFormat, vFuiuCu)
|
||||
GO(glVertexAttribI4i, vFuiiii)
|
||||
GO(glVertexAttribI4iv, vFup)
|
||||
GO(glVertexAttribI4ui, vFuuuuu)
|
||||
GO(glVertexAttribI4uiv, vFup)
|
||||
GO(glVertexAttribIFormat, vFuiuu)
|
||||
GO(glVertexAttribIPointer, vFuiuip)
|
||||
GO(glVertexAttribPointer, vFuiuiip)
|
||||
GO(glVertexBindingDivisor, vFuu)
|
||||
GO(glViewport, vFiiii)
|
||||
GO(glWaitSync, vFpuL)
|
@ -5,21 +5,21 @@
|
||||
GO(eglBindAPI, iFi)
|
||||
GO(eglBindTexImage, iFppi)
|
||||
GO(eglChooseConfig, iFpppip)
|
||||
//GO(eglClientWaitSync,
|
||||
GO(eglClientWaitSync, iFppiU)
|
||||
GO(eglCopyBuffers, iFppp)
|
||||
GO(eglCreateContext, pFpppp)
|
||||
//GO(eglCreateImage,
|
||||
GO(eglCreateImage, pFppuup)
|
||||
GO(eglCreatePbufferFromClientBuffer, pFpippp)
|
||||
GO(eglCreatePbufferSurface, pFppp)
|
||||
GO(eglCreatePixmapSurface, pFpppp)
|
||||
//GO(eglCreatePlatformPixmapSurface,
|
||||
//GO(eglCreatePlatformWindowSurface,
|
||||
//GO(eglCreateSync,
|
||||
GO(eglCreatePlatformPixmapSurface, pFpppp)
|
||||
GO(eglCreatePlatformWindowSurface, pFpppp)
|
||||
GO(eglCreateSync, pFpup)
|
||||
GO(eglCreateWindowSurface, pFpppp)
|
||||
GO(eglDestroyContext, iFpp)
|
||||
//GO(eglDestroyImage,
|
||||
GO(eglDestroyImage, iFpp)
|
||||
GO(eglDestroySurface, iFpp)
|
||||
//GO(eglDestroySync,
|
||||
GO(eglDestroySync, iFpp)
|
||||
GO(eglGetConfigAttrib, iFppip)
|
||||
GO(eglGetConfigs, iFppip)
|
||||
GO(eglGetCurrentContext, pFv)
|
||||
@ -27,9 +27,9 @@ GO(eglGetCurrentDisplay, pFv)
|
||||
GO(eglGetCurrentSurface, pFi)
|
||||
GO(eglGetDisplay, pFp)
|
||||
GO(eglGetError, iFv)
|
||||
//GO(eglGetPlatformDisplay,
|
||||
GO(eglGetPlatformDisplay, pFppp)
|
||||
GOM(eglGetProcAddress, pFEp)
|
||||
//GO(eglGetSyncAttrib,
|
||||
GO(eglGetSyncAttrib, iFppip)
|
||||
GO(eglInitialize, iFppp)
|
||||
GO(eglMakeCurrent, iFpppp)
|
||||
GO(eglQueryAPI, iFv)
|
||||
@ -45,5 +45,5 @@ GO(eglTerminate, iFp)
|
||||
GO(eglWaitClient, iFv)
|
||||
GO(eglWaitGL, iFv)
|
||||
GO(eglWaitNative, iFi)
|
||||
//GO(eglWaitSync,
|
||||
GO(eglWaitSync, iFppi)
|
||||
|
||||
|
@ -33,6 +33,7 @@ EXPORT void* my_glXGetProcAddressARB(x64emu_t* emu, void* name) __attribute__((a
|
||||
|
||||
typedef int (*iFi_t)(int);
|
||||
typedef void (*vFpp_t)(void*, void*);
|
||||
typedef void (*vFppp_t)(void*, void*, void*);
|
||||
typedef void (*vFppi_t)(void*, void*, int);
|
||||
typedef void*(*pFp_t)(void*);
|
||||
typedef void (*debugProc_t)(int32_t, int32_t, uint32_t, int32_t, int32_t, void*, void*);
|
||||
@ -76,6 +77,28 @@ static void* find_debug_callback_Fct(void* fct)
|
||||
printf_log(LOG_NONE, "Warning, no more slot for libGL debug_callback callback\n");
|
||||
return NULL;
|
||||
}
|
||||
// egl_debug_callback ...
|
||||
#define GO(A) \
|
||||
static uintptr_t my_egl_debug_callback_fct_##A = 0; \
|
||||
static void my_egl_debug_callback_##A(int a, void* b, int c, void* d, void* e, const char* f) \
|
||||
{ \
|
||||
RunFunctionFmt(my_egl_debug_callback_fct_##A, "ipippp", a, b, c, d, e, f); \
|
||||
}
|
||||
SUPER()
|
||||
#undef GO
|
||||
static void* find_egl_debug_callback_Fct(void* fct)
|
||||
{
|
||||
if(!fct) return fct;
|
||||
if(GetNativeFnc((uintptr_t)fct)) return GetNativeFnc((uintptr_t)fct);
|
||||
#define GO(A) if(my_egl_debug_callback_fct_##A == (uintptr_t)fct) return my_egl_debug_callback_##A;
|
||||
SUPER()
|
||||
#undef GO
|
||||
#define GO(A) if(my_egl_debug_callback_fct_##A == 0) {my_egl_debug_callback_fct_##A = (uintptr_t)fct; return my_egl_debug_callback_##A; }
|
||||
SUPER()
|
||||
#undef GO
|
||||
printf_log(LOG_NONE, "Warning, no more slot for libGL egl_debug_callback callback\n");
|
||||
return NULL;
|
||||
}
|
||||
// program_callback ...
|
||||
#define GO(A) \
|
||||
static uintptr_t my_program_callback_fct_##A = 0; \
|
||||
@ -98,6 +121,50 @@ static void* find_program_callback_Fct(void* fct)
|
||||
printf_log(LOG_NONE, "Warning, no more slot for libGL program_callback callback\n");
|
||||
return NULL;
|
||||
}
|
||||
// set_blob_func ...
|
||||
#define GO(A) \
|
||||
static uintptr_t my_set_blob_func_fct_##A = 0; \
|
||||
static void my_set_blob_func_##A(void* a, ssize_t b, void* c, ssize_t d) \
|
||||
{ \
|
||||
RunFunctionFmt(my_set_blob_func_fct_##A, "plpl", a, b, c, d); \
|
||||
}
|
||||
SUPER()
|
||||
#undef GO
|
||||
static void* find_set_blob_func_Fct(void* fct)
|
||||
{
|
||||
if(!fct) return fct;
|
||||
if(GetNativeFnc((uintptr_t)fct)) return GetNativeFnc((uintptr_t)fct);
|
||||
#define GO(A) if(my_set_blob_func_fct_##A == (uintptr_t)fct) return my_set_blob_func_##A;
|
||||
SUPER()
|
||||
#undef GO
|
||||
#define GO(A) if(my_set_blob_func_fct_##A == 0) {my_set_blob_func_fct_##A = (uintptr_t)fct; return my_set_blob_func_##A; }
|
||||
SUPER()
|
||||
#undef GO
|
||||
printf_log(LOG_NONE, "Warning, no more slot for libGL set_blob_func callback\n");
|
||||
return NULL;
|
||||
}
|
||||
// get_blob_func ...
|
||||
#define GO(A) \
|
||||
static uintptr_t my_get_blob_func_fct_##A = 0; \
|
||||
static ssize_t my_get_blob_func_##A(void* a, ssize_t b, void* c, ssize_t d) \
|
||||
{ \
|
||||
return (ssize_t)RunFunctionFmt(my_get_blob_func_fct_##A, "plpl", a, b, c, d); \
|
||||
}
|
||||
SUPER()
|
||||
#undef GO
|
||||
static void* find_get_blob_func_Fct(void* fct)
|
||||
{
|
||||
if(!fct) return fct;
|
||||
if(GetNativeFnc((uintptr_t)fct)) return GetNativeFnc((uintptr_t)fct);
|
||||
#define GO(A) if(my_get_blob_func_fct_##A == (uintptr_t)fct) return my_get_blob_func_##A;
|
||||
SUPER()
|
||||
#undef GO
|
||||
#define GO(A) if(my_get_blob_func_fct_##A == 0) {my_get_blob_func_fct_##A = (uintptr_t)fct; return my_get_blob_func_##A; }
|
||||
SUPER()
|
||||
#undef GO
|
||||
printf_log(LOG_NONE, "Warning, no more slot for libGL get_blob_func callback\n");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
// glDebugMessageCallback ...
|
||||
#define GO(A) \
|
||||
@ -191,6 +258,52 @@ static void* find_glDebugMessageCallbackKHR_Fct(void* fct)
|
||||
printf_log(LOG_NONE, "Warning, no more slot for libGL glDebugMessageCallbackKHR callback\n");
|
||||
return NULL;
|
||||
}
|
||||
// eglDebugMessageControlKHR ...
|
||||
#define GO(A) \
|
||||
static vFpp_t my_eglDebugMessageControlKHR_fct_##A = NULL; \
|
||||
static void my_eglDebugMessageControlKHR_##A(x64emu_t* emu, void* prod, void* param) \
|
||||
{ \
|
||||
if(!my_eglDebugMessageControlKHR_fct_##A) \
|
||||
return; \
|
||||
my_eglDebugMessageControlKHR_fct_##A(find_egl_debug_callback_Fct(prod), param); \
|
||||
}
|
||||
SUPER()
|
||||
#undef GO
|
||||
static void* find_eglDebugMessageControlKHR_Fct(void* fct)
|
||||
{
|
||||
if(!fct) return fct;
|
||||
#define GO(A) if(my_eglDebugMessageControlKHR_fct_##A == (vFpp_t)fct) return my_eglDebugMessageControlKHR_##A;
|
||||
SUPER()
|
||||
#undef GO
|
||||
#define GO(A) if(my_eglDebugMessageControlKHR_fct_##A == 0) {my_eglDebugMessageControlKHR_fct_##A = (vFpp_t)fct; return my_eglDebugMessageControlKHR_##A; }
|
||||
SUPER()
|
||||
#undef GO
|
||||
printf_log(LOG_NONE, "Warning, no more slot for libGL eglDebugMessageControlKHR callback\n");
|
||||
return NULL;
|
||||
}
|
||||
// eglSetBlobCacheFuncsANDROID ...
|
||||
#define GO(A) \
|
||||
static vFppp_t my_eglSetBlobCacheFuncsANDROID_fct_##A = NULL; \
|
||||
static void my_eglSetBlobCacheFuncsANDROID_##A(x64emu_t* emu, void* dpy, void* set, void* get) \
|
||||
{ \
|
||||
if(!my_eglSetBlobCacheFuncsANDROID_fct_##A) \
|
||||
return; \
|
||||
my_eglSetBlobCacheFuncsANDROID_fct_##A(dpy, find_set_blob_func_Fct(set), find_get_blob_func_Fct(get)); \
|
||||
}
|
||||
SUPER()
|
||||
#undef GO
|
||||
static void* find_eglSetBlobCacheFuncsANDROID_Fct(void* fct)
|
||||
{
|
||||
if(!fct) return fct;
|
||||
#define GO(A) if(my_eglSetBlobCacheFuncsANDROID_fct_##A == (vFppp_t)fct) return my_eglSetBlobCacheFuncsANDROID_##A;
|
||||
SUPER()
|
||||
#undef GO
|
||||
#define GO(A) if(my_eglSetBlobCacheFuncsANDROID_fct_##A == 0) {my_eglSetBlobCacheFuncsANDROID_fct_##A = (vFppp_t)fct; return my_eglSetBlobCacheFuncsANDROID_##A; }
|
||||
SUPER()
|
||||
#undef GO
|
||||
printf_log(LOG_NONE, "Warning, no more slot for libGL eglSetBlobCacheFuncsANDROID callback\n");
|
||||
return NULL;
|
||||
}
|
||||
// glXSwapIntervalMESA ...
|
||||
#define GO(A) \
|
||||
static iFi_t my_glXSwapIntervalMESA_fct_##A = NULL; \
|
||||
@ -325,15 +438,17 @@ static void* find_glGetVkProcAddrNV_Fct(void* fct)
|
||||
|
||||
#include "wrappedlib_init.h"
|
||||
|
||||
#define SUPER() \
|
||||
GO(vFpp_t, glDebugMessageCallback) \
|
||||
GO(vFpp_t, glDebugMessageCallbackARB) \
|
||||
GO(vFpp_t, glDebugMessageCallbackAMD) \
|
||||
GO(vFpp_t, glDebugMessageCallbackKHR) \
|
||||
GO(iFi_t, glXSwapIntervalMESA) \
|
||||
GO(vFppi_t, glXSwapIntervalEXT) \
|
||||
GO(vFpp_t, glProgramCallbackMESA) \
|
||||
GO(pFp_t, glGetVkProcAddrNV) \
|
||||
#define SUPER() \
|
||||
GO(vFpp_t, glDebugMessageCallback) \
|
||||
GO(vFpp_t, glDebugMessageCallbackARB) \
|
||||
GO(vFpp_t, glDebugMessageCallbackAMD) \
|
||||
GO(vFpp_t, glDebugMessageCallbackKHR) \
|
||||
GO(vFpp_t, eglDebugMessageControlKHR) \
|
||||
GO(iFi_t, glXSwapIntervalMESA) \
|
||||
GO(vFppi_t, glXSwapIntervalEXT) \
|
||||
GO(vFpp_t, glProgramCallbackMESA) \
|
||||
GO(pFp_t, glGetVkProcAddrNV) \
|
||||
GO(vFppp_t, eglSetBlobCacheFuncsANDROID) \
|
||||
|
||||
|
||||
gl_wrappers_t* getGLProcWrapper(box64context_t* context, glprocaddress_t procaddress)
|
||||
|
@ -787,6 +787,10 @@ GO(glMemoryBarrierByRegion, vFu)
|
||||
GO(glGetTextureSubImage, vFuiiiiiiiuuip)
|
||||
GO(glGetCompressedTextureSubImage, vFuiiiiiiiip)
|
||||
GO(glGetGraphicsResetStatus, iFv)
|
||||
GO(glGetnUniformfv, vFuilp)
|
||||
GO(glGetnUniformiv, vFuilp)
|
||||
GO(glGetnUniformuiv, vFuilp)
|
||||
GO(glReadnPixels, vFiilluulp)
|
||||
//VERSION_4_6
|
||||
GO(glSpecializeShader, vFippp)
|
||||
|
||||
@ -2037,9 +2041,6 @@ GO(glIsTextureEXT, iFu)
|
||||
GO(glPrioritizeTexturesEXT, vFipp)
|
||||
//EXT_texture_perturb_normal
|
||||
GO(glTextureNormalEXT, vFu)
|
||||
//EXT_timer_query
|
||||
GO(glGetQueryObjecti64vEXT, vFuup)
|
||||
GO(glGetQueryObjectui64vEXT, vFuup)
|
||||
//EXT_transform_feedback
|
||||
GO(glBeginTransformFeedbackEXT, vFu)
|
||||
GO(glBindBufferBaseEXT, vFuuu)
|
||||
@ -3309,82 +3310,6 @@ GO(glGetnUniformfvKHR, vFuilp)
|
||||
GO(glGetnUniformivKHR, vFuilp)
|
||||
GO(glGetnUniformuivKHR, vFuilp)
|
||||
|
||||
// EGL stuffs
|
||||
GO(eglBindAPI, iFi)
|
||||
GO(eglBindTexImage, iFppi)
|
||||
GO(eglChooseConfig, iFpppip)
|
||||
GO(eglClientWaitSyncKHR, iFppip)
|
||||
GO(eglClientWaitSyncNV, iFpip)
|
||||
GO(eglCopyBuffers, iFppp)
|
||||
GO(eglCreateContext, pFpppp)
|
||||
GO(eglCreateDRMImageMESA, pFpp)
|
||||
GO(eglCreateFenceSyncNV, pFpip)
|
||||
GO(eglCreateImageKHR, pFppipp)
|
||||
GO(eglCreatePbufferFromClientBuffer, pFpippp)
|
||||
GO(eglCreatePbufferSurface, pFppp)
|
||||
GO(eglCreatePixmapSurface, pFpppp)
|
||||
GO(eglCreatePixmapSurfaceHI, pFppp)
|
||||
GO(eglCreateStreamFromFileDescriptorKHR, pFpi)
|
||||
GO(eglCreateStreamKHR, pFpp)
|
||||
GO(eglCreateStreamProducerSurfaceKHR, pFpppp)
|
||||
GO(eglCreateSyncKHR, pFpip)
|
||||
GO(eglCreateWindowSurface, pFpppp)
|
||||
GO(eglDestroyContext, iFpp)
|
||||
GO(eglDestroyImageKHR, iFpp)
|
||||
GO(eglDestroyStreamKHR, iFpp)
|
||||
GO(eglDestroySurface, iFpp)
|
||||
GO(eglDestroySyncKHR, iFpp)
|
||||
GO(eglDestroySyncNV, iFp)
|
||||
GO(eglDupNativeFenceFDANDROID, iFpp)
|
||||
GO(eglExportDRMImageMESA, iFppppp)
|
||||
GO(eglFenceNV, iFp)
|
||||
GO(eglGetConfigAttrib, iFppip)
|
||||
GO(eglGetConfigs, iFppip)
|
||||
GO(eglGetCurrentContext, pFv)
|
||||
GO(eglGetCurrentDisplay, pFv)
|
||||
GO(eglGetCurrentSurface, pFi)
|
||||
GO(eglGetDisplay, pFp)
|
||||
GO(eglGetError, iFv)
|
||||
GO(eglGetStreamFileDescriptorKHR, iFpp)
|
||||
GO(eglGetSyncAttribKHR, iFppip)
|
||||
GO(eglGetSyncAttribNV, iFpip)
|
||||
GO(eglGetSystemTimeFrequencyNV, UFv)
|
||||
GO(eglGetSystemTimeNV, UFv)
|
||||
GO(eglInitialize, iFppp)
|
||||
GO(eglLockSurfaceKHR, iFppp)
|
||||
GO(eglMakeCurrent, iFpppp)
|
||||
GO(eglPostSubBufferNV, iFppiiii)
|
||||
GO(eglQueryAPI, iFv)
|
||||
GO(eglQueryContext, iFppip)
|
||||
GO(eglQueryNativeDisplayNV, iFpp)
|
||||
GO(eglQueryNativePixmapNV, iFppp)
|
||||
GO(eglQueryNativeWindowNV, iFppp)
|
||||
GO(eglQueryStreamKHR, iFppip)
|
||||
GO(eglQueryStreamTimeKHR, iFppip)
|
||||
GO(eglQueryStreamu64KHR, iFppip)
|
||||
GO(eglQueryString, pFpi)
|
||||
GO(eglQuerySurface, iFppip)
|
||||
GO(eglQuerySurfacePointerANGLE, iFppip)
|
||||
GO(eglReleaseTexImage, iFppi)
|
||||
GO(eglReleaseThread, iFv)
|
||||
//GOM(eglSetBlobCacheFuncsANDROID, vFpBB)
|
||||
GO(eglSignalSyncKHR, iFppi)
|
||||
GO(eglSignalSyncNV, iFpi)
|
||||
GO(eglStreamAttribKHR, iFppii)
|
||||
GO(eglStreamConsumerAcquireKHR, iFpp)
|
||||
GO(eglStreamConsumerGLTextureExternalKHR, iFpp)
|
||||
GO(eglStreamConsumerReleaseKHR, iFpp)
|
||||
GO(eglSurfaceAttrib, iFppii)
|
||||
GO(eglSwapBuffers, iFpp)
|
||||
GO(eglSwapBuffersWithDamageEXT, iFpppi)
|
||||
GO(eglSwapInterval, iFpi)
|
||||
GO(eglTerminate, iFp)
|
||||
GO(eglUnlockSurfaceKHR, iFpp)
|
||||
GO(eglWaitClient, iFv)
|
||||
GO(eglWaitGL, iFv)
|
||||
GO(eglWaitNative, iFi)
|
||||
GO(eglWaitSyncKHR, iFppi)
|
||||
|
||||
// GLES stuff
|
||||
GO(glDiscardFramebuffer, vFilp)
|
||||
GO(glDiscardFramebufferARB, vFilp)
|
||||
@ -3417,6 +3342,7 @@ GO(glGetProgramPipelineivEXT, vFuip)
|
||||
GO(glIsProgramPipelineEXT, iFu)
|
||||
GO(glUseProgramStagesEXT, vFuuu)
|
||||
GO(glValidateProgramPipelineEXT, vFu)
|
||||
GO(glPrimitiveBoundingBox, vFffffffff)
|
||||
|
||||
// GL_EXT_window_rectangles
|
||||
GO(glWindowRectanglesEXT, vFuip)
|
||||
@ -4014,3 +3940,123 @@ GO(glTexturePageCommitmentMemNV, vFuiiiiiiiiuLC)
|
||||
|
||||
// GL_NV_vdpau_interop2
|
||||
GO(glVDPAURegisterVideoSurfaceWithPictureStructureNV, lFpuipC)
|
||||
|
||||
// Base EGL
|
||||
GO(eglBindAPI, iFi)
|
||||
GO(eglBindTexImage, iFppi)
|
||||
GO(eglChooseConfig, iFpppip)
|
||||
GO(eglClientWaitSync, iFppiU)
|
||||
GO(eglCopyBuffers, iFppp)
|
||||
GO(eglCreateContext, pFpppp)
|
||||
GO(eglCreateImage, pFppuup)
|
||||
GO(eglCreatePbufferFromClientBuffer, pFpippp)
|
||||
GO(eglCreatePbufferSurface, pFppp)
|
||||
GO(eglCreatePixmapSurface, pFpppp)
|
||||
GO(eglCreatePlatformPixmapSurface, pFpppp)
|
||||
GO(eglCreatePlatformWindowSurface, pFpppp)
|
||||
GO(eglCreateSync, pFpup)
|
||||
GO(eglCreateWindowSurface, pFpppp)
|
||||
GO(eglDestroyContext, iFpp)
|
||||
GO(eglDestroyImage, iFpp)
|
||||
GO(eglDestroySurface, iFpp)
|
||||
GO(eglDestroySync, iFpp)
|
||||
GO(eglGetConfigAttrib, iFppip)
|
||||
GO(eglGetConfigs, iFppip)
|
||||
GO(eglGetCurrentContext, pFv)
|
||||
GO(eglGetCurrentDisplay, pFv)
|
||||
GO(eglGetCurrentSurface, pFi)
|
||||
GO(eglGetDisplay, pFp)
|
||||
GO(eglGetError, iFv)
|
||||
GO(eglGetPlatformDisplay, pFppp)
|
||||
//GOM(eglGetProcAddress, pFEp)
|
||||
GO(eglGetSyncAttrib, iFppip)
|
||||
GO(eglInitialize, iFppp)
|
||||
GO(eglMakeCurrent, iFpppp)
|
||||
GO(eglQueryAPI, iFv)
|
||||
GO(eglQueryContext, iFppip)
|
||||
GO(eglQueryString, pFpi)
|
||||
GO(eglQuerySurface, iFppip)
|
||||
GO(eglReleaseTexImage, iFppi)
|
||||
GO(eglReleaseThread, iFv)
|
||||
GO(eglSurfaceAttrib, iFppii)
|
||||
GO(eglSwapBuffers, iFpp)
|
||||
GO(eglSwapInterval, iFpi)
|
||||
GO(eglTerminate, iFp)
|
||||
GO(eglWaitClient, iFv)
|
||||
GO(eglWaitGL, iFv)
|
||||
GO(eglWaitNative, iFi)
|
||||
GO(eglWaitSync, iFppi)
|
||||
|
||||
// EGL_KHR_debug
|
||||
GOM(eglDebugMessageControlKHR, iFEpp)
|
||||
GO(eglQueryDebugKHR, iFip)
|
||||
GO(eglLabelObjectKHR, iFpupp)
|
||||
|
||||
// EGL_MESA_image_dma_buf_export
|
||||
GO(eglExportDMABUFImageQueryMESA, iFppppp)
|
||||
GO(eglExportDMABUFImageMESA, iFppppp)
|
||||
|
||||
// EGL_ANGLE_sync_control_rate
|
||||
GO(eglGetMscRateANGLE, iFpppp)
|
||||
|
||||
// EGL_CHROMIUM_sync_control
|
||||
GO(eglGetSyncValuesCHROMIUM, iFppppp)
|
||||
|
||||
// EGL_EXT_device_query
|
||||
GO(eglQueryDeviceAttribEXT, iFpip)
|
||||
GO(eglQueryDeviceStringEXT, pFpi)
|
||||
GO(eglQueryDisplayAttribEXT, iFpip)
|
||||
|
||||
// EGL_EXT_device_enumeration
|
||||
GO(eglQueryDevicesEXT, iFipp)
|
||||
|
||||
// EGL_EXT_image_dma_buf_import_modifiers
|
||||
GO(eglQueryDmaBufFormatsEXT, iFpipp)
|
||||
GO(eglQueryDmaBufModifiersEXT, iFpiippp)
|
||||
|
||||
// EGL_ANDROID_blob_cache
|
||||
GOM(eglSetBlobCacheFuncsANDROID, vFEppp)
|
||||
|
||||
// EGL_KHR_swap_buffers_with_damage
|
||||
GO(eglSwapBuffersWithDamageKHR, iFpppi)
|
||||
|
||||
// EGL_KHR_wait_sync
|
||||
GO(eglWaitSyncKHR, iFppi)
|
||||
|
||||
// EGL_KHR_image_base
|
||||
GO(eglCreateImageKHR, pFppupp)
|
||||
GO(eglDestroyImageKHR, iFpp)
|
||||
|
||||
// EGL_KHR_fence_sync
|
||||
GO(eglCreateSyncKHR, pFpup)
|
||||
GO(eglDestroySyncKHR, iFpp)
|
||||
GO(eglClientWaitSyncKHR, iFppiU)
|
||||
GO(eglGetSyncAttribKHR, iFppip)
|
||||
|
||||
// EGL_ANDROID_native_fence_sync
|
||||
GO(eglDupNativeFenceFDANDROID, iFpp)
|
||||
|
||||
// EGL_NV_post_sub_buffer
|
||||
GO(eglPostSubBufferNV, iFppiiii)
|
||||
|
||||
// GL_EXT_clip_control
|
||||
GO(glClipControlEXT, vFuu)
|
||||
|
||||
// GL_EXT_disjoint_timer_query
|
||||
GO(glGenQueriesEXT, vFlp)
|
||||
GO(glDeleteQueriesEXT, vFlp)
|
||||
GO(glIsQueryEXT, iFu)
|
||||
GO(glBeginQueryEXT, vFuu)
|
||||
GO(glEndQueryEXT, vFu)
|
||||
GO(glQueryCounterEXT, vFuu)
|
||||
GO(glGetQueryivEXT, vFuup)
|
||||
GO(glGetQueryObjectivEXT, vFuup)
|
||||
GO(glGetQueryObjectuivEXT, vFuup)
|
||||
GO(glGetQueryObjecti64vEXT, vFuup)
|
||||
GO(glGetQueryObjectui64vEXT, vFuup)
|
||||
GO(glGetInteger64vEXT, vFup)
|
||||
|
||||
// GL_OES_mapbuffer
|
||||
GO(glGetBufferPointervOES, vFuup)
|
||||
GO(glMapBufferOES, pFuu)
|
||||
GO(glUnmapBufferOES, iFu)
|
||||
|
Loading…
x
Reference in New Issue
Block a user