mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-23 14:19:46 -06:00
initialize the uninitialized
This commit is contained in:
@ -109,6 +109,8 @@ void Init()
|
||||
|
||||
m_CPCtrlReg.Hex = 0;
|
||||
|
||||
m_CPClearReg.Hex = 0;
|
||||
|
||||
m_bboxleft = 0;
|
||||
m_bboxtop = 0;
|
||||
m_bboxright = 640;
|
||||
@ -130,6 +132,11 @@ void Init()
|
||||
interruptFinishWaiting = false;
|
||||
interruptTokenWaiting = false;
|
||||
|
||||
bProcessFifoToLoWatermark = false;
|
||||
bProcessFifoAllDistance = false;
|
||||
isPossibleWaitingSetDrawDone = false;
|
||||
OnOverflow = false;
|
||||
|
||||
et_UpdateInterrupts = CoreTiming::RegisterEvent("UpdateInterrupts", UpdateInterrupts_Wrapper);
|
||||
}
|
||||
|
||||
|
@ -171,6 +171,18 @@ u32 VideoBackendHardware::Video_AccessEFB(EFBAccessType type, u32 x, u32 y, u32
|
||||
|
||||
static volatile u32 s_doStateRequested = false;
|
||||
|
||||
void VideoBackendHardware::InitializeShared()
|
||||
{
|
||||
VideoCommon_Init();
|
||||
|
||||
s_swapRequested = 0;
|
||||
s_efbAccessRequested = 0;
|
||||
s_FifoShuttingDown = 0;
|
||||
memset((void*)&s_beginFieldArgs, 0, sizeof(s_beginFieldArgs));
|
||||
memset(&s_accessEFBArgs, 0, sizeof(s_accessEFBArgs));
|
||||
s_AccessEFBResult = 0;
|
||||
}
|
||||
|
||||
static volatile struct
|
||||
{
|
||||
unsigned char **ptr;
|
||||
|
@ -155,6 +155,16 @@ void SetFinish_OnMainThread(u64 userdata, int cyclesLate);
|
||||
void Init()
|
||||
{
|
||||
m_Control.Hex = 0;
|
||||
m_ZConf.Hex = 0;
|
||||
m_AlphaConf.Hex = 0;
|
||||
m_DstAlphaConf.Hex = 0;
|
||||
m_AlphaModeConf.Hex = 0;
|
||||
m_AlphaRead.Hex = 0;
|
||||
|
||||
g_bSignalTokenInterrupt = false;
|
||||
g_bSignalFinishInterrupt = false;
|
||||
interruptSetToken = false;
|
||||
interruptSetFinish = false;
|
||||
|
||||
et_SetTokenOnMainThread = CoreTiming::RegisterEvent("SetToken", SetToken_OnMainThread);
|
||||
et_SetFinishOnMainThread = CoreTiming::RegisterEvent("SetFinish", SetFinish_OnMainThread);
|
||||
|
@ -150,6 +150,12 @@ void VertexShaderManager::Init()
|
||||
memset(&xfregs, 0, sizeof(xfregs));
|
||||
memset(xfmem, 0, sizeof(xfmem));
|
||||
ResetView();
|
||||
|
||||
// TODO: should these go inside ResetView()?
|
||||
Matrix44::LoadIdentity(s_viewportCorrection);
|
||||
memset(g_fProjectionMatrix, 0, sizeof(g_fProjectionMatrix));
|
||||
for (int i = 0; i < 4; ++i)
|
||||
g_fProjectionMatrix[i*5] = 1.0f;
|
||||
}
|
||||
|
||||
void VertexShaderManager::Shutdown()
|
||||
|
@ -60,3 +60,14 @@ void VideoCommon_RunLoop(bool enable)
|
||||
{
|
||||
EmulatorState(enable);
|
||||
}
|
||||
|
||||
void VideoCommon_Init()
|
||||
{
|
||||
memset(arraybases, 0, sizeof(arraybases));
|
||||
memset(arraystrides, 0, sizeof(arraystrides));
|
||||
memset(&MatrixIndexA, 0, sizeof(MatrixIndexA));
|
||||
memset(&MatrixIndexB, 0, sizeof(MatrixIndexB));
|
||||
memset(&g_VtxDesc, 0, sizeof(g_VtxDesc));
|
||||
memset(g_VtxAttr, 0, sizeof(g_VtxAttr));
|
||||
memset(texMem, 0, TMEM_SIZE);
|
||||
}
|
||||
|
@ -23,5 +23,6 @@
|
||||
|
||||
void VideoCommon_DoState(PointerWrap &p);
|
||||
void VideoCommon_RunLoop(bool enable);
|
||||
void VideoCommon_Init();
|
||||
|
||||
#endif // _VIDEOSTATE_H
|
||||
|
Reference in New Issue
Block a user