mirror of
https://github.com/hrydgard/ppsspp.git
synced 2024-11-23 05:19:56 +00:00
Also disable the GPU JIT tests on ARM64, not applicable
This commit is contained in:
parent
431a30b9c8
commit
8397fd6791
@ -542,3 +542,31 @@ std::string CPUInfo::Summarize() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#endif // PPSSPP_ARCH(X86) || PPSSPP_ARCH(AMD64)
|
#endif // PPSSPP_ARCH(X86) || PPSSPP_ARCH(AMD64)
|
||||||
|
|
||||||
|
const char *GetCompilerABI() {
|
||||||
|
#if PPSSPP_ARCH(ARMV7)
|
||||||
|
return "armeabi-v7a";
|
||||||
|
#elif PPSSPP_ARCH(ARM)
|
||||||
|
return "armeabi";
|
||||||
|
#elif PPSSPP_ARCH(ARM64)
|
||||||
|
return "arm64";
|
||||||
|
#elif PPSSPP_ARCH(X86)
|
||||||
|
return "x86";
|
||||||
|
#elif PPSSPP_ARCH(AMD64)
|
||||||
|
return "x86-64";
|
||||||
|
#elif PPSSPP_ARCH(RISCV64)
|
||||||
|
//https://github.com/riscv/riscv-toolchain-conventions#cc-preprocessor-definitions
|
||||||
|
//https://github.com/riscv/riscv-c-api-doc/blob/master/riscv-c-api.md#abi-related-preprocessor-definitions
|
||||||
|
#if defined(__riscv_float_abi_single)
|
||||||
|
return "lp64f";
|
||||||
|
#elif defined(__riscv_float_abi_double)
|
||||||
|
return "lp64d";
|
||||||
|
#elif defined(__riscv_float_abi_quad)
|
||||||
|
return "lp64q";
|
||||||
|
#elif defined(__riscv_float_abi_soft)
|
||||||
|
return "lp64";
|
||||||
|
#endif
|
||||||
|
#else
|
||||||
|
return "other";
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
@ -161,3 +161,5 @@ private:
|
|||||||
};
|
};
|
||||||
|
|
||||||
extern CPUInfo cpu_info;
|
extern CPUInfo cpu_info;
|
||||||
|
|
||||||
|
const char *GetCompilerABI();
|
||||||
|
@ -181,6 +181,7 @@ NearestFunc SamplerJitCache::GetByID(const SamplerID &id, size_t key, BinManager
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!binner) {
|
if (!binner) {
|
||||||
|
printf("No binner, can't compile\n");
|
||||||
// Can't compile, let's try to do it later when there's an opportunity.
|
// Can't compile, let's try to do it later when there's an opportunity.
|
||||||
compileQueue_.insert(id);
|
compileQueue_.insert(id);
|
||||||
return nullptr;
|
return nullptr;
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
#include "Common/GPU/thin3d.h"
|
#include "Common/GPU/thin3d.h"
|
||||||
#include "Common/System/System.h"
|
#include "Common/System/System.h"
|
||||||
#include "Common/Data/Text/I18n.h"
|
#include "Common/Data/Text/I18n.h"
|
||||||
|
#include "Common/CPUDetect.h"
|
||||||
#include "Core/MIPS/MIPS.h"
|
#include "Core/MIPS/MIPS.h"
|
||||||
#include "Core/HW/Display.h"
|
#include "Core/HW/Display.h"
|
||||||
#include "Core/FrameTiming.h"
|
#include "Core/FrameTiming.h"
|
||||||
|
@ -452,34 +452,6 @@ UI::EventReturn JitDebugScreen::OnDisableAll(UI::EventParams &e) {
|
|||||||
return UI::EVENT_DONE;
|
return UI::EVENT_DONE;
|
||||||
}
|
}
|
||||||
|
|
||||||
const char *GetCompilerABI() {
|
|
||||||
#if PPSSPP_ARCH(ARMV7)
|
|
||||||
return "armeabi-v7a";
|
|
||||||
#elif PPSSPP_ARCH(ARM)
|
|
||||||
return "armeabi";
|
|
||||||
#elif PPSSPP_ARCH(ARM64)
|
|
||||||
return "arm64";
|
|
||||||
#elif PPSSPP_ARCH(X86)
|
|
||||||
return "x86";
|
|
||||||
#elif PPSSPP_ARCH(AMD64)
|
|
||||||
return "x86-64";
|
|
||||||
#elif PPSSPP_ARCH(RISCV64)
|
|
||||||
//https://github.com/riscv/riscv-toolchain-conventions#cc-preprocessor-definitions
|
|
||||||
//https://github.com/riscv/riscv-c-api-doc/blob/master/riscv-c-api.md#abi-related-preprocessor-definitions
|
|
||||||
#if defined(__riscv_float_abi_single)
|
|
||||||
return "lp64f";
|
|
||||||
#elif defined(__riscv_float_abi_double)
|
|
||||||
return "lp64d";
|
|
||||||
#elif defined(__riscv_float_abi_quad)
|
|
||||||
return "lp64q";
|
|
||||||
#elif defined(__riscv_float_abi_soft)
|
|
||||||
return "lp64";
|
|
||||||
#endif
|
|
||||||
#else
|
|
||||||
return "other";
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
void SystemInfoScreen::update() {
|
void SystemInfoScreen::update() {
|
||||||
TabbedUIDialogScreenWithGameBackground::update();
|
TabbedUIDialogScreenWithGameBackground::update();
|
||||||
g_OSD.NudgeSidebar();
|
g_OSD.NudgeSidebar();
|
||||||
|
@ -264,6 +264,5 @@ protected:
|
|||||||
};
|
};
|
||||||
|
|
||||||
void DrawProfile(UIContext &ui);
|
void DrawProfile(UIContext &ui);
|
||||||
const char *GetCompilerABI();
|
|
||||||
|
|
||||||
void AddOverlayList(UI::ViewGroup *items, ScreenManager *screenManager);
|
void AddOverlayList(UI::ViewGroup *items, ScreenManager *screenManager);
|
||||||
|
@ -282,7 +282,7 @@ bool TestArm64Emitter() {
|
|||||||
emitter.EORI2R(X1, X3, 0x3F0000003F0, INVALID_REG);
|
emitter.EORI2R(X1, X3, 0x3F0000003F0, INVALID_REG);
|
||||||
RET(CheckLast(emitter, "d21c1461 eor x1, x3, #0x3f0000003f0"));
|
RET(CheckLast(emitter, "d21c1461 eor x1, x3, #0x3f0000003f0"));
|
||||||
|
|
||||||
printf("yay!\n");
|
printf("ARM64 emitter test completed!\n");
|
||||||
//emitter.ANDI2R(W1, W3, 0xFF00FF00FF00FF00ULL, INVALID_REG);
|
//emitter.ANDI2R(W1, W3, 0xFF00FF00FF00FF00ULL, INVALID_REG);
|
||||||
//RET(CheckLast(emitter, "00000000 and x1, x3, 0xFF00FF00FF00FF00"));
|
//RET(CheckLast(emitter, "00000000 and x1, x3, 0xFF00FF00FF00FF00"));
|
||||||
|
|
||||||
|
@ -24,6 +24,7 @@
|
|||||||
#include "GPU/Software/SoftGpu.h"
|
#include "GPU/Software/SoftGpu.h"
|
||||||
|
|
||||||
static bool TestSamplerJit() {
|
static bool TestSamplerJit() {
|
||||||
|
#if PPSSPP_ARCH(AMD64)
|
||||||
using namespace Sampler;
|
using namespace Sampler;
|
||||||
SamplerJitCache *cache = new SamplerJitCache();
|
SamplerJitCache *cache = new SamplerJitCache();
|
||||||
BinManager binner;
|
BinManager binner;
|
||||||
@ -108,9 +109,14 @@ static bool TestSamplerJit() {
|
|||||||
|
|
||||||
delete cache;
|
delete cache;
|
||||||
return successes == count && !HitAnyAsserts();
|
return successes == count && !HitAnyAsserts();
|
||||||
|
#else
|
||||||
|
// Don't test sampler jit, not supported.
|
||||||
|
return true;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool TestPixelJit() {
|
static bool TestPixelJit() {
|
||||||
|
#if PPSSPP_ARCH(AMD64)
|
||||||
using namespace Rasterizer;
|
using namespace Rasterizer;
|
||||||
PixelJitCache *cache = new PixelJitCache();
|
PixelJitCache *cache = new PixelJitCache();
|
||||||
BinManager binner;
|
BinManager binner;
|
||||||
@ -159,6 +165,10 @@ static bool TestPixelJit() {
|
|||||||
delete [] zb_data;
|
delete [] zb_data;
|
||||||
delete cache;
|
delete cache;
|
||||||
return successes == count && !HitAnyAsserts();
|
return successes == count && !HitAnyAsserts();
|
||||||
|
#else
|
||||||
|
// Not yet supported
|
||||||
|
return true;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
bool TestSoftwareGPUJit() {
|
bool TestSoftwareGPUJit() {
|
||||||
|
@ -1061,6 +1061,10 @@ TestItem availableTests[] = {
|
|||||||
int main(int argc, const char *argv[]) {
|
int main(int argc, const char *argv[]) {
|
||||||
SetCurrentThreadName("UnitTest");
|
SetCurrentThreadName("UnitTest");
|
||||||
|
|
||||||
|
printf("CPU name: %s\n", cpu_info.cpu_string);
|
||||||
|
printf("ABI: %s\n", GetCompilerABI());
|
||||||
|
|
||||||
|
// In case we're on ARM, assume these are available.
|
||||||
cpu_info.bNEON = true;
|
cpu_info.bNEON = true;
|
||||||
cpu_info.bVFP = true;
|
cpu_info.bVFP = true;
|
||||||
cpu_info.bVFPv3 = true;
|
cpu_info.bVFPv3 = true;
|
||||||
@ -1096,6 +1100,7 @@ int main(int argc, const char *argv[]) {
|
|||||||
printf("%d tests passed.\n", passes);
|
printf("%d tests passed.\n", passes);
|
||||||
}
|
}
|
||||||
if (fails > 0) {
|
if (fails > 0) {
|
||||||
|
printf("%d tests failed!\n", fails);
|
||||||
return 2;
|
return 2;
|
||||||
}
|
}
|
||||||
} else if (testFunc == nullptr) {
|
} else if (testFunc == nullptr) {
|
||||||
|
Loading…
Reference in New Issue
Block a user