Added a bunch of NV and SGIX extentions to wrapped GL (should help run HumandRessouceMachine with NVidia card #2)

This commit is contained in:
ptitSeb 2019-03-02 15:51:17 +01:00
parent a5562ea8bd
commit 3dd188dedd
3 changed files with 42 additions and 0 deletions

View File

@ -2826,15 +2826,27 @@ GO(glBlendFuncSeparatei,vFuuuuu)
GO(glBlendFunci,vFuuu)
GO(glMinSampleShading,vFf)
//GL_KTX_buffer_region
GO(glBufferRegionEnabled,uFv)
GO(glNewBufferRegion,uFi)
GO(glDeleteBufferRegion,vFi)
GO(glReadBufferRegion,vFuiiii)
GO(glDrawBufferRegion,vFuiiiiii)
//glx
GO(glXBindHyperpipeSGIX,iFpi)
GO(glXBindTexImageEXT, vFppip)
GO(glXBindSwapBarrierNV, iFpuu)
GO(glXBindSwapBarrierSGIX,vFii)
GO(glXBindVideoCaptureDeviceNV, iFpup)
GO(glXBindVideoDeviceNV, iFpuup)
GO(glXBindVideoImageNV, iFpppi)
GO(glXChangeDrawableAttributes,vFp)
GO(glXChangeDrawableAttributesSGIX,vFp)
GO(glXClientInfo,vFv)
GO(glXCopyContext,vFppp)
GO(glXChooseFBConfig, pFpipp)
GO(glXChooseFBConfigSGIX, pFpipp)
GO(glXCreateContext,pFpppi)
GO(glXCreateContextAttribsARB, pFpppip)
GO(glXCreateContextWithConfigSGIX,pFppipi)
@ -2847,6 +2859,7 @@ GO(glXCreatePbuffer,pFpp)
GO(glXCreatePixmap,pFppp)
GO(glXCreateWindow,pFpppp)
GO(glXChooseVisual, pFpip)
GO(glXCopyImageSubDataNV, vFppuiiiiipuiiiiiiii)
GO(glXCopySubBufferMESA, vFppiiii)
GO(glXDestroyContext,vFpp)
GO(glXDestroyGLXPbufferSGIX,vFpp)
@ -2856,6 +2869,8 @@ GO(glXDestroyHyperpipeConfigSGIX,iFpi)
GO(glXDestroyPbuffer,vFp)
GO(glXDestroyPixmap,vFp)
GO(glXDestroyWindow,vFp)
GO(glXEnumerateVideoCaptureDevicesNV, pFpip)
GO(glXEnumerateVideoDevicesNV, pFpip)
GO(glXFreeContextEXT, vFpp)
GO(glXGetClientString, pFpi)
GO(glXGetContextIDEXT, uFp)
@ -2866,16 +2881,25 @@ GO(glXGetDrawableAttributes,vFi)
GO(glXGetDrawableAttributesSGIX,vFi)
GO(glXGetFBConfigs,pFpip)
GO(glXGetFBConfigAttrib, iFppip)
GO(glXGetFBConfigAttribSGIX, iFppip)
GO(glXGetFBConfigFromVisualSGIX, pFpp)
GO(glXGetFBConfigsSGIX,pFpip)
GO(glXGetSelectedEvent, vFppp)
GO(glXGetSelectedEventSGIX, vFppp)
GO(glXGetVideoDeviceNV, iFpiip)
GO(glXGetVideoInfoNV, iFpippp)
GO(glXGetVideoSyncSGI, iFp)
GO(glXGetVisualConfigs,pFpp)
GO(glXGetVisualFromFBConfig, pFpp)
GO(glXGetVisualFromFBConfigSGIX, pFpp)
GO(glXGetSwapIntervalMESA, iFv)
GO(glXHyperpipeAttribSGIX,iFpiiip)
//GO(glXHyperpipeConfigSGIX,iFpii?p)
GO(glXImportContextEXT, pFpu)
GO(glXIsDirect,iFpp)
GO(glXJoinSwapGroupNV, iFppu)
GO(glXJoinSwapGroupSGIX,vFpp)
GO(glXLockVideoCaptureDeviceNV, vFpp)
GO(glXMakeContextCurrent,iFpppp)
GO(glXMakeCurrent,iFppp)
GO(glXMakeCurrentReadSGI,iFppp)
@ -2884,17 +2908,28 @@ GO(glXQueryContextInfoEXT,iFppip)
GO(glXQueryDrawable, iFppip)
GO(glXQueryExtension, iFppp)
GO(glXQueryExtensionsString,pFpi)
GO(glXQueryFrameCountNV, iFpip)
GO(glXQueryGLXPbufferSGIX, vFppip)
GO(glXQueryHyperpipeAttribSGIX,iFpiiip)
GO(glXQueryHyperpipeBestAttribSGIX,iFpiiipp)
GO(glXQueryHyperpipeConfigSGIX,pFpip)
GO(glXQueryHyperpipeNetworkSGIX,pFpp)
GO(glXQueryMaxSwapBarriersSGIX,pFpp) //?
GO(glXQueryMaxSwapGroupsNV, iFpipp)
GO(glXQueryServerString,pFpii)
GO(glXQuerySwapGroupNV, iFpipp)
GO(glXQueryVersion,iFppp)
GO(glXQueryVideoCaptureDeviceNV, iFppip)
GO(glXReleaseTexImageEXT, vFppi)
GO(glXReleaseVideoCaptureDeviceNV, vFpp)
GO(glXReleaseVideoDeviceNV, iFpip)
GO(glXReleaseVideoImageNV, iFpp)
//GO(glXRender,vFv)
//GO(glXRenderLarge,vFv)
GO(glXResetFrameCountNV, iFpi)
GO(glXSelectEvent, vFppu)
GO(glXSelectEventSGIX, vFppu)
GO(glXSendPbufferToVideoNV, iFppipi)
GO(glXSwapBuffers,vFpp)
GO(glXSwapIntervalEXT,pFppi)
GO(glXSwapIntervalMESA,iFi)
@ -2903,6 +2938,7 @@ GO(glXUseXFont,vFpiii)
//GO(glXVendorPrivate,vFv)
//GO(glXVendorPrivateWithReply,vFv)
GO(glXWaitGL,vFv)
GO(glXWaitVideoSyncSGI, iFiip)
GO(glXWaitX,vFv)
GOM(glXGetProcAddress, pFEp)

View File

@ -479,6 +479,7 @@ typedef int32_t (*iFpiiuu_t)(void*, int32_t, int32_t, uint32_t, uint32_t);
typedef int32_t (*iFpiipp_t)(void*, int32_t, int32_t, void*, void*);
typedef int32_t (*iFpipii_t)(void*, int32_t, void*, int32_t, int32_t);
typedef int32_t (*iFpippi_t)(void*, int32_t, void*, void*, int32_t);
typedef int32_t (*iFpippp_t)(void*, int32_t, void*, void*, void*);
typedef int32_t (*iFpCCCC_t)(void*, uint8_t, uint8_t, uint8_t, uint8_t);
typedef int32_t (*iFpuuui_t)(void*, uint32_t, uint32_t, uint32_t, int32_t);
typedef int32_t (*iFppiip_t)(void*, void*, int32_t, int32_t, void*);
@ -806,6 +807,7 @@ typedef void (*vFuddiiddiiddiip_t)(uint32_t, double, double, int32_t, int32_t, d
typedef void (*vFuuiiiiuuiiiiiii_t)(uint32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t);
typedef void (*vFfffffffffffffff_t)(float, float, float, float, float, float, float, float, float, float, float, float, float, float, float);
typedef uint32_t (*uFpppppppppppppppp_t)(void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*);
typedef void (*vFppuiiiiipuiiiiiiii_t)(void*, void*, uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, void*, uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t);
void iF(x86emu_t *emu, uintptr_t fcn) { iF_t fn = (iF_t)fcn; R_EAX=fn(); }
void vFE(x86emu_t *emu, uintptr_t fcn) { vFE_t fn = (vFE_t)fcn; fn(emu); }
void vFv(x86emu_t *emu, uintptr_t fcn) { vFv_t fn = (vFv_t)fcn; fn(); }
@ -1262,6 +1264,7 @@ void iFpiiuu(x86emu_t *emu, uintptr_t fcn) { iFpiiuu_t fn = (iFpiiuu_t)fcn; R_EA
void iFpiipp(x86emu_t *emu, uintptr_t fcn) { iFpiipp_t fn = (iFpiipp_t)fcn; R_EAX=fn(*(void**)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(void**)(R_ESP + 16), *(void**)(R_ESP + 20)); }
void iFpipii(x86emu_t *emu, uintptr_t fcn) { iFpipii_t fn = (iFpipii_t)fcn; R_EAX=fn(*(void**)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(void**)(R_ESP + 12), *(int32_t*)(R_ESP + 16), *(int32_t*)(R_ESP + 20)); }
void iFpippi(x86emu_t *emu, uintptr_t fcn) { iFpippi_t fn = (iFpippi_t)fcn; R_EAX=fn(*(void**)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(void**)(R_ESP + 12), *(void**)(R_ESP + 16), *(int32_t*)(R_ESP + 20)); }
void iFpippp(x86emu_t *emu, uintptr_t fcn) { iFpippp_t fn = (iFpippp_t)fcn; R_EAX=fn(*(void**)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(void**)(R_ESP + 12), *(void**)(R_ESP + 16), *(void**)(R_ESP + 20)); }
void iFpCCCC(x86emu_t *emu, uintptr_t fcn) { iFpCCCC_t fn = (iFpCCCC_t)fcn; R_EAX=fn(*(void**)(R_ESP + 4), *(uint8_t*)(R_ESP + 8), *(uint8_t*)(R_ESP + 12), *(uint8_t*)(R_ESP + 16), *(uint8_t*)(R_ESP + 20)); }
void iFpuuui(x86emu_t *emu, uintptr_t fcn) { iFpuuui_t fn = (iFpuuui_t)fcn; R_EAX=fn(*(void**)(R_ESP + 4), *(uint32_t*)(R_ESP + 8), *(uint32_t*)(R_ESP + 12), *(uint32_t*)(R_ESP + 16), *(int32_t*)(R_ESP + 20)); }
void iFppiip(x86emu_t *emu, uintptr_t fcn) { iFppiip_t fn = (iFppiip_t)fcn; R_EAX=fn(*(void**)(R_ESP + 4), *(void**)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(int32_t*)(R_ESP + 16), *(void**)(R_ESP + 20)); }
@ -1589,6 +1592,7 @@ void vFuddiiddiiddiip(x86emu_t *emu, uintptr_t fcn) { vFuddiiddiiddiip_t fn = (v
void vFuuiiiiuuiiiiiii(x86emu_t *emu, uintptr_t fcn) { vFuuiiiiuuiiiiiii_t fn = (vFuuiiiiuuiiiiiii_t)fcn; fn(*(uint32_t*)(R_ESP + 4), *(uint32_t*)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(int32_t*)(R_ESP + 16), *(int32_t*)(R_ESP + 20), *(int32_t*)(R_ESP + 24), *(uint32_t*)(R_ESP + 28), *(uint32_t*)(R_ESP + 32), *(int32_t*)(R_ESP + 36), *(int32_t*)(R_ESP + 40), *(int32_t*)(R_ESP + 44), *(int32_t*)(R_ESP + 48), *(int32_t*)(R_ESP + 52), *(int32_t*)(R_ESP + 56), *(int32_t*)(R_ESP + 60)); }
void vFfffffffffffffff(x86emu_t *emu, uintptr_t fcn) { vFfffffffffffffff_t fn = (vFfffffffffffffff_t)fcn; fn(*(float*)(R_ESP + 4), *(float*)(R_ESP + 8), *(float*)(R_ESP + 12), *(float*)(R_ESP + 16), *(float*)(R_ESP + 20), *(float*)(R_ESP + 24), *(float*)(R_ESP + 28), *(float*)(R_ESP + 32), *(float*)(R_ESP + 36), *(float*)(R_ESP + 40), *(float*)(R_ESP + 44), *(float*)(R_ESP + 48), *(float*)(R_ESP + 52), *(float*)(R_ESP + 56), *(float*)(R_ESP + 60)); }
void uFpppppppppppppppp(x86emu_t *emu, uintptr_t fcn) { uFpppppppppppppppp_t fn = (uFpppppppppppppppp_t)fcn; R_EAX=(uint32_t)fn(*(void**)(R_ESP + 4), *(void**)(R_ESP + 8), *(void**)(R_ESP + 12), *(void**)(R_ESP + 16), *(void**)(R_ESP + 20), *(void**)(R_ESP + 24), *(void**)(R_ESP + 28), *(void**)(R_ESP + 32), *(void**)(R_ESP + 36), *(void**)(R_ESP + 40), *(void**)(R_ESP + 44), *(void**)(R_ESP + 48), *(void**)(R_ESP + 52), *(void**)(R_ESP + 56), *(void**)(R_ESP + 60), *(void**)(R_ESP + 64)); }
void vFppuiiiiipuiiiiiiii(x86emu_t *emu, uintptr_t fcn) { vFppuiiiiipuiiiiiiii_t fn = (vFppuiiiiipuiiiiiiii_t)fcn; fn(*(void**)(R_ESP + 4), *(void**)(R_ESP + 8), *(uint32_t*)(R_ESP + 12), *(int32_t*)(R_ESP + 16), *(int32_t*)(R_ESP + 20), *(int32_t*)(R_ESP + 24), *(int32_t*)(R_ESP + 28), *(int32_t*)(R_ESP + 32), *(void**)(R_ESP + 36), *(uint32_t*)(R_ESP + 40), *(int32_t*)(R_ESP + 44), *(int32_t*)(R_ESP + 48), *(int32_t*)(R_ESP + 52), *(int32_t*)(R_ESP + 56), *(int32_t*)(R_ESP + 60), *(int32_t*)(R_ESP + 64), *(int32_t*)(R_ESP + 68), *(int32_t*)(R_ESP + 72)); }
void iFEpvvpp(x86emu_t *emu, uintptr_t fcn) { iFEppp_t fn = (iFEppp_t)fcn; R_EAX=fn(emu, *(void**)(R_ESP + 4), *(void**)(R_ESP + 16), *(void**)(R_ESP + 20)); }
void iFEvpVV(x86emu_t *emu, uintptr_t fcn) { iFEpVV_t fn = (iFEpVV_t)fcn; R_EAX=fn(emu, *(void**)(R_ESP + 8), (void*)(R_ESP + 12), (void*)(R_ESP + 12)); }
void iFEv(x86emu_t *emu, uintptr_t fcn) { iFE_t fn = (iFE_t)fcn; R_EAX=fn(emu); }

View File

@ -478,6 +478,7 @@ void iFpiiuu(x86emu_t *emu, uintptr_t fnc);
void iFpiipp(x86emu_t *emu, uintptr_t fnc);
void iFpipii(x86emu_t *emu, uintptr_t fnc);
void iFpippi(x86emu_t *emu, uintptr_t fnc);
void iFpippp(x86emu_t *emu, uintptr_t fnc);
void iFpCCCC(x86emu_t *emu, uintptr_t fnc);
void iFpuuui(x86emu_t *emu, uintptr_t fnc);
void iFppiip(x86emu_t *emu, uintptr_t fnc);
@ -805,6 +806,7 @@ void vFuddiiddiiddiip(x86emu_t *emu, uintptr_t fnc);
void vFuuiiiiuuiiiiiii(x86emu_t *emu, uintptr_t fnc);
void vFfffffffffffffff(x86emu_t *emu, uintptr_t fnc);
void uFpppppppppppppppp(x86emu_t *emu, uintptr_t fnc);
void vFppuiiiiipuiiiiiiii(x86emu_t *emu, uintptr_t fnc);
void iFEpvvpp(x86emu_t *emu, uintptr_t fnc);
void iFEvpVV(x86emu_t *emu, uintptr_t fnc);
void iFEv(x86emu_t *emu, uintptr_t fnc);