Switch from USING_GLES2 to MOBILE_DEVICE.

Still using USING_GLES2 for, well, GLES2.  But for things that are really
about mobile, we need a new define.  Devices are coming that don't use
GLES2.
This commit is contained in:
Unknown W. Brackets 2014-02-08 10:29:22 -08:00
parent 7937c1920d
commit d2108a962e
24 changed files with 50 additions and 48 deletions

View file

@ -37,6 +37,7 @@ endif()
if(ARM OR SIMULATOR)
set(USING_GLES2 ON)
set(MOBILE_DEVICE ON)
else() # Assume x86
set(X86 ON)
endif()
@ -44,7 +45,7 @@ endif()
if(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
set(LINUX ON)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D__STDC_CONSTANT_MACROS")
if (NOT USING_GLES2)
if (NOT MOBILE_DEVICE)
set(USE_FFMPEG ON)
endif()
endif()
@ -74,6 +75,7 @@ option(MAEMO "Set to ON if targeting an Maemo (N900) device" ${MAEMO})
option(IOS "Set to ON if targeting an iOS device" ${IOS})
option(USING_GLES2 "Set to ON if target device uses OpenGL ES 2.0" ${USING_GLES2})
option(USING_QT_UI "Set to ON if you wish to use the Qt frontend wrapper" ${USING_QT_UI})
option(MOBILE_DEVICE "Set to ON when targetting a mobile device" ${MOBILE_DEVICE})
option(HEADLESS "Set to OFF to not generate the PPSSPPHeadless target" ${HEADLESS})
option(UNITTEST "Set to ON to generate the unittest target" ${UNITTEST})
option(SIMULATOR "Set to ON when targeting an x86 simulator of an ARM platform" ${SIMULATOR})
@ -146,6 +148,9 @@ endif()
if(USING_GLES2)
add_definitions(-DUSING_GLES2)
endif()
if(MOBILE_DEVICE)
add_definitions(-DMOBILE_DEVICE)
endif()
if(MIPS)
add_definitions(-DMIPS)

View file

@ -628,13 +628,13 @@ const KeyMap_IntStrPair psp_button_names[] = {
{VIRTKEY_UNTHROTTLE, "Unthrottle"},
{VIRTKEY_SPEED_TOGGLE, "SpeedToggle"},
{VIRTKEY_PAUSE, "Pause"},
#ifndef USING_GLES2
#ifndef MOBILE_DEVICE
{VIRTKEY_REWIND, "Rewind"},
#endif
{VIRTKEY_SAVE_STATE, "Save State"},
{VIRTKEY_LOAD_STATE, "Load State"},
{VIRTKEY_NEXT_SLOT, "Next Slot"},
#if !defined(_WIN32) && !defined(USING_GLES2)
#if !defined(_WIN32) && !defined(MOBILE_DEVICE)
{VIRTKEY_TOGGLE_FULLSCREEN, "Toggle Fullscreen"},
#endif

View file

@ -94,7 +94,7 @@ LogManager::LogManager() {
}
// Remove file logging on small devices
#if !defined(USING_GLES2) || defined(_DEBUG)
#if !defined(MOBILE_DEVICE) || defined(_DEBUG)
fileLog_ = new FileLogListener("");
consoleLog_ = new ConsoleListener();
debuggerLog_ = new DebuggerLogListener();
@ -106,7 +106,7 @@ LogManager::LogManager() {
for (int i = 0; i < LogTypes::NUMBER_OF_LOGS; ++i) {
log_[i]->SetEnable(true);
#if !defined(USING_GLES2) || defined(_DEBUG)
#if !defined(MOBILE_DEVICE) || defined(_DEBUG)
log_[i]->AddListener(fileLog_);
log_[i]->AddListener(consoleLog_);
#ifdef _MSC_VER
@ -119,7 +119,7 @@ LogManager::LogManager() {
LogManager::~LogManager() {
for (int i = 0; i < LogTypes::NUMBER_OF_LOGS; ++i) {
#if !defined(USING_GLES2) || defined(_DEBUG)
#if !defined(MOBILE_DEVICE) || defined(_DEBUG)
if (fileLog_ != NULL)
logManager_->RemoveListener((LogTypes::LOG_TYPE)i, fileLog_);
logManager_->RemoveListener((LogTypes::LOG_TYPE)i, consoleLog_);
@ -133,7 +133,7 @@ LogManager::~LogManager() {
delete log_[i];
if (fileLog_ != NULL)
delete fileLog_;
#if !defined(USING_GLES2) || defined(_DEBUG)
#if !defined(MOBILE_DEVICE) || defined(_DEBUG)
delete consoleLog_;
delete debuggerLog_;
#endif

View file

@ -300,7 +300,7 @@ void Config::Load(const char *iniFileName, const char *controllerIniFilename) {
#if defined(_WIN32) && !defined(USING_QT_UI)
control->Get("IgnoreWindowsKey", &bIgnoreWindowsKey, false);
#endif
#if defined(USING_GLES2)
#if defined(MOBILE_DEVICE)
std::string name = System_GetProperty(SYSPROP_NAME);
if (KeyMap::HasBuiltinController(name)) {
control->Get("ShowTouchControls", &bShowTouchControls, false);
@ -311,7 +311,7 @@ void Config::Load(const char *iniFileName, const char *controllerIniFilename) {
control->Get("ShowTouchControls", &bShowTouchControls, false);
#endif
// control->Get("KeyMapping",iMappingMap);
#ifdef USING_GLES2
#ifdef MOBILE_DEVICE
control->Get("TiltBaseX", &fTiltBaseX, 0);
control->Get("TiltBaseY", &fTiltBaseY, 0);
control->Get("InvertTiltX", &bInvertTiltX, false);
@ -603,7 +603,7 @@ void Config::Save() {
control->Set("ShowTouchUnthrottle", bShowTouchUnthrottle);
control->Set("ShowTouchDpad", bShowTouchDpad);
#ifdef USING_GLES2
#ifdef MOBILE_DEVICE
control->Set("TiltBaseX", fTiltBaseX);
control->Set("TiltBaseY", fTiltBaseY);
control->Set("InvertTiltX", bInvertTiltX);

View file

@ -199,7 +199,7 @@ void Core_Run()
#if defined(_DEBUG)
host->UpdateDisassembly();
#endif
#if !defined(USING_QT_UI) || defined(USING_GLES2)
#if !defined(USING_QT_UI) || defined(MOBILE_DEVICE)
while (true)
#endif
{
@ -210,7 +210,7 @@ reswitch:
return;
}
Core_RunLoop();
#if defined(USING_QT_UI) && !defined(USING_GLES2)
#if defined(USING_QT_UI) && !defined(MOBILE_DEVICE)
return;
#else
continue;
@ -247,7 +247,7 @@ reswitch:
#if defined(USING_QT_UI) || defined(_DEBUG)
host->SendCoreWait(false);
#endif
#if defined(USING_QT_UI) && !defined(USING_GLES2)
#if defined(USING_QT_UI) && !defined(MOBILE_DEVICE)
if (coreState != CORE_STEPPING)
return;
#endif

View file

@ -42,7 +42,7 @@ void __DmacDoState(PointerWrap &p) {
int __DmacMemcpy(u32 dst, u32 src, u32 size) {
Memory::Memcpy(dst, Memory::GetPointer(src), size);
#ifndef USING_GLES2
#ifndef MOBILE_DEVICE
CBreakPoints::ExecMemCheck(src, false, size, currentMIPS->pc);
CBreakPoints::ExecMemCheck(dst, true, size, currentMIPS->pc);
#endif

View file

@ -584,7 +584,7 @@ u32 sceKernelMemcpy(u32 dst, u32 src, u32 size)
*dstp++ = *srcp++;
}
}
#ifndef USING_GLES2
#ifndef MOBILE_DEVICE
CBreakPoints::ExecMemCheck(src, false, size, currentMIPS->pc);
CBreakPoints::ExecMemCheck(dst, true, size, currentMIPS->pc);
#endif

View file

@ -857,7 +857,7 @@ Module *__KernelLoadELFFromPtr(const u8 *ptr, u32 loadAddress, std::string *erro
// TODO: It seems like the data size excludes the text size, which kinda makes sense?
module->nm.data_size -= textSize;
#if !defined(USING_GLES2)
#if !defined(MOBILE_DEVICE)
bool gotSymbols = reader.LoadSymbols();
MIPSAnalyst::ScanForFunctions(textStart, textStart + textSize, !gotSymbols);
#else
@ -1018,7 +1018,7 @@ Module *__KernelLoadELFFromPtr(const u8 *ptr, u32 loadAddress, std::string *erro
if (textSection == -1) {
u32 textStart = reader.GetVaddr();
u32 textEnd = firstImportStubAddr - 4;
#if !defined(USING_GLES2)
#if !defined(MOBILE_DEVICE)
bool gotSymbols = reader.LoadSymbols();
MIPSAnalyst::ScanForFunctions(textStart, textEnd, !gotSymbols);
#else

View file

@ -252,7 +252,7 @@ void Memset(const u32 _Address, const u8 _iValue, const u32 _iLength)
for (size_t i = 0; i < _iLength; i++)
Write_U8(_iValue, (u32)(_Address + i));
}
#ifndef USING_GLES2
#ifndef MOBILE_DEVICE
CBreakPoints::ExecMemCheck(_Address, true, _iLength, currentMIPS->pc);
#endif
}

View file

@ -432,7 +432,7 @@ namespace SaveState
void Process()
{
#ifndef USING_GLES2
#ifndef MOBILE_DEVICE
if (g_Config.iRewindFlipFrequency != 0 && gpuStats.numFlips != 0)
CheckRewindState();
#endif

View file

@ -375,7 +375,7 @@ bool PSP_IsInited() {
}
void PSP_Shutdown() {
#ifndef USING_GLES2
#ifndef MOBILE_DEVICE
if (g_Config.bFuncHashMap) {
MIPSAnalyst::StoreHashMap();
}

View file

@ -500,6 +500,7 @@ void FramebufferManagerDX9::SetRenderFrameBuffer() {
// We already have it!
} else if (vfb != currentRenderVfb_) {
// TODO: This doesn't make sense for DirectX?
#ifndef USING_GLES2
bool useMem = g_Config.iRenderingMode == FB_READFBOMEMORY_GPU || g_Config.iRenderingMode == FB_READFBOMEMORY_CPU;
#else
@ -928,6 +929,7 @@ std::vector<FramebufferInfo> FramebufferManagerDX9::GetFramebufferList() {
void FramebufferManagerDX9::DecimateFBOs() {
fbo_unbind();
currentRenderVfb_ = 0;
// TODO: This doesn't make sense for DirectX?
#ifndef USING_GLES2
bool useMem = g_Config.iRenderingMode == FB_READFBOMEMORY_GPU || g_Config.iRenderingMode == FB_READFBOMEMORY_CPU;
#else

View file

@ -165,13 +165,8 @@ static const CommandTableEntry commandTable[] = {
{GE_CMD_ZTEST, FLAG_FLUSHBEFOREONCHANGE},
{GE_CMD_ZTESTENABLE, FLAG_FLUSHBEFOREONCHANGE},
{GE_CMD_ZWRITEDISABLE, FLAG_FLUSHBEFOREONCHANGE},
#ifndef USING_GLES2
{GE_CMD_LOGICOP, FLAG_FLUSHBEFOREONCHANGE},
{GE_CMD_LOGICOPENABLE, FLAG_FLUSHBEFOREONCHANGE},
#else
{GE_CMD_LOGICOP, 0},
{GE_CMD_LOGICOPENABLE, 0},
#endif
// Can probably ignore this one as we don't support AA lines.
{GE_CMD_ANTIALIASENABLE, FLAG_FLUSHBEFOREONCHANGE},
@ -1100,7 +1095,7 @@ void DIRECTX9_GPU::ExecuteOp(u32 op, u32 diff) {
break;
case GE_CMD_ALPHATEST:
#ifndef USING_GLES2
#ifndef MOBILE_DEVICE
if (((data >> 16) & 0xFF) != 0xFF && (data & 7) > 1)
WARN_LOG_REPORT_ONCE(alphatestmask, G3D, "Unsupported alphatest mask: %02x", (data >> 16) & 0xFF);
// Intentional fallthrough.
@ -1239,7 +1234,7 @@ void DIRECTX9_GPU::ExecuteOp(u32 op, u32 diff) {
}
break;
#ifndef USING_GLES2
#ifndef MOBILE_DEVICE
case GE_CMD_LOGICOPENABLE:
if (data != 0)
ERROR_LOG_REPORT_ONCE(logicOpEnable, G3D, "Unsupported logic op enabled: %x", data);

View file

@ -1677,7 +1677,7 @@ void FramebufferManager::UpdateFromMemory(u32 addr, int size, bool safe) {
}
void FramebufferManager::NotifyBlockTransfer(u32 dst, u32 src) {
#ifndef USING_GLES2
#ifndef MOBILE_DEVICE
if (!reportedBlits_.insert(std::make_pair(dst, src)).second) {
// Already reported/checked.
return;

View file

@ -733,7 +733,7 @@ void GLES_GPU::ExecuteOpInternal(u32 op, u32 diff) {
inds = Memory::GetPointerUnchecked(gstate_c.indexAddr);
}
#ifndef USING_GLES2
#ifndef MOBILE_DEVICE
if (prim > GE_PRIM_RECTANGLES) {
ERROR_LOG_REPORT_ONCE(reportPrim, G3D, "Unexpected prim type: %d", prim);
}
@ -1267,7 +1267,7 @@ void GLES_GPU::ExecuteOpInternal(u32 op, u32 diff) {
break;
case GE_CMD_ALPHATEST:
#ifndef USING_GLES2
#ifndef MOBILE_DEVICE
if (((data >> 16) & 0xFF) != 0xFF && (data & 7) > 1)
WARN_LOG_REPORT_ONCE(alphatestmask, G3D, "Unsupported alphatest mask: %02x", (data >> 16) & 0xFF);
#endif
@ -1416,7 +1416,7 @@ void GLES_GPU::ExecuteOpInternal(u32 op, u32 diff) {
}
break;
#ifndef USING_GLES2
#ifndef MOBILE_DEVICE
case GE_CMD_ANTIALIASENABLE:
if (data != 0)
WARN_LOG_REPORT_ONCE(antiAlias, G3D, "Unsupported antialias enabled: %06x", data);
@ -1426,16 +1426,18 @@ void GLES_GPU::ExecuteOpInternal(u32 op, u32 diff) {
if (data != 0)
WARN_LOG_REPORT_ONCE(texLodSlope, G3D, "Unsupported texture lod slope: %06x", data);
break;
#endif
case GE_CMD_TEXLEVEL:
#ifndef MOBILE_DEVICE
if (data == 1)
WARN_LOG_REPORT_ONCE(texLevel1, G3D, "Unsupported texture level bias settings: %06x", data)
else if (data != 0)
WARN_LOG_REPORT_ONCE(texLevel2, G3D, "Unsupported texture level bias settings: %06x", data);
#endif
if (diff)
gstate_c.textureChanged = true;
break;
#endif
//////////////////////////////////////////////////////////////////
// STENCIL TESTING
@ -1603,7 +1605,7 @@ void GLES_GPU::DoBlockTransfer() {
framebufferManager_.DrawPixels(Memory::GetPointerUnchecked(dstBasePtr), GE_FORMAT_8888, 512);
}
#ifndef USING_GLES2
#ifndef MOBILE_DEVICE
CBreakPoints::ExecMemCheck(srcBasePtr + (srcY * srcStride + srcX) * bpp, false, height * srcStride * bpp, currentMIPS->pc);
CBreakPoints::ExecMemCheck(dstBasePtr + (srcY * dstStride + srcX) * bpp, true, height * dstStride * bpp, currentMIPS->pc);
#endif

View file

@ -286,7 +286,7 @@ void TransformDrawEngine::SoftwareTransformAndDraw(
// TODO: Split up into multiple draw calls for GLES 2.0 where you can't guarantee support for more than 0x10000 verts.
#if defined(USING_GLES2)
#if defined(MOBILE_DEVICE)
if (vertexCount > 0x10000/3)
vertexCount = 0x10000/3;
#endif

View file

@ -320,12 +320,9 @@ void TransformDrawEngine::ApplyDrawState(int prim) {
glstate.blendFuncSeparate.set(glBlendFuncA, glBlendFuncB, GL_ZERO, GL_ONE);
}
// Don't report on Android device (why?)
#if !defined(USING_GLES2)
if (blendFuncEq == GE_BLENDMODE_ABSDIFF) {
WARN_LOG_REPORT_ONCE(blendAbsdiff, G3D, "Unsupported absdiff blend mode");
}
#endif
if (((blendFuncEq >= GE_BLENDMODE_MIN) && gl_extensions.EXT_blend_minmax) || gl_extensions.GLES3) {
glstate.blendEquation.set(eqLookup[blendFuncEq]);

View file

@ -915,7 +915,7 @@ void TextureCache::SetTexture(bool force) {
// Validate the texture still matches the cache entry.
u16 dim = gstate.getTextureDimension(0);
bool match = entry->Matches(dim, format, maxLevel);
#ifndef USING_GLES2
#ifndef MOBILE_DEVICE
match &= host->GPUAllowTextureCache(texaddr);
#endif
@ -1542,7 +1542,7 @@ void TextureCache::LoadTextureLevel(TexCacheEntry &entry, int level, bool replac
int scaleFactor;
//Auto-texture scale upto 5x rendering resolution
if (g_Config.iTexScalingLevel == 0) {
#ifndef USING_GLES2
#ifndef MOBILE_DEVICE
scaleFactor = std::min(gl_extensions.OES_texture_npot ? 5 : 4, g_Config.iInternalResolution);
if (!gl_extensions.OES_texture_npot && scaleFactor == 3) {
scaleFactor = 2;

View file

@ -731,7 +731,7 @@ rotateVBO:
decodeCounter_ = 0;
prevPrim_ = GE_PRIM_INVALID;
#ifndef USING_GLES2
#ifndef MOBILE_DEVICE
host->GPUNotifyDraw();
#endif
}

View file

@ -620,7 +620,7 @@ void SoftGPU::ExecuteOp(u32 op, u32 diff)
memcpy(dst, src, width * bpp);
}
#ifndef USING_GLES2
#ifndef MOBILE_DEVICE
CBreakPoints::ExecMemCheck(srcBasePtr + (srcY * srcStride + srcX) * bpp, false, height * srcStride * bpp, currentMIPS->pc);
CBreakPoints::ExecMemCheck(dstBasePtr + (srcY * dstStride + srcX) * bpp, true, height * dstStride * bpp, currentMIPS->pc);
#endif

View file

@ -52,6 +52,7 @@ gleslib = $$lower($$QMAKE_LIBS_OPENGL)
gleslib = $$find(gleslib, "gles")
maemo|!count(gleslib,0) {
DEFINES += USING_GLES2
DEFINES += MOBILE_DEVICE
}
# Platform specific

View file

@ -508,7 +508,7 @@ void EmuScreen::update(InputState &input) {
// Apply tilt to left stick
// TODO: Make into an axis
#ifdef USING_GLES2
#ifdef MOBILE_DEVICE
/*
if (g_Config.bAccelerometerToAnalogHoriz) {
// Get the "base" coordinate system which is setup by the calibration system

View file

@ -138,7 +138,7 @@ void GameSettingsScreen::CreateViews() {
graphicsSettings->Add(new ItemHeader(gs->T("Performance")));
#ifndef USING_GLES2
#ifndef MOBILE_DEVICE
static const char *internalResolutions[] = {"Auto (1:1)", "1x PSP", "2x PSP", "3x PSP", "4x PSP", "5x PSP", "6x PSP", "7x PSP", "8x PSP", "9x PSP", "10x PSP" };
#else
static const char *internalResolutions[] = {"Auto (1:1)", "1x PSP", "2x PSP", "3x PSP", "4x PSP", "5x PSP" };
@ -169,7 +169,7 @@ void GameSettingsScreen::CreateViews() {
// In case we're going to add few other antialiasing option like MSAA in the future.
// graphicsSettings->Add(new CheckBox(&g_Config.bFXAA, gs->T("FXAA")));
graphicsSettings->Add(new ItemHeader(gs->T("Texture Scaling")));
#ifndef USING_GLES2
#ifndef MOBILE_DEVICE
static const char *texScaleLevelsNPOT[] = {"Auto", "Off", "2x", "3x", "4x", "5x"};
static const char *texScaleLevelsPOT[] = {"Auto", "Off", "2x", "4x"};
#else
@ -255,7 +255,7 @@ void GameSettingsScreen::CreateViews() {
controlsSettings->Add(new ItemHeader(ms->T("Controls")));
controlsSettings->Add(new Choice(c->T("Control Mapping")))->OnClick.Handle(this, &GameSettingsScreen::OnControlMapping);
#if defined(USING_GLES2)
#if defined(MOBILE_DEVICE)
controlsSettings->Add(new CheckBox(&g_Config.bHapticFeedback, c->T("HapticFeedback", "Haptic Feedback (vibration)")));
static const char *tiltTypes[] = { "None (Disabled)", "Analog Stick", "D-PAD", "PSP Action Buttons"};
controlsSettings->Add(new PopupMultiChoice(&g_Config.iTiltInputType, c->T("Tilt Input Type"), tiltTypes, 0, ARRAY_SIZE(tiltTypes), c, screenManager()))->OnClick.Handle(this, &GameSettingsScreen::OnTiltTypeChange);
@ -298,7 +298,7 @@ void GameSettingsScreen::CreateViews() {
systemSettings->Add(new CheckBox(&g_Config.bSeparateCPUThread, s->T("Multithreaded (experimental)")))->SetEnabled(!PSP_IsInited());
systemSettings->Add(new CheckBox(&g_Config.bSeparateIOThread, s->T("I/O on thread (experimental)")))->SetEnabled(!PSP_IsInited());
systemSettings->Add(new PopupSliderChoice(&g_Config.iLockedCPUSpeed, 0, 1000, s->T("Change CPU Clock", "Change CPU Clock (0 = default) (unstable)"), screenManager()));
#ifndef USING_GLES2
#ifndef MOBILE_DEVICE
systemSettings->Add(new PopupSliderChoice(&g_Config.iRewindFlipFrequency, 0, 1800, s->T("Rewind Snapshot Frequency", "Rewind Snapshot Frequency (0 = off, mem hog)"), screenManager()));
#endif
@ -343,7 +343,7 @@ void GameSettingsScreen::CreateViews() {
#if defined(_WIN32) || defined(USING_QT_UI)
systemSettings->Add(new Choice(s->T("Change Nickname")))->OnClick.Handle(this, &GameSettingsScreen::OnChangeNickname);
#endif
#if defined(_WIN32) || (defined(USING_QT_UI) && !defined(USING_GLES2))
#if defined(_WIN32) || (defined(USING_QT_UI) && !defined(MOBILE_DEVICE))
// Screenshot functionality is not yet available on non-Windows/non-Qt
systemSettings->Add(new CheckBox(&g_Config.bScreenshotsAsPNG, s->T("Screenshots as PNG")));
#endif

View file

@ -1,7 +1,7 @@
# These are definitions for LOCAL_ variables for PPSSPP.
# They are shared between ppsspp_jni (lib for Android app) and ppsspp_headless.
LOCAL_CFLAGS := -DUSE_FFMPEG -DUSING_GLES2 -O3 -fsigned-char -Wall -Wno-multichar -Wno-psabi -Wno-unused-variable -fno-strict-aliasing -D__STDC_CONSTANT_MACROS
LOCAL_CFLAGS := -DUSE_FFMPEG -DUSING_GLES2 -DMOBILE_DEVICE -O3 -fsigned-char -Wall -Wno-multichar -Wno-psabi -Wno-unused-variable -fno-strict-aliasing -D__STDC_CONSTANT_MACROS
# yes, it's really CPPFLAGS for C++
LOCAL_CPPFLAGS := -fno-exceptions -std=gnu++11 -fno-rtti -Wno-reorder
LOCAL_C_INCLUDES := \