3rdParty: experimental changes to mupen64plus-core

This commit is contained in:
Rosalie Wanders committed 2025-05-29 00:55:26 +02:00
1 parent 7014796e5f
commit 8ec4d7c0ab
5 files changed
+3 -23

No files matched your search

@@ -199,7 +199,6 @@ typedef void (*ptr_ViWidthChanged)(void);
typedef void (*ptr_ReadScreen2)(void *dest, int *width, int *height, int front);
typedef void (*ptr_SetRenderingCallback)(void (*callback)(int));
typedef void (*ptr_ResizeVideoOutput)(int width, int height);
typedef void (*ptr_FullSync)(void);
#if defined(M64P_PLUGIN_PROTOTYPES)
EXPORT void CALL ChangeWindow(void);
EXPORT int CALL InitiateGFX(GFX_INFO Gfx_Info);
@@ -213,7 +212,6 @@ EXPORT void CALL ViWidthChanged(void);
EXPORT void CALL ReadScreen2(void *dest, int *width, int *height, int front);
EXPORT void CALL SetRenderingCallback(void (*callback)(int));
EXPORT void CALL ResizeVideoOutput(int width, int height);
EXPORT void CALL FullSync(void);
#endif
/* frame buffer plugin spec extension */
@@ -42,7 +42,6 @@ static void update_dpc_status(struct rdp_core* dp, uint32_t w)
if (dp->do_on_unfreeze & DELAY_DP_INT)
{
gfx.fullSync();
dp->mi->r4300->cp0.interrupt_unsafe_state &= ~INTR_UNSAFE_RDP;
signal_rcp_interrupt(dp->mi, MI_INTR_DP);
@@ -132,8 +131,6 @@ void write_dpc_regs(void* opaque, uint32_t address, uint32_t value, uint32_t mas
return;
}
//masked_write(&dp->dpc_regs[reg], value, mask);
switch(reg)
{
case DPC_START_REG:
@@ -144,14 +141,15 @@ void write_dpc_regs(void* opaque, uint32_t address, uint32_t value, uint32_t mas
dp->dpc_regs[DPC_STATUS_REG] |= DPC_STATUS_START_VALID;
break;
case DPC_END_REG:
//unprotect_framebuffers(&dp->fb);
masked_write(&dp->dpc_regs[reg], value & UINT32_C(0xFFFFF8), mask);
if (dp->dpc_regs[DPC_STATUS_REG] & DPC_STATUS_START_VALID)
{
dp->dpc_regs[DPC_CURRENT_REG] = dp->dpc_regs[DPC_START_REG];
dp->dpc_regs[DPC_STATUS_REG] &= ~DPC_STATUS_START_VALID;
}
unprotect_framebuffers(&dp->fb);
gfx.processRDPList();
protect_framebuffers(&dp->fb);
if (dp->mi->regs[MI_INTR_REG] & MI_INTR_DP)
{
dp->mi->regs[MI_INTR_REG] &= ~MI_INTR_DP;
@@ -163,9 +161,6 @@ void write_dpc_regs(void* opaque, uint32_t address, uint32_t value, uint32_t mas
}
}
break;
//protect_framebuffers(&dp->fb);
//signal_rcp_interrupt(dp->mi, MI_INTR_DP);
break;
}
}
@@ -196,8 +191,6 @@ void rdp_interrupt_event(void* opaque)
{
struct rdp_core* dp = (struct rdp_core*)opaque;
gfx.fullSync();
dp->mi->r4300->cp0.interrupt_unsafe_state &= ~INTR_UNSAFE_RDP;
raise_rcp_interrupt(dp->mi, MI_INTR_DP);
@@ -127,6 +127,3 @@ void dummyvideo_ResizeVideoOutput(int width, int height)
{
}
void dummyvideo_FullSync(void)
{
}
-7
View File
@@ -69,7 +69,6 @@ static const gfx_plugin_functions dummy_gfx = {
dummyvideo_ReadScreen2,
dummyvideo_SetRenderingCallback,
dummyvideo_ResizeVideoOutput,
dummyvideo_FullSync,
dummyvideo_FBRead,
dummyvideo_FBWrite,
dummyvideo_FBGetFrameBufferInfo
@@ -199,7 +198,6 @@ static m64p_error plugin_connect_gfx(m64p_dynlib_handle plugin_handle)
/* set function pointers for optional functions */
gfx.resizeVideoOutput = (ptr_ResizeVideoOutput)osal_dynlib_getproc(plugin_handle, "ResizeVideoOutput");
gfx.fullSync = (ptr_FullSync)osal_dynlib_getproc(plugin_handle, "FullSync");
/* check the version info */
(*gfx.getVersion)(&PluginType, &PluginVersion, &APIVersion, NULL, NULL);
@@ -224,11 +222,6 @@ static m64p_error plugin_connect_gfx(m64p_dynlib_handle plugin_handle)
DebugMessage(M64MSG_WARNING, "Fallback for Video plugin API (%02i.%02i.%02i) < 2.2.0. Resizable video will not work", VERSION_PRINTF_SPLIT(APIVersion));
gfx.resizeVideoOutput = dummyvideo_ResizeVideoOutput;
}
if (APIVersion < 0x20201 || gfx.fullSync == NULL)
{
DebugMessage(M64MSG_WARNING, "Fallback for Video plugin API (%02i.%02i.%02i) < 2.2.1. No FullSync function", VERSION_PRINTF_SPLIT(APIVersion));
gfx.fullSync = dummyvideo_FullSync;
}
l_GfxAttached = 1;
}
+1 -2
View File
@@ -36,7 +36,7 @@ extern CONTROL Controls[NUM_CONTROLLER];
/*** Version requirement information ***/
#define RSP_API_VERSION 0x20000
#define GFX_API_VERSION 0x20201
#define GFX_API_VERSION 0x20200
#define AUDIO_API_VERSION 0x20000
#define INPUT_API_VERSION 0x20101
@@ -58,7 +58,6 @@ typedef struct _gfx_plugin_functions
ptr_ReadScreen2 readScreen;
ptr_SetRenderingCallback setRenderingCallback;
ptr_ResizeVideoOutput resizeVideoOutput;
ptr_FullSync fullSync;
/* frame buffer plugin spec extension */
ptr_FBRead fBRead;