mirror of
https://github.com/ptitSeb/box86.git
synced 2026-11-07 17:43:14 -10:00
Compare commits
22
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
891593c1c9 | ||
|
|
b43e4acc3e | ||
|
|
9cbc531502 | ||
|
|
41c9d92593 | ||
|
|
c2a782839d | ||
|
|
e7653bdda8 | ||
|
|
00a2b44be3 | ||
|
|
bb2d5d43cd | ||
|
|
97aae9521b | ||
|
|
9f2745ad53 | ||
|
|
ec4783bb6f | ||
|
|
5760c04de4 | ||
|
|
4250c61e0f | ||
|
|
c16317850a | ||
|
|
3d325747a5 | ||
|
|
21abac8b06 | ||
|
|
89f05a35e3 | ||
|
|
116e700248 | ||
|
|
db3a80b089 | ||
|
|
09b234e719 | ||
|
|
5f0ca6f03e | ||
|
|
bf3da2d1b5 |
No files matched your search
@@ -1,3 +1,22 @@
|
||||
v0.2.8
|
||||
======
|
||||
* Wrapped more vulkan function, dxvk 2.0 now works
|
||||
* Added support for overriden malloc/free functions
|
||||
* Improved elf loader
|
||||
* Improved dlsym handling with RTLD_NEXT
|
||||
* Added BOX86_DYNAREC_SAFEFLAGS to allow finetuning Dynarec generated code handling of flags accross function calls and returns.
|
||||
* Added BOX86_BASH to setup x86 bash binary, so shell script can be run in x86 world
|
||||
* Added BOX86_ROLLING_LOG to have details log only on crash
|
||||
* Improved TLS Size handling (Unity3D games now works)
|
||||
* Improved `execv` family of function to have better box86 integration
|
||||
* Added a few more wrapped libs, like FAudio
|
||||
* Improved gtk, SDL2, GL, vulkan (and more) wrapping
|
||||
* Improved Signal Handling and memory protection traking
|
||||
* Added some basic support for statically linked program. Thread are not working yet, but memory allocation and file access does.
|
||||
=> with the use of the new SafeFlags, some C# Windows program now runs fine (it's forced when the Vara family of software is detected)
|
||||
=> With the basic support of statcaly linked program, old emulator like modeler for linux works. Program with threads like mugen for linux still doesn't
|
||||
=> The bash integration is usefull for device with no binfmt integration or for script that check the machine it's running on
|
||||
|
||||
v0.2.6
|
||||
======
|
||||
* Added an option to get generated -NAN on SSE2 operation
|
||||
|
||||
+7
-9
@@ -12,13 +12,13 @@ Box86 lets you run x86 Linux programs (such as games) on non-x86 Linux systems,
|
||||
|
||||
You *NEED* a 32-bit subsystem to run and build Box86. Box86 is useless on 64-bit only systems. Also, you *NEED* a 32-bit toolchain to build Box86. A toolchain that only supports 64-bit will not compile Box86, and you'll get errors (typically on aarch64, you get "-marm" not recognized, and you'll need a multiarch or chroot environment).
|
||||
|
||||
Because Box86 uses the native versions of some "system" libraries, like libc, libm, SDL, and OpenGL, it's easy to integrate and use with most applications, and performance can be surprisingly high in many cases. Take a look at those bench analysis for an example [here](https://box86.org/index.php/2021/06/game-performances/).
|
||||
Because Box86 uses the native versions of some "system" libraries, like libc, libm, SDL, and OpenGL, it's easy to integrate and use with most applications, and performance can be surprisingly high in many cases. Take a look at those bench analysis for an example [here](https://box86.org/index.php/2021/06/game-performances/). That also means that you will need a 32bits userspace on 64bits OS, like `armhf` on top an ̀`aarch64` 64bits OS.
|
||||
|
||||
Most x86 Games need OpenGL, so on ARM platforms a solution like [gl4es](https://github.com/ptitSeb/gl4es) is usually necessary. (Most ARM platforms only support OpenGL ES and/or their OpenGL implementation is dodgy (see OpenGL on Android).)
|
||||
Most x86 Games need OpenGL, so on ARM platforms a solution like [gl4es](https://github.com/ptitSeb/gl4es) might be necessary. (Some ARM platforms only support OpenGL ES and/or their OpenGL implementation is dodgy (see OpenGL on Android).)
|
||||
|
||||
Box86 now integrates a DynaRec (dynamic recompiler) for the ARM platform, providing a speed boost between 5 to 10 times faster than only using the interpreter. Some high level information on how the Dynarec work can be found [here](https://box86.org/2021/07/inner-workings-a-high%e2%80%91level-view-of-box86-and-a-low%e2%80%91level-view-of-the-dynarec/).
|
||||
|
||||
Many games already work without much tweaking, for example: WorldOfGoo, Airline Tycoon Deluxe, and FTL. Many of the GameMaker Linux games also run fine. (there's a long list, among them are UNDERTALE, A Risk of Rain, and Cook Serve Delicious)
|
||||
Many games just work without much tweaking, for example: WorldOfGoo, Airline Tycoon Deluxe, and FTL. Many of the GameMaker Linux games also run fine. (there's a long list, among them are UNDERTALE, A Risk of Rain, and Cook Serve Delicious). Unity3D games also works fine, but the OpenGL requirement might be an issue on some ARM platforms.
|
||||
|
||||
If you are serious about developing Box86, you should install ccache and build Box86 with it. (Use ccmake for example.)
|
||||
To enable TRACE (i.e. dumping to stdout all individual x86 instructions executed, with dump of registers), you'll also need [Zydis library](https://github.com/zyantific/zydis) available on your system.
|
||||
@@ -56,7 +56,7 @@ There are a few environment variables to control the behaviour of Box86.
|
||||
|
||||
See [here](USAGE.md) for all environment variables and what they do.
|
||||
|
||||
Note: Box86's Dynarec uses a mechanism with Memory Protection and a SegFault signal handler to handle JIT code. In simpler terms, if you want to use GDB to debug a running program that use JIT'd code (like mono/Unity3D), you will still have many "normal" segfaults triggering. It is suggested to use something like `handle SIGSEGV nostop` in GDB to not stop at each segfault, and maybe put a breakpoint inside `my_memprotectionhandler` in `signals.c` if you want to trap SegFaults.
|
||||
Note: Box86's Dynarec uses a mechanism with Memory Protection and a SegFault signal handler to handle JIT code. In simpler terms, if you want to use GDB to debug a running program that use JIT'd code (like mono/Unity3D), you will still have many "normal" segfaults triggering. It is suggested to use something like `handle SIGSEGV nostop` in GDB to not stop at each segfault, and maybe put a breakpoint inside `my_box86signalhandler` in `signals.c` if you want to trap SegFaults.
|
||||
|
||||
----
|
||||
|
||||
@@ -79,10 +79,8 @@ If you look at a 64bits version of box86, look at [Box64](https://github.com/pti
|
||||
Notes about Unity game emulation
|
||||
----
|
||||
|
||||
Running Unity games is a hit or miss for now. Unity uses Mono (which uses signals that are not well emulated enough), and a runtime embedded in the main binary. A solution would be to use a native version of the libmono library used by Unity (it can be found here: https://github.com/Unity-Technologies/mono and needs to be built from source). But the wrapping of this lib is tricky, and not done for now, so the only solution is to emulate everything. The tricky part is to emulate the "JIT" code emitted by Mono, however with the new "protected memory" mechanism implemented it should be running with correct performance now.
|
||||
You should also note that some Unity3D games require OpenGL 3+ which can be tricky to provide on ARM SBC (single-board computers) for now.
|
||||
|
||||
TL;DR: Not all Unity games work and can require a high OpenGL profile, but the speed, for the ones running, should be correct now.
|
||||
Running Unity games shoudl generaly work now, but you should also note that many Unity3D games require OpenGL 3+ which can be tricky to provide on ARM SBC (single-board computers) for now.
|
||||
Hint: on Pi4, use `MESA_GL_VERSION_OVERRIDE=3.2` and with Panfrost use `PAN_MESA_DEBUG=gl3` to use higher profile if the game starts then quits before showing anything.
|
||||
|
||||
----
|
||||
|
||||
@@ -112,7 +110,7 @@ Note: if you plan to use box86 with Wine on Raspberry Pi 3 or earlier, those mod
|
||||
Notes about Vulkan
|
||||
----
|
||||
|
||||
Box86 already wrap Vulkan. If your system has a 32bits Vulkan driver, box86 will use it when needed. Note that Vulkan wrapping has not been tested much, due to the limited Vulkan support on the hardware I currently own. Profile 1.0 and 1.1, with some extension, should be OK. 1.2 is not really wrapped. I know some demos work on Pi4 (Sascha Willems demos build for x86 work the same as if build on armhf directly). Note that the Vulkan driver of the Pi4 DOES NOT support dxvk for now (wine DirectX->Vulkan wrapper). It's not a box86 issue, it's missing extensions (hardware support) and a few other things that make dxvk not working on pi4. On Panfrost side, PanVK is a bit young and I haven't tested dxvk with it yet.
|
||||
Box86 already wrap Vulkan. If your system has a 32bits Vulkan driver, box86 will use it when needed. Profile 1.0, 1.1, 1.2 and 1.3, with some extensions, should be OK. DXVK, including the 2.0, works. I know some demos work on Pi4 (Sascha Willems demos build for x86 work the same as if build on armhf directly). Note that the Vulkan driver of the Pi4 DOES NOT support dxvk for now (wine DirectX->Vulkan wrapper). It's not a box86 issue, it's missing extensions (hardware support) and a few other things that make dxvk not working on pi4. On Panfrost side, PanVK is a bit young and I haven't tested dxvk with it yet.
|
||||
|
||||
----
|
||||
Final word
|
||||
|
||||
+2
-1
@@ -19,7 +19,8 @@ Controls the Dump of elf content
|
||||
#### BOX86_ROLLING_LOG
|
||||
Show last few wrapped function call when a Signal is caught
|
||||
* 0: No last function call printed (Default.)
|
||||
* 1: Last few wrapped function call printed when a signal is printed. Incompatible with BOX86_LOG>1 (may need BOX86_SHOWSEGV=1 also)
|
||||
* 1: Last 16 wrapped functions calls printed when a signal is printed. Incompatible with BOX86_LOG>1 (may need BOX86_SHOWSEGV=1 also)
|
||||
* N: Last N wrapped functions calls printed when a signal is printed. Incompatible with BOX86_LOG>1 (may need BOX86_SHOWSEGV=1 also)
|
||||
|
||||
#### BOX86_NOBANNER
|
||||
Disables Box86 printing its version and build
|
||||
|
||||
+28
-10
@@ -151,6 +151,31 @@ static void atfork_child_box64context(void)
|
||||
init_mutexes(my_context);
|
||||
}
|
||||
|
||||
void freeCycleLog(box86context_t* ctx)
|
||||
{
|
||||
if(cycle_log) {
|
||||
for(int i=0; i<cycle_log; ++i) {
|
||||
box_free(ctx->log_call[i]);
|
||||
box_free(ctx->log_ret[i]);
|
||||
}
|
||||
box_free(ctx->log_call);
|
||||
box_free(ctx->log_ret);
|
||||
ctx->log_call = NULL;
|
||||
ctx->log_ret = NULL;
|
||||
}
|
||||
}
|
||||
void initCycleLog(box86context_t* context)
|
||||
{
|
||||
if(cycle_log) {
|
||||
context->log_call = (char**)box_calloc(cycle_log, sizeof(char*));
|
||||
context->log_ret = (char**)box_calloc(cycle_log, sizeof(char*));
|
||||
for(int i=0; i<cycle_log; ++i) {
|
||||
context->log_call[i] = (char*)box_calloc(256, 1);
|
||||
context->log_ret[i] = (char*)box_calloc(128, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
EXPORTDYN
|
||||
box86context_t *NewBox86Context(int argc)
|
||||
{
|
||||
@@ -163,11 +188,8 @@ box86context_t *NewBox86Context(int argc)
|
||||
// init and put default values
|
||||
box86context_t *context = my_context = (box86context_t*)box_calloc(1, sizeof(box86context_t));
|
||||
|
||||
if(cycle_log)
|
||||
for(int i=0; i<CYCLE_LOG; ++i) {
|
||||
context->log_call[i] = (char*)box_calloc(256, 1);
|
||||
context->log_ret[i] = (char*)box_calloc(128, 1);
|
||||
}
|
||||
initCycleLog(context);
|
||||
|
||||
#ifdef BUILD_LIB
|
||||
context->deferedInit = 0;
|
||||
#else
|
||||
@@ -332,11 +354,7 @@ void FreeBox86Context(box86context_t** context)
|
||||
pthread_mutex_destroy(&ctx->mutex_thread);
|
||||
pthread_mutex_destroy(&ctx->mutex_bridge);
|
||||
|
||||
if(cycle_log)
|
||||
for(int i=0; i<CYCLE_LOG; ++i) {
|
||||
box_free(ctx->log_call[i]);
|
||||
box_free(ctx->log_ret[i]);
|
||||
}
|
||||
freeCycleLog(ctx);
|
||||
|
||||
box_free(ctx);
|
||||
}
|
||||
|
||||
+1
-1
@@ -3,6 +3,6 @@
|
||||
|
||||
#define BOX86_MAJOR 0
|
||||
#define BOX86_MINOR 2
|
||||
#define BOX86_REVISION 7
|
||||
#define BOX86_REVISION 8
|
||||
|
||||
#endif //__BOX86_VERSION_H_
|
||||
+1
-1
@@ -901,7 +901,7 @@ static void* findBlockHinted(void* hint, size_t size)
|
||||
return hint;
|
||||
if(addr>=h && end-addr+1>=size)
|
||||
return (void*)addr;
|
||||
if(end>=0xc0000000 & h<0xc0000000)
|
||||
if(end>=0xc0000000 && h<0xc0000000)
|
||||
return NULL;
|
||||
m = m->next;
|
||||
}
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
#include "dynablock_private.h"
|
||||
#include "dynarec_private.h"
|
||||
#include "elfloader.h"
|
||||
#include "bridge.h"
|
||||
#ifdef ARM
|
||||
#include "dynarec_arm.h"
|
||||
#include "arm_lock_helper.h"
|
||||
@@ -312,6 +313,8 @@ void cancelFillBlock()
|
||||
*/
|
||||
static dynablock_t* internalDBGetBlock(x86emu_t* emu, uintptr_t addr, uintptr_t filladdr, int create, dynablock_t* current, int need_lock)
|
||||
{
|
||||
if(hasAlternate((void*)addr))
|
||||
return NULL;
|
||||
// try the quickest way first: get parent of current and check if ok!
|
||||
dynablocklist_t *dynablocks = NULL;
|
||||
dynablock_t* block = NULL;
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
typedef struct dynablocklist_s dynablocklist_t;
|
||||
|
||||
typedef struct instsize_s {
|
||||
unsigned int x86:4;
|
||||
unsigned int nat:4;
|
||||
unsigned char x86:4;
|
||||
unsigned char nat:4;
|
||||
} instsize_t;
|
||||
|
||||
typedef struct dynablock_s {
|
||||
|
||||
@@ -416,6 +416,15 @@ uintptr_t dynarecGS(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int ninst,
|
||||
}
|
||||
break;
|
||||
|
||||
case 0xA2:
|
||||
INST_NAME("MOV GS:Od, AL");
|
||||
grab_tlsdata(dyn, addr, ninst, x1);
|
||||
u32 = F32;
|
||||
MOV32(x2, u32);
|
||||
ADD_REG_LSL_IMM5(x2, x1, x2, 0);
|
||||
STRB_IMM9(xEAX, x2, 0);
|
||||
break;
|
||||
|
||||
case 0xA3:
|
||||
INST_NAME("MOV GS:Od, EAX");
|
||||
grab_tlsdata(dyn, addr, ninst, x1);
|
||||
|
||||
@@ -18,12 +18,12 @@ typedef struct dynablock_s dynablock_t;
|
||||
typedef union neon_cache_s {
|
||||
int8_t v;
|
||||
struct {
|
||||
unsigned int t:4; // reg type
|
||||
unsigned int n:4; // reg number
|
||||
uint8_t t:4; // reg type
|
||||
uint8_t n:4; // reg number
|
||||
};
|
||||
} neon_cache_t;
|
||||
typedef union sse_cache_s {
|
||||
int v;
|
||||
int8_t v;
|
||||
struct {
|
||||
uint8_t reg;
|
||||
uint8_t write;
|
||||
|
||||
+12
-10
@@ -383,7 +383,7 @@ int ReloadElfMemory(FILE* f, box86context_t* context, elfheader_t* head)
|
||||
// TLS data are just a copy, no need to re-load it
|
||||
return 0;
|
||||
}
|
||||
int FindR386COPYRel(elfheader_t* h, const char* name, uintptr_t *offs, uint32_t** p, int version, const char* vername)
|
||||
int FindR386COPYRel(elfheader_t* h, const char* name, uintptr_t *offs, uint32_t** p, size_t size, int version, const char* vername)
|
||||
{
|
||||
if(!h)
|
||||
return 0;
|
||||
@@ -396,7 +396,7 @@ int FindR386COPYRel(elfheader_t* h, const char* name, uintptr_t *offs, uint32_t*
|
||||
int t = ELF32_R_TYPE(rel[i].r_info);
|
||||
Elf32_Sym *sym = &h->DynSym[ELF32_R_SYM(rel[i].r_info)];
|
||||
const char* symname = SymName(h, sym);
|
||||
if(t==R_386_COPY && symname && !strcmp(symname, name)) {
|
||||
if(t==R_386_COPY && symname && !strcmp(symname, name) && sym->st_size==size) {
|
||||
int version2 = h->VerSym?((Elf32_Half*)((uintptr_t)h->VerSym+h->delta))[ELF32_R_SYM(rel[i].r_info)]:-1;
|
||||
if(version2!=-1) version2 &= 0x7fff;
|
||||
if(version && !version2) version2=-1; // match a versionned symbol against a global "local" symbol
|
||||
@@ -416,7 +416,7 @@ int FindR386COPYRel(elfheader_t* h, const char* name, uintptr_t *offs, uint32_t*
|
||||
int t = ELF32_R_TYPE(rela[i].r_info);
|
||||
Elf32_Sym *sym = &h->DynSym[ELF32_R_SYM(rela[i].r_info)];
|
||||
const char* symname = SymName(h, sym);
|
||||
if(t==R_386_COPY && symname && !strcmp(symname, name)) {
|
||||
if(t==R_386_COPY && symname && !strcmp(symname, name) && sym->st_size==size) {
|
||||
int version2 = h->VerSym?((Elf32_Half*)((uintptr_t)h->VerSym+h->delta))[ELF32_R_SYM(rela[i].r_info)]:-1;
|
||||
if(version2!=-1) version2 &= 0x7fff;
|
||||
if(version && !version2) version2=-1; // match a versionned symbol against a global "local" symbol
|
||||
@@ -444,6 +444,7 @@ int RelocateElfREL(lib_t *maplib, lib_t *local_maplib, int bindnow, elfheader_t*
|
||||
uint32_t *p = (uint32_t*)(rel[i].r_offset + head->delta);
|
||||
uintptr_t offs = 0;
|
||||
uintptr_t end = 0;
|
||||
size_t size = sym->st_size;
|
||||
elfheader_t* h_tls = NULL;//head;
|
||||
int version = head->VerSym?((Elf32_Half*)((uintptr_t)head->VerSym+head->delta))[ELF32_R_SYM(rel[i].r_info)]:-1;
|
||||
if(version!=-1) version &=0x7fff;
|
||||
@@ -494,11 +495,11 @@ int RelocateElfREL(lib_t *maplib, lib_t *local_maplib, int bindnow, elfheader_t*
|
||||
globoffs = offs;
|
||||
globend = end;
|
||||
offs = end = 0;
|
||||
GetSymbolStartEnd(GetGlobalData(maplib), symname, &offs, &end, version, vername, 1, defver); // try globaldata symbols first
|
||||
GetSizedSymbolStartEnd(GetGlobalData(maplib), symname, &offs, &end, size, version, vername, 1, defver); // try globaldata symbols first
|
||||
if(!offs && local_maplib)
|
||||
GetNoSelfSymbolStartEnd(local_maplib, symname, &offs, &end, head, version, vername);
|
||||
GetNoSelfSymbolStartEnd(local_maplib, symname, &offs, &end, head, size, version, vername);
|
||||
if(!offs)
|
||||
GetNoSelfSymbolStartEnd(maplib, symname, &offs, &end, head, version, vername);
|
||||
GetNoSelfSymbolStartEnd(maplib, symname, &offs, &end, head, size, version, vername);
|
||||
if(!offs) {offs = globoffs; end = globend;}
|
||||
if(offs) {
|
||||
// add r_addend to p?
|
||||
@@ -510,7 +511,7 @@ int RelocateElfREL(lib_t *maplib, lib_t *local_maplib, int bindnow, elfheader_t*
|
||||
}
|
||||
break;
|
||||
case R_386_GLOB_DAT:
|
||||
if(head!=my_context->elfs[0] && !IsGlobalNoWeakSymbolInNative(maplib, symname, version, vername) && FindR386COPYRel(my_context->elfs[0], symname, &globoffs, &globp, version, vername)) {
|
||||
if(head!=my_context->elfs[0] && !IsGlobalNoWeakSymbolInNative(maplib, symname, version, vername) && FindR386COPYRel(my_context->elfs[0], symname, &globoffs, &globp, size, version, vername)) {
|
||||
// set global offs / size for the symbol
|
||||
offs = sym->st_value + head->delta;
|
||||
end = offs + sym->st_size;
|
||||
@@ -685,6 +686,7 @@ int RelocateElfRELA(lib_t *maplib, lib_t *local_maplib, int bindnow, elfheader_t
|
||||
uint32_t *p = (uint32_t*)(rela[i].r_offset + head->delta);
|
||||
uintptr_t offs = 0;
|
||||
uintptr_t end = 0;
|
||||
size_t size = sym->st_size;
|
||||
elfheader_t* h_tls = NULL;//head;
|
||||
int version = head->VerSym?((Elf32_Half*)((uintptr_t)head->VerSym+head->delta))[ELF32_R_SYM(rela[i].r_info)]:-1;
|
||||
if(version!=-1) version &=0x7fff;
|
||||
@@ -736,9 +738,9 @@ int RelocateElfRELA(lib_t *maplib, lib_t *local_maplib, int bindnow, elfheader_t
|
||||
offs = end = 0;
|
||||
GetSymbolStartEnd(GetGlobalData(maplib), symname, &offs, &end, version, vername, 1, defver); // try globaldata symbols first
|
||||
if(!offs && local_maplib)
|
||||
GetNoSelfSymbolStartEnd(local_maplib, symname, &offs, &end, head, version, vername);
|
||||
GetNoSelfSymbolStartEnd(local_maplib, symname, &offs, &end, head, size, version, vername);
|
||||
if(!offs)
|
||||
GetNoSelfSymbolStartEnd(maplib, symname, &offs, &end, head, version, vername);
|
||||
GetNoSelfSymbolStartEnd(maplib, symname, &offs, &end, head, size, version, vername);
|
||||
if(!offs) {offs = globoffs; end = globend;}
|
||||
if(offs) {
|
||||
// add r_addend to p?
|
||||
@@ -750,7 +752,7 @@ int RelocateElfRELA(lib_t *maplib, lib_t *local_maplib, int bindnow, elfheader_t
|
||||
}
|
||||
break;
|
||||
case R_386_GLOB_DAT:
|
||||
if(head!=my_context->elfs[0] && !IsGlobalNoWeakSymbolInNative(maplib, symname, version, vername) && FindR386COPYRel(my_context->elfs[0], symname, &globoffs, &globp, version, vername)) {
|
||||
if(head!=my_context->elfs[0] && !IsGlobalNoWeakSymbolInNative(maplib, symname, version, vername) && FindR386COPYRel(my_context->elfs[0], symname, &globoffs, &globp, size, version, vername)) {
|
||||
// set global offs / size for the symbol
|
||||
offs = sym->st_value + head->delta;
|
||||
end = offs + sym->st_size;
|
||||
|
||||
+23
-7
@@ -94,7 +94,7 @@ void x86Int3(x86emu_t* emu)
|
||||
char* buffret = cycle_log?my_context->log_ret[my_context->current_line]:NULL;
|
||||
if(buffret) buffret[0] = '\0';
|
||||
if(cycle_log)
|
||||
my_context->current_line = (my_context->current_line+1)&(CYCLE_LOG-1);
|
||||
my_context->current_line = (my_context->current_line+1)%cycle_log;
|
||||
char *tmp;
|
||||
int post = 0;
|
||||
int perr = 0;
|
||||
@@ -294,9 +294,11 @@ void x86Int3(x86emu_t* emu)
|
||||
} else {
|
||||
snprintf(buff, 255, "%04d|%p: Calling %s (%08X, %08X, %08X...)", tid, *(void**)(R_ESP), s, *(uint32_t*)(R_ESP+4), *(uint32_t*)(R_ESP+8), *(uint32_t*)(R_ESP+12));
|
||||
}
|
||||
pthread_mutex_lock(&emu->context->mutex_trace);
|
||||
if(!cycle_log) printf_log(LOG_NONE, "%s =>", buff);
|
||||
pthread_mutex_unlock(&emu->context->mutex_trace);
|
||||
if(!cycle_log) {
|
||||
pthread_mutex_lock(&emu->context->mutex_trace);
|
||||
printf_log(LOG_NONE, "%s =>", buff);
|
||||
pthread_mutex_unlock(&emu->context->mutex_trace);
|
||||
}
|
||||
w(emu, addr); // some function never come back, so unlock the mutex first!
|
||||
if(post)
|
||||
switch(post) {
|
||||
@@ -325,12 +327,13 @@ void x86Int3(x86emu_t* emu)
|
||||
snprintf(buff3, 63, " (errno=%d:\"%s\")", errno, strerror(errno));
|
||||
else if(perr==3 && ((int)R_EAX)==-1)
|
||||
snprintf(buff3, 63, " (errno=%d:\"%s\")", errno, strerror(errno));
|
||||
pthread_mutex_lock(&emu->context->mutex_trace);
|
||||
if(cycle_log)
|
||||
snprintf(buffret, 127, "0x%X%s%s", R_EAX, buff2, buff3);
|
||||
else
|
||||
else {
|
||||
pthread_mutex_lock(&emu->context->mutex_trace);
|
||||
printf_log(LOG_NONE, " return 0x%08X%s%s\n", R_EAX, buff2, buff3);
|
||||
pthread_mutex_unlock(&emu->context->mutex_trace);
|
||||
pthread_mutex_unlock(&emu->context->mutex_trace);
|
||||
}
|
||||
} else
|
||||
w(emu, addr);
|
||||
}
|
||||
@@ -346,4 +349,17 @@ void x86Int3(x86emu_t* emu)
|
||||
int GetTID()
|
||||
{
|
||||
return syscall(SYS_gettid);
|
||||
}
|
||||
|
||||
void print_cycle_log(int loglevel) {
|
||||
if(cycle_log) {
|
||||
printf_log(LOG_INFO, "Last calls\n");
|
||||
int j = (my_context->current_line+1)%cycle_log;
|
||||
for (int i=0; i<cycle_log; ++i) {
|
||||
int k = (i+j)%cycle_log;
|
||||
if(my_context->log_call[k][0]) {
|
||||
printf_log(loglevel, "%s => return %s\n", my_context->log_call[k], my_context->log_ret[k]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -136,7 +136,7 @@ static int sizeDTS(box86context_t* context)
|
||||
}
|
||||
static int sizeTLSData(int s)
|
||||
{
|
||||
uint32_t mask = box86_nogtk?0xffff:0x1fff;
|
||||
uint32_t mask = 0xffff/*box64_nogtk?0xffff:0x1fff*/; // x86 does the mapping per 64K blocks, so it makes sense to have it this large
|
||||
return (s+mask)&~mask;
|
||||
}
|
||||
|
||||
|
||||
@@ -40,7 +40,6 @@ typedef void* (*procaddess_t)(const char* name);
|
||||
typedef void* (*vkprocaddess_t)(void* instance, const char* name);
|
||||
|
||||
#define MAX_SIGNAL 64
|
||||
#define CYCLE_LOG 16
|
||||
|
||||
typedef struct tlsdatasize_s {
|
||||
int tlssize;
|
||||
@@ -188,8 +187,8 @@ typedef struct box86context_s {
|
||||
int stack_clone_used;
|
||||
|
||||
// rolling logs
|
||||
char* log_call[CYCLE_LOG];
|
||||
char* log_ret[CYCLE_LOG];
|
||||
char* *log_call;
|
||||
char* *log_ret;
|
||||
int current_line;
|
||||
} box86context_t;
|
||||
|
||||
@@ -198,6 +197,11 @@ extern box86context_t *my_context; // global context
|
||||
box86context_t *NewBox86Context(int argc);
|
||||
void FreeBox86Context(box86context_t** context);
|
||||
|
||||
// Cycle log handling
|
||||
void freeCycleLog(box86context_t* ctx);
|
||||
void initCycleLog(box86context_t* context);
|
||||
void print_cycle_log(int loglevel);
|
||||
|
||||
// return the index of the added header
|
||||
int AddElfHeader(box86context_t* ctx, elfheader_t* head);
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@ int AddNeededLib(lib_t* maplib, needed_libs_t* neededlibs, library_t* deplib, in
|
||||
library_t* GetLibMapLib(lib_t* maplib, const char* name);
|
||||
library_t* GetLibInternal(const char* name);
|
||||
uintptr_t FindGlobalSymbol(lib_t *maplib, const char* name, int version, const char* vername);
|
||||
int GetNoSelfSymbolStartEnd(lib_t *maplib, const char* name, uintptr_t* start, uintptr_t* end, elfheader_t* self, int version, const char* vername);
|
||||
int GetNoSelfSymbolStartEnd(lib_t *maplib, const char* name, uintptr_t* start, uintptr_t* end, elfheader_t* self, size_t size, int version, const char* vername);
|
||||
int GetGlobalSymbolStartEnd(lib_t *maplib, const char* name, uintptr_t* start, uintptr_t* end, elfheader_t *self, int version, const char* vername);
|
||||
int GetGlobalNoWeakSymbolStartEnd(lib_t *maplib, const char* name, uintptr_t* start, uintptr_t* end, int version, const char* vername);
|
||||
int GetLocalSymbolStartEnd(lib_t *maplib, const char* name, uintptr_t* start, uintptr_t* end, elfheader_t *self, int version, const char* vername);
|
||||
|
||||
@@ -24,9 +24,9 @@ void Free1Library(library_t **lib, x86emu_t* emu);
|
||||
|
||||
char* GetNameLib(library_t *lib);
|
||||
int IsSameLib(library_t* lib, const char* path); // check if lib is same (path -> name)
|
||||
int GetLibGlobalSymbolStartEnd(library_t* lib, const char* name, uintptr_t* start, uintptr_t* end, int *weak, int version, const char* vername, int local);
|
||||
int GetLibWeakSymbolStartEnd(library_t* lib, const char* name, uintptr_t* start, uintptr_t* end, int* weak, int version, const char* vername, int local);
|
||||
int GetLibLocalSymbolStartEnd(library_t* lib, const char* name, uintptr_t* start, uintptr_t* end, int* weak, int version, const char* vername, int local);
|
||||
int GetLibGlobalSymbolStartEnd(library_t* lib, const char* name, uintptr_t* start, uintptr_t* end, size_t size, int *weak, int version, const char* vername, int local);
|
||||
int GetLibWeakSymbolStartEnd(library_t* lib, const char* name, uintptr_t* start, uintptr_t* end, size_t size, int* weak, int version, const char* vername, int local);
|
||||
int GetLibLocalSymbolStartEnd(library_t* lib, const char* name, uintptr_t* start, uintptr_t* end, size_t size, int* weak, int version, const char* vername, int local);
|
||||
void fillGLProcWrapper(box86context_t* context);
|
||||
void freeGLProcWrapper(box86context_t* context);
|
||||
void fillALProcWrapper(box86context_t* context);
|
||||
|
||||
@@ -18,6 +18,7 @@ uintptr_t FindSymbol(kh_mapsymbols_t *mapsymbols, const char* name, int ver, con
|
||||
// don't add if already there
|
||||
void AddUniqueSymbol(kh_mapsymbols_t *mapsymbols, const char* name, uintptr_t addr, uint32_t sz, int ver, const char* vername);
|
||||
int GetSymbolStartEnd(kh_mapsymbols_t* mapsymbols, const char* name, uintptr_t* start, uintptr_t* end, int ver, const char* vername, int local, const char* defver);
|
||||
int GetSizedSymbolStartEnd(kh_mapsymbols_t* mapsymbols, const char* name, uintptr_t* start, uintptr_t* end, size_t size, int ver, const char* vername, int local, const char* defver);
|
||||
const char* GetSymbolName(kh_mapsymbols_t* mapsymbols, void* p, uintptr_t* offs, uint32_t* sz, const char** vername);
|
||||
|
||||
// default version handling
|
||||
|
||||
@@ -7,7 +7,7 @@ typedef struct box86context_s box86context_t;
|
||||
|
||||
typedef int (*wrappedlib_init_t)(library_t * lib, box86context_t* box86); // 0 = success
|
||||
typedef void (*wrappedlib_fini_t)(library_t * lib);
|
||||
typedef int (*wrappedlib_get_t)(library_t* lib, const char* name, uintptr_t *offs, uint32_t *sz, int* weak, int version, const char* vername, int local);
|
||||
typedef int (*wrappedlib_get_t)(library_t* lib, const char* name, uintptr_t *offs, uint32_t *sz, size_t size, int* weak, int version, const char* vername, int local);
|
||||
|
||||
void setNeededLibs(library_t* lib, int n, ...);
|
||||
#define SETALT(A) lib->w.altmy = box_strdup(#A)
|
||||
|
||||
+20
-15
@@ -385,7 +385,7 @@ static int isLocal(elfheader_t* self, library_t* l)
|
||||
return 0;
|
||||
}
|
||||
|
||||
int GetNoSelfSymbolStartEnd(lib_t *maplib, const char* name, uintptr_t* start, uintptr_t* end, elfheader_t* self, int version, const char* vername)
|
||||
int GetNoSelfSymbolStartEnd(lib_t *maplib, const char* name, uintptr_t* start, uintptr_t* end, elfheader_t* self, size_t size, int version, const char* vername)
|
||||
{
|
||||
assert(self); // need self for this one
|
||||
//search for the self, to start "next"
|
||||
@@ -399,13 +399,13 @@ int GetNoSelfSymbolStartEnd(lib_t *maplib, const char* name, uintptr_t* start, u
|
||||
go = 0; // not found...
|
||||
for(int i=go; i<maplib->libsz; ++i) {
|
||||
if(GetElfIndex(maplib->libraries[i])==-1 || (my_context->elfs[GetElfIndex(maplib->libraries[i])]!=self))
|
||||
if(GetLibGlobalSymbolStartEnd(maplib->libraries[i], name, start, end, &weak, version, vername, 0))
|
||||
if(GetLibGlobalSymbolStartEnd(maplib->libraries[i], name, start, end, size, &weak, version, vername, 0))
|
||||
if(*start)
|
||||
return 1;
|
||||
}
|
||||
for(int i=go; i<maplib->libsz; ++i)
|
||||
if(GetElfIndex(maplib->libraries[i])==-1 || (my_context->elfs[GetElfIndex(maplib->libraries[i])]!=self))
|
||||
GetLibWeakSymbolStartEnd(maplib->libraries[i], name, start, end, &weak, version, vername, 0);
|
||||
GetLibWeakSymbolStartEnd(maplib->libraries[i], name, start, end, size, &weak, version, vername, 0);
|
||||
// loop done, weak symbol found
|
||||
if(weak && *start)
|
||||
return 1;
|
||||
@@ -413,23 +413,23 @@ int GetNoSelfSymbolStartEnd(lib_t *maplib, const char* name, uintptr_t* start, u
|
||||
if(self) {
|
||||
if(my_context->elfs[0]!=self) {
|
||||
const char* defver = GetDefaultVersion(my_context->globaldefver, name);
|
||||
if(GetSymbolStartEnd(GetMapSymbols(my_context->elfs[0]), name, start, end, version, vername, 1, defver))
|
||||
if(GetSizedSymbolStartEnd(GetMapSymbols(my_context->elfs[0]), name, start, end, size, version, vername, 1, defver))
|
||||
if(*start)
|
||||
return 1;
|
||||
defver = GetDefaultVersion(my_context->weakdefver, name);
|
||||
if(GetSymbolStartEnd(GetWeakSymbols(my_context->elfs[0]), name, start, end, version, vername, 1, defver))
|
||||
if(GetSizedSymbolStartEnd(GetWeakSymbols(my_context->elfs[0]), name, start, end, size, version, vername, 1, defver))
|
||||
if(*start)
|
||||
weak = 1;
|
||||
}
|
||||
for(int i=0; i<go; ++i) {
|
||||
if(GetElfIndex(maplib->libraries[i])==-1 || (my_context->elfs[GetElfIndex(maplib->libraries[i])]!=self))
|
||||
if(GetLibGlobalSymbolStartEnd(maplib->libraries[i], name, start, end, &weak, version, vername, 1))
|
||||
if(GetLibGlobalSymbolStartEnd(maplib->libraries[i], name, start, end, size, &weak, version, vername, 1))
|
||||
if(*start)
|
||||
return 1;
|
||||
}
|
||||
for(int i=0; i<go; ++i) {
|
||||
if(GetElfIndex(maplib->libraries[i])==-1 || (my_context->elfs[GetElfIndex(maplib->libraries[i])]!=self))
|
||||
GetLibWeakSymbolStartEnd(maplib->libraries[i], name, start, end, &weak, version, vername, 1);
|
||||
GetLibWeakSymbolStartEnd(maplib->libraries[i], name, start, end, size, &weak, version, vername, 1);
|
||||
}
|
||||
if(weak && *start)
|
||||
return 1;
|
||||
@@ -440,6 +440,7 @@ int GetNoSelfSymbolStartEnd(lib_t *maplib, const char* name, uintptr_t* start, u
|
||||
static int GetGlobalSymbolStartEnd_internal(lib_t *maplib, const char* name, uintptr_t* start, uintptr_t* end, elfheader_t* self, int version, const char* vername)
|
||||
{
|
||||
int weak = 0;
|
||||
size_t size = 0;
|
||||
// check with default version...
|
||||
const char* defver = GetDefaultVersion(my_context->globaldefver, name);
|
||||
// search non-weak symbol, from older to newer (first GLOBAL object wins)
|
||||
@@ -449,12 +450,12 @@ static int GetGlobalSymbolStartEnd_internal(lib_t *maplib, const char* name, uin
|
||||
// TODO: create a temporary map to search lib only 1 time, and in order of needed...
|
||||
// search in needed libs from neededlibs first, in order
|
||||
for(int i=0; i<my_context->neededlibs.size; ++i)
|
||||
if(GetLibGlobalSymbolStartEnd(my_context->neededlibs.libs[i], name, start, end, &weak, version, vername, isLocal(self, my_context->neededlibs.libs[i])))
|
||||
if(GetLibGlobalSymbolStartEnd(my_context->neededlibs.libs[i], name, start, end, size, &weak, version, vername, isLocal(self, my_context->neededlibs.libs[i])))
|
||||
if(*start)
|
||||
return 1;
|
||||
// search in global symbols
|
||||
for(int i=0; i<maplib->libsz; ++i) {
|
||||
if(GetLibGlobalSymbolStartEnd(maplib->libraries[i], name, start, end, &weak, version, vername, isLocal(self, maplib->libraries[i])))
|
||||
if(GetLibGlobalSymbolStartEnd(maplib->libraries[i], name, start, end, size, &weak, version, vername, isLocal(self, maplib->libraries[i])))
|
||||
if(*start)
|
||||
return 1;
|
||||
}
|
||||
@@ -468,7 +469,7 @@ static int GetGlobalSymbolStartEnd_internal(lib_t *maplib, const char* name, uin
|
||||
ok = 1;
|
||||
|
||||
for(int i=0; i<maplib->libsz; ++i) {
|
||||
if(GetLibWeakSymbolStartEnd(maplib->libraries[i], name, start, end, &weak, version, vername, isLocal(self, maplib->libraries[i])))
|
||||
if(GetLibWeakSymbolStartEnd(maplib->libraries[i], name, start, end, size, &weak, version, vername, isLocal(self, maplib->libraries[i])))
|
||||
if(*start)
|
||||
ok = 1;
|
||||
}
|
||||
@@ -514,6 +515,7 @@ elfheader_t* GetGlobalSymbolElf(lib_t *maplib, const char* name, int version, co
|
||||
{
|
||||
uintptr_t start = 0;
|
||||
uintptr_t end = 0;
|
||||
size_t size = 0;
|
||||
int weak = 0;
|
||||
elfheader_t* ret = NULL;
|
||||
// check with default version...
|
||||
@@ -522,7 +524,7 @@ elfheader_t* GetGlobalSymbolElf(lib_t *maplib, const char* name, int version, co
|
||||
if(GetSymbolStartEnd(GetMapSymbols(my_context->elfs[0]), name, &start, &end, version, vername, 1, defver))
|
||||
return my_context->elfs[0];
|
||||
for(int i=0; i<maplib->libsz; ++i) {
|
||||
if(GetLibGlobalSymbolStartEnd(maplib->libraries[i], name, &start, &end, &weak, version, vername, 1)) {
|
||||
if(GetLibGlobalSymbolStartEnd(maplib->libraries[i], name, &start, &end, size, &weak, version, vername, 1)) {
|
||||
int idx = GetElfIndex(maplib->libraries[i]);
|
||||
if(idx==-1) {
|
||||
printf_log(LOG_NONE, "Warning, getting Elf info for a native symbol \"%s\" from lib \"%s\"\n", name, GetNameLib(maplib->libraries[i]));
|
||||
@@ -539,7 +541,7 @@ elfheader_t* GetGlobalSymbolElf(lib_t *maplib, const char* name, int version, co
|
||||
if(GetSymbolStartEnd(GetWeakSymbols(my_context->elfs[0]), name, &start, &end, version, vername, 1, defver))
|
||||
ret = my_context->elfs[0];
|
||||
for(int i=0; i<maplib->libsz; ++i) {
|
||||
if(GetLibWeakSymbolStartEnd(maplib->libraries[i], name, &start, &end, &weak, version, vername, 1)) {
|
||||
if(GetLibWeakSymbolStartEnd(maplib->libraries[i], name, &start, &end, size, &weak, version, vername, 1)) {
|
||||
int idx = GetElfIndex(maplib->libraries[i]);
|
||||
if(idx==-1) {
|
||||
printf_log(LOG_NONE, "Warning, getting Elf info for a native symbol \"%s\" from lib \"%s\"\n", name, GetNameLib(maplib->libraries[i]));
|
||||
@@ -558,6 +560,7 @@ elfheader_t* GetGlobalSymbolElf(lib_t *maplib, const char* name, int version, co
|
||||
int GetGlobalNoWeakSymbolStartEnd(lib_t *maplib, const char* name, uintptr_t* start, uintptr_t* end, int version, const char* vername)
|
||||
{
|
||||
int weak = 0;
|
||||
size_t size = 0;
|
||||
// check with default version...
|
||||
const char* defver = GetDefaultVersion(my_context->globaldefver, name);
|
||||
|
||||
@@ -565,7 +568,7 @@ int GetGlobalNoWeakSymbolStartEnd(lib_t *maplib, const char* name, uintptr_t* st
|
||||
if(*start || *end)
|
||||
return 1;
|
||||
for(int i=0; i<maplib->libsz; ++i)
|
||||
if(GetLibGlobalSymbolStartEnd(maplib->libraries[i], name, start, end, &weak, version, vername, 1))
|
||||
if(GetLibGlobalSymbolStartEnd(maplib->libraries[i], name, start, end, size, &weak, version, vername, 1))
|
||||
if(*start || *end)
|
||||
return 1;
|
||||
// nope, not found
|
||||
@@ -575,11 +578,12 @@ int GetGlobalNoWeakSymbolStartEnd(lib_t *maplib, const char* name, uintptr_t* st
|
||||
int IsGlobalNoWeakSymbolInNative(lib_t *maplib, const char* name, int version, const char* vername)
|
||||
{
|
||||
uintptr_t start, end;
|
||||
size_t size = 0;
|
||||
int weak;
|
||||
// check with default version...
|
||||
for(int i=0; i<maplib->libsz; ++i)
|
||||
if(GetElfIndex(maplib->libraries[i])==-1)
|
||||
if(GetLibGlobalSymbolStartEnd(maplib->libraries[i], name, &start, &end, &weak, version, vername, 1))
|
||||
if(GetLibGlobalSymbolStartEnd(maplib->libraries[i], name, &start, &end, size, &weak, version, vername, 1))
|
||||
if(start || end)
|
||||
return 1;
|
||||
// nope, not found
|
||||
@@ -591,6 +595,7 @@ int GetLocalSymbolStartEnd(lib_t *maplib, const char* name, uintptr_t* start, ui
|
||||
{
|
||||
// check with default version...
|
||||
int weak;
|
||||
size_t size = 0;
|
||||
|
||||
if(my_context->elfs[0]==self || !self) {
|
||||
if(GetSymbolStartEnd(GetLocalSymbols(my_context->elfs[0]), name, start, end, version, vername, 1, NULL))
|
||||
@@ -601,7 +606,7 @@ int GetLocalSymbolStartEnd(lib_t *maplib, const char* name, uintptr_t* start, ui
|
||||
}
|
||||
for(int i=0; i<maplib->libsz; ++i) {
|
||||
if(GetElfIndex(maplib->libraries[i])!=-1 && (!self || my_context->elfs[GetElfIndex(maplib->libraries[i])]==self)) {
|
||||
if(GetLibLocalSymbolStartEnd(maplib->libraries[i], name, start, end, &weak, version, vername, 1))
|
||||
if(GetLibLocalSymbolStartEnd(maplib->libraries[i], name, start, end, size, &weak, version, vername, 1))
|
||||
if(*start)
|
||||
return 1;
|
||||
if(self)
|
||||
|
||||
+33
-41
@@ -117,8 +117,9 @@ void WrappedLib_FinishFini(library_t* lib)
|
||||
FreeBridge(&lib->w.bridge);
|
||||
}
|
||||
|
||||
int WrappedLib_GetWeak(library_t* lib, const char* name, uintptr_t *offs, uint32_t *sz, int *weak, int version, const char* vername, int local)
|
||||
int WrappedLib_GetWeak(library_t* lib, const char* name, uintptr_t *offs, uint32_t *sz, size_t asked_size, int *weak, int version, const char* vername, int local)
|
||||
{
|
||||
// ignoring asked size on wrapped libs
|
||||
uintptr_t addr = 0;
|
||||
uint32_t size = 0;
|
||||
int wk = 0;
|
||||
@@ -135,12 +136,12 @@ int WrappedLib_GetWeak(library_t* lib, const char* name, uintptr_t *offs, uint32
|
||||
*weak = wk;
|
||||
return 1;
|
||||
}
|
||||
int EmuLib_GetWeak(library_t* lib, const char* name, uintptr_t *offs, uint32_t *sz, int* weak, int version, const char* vername, int local)
|
||||
int EmuLib_GetWeak(library_t* lib, const char* name, uintptr_t *offs, uint32_t *sz, size_t asked_size, int* weak, int version, const char* vername, int local)
|
||||
{
|
||||
uintptr_t start, end;
|
||||
const char* defver = GetDefaultVersion(my_context->weakdefver, name);
|
||||
// weak symbols...
|
||||
if(GetSymbolStartEnd(GetWeakSymbols(lib->e.elf), name, &start, &end, version, vername, local, defver))
|
||||
if(GetSizedSymbolStartEnd(GetWeakSymbols(lib->e.elf), name, &start, &end, asked_size, version, vername, local, defver))
|
||||
{
|
||||
*offs = start;
|
||||
*sz = end-start;
|
||||
@@ -149,8 +150,9 @@ int EmuLib_GetWeak(library_t* lib, const char* name, uintptr_t *offs, uint32_t *
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
int WrappedLib_GetGlobal(library_t* lib, const char* name, uintptr_t *offs, uint32_t *sz, int* weak, int version, const char* vername, int local)
|
||||
int WrappedLib_GetGlobal(library_t* lib, const char* name, uintptr_t *offs, uint32_t *sz, size_t asked_size, int* weak, int version, const char* vername, int local)
|
||||
{
|
||||
// ignoring asked size on wrapped libs
|
||||
uintptr_t addr = 0;
|
||||
uint32_t size = 0;
|
||||
int wk = 0;
|
||||
@@ -167,11 +169,11 @@ int WrappedLib_GetGlobal(library_t* lib, const char* name, uintptr_t *offs, uint
|
||||
*weak = 0;
|
||||
return 1;
|
||||
}
|
||||
int EmuLib_GetGlobal(library_t* lib, const char* name, uintptr_t *offs, uint32_t *sz, int *weak, int version, const char* vername, int local)
|
||||
int EmuLib_GetGlobal(library_t* lib, const char* name, uintptr_t *offs, uint32_t *sz, size_t asked_size, int *weak, int version, const char* vername, int local)
|
||||
{
|
||||
uintptr_t start, end;
|
||||
const char* defver = GetDefaultVersion(my_context->globaldefver, name);
|
||||
if(GetSymbolStartEnd(GetMapSymbols(lib->e.elf), name, &start, &end, version, vername, local, defver))
|
||||
if(GetSizedSymbolStartEnd(GetMapSymbols(lib->e.elf), name, &start, &end, asked_size, version, vername, local, defver))
|
||||
{
|
||||
*offs = start;
|
||||
*sz = end-start;
|
||||
@@ -180,12 +182,12 @@ int EmuLib_GetGlobal(library_t* lib, const char* name, uintptr_t *offs, uint32_t
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
int EmuLib_GetLocal(library_t* lib, const char* name, uintptr_t *offs, uint32_t *sz, int *weak, int version, const char* vername, int local)
|
||||
int EmuLib_GetLocal(library_t* lib, const char* name, uintptr_t *offs, uint32_t *sz, size_t asked_size, int *weak, int version, const char* vername, int local)
|
||||
{
|
||||
uintptr_t start, end;
|
||||
const char* defver = GetDefaultVersion(my_context->globaldefver, name);
|
||||
if(!defver) defver = GetDefaultVersion(my_context->weakdefver, name);
|
||||
if(GetSymbolStartEnd(GetLocalSymbols(lib->e.elf), name, &start, &end, version, vername, local, defver))
|
||||
if(GetSizedSymbolStartEnd(GetLocalSymbols(lib->e.elf), name, &start, &end, asked_size, version, vername, local, defver))
|
||||
{
|
||||
*offs = start;
|
||||
*sz = end-start;
|
||||
@@ -195,7 +197,7 @@ int EmuLib_GetLocal(library_t* lib, const char* name, uintptr_t *offs, uint32_t
|
||||
return 0;
|
||||
}
|
||||
|
||||
int WrappedLib_GetLocal(library_t* lib, const char* name, uintptr_t *offs, uint32_t *sz, int* weak, int version, const char* vername, int local)
|
||||
int WrappedLib_GetLocal(library_t* lib, const char* name, uintptr_t *offs, uint32_t *sz, size_t asked_size, int* weak, int version, const char* vername, int local)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
@@ -451,7 +453,7 @@ int FinalizeLibrary(library_t* lib, lib_t* local_maplib, int bindnow, x86emu_t*
|
||||
printf_log(LOG_INFO, "TRACE on %s only (%p-%p)\n", trace_func, (void*)trace_start, (void*)trace_end);
|
||||
box_free(trace_func);
|
||||
trace_func = NULL;
|
||||
} else if(GetLibLocalSymbolStartEnd(lib, trace_func, &trace_start, &trace_end, &weak, -1, NULL, 0)) {
|
||||
} else if(GetLibLocalSymbolStartEnd(lib, trace_func, &trace_start, &trace_end, 0, &weak, -1, NULL, 0)) {
|
||||
SetTraceEmu(trace_start, trace_end);
|
||||
printf_log(LOG_INFO, "TRACE on %s only (%p-%p)\n", trace_func, (void*)trace_start, (void*)trace_end);
|
||||
box_free(trace_func);
|
||||
@@ -621,34 +623,24 @@ int IsSameLib(library_t* lib, const char* path)
|
||||
box_free(name);
|
||||
return ret;
|
||||
}
|
||||
int GetLibWeakSymbolStartEnd(library_t* lib, const char* name, uintptr_t* start, uintptr_t* end, int* weak, int version, const char* vername, int local)
|
||||
int GetLibWeakSymbolStartEnd(library_t* lib, const char* name, uintptr_t* start, uintptr_t* end, size_t size, int* weak, int version, const char* vername, int local)
|
||||
{
|
||||
if(!name[0] || !lib || !lib->active)
|
||||
return 0;
|
||||
khint_t k;
|
||||
// check first if already in the map
|
||||
k = kh_get(bridgemap, lib->wbridgemap, VersionnedName(name, version, vername));
|
||||
if(k!=kh_end(lib->wbridgemap)) {
|
||||
*start = kh_value(lib->wbridgemap, k).start;
|
||||
*end = kh_value(lib->wbridgemap, k).end;
|
||||
*weak = 1;
|
||||
return 1;
|
||||
}
|
||||
if(local) {
|
||||
k = kh_get(bridgemap, lib->lbridgemap, VersionnedName(name, version, vername));
|
||||
if(k!=kh_end(lib->lbridgemap)) {
|
||||
*start = kh_value(lib->lbridgemap, k).start;
|
||||
*end = kh_value(lib->lbridgemap, k).end;
|
||||
*weak = 0;
|
||||
// get a new symbol
|
||||
if(lib->getweak(lib, name, start, end, size, weak, version, vername, local)) {
|
||||
*end += *start; // lib->get(...) gives size, not end
|
||||
kh_bridgemap_t *map = local?lib->lbridgemap:((*weak)?lib->wbridgemap:lib->gbridgemap);
|
||||
// check first if already in the map
|
||||
k = kh_get(bridgemap, map, VersionnedName(name, version, vername));
|
||||
if(k!=kh_end(map)) {
|
||||
*start = kh_value(map, k).start;
|
||||
*end = kh_value(map, k).end;
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
// get a new symbol
|
||||
if(lib->getweak(lib, name, start, end, weak, version, vername, local)) {
|
||||
*end += *start; // lib->get(...) gives size, not end
|
||||
char* symbol = box_strdup(VersionnedName(name, version, vername));
|
||||
int ret;
|
||||
kh_bridgemap_t *map = local?lib->lbridgemap:((*weak)?lib->wbridgemap:lib->gbridgemap);
|
||||
k = kh_put(bridgemap, map, symbol, &ret);
|
||||
kh_value(map, k).name = symbol;
|
||||
kh_value(map, k).start = *start;
|
||||
@@ -658,13 +650,13 @@ int GetLibWeakSymbolStartEnd(library_t* lib, const char* name, uintptr_t* start,
|
||||
// nope
|
||||
return 0;
|
||||
}
|
||||
int GetLibGlobalSymbolStartEnd(library_t* lib, const char* name, uintptr_t* start, uintptr_t* end, int *weak, int version, const char* vername, int local)
|
||||
int GetLibGlobalSymbolStartEnd(library_t* lib, const char* name, uintptr_t* start, uintptr_t* end, size_t size, int *weak, int version, const char* vername, int local)
|
||||
{
|
||||
if(!name[0] || !lib || !lib->active)
|
||||
return 0;
|
||||
khint_t k;
|
||||
// get a new symbol
|
||||
if(lib->getglobal(lib, name, start, end, weak, version, vername, local)) {
|
||||
if(lib->getglobal(lib, name, start, end, size, weak, version, vername, local)) {
|
||||
*end += *start; // lib->get(...) gives size, not end
|
||||
kh_bridgemap_t *map = local?lib->lbridgemap:((*weak)?lib->wbridgemap:lib->gbridgemap);
|
||||
// check if already in the map
|
||||
@@ -685,21 +677,21 @@ int GetLibGlobalSymbolStartEnd(library_t* lib, const char* name, uintptr_t* star
|
||||
// nope
|
||||
return 0;
|
||||
}
|
||||
int GetLibLocalSymbolStartEnd(library_t* lib, const char* name, uintptr_t* start, uintptr_t* end, int* weak, int version, const char* vername, int local)
|
||||
int GetLibLocalSymbolStartEnd(library_t* lib, const char* name, uintptr_t* start, uintptr_t* end, size_t size, int* weak, int version, const char* vername, int local)
|
||||
{
|
||||
if(!name[0] || !lib || !lib->active)
|
||||
return 0;
|
||||
khint_t k;
|
||||
// check first if already in the map
|
||||
k = kh_get(bridgemap, lib->lbridgemap, VersionnedName(name, version, vername));
|
||||
if(k!=kh_end(lib->lbridgemap)) {
|
||||
*start = kh_value(lib->lbridgemap, k).start;
|
||||
*end = kh_value(lib->lbridgemap, k).end;
|
||||
return 1;
|
||||
}
|
||||
// get a new symbol
|
||||
if(lib->getlocal(lib, name, start, weak, end, version, vername, local)) {
|
||||
if(lib->getlocal(lib, name, start, weak, size, end, version, vername, local)) {
|
||||
*end += *start; // lib->get(...) gives size, not end
|
||||
// check first if already in the map
|
||||
k = kh_get(bridgemap, lib->lbridgemap, VersionnedName(name, version, vername));
|
||||
if(k!=kh_end(lib->lbridgemap)) {
|
||||
*start = kh_value(lib->lbridgemap, k).start;
|
||||
*end = kh_value(lib->lbridgemap, k).end;
|
||||
return 1;
|
||||
}
|
||||
char* symbol = box_strdup(VersionnedName(name, version, vername));
|
||||
int ret;
|
||||
k = kh_put(bridgemap, lib->lbridgemap, symbol, &ret);
|
||||
|
||||
+47
-30
@@ -58,89 +58,89 @@ static int SameVersion(versymbol_t* s, int ver, const char* vername)
|
||||
|
||||
}
|
||||
|
||||
static versymbol_t* FindVersionLocal(versymbols_t* s)
|
||||
static versymbol_t* FindVersionLocal(versymbols_t* s, size_t size)
|
||||
{
|
||||
if(!s || !s->sz)
|
||||
return NULL;
|
||||
for (int i=0; i<s->sz; ++i)
|
||||
if(s->syms[i].version==0)
|
||||
if(s->syms[i].version==0 && (!size || (size==s->syms[i].sym.sz)))
|
||||
return &s->syms[i];
|
||||
return NULL;
|
||||
}
|
||||
static versymbol_t* FindNoVersion(versymbols_t* s)
|
||||
static versymbol_t* FindNoVersion(versymbols_t* s, size_t size)
|
||||
{
|
||||
if(!s || !s->sz)
|
||||
return NULL;
|
||||
for (int i=0; i<s->sz; ++i)
|
||||
if(s->syms[i].version==-1)
|
||||
if(s->syms[i].version==-1 && (!size || (size==s->syms[i].sym.sz)))
|
||||
return &s->syms[i];
|
||||
return NULL;
|
||||
}
|
||||
static versymbol_t* FindVersionGlobal(versymbols_t* s)
|
||||
static versymbol_t* FindVersionGlobal(versymbols_t* s, size_t size)
|
||||
{
|
||||
if(!s || !s->sz)
|
||||
return NULL;
|
||||
for (int i=0; i<s->sz; ++i)
|
||||
if(s->syms[i].version==1)
|
||||
if(s->syms[i].version==1 && (!size || (size==s->syms[i].sym.sz)))
|
||||
return &s->syms[i];
|
||||
return NULL;
|
||||
}
|
||||
static versymbol_t* FindVersion(versymbols_t* s, const char* vername)
|
||||
static versymbol_t* FindVersion(versymbols_t* s, size_t size, const char* vername)
|
||||
{
|
||||
if(!s || !s->sz)
|
||||
return NULL;
|
||||
for (int i=0; i<s->sz; ++i)
|
||||
if(s->syms[i].vername && !strcmp(s->syms[i].vername, vername))
|
||||
if(s->syms[i].vername && !strcmp(s->syms[i].vername, vername) && (!size || (size==s->syms[i].sym.sz)))
|
||||
return &s->syms[i];
|
||||
return NULL;
|
||||
}
|
||||
static versymbol_t* FindFirstVersion(versymbols_t* s)
|
||||
static versymbol_t* FindFirstVersion(versymbols_t* s, size_t size)
|
||||
{
|
||||
if(!s || !s->sz)
|
||||
return NULL;
|
||||
for (int i=0; i<s->sz; ++i)
|
||||
if(s->syms[i].version>1)
|
||||
if(s->syms[i].version>1 && (!size || (size==s->syms[i].sym.sz)))
|
||||
return &s->syms[i];
|
||||
return NULL;
|
||||
}
|
||||
|
||||
// Match version (so ver=0:0, ver=1:-1/1/X, ver=-1:any, ver=X:1/"name")
|
||||
static versymbol_t* MatchVersion(versymbols_t* s, int ver, const char* vername, int local, const char* defver)
|
||||
static versymbol_t* MatchVersion(versymbols_t* s, int ver, const char* vername, size_t size, int local, const char* defver)
|
||||
{
|
||||
if(!s || !s->sz)
|
||||
return NULL;
|
||||
versymbol_t* ret = NULL;
|
||||
if(ver==0) {
|
||||
if(local) ret = FindVersionLocal(s);
|
||||
if(!ret) ret = FindNoVersion(s);
|
||||
if(!ret) ret = FindVersionGlobal(s);
|
||||
if(!ret && defver) ret = FindVersion(s, defver);
|
||||
if(local) ret = FindVersionLocal(s, size);
|
||||
if(!ret) ret = FindNoVersion(s, size);
|
||||
if(!ret) ret = FindVersionGlobal(s, size);
|
||||
if(!ret && defver) ret = FindVersion(s, size, defver);
|
||||
return ret;
|
||||
}
|
||||
if(ver==-1) {
|
||||
if(local) ret = FindVersionLocal(s);
|
||||
if(!ret) ret = FindNoVersion(s);
|
||||
if(!ret) ret = FindVersionGlobal(s);
|
||||
if(!ret && defver) ret = FindVersion(s, defver);
|
||||
if(local) ret = FindVersionLocal(s, size);
|
||||
if(!ret) ret = FindNoVersion(s, size);
|
||||
if(!ret) ret = FindVersionGlobal(s, size);
|
||||
if(!ret && defver) ret = FindVersion(s, size, defver);
|
||||
//if(!ret) ret = FindFirstVersion(s);
|
||||
return ret;
|
||||
}
|
||||
if(ver==-2) {
|
||||
if(local) ret = FindVersionLocal(s);
|
||||
if(!ret) ret = FindVersionGlobal(s);
|
||||
if(local) ret = FindVersionLocal(s, size);
|
||||
if(!ret) ret = FindVersionGlobal(s, size);
|
||||
return ret;
|
||||
}
|
||||
if(ver==1) {
|
||||
if(local) ret = FindVersionLocal(s);
|
||||
if(!ret) ret = FindVersionGlobal(s);
|
||||
if(!ret) ret = FindNoVersion(s);
|
||||
if(!ret && defver) ret = FindVersion(s, defver);
|
||||
if(local) ret = FindVersionLocal(s, size);
|
||||
if(!ret) ret = FindVersionGlobal(s, size);
|
||||
if(!ret) ret = FindNoVersion(s, size);
|
||||
if(!ret && defver) ret = FindVersion(s, size, defver);
|
||||
//if(!ret) ret = FindFirstVersion(s);
|
||||
return ret;
|
||||
}
|
||||
ret = FindVersion(s, vername);
|
||||
if(local && !ret) ret = FindVersionLocal(s);
|
||||
if(!ret && defver && vername && !strcmp(defver, vername)) ret = FindVersionGlobal(s);
|
||||
ret = FindVersion(s, size, vername);
|
||||
if(local && !ret) ret = FindVersionLocal(s, size);
|
||||
if(!ret && defver && vername && !strcmp(defver, vername)) ret = FindVersionGlobal(s, size);
|
||||
//if(!ret) return FindVersionGlobal(s);
|
||||
return ret;
|
||||
}
|
||||
@@ -178,7 +178,7 @@ uintptr_t FindSymbol(kh_mapsymbols_t *mapsymbols, const char* name, int ver, con
|
||||
if(k==kh_end(mapsymbols))
|
||||
return 0;
|
||||
versymbols_t * v = &kh_val(mapsymbols, k);
|
||||
versymbol_t * s = MatchVersion(v, ver, vername, local, defver);
|
||||
versymbol_t * s = MatchVersion(v, ver, vername, 0, local, defver);
|
||||
if(s)
|
||||
return s->sym.offs;
|
||||
return 0;
|
||||
@@ -215,7 +215,24 @@ int GetSymbolStartEnd(kh_mapsymbols_t* mapsymbols, const char* name, uintptr_t*
|
||||
if(k==kh_end(mapsymbols))
|
||||
return 0;
|
||||
versymbols_t * v = &kh_val(mapsymbols, k);
|
||||
versymbol_t* s = MatchVersion(v, ver, vername, local, defver);
|
||||
versymbol_t* s = MatchVersion(v, ver, vername, 0, local, defver);
|
||||
if(s) {
|
||||
*start = s->sym.offs;
|
||||
*end = *start + s->sym.sz;
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
int GetSizedSymbolStartEnd(kh_mapsymbols_t* mapsymbols, const char* name, uintptr_t* start, uintptr_t* end, size_t size, int ver, const char* vername, int local, const char* defver)
|
||||
{
|
||||
if(!mapsymbols)
|
||||
return 0;
|
||||
khint_t k = kh_get(mapsymbols, mapsymbols, name);
|
||||
if(k==kh_end(mapsymbols))
|
||||
return 0;
|
||||
versymbols_t * v = &kh_val(mapsymbols, k);
|
||||
versymbol_t* s = MatchVersion(v, ver, vername, size, local, defver);
|
||||
if(s) {
|
||||
*start = s->sym.offs;
|
||||
*end = *start + s->sym.sz;
|
||||
|
||||
@@ -112,7 +112,9 @@ GO("libpangoft2-1.0.so", pangoft2)
|
||||
GO("libpangoft2-1.0.so.0", pangoft2)
|
||||
GO("libpangocairo-1.0.so.0", pangocairo)
|
||||
GO("libcairo.so.2", cairo)
|
||||
GO("libcairo.so", cairo)
|
||||
GO("libpango-1.0.so.0", pango)
|
||||
GO("libpango-1.0.so", pango)
|
||||
GO("libnm.so.0", libnm)
|
||||
GO("libnm-glib.so.4", libnm)
|
||||
GO("libnm-util.so.2", libnm)
|
||||
|
||||
@@ -887,13 +887,7 @@ exit(-1);
|
||||
}
|
||||
}
|
||||
if(cycle_log) {
|
||||
int j = (my_context->current_line+1)&(CYCLE_LOG-1);
|
||||
for (int i=0; i<CYCLE_LOG; ++i) {
|
||||
int k = (i+j)&(CYCLE_LOG-1);
|
||||
if(my_context->log_call[k][0]) {
|
||||
printf_log(log_minimum, "%s => return %s\n", my_context->log_call[k], my_context->log_ret[k]);
|
||||
}
|
||||
}
|
||||
print_cycle_log(log_minimum);
|
||||
}
|
||||
#ifdef DYNAREC
|
||||
uint32_t hash = 0;
|
||||
|
||||
+91
-27
@@ -254,25 +254,26 @@ typedef enum VkStructureType {
|
||||
VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT = 1000022000,
|
||||
VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT = 1000022001,
|
||||
VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT = 1000022002,
|
||||
VK_STRUCTURE_TYPE_VIDEO_PROFILE_KHR = 1000023000,
|
||||
VK_STRUCTURE_TYPE_VIDEO_PROFILE_INFO_KHR = 1000023000,
|
||||
VK_STRUCTURE_TYPE_VIDEO_CAPABILITIES_KHR = 1000023001,
|
||||
VK_STRUCTURE_TYPE_VIDEO_PICTURE_RESOURCE_KHR = 1000023002,
|
||||
VK_STRUCTURE_TYPE_VIDEO_GET_MEMORY_PROPERTIES_KHR = 1000023003,
|
||||
VK_STRUCTURE_TYPE_VIDEO_BIND_MEMORY_KHR = 1000023004,
|
||||
VK_STRUCTURE_TYPE_VIDEO_PICTURE_RESOURCE_INFO_KHR = 1000023002,
|
||||
VK_STRUCTURE_TYPE_VIDEO_SESSION_MEMORY_REQUIREMENTS_KHR = 1000023003,
|
||||
VK_STRUCTURE_TYPE_BIND_VIDEO_SESSION_MEMORY_INFO_KHR = 1000023004,
|
||||
VK_STRUCTURE_TYPE_VIDEO_SESSION_CREATE_INFO_KHR = 1000023005,
|
||||
VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000023006,
|
||||
VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_UPDATE_INFO_KHR = 1000023007,
|
||||
VK_STRUCTURE_TYPE_VIDEO_BEGIN_CODING_INFO_KHR = 1000023008,
|
||||
VK_STRUCTURE_TYPE_VIDEO_END_CODING_INFO_KHR = 1000023009,
|
||||
VK_STRUCTURE_TYPE_VIDEO_CODING_CONTROL_INFO_KHR = 1000023010,
|
||||
VK_STRUCTURE_TYPE_VIDEO_REFERENCE_SLOT_KHR = 1000023011,
|
||||
VK_STRUCTURE_TYPE_VIDEO_QUEUE_FAMILY_PROPERTIES_2_KHR = 1000023012,
|
||||
VK_STRUCTURE_TYPE_VIDEO_PROFILES_KHR = 1000023013,
|
||||
VK_STRUCTURE_TYPE_VIDEO_REFERENCE_SLOT_INFO_KHR = 1000023011,
|
||||
VK_STRUCTURE_TYPE_QUEUE_FAMILY_VIDEO_PROPERTIES_KHR = 1000023012,
|
||||
VK_STRUCTURE_TYPE_VIDEO_PROFILE_LIST_INFO_KHR = 1000023013,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_FORMAT_INFO_KHR = 1000023014,
|
||||
VK_STRUCTURE_TYPE_VIDEO_FORMAT_PROPERTIES_KHR = 1000023015,
|
||||
VK_STRUCTURE_TYPE_QUEUE_FAMILY_QUERY_RESULT_STATUS_PROPERTIES_2_KHR = 1000023016,
|
||||
VK_STRUCTURE_TYPE_QUEUE_FAMILY_QUERY_RESULT_STATUS_PROPERTIES_KHR = 1000023016,
|
||||
VK_STRUCTURE_TYPE_VIDEO_DECODE_INFO_KHR = 1000024000,
|
||||
VK_STRUCTURE_TYPE_VIDEO_DECODE_CAPABILITIES_KHR = 1000024001,
|
||||
VK_STRUCTURE_TYPE_VIDEO_DECODE_USAGE_INFO_KHR = 1000024002,
|
||||
VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV = 1000026000,
|
||||
VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV = 1000026001,
|
||||
VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV = 1000026002,
|
||||
@@ -289,27 +290,26 @@ typedef enum VkStructureType {
|
||||
VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT = 1000038002,
|
||||
VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_VCL_FRAME_INFO_EXT = 1000038003,
|
||||
VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_EXT = 1000038004,
|
||||
VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_NALU_SLICE_EXT = 1000038005,
|
||||
VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_EMIT_PICTURE_PARAMETERS_EXT = 1000038006,
|
||||
VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PROFILE_EXT = 1000038007,
|
||||
VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_NALU_SLICE_INFO_EXT = 1000038005,
|
||||
VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_EMIT_PICTURE_PARAMETERS_INFO_EXT = 1000038006,
|
||||
VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PROFILE_INFO_EXT = 1000038007,
|
||||
VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_INFO_EXT = 1000038008,
|
||||
VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_LAYER_INFO_EXT = 1000038009,
|
||||
VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_REFERENCE_LISTS_EXT = 1000038010,
|
||||
VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_REFERENCE_LISTS_INFO_EXT = 1000038010,
|
||||
VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_CAPABILITIES_EXT = 1000039000,
|
||||
VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000039001,
|
||||
VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT = 1000039002,
|
||||
VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_VCL_FRAME_INFO_EXT = 1000039003,
|
||||
VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_DPB_SLOT_INFO_EXT = 1000039004,
|
||||
VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_NALU_SLICE_SEGMENT_EXT = 1000039005,
|
||||
VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_EMIT_PICTURE_PARAMETERS_EXT = 1000039006,
|
||||
VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PROFILE_EXT = 1000039007,
|
||||
VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_REFERENCE_LISTS_EXT = 1000039008,
|
||||
VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_NALU_SLICE_SEGMENT_INFO_EXT = 1000039005,
|
||||
VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_EMIT_PICTURE_PARAMETERS_INFO_EXT = 1000039006,
|
||||
VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PROFILE_INFO_EXT = 1000039007,
|
||||
VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_REFERENCE_LISTS_INFO_EXT = 1000039008,
|
||||
VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_INFO_EXT = 1000039009,
|
||||
VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_LAYER_INFO_EXT = 1000039010,
|
||||
VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_CAPABILITIES_EXT = 1000040000,
|
||||
VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PICTURE_INFO_EXT = 1000040001,
|
||||
VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_MVC_EXT = 1000040002,
|
||||
VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PROFILE_EXT = 1000040003,
|
||||
VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PROFILE_INFO_EXT = 1000040003,
|
||||
VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000040004,
|
||||
VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT = 1000040005,
|
||||
VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_DPB_SLOT_INFO_EXT = 1000040006,
|
||||
@@ -474,7 +474,7 @@ typedef enum VkStructureType {
|
||||
VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_CAPABILITIES_EXT = 1000187000,
|
||||
VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000187001,
|
||||
VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT = 1000187002,
|
||||
VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PROFILE_EXT = 1000187003,
|
||||
VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PROFILE_INFO_EXT = 1000187003,
|
||||
VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PICTURE_INFO_EXT = 1000187004,
|
||||
VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_DPB_SLOT_INFO_EXT = 1000187005,
|
||||
VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR = 1000174000,
|
||||
@@ -575,12 +575,16 @@ typedef enum VkStructureType {
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT = 1000287001,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT = 1000287002,
|
||||
VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR = 1000290000,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_BARRIER_FEATURES_NV = 1000292000,
|
||||
VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_PRESENT_BARRIER_NV = 1000292001,
|
||||
VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_BARRIER_CREATE_INFO_NV = 1000292002,
|
||||
VK_STRUCTURE_TYPE_PRESENT_ID_KHR = 1000294000,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR = 1000294001,
|
||||
VK_STRUCTURE_TYPE_VIDEO_ENCODE_INFO_KHR = 1000299000,
|
||||
VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_INFO_KHR = 1000299001,
|
||||
VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_LAYER_INFO_KHR = 1000299002,
|
||||
VK_STRUCTURE_TYPE_VIDEO_ENCODE_CAPABILITIES_KHR = 1000299003,
|
||||
VK_STRUCTURE_TYPE_VIDEO_ENCODE_USAGE_INFO_KHR = 1000299004,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV = 1000300000,
|
||||
VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV = 1000300001,
|
||||
VK_STRUCTURE_TYPE_EXPORT_METAL_OBJECT_CREATE_INFO_EXT = 1000311000,
|
||||
@@ -610,6 +614,8 @@ typedef enum VkStructureType {
|
||||
VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV = 1000327000,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV = 1000327001,
|
||||
VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV = 1000327002,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_EXT = 1000328000,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_EXT = 1000328001,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT = 1000330000,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT = 1000332000,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT = 1000332001,
|
||||
@@ -622,15 +628,17 @@ typedef enum VkStructureType {
|
||||
VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_PROPERTIES_EXT = 1000338004,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_FEATURES_EXT = 1000339000,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT = 1000340000,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM = 1000342000,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FAULT_FEATURES_EXT = 1000341000,
|
||||
VK_STRUCTURE_TYPE_DEVICE_FAULT_COUNTS_EXT = 1000341001,
|
||||
VK_STRUCTURE_TYPE_DEVICE_FAULT_INFO_EXT = 1000341002,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT = 1000344000,
|
||||
VK_STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT = 1000346000,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE = 1000351000,
|
||||
VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE = 1000351002,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT = 1000352000,
|
||||
VK_STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT = 1000352001,
|
||||
VK_STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT = 1000352002,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT = 1000353000,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ADDRESS_BINDING_REPORT_FEATURES_EXT = 1000354000,
|
||||
VK_STRUCTURE_TYPE_DEVICE_ADDRESS_BINDING_CALLBACK_DATA_EXT = 1000354001,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT = 1000355000,
|
||||
VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT = 1000355001,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT = 1000356000,
|
||||
@@ -671,12 +679,23 @@ typedef enum VkStructureType {
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT = 1000392000,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT = 1000392001,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT = 1000393000,
|
||||
VK_STRUCTURE_TYPE_MICROMAP_BUILD_INFO_EXT = 1000396000,
|
||||
VK_STRUCTURE_TYPE_MICROMAP_VERSION_INFO_EXT = 1000396001,
|
||||
VK_STRUCTURE_TYPE_COPY_MICROMAP_INFO_EXT = 1000396002,
|
||||
VK_STRUCTURE_TYPE_COPY_MICROMAP_TO_MEMORY_INFO_EXT = 1000396003,
|
||||
VK_STRUCTURE_TYPE_COPY_MEMORY_TO_MICROMAP_INFO_EXT = 1000396004,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_FEATURES_EXT = 1000396005,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_PROPERTIES_EXT = 1000396006,
|
||||
VK_STRUCTURE_TYPE_MICROMAP_CREATE_INFO_EXT = 1000396007,
|
||||
VK_STRUCTURE_TYPE_MICROMAP_BUILD_SIZES_INFO_EXT = 1000396008,
|
||||
VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_TRIANGLES_OPACITY_MICROMAP_EXT = 1000396009,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT = 1000411000,
|
||||
VK_STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT = 1000411001,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT = 1000412000,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE = 1000420000,
|
||||
VK_STRUCTURE_TYPE_DESCRIPTOR_SET_BINDING_REFERENCE_VALVE = 1000420001,
|
||||
VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_HOST_MAPPING_INFO_VALVE = 1000420002,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_EXT = 1000421000,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NON_SEAMLESS_CUBE_MAP_FEATURES_EXT = 1000422000,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM = 1000425000,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM = 1000425001,
|
||||
@@ -686,6 +705,8 @@ typedef enum VkStructureType {
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_FEATURES_QCOM = 1000440000,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_PROPERTIES_QCOM = 1000440001,
|
||||
VK_STRUCTURE_TYPE_IMAGE_VIEW_SAMPLE_WEIGHT_CREATE_INFO_QCOM = 1000440002,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_FEATURES_EXT = 1000455000,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_PROPERTIES_EXT = 1000455001,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_MERGE_FEEDBACK_FEATURES_EXT = 1000458000,
|
||||
VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_CONTROL_EXT = 1000458001,
|
||||
VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_FEEDBACK_CREATE_INFO_EXT = 1000458002,
|
||||
@@ -694,10 +715,24 @@ typedef enum VkStructureType {
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_PROPERTIES_EXT = 1000462001,
|
||||
VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_MODULE_IDENTIFIER_CREATE_INFO_EXT = 1000462002,
|
||||
VK_STRUCTURE_TYPE_SHADER_MODULE_IDENTIFIER_EXT = 1000462003,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT = 1000342000,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_FEATURES_NV = 1000464000,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_PROPERTIES_NV = 1000464001,
|
||||
VK_STRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_INFO_NV = 1000464002,
|
||||
VK_STRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_PROPERTIES_NV = 1000464003,
|
||||
VK_STRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_INFO_NV = 1000464004,
|
||||
VK_STRUCTURE_TYPE_OPTICAL_FLOW_EXECUTE_INFO_NV = 1000464005,
|
||||
VK_STRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_PRIVATE_DATA_INFO_NV = 1000464010,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_DITHERING_FEATURES_EXT = 1000465000,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES_EXT = 1000466000,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_PROPERTIES_FEATURES_QCOM = 1000484000,
|
||||
VK_STRUCTURE_TYPE_TILE_PROPERTIES_QCOM = 1000484001,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_AMIGO_PROFILING_FEATURES_SEC = 1000485000,
|
||||
VK_STRUCTURE_TYPE_AMIGO_PROFILING_SUBMIT_INFO_SEC = 1000485001,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT = 1000351000,
|
||||
VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_EXT = 1000351002,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM = 1000497000,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_PROPERTIES_ARM = 1000497001,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES,
|
||||
VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT,
|
||||
@@ -860,6 +895,9 @@ typedef enum VkStructureType {
|
||||
VK_STRUCTURE_TYPE_IMAGE_BLIT_2_KHR = VK_STRUCTURE_TYPE_IMAGE_BLIT_2,
|
||||
VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR = VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2,
|
||||
VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR = VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT,
|
||||
VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE = VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_EXT,
|
||||
VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3,
|
||||
VK_STRUCTURE_TYPE_PIPELINE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR,
|
||||
@@ -894,7 +932,6 @@ typedef struct my_vkhead_s {
|
||||
case VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO: \
|
||||
case VK_STRUCTURE_TYPE_EVENT_CREATE_INFO: \
|
||||
case VK_STRUCTURE_TYPE_FENCE_CREATE_INFO: \
|
||||
case VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO: \
|
||||
case VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO: \
|
||||
case VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO: \
|
||||
case VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO: \
|
||||
@@ -998,6 +1035,13 @@ typedef struct my_vkhead_s {
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR: \
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES: \
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_PROPERTIES_EXT: \
|
||||
case VK_STRUCTURE_TYPE_SHADER_MODULE_IDENTIFIER_EXT: \
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES: \
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES: \
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES: \
|
||||
case VK_STRUCTURE_TYPE_BUFFER_COPY_2: \
|
||||
case VK_STRUCTURE_TYPE_OPTICAL_FLOW_EXECUTE_INFO_NV: \
|
||||
case VK_STRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_INFO_NV: \
|
||||
|
||||
#define CH(C, B, A) \
|
||||
case C: \
|
||||
@@ -1011,7 +1055,7 @@ typedef struct my_vkhead_s {
|
||||
CH(VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER,"uPiiiiuuUiuuuu", A) \
|
||||
CH(VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO, "uPiUupuuu", A) \
|
||||
CH(VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO, "uPiuppppppppppUUuUi", A) \
|
||||
CH(VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO, "uPiUiiiiiiiuuuu", A) \
|
||||
CH(VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO, "uPiUiiSiiiiSiuuuu", A) \
|
||||
CH(VK_STRUCTURE_TYPE_SUBMIT_INFO, "uPuppupup", A) \
|
||||
CH(VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET, "uPUuuuippp", A) \
|
||||
CH(VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET, "uPUuuUuuu", A) \
|
||||
@@ -1019,7 +1063,7 @@ typedef struct my_vkhead_s {
|
||||
CH(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2, "uP" \
|
||||
"uuuuiYB" \
|
||||
"SuuuuuuuuuuuUUuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuffuuuffuLUUUiuiuffuuuuiiiiuiiiiiuifuuuuffffffiiUUU"\
|
||||
"Siiiii",A) \
|
||||
"iiiii",A) \
|
||||
CH(VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR, "uPipu", A) \
|
||||
CH(VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR, "uPipu", A) \
|
||||
CH(VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR, "uPUUUUu", A) \
|
||||
@@ -1052,6 +1096,20 @@ typedef struct my_vkhead_s {
|
||||
CH(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES, "uPBBBuiuiiiiuuiuU", A) \
|
||||
CH(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES, "uPiYYSuiiiiiiiiiiiiiiiiiuiiiiiiiuuuuuuuuuuuuuuuuuiiiiUu", A)\
|
||||
CH(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES, "uPuuuuuuuuuuiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiUiUiU", A)\
|
||||
CH(VK_STRUCTURE_TYPE_RENDERING_INFO, "uPiiiuuuuuPPP", A) \
|
||||
CH(VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS, "uPP", A) \
|
||||
CH(VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS, "uPPi", A) \
|
||||
CH(VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO, "uPiiiuuuuuiiiiupi", A) \
|
||||
CH(VK_STRUCTURE_TYPE_DEPENDENCY_INFO, "uPiuQuQuQ", A) \
|
||||
CH(VK_STRUCTURE_TYPE_MEMORY_BARRIER_2, "uPUUUU", A) \
|
||||
CH(VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2, "uPUUUUuuUUU", A) \
|
||||
CH(VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2, "uPUUUUiiuuUSiuuuu", A) \
|
||||
CH(VK_STRUCTURE_TYPE_SUBMIT_INFO_2, "upiuQuQuQ", A) \
|
||||
CH(VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO, "uPUUUu", A) \
|
||||
CH(VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2, "uPUuuSiuuuiiiuuu", A) \
|
||||
CH(VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO, "uPpu", A) \
|
||||
CH(VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO, "uPUiiUiiiffff", A) \
|
||||
CH(VK_STRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_PROPERTIES_NV, "uPi", A) \
|
||||
|
||||
|
||||
//--------------------------------------------------------------
|
||||
@@ -1183,8 +1241,10 @@ static my_vkhead_t* alignFromx86(my_vkhead_t* src, uint32_t cnt);
|
||||
|
||||
void* vkalignStruct(void* src, const char* desc, int cnt)
|
||||
{
|
||||
if(!src)
|
||||
return src;
|
||||
int sz = vkalignSize(desc);
|
||||
int count=(cnt)?cnt:1;
|
||||
int count=cnt;
|
||||
void* dst = (void*)box_malloc(sz*count+sizeof(void*)*count);
|
||||
int c = 0;
|
||||
int a = 0;
|
||||
@@ -1268,6 +1328,7 @@ static my_vkhead_t* alignFromx86(my_vkhead_t* src, uint32_t cnt)
|
||||
{
|
||||
if(!src)
|
||||
return src;
|
||||
//printf_log(LOG_INFO, "alignFromx86(%p:%d, %d)\n", src, src->sType, cnt);
|
||||
my_vkhead_t *dst = src;
|
||||
const char* s;
|
||||
switch(src->sType) {
|
||||
@@ -1275,7 +1336,7 @@ static my_vkhead_t* alignFromx86(my_vkhead_t* src, uint32_t cnt)
|
||||
// no need to align, but follow next...
|
||||
dst->pNext = alignFromx86(src->pNext, 1);
|
||||
break;
|
||||
CHANGE(dst=vkalignStruct(src, s, 1)) // will follow next
|
||||
CHANGE(dst=vkalignStruct(src, s, cnt)) // will follow next
|
||||
default:
|
||||
// unknow
|
||||
printf_log(LOG_INFO, "BOX86: Warning, unknown Vulkan structure type %d\n", src->sType);
|
||||
@@ -1298,6 +1359,8 @@ void* VulkanFromx86(void* src)
|
||||
static void* unalignTox86(my_vkhead_t* src, int cnt);
|
||||
void* vkunalignStruct(void* src, const char* desc, int cnt)
|
||||
{
|
||||
if(!src)
|
||||
return src;
|
||||
int c = 0;
|
||||
int a = 1;
|
||||
int sz = vkalignSize(desc);
|
||||
@@ -1564,6 +1627,7 @@ static void* unalignTox86(my_vkhead_t* src, int cnt)
|
||||
{
|
||||
if(!cnt || !src)
|
||||
return src;
|
||||
//printf_log(LOG_INFO, "unalignTox86(%p:%d, %d)\n", src, src->sType, cnt);
|
||||
void* ret = NULL;
|
||||
const char* s;
|
||||
switch(src->sType) {
|
||||
|
||||
+11
-5
@@ -271,17 +271,20 @@ void LoadLogEnv()
|
||||
}
|
||||
p = getenv("BOX86_ROLLING_LOG");
|
||||
if(p) {
|
||||
if(strlen(p)==1) {
|
||||
if(p[0]>='0' && p[0]<='1')
|
||||
cycle_log = p[0]-'0';
|
||||
}
|
||||
int cycle = 0;
|
||||
if(sscanf(p, "%d", &cycle)==1)
|
||||
cycle_log = cycle;
|
||||
if(cycle_log==1)
|
||||
cycle_log = 16;
|
||||
if(cycle_log<0)
|
||||
cycle_log = 0;
|
||||
if(cycle_log && box86_log>LOG_INFO) {
|
||||
cycle_log = 0;
|
||||
printf_log(LOG_NONE, "Incompatible Rolling log and Debug Log, disabling Rolling log\n");
|
||||
}
|
||||
}
|
||||
if(!box86_nobanner && cycle_log)
|
||||
printf_log(LOG_INFO, "Rolling log, showing last %d function call on signals\n", CYCLE_LOG);
|
||||
printf_log(LOG_INFO, "Rolling log, showing last %d function call on signals\n", cycle_log);
|
||||
p = getenv("BOX86_DUMP");
|
||||
if(p) {
|
||||
if(strlen(p)==1) {
|
||||
@@ -1247,6 +1250,9 @@ int main(int argc, const char **argv, char **env)
|
||||
box86_nogtk = 1;
|
||||
AddPath("libSDL2-2.0.so.0", &my_context->box86_emulated_libs, 0);
|
||||
unsetenv("BOX86_NOGTK");
|
||||
#ifdef DYNAREC
|
||||
box86_dynarec_strongmem = 2;
|
||||
#endif
|
||||
#ifdef PANDORA
|
||||
x11color16 = 1;
|
||||
#endif
|
||||
|
||||
@@ -68,6 +68,7 @@
|
||||
#() dFG
|
||||
#() lFv
|
||||
#() lFi
|
||||
#() lFu
|
||||
#() lFl
|
||||
#() lFp
|
||||
#() lFG
|
||||
@@ -278,6 +279,7 @@
|
||||
#() vFEpV
|
||||
#() vFiii
|
||||
#() vFiiu
|
||||
#() vFiif
|
||||
#() vFiip
|
||||
#() vFiII
|
||||
#() vFiui
|
||||
@@ -286,6 +288,7 @@
|
||||
#() vFiUU
|
||||
#() vFiff
|
||||
#() vFidd
|
||||
#() vFill
|
||||
#() vFilp
|
||||
#() vFipi
|
||||
#() vFipu
|
||||
@@ -314,6 +317,9 @@
|
||||
#() vFfpp
|
||||
#() vFddd
|
||||
#() vFdpp
|
||||
#() vFlip
|
||||
#() vFllp
|
||||
#() vFlpp
|
||||
#() vFLpL
|
||||
#() vFpii
|
||||
#() vFpiI
|
||||
@@ -325,14 +331,17 @@
|
||||
#() vFpui
|
||||
#() vFpuI
|
||||
#() vFpuu
|
||||
#() vFpuU
|
||||
#() vFpup
|
||||
#() vFpUi
|
||||
#() vFpUu
|
||||
#() vFpUU
|
||||
#() vFpUp
|
||||
#() vFpUP
|
||||
#() vFpff
|
||||
#() vFpdd
|
||||
#() vFpll
|
||||
#() vFplp
|
||||
#() vFpLi
|
||||
#() vFpLL
|
||||
#() vFpLp
|
||||
@@ -587,21 +596,27 @@
|
||||
#() vFEpPp
|
||||
#() vFiiii
|
||||
#() vFiiip
|
||||
#() vFiill
|
||||
#() vFiipp
|
||||
#() vFiipV
|
||||
#() vFiIII
|
||||
#() vFiuiu
|
||||
#() vFiuip
|
||||
#() vFiuuu
|
||||
#() vFiuup
|
||||
#() vFiulp
|
||||
#() vFiupu
|
||||
#() vFiupV
|
||||
#() vFiUUU
|
||||
#() vFifff
|
||||
#() vFiddd
|
||||
#() vFilil
|
||||
#() vFilip
|
||||
#() vFilpu
|
||||
#() vFilpp
|
||||
#() vFipii
|
||||
#() vFipup
|
||||
#() vFipll
|
||||
#() vFippi
|
||||
#() vFippu
|
||||
#() vFippp
|
||||
@@ -668,16 +683,19 @@
|
||||
#() vFpuuV
|
||||
#() vFpudd
|
||||
#() vFpupp
|
||||
#() vFpupP
|
||||
#() vFpUui
|
||||
#() vFpUuu
|
||||
#() vFpUup
|
||||
#() vFpUUi
|
||||
#() vFpUUu
|
||||
#() vFpUUp
|
||||
#() vFpUpp
|
||||
#() vFpfff
|
||||
#() vFpdii
|
||||
#() vFpddi
|
||||
#() vFpddd
|
||||
#() vFplpp
|
||||
#() vFpLLL
|
||||
#() vFppii
|
||||
#() vFppiu
|
||||
@@ -903,6 +921,7 @@
|
||||
#() pFiipi
|
||||
#() pFiipp
|
||||
#() pFiIIi
|
||||
#() pFillu
|
||||
#() pFipii
|
||||
#() pFipip
|
||||
#() pFipup
|
||||
@@ -962,10 +981,15 @@
|
||||
#() vFEppiV
|
||||
#() vFEppup
|
||||
#() vFEpppp
|
||||
#() vFEpPpp
|
||||
#() vFiiiii
|
||||
#() vFiiiiu
|
||||
#() vFiiuii
|
||||
#() vFiiuup
|
||||
#() vFiillu
|
||||
#() vFiilll
|
||||
#() vFiipii
|
||||
#() vFiipll
|
||||
#() vFiIIII
|
||||
#() vFiuiip
|
||||
#() vFiuipi
|
||||
@@ -976,6 +1000,8 @@
|
||||
#() vFiffff
|
||||
#() vFidddd
|
||||
#() vFilill
|
||||
#() vFilipi
|
||||
#() vFilipl
|
||||
#() vFipipu
|
||||
#() vFipipp
|
||||
#() vFipupi
|
||||
@@ -985,6 +1011,7 @@
|
||||
#() vFuiiiu
|
||||
#() vFuiiip
|
||||
#() vFuiifi
|
||||
#() vFuiill
|
||||
#() vFuiIII
|
||||
#() vFuiuii
|
||||
#() vFuiuiu
|
||||
@@ -1037,6 +1064,8 @@
|
||||
#() vFpiipp
|
||||
#() vFpiIiI
|
||||
#() vFpiIII
|
||||
#() vFpiUUp
|
||||
#() vFpilpp
|
||||
#() vFpipii
|
||||
#() vFpipiu
|
||||
#() vFpuiip
|
||||
@@ -1097,6 +1126,7 @@
|
||||
#() iFEpipi
|
||||
#() iFEpipp
|
||||
#() iFEpipV
|
||||
#() iFEpupU
|
||||
#() iFEpupp
|
||||
#() iFEpupV
|
||||
#() iFEpUup
|
||||
@@ -1139,6 +1169,7 @@
|
||||
#() iFpiIip
|
||||
#() iFpiuwp
|
||||
#() iFpiupu
|
||||
#() iFpiUUU
|
||||
#() iFpipii
|
||||
#() iFpipiL
|
||||
#() iFpipip
|
||||
@@ -1162,6 +1193,7 @@
|
||||
#() iFpupup
|
||||
#() iFpuppu
|
||||
#() iFpuppp
|
||||
#() iFpUiUi
|
||||
#() iFplluu
|
||||
#() iFpLlpp
|
||||
#() iFpLLpp
|
||||
@@ -1299,13 +1331,20 @@
|
||||
#() vFEppppp
|
||||
#() vFiiiiii
|
||||
#() vFiiiuil
|
||||
#() vFiiilpi
|
||||
#() vFiiuiil
|
||||
#() vFiiuilp
|
||||
#() vFiiuulp
|
||||
#() vFiililp
|
||||
#() vFiiplli
|
||||
#() vFiiplll
|
||||
#() vFiuippp
|
||||
#() vFiffiff
|
||||
#() vFiddidd
|
||||
#() vFililll
|
||||
#() vFilipli
|
||||
#() vFiliplu
|
||||
#() vFipiplp
|
||||
#() vFipllli
|
||||
#() vFuiiiii
|
||||
#() vFuiiiil
|
||||
@@ -1319,6 +1358,7 @@
|
||||
#() vFuiuiuu
|
||||
#() vFuiuuip
|
||||
#() vFuiuuuu
|
||||
#() vFuiuulp
|
||||
#() vFuiupii
|
||||
#() vFuiupiu
|
||||
#() vFuiUUUU
|
||||
@@ -1564,8 +1604,12 @@
|
||||
#() vFEpppppp
|
||||
#() vFiiiiiip
|
||||
#() vFiiiiuup
|
||||
#() vFiiuilil
|
||||
#() vFiiffffp
|
||||
#() vFiipllli
|
||||
#() vFiuulipi
|
||||
#() vFilipliu
|
||||
#() vFilulipi
|
||||
#() vFuiiiiii
|
||||
#() vFuiiiuip
|
||||
#() vFuiiiuup
|
||||
@@ -1605,6 +1649,7 @@
|
||||
#() vFulipulp
|
||||
#() vFulpiill
|
||||
#() vFlipuiip
|
||||
#() vFlliiiip
|
||||
#() vFpiiiipp
|
||||
#() vFpiiliip
|
||||
#() vFpiipCpp
|
||||
@@ -1778,6 +1823,7 @@
|
||||
#() vFuiiiiuup
|
||||
#() vFuiuiiiii
|
||||
#() vFuiuiiiip
|
||||
#() vFuiuiuuuu
|
||||
#() vFuiulplpp
|
||||
#() vFuipuliuf
|
||||
#() vFuuiiiiii
|
||||
@@ -1791,6 +1837,7 @@
|
||||
#() vFuuuipipp
|
||||
#() vFuuuuuuuu
|
||||
#() vFuuuuufff
|
||||
#() vFuuufffff
|
||||
#() vFulllplip
|
||||
#() vFffffffff
|
||||
#() vFlipuiuip
|
||||
@@ -1850,6 +1897,7 @@
|
||||
#() uFEpppuppp
|
||||
#() uFEppppppp
|
||||
#() uFuipppppp
|
||||
#() uFulpppppp
|
||||
#() uFpupuuuCp
|
||||
#() uFppuuuupp
|
||||
#() uFppuuuppi
|
||||
@@ -1888,7 +1936,9 @@
|
||||
#() vFEppiipppp
|
||||
#() vFEpppiippp
|
||||
#() vFiiiiiiiii
|
||||
#() vFiiiiiiill
|
||||
#() vFiiiiillli
|
||||
#() vFiiilllilp
|
||||
#() vFuiiiiiiii
|
||||
#() vFuiiiiiuip
|
||||
#() vFuiiiiiuup
|
||||
@@ -1974,7 +2024,10 @@
|
||||
#() vFEiippppppp
|
||||
#() vFEpippppppp
|
||||
#() vFEpppiipppp
|
||||
#() vFiiiiiiiiii
|
||||
#() vFiiiiiiiiiu
|
||||
#() vFiiiiiiiiui
|
||||
#() vFiiillliiip
|
||||
#() vFippppppppp
|
||||
#() vFuiiiiiiiii
|
||||
#() vFuiiiiiiill
|
||||
@@ -2030,6 +2083,8 @@
|
||||
#() pFppuiipuuii
|
||||
#() pFpppppppppp
|
||||
#() vFEpiiiupupup
|
||||
#() vFiiiiillliip
|
||||
#() vFiiiiilllilp
|
||||
#() vFiippppppppp
|
||||
#() vFuiiiiiiiiip
|
||||
#() vFuiiiiiiiuip
|
||||
@@ -2134,6 +2189,7 @@
|
||||
#() pFEppCuuWWwwCCup
|
||||
#() pFEppuuuWWWWWWWW
|
||||
#() pFpuupuupwwwwWWC
|
||||
#() vFuiiiiiuiiiiilll
|
||||
#() vFuuiiiiuuiiiiiii
|
||||
#() vFfffffffffffffff
|
||||
#() vFppipppppppppppp
|
||||
@@ -2146,6 +2202,7 @@
|
||||
#() vFpppppppppppppppp
|
||||
#() iFpppppppppppppppp
|
||||
#() pFppipipipipipipip
|
||||
#() vFuuuiiiiiuiiiiilll
|
||||
#() vFppiiiiddddiiiiiuu
|
||||
#() iFppipipppppppppppp
|
||||
#() iFpppippppppppppppp
|
||||
@@ -3069,6 +3126,7 @@ wrappedlibgl:
|
||||
- glDebugMessageCallback
|
||||
- glDebugMessageCallbackAMD
|
||||
- glDebugMessageCallbackARB
|
||||
- glDebugMessageCallbackKHR
|
||||
- vFipp:
|
||||
- glProgramCallbackMESA
|
||||
wrappedlibglu:
|
||||
@@ -4421,9 +4479,12 @@ wrappedvulkan:
|
||||
- vkDestroyFramebuffer
|
||||
- vkDestroyImage
|
||||
- vkDestroyImageView
|
||||
- vkDestroyOpticalFlowSessionNV
|
||||
- vkDestroyPipeline
|
||||
- vkDestroyPipelineCache
|
||||
- vkDestroyPipelineLayout
|
||||
- vkDestroyPrivateDataSlot
|
||||
- vkDestroyPrivateDataSlotEXT
|
||||
- vkDestroyQueryPool
|
||||
- vkDestroyRenderPass
|
||||
- vkDestroySampler
|
||||
@@ -4452,6 +4513,12 @@ wrappedvulkan:
|
||||
- vkGetPhysicalDeviceSurfaceCapabilities2KHR
|
||||
- iFPpp:
|
||||
- vkCreateInstance
|
||||
- vFpPpp:
|
||||
- vkGetDeviceImageSparseMemoryRequirements
|
||||
- vkGetDeviceImageSparseMemoryRequirementsKHR
|
||||
- iFpupU:
|
||||
- vkQueueSubmit2
|
||||
- vkQueueSubmit2KHR
|
||||
- iFpUup:
|
||||
- vkGetDisplayPlaneCapabilitiesKHR
|
||||
- iFpUpP:
|
||||
@@ -4477,8 +4544,11 @@ wrappedvulkan:
|
||||
- vkCreateHeadlessSurfaceEXT
|
||||
- vkCreateImage
|
||||
- vkCreateImageView
|
||||
- vkCreateOpticalFlowSessionNV
|
||||
- vkCreatePipelineCache
|
||||
- vkCreatePipelineLayout
|
||||
- vkCreatePrivateDataSlot
|
||||
- vkCreatePrivateDataSlotEXT
|
||||
- vkCreateQueryPool
|
||||
- vkCreateRenderPass
|
||||
- vkCreateRenderPass2
|
||||
@@ -4492,6 +4562,7 @@ wrappedvulkan:
|
||||
- vkCreateValidationCacheEXT
|
||||
- vkCreateXcbSurfaceKHR
|
||||
- vkCreateXlibSurfaceKHR
|
||||
- vkGetPhysicalDeviceOpticalFlowImageFormatsNV
|
||||
- vkRegisterDeviceEventEXT
|
||||
- vFpupup:
|
||||
- vkUpdateDescriptorSets
|
||||
|
||||
@@ -23,6 +23,7 @@ typedef void (*vFipp_t)(int32_t, void*, void*);
|
||||
GO(glDebugMessageCallback, vFpp_t) \
|
||||
GO(glDebugMessageCallbackAMD, vFpp_t) \
|
||||
GO(glDebugMessageCallbackARB, vFpp_t) \
|
||||
GO(glDebugMessageCallbackKHR, vFpp_t) \
|
||||
GO(glProgramCallbackMESA, vFipp_t)
|
||||
|
||||
#endif // __wrappedlibglTYPES_H_
|
||||
@@ -20,6 +20,8 @@ typedef int32_t (*iFpUp_t)(void*, uint64_t, void*);
|
||||
typedef int32_t (*iFppp_t)(void*, void*, void*);
|
||||
typedef int32_t (*iFpPp_t)(void*, void*, void*);
|
||||
typedef int32_t (*iFPpp_t)(void*, void*, void*);
|
||||
typedef void (*vFpPpp_t)(void*, void*, void*, void*);
|
||||
typedef int32_t (*iFpupU_t)(void*, uint32_t, void*, uint64_t);
|
||||
typedef int32_t (*iFpUup_t)(void*, uint64_t, uint32_t, void*);
|
||||
typedef int32_t (*iFpUpP_t)(void*, uint64_t, void*, void*);
|
||||
typedef int32_t (*iFpppp_t)(void*, void*, void*, void*);
|
||||
@@ -52,9 +54,12 @@ typedef void (*vFpiiiupupup_t)(void*, int32_t, int32_t, int32_t, uint32_t, void*
|
||||
GO(vkDestroyFramebuffer, vFpUp_t) \
|
||||
GO(vkDestroyImage, vFpUp_t) \
|
||||
GO(vkDestroyImageView, vFpUp_t) \
|
||||
GO(vkDestroyOpticalFlowSessionNV, vFpUp_t) \
|
||||
GO(vkDestroyPipeline, vFpUp_t) \
|
||||
GO(vkDestroyPipelineCache, vFpUp_t) \
|
||||
GO(vkDestroyPipelineLayout, vFpUp_t) \
|
||||
GO(vkDestroyPrivateDataSlot, vFpUp_t) \
|
||||
GO(vkDestroyPrivateDataSlotEXT, vFpUp_t) \
|
||||
GO(vkDestroyQueryPool, vFpUp_t) \
|
||||
GO(vkDestroyRenderPass, vFpUp_t) \
|
||||
GO(vkDestroySampler, vFpUp_t) \
|
||||
@@ -77,6 +82,10 @@ typedef void (*vFpiiiupupup_t)(void*, int32_t, int32_t, int32_t, uint32_t, void*
|
||||
GO(vkGetPhysicalDeviceImageFormatProperties2KHR, iFpPp_t) \
|
||||
GO(vkGetPhysicalDeviceSurfaceCapabilities2KHR, iFpPp_t) \
|
||||
GO(vkCreateInstance, iFPpp_t) \
|
||||
GO(vkGetDeviceImageSparseMemoryRequirements, vFpPpp_t) \
|
||||
GO(vkGetDeviceImageSparseMemoryRequirementsKHR, vFpPpp_t) \
|
||||
GO(vkQueueSubmit2, iFpupU_t) \
|
||||
GO(vkQueueSubmit2KHR, iFpupU_t) \
|
||||
GO(vkGetDisplayPlaneCapabilitiesKHR, iFpUup_t) \
|
||||
GO(vkGetPastPresentationTimingGOOGLE, iFpUpP_t) \
|
||||
GO(vkCreateDebugReportCallbackEXT, iFpppp_t) \
|
||||
@@ -98,8 +107,11 @@ typedef void (*vFpiiiupupup_t)(void*, int32_t, int32_t, int32_t, uint32_t, void*
|
||||
GO(vkCreateHeadlessSurfaceEXT, iFpPpp_t) \
|
||||
GO(vkCreateImage, iFpPpp_t) \
|
||||
GO(vkCreateImageView, iFpPpp_t) \
|
||||
GO(vkCreateOpticalFlowSessionNV, iFpPpp_t) \
|
||||
GO(vkCreatePipelineCache, iFpPpp_t) \
|
||||
GO(vkCreatePipelineLayout, iFpPpp_t) \
|
||||
GO(vkCreatePrivateDataSlot, iFpPpp_t) \
|
||||
GO(vkCreatePrivateDataSlotEXT, iFpPpp_t) \
|
||||
GO(vkCreateQueryPool, iFpPpp_t) \
|
||||
GO(vkCreateRenderPass, iFpPpp_t) \
|
||||
GO(vkCreateRenderPass2, iFpPpp_t) \
|
||||
@@ -113,6 +125,7 @@ typedef void (*vFpiiiupupup_t)(void*, int32_t, int32_t, int32_t, uint32_t, void*
|
||||
GO(vkCreateValidationCacheEXT, iFpPpp_t) \
|
||||
GO(vkCreateXcbSurfaceKHR, iFpPpp_t) \
|
||||
GO(vkCreateXlibSurfaceKHR, iFpPpp_t) \
|
||||
GO(vkGetPhysicalDeviceOpticalFlowImageFormatsNV, iFpPpp_t) \
|
||||
GO(vkRegisterDeviceEventEXT, iFpPpp_t) \
|
||||
GO(vkUpdateDescriptorSets, vFpupup_t) \
|
||||
GO(vkCreateSharedSwapchainsKHR, iFpuppp_t) \
|
||||
|
||||
@@ -140,6 +140,7 @@ typedef double (*dFp_t)(void*);
|
||||
typedef double (*dFG_t)(void*);
|
||||
typedef intptr_t (*lFv_t)(void);
|
||||
typedef intptr_t (*lFi_t)(int32_t);
|
||||
typedef intptr_t (*lFu_t)(uint32_t);
|
||||
typedef intptr_t (*lFl_t)(intptr_t);
|
||||
typedef intptr_t (*lFp_t)(void*);
|
||||
typedef intptr_t (*lFG_t)(void*);
|
||||
@@ -350,6 +351,7 @@ typedef void (*vFEpp_t)(x86emu_t*, void*, void*);
|
||||
typedef void (*vFEpV_t)(x86emu_t*, void*, void*);
|
||||
typedef void (*vFiii_t)(int32_t, int32_t, int32_t);
|
||||
typedef void (*vFiiu_t)(int32_t, int32_t, uint32_t);
|
||||
typedef void (*vFiif_t)(int32_t, int32_t, float);
|
||||
typedef void (*vFiip_t)(int32_t, int32_t, void*);
|
||||
typedef void (*vFiII_t)(int32_t, int64_t, int64_t);
|
||||
typedef void (*vFiui_t)(int32_t, uint32_t, int32_t);
|
||||
@@ -358,6 +360,7 @@ typedef void (*vFiup_t)(int32_t, uint32_t, void*);
|
||||
typedef void (*vFiUU_t)(int32_t, uint64_t, uint64_t);
|
||||
typedef void (*vFiff_t)(int32_t, float, float);
|
||||
typedef void (*vFidd_t)(int32_t, double, double);
|
||||
typedef void (*vFill_t)(int32_t, intptr_t, intptr_t);
|
||||
typedef void (*vFilp_t)(int32_t, intptr_t, void*);
|
||||
typedef void (*vFipi_t)(int32_t, void*, int32_t);
|
||||
typedef void (*vFipu_t)(int32_t, void*, uint32_t);
|
||||
@@ -386,6 +389,9 @@ typedef void (*vFfff_t)(float, float, float);
|
||||
typedef void (*vFfpp_t)(float, void*, void*);
|
||||
typedef void (*vFddd_t)(double, double, double);
|
||||
typedef void (*vFdpp_t)(double, void*, void*);
|
||||
typedef void (*vFlip_t)(intptr_t, int32_t, void*);
|
||||
typedef void (*vFllp_t)(intptr_t, intptr_t, void*);
|
||||
typedef void (*vFlpp_t)(intptr_t, void*, void*);
|
||||
typedef void (*vFLpL_t)(uintptr_t, void*, uintptr_t);
|
||||
typedef void (*vFpii_t)(void*, int32_t, int32_t);
|
||||
typedef void (*vFpiI_t)(void*, int32_t, int64_t);
|
||||
@@ -397,14 +403,17 @@ typedef void (*vFpip_t)(void*, int32_t, void*);
|
||||
typedef void (*vFpui_t)(void*, uint32_t, int32_t);
|
||||
typedef void (*vFpuI_t)(void*, uint32_t, int64_t);
|
||||
typedef void (*vFpuu_t)(void*, uint32_t, uint32_t);
|
||||
typedef void (*vFpuU_t)(void*, uint32_t, uint64_t);
|
||||
typedef void (*vFpup_t)(void*, uint32_t, void*);
|
||||
typedef void (*vFpUi_t)(void*, uint64_t, int32_t);
|
||||
typedef void (*vFpUu_t)(void*, uint64_t, uint32_t);
|
||||
typedef void (*vFpUU_t)(void*, uint64_t, uint64_t);
|
||||
typedef void (*vFpUp_t)(void*, uint64_t, void*);
|
||||
typedef void (*vFpUP_t)(void*, uint64_t, void*);
|
||||
typedef void (*vFpff_t)(void*, float, float);
|
||||
typedef void (*vFpdd_t)(void*, double, double);
|
||||
typedef void (*vFpll_t)(void*, intptr_t, intptr_t);
|
||||
typedef void (*vFplp_t)(void*, intptr_t, void*);
|
||||
typedef void (*vFpLi_t)(void*, uintptr_t, int32_t);
|
||||
typedef void (*vFpLL_t)(void*, uintptr_t, uintptr_t);
|
||||
typedef void (*vFpLp_t)(void*, uintptr_t, void*);
|
||||
@@ -659,21 +668,27 @@ typedef void (*vFEppV_t)(x86emu_t*, void*, void*, void*);
|
||||
typedef void (*vFEpPp_t)(x86emu_t*, void*, void*, void*);
|
||||
typedef void (*vFiiii_t)(int32_t, int32_t, int32_t, int32_t);
|
||||
typedef void (*vFiiip_t)(int32_t, int32_t, int32_t, void*);
|
||||
typedef void (*vFiill_t)(int32_t, int32_t, intptr_t, intptr_t);
|
||||
typedef void (*vFiipp_t)(int32_t, int32_t, void*, void*);
|
||||
typedef void (*vFiipV_t)(int32_t, int32_t, void*, void*);
|
||||
typedef void (*vFiIII_t)(int32_t, int64_t, int64_t, int64_t);
|
||||
typedef void (*vFiuiu_t)(int32_t, uint32_t, int32_t, uint32_t);
|
||||
typedef void (*vFiuip_t)(int32_t, uint32_t, int32_t, void*);
|
||||
typedef void (*vFiuuu_t)(int32_t, uint32_t, uint32_t, uint32_t);
|
||||
typedef void (*vFiuup_t)(int32_t, uint32_t, uint32_t, void*);
|
||||
typedef void (*vFiulp_t)(int32_t, uint32_t, intptr_t, void*);
|
||||
typedef void (*vFiupu_t)(int32_t, uint32_t, void*, uint32_t);
|
||||
typedef void (*vFiupV_t)(int32_t, uint32_t, void*, void*);
|
||||
typedef void (*vFiUUU_t)(int32_t, uint64_t, uint64_t, uint64_t);
|
||||
typedef void (*vFifff_t)(int32_t, float, float, float);
|
||||
typedef void (*vFiddd_t)(int32_t, double, double, double);
|
||||
typedef void (*vFilil_t)(int32_t, intptr_t, int32_t, intptr_t);
|
||||
typedef void (*vFilip_t)(int32_t, intptr_t, int32_t, void*);
|
||||
typedef void (*vFilpu_t)(int32_t, intptr_t, void*, uint32_t);
|
||||
typedef void (*vFilpp_t)(int32_t, intptr_t, void*, void*);
|
||||
typedef void (*vFipii_t)(int32_t, void*, int32_t, int32_t);
|
||||
typedef void (*vFipup_t)(int32_t, void*, uint32_t, void*);
|
||||
typedef void (*vFipll_t)(int32_t, void*, intptr_t, intptr_t);
|
||||
typedef void (*vFippi_t)(int32_t, void*, void*, int32_t);
|
||||
typedef void (*vFippu_t)(int32_t, void*, void*, uint32_t);
|
||||
typedef void (*vFippp_t)(int32_t, void*, void*, void*);
|
||||
@@ -740,16 +755,19 @@ typedef void (*vFpuup_t)(void*, uint32_t, uint32_t, void*);
|
||||
typedef void (*vFpuuV_t)(void*, uint32_t, uint32_t, void*);
|
||||
typedef void (*vFpudd_t)(void*, uint32_t, double, double);
|
||||
typedef void (*vFpupp_t)(void*, uint32_t, void*, void*);
|
||||
typedef void (*vFpupP_t)(void*, uint32_t, void*, void*);
|
||||
typedef void (*vFpUui_t)(void*, uint64_t, uint32_t, int32_t);
|
||||
typedef void (*vFpUuu_t)(void*, uint64_t, uint32_t, uint32_t);
|
||||
typedef void (*vFpUup_t)(void*, uint64_t, uint32_t, void*);
|
||||
typedef void (*vFpUUi_t)(void*, uint64_t, uint64_t, int32_t);
|
||||
typedef void (*vFpUUu_t)(void*, uint64_t, uint64_t, uint32_t);
|
||||
typedef void (*vFpUUp_t)(void*, uint64_t, uint64_t, void*);
|
||||
typedef void (*vFpUpp_t)(void*, uint64_t, void*, void*);
|
||||
typedef void (*vFpfff_t)(void*, float, float, float);
|
||||
typedef void (*vFpdii_t)(void*, double, int32_t, int32_t);
|
||||
typedef void (*vFpddi_t)(void*, double, double, int32_t);
|
||||
typedef void (*vFpddd_t)(void*, double, double, double);
|
||||
typedef void (*vFplpp_t)(void*, intptr_t, void*, void*);
|
||||
typedef void (*vFpLLL_t)(void*, uintptr_t, uintptr_t, uintptr_t);
|
||||
typedef void (*vFppii_t)(void*, void*, int32_t, int32_t);
|
||||
typedef void (*vFppiu_t)(void*, void*, int32_t, uint32_t);
|
||||
@@ -975,6 +993,7 @@ typedef void* (*pFiiup_t)(int32_t, int32_t, uint32_t, void*);
|
||||
typedef void* (*pFiipi_t)(int32_t, int32_t, void*, int32_t);
|
||||
typedef void* (*pFiipp_t)(int32_t, int32_t, void*, void*);
|
||||
typedef void* (*pFiIIi_t)(int32_t, int64_t, int64_t, int32_t);
|
||||
typedef void* (*pFillu_t)(int32_t, intptr_t, intptr_t, uint32_t);
|
||||
typedef void* (*pFipii_t)(int32_t, void*, int32_t, int32_t);
|
||||
typedef void* (*pFipip_t)(int32_t, void*, int32_t, void*);
|
||||
typedef void* (*pFipup_t)(int32_t, void*, uint32_t, void*);
|
||||
@@ -1034,10 +1053,15 @@ typedef void (*vFEppip_t)(x86emu_t*, void*, void*, int32_t, void*);
|
||||
typedef void (*vFEppiV_t)(x86emu_t*, void*, void*, int32_t, void*);
|
||||
typedef void (*vFEppup_t)(x86emu_t*, void*, void*, uint32_t, void*);
|
||||
typedef void (*vFEpppp_t)(x86emu_t*, void*, void*, void*, void*);
|
||||
typedef void (*vFEpPpp_t)(x86emu_t*, void*, void*, void*, void*);
|
||||
typedef void (*vFiiiii_t)(int32_t, int32_t, int32_t, int32_t, int32_t);
|
||||
typedef void (*vFiiiiu_t)(int32_t, int32_t, int32_t, int32_t, uint32_t);
|
||||
typedef void (*vFiiuii_t)(int32_t, int32_t, uint32_t, int32_t, int32_t);
|
||||
typedef void (*vFiiuup_t)(int32_t, int32_t, uint32_t, uint32_t, void*);
|
||||
typedef void (*vFiillu_t)(int32_t, int32_t, intptr_t, intptr_t, uint32_t);
|
||||
typedef void (*vFiilll_t)(int32_t, int32_t, intptr_t, intptr_t, intptr_t);
|
||||
typedef void (*vFiipii_t)(int32_t, int32_t, void*, int32_t, int32_t);
|
||||
typedef void (*vFiipll_t)(int32_t, int32_t, void*, intptr_t, intptr_t);
|
||||
typedef void (*vFiIIII_t)(int32_t, int64_t, int64_t, int64_t, int64_t);
|
||||
typedef void (*vFiuiip_t)(int32_t, uint32_t, int32_t, int32_t, void*);
|
||||
typedef void (*vFiuipi_t)(int32_t, uint32_t, int32_t, void*, int32_t);
|
||||
@@ -1048,6 +1072,8 @@ typedef void (*vFiUUUU_t)(int32_t, uint64_t, uint64_t, uint64_t, uint64_t);
|
||||
typedef void (*vFiffff_t)(int32_t, float, float, float, float);
|
||||
typedef void (*vFidddd_t)(int32_t, double, double, double, double);
|
||||
typedef void (*vFilill_t)(int32_t, intptr_t, int32_t, intptr_t, intptr_t);
|
||||
typedef void (*vFilipi_t)(int32_t, intptr_t, int32_t, void*, int32_t);
|
||||
typedef void (*vFilipl_t)(int32_t, intptr_t, int32_t, void*, intptr_t);
|
||||
typedef void (*vFipipu_t)(int32_t, void*, int32_t, void*, uint32_t);
|
||||
typedef void (*vFipipp_t)(int32_t, void*, int32_t, void*, void*);
|
||||
typedef void (*vFipupi_t)(int32_t, void*, uint32_t, void*, int32_t);
|
||||
@@ -1057,6 +1083,7 @@ typedef void (*vFuiiii_t)(uint32_t, int32_t, int32_t, int32_t, int32_t);
|
||||
typedef void (*vFuiiiu_t)(uint32_t, int32_t, int32_t, int32_t, uint32_t);
|
||||
typedef void (*vFuiiip_t)(uint32_t, int32_t, int32_t, int32_t, void*);
|
||||
typedef void (*vFuiifi_t)(uint32_t, int32_t, int32_t, float, int32_t);
|
||||
typedef void (*vFuiill_t)(uint32_t, int32_t, int32_t, intptr_t, intptr_t);
|
||||
typedef void (*vFuiIII_t)(uint32_t, int32_t, int64_t, int64_t, int64_t);
|
||||
typedef void (*vFuiuii_t)(uint32_t, int32_t, uint32_t, int32_t, int32_t);
|
||||
typedef void (*vFuiuiu_t)(uint32_t, int32_t, uint32_t, int32_t, uint32_t);
|
||||
@@ -1109,6 +1136,8 @@ typedef void (*vFpiiff_t)(void*, int32_t, int32_t, float, float);
|
||||
typedef void (*vFpiipp_t)(void*, int32_t, int32_t, void*, void*);
|
||||
typedef void (*vFpiIiI_t)(void*, int32_t, int64_t, int32_t, int64_t);
|
||||
typedef void (*vFpiIII_t)(void*, int32_t, int64_t, int64_t, int64_t);
|
||||
typedef void (*vFpiUUp_t)(void*, int32_t, uint64_t, uint64_t, void*);
|
||||
typedef void (*vFpilpp_t)(void*, int32_t, intptr_t, void*, void*);
|
||||
typedef void (*vFpipii_t)(void*, int32_t, void*, int32_t, int32_t);
|
||||
typedef void (*vFpipiu_t)(void*, int32_t, void*, int32_t, uint32_t);
|
||||
typedef void (*vFpuiip_t)(void*, uint32_t, int32_t, int32_t, void*);
|
||||
@@ -1169,6 +1198,7 @@ typedef int32_t (*iFEpiup_t)(x86emu_t*, void*, int32_t, uint32_t, void*);
|
||||
typedef int32_t (*iFEpipi_t)(x86emu_t*, void*, int32_t, void*, int32_t);
|
||||
typedef int32_t (*iFEpipp_t)(x86emu_t*, void*, int32_t, void*, void*);
|
||||
typedef int32_t (*iFEpipV_t)(x86emu_t*, void*, int32_t, void*, void*);
|
||||
typedef int32_t (*iFEpupU_t)(x86emu_t*, void*, uint32_t, void*, uint64_t);
|
||||
typedef int32_t (*iFEpupp_t)(x86emu_t*, void*, uint32_t, void*, void*);
|
||||
typedef int32_t (*iFEpupV_t)(x86emu_t*, void*, uint32_t, void*, void*);
|
||||
typedef int32_t (*iFEpUup_t)(x86emu_t*, void*, uint64_t, uint32_t, void*);
|
||||
@@ -1211,6 +1241,7 @@ typedef int32_t (*iFpiipp_t)(void*, int32_t, int32_t, void*, void*);
|
||||
typedef int32_t (*iFpiIip_t)(void*, int32_t, int64_t, int32_t, void*);
|
||||
typedef int32_t (*iFpiuwp_t)(void*, int32_t, uint32_t, int16_t, void*);
|
||||
typedef int32_t (*iFpiupu_t)(void*, int32_t, uint32_t, void*, uint32_t);
|
||||
typedef int32_t (*iFpiUUU_t)(void*, int32_t, uint64_t, uint64_t, uint64_t);
|
||||
typedef int32_t (*iFpipii_t)(void*, int32_t, void*, int32_t, int32_t);
|
||||
typedef int32_t (*iFpipiL_t)(void*, int32_t, void*, int32_t, uintptr_t);
|
||||
typedef int32_t (*iFpipip_t)(void*, int32_t, void*, int32_t, void*);
|
||||
@@ -1234,6 +1265,7 @@ typedef int32_t (*iFpupuu_t)(void*, uint32_t, void*, uint32_t, uint32_t);
|
||||
typedef int32_t (*iFpupup_t)(void*, uint32_t, void*, uint32_t, void*);
|
||||
typedef int32_t (*iFpuppu_t)(void*, uint32_t, void*, void*, uint32_t);
|
||||
typedef int32_t (*iFpuppp_t)(void*, uint32_t, void*, void*, void*);
|
||||
typedef int32_t (*iFpUiUi_t)(void*, uint64_t, int32_t, uint64_t, int32_t);
|
||||
typedef int32_t (*iFplluu_t)(void*, intptr_t, intptr_t, uint32_t, uint32_t);
|
||||
typedef int32_t (*iFpLlpp_t)(void*, uintptr_t, intptr_t, void*, void*);
|
||||
typedef int32_t (*iFpLLpp_t)(void*, uintptr_t, uintptr_t, void*, void*);
|
||||
@@ -1371,13 +1403,20 @@ typedef void (*vFEpppiu_t)(x86emu_t*, void*, void*, void*, int32_t, uint32_t);
|
||||
typedef void (*vFEppppp_t)(x86emu_t*, void*, void*, void*, void*, void*);
|
||||
typedef void (*vFiiiiii_t)(int32_t, int32_t, int32_t, int32_t, int32_t, int32_t);
|
||||
typedef void (*vFiiiuil_t)(int32_t, int32_t, int32_t, uint32_t, int32_t, intptr_t);
|
||||
typedef void (*vFiiilpi_t)(int32_t, int32_t, int32_t, intptr_t, void*, int32_t);
|
||||
typedef void (*vFiiuiil_t)(int32_t, int32_t, uint32_t, int32_t, int32_t, intptr_t);
|
||||
typedef void (*vFiiuilp_t)(int32_t, int32_t, uint32_t, int32_t, intptr_t, void*);
|
||||
typedef void (*vFiiuulp_t)(int32_t, int32_t, uint32_t, uint32_t, intptr_t, void*);
|
||||
typedef void (*vFiililp_t)(int32_t, int32_t, intptr_t, int32_t, intptr_t, void*);
|
||||
typedef void (*vFiiplli_t)(int32_t, int32_t, void*, intptr_t, intptr_t, int32_t);
|
||||
typedef void (*vFiiplll_t)(int32_t, int32_t, void*, intptr_t, intptr_t, intptr_t);
|
||||
typedef void (*vFiuippp_t)(int32_t, uint32_t, int32_t, void*, void*, void*);
|
||||
typedef void (*vFiffiff_t)(int32_t, float, float, int32_t, float, float);
|
||||
typedef void (*vFiddidd_t)(int32_t, double, double, int32_t, double, double);
|
||||
typedef void (*vFililll_t)(int32_t, intptr_t, int32_t, intptr_t, intptr_t, intptr_t);
|
||||
typedef void (*vFilipli_t)(int32_t, intptr_t, int32_t, void*, intptr_t, int32_t);
|
||||
typedef void (*vFiliplu_t)(int32_t, intptr_t, int32_t, void*, intptr_t, uint32_t);
|
||||
typedef void (*vFipiplp_t)(int32_t, void*, int32_t, void*, intptr_t, void*);
|
||||
typedef void (*vFipllli_t)(int32_t, void*, intptr_t, intptr_t, intptr_t, int32_t);
|
||||
typedef void (*vFuiiiii_t)(uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t);
|
||||
typedef void (*vFuiiiil_t)(uint32_t, int32_t, int32_t, int32_t, int32_t, intptr_t);
|
||||
@@ -1391,6 +1430,7 @@ typedef void (*vFuiuiip_t)(uint32_t, int32_t, uint32_t, int32_t, int32_t, void*)
|
||||
typedef void (*vFuiuiuu_t)(uint32_t, int32_t, uint32_t, int32_t, uint32_t, uint32_t);
|
||||
typedef void (*vFuiuuip_t)(uint32_t, int32_t, uint32_t, uint32_t, int32_t, void*);
|
||||
typedef void (*vFuiuuuu_t)(uint32_t, int32_t, uint32_t, uint32_t, uint32_t, uint32_t);
|
||||
typedef void (*vFuiuulp_t)(uint32_t, int32_t, uint32_t, uint32_t, intptr_t, void*);
|
||||
typedef void (*vFuiupii_t)(uint32_t, int32_t, uint32_t, void*, int32_t, int32_t);
|
||||
typedef void (*vFuiupiu_t)(uint32_t, int32_t, uint32_t, void*, int32_t, uint32_t);
|
||||
typedef void (*vFuiUUUU_t)(uint32_t, int32_t, uint64_t, uint64_t, uint64_t, uint64_t);
|
||||
@@ -1636,8 +1676,12 @@ typedef void (*vFEppippp_t)(x86emu_t*, void*, void*, int32_t, void*, void*, void
|
||||
typedef void (*vFEpppppp_t)(x86emu_t*, void*, void*, void*, void*, void*, void*);
|
||||
typedef void (*vFiiiiiip_t)(int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, void*);
|
||||
typedef void (*vFiiiiuup_t)(int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, void*);
|
||||
typedef void (*vFiiuilil_t)(int32_t, int32_t, uint32_t, int32_t, intptr_t, int32_t, intptr_t);
|
||||
typedef void (*vFiiffffp_t)(int32_t, int32_t, float, float, float, float, void*);
|
||||
typedef void (*vFiipllli_t)(int32_t, int32_t, void*, intptr_t, intptr_t, intptr_t, int32_t);
|
||||
typedef void (*vFiuulipi_t)(int32_t, uint32_t, uint32_t, intptr_t, int32_t, void*, int32_t);
|
||||
typedef void (*vFilipliu_t)(int32_t, intptr_t, int32_t, void*, intptr_t, int32_t, uint32_t);
|
||||
typedef void (*vFilulipi_t)(int32_t, intptr_t, uint32_t, intptr_t, int32_t, void*, int32_t);
|
||||
typedef void (*vFuiiiiii_t)(uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t);
|
||||
typedef void (*vFuiiiuip_t)(uint32_t, int32_t, int32_t, int32_t, uint32_t, int32_t, void*);
|
||||
typedef void (*vFuiiiuup_t)(uint32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, void*);
|
||||
@@ -1677,6 +1721,7 @@ typedef void (*vFulillli_t)(uint32_t, intptr_t, int32_t, intptr_t, intptr_t, int
|
||||
typedef void (*vFulipulp_t)(uint32_t, intptr_t, int32_t, void*, uint32_t, intptr_t, void*);
|
||||
typedef void (*vFulpiill_t)(uint32_t, intptr_t, void*, int32_t, int32_t, intptr_t, intptr_t);
|
||||
typedef void (*vFlipuiip_t)(intptr_t, int32_t, void*, uint32_t, int32_t, int32_t, void*);
|
||||
typedef void (*vFlliiiip_t)(intptr_t, intptr_t, int32_t, int32_t, int32_t, int32_t, void*);
|
||||
typedef void (*vFpiiiipp_t)(void*, int32_t, int32_t, int32_t, int32_t, void*, void*);
|
||||
typedef void (*vFpiiliip_t)(void*, int32_t, int32_t, intptr_t, int32_t, int32_t, void*);
|
||||
typedef void (*vFpiipCpp_t)(void*, int32_t, int32_t, void*, uint8_t, void*, void*);
|
||||
@@ -1850,6 +1895,7 @@ typedef void (*vFuiiiiill_t)(uint32_t, int32_t, int32_t, int32_t, int32_t, int32
|
||||
typedef void (*vFuiiiiuup_t)(uint32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, void*);
|
||||
typedef void (*vFuiuiiiii_t)(uint32_t, int32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t);
|
||||
typedef void (*vFuiuiiiip_t)(uint32_t, int32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, void*);
|
||||
typedef void (*vFuiuiuuuu_t)(uint32_t, int32_t, uint32_t, int32_t, uint32_t, uint32_t, uint32_t, uint32_t);
|
||||
typedef void (*vFuiulplpp_t)(uint32_t, int32_t, uint32_t, intptr_t, void*, intptr_t, void*, void*);
|
||||
typedef void (*vFuipuliuf_t)(uint32_t, int32_t, void*, uint32_t, intptr_t, int32_t, uint32_t, float);
|
||||
typedef void (*vFuuiiiiii_t)(uint32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t);
|
||||
@@ -1863,6 +1909,7 @@ typedef void (*vFuuuiuiii_t)(uint32_t, uint32_t, uint32_t, int32_t, uint32_t, in
|
||||
typedef void (*vFuuuipipp_t)(uint32_t, uint32_t, uint32_t, int32_t, void*, int32_t, void*, void*);
|
||||
typedef void (*vFuuuuuuuu_t)(uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t);
|
||||
typedef void (*vFuuuuufff_t)(uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, float, float, float);
|
||||
typedef void (*vFuuufffff_t)(uint32_t, uint32_t, uint32_t, float, float, float, float, float);
|
||||
typedef void (*vFulllplip_t)(uint32_t, intptr_t, intptr_t, intptr_t, void*, intptr_t, int32_t, void*);
|
||||
typedef void (*vFffffffff_t)(float, float, float, float, float, float, float, float);
|
||||
typedef void (*vFlipuiuip_t)(intptr_t, int32_t, void*, uint32_t, int32_t, uint32_t, int32_t, void*);
|
||||
@@ -1922,6 +1969,7 @@ typedef uint32_t (*uFEppipppp_t)(x86emu_t*, void*, void*, int32_t, void*, void*,
|
||||
typedef uint32_t (*uFEpppuppp_t)(x86emu_t*, void*, void*, void*, uint32_t, void*, void*, void*);
|
||||
typedef uint32_t (*uFEppppppp_t)(x86emu_t*, void*, void*, void*, void*, void*, void*, void*);
|
||||
typedef uint32_t (*uFuipppppp_t)(uint32_t, int32_t, void*, void*, void*, void*, void*, void*);
|
||||
typedef uint32_t (*uFulpppppp_t)(uint32_t, intptr_t, void*, void*, void*, void*, void*, void*);
|
||||
typedef uint32_t (*uFpupuuuCp_t)(void*, uint32_t, void*, uint32_t, uint32_t, uint32_t, uint8_t, void*);
|
||||
typedef uint32_t (*uFppuuuupp_t)(void*, void*, uint32_t, uint32_t, uint32_t, uint32_t, void*, void*);
|
||||
typedef uint32_t (*uFppuuuppi_t)(void*, void*, uint32_t, uint32_t, uint32_t, void*, void*, int32_t);
|
||||
@@ -1960,7 +2008,9 @@ typedef void (*vFEpippippV_t)(x86emu_t*, void*, int32_t, void*, void*, int32_t,
|
||||
typedef void (*vFEppiipppp_t)(x86emu_t*, void*, void*, int32_t, int32_t, void*, void*, void*, void*);
|
||||
typedef void (*vFEpppiippp_t)(x86emu_t*, void*, void*, void*, int32_t, int32_t, void*, void*, void*);
|
||||
typedef void (*vFiiiiiiiii_t)(int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t);
|
||||
typedef void (*vFiiiiiiill_t)(int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, intptr_t, intptr_t);
|
||||
typedef void (*vFiiiiillli_t)(int32_t, int32_t, int32_t, int32_t, int32_t, intptr_t, intptr_t, intptr_t, int32_t);
|
||||
typedef void (*vFiiilllilp_t)(int32_t, int32_t, int32_t, intptr_t, intptr_t, intptr_t, int32_t, intptr_t, void*);
|
||||
typedef void (*vFuiiiiiiii_t)(uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t);
|
||||
typedef void (*vFuiiiiiuip_t)(uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, int32_t, void*);
|
||||
typedef void (*vFuiiiiiuup_t)(uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, void*);
|
||||
@@ -2046,7 +2096,10 @@ typedef void* (*pFpppppiipp_t)(void*, void*, void*, void*, void*, int32_t, int32
|
||||
typedef void (*vFEiippppppp_t)(x86emu_t*, int32_t, int32_t, void*, void*, void*, void*, void*, void*, void*);
|
||||
typedef void (*vFEpippppppp_t)(x86emu_t*, void*, int32_t, void*, void*, void*, void*, void*, void*, void*);
|
||||
typedef void (*vFEpppiipppp_t)(x86emu_t*, void*, void*, void*, int32_t, int32_t, void*, void*, void*, void*);
|
||||
typedef void (*vFiiiiiiiiii_t)(int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t);
|
||||
typedef void (*vFiiiiiiiiiu_t)(int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, uint32_t);
|
||||
typedef void (*vFiiiiiiiiui_t)(int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, int32_t);
|
||||
typedef void (*vFiiillliiip_t)(int32_t, int32_t, int32_t, intptr_t, intptr_t, intptr_t, int32_t, int32_t, int32_t, void*);
|
||||
typedef void (*vFippppppppp_t)(int32_t, void*, void*, void*, void*, void*, void*, void*, void*, void*);
|
||||
typedef void (*vFuiiiiiiiii_t)(uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t);
|
||||
typedef void (*vFuiiiiiiill_t)(uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, intptr_t, intptr_t);
|
||||
@@ -2102,6 +2155,8 @@ typedef void* (*pFplllllllll_t)(void*, intptr_t, intptr_t, intptr_t, intptr_t, i
|
||||
typedef void* (*pFppuiipuuii_t)(void*, void*, uint32_t, int32_t, int32_t, void*, uint32_t, uint32_t, int32_t, int32_t);
|
||||
typedef void* (*pFpppppppppp_t)(void*, void*, void*, void*, void*, void*, void*, void*, void*, void*);
|
||||
typedef void (*vFEpiiiupupup_t)(x86emu_t*, void*, int32_t, int32_t, int32_t, uint32_t, void*, uint32_t, void*, uint32_t, void*);
|
||||
typedef void (*vFiiiiillliip_t)(int32_t, int32_t, int32_t, int32_t, int32_t, intptr_t, intptr_t, intptr_t, int32_t, int32_t, void*);
|
||||
typedef void (*vFiiiiilllilp_t)(int32_t, int32_t, int32_t, int32_t, int32_t, intptr_t, intptr_t, intptr_t, int32_t, intptr_t, void*);
|
||||
typedef void (*vFiippppppppp_t)(int32_t, int32_t, void*, void*, void*, void*, void*, void*, void*, void*, void*);
|
||||
typedef void (*vFuiiiiiiiiip_t)(uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, void*);
|
||||
typedef void (*vFuiiiiiiiuip_t)(uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, int32_t, void*);
|
||||
@@ -2206,6 +2261,7 @@ typedef int32_t (*iFpppppppppppppp_t)(void*, void*, void*, void*, void*, void*,
|
||||
typedef void* (*pFEppCuuWWwwCCup_t)(x86emu_t*, void*, void*, uint8_t, uint32_t, uint32_t, uint16_t, uint16_t, int16_t, int16_t, uint8_t, uint8_t, uint32_t, void*);
|
||||
typedef void* (*pFEppuuuWWWWWWWW_t)(x86emu_t*, void*, void*, uint32_t, uint32_t, uint32_t, uint16_t, uint16_t, uint16_t, uint16_t, uint16_t, uint16_t, uint16_t, uint16_t);
|
||||
typedef void* (*pFpuupuupwwwwWWC_t)(void*, uint32_t, uint32_t, void*, uint32_t, uint32_t, void*, int16_t, int16_t, int16_t, int16_t, uint16_t, uint16_t, uint8_t);
|
||||
typedef void (*vFuiiiiiuiiiiilll_t)(uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, intptr_t, intptr_t, intptr_t);
|
||||
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 void (*vFppipppppppppppp_t)(void*, void*, int32_t, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*);
|
||||
@@ -2218,6 +2274,7 @@ typedef void* (*pFppppppppppppppp_t)(void*, void*, void*, void*, void*, void*, v
|
||||
typedef void (*vFpppppppppppppppp_t)(void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*);
|
||||
typedef int32_t (*iFpppppppppppppppp_t)(void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*);
|
||||
typedef void* (*pFppipipipipipipip_t)(void*, void*, int32_t, void*, int32_t, void*, int32_t, void*, int32_t, void*, int32_t, void*, int32_t, void*, int32_t, void*);
|
||||
typedef void (*vFuuuiiiiiuiiiiilll_t)(uint32_t, uint32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, intptr_t, intptr_t, intptr_t);
|
||||
typedef void (*vFppiiiiddddiiiiiuu_t)(void*, void*, int32_t, int32_t, int32_t, int32_t, double, double, double, double, int32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t);
|
||||
typedef int32_t (*iFppipipppppppppppp_t)(void*, void*, int32_t, void*, int32_t, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*);
|
||||
typedef int32_t (*iFpppippppppppppppp_t)(void*, void*, void*, int32_t, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*);
|
||||
@@ -2359,6 +2416,7 @@ void dFp(x86emu_t *emu, uintptr_t fcn) { dFp_t fn = (dFp_t)fcn; double db=fn(*(v
|
||||
void dFG(x86emu_t *emu, uintptr_t fcn) { dFG_t fn = (dFG_t)fcn; my_GValue_t arg4; alignGValue(&arg4, *(void**)(R_ESP + 4)); double db=fn(&arg4); fpu_do_push(emu); ST0val = db; unalignGValue(*(void**)(R_ESP + 4), &arg4); }
|
||||
void lFv(x86emu_t *emu, uintptr_t fcn) { lFv_t fn = (lFv_t)fcn; R_EAX=(intptr_t)fn(); }
|
||||
void lFi(x86emu_t *emu, uintptr_t fcn) { lFi_t fn = (lFi_t)fcn; R_EAX=(intptr_t)fn(*(int32_t*)(R_ESP + 4)); }
|
||||
void lFu(x86emu_t *emu, uintptr_t fcn) { lFu_t fn = (lFu_t)fcn; R_EAX=(intptr_t)fn(*(uint32_t*)(R_ESP + 4)); }
|
||||
void lFl(x86emu_t *emu, uintptr_t fcn) { lFl_t fn = (lFl_t)fcn; R_EAX=(intptr_t)fn(*(intptr_t*)(R_ESP + 4)); }
|
||||
void lFp(x86emu_t *emu, uintptr_t fcn) { lFp_t fn = (lFp_t)fcn; R_EAX=(intptr_t)fn(*(void**)(R_ESP + 4)); }
|
||||
void lFG(x86emu_t *emu, uintptr_t fcn) { lFG_t fn = (lFG_t)fcn; my_GValue_t arg4; alignGValue(&arg4, *(void**)(R_ESP + 4)); R_EAX=(intptr_t)fn(&arg4); unalignGValue(*(void**)(R_ESP + 4), &arg4); }
|
||||
@@ -2569,6 +2627,7 @@ void vFEpp(x86emu_t *emu, uintptr_t fcn) { vFEpp_t fn = (vFEpp_t)fcn; fn(emu, *(
|
||||
void vFEpV(x86emu_t *emu, uintptr_t fcn) { vFEpV_t fn = (vFEpV_t)fcn; fn(emu, *(void**)(R_ESP + 4), (void*)(R_ESP + 8)); }
|
||||
void vFiii(x86emu_t *emu, uintptr_t fcn) { vFiii_t fn = (vFiii_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(int32_t*)(R_ESP + 12)); }
|
||||
void vFiiu(x86emu_t *emu, uintptr_t fcn) { vFiiu_t fn = (vFiiu_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(uint32_t*)(R_ESP + 12)); }
|
||||
void vFiif(x86emu_t *emu, uintptr_t fcn) { vFiif_t fn = (vFiif_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(float*)(R_ESP + 12)); }
|
||||
void vFiip(x86emu_t *emu, uintptr_t fcn) { vFiip_t fn = (vFiip_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(void**)(R_ESP + 12)); }
|
||||
void vFiII(x86emu_t *emu, uintptr_t fcn) { vFiII_t fn = (vFiII_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(int64_t*)(R_ESP + 8), *(int64_t*)(R_ESP + 16)); }
|
||||
void vFiui(x86emu_t *emu, uintptr_t fcn) { vFiui_t fn = (vFiui_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(uint32_t*)(R_ESP + 8), *(int32_t*)(R_ESP + 12)); }
|
||||
@@ -2577,6 +2636,7 @@ void vFiup(x86emu_t *emu, uintptr_t fcn) { vFiup_t fn = (vFiup_t)fcn; fn(*(int32
|
||||
void vFiUU(x86emu_t *emu, uintptr_t fcn) { vFiUU_t fn = (vFiUU_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(uint64_t*)(R_ESP + 8), *(uint64_t*)(R_ESP + 16)); }
|
||||
void vFiff(x86emu_t *emu, uintptr_t fcn) { vFiff_t fn = (vFiff_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(float*)(R_ESP + 8), *(float*)(R_ESP + 12)); }
|
||||
void vFidd(x86emu_t *emu, uintptr_t fcn) { vFidd_t fn = (vFidd_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(double*)(R_ESP + 8), *(double*)(R_ESP + 16)); }
|
||||
void vFill(x86emu_t *emu, uintptr_t fcn) { vFill_t fn = (vFill_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(intptr_t*)(R_ESP + 8), *(intptr_t*)(R_ESP + 12)); }
|
||||
void vFilp(x86emu_t *emu, uintptr_t fcn) { vFilp_t fn = (vFilp_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(intptr_t*)(R_ESP + 8), *(void**)(R_ESP + 12)); }
|
||||
void vFipi(x86emu_t *emu, uintptr_t fcn) { vFipi_t fn = (vFipi_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(void**)(R_ESP + 8), *(int32_t*)(R_ESP + 12)); }
|
||||
void vFipu(x86emu_t *emu, uintptr_t fcn) { vFipu_t fn = (vFipu_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(void**)(R_ESP + 8), *(uint32_t*)(R_ESP + 12)); }
|
||||
@@ -2605,6 +2665,9 @@ void vFfff(x86emu_t *emu, uintptr_t fcn) { vFfff_t fn = (vFfff_t)fcn; fn(*(float
|
||||
void vFfpp(x86emu_t *emu, uintptr_t fcn) { vFfpp_t fn = (vFfpp_t)fcn; fn(*(float*)(R_ESP + 4), *(void**)(R_ESP + 8), *(void**)(R_ESP + 12)); }
|
||||
void vFddd(x86emu_t *emu, uintptr_t fcn) { vFddd_t fn = (vFddd_t)fcn; fn(*(double*)(R_ESP + 4), *(double*)(R_ESP + 12), *(double*)(R_ESP + 20)); }
|
||||
void vFdpp(x86emu_t *emu, uintptr_t fcn) { vFdpp_t fn = (vFdpp_t)fcn; fn(*(double*)(R_ESP + 4), *(void**)(R_ESP + 12), *(void**)(R_ESP + 16)); }
|
||||
void vFlip(x86emu_t *emu, uintptr_t fcn) { vFlip_t fn = (vFlip_t)fcn; fn(*(intptr_t*)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(void**)(R_ESP + 12)); }
|
||||
void vFllp(x86emu_t *emu, uintptr_t fcn) { vFllp_t fn = (vFllp_t)fcn; fn(*(intptr_t*)(R_ESP + 4), *(intptr_t*)(R_ESP + 8), *(void**)(R_ESP + 12)); }
|
||||
void vFlpp(x86emu_t *emu, uintptr_t fcn) { vFlpp_t fn = (vFlpp_t)fcn; fn(*(intptr_t*)(R_ESP + 4), *(void**)(R_ESP + 8), *(void**)(R_ESP + 12)); }
|
||||
void vFLpL(x86emu_t *emu, uintptr_t fcn) { vFLpL_t fn = (vFLpL_t)fcn; fn(*(uintptr_t*)(R_ESP + 4), *(void**)(R_ESP + 8), *(uintptr_t*)(R_ESP + 12)); }
|
||||
void vFpii(x86emu_t *emu, uintptr_t fcn) { vFpii_t fn = (vFpii_t)fcn; fn(*(void**)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(int32_t*)(R_ESP + 12)); }
|
||||
void vFpiI(x86emu_t *emu, uintptr_t fcn) { vFpiI_t fn = (vFpiI_t)fcn; fn(*(void**)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(int64_t*)(R_ESP + 12)); }
|
||||
@@ -2616,14 +2679,17 @@ void vFpip(x86emu_t *emu, uintptr_t fcn) { vFpip_t fn = (vFpip_t)fcn; fn(*(void*
|
||||
void vFpui(x86emu_t *emu, uintptr_t fcn) { vFpui_t fn = (vFpui_t)fcn; fn(*(void**)(R_ESP + 4), *(uint32_t*)(R_ESP + 8), *(int32_t*)(R_ESP + 12)); }
|
||||
void vFpuI(x86emu_t *emu, uintptr_t fcn) { vFpuI_t fn = (vFpuI_t)fcn; fn(*(void**)(R_ESP + 4), *(uint32_t*)(R_ESP + 8), *(int64_t*)(R_ESP + 12)); }
|
||||
void vFpuu(x86emu_t *emu, uintptr_t fcn) { vFpuu_t fn = (vFpuu_t)fcn; fn(*(void**)(R_ESP + 4), *(uint32_t*)(R_ESP + 8), *(uint32_t*)(R_ESP + 12)); }
|
||||
void vFpuU(x86emu_t *emu, uintptr_t fcn) { vFpuU_t fn = (vFpuU_t)fcn; fn(*(void**)(R_ESP + 4), *(uint32_t*)(R_ESP + 8), *(uint64_t*)(R_ESP + 12)); }
|
||||
void vFpup(x86emu_t *emu, uintptr_t fcn) { vFpup_t fn = (vFpup_t)fcn; fn(*(void**)(R_ESP + 4), *(uint32_t*)(R_ESP + 8), *(void**)(R_ESP + 12)); }
|
||||
void vFpUi(x86emu_t *emu, uintptr_t fcn) { vFpUi_t fn = (vFpUi_t)fcn; fn(*(void**)(R_ESP + 4), *(uint64_t*)(R_ESP + 8), *(int32_t*)(R_ESP + 16)); }
|
||||
void vFpUu(x86emu_t *emu, uintptr_t fcn) { vFpUu_t fn = (vFpUu_t)fcn; fn(*(void**)(R_ESP + 4), *(uint64_t*)(R_ESP + 8), *(uint32_t*)(R_ESP + 16)); }
|
||||
void vFpUU(x86emu_t *emu, uintptr_t fcn) { vFpUU_t fn = (vFpUU_t)fcn; fn(*(void**)(R_ESP + 4), *(uint64_t*)(R_ESP + 8), *(uint64_t*)(R_ESP + 16)); }
|
||||
void vFpUp(x86emu_t *emu, uintptr_t fcn) { vFpUp_t fn = (vFpUp_t)fcn; fn(*(void**)(R_ESP + 4), *(uint64_t*)(R_ESP + 8), *(void**)(R_ESP + 16)); }
|
||||
void vFpUP(x86emu_t *emu, uintptr_t fcn) { vFpUP_t fn = (vFpUP_t)fcn; void *arg16 = VulkanFromx86(*(void**)(R_ESP + 16)); fn(*(void**)(R_ESP + 4), *(uint64_t*)(R_ESP + 8), arg16); VulkanTox86(arg16); }
|
||||
void vFpff(x86emu_t *emu, uintptr_t fcn) { vFpff_t fn = (vFpff_t)fcn; fn(*(void**)(R_ESP + 4), *(float*)(R_ESP + 8), *(float*)(R_ESP + 12)); }
|
||||
void vFpdd(x86emu_t *emu, uintptr_t fcn) { vFpdd_t fn = (vFpdd_t)fcn; fn(*(void**)(R_ESP + 4), *(double*)(R_ESP + 8), *(double*)(R_ESP + 16)); }
|
||||
void vFpll(x86emu_t *emu, uintptr_t fcn) { vFpll_t fn = (vFpll_t)fcn; fn(*(void**)(R_ESP + 4), *(intptr_t*)(R_ESP + 8), *(intptr_t*)(R_ESP + 12)); }
|
||||
void vFplp(x86emu_t *emu, uintptr_t fcn) { vFplp_t fn = (vFplp_t)fcn; fn(*(void**)(R_ESP + 4), *(intptr_t*)(R_ESP + 8), *(void**)(R_ESP + 12)); }
|
||||
void vFpLi(x86emu_t *emu, uintptr_t fcn) { vFpLi_t fn = (vFpLi_t)fcn; fn(*(void**)(R_ESP + 4), *(uintptr_t*)(R_ESP + 8), *(int32_t*)(R_ESP + 12)); }
|
||||
void vFpLL(x86emu_t *emu, uintptr_t fcn) { vFpLL_t fn = (vFpLL_t)fcn; fn(*(void**)(R_ESP + 4), *(uintptr_t*)(R_ESP + 8), *(uintptr_t*)(R_ESP + 12)); }
|
||||
void vFpLp(x86emu_t *emu, uintptr_t fcn) { vFpLp_t fn = (vFpLp_t)fcn; fn(*(void**)(R_ESP + 4), *(uintptr_t*)(R_ESP + 8), *(void**)(R_ESP + 12)); }
|
||||
@@ -2878,21 +2944,27 @@ void vFEppV(x86emu_t *emu, uintptr_t fcn) { vFEppV_t fn = (vFEppV_t)fcn; fn(emu,
|
||||
void vFEpPp(x86emu_t *emu, uintptr_t fcn) { vFEpPp_t fn = (vFEpPp_t)fcn; void *arg8 = VulkanFromx86(*(void**)(R_ESP + 8)); fn(emu, *(void**)(R_ESP + 4), arg8, *(void**)(R_ESP + 12)); VulkanTox86(arg8); }
|
||||
void vFiiii(x86emu_t *emu, uintptr_t fcn) { vFiiii_t fn = (vFiiii_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(int32_t*)(R_ESP + 16)); }
|
||||
void vFiiip(x86emu_t *emu, uintptr_t fcn) { vFiiip_t fn = (vFiiip_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(void**)(R_ESP + 16)); }
|
||||
void vFiill(x86emu_t *emu, uintptr_t fcn) { vFiill_t fn = (vFiill_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(intptr_t*)(R_ESP + 12), *(intptr_t*)(R_ESP + 16)); }
|
||||
void vFiipp(x86emu_t *emu, uintptr_t fcn) { vFiipp_t fn = (vFiipp_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(void**)(R_ESP + 12), *(void**)(R_ESP + 16)); }
|
||||
void vFiipV(x86emu_t *emu, uintptr_t fcn) { vFiipV_t fn = (vFiipV_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(void**)(R_ESP + 12), (void*)(R_ESP + 16)); }
|
||||
void vFiIII(x86emu_t *emu, uintptr_t fcn) { vFiIII_t fn = (vFiIII_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(int64_t*)(R_ESP + 8), *(int64_t*)(R_ESP + 16), *(int64_t*)(R_ESP + 24)); }
|
||||
void vFiuiu(x86emu_t *emu, uintptr_t fcn) { vFiuiu_t fn = (vFiuiu_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(uint32_t*)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(uint32_t*)(R_ESP + 16)); }
|
||||
void vFiuip(x86emu_t *emu, uintptr_t fcn) { vFiuip_t fn = (vFiuip_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(uint32_t*)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(void**)(R_ESP + 16)); }
|
||||
void vFiuuu(x86emu_t *emu, uintptr_t fcn) { vFiuuu_t fn = (vFiuuu_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(uint32_t*)(R_ESP + 8), *(uint32_t*)(R_ESP + 12), *(uint32_t*)(R_ESP + 16)); }
|
||||
void vFiuup(x86emu_t *emu, uintptr_t fcn) { vFiuup_t fn = (vFiuup_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(uint32_t*)(R_ESP + 8), *(uint32_t*)(R_ESP + 12), *(void**)(R_ESP + 16)); }
|
||||
void vFiulp(x86emu_t *emu, uintptr_t fcn) { vFiulp_t fn = (vFiulp_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(uint32_t*)(R_ESP + 8), *(intptr_t*)(R_ESP + 12), *(void**)(R_ESP + 16)); }
|
||||
void vFiupu(x86emu_t *emu, uintptr_t fcn) { vFiupu_t fn = (vFiupu_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(uint32_t*)(R_ESP + 8), *(void**)(R_ESP + 12), *(uint32_t*)(R_ESP + 16)); }
|
||||
void vFiupV(x86emu_t *emu, uintptr_t fcn) { vFiupV_t fn = (vFiupV_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(uint32_t*)(R_ESP + 8), *(void**)(R_ESP + 12), (void*)(R_ESP + 16)); }
|
||||
void vFiUUU(x86emu_t *emu, uintptr_t fcn) { vFiUUU_t fn = (vFiUUU_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(uint64_t*)(R_ESP + 8), *(uint64_t*)(R_ESP + 16), *(uint64_t*)(R_ESP + 24)); }
|
||||
void vFifff(x86emu_t *emu, uintptr_t fcn) { vFifff_t fn = (vFifff_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(float*)(R_ESP + 8), *(float*)(R_ESP + 12), *(float*)(R_ESP + 16)); }
|
||||
void vFiddd(x86emu_t *emu, uintptr_t fcn) { vFiddd_t fn = (vFiddd_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(double*)(R_ESP + 8), *(double*)(R_ESP + 16), *(double*)(R_ESP + 24)); }
|
||||
void vFilil(x86emu_t *emu, uintptr_t fcn) { vFilil_t fn = (vFilil_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(intptr_t*)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(intptr_t*)(R_ESP + 16)); }
|
||||
void vFilip(x86emu_t *emu, uintptr_t fcn) { vFilip_t fn = (vFilip_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(intptr_t*)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(void**)(R_ESP + 16)); }
|
||||
void vFilpu(x86emu_t *emu, uintptr_t fcn) { vFilpu_t fn = (vFilpu_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(intptr_t*)(R_ESP + 8), *(void**)(R_ESP + 12), *(uint32_t*)(R_ESP + 16)); }
|
||||
void vFilpp(x86emu_t *emu, uintptr_t fcn) { vFilpp_t fn = (vFilpp_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(intptr_t*)(R_ESP + 8), *(void**)(R_ESP + 12), *(void**)(R_ESP + 16)); }
|
||||
void vFipii(x86emu_t *emu, uintptr_t fcn) { vFipii_t fn = (vFipii_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(void**)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(int32_t*)(R_ESP + 16)); }
|
||||
void vFipup(x86emu_t *emu, uintptr_t fcn) { vFipup_t fn = (vFipup_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(void**)(R_ESP + 8), *(uint32_t*)(R_ESP + 12), *(void**)(R_ESP + 16)); }
|
||||
void vFipll(x86emu_t *emu, uintptr_t fcn) { vFipll_t fn = (vFipll_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(void**)(R_ESP + 8), *(intptr_t*)(R_ESP + 12), *(intptr_t*)(R_ESP + 16)); }
|
||||
void vFippi(x86emu_t *emu, uintptr_t fcn) { vFippi_t fn = (vFippi_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(void**)(R_ESP + 8), *(void**)(R_ESP + 12), *(int32_t*)(R_ESP + 16)); }
|
||||
void vFippu(x86emu_t *emu, uintptr_t fcn) { vFippu_t fn = (vFippu_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(void**)(R_ESP + 8), *(void**)(R_ESP + 12), *(uint32_t*)(R_ESP + 16)); }
|
||||
void vFippp(x86emu_t *emu, uintptr_t fcn) { vFippp_t fn = (vFippp_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(void**)(R_ESP + 8), *(void**)(R_ESP + 12), *(void**)(R_ESP + 16)); }
|
||||
@@ -2959,16 +3031,19 @@ void vFpuup(x86emu_t *emu, uintptr_t fcn) { vFpuup_t fn = (vFpuup_t)fcn; fn(*(vo
|
||||
void vFpuuV(x86emu_t *emu, uintptr_t fcn) { vFpuuV_t fn = (vFpuuV_t)fcn; fn(*(void**)(R_ESP + 4), *(uint32_t*)(R_ESP + 8), *(uint32_t*)(R_ESP + 12), (void*)(R_ESP + 16)); }
|
||||
void vFpudd(x86emu_t *emu, uintptr_t fcn) { vFpudd_t fn = (vFpudd_t)fcn; fn(*(void**)(R_ESP + 4), *(uint32_t*)(R_ESP + 8), *(double*)(R_ESP + 12), *(double*)(R_ESP + 20)); }
|
||||
void vFpupp(x86emu_t *emu, uintptr_t fcn) { vFpupp_t fn = (vFpupp_t)fcn; fn(*(void**)(R_ESP + 4), *(uint32_t*)(R_ESP + 8), *(void**)(R_ESP + 12), *(void**)(R_ESP + 16)); }
|
||||
void vFpupP(x86emu_t *emu, uintptr_t fcn) { vFpupP_t fn = (vFpupP_t)fcn; void *arg16 = VulkanFromx86(*(void**)(R_ESP + 16)); fn(*(void**)(R_ESP + 4), *(uint32_t*)(R_ESP + 8), *(void**)(R_ESP + 12), arg16); VulkanTox86(arg16); }
|
||||
void vFpUui(x86emu_t *emu, uintptr_t fcn) { vFpUui_t fn = (vFpUui_t)fcn; fn(*(void**)(R_ESP + 4), *(uint64_t*)(R_ESP + 8), *(uint32_t*)(R_ESP + 16), *(int32_t*)(R_ESP + 20)); }
|
||||
void vFpUuu(x86emu_t *emu, uintptr_t fcn) { vFpUuu_t fn = (vFpUuu_t)fcn; fn(*(void**)(R_ESP + 4), *(uint64_t*)(R_ESP + 8), *(uint32_t*)(R_ESP + 16), *(uint32_t*)(R_ESP + 20)); }
|
||||
void vFpUup(x86emu_t *emu, uintptr_t fcn) { vFpUup_t fn = (vFpUup_t)fcn; fn(*(void**)(R_ESP + 4), *(uint64_t*)(R_ESP + 8), *(uint32_t*)(R_ESP + 16), *(void**)(R_ESP + 20)); }
|
||||
void vFpUUi(x86emu_t *emu, uintptr_t fcn) { vFpUUi_t fn = (vFpUUi_t)fcn; fn(*(void**)(R_ESP + 4), *(uint64_t*)(R_ESP + 8), *(uint64_t*)(R_ESP + 16), *(int32_t*)(R_ESP + 24)); }
|
||||
void vFpUUu(x86emu_t *emu, uintptr_t fcn) { vFpUUu_t fn = (vFpUUu_t)fcn; fn(*(void**)(R_ESP + 4), *(uint64_t*)(R_ESP + 8), *(uint64_t*)(R_ESP + 16), *(uint32_t*)(R_ESP + 24)); }
|
||||
void vFpUUp(x86emu_t *emu, uintptr_t fcn) { vFpUUp_t fn = (vFpUUp_t)fcn; fn(*(void**)(R_ESP + 4), *(uint64_t*)(R_ESP + 8), *(uint64_t*)(R_ESP + 16), *(void**)(R_ESP + 24)); }
|
||||
void vFpUpp(x86emu_t *emu, uintptr_t fcn) { vFpUpp_t fn = (vFpUpp_t)fcn; fn(*(void**)(R_ESP + 4), *(uint64_t*)(R_ESP + 8), *(void**)(R_ESP + 16), *(void**)(R_ESP + 20)); }
|
||||
void vFpfff(x86emu_t *emu, uintptr_t fcn) { vFpfff_t fn = (vFpfff_t)fcn; fn(*(void**)(R_ESP + 4), *(float*)(R_ESP + 8), *(float*)(R_ESP + 12), *(float*)(R_ESP + 16)); }
|
||||
void vFpdii(x86emu_t *emu, uintptr_t fcn) { vFpdii_t fn = (vFpdii_t)fcn; fn(*(void**)(R_ESP + 4), *(double*)(R_ESP + 8), *(int32_t*)(R_ESP + 16), *(int32_t*)(R_ESP + 20)); }
|
||||
void vFpddi(x86emu_t *emu, uintptr_t fcn) { vFpddi_t fn = (vFpddi_t)fcn; fn(*(void**)(R_ESP + 4), *(double*)(R_ESP + 8), *(double*)(R_ESP + 16), *(int32_t*)(R_ESP + 24)); }
|
||||
void vFpddd(x86emu_t *emu, uintptr_t fcn) { vFpddd_t fn = (vFpddd_t)fcn; fn(*(void**)(R_ESP + 4), *(double*)(R_ESP + 8), *(double*)(R_ESP + 16), *(double*)(R_ESP + 24)); }
|
||||
void vFplpp(x86emu_t *emu, uintptr_t fcn) { vFplpp_t fn = (vFplpp_t)fcn; fn(*(void**)(R_ESP + 4), *(intptr_t*)(R_ESP + 8), *(void**)(R_ESP + 12), *(void**)(R_ESP + 16)); }
|
||||
void vFpLLL(x86emu_t *emu, uintptr_t fcn) { vFpLLL_t fn = (vFpLLL_t)fcn; fn(*(void**)(R_ESP + 4), *(uintptr_t*)(R_ESP + 8), *(uintptr_t*)(R_ESP + 12), *(uintptr_t*)(R_ESP + 16)); }
|
||||
void vFppii(x86emu_t *emu, uintptr_t fcn) { vFppii_t fn = (vFppii_t)fcn; fn(*(void**)(R_ESP + 4), *(void**)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(int32_t*)(R_ESP + 16)); }
|
||||
void vFppiu(x86emu_t *emu, uintptr_t fcn) { vFppiu_t fn = (vFppiu_t)fcn; fn(*(void**)(R_ESP + 4), *(void**)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(uint32_t*)(R_ESP + 16)); }
|
||||
@@ -3194,6 +3269,7 @@ void pFiiup(x86emu_t *emu, uintptr_t fcn) { pFiiup_t fn = (pFiiup_t)fcn; R_EAX=(
|
||||
void pFiipi(x86emu_t *emu, uintptr_t fcn) { pFiipi_t fn = (pFiipi_t)fcn; R_EAX=(uintptr_t)fn(*(int32_t*)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(void**)(R_ESP + 12), *(int32_t*)(R_ESP + 16)); }
|
||||
void pFiipp(x86emu_t *emu, uintptr_t fcn) { pFiipp_t fn = (pFiipp_t)fcn; R_EAX=(uintptr_t)fn(*(int32_t*)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(void**)(R_ESP + 12), *(void**)(R_ESP + 16)); }
|
||||
void pFiIIi(x86emu_t *emu, uintptr_t fcn) { pFiIIi_t fn = (pFiIIi_t)fcn; R_EAX=(uintptr_t)fn(*(int32_t*)(R_ESP + 4), *(int64_t*)(R_ESP + 8), *(int64_t*)(R_ESP + 16), *(int32_t*)(R_ESP + 24)); }
|
||||
void pFillu(x86emu_t *emu, uintptr_t fcn) { pFillu_t fn = (pFillu_t)fcn; R_EAX=(uintptr_t)fn(*(int32_t*)(R_ESP + 4), *(intptr_t*)(R_ESP + 8), *(intptr_t*)(R_ESP + 12), *(uint32_t*)(R_ESP + 16)); }
|
||||
void pFipii(x86emu_t *emu, uintptr_t fcn) { pFipii_t fn = (pFipii_t)fcn; R_EAX=(uintptr_t)fn(*(int32_t*)(R_ESP + 4), *(void**)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(int32_t*)(R_ESP + 16)); }
|
||||
void pFipip(x86emu_t *emu, uintptr_t fcn) { pFipip_t fn = (pFipip_t)fcn; R_EAX=(uintptr_t)fn(*(int32_t*)(R_ESP + 4), *(void**)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(void**)(R_ESP + 16)); }
|
||||
void pFipup(x86emu_t *emu, uintptr_t fcn) { pFipup_t fn = (pFipup_t)fcn; R_EAX=(uintptr_t)fn(*(int32_t*)(R_ESP + 4), *(void**)(R_ESP + 8), *(uint32_t*)(R_ESP + 12), *(void**)(R_ESP + 16)); }
|
||||
@@ -3253,10 +3329,15 @@ void vFEppip(x86emu_t *emu, uintptr_t fcn) { vFEppip_t fn = (vFEppip_t)fcn; fn(e
|
||||
void vFEppiV(x86emu_t *emu, uintptr_t fcn) { vFEppiV_t fn = (vFEppiV_t)fcn; fn(emu, *(void**)(R_ESP + 4), *(void**)(R_ESP + 8), *(int32_t*)(R_ESP + 12), (void*)(R_ESP + 16)); }
|
||||
void vFEppup(x86emu_t *emu, uintptr_t fcn) { vFEppup_t fn = (vFEppup_t)fcn; fn(emu, *(void**)(R_ESP + 4), *(void**)(R_ESP + 8), *(uint32_t*)(R_ESP + 12), *(void**)(R_ESP + 16)); }
|
||||
void vFEpppp(x86emu_t *emu, uintptr_t fcn) { vFEpppp_t fn = (vFEpppp_t)fcn; fn(emu, *(void**)(R_ESP + 4), *(void**)(R_ESP + 8), *(void**)(R_ESP + 12), *(void**)(R_ESP + 16)); }
|
||||
void vFEpPpp(x86emu_t *emu, uintptr_t fcn) { vFEpPpp_t fn = (vFEpPpp_t)fcn; void *arg8 = VulkanFromx86(*(void**)(R_ESP + 8)); fn(emu, *(void**)(R_ESP + 4), arg8, *(void**)(R_ESP + 12), *(void**)(R_ESP + 16)); VulkanTox86(arg8); }
|
||||
void vFiiiii(x86emu_t *emu, uintptr_t fcn) { vFiiiii_t fn = (vFiiiii_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(int32_t*)(R_ESP + 16), *(int32_t*)(R_ESP + 20)); }
|
||||
void vFiiiiu(x86emu_t *emu, uintptr_t fcn) { vFiiiiu_t fn = (vFiiiiu_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(int32_t*)(R_ESP + 16), *(uint32_t*)(R_ESP + 20)); }
|
||||
void vFiiuii(x86emu_t *emu, uintptr_t fcn) { vFiiuii_t fn = (vFiiuii_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(uint32_t*)(R_ESP + 12), *(int32_t*)(R_ESP + 16), *(int32_t*)(R_ESP + 20)); }
|
||||
void vFiiuup(x86emu_t *emu, uintptr_t fcn) { vFiiuup_t fn = (vFiiuup_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(uint32_t*)(R_ESP + 12), *(uint32_t*)(R_ESP + 16), *(void**)(R_ESP + 20)); }
|
||||
void vFiillu(x86emu_t *emu, uintptr_t fcn) { vFiillu_t fn = (vFiillu_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(intptr_t*)(R_ESP + 12), *(intptr_t*)(R_ESP + 16), *(uint32_t*)(R_ESP + 20)); }
|
||||
void vFiilll(x86emu_t *emu, uintptr_t fcn) { vFiilll_t fn = (vFiilll_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(intptr_t*)(R_ESP + 12), *(intptr_t*)(R_ESP + 16), *(intptr_t*)(R_ESP + 20)); }
|
||||
void vFiipii(x86emu_t *emu, uintptr_t fcn) { vFiipii_t fn = (vFiipii_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(void**)(R_ESP + 12), *(int32_t*)(R_ESP + 16), *(int32_t*)(R_ESP + 20)); }
|
||||
void vFiipll(x86emu_t *emu, uintptr_t fcn) { vFiipll_t fn = (vFiipll_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(void**)(R_ESP + 12), *(intptr_t*)(R_ESP + 16), *(intptr_t*)(R_ESP + 20)); }
|
||||
void vFiIIII(x86emu_t *emu, uintptr_t fcn) { vFiIIII_t fn = (vFiIIII_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(int64_t*)(R_ESP + 8), *(int64_t*)(R_ESP + 16), *(int64_t*)(R_ESP + 24), *(int64_t*)(R_ESP + 32)); }
|
||||
void vFiuiip(x86emu_t *emu, uintptr_t fcn) { vFiuiip_t fn = (vFiuiip_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(uint32_t*)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(int32_t*)(R_ESP + 16), *(void**)(R_ESP + 20)); }
|
||||
void vFiuipi(x86emu_t *emu, uintptr_t fcn) { vFiuipi_t fn = (vFiuipi_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(uint32_t*)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(void**)(R_ESP + 16), *(int32_t*)(R_ESP + 20)); }
|
||||
@@ -3267,6 +3348,8 @@ void vFiUUUU(x86emu_t *emu, uintptr_t fcn) { vFiUUUU_t fn = (vFiUUUU_t)fcn; fn(*
|
||||
void vFiffff(x86emu_t *emu, uintptr_t fcn) { vFiffff_t fn = (vFiffff_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(float*)(R_ESP + 8), *(float*)(R_ESP + 12), *(float*)(R_ESP + 16), *(float*)(R_ESP + 20)); }
|
||||
void vFidddd(x86emu_t *emu, uintptr_t fcn) { vFidddd_t fn = (vFidddd_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(double*)(R_ESP + 8), *(double*)(R_ESP + 16), *(double*)(R_ESP + 24), *(double*)(R_ESP + 32)); }
|
||||
void vFilill(x86emu_t *emu, uintptr_t fcn) { vFilill_t fn = (vFilill_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(intptr_t*)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(intptr_t*)(R_ESP + 16), *(intptr_t*)(R_ESP + 20)); }
|
||||
void vFilipi(x86emu_t *emu, uintptr_t fcn) { vFilipi_t fn = (vFilipi_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(intptr_t*)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(void**)(R_ESP + 16), *(int32_t*)(R_ESP + 20)); }
|
||||
void vFilipl(x86emu_t *emu, uintptr_t fcn) { vFilipl_t fn = (vFilipl_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(intptr_t*)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(void**)(R_ESP + 16), *(intptr_t*)(R_ESP + 20)); }
|
||||
void vFipipu(x86emu_t *emu, uintptr_t fcn) { vFipipu_t fn = (vFipipu_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(void**)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(void**)(R_ESP + 16), *(uint32_t*)(R_ESP + 20)); }
|
||||
void vFipipp(x86emu_t *emu, uintptr_t fcn) { vFipipp_t fn = (vFipipp_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(void**)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(void**)(R_ESP + 16), *(void**)(R_ESP + 20)); }
|
||||
void vFipupi(x86emu_t *emu, uintptr_t fcn) { vFipupi_t fn = (vFipupi_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(void**)(R_ESP + 8), *(uint32_t*)(R_ESP + 12), *(void**)(R_ESP + 16), *(int32_t*)(R_ESP + 20)); }
|
||||
@@ -3276,6 +3359,7 @@ void vFuiiii(x86emu_t *emu, uintptr_t fcn) { vFuiiii_t fn = (vFuiiii_t)fcn; fn(*
|
||||
void vFuiiiu(x86emu_t *emu, uintptr_t fcn) { vFuiiiu_t fn = (vFuiiiu_t)fcn; fn(*(uint32_t*)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(int32_t*)(R_ESP + 16), *(uint32_t*)(R_ESP + 20)); }
|
||||
void vFuiiip(x86emu_t *emu, uintptr_t fcn) { vFuiiip_t fn = (vFuiiip_t)fcn; fn(*(uint32_t*)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(int32_t*)(R_ESP + 16), *(void**)(R_ESP + 20)); }
|
||||
void vFuiifi(x86emu_t *emu, uintptr_t fcn) { vFuiifi_t fn = (vFuiifi_t)fcn; fn(*(uint32_t*)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(float*)(R_ESP + 16), *(int32_t*)(R_ESP + 20)); }
|
||||
void vFuiill(x86emu_t *emu, uintptr_t fcn) { vFuiill_t fn = (vFuiill_t)fcn; fn(*(uint32_t*)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(intptr_t*)(R_ESP + 16), *(intptr_t*)(R_ESP + 20)); }
|
||||
void vFuiIII(x86emu_t *emu, uintptr_t fcn) { vFuiIII_t fn = (vFuiIII_t)fcn; fn(*(uint32_t*)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(int64_t*)(R_ESP + 12), *(int64_t*)(R_ESP + 20), *(int64_t*)(R_ESP + 28)); }
|
||||
void vFuiuii(x86emu_t *emu, uintptr_t fcn) { vFuiuii_t fn = (vFuiuii_t)fcn; fn(*(uint32_t*)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(uint32_t*)(R_ESP + 12), *(int32_t*)(R_ESP + 16), *(int32_t*)(R_ESP + 20)); }
|
||||
void vFuiuiu(x86emu_t *emu, uintptr_t fcn) { vFuiuiu_t fn = (vFuiuiu_t)fcn; fn(*(uint32_t*)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(uint32_t*)(R_ESP + 12), *(int32_t*)(R_ESP + 16), *(uint32_t*)(R_ESP + 20)); }
|
||||
@@ -3328,6 +3412,8 @@ void vFpiiff(x86emu_t *emu, uintptr_t fcn) { vFpiiff_t fn = (vFpiiff_t)fcn; fn(*
|
||||
void vFpiipp(x86emu_t *emu, uintptr_t fcn) { vFpiipp_t fn = (vFpiipp_t)fcn; fn(*(void**)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(void**)(R_ESP + 16), *(void**)(R_ESP + 20)); }
|
||||
void vFpiIiI(x86emu_t *emu, uintptr_t fcn) { vFpiIiI_t fn = (vFpiIiI_t)fcn; fn(*(void**)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(int64_t*)(R_ESP + 12), *(int32_t*)(R_ESP + 20), *(int64_t*)(R_ESP + 24)); }
|
||||
void vFpiIII(x86emu_t *emu, uintptr_t fcn) { vFpiIII_t fn = (vFpiIII_t)fcn; fn(*(void**)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(int64_t*)(R_ESP + 12), *(int64_t*)(R_ESP + 20), *(int64_t*)(R_ESP + 28)); }
|
||||
void vFpiUUp(x86emu_t *emu, uintptr_t fcn) { vFpiUUp_t fn = (vFpiUUp_t)fcn; fn(*(void**)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(uint64_t*)(R_ESP + 12), *(uint64_t*)(R_ESP + 20), *(void**)(R_ESP + 28)); }
|
||||
void vFpilpp(x86emu_t *emu, uintptr_t fcn) { vFpilpp_t fn = (vFpilpp_t)fcn; fn(*(void**)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(intptr_t*)(R_ESP + 12), *(void**)(R_ESP + 16), *(void**)(R_ESP + 20)); }
|
||||
void vFpipii(x86emu_t *emu, uintptr_t fcn) { vFpipii_t fn = (vFpipii_t)fcn; 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 vFpipiu(x86emu_t *emu, uintptr_t fcn) { vFpipiu_t fn = (vFpipiu_t)fcn; fn(*(void**)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(void**)(R_ESP + 12), *(int32_t*)(R_ESP + 16), *(uint32_t*)(R_ESP + 20)); }
|
||||
void vFpuiip(x86emu_t *emu, uintptr_t fcn) { vFpuiip_t fn = (vFpuiip_t)fcn; fn(*(void**)(R_ESP + 4), *(uint32_t*)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(int32_t*)(R_ESP + 16), *(void**)(R_ESP + 20)); }
|
||||
@@ -3388,6 +3474,7 @@ void iFEpiup(x86emu_t *emu, uintptr_t fcn) { iFEpiup_t fn = (iFEpiup_t)fcn; R_EA
|
||||
void iFEpipi(x86emu_t *emu, uintptr_t fcn) { iFEpipi_t fn = (iFEpipi_t)fcn; R_EAX=fn(emu, *(void**)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(void**)(R_ESP + 12), *(int32_t*)(R_ESP + 16)); }
|
||||
void iFEpipp(x86emu_t *emu, uintptr_t fcn) { iFEpipp_t fn = (iFEpipp_t)fcn; R_EAX=fn(emu, *(void**)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(void**)(R_ESP + 12), *(void**)(R_ESP + 16)); }
|
||||
void iFEpipV(x86emu_t *emu, uintptr_t fcn) { iFEpipV_t fn = (iFEpipV_t)fcn; R_EAX=fn(emu, *(void**)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(void**)(R_ESP + 12), (void*)(R_ESP + 16)); }
|
||||
void iFEpupU(x86emu_t *emu, uintptr_t fcn) { iFEpupU_t fn = (iFEpupU_t)fcn; R_EAX=fn(emu, *(void**)(R_ESP + 4), *(uint32_t*)(R_ESP + 8), *(void**)(R_ESP + 12), *(uint64_t*)(R_ESP + 16)); }
|
||||
void iFEpupp(x86emu_t *emu, uintptr_t fcn) { iFEpupp_t fn = (iFEpupp_t)fcn; R_EAX=fn(emu, *(void**)(R_ESP + 4), *(uint32_t*)(R_ESP + 8), *(void**)(R_ESP + 12), *(void**)(R_ESP + 16)); }
|
||||
void iFEpupV(x86emu_t *emu, uintptr_t fcn) { iFEpupV_t fn = (iFEpupV_t)fcn; R_EAX=fn(emu, *(void**)(R_ESP + 4), *(uint32_t*)(R_ESP + 8), *(void**)(R_ESP + 12), (void*)(R_ESP + 16)); }
|
||||
void iFEpUup(x86emu_t *emu, uintptr_t fcn) { iFEpUup_t fn = (iFEpUup_t)fcn; R_EAX=fn(emu, *(void**)(R_ESP + 4), *(uint64_t*)(R_ESP + 8), *(uint32_t*)(R_ESP + 16), *(void**)(R_ESP + 20)); }
|
||||
@@ -3430,6 +3517,7 @@ void iFpiipp(x86emu_t *emu, uintptr_t fcn) { iFpiipp_t fn = (iFpiipp_t)fcn; R_EA
|
||||
void iFpiIip(x86emu_t *emu, uintptr_t fcn) { iFpiIip_t fn = (iFpiIip_t)fcn; R_EAX=fn(*(void**)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(int64_t*)(R_ESP + 12), *(int32_t*)(R_ESP + 20), *(void**)(R_ESP + 24)); }
|
||||
void iFpiuwp(x86emu_t *emu, uintptr_t fcn) { iFpiuwp_t fn = (iFpiuwp_t)fcn; R_EAX=fn(*(void**)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(uint32_t*)(R_ESP + 12), *(int16_t*)(R_ESP + 16), *(void**)(R_ESP + 20)); }
|
||||
void iFpiupu(x86emu_t *emu, uintptr_t fcn) { iFpiupu_t fn = (iFpiupu_t)fcn; R_EAX=fn(*(void**)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(uint32_t*)(R_ESP + 12), *(void**)(R_ESP + 16), *(uint32_t*)(R_ESP + 20)); }
|
||||
void iFpiUUU(x86emu_t *emu, uintptr_t fcn) { iFpiUUU_t fn = (iFpiUUU_t)fcn; R_EAX=fn(*(void**)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(uint64_t*)(R_ESP + 12), *(uint64_t*)(R_ESP + 20), *(uint64_t*)(R_ESP + 28)); }
|
||||
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 iFpipiL(x86emu_t *emu, uintptr_t fcn) { iFpipiL_t fn = (iFpipiL_t)fcn; R_EAX=fn(*(void**)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(void**)(R_ESP + 12), *(int32_t*)(R_ESP + 16), *(uintptr_t*)(R_ESP + 20)); }
|
||||
void iFpipip(x86emu_t *emu, uintptr_t fcn) { iFpipip_t fn = (iFpipip_t)fcn; R_EAX=fn(*(void**)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(void**)(R_ESP + 12), *(int32_t*)(R_ESP + 16), *(void**)(R_ESP + 20)); }
|
||||
@@ -3453,6 +3541,7 @@ void iFpupuu(x86emu_t *emu, uintptr_t fcn) { iFpupuu_t fn = (iFpupuu_t)fcn; R_EA
|
||||
void iFpupup(x86emu_t *emu, uintptr_t fcn) { iFpupup_t fn = (iFpupup_t)fcn; R_EAX=fn(*(void**)(R_ESP + 4), *(uint32_t*)(R_ESP + 8), *(void**)(R_ESP + 12), *(uint32_t*)(R_ESP + 16), *(void**)(R_ESP + 20)); }
|
||||
void iFpuppu(x86emu_t *emu, uintptr_t fcn) { iFpuppu_t fn = (iFpuppu_t)fcn; R_EAX=fn(*(void**)(R_ESP + 4), *(uint32_t*)(R_ESP + 8), *(void**)(R_ESP + 12), *(void**)(R_ESP + 16), *(uint32_t*)(R_ESP + 20)); }
|
||||
void iFpuppp(x86emu_t *emu, uintptr_t fcn) { iFpuppp_t fn = (iFpuppp_t)fcn; R_EAX=fn(*(void**)(R_ESP + 4), *(uint32_t*)(R_ESP + 8), *(void**)(R_ESP + 12), *(void**)(R_ESP + 16), *(void**)(R_ESP + 20)); }
|
||||
void iFpUiUi(x86emu_t *emu, uintptr_t fcn) { iFpUiUi_t fn = (iFpUiUi_t)fcn; R_EAX=fn(*(void**)(R_ESP + 4), *(uint64_t*)(R_ESP + 8), *(int32_t*)(R_ESP + 16), *(uint64_t*)(R_ESP + 20), *(int32_t*)(R_ESP + 28)); }
|
||||
void iFplluu(x86emu_t *emu, uintptr_t fcn) { iFplluu_t fn = (iFplluu_t)fcn; R_EAX=fn(*(void**)(R_ESP + 4), *(intptr_t*)(R_ESP + 8), *(intptr_t*)(R_ESP + 12), *(uint32_t*)(R_ESP + 16), *(uint32_t*)(R_ESP + 20)); }
|
||||
void iFpLlpp(x86emu_t *emu, uintptr_t fcn) { iFpLlpp_t fn = (iFpLlpp_t)fcn; R_EAX=fn(*(void**)(R_ESP + 4), *(uintptr_t*)(R_ESP + 8), *(intptr_t*)(R_ESP + 12), *(void**)(R_ESP + 16), *(void**)(R_ESP + 20)); }
|
||||
void iFpLLpp(x86emu_t *emu, uintptr_t fcn) { iFpLLpp_t fn = (iFpLLpp_t)fcn; R_EAX=fn(*(void**)(R_ESP + 4), *(uintptr_t*)(R_ESP + 8), *(uintptr_t*)(R_ESP + 12), *(void**)(R_ESP + 16), *(void**)(R_ESP + 20)); }
|
||||
@@ -3590,13 +3679,20 @@ void vFEpppiu(x86emu_t *emu, uintptr_t fcn) { vFEpppiu_t fn = (vFEpppiu_t)fcn; f
|
||||
void vFEppppp(x86emu_t *emu, uintptr_t fcn) { vFEppppp_t fn = (vFEppppp_t)fcn; fn(emu, *(void**)(R_ESP + 4), *(void**)(R_ESP + 8), *(void**)(R_ESP + 12), *(void**)(R_ESP + 16), *(void**)(R_ESP + 20)); }
|
||||
void vFiiiiii(x86emu_t *emu, uintptr_t fcn) { vFiiiiii_t fn = (vFiiiiii_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(int32_t*)(R_ESP + 16), *(int32_t*)(R_ESP + 20), *(int32_t*)(R_ESP + 24)); }
|
||||
void vFiiiuil(x86emu_t *emu, uintptr_t fcn) { vFiiiuil_t fn = (vFiiiuil_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(uint32_t*)(R_ESP + 16), *(int32_t*)(R_ESP + 20), *(intptr_t*)(R_ESP + 24)); }
|
||||
void vFiiilpi(x86emu_t *emu, uintptr_t fcn) { vFiiilpi_t fn = (vFiiilpi_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(intptr_t*)(R_ESP + 16), *(void**)(R_ESP + 20), *(int32_t*)(R_ESP + 24)); }
|
||||
void vFiiuiil(x86emu_t *emu, uintptr_t fcn) { vFiiuiil_t fn = (vFiiuiil_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(uint32_t*)(R_ESP + 12), *(int32_t*)(R_ESP + 16), *(int32_t*)(R_ESP + 20), *(intptr_t*)(R_ESP + 24)); }
|
||||
void vFiiuilp(x86emu_t *emu, uintptr_t fcn) { vFiiuilp_t fn = (vFiiuilp_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(uint32_t*)(R_ESP + 12), *(int32_t*)(R_ESP + 16), *(intptr_t*)(R_ESP + 20), *(void**)(R_ESP + 24)); }
|
||||
void vFiiuulp(x86emu_t *emu, uintptr_t fcn) { vFiiuulp_t fn = (vFiiuulp_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(uint32_t*)(R_ESP + 12), *(uint32_t*)(R_ESP + 16), *(intptr_t*)(R_ESP + 20), *(void**)(R_ESP + 24)); }
|
||||
void vFiililp(x86emu_t *emu, uintptr_t fcn) { vFiililp_t fn = (vFiililp_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(intptr_t*)(R_ESP + 12), *(int32_t*)(R_ESP + 16), *(intptr_t*)(R_ESP + 20), *(void**)(R_ESP + 24)); }
|
||||
void vFiiplli(x86emu_t *emu, uintptr_t fcn) { vFiiplli_t fn = (vFiiplli_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(void**)(R_ESP + 12), *(intptr_t*)(R_ESP + 16), *(intptr_t*)(R_ESP + 20), *(int32_t*)(R_ESP + 24)); }
|
||||
void vFiiplll(x86emu_t *emu, uintptr_t fcn) { vFiiplll_t fn = (vFiiplll_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(void**)(R_ESP + 12), *(intptr_t*)(R_ESP + 16), *(intptr_t*)(R_ESP + 20), *(intptr_t*)(R_ESP + 24)); }
|
||||
void vFiuippp(x86emu_t *emu, uintptr_t fcn) { vFiuippp_t fn = (vFiuippp_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(uint32_t*)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(void**)(R_ESP + 16), *(void**)(R_ESP + 20), *(void**)(R_ESP + 24)); }
|
||||
void vFiffiff(x86emu_t *emu, uintptr_t fcn) { vFiffiff_t fn = (vFiffiff_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(float*)(R_ESP + 8), *(float*)(R_ESP + 12), *(int32_t*)(R_ESP + 16), *(float*)(R_ESP + 20), *(float*)(R_ESP + 24)); }
|
||||
void vFiddidd(x86emu_t *emu, uintptr_t fcn) { vFiddidd_t fn = (vFiddidd_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(double*)(R_ESP + 8), *(double*)(R_ESP + 16), *(int32_t*)(R_ESP + 24), *(double*)(R_ESP + 28), *(double*)(R_ESP + 36)); }
|
||||
void vFililll(x86emu_t *emu, uintptr_t fcn) { vFililll_t fn = (vFililll_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(intptr_t*)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(intptr_t*)(R_ESP + 16), *(intptr_t*)(R_ESP + 20), *(intptr_t*)(R_ESP + 24)); }
|
||||
void vFilipli(x86emu_t *emu, uintptr_t fcn) { vFilipli_t fn = (vFilipli_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(intptr_t*)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(void**)(R_ESP + 16), *(intptr_t*)(R_ESP + 20), *(int32_t*)(R_ESP + 24)); }
|
||||
void vFiliplu(x86emu_t *emu, uintptr_t fcn) { vFiliplu_t fn = (vFiliplu_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(intptr_t*)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(void**)(R_ESP + 16), *(intptr_t*)(R_ESP + 20), *(uint32_t*)(R_ESP + 24)); }
|
||||
void vFipiplp(x86emu_t *emu, uintptr_t fcn) { vFipiplp_t fn = (vFipiplp_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(void**)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(void**)(R_ESP + 16), *(intptr_t*)(R_ESP + 20), *(void**)(R_ESP + 24)); }
|
||||
void vFipllli(x86emu_t *emu, uintptr_t fcn) { vFipllli_t fn = (vFipllli_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(void**)(R_ESP + 8), *(intptr_t*)(R_ESP + 12), *(intptr_t*)(R_ESP + 16), *(intptr_t*)(R_ESP + 20), *(int32_t*)(R_ESP + 24)); }
|
||||
void vFuiiiii(x86emu_t *emu, uintptr_t fcn) { vFuiiiii_t fn = (vFuiiiii_t)fcn; fn(*(uint32_t*)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(int32_t*)(R_ESP + 16), *(int32_t*)(R_ESP + 20), *(int32_t*)(R_ESP + 24)); }
|
||||
void vFuiiiil(x86emu_t *emu, uintptr_t fcn) { vFuiiiil_t fn = (vFuiiiil_t)fcn; fn(*(uint32_t*)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(int32_t*)(R_ESP + 16), *(int32_t*)(R_ESP + 20), *(intptr_t*)(R_ESP + 24)); }
|
||||
@@ -3610,6 +3706,7 @@ void vFuiuiip(x86emu_t *emu, uintptr_t fcn) { vFuiuiip_t fn = (vFuiuiip_t)fcn; f
|
||||
void vFuiuiuu(x86emu_t *emu, uintptr_t fcn) { vFuiuiuu_t fn = (vFuiuiuu_t)fcn; fn(*(uint32_t*)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(uint32_t*)(R_ESP + 12), *(int32_t*)(R_ESP + 16), *(uint32_t*)(R_ESP + 20), *(uint32_t*)(R_ESP + 24)); }
|
||||
void vFuiuuip(x86emu_t *emu, uintptr_t fcn) { vFuiuuip_t fn = (vFuiuuip_t)fcn; fn(*(uint32_t*)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(uint32_t*)(R_ESP + 12), *(uint32_t*)(R_ESP + 16), *(int32_t*)(R_ESP + 20), *(void**)(R_ESP + 24)); }
|
||||
void vFuiuuuu(x86emu_t *emu, uintptr_t fcn) { vFuiuuuu_t fn = (vFuiuuuu_t)fcn; fn(*(uint32_t*)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(uint32_t*)(R_ESP + 12), *(uint32_t*)(R_ESP + 16), *(uint32_t*)(R_ESP + 20), *(uint32_t*)(R_ESP + 24)); }
|
||||
void vFuiuulp(x86emu_t *emu, uintptr_t fcn) { vFuiuulp_t fn = (vFuiuulp_t)fcn; fn(*(uint32_t*)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(uint32_t*)(R_ESP + 12), *(uint32_t*)(R_ESP + 16), *(intptr_t*)(R_ESP + 20), *(void**)(R_ESP + 24)); }
|
||||
void vFuiupii(x86emu_t *emu, uintptr_t fcn) { vFuiupii_t fn = (vFuiupii_t)fcn; fn(*(uint32_t*)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(uint32_t*)(R_ESP + 12), *(void**)(R_ESP + 16), *(int32_t*)(R_ESP + 20), *(int32_t*)(R_ESP + 24)); }
|
||||
void vFuiupiu(x86emu_t *emu, uintptr_t fcn) { vFuiupiu_t fn = (vFuiupiu_t)fcn; fn(*(uint32_t*)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(uint32_t*)(R_ESP + 12), *(void**)(R_ESP + 16), *(int32_t*)(R_ESP + 20), *(uint32_t*)(R_ESP + 24)); }
|
||||
void vFuiUUUU(x86emu_t *emu, uintptr_t fcn) { vFuiUUUU_t fn = (vFuiUUUU_t)fcn; fn(*(uint32_t*)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(uint64_t*)(R_ESP + 12), *(uint64_t*)(R_ESP + 20), *(uint64_t*)(R_ESP + 28), *(uint64_t*)(R_ESP + 36)); }
|
||||
@@ -3855,8 +3952,12 @@ void vFEppippp(x86emu_t *emu, uintptr_t fcn) { vFEppippp_t fn = (vFEppippp_t)fcn
|
||||
void vFEpppppp(x86emu_t *emu, uintptr_t fcn) { vFEpppppp_t fn = (vFEpppppp_t)fcn; fn(emu, *(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 vFiiiiiip(x86emu_t *emu, uintptr_t fcn) { vFiiiiiip_t fn = (vFiiiiiip_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(int32_t*)(R_ESP + 16), *(int32_t*)(R_ESP + 20), *(int32_t*)(R_ESP + 24), *(void**)(R_ESP + 28)); }
|
||||
void vFiiiiuup(x86emu_t *emu, uintptr_t fcn) { vFiiiiuup_t fn = (vFiiiiuup_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(int32_t*)(R_ESP + 16), *(uint32_t*)(R_ESP + 20), *(uint32_t*)(R_ESP + 24), *(void**)(R_ESP + 28)); }
|
||||
void vFiiuilil(x86emu_t *emu, uintptr_t fcn) { vFiiuilil_t fn = (vFiiuilil_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(uint32_t*)(R_ESP + 12), *(int32_t*)(R_ESP + 16), *(intptr_t*)(R_ESP + 20), *(int32_t*)(R_ESP + 24), *(intptr_t*)(R_ESP + 28)); }
|
||||
void vFiiffffp(x86emu_t *emu, uintptr_t fcn) { vFiiffffp_t fn = (vFiiffffp_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(float*)(R_ESP + 12), *(float*)(R_ESP + 16), *(float*)(R_ESP + 20), *(float*)(R_ESP + 24), *(void**)(R_ESP + 28)); }
|
||||
void vFiipllli(x86emu_t *emu, uintptr_t fcn) { vFiipllli_t fn = (vFiipllli_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(void**)(R_ESP + 12), *(intptr_t*)(R_ESP + 16), *(intptr_t*)(R_ESP + 20), *(intptr_t*)(R_ESP + 24), *(int32_t*)(R_ESP + 28)); }
|
||||
void vFiuulipi(x86emu_t *emu, uintptr_t fcn) { vFiuulipi_t fn = (vFiuulipi_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(uint32_t*)(R_ESP + 8), *(uint32_t*)(R_ESP + 12), *(intptr_t*)(R_ESP + 16), *(int32_t*)(R_ESP + 20), *(void**)(R_ESP + 24), *(int32_t*)(R_ESP + 28)); }
|
||||
void vFilipliu(x86emu_t *emu, uintptr_t fcn) { vFilipliu_t fn = (vFilipliu_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(intptr_t*)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(void**)(R_ESP + 16), *(intptr_t*)(R_ESP + 20), *(int32_t*)(R_ESP + 24), *(uint32_t*)(R_ESP + 28)); }
|
||||
void vFilulipi(x86emu_t *emu, uintptr_t fcn) { vFilulipi_t fn = (vFilulipi_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(intptr_t*)(R_ESP + 8), *(uint32_t*)(R_ESP + 12), *(intptr_t*)(R_ESP + 16), *(int32_t*)(R_ESP + 20), *(void**)(R_ESP + 24), *(int32_t*)(R_ESP + 28)); }
|
||||
void vFuiiiiii(x86emu_t *emu, uintptr_t fcn) { vFuiiiiii_t fn = (vFuiiiiii_t)fcn; fn(*(uint32_t*)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(int32_t*)(R_ESP + 16), *(int32_t*)(R_ESP + 20), *(int32_t*)(R_ESP + 24), *(int32_t*)(R_ESP + 28)); }
|
||||
void vFuiiiuip(x86emu_t *emu, uintptr_t fcn) { vFuiiiuip_t fn = (vFuiiiuip_t)fcn; fn(*(uint32_t*)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(int32_t*)(R_ESP + 16), *(uint32_t*)(R_ESP + 20), *(int32_t*)(R_ESP + 24), *(void**)(R_ESP + 28)); }
|
||||
void vFuiiiuup(x86emu_t *emu, uintptr_t fcn) { vFuiiiuup_t fn = (vFuiiiuup_t)fcn; fn(*(uint32_t*)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(int32_t*)(R_ESP + 16), *(uint32_t*)(R_ESP + 20), *(uint32_t*)(R_ESP + 24), *(void**)(R_ESP + 28)); }
|
||||
@@ -3896,6 +3997,7 @@ void vFulillli(x86emu_t *emu, uintptr_t fcn) { vFulillli_t fn = (vFulillli_t)fcn
|
||||
void vFulipulp(x86emu_t *emu, uintptr_t fcn) { vFulipulp_t fn = (vFulipulp_t)fcn; fn(*(uint32_t*)(R_ESP + 4), *(intptr_t*)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(void**)(R_ESP + 16), *(uint32_t*)(R_ESP + 20), *(intptr_t*)(R_ESP + 24), *(void**)(R_ESP + 28)); }
|
||||
void vFulpiill(x86emu_t *emu, uintptr_t fcn) { vFulpiill_t fn = (vFulpiill_t)fcn; fn(*(uint32_t*)(R_ESP + 4), *(intptr_t*)(R_ESP + 8), *(void**)(R_ESP + 12), *(int32_t*)(R_ESP + 16), *(int32_t*)(R_ESP + 20), *(intptr_t*)(R_ESP + 24), *(intptr_t*)(R_ESP + 28)); }
|
||||
void vFlipuiip(x86emu_t *emu, uintptr_t fcn) { vFlipuiip_t fn = (vFlipuiip_t)fcn; fn(*(intptr_t*)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(void**)(R_ESP + 12), *(uint32_t*)(R_ESP + 16), *(int32_t*)(R_ESP + 20), *(int32_t*)(R_ESP + 24), *(void**)(R_ESP + 28)); }
|
||||
void vFlliiiip(x86emu_t *emu, uintptr_t fcn) { vFlliiiip_t fn = (vFlliiiip_t)fcn; fn(*(intptr_t*)(R_ESP + 4), *(intptr_t*)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(int32_t*)(R_ESP + 16), *(int32_t*)(R_ESP + 20), *(int32_t*)(R_ESP + 24), *(void**)(R_ESP + 28)); }
|
||||
void vFpiiiipp(x86emu_t *emu, uintptr_t fcn) { vFpiiiipp_t fn = (vFpiiiipp_t)fcn; fn(*(void**)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(int32_t*)(R_ESP + 16), *(int32_t*)(R_ESP + 20), *(void**)(R_ESP + 24), *(void**)(R_ESP + 28)); }
|
||||
void vFpiiliip(x86emu_t *emu, uintptr_t fcn) { vFpiiliip_t fn = (vFpiiliip_t)fcn; fn(*(void**)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(intptr_t*)(R_ESP + 16), *(int32_t*)(R_ESP + 20), *(int32_t*)(R_ESP + 24), *(void**)(R_ESP + 28)); }
|
||||
void vFpiipCpp(x86emu_t *emu, uintptr_t fcn) { vFpiipCpp_t fn = (vFpiipCpp_t)fcn; fn(*(void**)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(void**)(R_ESP + 16), *(uint8_t*)(R_ESP + 20), *(void**)(R_ESP + 24), *(void**)(R_ESP + 28)); }
|
||||
@@ -4069,6 +4171,7 @@ void vFuiiiiill(x86emu_t *emu, uintptr_t fcn) { vFuiiiiill_t fn = (vFuiiiiill_t)
|
||||
void vFuiiiiuup(x86emu_t *emu, uintptr_t fcn) { vFuiiiiuup_t fn = (vFuiiiiuup_t)fcn; fn(*(uint32_t*)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(int32_t*)(R_ESP + 16), *(int32_t*)(R_ESP + 20), *(uint32_t*)(R_ESP + 24), *(uint32_t*)(R_ESP + 28), *(void**)(R_ESP + 32)); }
|
||||
void vFuiuiiiii(x86emu_t *emu, uintptr_t fcn) { vFuiuiiiii_t fn = (vFuiuiiiii_t)fcn; fn(*(uint32_t*)(R_ESP + 4), *(int32_t*)(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 vFuiuiiiip(x86emu_t *emu, uintptr_t fcn) { vFuiuiiiip_t fn = (vFuiuiiiip_t)fcn; fn(*(uint32_t*)(R_ESP + 4), *(int32_t*)(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), *(void**)(R_ESP + 32)); }
|
||||
void vFuiuiuuuu(x86emu_t *emu, uintptr_t fcn) { vFuiuiuuuu_t fn = (vFuiuiuuuu_t)fcn; fn(*(uint32_t*)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(uint32_t*)(R_ESP + 12), *(int32_t*)(R_ESP + 16), *(uint32_t*)(R_ESP + 20), *(uint32_t*)(R_ESP + 24), *(uint32_t*)(R_ESP + 28), *(uint32_t*)(R_ESP + 32)); }
|
||||
void vFuiulplpp(x86emu_t *emu, uintptr_t fcn) { vFuiulplpp_t fn = (vFuiulplpp_t)fcn; fn(*(uint32_t*)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(uint32_t*)(R_ESP + 12), *(intptr_t*)(R_ESP + 16), *(void**)(R_ESP + 20), *(intptr_t*)(R_ESP + 24), *(void**)(R_ESP + 28), *(void**)(R_ESP + 32)); }
|
||||
void vFuipuliuf(x86emu_t *emu, uintptr_t fcn) { vFuipuliuf_t fn = (vFuipuliuf_t)fcn; fn(*(uint32_t*)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(void**)(R_ESP + 12), *(uint32_t*)(R_ESP + 16), *(intptr_t*)(R_ESP + 20), *(int32_t*)(R_ESP + 24), *(uint32_t*)(R_ESP + 28), *(float*)(R_ESP + 32)); }
|
||||
void vFuuiiiiii(x86emu_t *emu, uintptr_t fcn) { vFuuiiiiii_t fn = (vFuuiiiiii_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), *(int32_t*)(R_ESP + 28), *(int32_t*)(R_ESP + 32)); }
|
||||
@@ -4082,6 +4185,7 @@ void vFuuuiuiii(x86emu_t *emu, uintptr_t fcn) { vFuuuiuiii_t fn = (vFuuuiuiii_t)
|
||||
void vFuuuipipp(x86emu_t *emu, uintptr_t fcn) { vFuuuipipp_t fn = (vFuuuipipp_t)fcn; fn(*(uint32_t*)(R_ESP + 4), *(uint32_t*)(R_ESP + 8), *(uint32_t*)(R_ESP + 12), *(int32_t*)(R_ESP + 16), *(void**)(R_ESP + 20), *(int32_t*)(R_ESP + 24), *(void**)(R_ESP + 28), *(void**)(R_ESP + 32)); }
|
||||
void vFuuuuuuuu(x86emu_t *emu, uintptr_t fcn) { vFuuuuuuuu_t fn = (vFuuuuuuuu_t)fcn; fn(*(uint32_t*)(R_ESP + 4), *(uint32_t*)(R_ESP + 8), *(uint32_t*)(R_ESP + 12), *(uint32_t*)(R_ESP + 16), *(uint32_t*)(R_ESP + 20), *(uint32_t*)(R_ESP + 24), *(uint32_t*)(R_ESP + 28), *(uint32_t*)(R_ESP + 32)); }
|
||||
void vFuuuuufff(x86emu_t *emu, uintptr_t fcn) { vFuuuuufff_t fn = (vFuuuuufff_t)fcn; fn(*(uint32_t*)(R_ESP + 4), *(uint32_t*)(R_ESP + 8), *(uint32_t*)(R_ESP + 12), *(uint32_t*)(R_ESP + 16), *(uint32_t*)(R_ESP + 20), *(float*)(R_ESP + 24), *(float*)(R_ESP + 28), *(float*)(R_ESP + 32)); }
|
||||
void vFuuufffff(x86emu_t *emu, uintptr_t fcn) { vFuuufffff_t fn = (vFuuufffff_t)fcn; fn(*(uint32_t*)(R_ESP + 4), *(uint32_t*)(R_ESP + 8), *(uint32_t*)(R_ESP + 12), *(float*)(R_ESP + 16), *(float*)(R_ESP + 20), *(float*)(R_ESP + 24), *(float*)(R_ESP + 28), *(float*)(R_ESP + 32)); }
|
||||
void vFulllplip(x86emu_t *emu, uintptr_t fcn) { vFulllplip_t fn = (vFulllplip_t)fcn; fn(*(uint32_t*)(R_ESP + 4), *(intptr_t*)(R_ESP + 8), *(intptr_t*)(R_ESP + 12), *(intptr_t*)(R_ESP + 16), *(void**)(R_ESP + 20), *(intptr_t*)(R_ESP + 24), *(int32_t*)(R_ESP + 28), *(void**)(R_ESP + 32)); }
|
||||
void vFffffffff(x86emu_t *emu, uintptr_t fcn) { vFffffffff_t fn = (vFffffffff_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)); }
|
||||
void vFlipuiuip(x86emu_t *emu, uintptr_t fcn) { vFlipuiuip_t fn = (vFlipuiuip_t)fcn; fn(*(intptr_t*)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(void**)(R_ESP + 12), *(uint32_t*)(R_ESP + 16), *(int32_t*)(R_ESP + 20), *(uint32_t*)(R_ESP + 24), *(int32_t*)(R_ESP + 28), *(void**)(R_ESP + 32)); }
|
||||
@@ -4141,6 +4245,7 @@ void uFEppipppp(x86emu_t *emu, uintptr_t fcn) { uFEppipppp_t fn = (uFEppipppp_t)
|
||||
void uFEpppuppp(x86emu_t *emu, uintptr_t fcn) { uFEpppuppp_t fn = (uFEpppuppp_t)fcn; R_EAX=(uint32_t)fn(emu, *(void**)(R_ESP + 4), *(void**)(R_ESP + 8), *(void**)(R_ESP + 12), *(uint32_t*)(R_ESP + 16), *(void**)(R_ESP + 20), *(void**)(R_ESP + 24), *(void**)(R_ESP + 28)); }
|
||||
void uFEppppppp(x86emu_t *emu, uintptr_t fcn) { uFEppppppp_t fn = (uFEppppppp_t)fcn; R_EAX=(uint32_t)fn(emu, *(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 uFuipppppp(x86emu_t *emu, uintptr_t fcn) { uFuipppppp_t fn = (uFuipppppp_t)fcn; R_EAX=(uint32_t)fn(*(uint32_t*)(R_ESP + 4), *(int32_t*)(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 uFulpppppp(x86emu_t *emu, uintptr_t fcn) { uFulpppppp_t fn = (uFulpppppp_t)fcn; R_EAX=(uint32_t)fn(*(uint32_t*)(R_ESP + 4), *(intptr_t*)(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 uFpupuuuCp(x86emu_t *emu, uintptr_t fcn) { uFpupuuuCp_t fn = (uFpupuuuCp_t)fcn; R_EAX=(uint32_t)fn(*(void**)(R_ESP + 4), *(uint32_t*)(R_ESP + 8), *(void**)(R_ESP + 12), *(uint32_t*)(R_ESP + 16), *(uint32_t*)(R_ESP + 20), *(uint32_t*)(R_ESP + 24), *(uint8_t*)(R_ESP + 28), *(void**)(R_ESP + 32)); }
|
||||
void uFppuuuupp(x86emu_t *emu, uintptr_t fcn) { uFppuuuupp_t fn = (uFppuuuupp_t)fcn; R_EAX=(uint32_t)fn(*(void**)(R_ESP + 4), *(void**)(R_ESP + 8), *(uint32_t*)(R_ESP + 12), *(uint32_t*)(R_ESP + 16), *(uint32_t*)(R_ESP + 20), *(uint32_t*)(R_ESP + 24), *(void**)(R_ESP + 28), *(void**)(R_ESP + 32)); }
|
||||
void uFppuuuppi(x86emu_t *emu, uintptr_t fcn) { uFppuuuppi_t fn = (uFppuuuppi_t)fcn; R_EAX=(uint32_t)fn(*(void**)(R_ESP + 4), *(void**)(R_ESP + 8), *(uint32_t*)(R_ESP + 12), *(uint32_t*)(R_ESP + 16), *(uint32_t*)(R_ESP + 20), *(void**)(R_ESP + 24), *(void**)(R_ESP + 28), *(int32_t*)(R_ESP + 32)); }
|
||||
@@ -4179,7 +4284,9 @@ void vFEpippippV(x86emu_t *emu, uintptr_t fcn) { vFEpippippV_t fn = (vFEpippippV
|
||||
void vFEppiipppp(x86emu_t *emu, uintptr_t fcn) { vFEppiipppp_t fn = (vFEppiipppp_t)fcn; fn(emu, *(void**)(R_ESP + 4), *(void**)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(int32_t*)(R_ESP + 16), *(void**)(R_ESP + 20), *(void**)(R_ESP + 24), *(void**)(R_ESP + 28), *(void**)(R_ESP + 32)); }
|
||||
void vFEpppiippp(x86emu_t *emu, uintptr_t fcn) { vFEpppiippp_t fn = (vFEpppiippp_t)fcn; fn(emu, *(void**)(R_ESP + 4), *(void**)(R_ESP + 8), *(void**)(R_ESP + 12), *(int32_t*)(R_ESP + 16), *(int32_t*)(R_ESP + 20), *(void**)(R_ESP + 24), *(void**)(R_ESP + 28), *(void**)(R_ESP + 32)); }
|
||||
void vFiiiiiiiii(x86emu_t *emu, uintptr_t fcn) { vFiiiiiiiii_t fn = (vFiiiiiiiii_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(int32_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), *(int32_t*)(R_ESP + 36)); }
|
||||
void vFiiiiiiill(x86emu_t *emu, uintptr_t fcn) { vFiiiiiiill_t fn = (vFiiiiiiill_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(int32_t*)(R_ESP + 16), *(int32_t*)(R_ESP + 20), *(int32_t*)(R_ESP + 24), *(int32_t*)(R_ESP + 28), *(intptr_t*)(R_ESP + 32), *(intptr_t*)(R_ESP + 36)); }
|
||||
void vFiiiiillli(x86emu_t *emu, uintptr_t fcn) { vFiiiiillli_t fn = (vFiiiiillli_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(int32_t*)(R_ESP + 16), *(int32_t*)(R_ESP + 20), *(intptr_t*)(R_ESP + 24), *(intptr_t*)(R_ESP + 28), *(intptr_t*)(R_ESP + 32), *(int32_t*)(R_ESP + 36)); }
|
||||
void vFiiilllilp(x86emu_t *emu, uintptr_t fcn) { vFiiilllilp_t fn = (vFiiilllilp_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(intptr_t*)(R_ESP + 16), *(intptr_t*)(R_ESP + 20), *(intptr_t*)(R_ESP + 24), *(int32_t*)(R_ESP + 28), *(intptr_t*)(R_ESP + 32), *(void**)(R_ESP + 36)); }
|
||||
void vFuiiiiiiii(x86emu_t *emu, uintptr_t fcn) { vFuiiiiiiii_t fn = (vFuiiiiiiii_t)fcn; fn(*(uint32_t*)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(int32_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), *(int32_t*)(R_ESP + 36)); }
|
||||
void vFuiiiiiuip(x86emu_t *emu, uintptr_t fcn) { vFuiiiiiuip_t fn = (vFuiiiiiuip_t)fcn; fn(*(uint32_t*)(R_ESP + 4), *(int32_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), *(int32_t*)(R_ESP + 32), *(void**)(R_ESP + 36)); }
|
||||
void vFuiiiiiuup(x86emu_t *emu, uintptr_t fcn) { vFuiiiiiuup_t fn = (vFuiiiiiuup_t)fcn; fn(*(uint32_t*)(R_ESP + 4), *(int32_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), *(void**)(R_ESP + 36)); }
|
||||
@@ -4265,7 +4372,10 @@ void pFpppppiipp(x86emu_t *emu, uintptr_t fcn) { pFpppppiipp_t fn = (pFpppppiipp
|
||||
void vFEiippppppp(x86emu_t *emu, uintptr_t fcn) { vFEiippppppp_t fn = (vFEiippppppp_t)fcn; fn(emu, *(int32_t*)(R_ESP + 4), *(int32_t*)(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 vFEpippppppp(x86emu_t *emu, uintptr_t fcn) { vFEpippppppp_t fn = (vFEpippppppp_t)fcn; fn(emu, *(void**)(R_ESP + 4), *(int32_t*)(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 vFEpppiipppp(x86emu_t *emu, uintptr_t fcn) { vFEpppiipppp_t fn = (vFEpppiipppp_t)fcn; fn(emu, *(void**)(R_ESP + 4), *(void**)(R_ESP + 8), *(void**)(R_ESP + 12), *(int32_t*)(R_ESP + 16), *(int32_t*)(R_ESP + 20), *(void**)(R_ESP + 24), *(void**)(R_ESP + 28), *(void**)(R_ESP + 32), *(void**)(R_ESP + 36)); }
|
||||
void vFiiiiiiiiii(x86emu_t *emu, uintptr_t fcn) { vFiiiiiiiiii_t fn = (vFiiiiiiiiii_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(int32_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), *(int32_t*)(R_ESP + 36), *(int32_t*)(R_ESP + 40)); }
|
||||
void vFiiiiiiiiiu(x86emu_t *emu, uintptr_t fcn) { vFiiiiiiiiiu_t fn = (vFiiiiiiiiiu_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(int32_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), *(int32_t*)(R_ESP + 36), *(uint32_t*)(R_ESP + 40)); }
|
||||
void vFiiiiiiiiui(x86emu_t *emu, uintptr_t fcn) { vFiiiiiiiiui_t fn = (vFiiiiiiiiui_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(int32_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), *(uint32_t*)(R_ESP + 36), *(int32_t*)(R_ESP + 40)); }
|
||||
void vFiiillliiip(x86emu_t *emu, uintptr_t fcn) { vFiiillliiip_t fn = (vFiiillliiip_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(intptr_t*)(R_ESP + 16), *(intptr_t*)(R_ESP + 20), *(intptr_t*)(R_ESP + 24), *(int32_t*)(R_ESP + 28), *(int32_t*)(R_ESP + 32), *(int32_t*)(R_ESP + 36), *(void**)(R_ESP + 40)); }
|
||||
void vFippppppppp(x86emu_t *emu, uintptr_t fcn) { vFippppppppp_t fn = (vFippppppppp_t)fcn; fn(*(int32_t*)(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 vFuiiiiiiiii(x86emu_t *emu, uintptr_t fcn) { vFuiiiiiiiii_t fn = (vFuiiiiiiiii_t)fcn; fn(*(uint32_t*)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(int32_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), *(int32_t*)(R_ESP + 36), *(int32_t*)(R_ESP + 40)); }
|
||||
void vFuiiiiiiill(x86emu_t *emu, uintptr_t fcn) { vFuiiiiiiill_t fn = (vFuiiiiiiill_t)fcn; fn(*(uint32_t*)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(int32_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), *(intptr_t*)(R_ESP + 36), *(intptr_t*)(R_ESP + 40)); }
|
||||
@@ -4321,6 +4431,8 @@ void pFplllllllll(x86emu_t *emu, uintptr_t fcn) { pFplllllllll_t fn = (pFpllllll
|
||||
void pFppuiipuuii(x86emu_t *emu, uintptr_t fcn) { pFppuiipuuii_t fn = (pFppuiipuuii_t)fcn; R_EAX=(uintptr_t)fn(*(void**)(R_ESP + 4), *(void**)(R_ESP + 8), *(uint32_t*)(R_ESP + 12), *(int32_t*)(R_ESP + 16), *(int32_t*)(R_ESP + 20), *(void**)(R_ESP + 24), *(uint32_t*)(R_ESP + 28), *(uint32_t*)(R_ESP + 32), *(int32_t*)(R_ESP + 36), *(int32_t*)(R_ESP + 40)); }
|
||||
void pFpppppppppp(x86emu_t *emu, uintptr_t fcn) { pFpppppppppp_t fn = (pFpppppppppp_t)fcn; R_EAX=(uintptr_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 vFEpiiiupupup(x86emu_t *emu, uintptr_t fcn) { vFEpiiiupupup_t fn = (vFEpiiiupupup_t)fcn; fn(emu, *(void**)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(int32_t*)(R_ESP + 16), *(uint32_t*)(R_ESP + 20), *(void**)(R_ESP + 24), *(uint32_t*)(R_ESP + 28), *(void**)(R_ESP + 32), *(uint32_t*)(R_ESP + 36), *(void**)(R_ESP + 40)); }
|
||||
void vFiiiiillliip(x86emu_t *emu, uintptr_t fcn) { vFiiiiillliip_t fn = (vFiiiiillliip_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(int32_t*)(R_ESP + 16), *(int32_t*)(R_ESP + 20), *(intptr_t*)(R_ESP + 24), *(intptr_t*)(R_ESP + 28), *(intptr_t*)(R_ESP + 32), *(int32_t*)(R_ESP + 36), *(int32_t*)(R_ESP + 40), *(void**)(R_ESP + 44)); }
|
||||
void vFiiiiilllilp(x86emu_t *emu, uintptr_t fcn) { vFiiiiilllilp_t fn = (vFiiiiilllilp_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(int32_t*)(R_ESP + 16), *(int32_t*)(R_ESP + 20), *(intptr_t*)(R_ESP + 24), *(intptr_t*)(R_ESP + 28), *(intptr_t*)(R_ESP + 32), *(int32_t*)(R_ESP + 36), *(intptr_t*)(R_ESP + 40), *(void**)(R_ESP + 44)); }
|
||||
void vFiippppppppp(x86emu_t *emu, uintptr_t fcn) { vFiippppppppp_t fn = (vFiippppppppp_t)fcn; fn(*(int32_t*)(R_ESP + 4), *(int32_t*)(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 vFuiiiiiiiiip(x86emu_t *emu, uintptr_t fcn) { vFuiiiiiiiiip_t fn = (vFuiiiiiiiiip_t)fcn; fn(*(uint32_t*)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(int32_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), *(int32_t*)(R_ESP + 36), *(int32_t*)(R_ESP + 40), *(void**)(R_ESP + 44)); }
|
||||
void vFuiiiiiiiuip(x86emu_t *emu, uintptr_t fcn) { vFuiiiiiiiuip_t fn = (vFuiiiiiiiuip_t)fcn; fn(*(uint32_t*)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(int32_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), *(uint32_t*)(R_ESP + 36), *(int32_t*)(R_ESP + 40), *(void**)(R_ESP + 44)); }
|
||||
@@ -4425,6 +4537,7 @@ void iFpppppppppppppp(x86emu_t *emu, uintptr_t fcn) { iFpppppppppppppp_t fn = (i
|
||||
void pFEppCuuWWwwCCup(x86emu_t *emu, uintptr_t fcn) { pFEppCuuWWwwCCup_t fn = (pFEppCuuWWwwCCup_t)fcn; R_EAX=(uintptr_t)fn(emu, *(void**)(R_ESP + 4), *(void**)(R_ESP + 8), *(uint8_t*)(R_ESP + 12), *(uint32_t*)(R_ESP + 16), *(uint32_t*)(R_ESP + 20), *(uint16_t*)(R_ESP + 24), *(uint16_t*)(R_ESP + 28), *(int16_t*)(R_ESP + 32), *(int16_t*)(R_ESP + 36), *(uint8_t*)(R_ESP + 40), *(uint8_t*)(R_ESP + 44), *(uint32_t*)(R_ESP + 48), *(void**)(R_ESP + 52)); }
|
||||
void pFEppuuuWWWWWWWW(x86emu_t *emu, uintptr_t fcn) { pFEppuuuWWWWWWWW_t fn = (pFEppuuuWWWWWWWW_t)fcn; R_EAX=(uintptr_t)fn(emu, *(void**)(R_ESP + 4), *(void**)(R_ESP + 8), *(uint32_t*)(R_ESP + 12), *(uint32_t*)(R_ESP + 16), *(uint32_t*)(R_ESP + 20), *(uint16_t*)(R_ESP + 24), *(uint16_t*)(R_ESP + 28), *(uint16_t*)(R_ESP + 32), *(uint16_t*)(R_ESP + 36), *(uint16_t*)(R_ESP + 40), *(uint16_t*)(R_ESP + 44), *(uint16_t*)(R_ESP + 48), *(uint16_t*)(R_ESP + 52)); }
|
||||
void pFpuupuupwwwwWWC(x86emu_t *emu, uintptr_t fcn) { pFpuupuupwwwwWWC_t fn = (pFpuupuupwwwwWWC_t)fcn; R_EAX=(uintptr_t)fn(*(void**)(R_ESP + 4), *(uint32_t*)(R_ESP + 8), *(uint32_t*)(R_ESP + 12), *(void**)(R_ESP + 16), *(uint32_t*)(R_ESP + 20), *(uint32_t*)(R_ESP + 24), *(void**)(R_ESP + 28), *(int16_t*)(R_ESP + 32), *(int16_t*)(R_ESP + 36), *(int16_t*)(R_ESP + 40), *(int16_t*)(R_ESP + 44), *(uint16_t*)(R_ESP + 48), *(uint16_t*)(R_ESP + 52), *(uint8_t*)(R_ESP + 56)); }
|
||||
void vFuiiiiiuiiiiilll(x86emu_t *emu, uintptr_t fcn) { vFuiiiiiuiiiiilll_t fn = (vFuiiiiiuiiiiilll_t)fcn; fn(*(uint32_t*)(R_ESP + 4), *(int32_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), *(int32_t*)(R_ESP + 32), *(int32_t*)(R_ESP + 36), *(int32_t*)(R_ESP + 40), *(int32_t*)(R_ESP + 44), *(int32_t*)(R_ESP + 48), *(intptr_t*)(R_ESP + 52), *(intptr_t*)(R_ESP + 56), *(intptr_t*)(R_ESP + 60)); }
|
||||
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 vFppipppppppppppp(x86emu_t *emu, uintptr_t fcn) { vFppipppppppppppp_t fn = (vFppipppppppppppp_t)fcn; fn(*(void**)(R_ESP + 4), *(void**)(R_ESP + 8), *(int32_t*)(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)); }
|
||||
@@ -4437,6 +4550,7 @@ void pFppppppppppppppp(x86emu_t *emu, uintptr_t fcn) { pFppppppppppppppp_t fn =
|
||||
void vFpppppppppppppppp(x86emu_t *emu, uintptr_t fcn) { vFpppppppppppppppp_t fn = (vFpppppppppppppppp_t)fcn; 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 iFpppppppppppppppp(x86emu_t *emu, uintptr_t fcn) { iFpppppppppppppppp_t fn = (iFpppppppppppppppp_t)fcn; R_EAX=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 pFppipipipipipipip(x86emu_t *emu, uintptr_t fcn) { pFppipipipipipipip_t fn = (pFppipipipipipipip_t)fcn; R_EAX=(uintptr_t)fn(*(void**)(R_ESP + 4), *(void**)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(void**)(R_ESP + 16), *(int32_t*)(R_ESP + 20), *(void**)(R_ESP + 24), *(int32_t*)(R_ESP + 28), *(void**)(R_ESP + 32), *(int32_t*)(R_ESP + 36), *(void**)(R_ESP + 40), *(int32_t*)(R_ESP + 44), *(void**)(R_ESP + 48), *(int32_t*)(R_ESP + 52), *(void**)(R_ESP + 56), *(int32_t*)(R_ESP + 60), *(void**)(R_ESP + 64)); }
|
||||
void vFuuuiiiiiuiiiiilll(x86emu_t *emu, uintptr_t fcn) { vFuuuiiiiiuiiiiilll_t fn = (vFuuuiiiiiuiiiiilll_t)fcn; fn(*(uint32_t*)(R_ESP + 4), *(uint32_t*)(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), *(uint32_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), *(intptr_t*)(R_ESP + 60), *(intptr_t*)(R_ESP + 64), *(intptr_t*)(R_ESP + 68)); }
|
||||
void vFppiiiiddddiiiiiuu(x86emu_t *emu, uintptr_t fcn) { vFppiiiiddddiiiiiuu_t fn = (vFppiiiiddddiiiiiuu_t)fcn; fn(*(void**)(R_ESP + 4), *(void**)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(int32_t*)(R_ESP + 16), *(int32_t*)(R_ESP + 20), *(int32_t*)(R_ESP + 24), *(double*)(R_ESP + 28), *(double*)(R_ESP + 36), *(double*)(R_ESP + 44), *(double*)(R_ESP + 52), *(int32_t*)(R_ESP + 60), *(int32_t*)(R_ESP + 64), *(int32_t*)(R_ESP + 68), *(int32_t*)(R_ESP + 72), *(int32_t*)(R_ESP + 76), *(uint32_t*)(R_ESP + 80), *(uint32_t*)(R_ESP + 84)); }
|
||||
void iFppipipppppppppppp(x86emu_t *emu, uintptr_t fcn) { iFppipipppppppppppp_t fn = (iFppipipppppppppppp_t)fcn; R_EAX=fn(*(void**)(R_ESP + 4), *(void**)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(void**)(R_ESP + 16), *(int32_t*)(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**)(R_ESP + 68)); }
|
||||
void iFpppippppppppppppp(x86emu_t *emu, uintptr_t fcn) { iFpppippppppppppppp_t fn = (iFpppippppppppppppp_t)fcn; R_EAX=fn(*(void**)(R_ESP + 4), *(void**)(R_ESP + 8), *(void**)(R_ESP + 12), *(int32_t*)(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**)(R_ESP + 68)); }
|
||||
|
||||
@@ -100,6 +100,7 @@ void dFp(x86emu_t *emu, uintptr_t fnc);
|
||||
void dFG(x86emu_t *emu, uintptr_t fnc);
|
||||
void lFv(x86emu_t *emu, uintptr_t fnc);
|
||||
void lFi(x86emu_t *emu, uintptr_t fnc);
|
||||
void lFu(x86emu_t *emu, uintptr_t fnc);
|
||||
void lFl(x86emu_t *emu, uintptr_t fnc);
|
||||
void lFp(x86emu_t *emu, uintptr_t fnc);
|
||||
void lFG(x86emu_t *emu, uintptr_t fnc);
|
||||
@@ -310,6 +311,7 @@ void vFEpp(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFEpV(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFiii(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFiiu(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFiif(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFiip(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFiII(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFiui(x86emu_t *emu, uintptr_t fnc);
|
||||
@@ -318,6 +320,7 @@ void vFiup(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFiUU(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFiff(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFidd(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFill(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFilp(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFipi(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFipu(x86emu_t *emu, uintptr_t fnc);
|
||||
@@ -346,6 +349,9 @@ void vFfff(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFfpp(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFddd(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFdpp(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFlip(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFllp(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFlpp(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFLpL(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFpii(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFpiI(x86emu_t *emu, uintptr_t fnc);
|
||||
@@ -357,14 +363,17 @@ void vFpip(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFpui(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFpuI(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFpuu(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFpuU(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFpup(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFpUi(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFpUu(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFpUU(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFpUp(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFpUP(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFpff(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFpdd(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFpll(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFplp(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFpLi(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFpLL(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFpLp(x86emu_t *emu, uintptr_t fnc);
|
||||
@@ -619,21 +628,27 @@ void vFEppV(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFEpPp(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFiiii(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFiiip(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFiill(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFiipp(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFiipV(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFiIII(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFiuiu(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFiuip(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFiuuu(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFiuup(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFiulp(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFiupu(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFiupV(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFiUUU(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFifff(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFiddd(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFilil(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFilip(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFilpu(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFilpp(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFipii(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFipup(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFipll(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFippi(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFippu(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFippp(x86emu_t *emu, uintptr_t fnc);
|
||||
@@ -700,16 +715,19 @@ void vFpuup(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFpuuV(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFpudd(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFpupp(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFpupP(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFpUui(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFpUuu(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFpUup(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFpUUi(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFpUUu(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFpUUp(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFpUpp(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFpfff(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFpdii(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFpddi(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFpddd(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFplpp(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFpLLL(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFppii(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFppiu(x86emu_t *emu, uintptr_t fnc);
|
||||
@@ -935,6 +953,7 @@ void pFiiup(x86emu_t *emu, uintptr_t fnc);
|
||||
void pFiipi(x86emu_t *emu, uintptr_t fnc);
|
||||
void pFiipp(x86emu_t *emu, uintptr_t fnc);
|
||||
void pFiIIi(x86emu_t *emu, uintptr_t fnc);
|
||||
void pFillu(x86emu_t *emu, uintptr_t fnc);
|
||||
void pFipii(x86emu_t *emu, uintptr_t fnc);
|
||||
void pFipip(x86emu_t *emu, uintptr_t fnc);
|
||||
void pFipup(x86emu_t *emu, uintptr_t fnc);
|
||||
@@ -994,10 +1013,15 @@ void vFEppip(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFEppiV(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFEppup(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFEpppp(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFEpPpp(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFiiiii(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFiiiiu(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFiiuii(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFiiuup(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFiillu(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFiilll(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFiipii(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFiipll(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFiIIII(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFiuiip(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFiuipi(x86emu_t *emu, uintptr_t fnc);
|
||||
@@ -1008,6 +1032,8 @@ void vFiUUUU(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFiffff(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFidddd(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFilill(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFilipi(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFilipl(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFipipu(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFipipp(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFipupi(x86emu_t *emu, uintptr_t fnc);
|
||||
@@ -1017,6 +1043,7 @@ void vFuiiii(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFuiiiu(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFuiiip(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFuiifi(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFuiill(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFuiIII(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFuiuii(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFuiuiu(x86emu_t *emu, uintptr_t fnc);
|
||||
@@ -1069,6 +1096,8 @@ void vFpiiff(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFpiipp(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFpiIiI(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFpiIII(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFpiUUp(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFpilpp(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFpipii(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFpipiu(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFpuiip(x86emu_t *emu, uintptr_t fnc);
|
||||
@@ -1129,6 +1158,7 @@ void iFEpiup(x86emu_t *emu, uintptr_t fnc);
|
||||
void iFEpipi(x86emu_t *emu, uintptr_t fnc);
|
||||
void iFEpipp(x86emu_t *emu, uintptr_t fnc);
|
||||
void iFEpipV(x86emu_t *emu, uintptr_t fnc);
|
||||
void iFEpupU(x86emu_t *emu, uintptr_t fnc);
|
||||
void iFEpupp(x86emu_t *emu, uintptr_t fnc);
|
||||
void iFEpupV(x86emu_t *emu, uintptr_t fnc);
|
||||
void iFEpUup(x86emu_t *emu, uintptr_t fnc);
|
||||
@@ -1171,6 +1201,7 @@ void iFpiipp(x86emu_t *emu, uintptr_t fnc);
|
||||
void iFpiIip(x86emu_t *emu, uintptr_t fnc);
|
||||
void iFpiuwp(x86emu_t *emu, uintptr_t fnc);
|
||||
void iFpiupu(x86emu_t *emu, uintptr_t fnc);
|
||||
void iFpiUUU(x86emu_t *emu, uintptr_t fnc);
|
||||
void iFpipii(x86emu_t *emu, uintptr_t fnc);
|
||||
void iFpipiL(x86emu_t *emu, uintptr_t fnc);
|
||||
void iFpipip(x86emu_t *emu, uintptr_t fnc);
|
||||
@@ -1194,6 +1225,7 @@ void iFpupuu(x86emu_t *emu, uintptr_t fnc);
|
||||
void iFpupup(x86emu_t *emu, uintptr_t fnc);
|
||||
void iFpuppu(x86emu_t *emu, uintptr_t fnc);
|
||||
void iFpuppp(x86emu_t *emu, uintptr_t fnc);
|
||||
void iFpUiUi(x86emu_t *emu, uintptr_t fnc);
|
||||
void iFplluu(x86emu_t *emu, uintptr_t fnc);
|
||||
void iFpLlpp(x86emu_t *emu, uintptr_t fnc);
|
||||
void iFpLLpp(x86emu_t *emu, uintptr_t fnc);
|
||||
@@ -1331,13 +1363,20 @@ void vFEpppiu(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFEppppp(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFiiiiii(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFiiiuil(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFiiilpi(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFiiuiil(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFiiuilp(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFiiuulp(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFiililp(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFiiplli(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFiiplll(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFiuippp(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFiffiff(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFiddidd(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFililll(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFilipli(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFiliplu(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFipiplp(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFipllli(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFuiiiii(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFuiiiil(x86emu_t *emu, uintptr_t fnc);
|
||||
@@ -1351,6 +1390,7 @@ void vFuiuiip(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFuiuiuu(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFuiuuip(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFuiuuuu(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFuiuulp(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFuiupii(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFuiupiu(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFuiUUUU(x86emu_t *emu, uintptr_t fnc);
|
||||
@@ -1596,8 +1636,12 @@ void vFEppippp(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFEpppppp(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFiiiiiip(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFiiiiuup(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFiiuilil(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFiiffffp(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFiipllli(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFiuulipi(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFilipliu(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFilulipi(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFuiiiiii(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFuiiiuip(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFuiiiuup(x86emu_t *emu, uintptr_t fnc);
|
||||
@@ -1637,6 +1681,7 @@ void vFulillli(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFulipulp(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFulpiill(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFlipuiip(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFlliiiip(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFpiiiipp(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFpiiliip(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFpiipCpp(x86emu_t *emu, uintptr_t fnc);
|
||||
@@ -1810,6 +1855,7 @@ void vFuiiiiill(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFuiiiiuup(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFuiuiiiii(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFuiuiiiip(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFuiuiuuuu(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFuiulplpp(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFuipuliuf(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFuuiiiiii(x86emu_t *emu, uintptr_t fnc);
|
||||
@@ -1823,6 +1869,7 @@ void vFuuuiuiii(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFuuuipipp(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFuuuuuuuu(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFuuuuufff(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFuuufffff(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFulllplip(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFffffffff(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFlipuiuip(x86emu_t *emu, uintptr_t fnc);
|
||||
@@ -1882,6 +1929,7 @@ void uFEppipppp(x86emu_t *emu, uintptr_t fnc);
|
||||
void uFEpppuppp(x86emu_t *emu, uintptr_t fnc);
|
||||
void uFEppppppp(x86emu_t *emu, uintptr_t fnc);
|
||||
void uFuipppppp(x86emu_t *emu, uintptr_t fnc);
|
||||
void uFulpppppp(x86emu_t *emu, uintptr_t fnc);
|
||||
void uFpupuuuCp(x86emu_t *emu, uintptr_t fnc);
|
||||
void uFppuuuupp(x86emu_t *emu, uintptr_t fnc);
|
||||
void uFppuuuppi(x86emu_t *emu, uintptr_t fnc);
|
||||
@@ -1920,7 +1968,9 @@ void vFEpippippV(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFEppiipppp(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFEpppiippp(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFiiiiiiiii(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFiiiiiiill(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFiiiiillli(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFiiilllilp(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFuiiiiiiii(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFuiiiiiuip(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFuiiiiiuup(x86emu_t *emu, uintptr_t fnc);
|
||||
@@ -2006,7 +2056,10 @@ void pFpppppiipp(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFEiippppppp(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFEpippppppp(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFEpppiipppp(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFiiiiiiiiii(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFiiiiiiiiiu(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFiiiiiiiiui(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFiiillliiip(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFippppppppp(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFuiiiiiiiii(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFuiiiiiiill(x86emu_t *emu, uintptr_t fnc);
|
||||
@@ -2062,6 +2115,8 @@ void pFplllllllll(x86emu_t *emu, uintptr_t fnc);
|
||||
void pFppuiipuuii(x86emu_t *emu, uintptr_t fnc);
|
||||
void pFpppppppppp(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFEpiiiupupup(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFiiiiillliip(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFiiiiilllilp(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFiippppppppp(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFuiiiiiiiiip(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFuiiiiiiiuip(x86emu_t *emu, uintptr_t fnc);
|
||||
@@ -2166,6 +2221,7 @@ void iFpppppppppppppp(x86emu_t *emu, uintptr_t fnc);
|
||||
void pFEppCuuWWwwCCup(x86emu_t *emu, uintptr_t fnc);
|
||||
void pFEppuuuWWWWWWWW(x86emu_t *emu, uintptr_t fnc);
|
||||
void pFpuupuupwwwwWWC(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFuiiiiiuiiiiilll(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFuuiiiiuuiiiiiii(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFfffffffffffffff(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFppipppppppppppp(x86emu_t *emu, uintptr_t fnc);
|
||||
@@ -2178,6 +2234,7 @@ void pFppppppppppppppp(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFpppppppppppppppp(x86emu_t *emu, uintptr_t fnc);
|
||||
void iFpppppppppppppppp(x86emu_t *emu, uintptr_t fnc);
|
||||
void pFppipipipipipipip(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFuuuiiiiiuiiiiilll(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFppiiiiddddiiiiiuu(x86emu_t *emu, uintptr_t fnc);
|
||||
void iFppipipppppppppppp(x86emu_t *emu, uintptr_t fnc);
|
||||
void iFpppippppppppppppp(x86emu_t *emu, uintptr_t fnc);
|
||||
|
||||
@@ -44,7 +44,7 @@ GO(AES_wrap_key, iFppppi)
|
||||
//GO(asn1_add_error,
|
||||
GO(ASN1_add_oid_module, vFv)
|
||||
//GO(ASN1_BIT_STRING_check,
|
||||
//GO(ASN1_BIT_STRING_free,
|
||||
GO(ASN1_BIT_STRING_free, vFp)
|
||||
//GO(ASN1_BIT_STRING_get_bit,
|
||||
//GO(ASN1_BIT_STRING_name_print,
|
||||
//GO(ASN1_BIT_STRING_new,
|
||||
|
||||
@@ -197,9 +197,9 @@ int recursive_dlsym_lib(kh_libs_t* collection, library_t* lib, const char* rsymb
|
||||
// TODO: should use librarian functions instead!
|
||||
int weak;
|
||||
// look in the library itself
|
||||
if(lib->getglobal(lib, rsymbol, start, end, &weak, version, vername, 1))
|
||||
if(lib->getglobal(lib, rsymbol, start, end, 0, &weak, version, vername, 1))
|
||||
return 1;
|
||||
if(lib->getweak(lib, rsymbol, start, end, &weak, version, vername, 1))
|
||||
if(lib->getweak(lib, rsymbol, start, end, 0, &weak, version, vername, 1))
|
||||
return 1;
|
||||
// look in other libs
|
||||
int n = GetNeededLibN(lib);
|
||||
@@ -242,7 +242,7 @@ void* my_dlsym(x86emu_t* emu, void *handle, void *symbol)
|
||||
if(handle==(void*)0xFFFFFFFF) {
|
||||
// special case, look globably but no self (RTLD_NEXT)
|
||||
elfheader_t *elf = FindElfAddress(my_context, *(uint32_t*)R_ESP); // use return address to guess "self"
|
||||
if(GetNoSelfSymbolStartEnd(my_context->maplib, rsymbol, &start, &end, elf, -1, NULL)) {
|
||||
if(GetNoSelfSymbolStartEnd(my_context->maplib, rsymbol, &start, &end, elf, 0, -1, NULL)) {
|
||||
printf_dlsym(LOG_NEVER, "%p\n", (void*)start);
|
||||
return (void*)start;
|
||||
}
|
||||
@@ -383,7 +383,7 @@ void* my_dlvsym(x86emu_t* emu, void *handle, void *symbol, const char* vername)
|
||||
if(handle==(void*)0xFFFFFFFF) {
|
||||
// special case, look globably but no self (RTLD_NEXT)
|
||||
elfheader_t *elf = FindElfAddress(my_context, *(uint32_t*)R_ESP); // use return address to guess "self"
|
||||
if(GetNoSelfSymbolStartEnd(my_context->maplib, rsymbol, &start, &end, elf, version, vername)) {
|
||||
if(GetNoSelfSymbolStartEnd(my_context->maplib, rsymbol, &start, &end, elf, 0, version, vername)) {
|
||||
printf_dlsym(LOG_NEVER, "%p\n", (void*)start);
|
||||
return (void*)start;
|
||||
}
|
||||
|
||||
@@ -155,6 +155,7 @@ EXPORT void my_glDebugMessageCallback(x86emu_t* emu, void* prod, void* param)
|
||||
}
|
||||
EXPORT void my_glDebugMessageCallbackARB(x86emu_t* emu, void* prod, void* param) __attribute__((alias("my_glDebugMessageCallback")));
|
||||
EXPORT void my_glDebugMessageCallbackAMD(x86emu_t* emu, void* prod, void* param) __attribute__((alias("my_glDebugMessageCallback")));
|
||||
EXPORT void my_glDebugMessageCallbackKHR(x86emu_t* emu, void* prod, void* param) __attribute__((alias("my_glDebugMessageCallback")));
|
||||
|
||||
EXPORT int my_glXSwapIntervalMESA(int interval)
|
||||
{
|
||||
|
||||
@@ -3307,3 +3307,411 @@ GO(glResolveDepthValuesNV, vFv)
|
||||
|
||||
//GL_OVR_multiview
|
||||
GO(glFramebufferTextureMultiviewOVR, vFiiuiil)
|
||||
|
||||
// GL_AMD_framebuffer_sample_positions
|
||||
GO(glFramebufferSamplePositionsfvAMD, vFiuup)
|
||||
GO(glNamedFramebufferSamplePositionsfvAMD, vFuuup)
|
||||
GO(glGetFramebufferParameterfvAMD, vFiiuulp)
|
||||
GO(glGetNamedFramebufferParameterfvAMD, vFuiuulp)
|
||||
|
||||
// GL_ANGLE_framebuffer_blit
|
||||
GO(glBlitFramebufferANGLE, vFiiiiiiiiui)
|
||||
|
||||
// GL_ANGLE_framebuffer_multisample
|
||||
GO(glRenderbufferStorageMultisampleANGLE, vFilill)
|
||||
|
||||
// GL_ANGLE_instanced_arrays
|
||||
GO(glDrawArraysInstancedANGLE, vFiill)
|
||||
GO(glDrawElementsInstancedANGLE, vFilipl)
|
||||
GO(glVertexAttribDivisorANGLE, vFuu)
|
||||
|
||||
// GL_ANGLE_timer_query
|
||||
GO(glBeginQueryANGLE, vFiu)
|
||||
GO(glDeleteQueriesANGLE, vFlp)
|
||||
GO(glEndQueryANGLE, vFi)
|
||||
GO(glGenQueriesANGLE, vFlp)
|
||||
GO(glGetQueryObjecti64vANGLE, vFuip)
|
||||
GO(glGetQueryObjectivANGLE, vFuip)
|
||||
GO(glGetQueryObjectui64vANGLE, vFuip)
|
||||
GO(glGetQueryObjectuivANGLE, vFuip)
|
||||
GO(glGetQueryivANGLE, vFiip)
|
||||
GO(glIsQueryANGLE, iFu)
|
||||
GO(glQueryCounterANGLE, vFui)
|
||||
|
||||
// GL_APPLE_copy_texture_levels
|
||||
GO(glCopyTextureLevelsAPPLE, vFuuil)
|
||||
|
||||
// GL_APPLE_framebuffer_multisample
|
||||
GO(glRenderbufferStorageMultisampleAPPLE, vFilill)
|
||||
|
||||
// GL_APPLE_sync
|
||||
GO(glFenceSyncAPPLE, pFiu)
|
||||
GO(glIsSyncAPPLE, iFp)
|
||||
GO(glDeleteSyncAPPLE, vFp)
|
||||
GO(glClientWaitSyncAPPLE, iFpuU)
|
||||
GO(glWaitSyncAPPLE, vFpuU)
|
||||
GO(glGetInteger64vAPPLE, vFip)
|
||||
GO(glGetSyncivAPPLE, vFpilpp)
|
||||
|
||||
// GL_EXT_base_instance
|
||||
GO(glDrawArraysInstancedBaseInstanceEXT, vFiillu)
|
||||
GO(glDrawElementsInstancedBaseInstanceEXT, vFiliplu)
|
||||
GO(glDrawElementsInstancedBaseVertexBaseInstanceEXT, vFilipliu)
|
||||
|
||||
// GL_EXT_blend_func_extended
|
||||
GO(glBindFragDataLocationIndexedEXT, vFuuup)
|
||||
GO(glGetProgramResourceLocationIndexEXT, iFuip)
|
||||
GO(glGetFragDataIndexEXT, iFup)
|
||||
|
||||
// GL_EXT_buffer_storage
|
||||
GO(glBufferStorageEXT, vFilpu)
|
||||
|
||||
// GL_EXT_clear_texture
|
||||
GO(glClearTexImageEXT, vFuiiip)
|
||||
GO(glClearTexSubImageEXT, vFuiiiillliip)
|
||||
|
||||
// GL_EXT_copy_image
|
||||
GO(glCopyImageSubDataEXT, vFuiiiiiuiiiiilll)
|
||||
|
||||
// GL_EXT_draw_buffers
|
||||
GO(glDrawBuffersEXT, vFlp)
|
||||
|
||||
// GL_EXT_draw_buffers_indexed
|
||||
GO(glEnableiEXT, vFiu)
|
||||
GO(glDisableiEXT, vFiu)
|
||||
GO(glBlendEquationiEXT, vFui)
|
||||
GO(glBlendEquationSeparateiEXT, vFuii)
|
||||
GO(glBlendFunciEXT, vFuii)
|
||||
GO(glBlendFuncSeparateiEXT, vFuiiii)
|
||||
GO(glColorMaskiEXT, vFuiiii)
|
||||
GO(glIsEnablediEXT, iFui)
|
||||
|
||||
// GL_EXT_draw_elements_base_vertex
|
||||
GO(glDrawElementsBaseVertexEXT, vFilipi)
|
||||
GO(glDrawRangeElementsBaseVertexEXT, vFilulipi)
|
||||
GO(glDrawElementsInstancedBaseVertexEXT, vFilipli)
|
||||
|
||||
// GL_OES_draw_elements_base_vertex
|
||||
GO(glDrawElementsBaseVertexOES, vFilipi)
|
||||
GO(glDrawRangeElementsBaseVertexOES, vFiuulipi)
|
||||
GO(glDrawElementsInstancedBaseVertexOES, vFilipli)
|
||||
GO(glMultiDrawElementsBaseVertexEXT, vFipiplp)
|
||||
|
||||
// GL_EXT_fragment_lighting
|
||||
GO(glFragmentLightModeliEXT, vFii)
|
||||
GO(glFragmentLightModelfEXT, vFif)
|
||||
GO(glFragmentLightModelivEXT, vFip)
|
||||
GO(glFragmentLightModelfvEXT, vFip)
|
||||
GO(glFragmentLightiEXT, vFiii)
|
||||
GO(glFragmentLightfEXT, vFiif)
|
||||
GO(glFragmentLightivEXT, vFiip)
|
||||
GO(glFragmentLightfvEXT, vFiip)
|
||||
GO(glGetFragmentLightivEXT, vFiip)
|
||||
GO(glGetFragmentLightfvEXT, vFiip)
|
||||
GO(glFragmentMaterialfEXT, vFiif)
|
||||
GO(glFragmentMaterialiEXT, vFiii)
|
||||
GO(glFragmentMaterialfvEXT, vFiip)
|
||||
GO(glFragmentMaterialivEXT, vFiip)
|
||||
GO(glFragmentColorMaterialEXT, vFii)
|
||||
GO(glGetFragmentMaterialfvEXT, vFiip)
|
||||
GO(glGetFragmentMaterialivEXT, vFiip)
|
||||
GO(glLightEnviEXT, vFii)
|
||||
|
||||
// GL_EXT_instanced_arrays
|
||||
GO(glVertexAttribDivisorEXT, vFuu)
|
||||
|
||||
// GL_EXT_map_buffer_range
|
||||
GO(glMapBufferRangeEXT, pFillu)
|
||||
GO(glFlushMappedBufferRangeEXT, vFill)
|
||||
|
||||
// GL_EXT_multi_draw_indirect
|
||||
GO(glMultiDrawArraysIndirectEXT, vFipll)
|
||||
GO(glMultiDrawElementsIndirectEXT, vFiipll)
|
||||
|
||||
// GL_EXT_multiview_draw_buffers
|
||||
GO(glReadBufferIndexedEXT, vFii)
|
||||
GO(glDrawBuffersIndexedEXT, vFipp)
|
||||
GO(glGetIntegeri_vEXT, vFiup)
|
||||
|
||||
// GL_EXT_scene_marker
|
||||
GO(glBeginSceneEXT, vFv)
|
||||
GO(glEndSceneEXT, vFv)
|
||||
|
||||
// GL_EXT_shader_pixel_local_storage2
|
||||
GO(glFramebufferPixelLocalStorageSizeEXT, vFul)
|
||||
GO(glGetFramebufferPixelLocalStorageSizeEXT, lFu)
|
||||
GO(glClearPixelLocalStorageuiEXT, vFllp)
|
||||
|
||||
// GL_EXT_sparse_texture
|
||||
GO(glTexPageCommitmentEXT, vFiiiiillli)
|
||||
|
||||
// GL_EXT_texture_storage
|
||||
GO(glTexStorage1DEXT, vFilil)
|
||||
GO(glTexStorage2DEXT, vFilill)
|
||||
GO(glTexStorage3DEXT, vFililll)
|
||||
|
||||
// GL_EXT_texture_view
|
||||
GO(glTextureViewEXT, vFuiuiuuuu)
|
||||
|
||||
// GL_EXT_vertex_array_setXXX
|
||||
GO(glCreateArraySetExt, pFv)
|
||||
GO(glBindArraySetEXT, vFp)
|
||||
GO(glDeleteArraySetsEXT, vFlp)
|
||||
|
||||
// GL_INTEL_texture_scissor
|
||||
GO(glTexScissorINTEL, vFiff)
|
||||
GO(glTexScissorFuncINTEL, vFiii)
|
||||
|
||||
// GL_NVX_linked_gpu_multicast
|
||||
GO(glLGPUNamedBufferSubDataNVX, vFuullp)
|
||||
GO(glLGPUCopyImageSubDataNVX, vFuuuiiiiiuiiiiilll)
|
||||
GO(glLGPUInterlockNVX, vFv)
|
||||
|
||||
// GL_NV_3dvision_settings
|
||||
GO(glStereoParameteriNV, vFii)
|
||||
GO(glStereoParameterfNV, vFif)
|
||||
|
||||
// GL_NV_copy_buffer
|
||||
GO(glCopyBufferSubDataNV, vFiilll)
|
||||
|
||||
// GL_NV_draw_buffers
|
||||
GO(glDrawBuffersNV, vFlp)
|
||||
|
||||
// GL_NV_draw_instanced
|
||||
GO(glDrawArraysInstancedNV, vFiill)
|
||||
GO(glDrawElementsInstancedNV, vFilipl)
|
||||
|
||||
// GL_NV_framebuffer_blit
|
||||
GO(glBlitFramebufferNV, vFiiiiiiiiui)
|
||||
|
||||
// GL_NV_framebuffer_multisample
|
||||
GO(glRenderbufferStorageMultisampleNV, vFilill)
|
||||
|
||||
// GL_NV_instanced_arrays
|
||||
GO(glVertexAttribDivisorNV, vFuu)
|
||||
|
||||
// GL_NV_non_square_matrices
|
||||
GO(glUniformMatrix2x3fvNV, vFilip)
|
||||
GO(glUniformMatrix3x2fvNV, vFilip)
|
||||
GO(glUniformMatrix2x4fvNV, vFilip)
|
||||
GO(glUniformMatrix4x2fvNV, vFilip)
|
||||
GO(glUniformMatrix3x4fvNV, vFilip)
|
||||
GO(glUniformMatrix4x3fvNV, vFilip)
|
||||
|
||||
// GL_NV_polygon_mode
|
||||
GO(glPolygonModeNV, vFii)
|
||||
|
||||
// GL_NV_texture_array
|
||||
GO(glTexImage3DNV, vFiiillliiip)
|
||||
GO(glTexSubImage3DNV, vFiiiiillliip)
|
||||
GO(glCopyTexSubImage3DNV, vFiiiiiiill)
|
||||
GO(glCompressedTexImage3DNV, vFiiilllilp)
|
||||
GO(glCompressedTexSubImage3DNV, vFiiiiilllilp)
|
||||
GO(glFramebufferTextureLayerNV, vFiiuii)
|
||||
|
||||
// GL_NV_viewport_array
|
||||
GO(glViewportArrayvNV, vFulp)
|
||||
GO(glViewportIndexedfNV, vFuffff)
|
||||
GO(glViewportIndexedfvNV, vFup)
|
||||
GO(glScissorArrayvNV, vFulp)
|
||||
GO(glScissorIndexedNV, vFuiill)
|
||||
GO(glScissorIndexedvNV, vFup)
|
||||
GO(glDepthRangeArrayfvNV, vFulp)
|
||||
GO(glDepthRangeIndexedfNV, vFuff)
|
||||
GO(glGetFloati_vNV, vFiup)
|
||||
GO(glEnableiNV, vFiu)
|
||||
GO(glDisableiNV, vFiu)
|
||||
GO(glIsEnablediNV, iFiu)
|
||||
|
||||
// GL_OVR_multiview_multisampled_render_to_texture
|
||||
GO(glFramebufferTextureMultisampleMultiviewOVR, vFiiuilil)
|
||||
|
||||
// GL_QCOM_alpha_test
|
||||
GO(glAlphaFuncQCOM, vFif)
|
||||
|
||||
// GL_QCOM_driver_control
|
||||
GO(glGetDriverControlsQCOM, vFplp)
|
||||
GO(glGetDriverControlStringQCOM, vFulpp)
|
||||
GO(glEnableDriverControlQCOM, vFu)
|
||||
GO(glDisableDriverControlQCOM, vFu)
|
||||
|
||||
// GL_QCOM_extended_get
|
||||
GO(glExtGetTexturesQCOM, vFpip)
|
||||
GO(glExtGetBuffersQCOM, vFpip)
|
||||
GO(glExtGetRenderbuffersQCOM, vFpip)
|
||||
GO(glExtGetFramebuffersQCOM, vFpip)
|
||||
GO(glExtGetTexLevelParameterivQCOM, vFuiiip)
|
||||
GO(glExtTexObjectStateOverrideiQCOM, vFiii)
|
||||
GO(glExtGetTexSubImageQCOM, vFiiiiillliip)
|
||||
GO(glExtGetBufferPointervQCOM, vFip)
|
||||
|
||||
// GL_QCOM_extended_get2
|
||||
GO(glExtGetShadersQCOM, vFpip)
|
||||
GO(glExtGetProgramsQCOM, vFpip)
|
||||
GO(glExtIsProgramBinaryQCOM, iFu)
|
||||
GO(glExtGetProgramBinarySourceQCOM, vFuipp)
|
||||
|
||||
// GL_QCOM_framebuffer_foveated
|
||||
GO(glFramebufferFoveationConfigQCOM, vFuuuup)
|
||||
GO(glFramebufferFoveationParametersQCOM, vFuuufffff)
|
||||
|
||||
// GL_QCOM_shader_framebuffer_fetch_noncoherent
|
||||
GO(glFramebufferFetchBarrierQCOM, vFv)
|
||||
|
||||
// GL_QCOM_tiled_rendering
|
||||
GO(glStartTilingQCOM, vFuuuuu)
|
||||
GO(glEndTilingQCOM, vFu)
|
||||
|
||||
// GLES fixed point
|
||||
GO(glAlphaFuncx, vFii)
|
||||
GO(glClearColorx, vFiiii)
|
||||
GO(glClearDepthx, vFi)
|
||||
GO(glClipPlanex, vFip)
|
||||
GO(glColor4x, vFiiii)
|
||||
GO(glDepthRangex, vFii)
|
||||
GO(glFogx, vFii)
|
||||
GO(glFogxv, vFip)
|
||||
GO(glFrustumx, vFiiiiii)
|
||||
GO(glGetClipPlanex, vFip)
|
||||
GO(glGetFixedv, vFip)
|
||||
GO(glGetTexEnvxv, vFiip)
|
||||
GO(glGetTexParameterxv, vFiip)
|
||||
GO(glLightModelx, vFii)
|
||||
GO(glLightModelxv, vFip)
|
||||
GO(glLightx, vFiii)
|
||||
GO(glLightxv, vFiip)
|
||||
GO(glLineWidthx, vFi)
|
||||
GO(glLoadMatrixx, vFp)
|
||||
GO(glMaterialx, vFiii)
|
||||
GO(glMaterialxv, vFiip)
|
||||
GO(glMultMatrixx, vFp)
|
||||
GO(glMultiTexCoord4x, vFiiiii)
|
||||
GO(glNormal3x, vFiiii)
|
||||
GO(glOrthox, vFiiiiii)
|
||||
GO(glPointParameterxv, vFip)
|
||||
GO(glPointSizex, vFi)
|
||||
GO(glPolygonOffsetx, vFii)
|
||||
GO(glRotatex, vFiiii)
|
||||
GO(glScalex, vFiii)
|
||||
GO(glTexEnvx, vFiii)
|
||||
GO(glTexEnvxv, vFiip)
|
||||
GO(glTexParameterx, vFiii)
|
||||
GO(glTexParameterxv, vFiip)
|
||||
GO(glTranslatex, vFiii)
|
||||
GO(glAccumx, vFii)
|
||||
GO(glBitmapx, vFlliiiip)
|
||||
GO(glBlendColorx, vFiiii)
|
||||
GO(glClearAccumx, vFiiii)
|
||||
GO(glColor3x, vFiii)
|
||||
GO(glColor3xv, vFp)
|
||||
GO(glColor4xv, vFp)
|
||||
GO(glConvolutionParameterx, vFiii)
|
||||
GO(glConvolutionParameterxv, vFiip)
|
||||
GO(glEvalCoord1x, vFi)
|
||||
GO(glEvalCoord1xv, vFp)
|
||||
GO(glEvalCoord2x, vFii)
|
||||
GO(glEvalCoord2xv, vFp)
|
||||
GO(glFeedbackBufferx, vFlip)
|
||||
GO(glGetConvolutionParameterxv, vFiip)
|
||||
GO(glGetHistogramParameterxv, vFiip)
|
||||
GO(glGetLightx, vFiip)
|
||||
GO(glGetMapxv, vFiip)
|
||||
GO(glGetMaterialx, vFiii)
|
||||
GO(glGetTexGenxv, vFiip)
|
||||
GO(glGetTexLevelParameterxv, vFiiip)
|
||||
GO(glIndexx, vFi)
|
||||
GO(glIndexxv, vFp)
|
||||
GO(glLoadTransposeMatrixx, vFp)
|
||||
GO(glMap1x, vFiiiiii)
|
||||
GO(glMap2x, vFiiiiiiiiii)
|
||||
GO(glMapGrid1x, vFiii)
|
||||
GO(glMapGrid2x, vFiiiii)
|
||||
GO(glMultTransposeMatrixx, vFp)
|
||||
GO(glMultiTexCoord1x, vFii)
|
||||
GO(glMultiTexCoord1xv, vFip)
|
||||
GO(glMultiTexCoord2x, vFiii)
|
||||
GO(glMultiTexCoord2xv, vFip)
|
||||
GO(glMultiTexCoord3x, vFiiii)
|
||||
GO(glMultiTexCoord3xv, vFip)
|
||||
GO(glMultiTexCoord4xv, vFip)
|
||||
GO(glNormal3xv, vFp)
|
||||
GO(glPassThroughx, vFi)
|
||||
GO(glPixelM, vFiip)
|
||||
GO(glPixelSto, vFii)
|
||||
GO(glPixelTransferx, vFii)
|
||||
GO(glPixelZoomx, vFii)
|
||||
GO(glPrioritizeTexturesx, vFlpp)
|
||||
GO(glRasterPos2x, vFii)
|
||||
GO(glRasterPos2xv, vFp)
|
||||
GO(glRasterPos3x, vFiii)
|
||||
GO(glRasterPos3xv, vFp)
|
||||
GO(glRasterPos4x, vFiiii)
|
||||
GO(glRasterPos4xv, vFp)
|
||||
GO(glRectx, vFiiii)
|
||||
GO(glRectxv, vFpp)
|
||||
GO(glTexCoord1x, vFi)
|
||||
GO(glTexCoord1xv, vFp)
|
||||
GO(glTexCoord2x, vFii)
|
||||
GO(glTexCoord2xv, vFp)
|
||||
GO(glTexCoord3x, vFiii)
|
||||
GO(glTexCoord3xv, vFp)
|
||||
GO(glTexCoord4x, vFiiii)
|
||||
GO(glTexCoord4xv, vFp)
|
||||
GO(glTexGenx, vFiii)
|
||||
GO(glTexGenxv, vFiip)
|
||||
GO(glVertex2x, vFi)
|
||||
GO(glVertex2xv, vFp)
|
||||
GO(glVertex3x, vFii)
|
||||
GO(glVertex3xv, vFp)
|
||||
GO(glVertex4x, vFiii)
|
||||
GO(glVertex4xv, vFp)
|
||||
|
||||
// GL_OES_point_size
|
||||
GO(glPointSizePointerOES, vFilp)
|
||||
|
||||
// GL_REGAL_error_string
|
||||
GO(glErrorStringREGAL, pFi)
|
||||
|
||||
// GL_REGAL_extension_query
|
||||
GO(glGetExtensionREGAL, iFp)
|
||||
GO(glIsSupportedREGAL, iFp)
|
||||
|
||||
//glLogMessageCallbackREGAL
|
||||
//glGetProcAddressREGAL
|
||||
|
||||
// GL_SGIS_multitexture
|
||||
GO(glInterleavedTextureCoordSetsSGIS, vFi)
|
||||
GO(glSelectTextureCoordSetSGIS, vFi)
|
||||
GO(glSelectTextureSGIS, vFi)
|
||||
GO(glSelectTextureTransformSGIS, vFi)
|
||||
|
||||
// GL_SGIS_shared_multisample
|
||||
GO(glMultisampleSubRectPosSGIS, vFii)
|
||||
|
||||
// GL_SGIX_datapipe
|
||||
GO(glAddressSpace, vFiu)
|
||||
GO(glDataPipe, iFi)
|
||||
|
||||
// GL_SGIX_fog_layers
|
||||
GO(glFogLayersSGIX, vFlp)
|
||||
GO(glGetFogLayersSGIX, vFp)
|
||||
|
||||
// GL_SGIX_fog_texture
|
||||
GO(glTextureFogSGIX, vFu)
|
||||
|
||||
// GL_ANGLE_request_extension
|
||||
GO(glDisableExtensionANGLE, vFp)
|
||||
GO(glRequestExtensionANGLE, vFp)
|
||||
|
||||
// GL_KHR_debug
|
||||
GO(glDebugMessageControlKHR, vFiiilpi)
|
||||
GO(glDebugMessageInsertKHR, vFiiuilp)
|
||||
GOM(glDebugMessageCallbackKHR, vFEpp)
|
||||
GO(glGetDebugMessageLogKHR, uFulpppppp)
|
||||
GO(glPushDebugGroupKHR, vFiulp)
|
||||
GO(glPopDebugGroupKHR, vFv)
|
||||
GO(glObjectLabelKHR, vFiulp)
|
||||
GO(glGetObjectLabelKHR, vFiulpp)
|
||||
GO(glObjectPtrLabelKHR, vFplp)
|
||||
GO(glGetObjectPtrLabelKHR, vFplpp)
|
||||
GO(glGetPointervKHR, vFip)
|
||||
@@ -307,7 +307,7 @@ GO(_XEatDataWords, vFpu)
|
||||
//GO(XEHeadOfExtensionList
|
||||
GO(XEmptyRegion, iFp)
|
||||
//GO(XEnableAccessControl
|
||||
// _XEnq
|
||||
GO(_XEnq, vFpp)
|
||||
GO(XEqualRegion, iFpp)
|
||||
// _XError
|
||||
DATAB(_XErrorFunction, 4)
|
||||
|
||||
@@ -516,6 +516,7 @@ GO(SDL_RenderSetViewport, iFpp)
|
||||
GO(SDL_RenderTargetSupported, iFp)
|
||||
GO(SDL_ReportAssertion, uFpppi)
|
||||
GO(SDL_ResetAssertionReport, vFv)
|
||||
GO(SDL_ResetKeyboard, vFv)
|
||||
GO(SDL_RestoreWindow, vFp)
|
||||
GOM(SDL_RWFromConstMem, pFEpi)
|
||||
GOM(SDL_RWFromFP, pFEpi)
|
||||
|
||||
+42
-18
@@ -521,6 +521,14 @@ DESTROY64(vkDestroySamplerYcbcrConversionKHR)
|
||||
|
||||
DESTROY64(vkDestroyValidationCacheEXT)
|
||||
|
||||
CREATE(vkCreatePrivateDataSlot)
|
||||
CREATE(vkCreatePrivateDataSlotEXT)
|
||||
DESTROY64(vkDestroyPrivateDataSlot)
|
||||
DESTROY64(vkDestroyPrivateDataSlotEXT)
|
||||
|
||||
CREATE(vkCreateOpticalFlowSessionNV)
|
||||
DESTROY64(vkDestroyOpticalFlowSessionNV)
|
||||
|
||||
EXPORT void my_vkGetPhysicalDeviceProperties(x86emu_t* emu, void* device, void* pProps)
|
||||
{
|
||||
static const char* desc =
|
||||
@@ -562,7 +570,7 @@ EXPORT int my_vkGetDisplayPlaneCapabilitiesKHR(x86emu_t* emu, void* device, uint
|
||||
{
|
||||
static const char* desc = "iuuuuuuuuuuuuuuuu";
|
||||
|
||||
void* aligned = vkalignStruct(pCap, desc, 0);
|
||||
void* aligned = vkalignStruct(pCap, desc, 1);
|
||||
int ret = my->vkGetDisplayPlaneCapabilitiesKHR(device, mode, index, aligned);
|
||||
vkunalignStruct(aligned, desc, 0);
|
||||
return ret;
|
||||
@@ -590,7 +598,7 @@ EXPORT void my_vkGetPhysicalDeviceMemoryProperties(x86emu_t* emu, void* device,
|
||||
"u" //uint32_t memoryHeapCount;
|
||||
"UiUiUiUiUiUiUiUiUiUiUiUiUiUiUiUi"; //VkMemoryHeap memoryHeaps[VK_MAX_MEMORY_HEAPS]; //16
|
||||
|
||||
void* aligned = vkalignStruct(pProps, desc, 0);
|
||||
void* aligned = vkalignStruct(pProps, desc, 1);
|
||||
my->vkGetPhysicalDeviceMemoryProperties(device, aligned);
|
||||
vkunalignStruct(aligned, desc, 0);
|
||||
}
|
||||
@@ -645,21 +653,8 @@ EXPORT int my_vkGetBufferMemoryRequirements2(x86emu_t* emu, void* device, void*
|
||||
{
|
||||
static const char* desc = "uPSUUu";
|
||||
void* m = vkalignStruct(pMemoryRequirement, desc, 1);
|
||||
printf_log(LOG_INFO, "\nwill call vkGetBufferMemoryRequirements2 with %p, converted from %p (struct size=%d)\n", m, pMemoryRequirement, vkalignSize(desc));
|
||||
printf_log(LOG_INFO, "pMemoryRequirement is\n");
|
||||
for(int i=0; i<8; ++i)
|
||||
printf_log(LOG_INFO, "%i: %08X\n", i, ((uint32_t*)pMemoryRequirement)[i]);
|
||||
printf_log(LOG_INFO, "-------------\nconverted it is\n");
|
||||
for(int i=0; i<9; ++i)
|
||||
printf_log(LOG_INFO, "%i: %08X\n", i, ((uint32_t*)m)[i]);
|
||||
int ret = my->vkGetBufferMemoryRequirements2(device, pInfo, m);
|
||||
printf_log(LOG_INFO, "-------------\nafter the call it is\n");
|
||||
for(int i=0; i<9; ++i)
|
||||
printf_log(LOG_INFO, "%i: %08X\n", i, ((uint32_t*)m)[i]);
|
||||
vkunalignStruct(m, desc, 1);
|
||||
printf_log(LOG_INFO, "-------------\npMemoryRequirement now is\n");
|
||||
for(int i=0; i<8; ++i)
|
||||
printf_log(LOG_INFO, "%i: %08X\n", i, ((uint32_t*)pMemoryRequirement)[i]);
|
||||
return ret;
|
||||
}
|
||||
EXPORT int my_vkGetBufferMemoryRequirements2KHR(x86emu_t* emu, void* device, void* pInfo, void* pMemoryRequirement)
|
||||
@@ -692,7 +687,7 @@ EXPORT void my_vkGetPhysicalDeviceProperties2(x86emu_t* emu, void* device, void*
|
||||
static const char* desc = "uP"
|
||||
"uuuuiYB"
|
||||
"SuuuuuuuuuuuUUuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuffuuuffuLUUUiuiuffuuuuiiiiuiiiiiuifuuuuffffffiiUUU"
|
||||
"Siiiii";
|
||||
"iiiii";
|
||||
void* m = vkalignStruct(pProp, desc, 1);
|
||||
my->vkGetPhysicalDeviceProperties2(device, m);
|
||||
vkunalignStruct(m, desc, 1);
|
||||
@@ -703,7 +698,7 @@ __attribute__((alias("my_vkGetPhysicalDeviceProperties2")));
|
||||
|
||||
EXPORT int my_vkGetPhysicalDeviceSurfaceCapabilities2EXT(x86emu_t* emu, void* device, uint64_t surface, void* pSurfaceCapabilities)
|
||||
{
|
||||
static const char* desc = "uPuuSuuSuuSuuuiiiii";
|
||||
static const char* desc = "uPuuuuuuuuuiiiii";
|
||||
void* m = vkalignStruct(pSurfaceCapabilities, desc, 1);
|
||||
int ret = my->vkGetPhysicalDeviceSurfaceCapabilities2EXT(device, surface, m);
|
||||
vkunalignStruct(m, desc, 1);
|
||||
@@ -712,9 +707,38 @@ EXPORT int my_vkGetPhysicalDeviceSurfaceCapabilities2EXT(x86emu_t* emu, void* de
|
||||
|
||||
EXPORT int my_vkGetPhysicalDeviceSurfaceCapabilities2KHR(x86emu_t* emu, void* device, void* pInfo, void* pSurfaceCapabilities)
|
||||
{
|
||||
static const char* desc = "uPSuuSuuSuuSuuuiiii";
|
||||
static const char* desc = "uPuuuuuuuuuiiii";
|
||||
void* m = vkalignStruct(pSurfaceCapabilities, desc, 1);
|
||||
int ret = my->vkGetPhysicalDeviceSurfaceCapabilities2KHR(device, pInfo, m);
|
||||
vkunalignStruct(m, desc, 1);
|
||||
return ret;
|
||||
}
|
||||
|
||||
EXPORT void my_vkGetDeviceImageSparseMemoryRequirements(x86emu_t* emu, void* device, void* pInfo, uint32_t* count, void* pSparseMemoryRequirements)
|
||||
{
|
||||
static const char* desc = "uPiuuuiuUUU";
|
||||
void* m = vkalignStruct(pSparseMemoryRequirements, desc, *count);
|
||||
my->vkGetDeviceImageSparseMemoryRequirements(device, pInfo, count, m);
|
||||
vkunalignStruct(m, desc, *count); // bad things will happens if *count is changed while pSparseMemoryRequirements is not NULL
|
||||
}
|
||||
EXPORT void vkGetDeviceImageSparseMemoryRequirementsKHR(x86emu_t* emu, void* device, void* pInfo, uint32_t* count, void* pSparseMemoryRequirements)
|
||||
__attribute__((alias("my_vkGetDeviceImageSparseMemoryRequirements")));
|
||||
|
||||
EXPORT int my_vkQueueSubmit2(x86emu_t* emu, void* queue, uint32_t count, void* pSubmits, uint64_t fence)
|
||||
{
|
||||
static const char* desc = "uPiuQuQuQ";
|
||||
void* m = vkalignStruct(pSubmits, desc, count);
|
||||
int ret = my->vkQueueSubmit2(queue, count, m, fence);
|
||||
vkunalignStruct(m, desc, count);
|
||||
return ret;
|
||||
}
|
||||
EXPORT int my_vkQueueSubmit2EXT(x86emu_t* emu, void* queue, uint32_t count, void* pSubmits, uint64_t fence)
|
||||
__attribute__((alias("my_vkQueueSubmit2")));
|
||||
|
||||
EXPORT int my_vkGetPhysicalDeviceOpticalFlowImageFormatsNV(x86emu_t* emu, void* device, void* pInfo, uint32_t* count, void* pImageFormatProperties)
|
||||
{
|
||||
static const char* desc = "uPiuuuiuUUU";
|
||||
void* m = vkalignStruct(pImageFormatProperties, desc, *count);
|
||||
my->vkGetPhysicalDeviceOpticalFlowImageFormatsNV(device, pInfo, count, m);
|
||||
vkunalignStruct(m, desc, *count); // bad things will happens if *count is changed while pSparseMemoryRequirements is not NULL
|
||||
}
|
||||
@@ -220,12 +220,44 @@ GO(vkSignalSemaphore, iFpP)
|
||||
GO(vkWaitSemaphores, iFpPU)
|
||||
|
||||
// VK_VERSION_1_3
|
||||
GO(vkCmdBeginRendering, vFpP)
|
||||
GO(vkCmdEndRendering, vFp)
|
||||
GO(vkCmdBlitImage2, vFpP)
|
||||
GO(vkCmdCopyBuffer2, vFpP)
|
||||
GO(vkCmdCopyBufferToImage2, vFpP)
|
||||
GO(vkCmdCopyImage2, vFpP)
|
||||
GO(vkCmdCopyImageToBuffer2, vFpP)
|
||||
GO(vkCmdResolveImage2, vFpP)
|
||||
GO(vkCmdSetDepthBiasEnable, vFpi)
|
||||
GO(vkCmdSetLogicOp, vFpi)
|
||||
GO(vkCmdSetPatchControlPoints, vFpu)
|
||||
GO(vkCmdSetPrimitiveRestartEnable, vFpi)
|
||||
GO(vkCmdSetRasterizerDiscardEnable, vFpi)
|
||||
GOM(vkCreatePrivateDataSlot, iFEpPpp)
|
||||
GOM(vkDestroyPrivateDataSlot, vFEpUp)
|
||||
GO(vkGetPrivateData, vFpiUUp)
|
||||
GO(vkSetPrivateData, iFpiUUU)
|
||||
GO(vkGetDeviceBufferMemoryRequirements, vFpPP)
|
||||
GO(vkGetDeviceImageMemoryRequirements, vFpPP)
|
||||
GOM(vkGetDeviceImageSparseMemoryRequirements, vFEpPpp)
|
||||
GO(vkCmdPipelineBarrier2, vFpP)
|
||||
GO(vkCmdResetEvent2, vFpUU)
|
||||
GO(vkCmdSetEvent2, vFpUP)
|
||||
GO(vkCmdWaitEvents2, vFpupP)
|
||||
GO(vkCmdWriteTimestamp2, vFpUUu)
|
||||
GOM(vkQueueSubmit2, iFEpupU)
|
||||
GO(vkCmdBindVertexBuffers2, vFpuupppp)
|
||||
GO(vkCmdSetCullMode, vFpu)
|
||||
GO(vkCmdSetDepthBoundsTestEnable, vFpu)
|
||||
GO(vkCmdSetDepthCompareOp, vFpu)
|
||||
GO(vkCmdSetDepthTestEnable, vFpu)
|
||||
GO(vkCmdSetDepthWriteEnable, vFpu)
|
||||
GO(vkCmdSetFrontFace, vFpu)
|
||||
GO(vkCmdSetPrimitiveTopology, vFpi)
|
||||
GO(vkCmdSetScissorWithCount, vFpup)
|
||||
GO(vkCmdSetStencilOp, vFpuiiii)
|
||||
GO(vkCmdSetStencilTestEnable, vFpu)
|
||||
GO(vkCmdSetViewportWithCount, vFpup)
|
||||
|
||||
// VK_EXT_debug_report
|
||||
GOM(vkCreateDebugReportCallbackEXT, iFEpppp)
|
||||
@@ -436,20 +468,6 @@ GO(vkCmdEndRenderPass2KHR, vFpP)
|
||||
GO(vkCmdNextSubpass2KHR, vFpPP)
|
||||
GOM(vkCreateRenderPass2KHR, iFEpPpp)
|
||||
|
||||
// VK_EXT_extended_dynamic_state
|
||||
GO(vkCmdBindVertexBuffers2EXT, vFpuupppp)
|
||||
GO(vkCmdSetCullModeEXT, vFpu)
|
||||
GO(vkCmdSetDepthBoundsTestEnableEXT, vFpu)
|
||||
GO(vkCmdSetDepthCompareOpEXT, vFpu)
|
||||
GO(vkCmdSetDepthTestEnableEXT, vFpu)
|
||||
GO(vkCmdSetDepthWriteEnableEXT, vFpu)
|
||||
GO(vkCmdSetFrontFaceEXT, vFpu)
|
||||
GO(vkCmdSetPrimitiveTopologyEXT, vFpi)
|
||||
GO(vkCmdSetScissorWithCountEXT, vFup)
|
||||
GO(vkCmdSetStencilOpEXT, vFpuiiii)
|
||||
GO(vkCmdSetStencilTestEnableEXT, vFpu)
|
||||
GO(vkCmdSetViewportWithCountEXT, vFpup)
|
||||
|
||||
// VK_KHR_draw_indirect_count
|
||||
GO(vkCmdDrawIndexedIndirectCountKHR, vFpUUUUuu)
|
||||
GO(vkCmdDrawIndirectCountKHR, vFpUUUUuu)
|
||||
@@ -537,3 +555,58 @@ GO(vkGetDeviceMemoryOpaqueCaptureAddressKHR, UFpp)
|
||||
|
||||
// VK_EXT_buffer_device_address
|
||||
GO(vkGetBufferDeviceAddressEXT, UFpp)
|
||||
|
||||
// VK_KHR_dynamic_rendering
|
||||
GO(vkCmdBeginRenderingKHR, vFpP)
|
||||
GO(vkCmdEndRenderingKHR, vFp)
|
||||
|
||||
// VK_EXT_extended_dynamic_state2
|
||||
GO(vkCmdSetDepthBiasEnableEXT, vFpi)
|
||||
GO(vkCmdSetLogicOpEXT, vFpi)
|
||||
GO(vkCmdSetPatchControlPointsEXT, vFpu)
|
||||
GO(vkCmdSetPrimitiveRestartEnableEXT, vFpi)
|
||||
GO(vkCmdSetRasterizerDiscardEnableEXT, vFpi)
|
||||
|
||||
// VK_EXT_private_data
|
||||
GOM(vkCreatePrivateDataSlotEXT, iFEpPpp)
|
||||
GOM(vkDestroyPrivateDataSlotEXT, vFEpUp)
|
||||
GO(vkGetPrivateDataEXT, vFpiUUp)
|
||||
GO(vkSetPrivateDataEXT, iFpiUUU)
|
||||
|
||||
// VK_KHR_maintenance4
|
||||
GO(vkGetDeviceBufferMemoryRequirementsKHR, vFpPP)
|
||||
GO(vkGetDeviceImageMemoryRequirementsKHR, vFpPP)
|
||||
GOM(vkGetDeviceImageSparseMemoryRequirementsKHR, vFEpPpp)
|
||||
|
||||
// VK_KHR_synchronization2
|
||||
GO(vkCmdPipelineBarrier2KHR, vFpP)
|
||||
GO(vkCmdResetEvent2KHR, vFpUU)
|
||||
GO(vkCmdSetEvent2KHR, vFpUP)
|
||||
GO(vkCmdWaitEvents2KHR, vFpupP)
|
||||
GO(vkCmdWriteTimestamp2KHR, vFpUUu)
|
||||
GOM(vkQueueSubmit2KHR, iFEpupU)
|
||||
|
||||
// VK_EXT_extended_dynamic_state
|
||||
GO(vkCmdBindVertexBuffers2EXT, vFpuupppp)
|
||||
GO(vkCmdSetCullModeEXT, vFpu)
|
||||
GO(vkCmdSetDepthBoundsTestEnableEXT, vFpu)
|
||||
GO(vkCmdSetDepthCompareOpEXT, vFpu)
|
||||
GO(vkCmdSetDepthTestEnableEXT, vFpu)
|
||||
GO(vkCmdSetDepthWriteEnableEXT, vFpu)
|
||||
GO(vkCmdSetFrontFaceEXT, vFpu)
|
||||
GO(vkCmdSetPrimitiveTopologyEXT, vFpi)
|
||||
GO(vkCmdSetScissorWithCountEXT, vFpup)
|
||||
GO(vkCmdSetStencilOpEXT, vFpuiiii)
|
||||
GO(vkCmdSetStencilTestEnableEXT, vFpu)
|
||||
GO(vkCmdSetViewportWithCountEXT, vFpup)
|
||||
|
||||
// VK_EXT_shader_module_identifier
|
||||
GO(vkGetShaderModuleCreateInfoIdentifierEXT, vFpPP)
|
||||
GO(vkGetShaderModuleIdentifierEXT, vFpUp)
|
||||
|
||||
// VK_NV_optical_flow
|
||||
GO(vkBindOpticalFlowSessionImageNV, iFpUiUi)
|
||||
GO(vkCmdOpticalFlowExecuteNV, vFpUP)
|
||||
GOM(vkCreateOpticalFlowSessionNV, iFEpPpp)
|
||||
GOM(vkDestroyOpticalFlowSessionNV, vFEpUp)
|
||||
GOM(vkGetPhysicalDeviceOpticalFlowImageFormatsNV, iFEpPpp)
|
||||
Reference in new issue
Block a user