commit
a47bbee02a
|
@ -318,7 +318,7 @@ bool Jit64::Cleanup()
|
||||||
if (MMCR0.Hex || MMCR1.Hex)
|
if (MMCR0.Hex || MMCR1.Hex)
|
||||||
{
|
{
|
||||||
ABI_PushRegistersAndAdjustStack({}, 0);
|
ABI_PushRegistersAndAdjustStack({}, 0);
|
||||||
ABI_CallFunctionCCC((void *)&PowerPC::UpdatePerformanceMonitor, js.downcountAmount, jit->js.numLoadStoreInst, jit->js.numFloatingPointInst);
|
ABI_CallFunctionCCC((void *)&PowerPC::UpdatePerformanceMonitor, js.downcountAmount, js.numLoadStoreInst, js.numFloatingPointInst);
|
||||||
ABI_PopRegistersAndAdjustStack({}, 0);
|
ABI_PopRegistersAndAdjustStack({}, 0);
|
||||||
did_something = true;
|
did_something = true;
|
||||||
}
|
}
|
||||||
|
@ -562,8 +562,8 @@ const u8* Jit64::DoJit(u32 em_address, PPCAnalyst::CodeBuffer *code_buf, JitBloc
|
||||||
js.blockStart = em_address;
|
js.blockStart = em_address;
|
||||||
js.fifoBytesThisBlock = 0;
|
js.fifoBytesThisBlock = 0;
|
||||||
js.curBlock = b;
|
js.curBlock = b;
|
||||||
jit->js.numLoadStoreInst = 0;
|
js.numLoadStoreInst = 0;
|
||||||
jit->js.numFloatingPointInst = 0;
|
js.numFloatingPointInst = 0;
|
||||||
|
|
||||||
PPCAnalyst::CodeOp *ops = code_buf->codebuffer;
|
PPCAnalyst::CodeOp *ops = code_buf->codebuffer;
|
||||||
|
|
||||||
|
@ -675,7 +675,7 @@ const u8* Jit64::DoJit(u32 em_address, PPCAnalyst::CodeBuffer *code_buf, JitBloc
|
||||||
}
|
}
|
||||||
|
|
||||||
// Gather pipe writes using a non-immediate address are discovered by profiling.
|
// Gather pipe writes using a non-immediate address are discovered by profiling.
|
||||||
bool gatherPipeIntCheck = jit->js.fifoWriteAddresses.find(ops[i].address) != jit->js.fifoWriteAddresses.end();
|
bool gatherPipeIntCheck = js.fifoWriteAddresses.find(ops[i].address) != js.fifoWriteAddresses.end();
|
||||||
|
|
||||||
// Gather pipe writes using an immediate address are explicitly tracked.
|
// Gather pipe writes using an immediate address are explicitly tracked.
|
||||||
if (jo.optimizeGatherPipe && js.fifoBytesThisBlock >= 32)
|
if (jo.optimizeGatherPipe && js.fifoBytesThisBlock >= 32)
|
||||||
|
@ -849,10 +849,10 @@ const u8* Jit64::DoJit(u32 em_address, PPCAnalyst::CodeBuffer *code_buf, JitBloc
|
||||||
fpr.StoreFromRegister(j);
|
fpr.StoreFromRegister(j);
|
||||||
|
|
||||||
if (opinfo->flags & FL_LOADSTORE)
|
if (opinfo->flags & FL_LOADSTORE)
|
||||||
++jit->js.numLoadStoreInst;
|
++js.numLoadStoreInst;
|
||||||
|
|
||||||
if (opinfo->flags & FL_USE_FPU)
|
if (opinfo->flags & FL_USE_FPU)
|
||||||
++jit->js.numFloatingPointInst;
|
++js.numFloatingPointInst;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(_DEBUG) || defined(DEBUGFAST)
|
#if defined(_DEBUG) || defined(DEBUGFAST)
|
||||||
|
|
|
@ -95,18 +95,6 @@ using namespace Gen;
|
||||||
return num_blocks;
|
return num_blocks;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool JitBaseBlockCache::RangeIntersect(int s1, int e1, int s2, int e2) const
|
|
||||||
{
|
|
||||||
// check if any endpoint is inside the other range
|
|
||||||
if ((s1 >= s2 && s1 <= e2) ||
|
|
||||||
(e1 >= s2 && e1 <= e2) ||
|
|
||||||
(s2 >= s1 && s2 <= e1) ||
|
|
||||||
(e2 >= s1 && e2 <= e1))
|
|
||||||
return true;
|
|
||||||
else
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
int JitBaseBlockCache::AllocateBlock(u32 em_address)
|
int JitBaseBlockCache::AllocateBlock(u32 em_address)
|
||||||
{
|
{
|
||||||
JitBlock &b = blocks[num_blocks];
|
JitBlock &b = blocks[num_blocks];
|
||||||
|
|
|
@ -112,7 +112,6 @@ class JitBaseBlockCache
|
||||||
|
|
||||||
bool m_initialized;
|
bool m_initialized;
|
||||||
|
|
||||||
bool RangeIntersect(int s1, int e1, int s2, int e2) const;
|
|
||||||
void LinkBlockExits(int i);
|
void LinkBlockExits(int i);
|
||||||
void LinkBlock(int i);
|
void LinkBlock(int i);
|
||||||
void UnlinkBlock(int i);
|
void UnlinkBlock(int i);
|
||||||
|
|
|
@ -19,15 +19,6 @@
|
||||||
namespace OGL
|
namespace OGL
|
||||||
{
|
{
|
||||||
|
|
||||||
static const char s_vertex_workaround_shader[] =
|
|
||||||
"in vec4 rawpos;\n"
|
|
||||||
"out vec2 uv0;\n"
|
|
||||||
"uniform vec4 src_rect;\n"
|
|
||||||
"void main(void) {\n"
|
|
||||||
" gl_Position = vec4(rawpos.xy, 0.0, 1.0);\n"
|
|
||||||
" uv0 = rawpos.zw * src_rect.zw + src_rect.xy;\n"
|
|
||||||
"}\n";
|
|
||||||
|
|
||||||
static const char s_vertex_shader[] =
|
static const char s_vertex_shader[] =
|
||||||
"out vec2 uv0;\n"
|
"out vec2 uv0;\n"
|
||||||
"uniform vec4 src_rect;\n"
|
"uniform vec4 src_rect;\n"
|
||||||
|
|
Loading…
Reference in New Issue