Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

JitArm64: Drop ps_res instruction. #5367

Merged
merged 3 commits into from
May 3, 2017
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
2 changes: 2 additions & 0 deletions Source/Core/Common/Analytics.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
#include "Common/Analytics.h"
#include "Common/CommonTypes.h"
#include "Common/StringUtil.h"
#include "Common/Thread.h"

namespace Common
{
Expand Down Expand Up @@ -147,6 +148,7 @@ void AnalyticsReporter::Send(AnalyticsReportBuilder&& report)

void AnalyticsReporter::ThreadProc()
{
Common::SetCurrentThreadName("Analytics");
while (true)
{
m_reporter_event.Wait();
Expand Down
1 change: 0 additions & 1 deletion Source/Core/Core/PowerPC/JitArm64/Jit.h
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,6 @@ class JitArm64 : public JitBase, public Arm64Gen::ARM64CodeBlock, public CommonA
void ps_maddXX(UGeckoInstruction inst);
void ps_mergeXX(UGeckoInstruction inst);
void ps_mulsX(UGeckoInstruction inst);
void ps_res(UGeckoInstruction inst);
void ps_sel(UGeckoInstruction inst);
void ps_sumX(UGeckoInstruction inst);

Expand Down
23 changes: 0 additions & 23 deletions Source/Core/Core/PowerPC/JitArm64/JitArm64_Paired.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -152,29 +152,6 @@ void JitArm64::ps_maddXX(UGeckoInstruction inst)
fpr.Unlock(V0Q);
}

void JitArm64::ps_res(UGeckoInstruction inst)
{
INSTRUCTION_START
JITDISABLE(bJITPairedOff);
FALLBACK_IF(inst.Rc);
FALLBACK_IF(SConfig::GetInstance().bFPRF && js.op->wantsFPRF);

u32 b = inst.FB, d = inst.FD;

bool singles = fpr.IsSingle(b);
RegType type = singles ? REG_REG_SINGLE : REG_REG;
u8 size = singles ? 32 : 64;
ARM64Reg (*reg_encoder)(ARM64Reg) = singles ? EncodeRegToDouble : EncodeRegToQuad;

ARM64Reg VB = fpr.R(b, type);
ARM64Reg VD = fpr.RW(d, type);

// FIXME: implement the same LUT as in the interpreter
m_float_emit.FRECPE(size, reg_encoder(VD), reg_encoder(VB));

fpr.FixSinglePrecision(d);
}

void JitArm64::ps_sel(UGeckoInstruction inst)
{
INSTRUCTION_START
Expand Down
2 changes: 1 addition & 1 deletion Source/Core/Core/PowerPC/JitArm64/JitArm64_Tables.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -145,7 +145,7 @@ constexpr GekkoOPTemplate table4_2[] = {
{20, &JitArm64::fp_arith}, // ps_sub
{21, &JitArm64::fp_arith}, // ps_add
{23, &JitArm64::ps_sel}, // ps_sel
{24, &JitArm64::ps_res}, // ps_res
{24, &JitArm64::FallBackToInterpreter}, // ps_res
{25, &JitArm64::fp_arith}, // ps_mul
{26, &JitArm64::FallBackToInterpreter}, // ps_rsqrte
{28, &JitArm64::ps_maddXX}, // ps_msub
Expand Down
5 changes: 5 additions & 0 deletions Source/Core/VideoBackends/OGL/Render.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,11 @@ static void APIENTRY ErrorCallback(GLenum source, GLenum type, GLuint id, GLenum
const char* s_source;
const char* s_type;

// Performance - DualCore driver performance warning:
// DualCore application thread syncing with server thread
if (id == 0x200b0)
return;

switch (source)
{
case GL_DEBUG_SOURCE_API_ARB:
Expand Down