mirror of
https://github.com/hrydgard/ppsspp.git
synced 2025-04-02 11:01:50 -04:00
Address feedback
This commit is contained in:
parent
50f4e4b1fd
commit
1b2cffe632
5 changed files with 15 additions and 11 deletions
|
@ -769,13 +769,18 @@ const char *Bugs::GetBugName(uint32_t bug) {
|
||||||
}
|
}
|
||||||
|
|
||||||
const char *PresentModeToString(PresentMode presentMode) {
|
const char *PresentModeToString(PresentMode presentMode) {
|
||||||
|
// All 8 possible cases, with three flags, for simplicity.
|
||||||
switch (presentMode) {
|
switch (presentMode) {
|
||||||
case (PresentMode)0: return "NONE (bad)";
|
case (PresentMode)0: return "NONE";
|
||||||
case PresentMode::FIFO: return "FIFO";
|
case PresentMode::FIFO: return "FIFO";
|
||||||
case PresentMode::IMMEDIATE: return "IMMEDIATE";
|
case PresentMode::IMMEDIATE: return "IMMEDIATE";
|
||||||
case PresentMode::MAILBOX: return "MAILBOX";
|
case PresentMode::MAILBOX: return "MAILBOX";
|
||||||
|
case (PresentMode)((int)PresentMode::FIFO | (int)PresentMode::MAILBOX) : return "FIFO|MAILBOX";
|
||||||
|
case (PresentMode)((int)PresentMode::FIFO | (int)PresentMode::IMMEDIATE) : return "FIFO|IMMEDIATE";
|
||||||
|
case (PresentMode)((int)PresentMode::MAILBOX | (int)PresentMode::IMMEDIATE) : return "MAILBOX|IMMEDIATE"; // Not gonna happen
|
||||||
|
case (PresentMode)((int)PresentMode::FIFO | (int)PresentMode::MAILBOX | (int)PresentMode::IMMEDIATE) : return "FIFO|MAILBOX|IMMEDIATE";
|
||||||
default:
|
default:
|
||||||
return "COMBO"; // TODO: Hardcode all the combinations?
|
return "INVALID";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -623,7 +623,7 @@ struct DeviceCaps {
|
||||||
|
|
||||||
// Presentation caps
|
// Presentation caps
|
||||||
int presentMaxInterval; // 1 on many backends
|
int presentMaxInterval; // 1 on many backends
|
||||||
bool presentInstantModeChange; // Our VulkanContext doesn't currently support it so we mark it as such, but it can be supported with careful coding.
|
bool presentInstantModeChange;
|
||||||
PresentMode presentModesSupported;
|
PresentMode presentModesSupported;
|
||||||
|
|
||||||
u32 multiSampleLevelsMask; // Bit n is set if (1 << n) is a valid multisample level. Bit 0 is always set.
|
u32 multiSampleLevelsMask; // Bit n is set if (1 << n) is a valid multisample level. Bit 0 is always set.
|
||||||
|
|
|
@ -52,6 +52,7 @@ Draw::PresentMode ComputePresentMode(Draw::DrawContext *draw, int *interval) {
|
||||||
limit = PSP_CoreParameter().analogFpsLimit;
|
limit = PSP_CoreParameter().analogFpsLimit;
|
||||||
|
|
||||||
// For an alternative speed that is a clean factor of 60, the user probably still wants vsync.
|
// For an alternative speed that is a clean factor of 60, the user probably still wants vsync.
|
||||||
|
// TODO: Should take the user's display refresh rate into account...
|
||||||
if (limit == 0 || (limit >= 0 && limit != 15 && limit != 30 && limit != 60)) {
|
if (limit == 0 || (limit >= 0 && limit != 15 && limit != 30 && limit != 60)) {
|
||||||
wantInstant = true;
|
wantInstant = true;
|
||||||
}
|
}
|
||||||
|
@ -63,8 +64,8 @@ Draw::PresentMode ComputePresentMode(Draw::DrawContext *draw, int *interval) {
|
||||||
wantInstant = false;
|
wantInstant = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// If no instant modes are supported, stick to FIFO.
|
// The outer if checks that instant modes are available.
|
||||||
if (wantInstant && (draw->GetDeviceCaps().presentModesSupported & (Draw::PresentMode::MAILBOX | Draw::PresentMode::IMMEDIATE))) {
|
if (wantInstant) {
|
||||||
mode = GetBestImmediateMode(draw->GetDeviceCaps().presentModesSupported);
|
mode = GetBestImmediateMode(draw->GetDeviceCaps().presentModesSupported);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -846,8 +846,8 @@ namespace MIPSComp {
|
||||||
case VecDo3Op::VSLT:
|
case VecDo3Op::VSLT:
|
||||||
allowSIMD = false;
|
allowSIMD = false;
|
||||||
break;
|
break;
|
||||||
default:
|
case VecDo3Op::INVALID: // Can't happen, but to avoid compiler warnings
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
u8 sregs[4], tregs[4], dregs[4];
|
u8 sregs[4], tregs[4], dregs[4];
|
||||||
|
@ -943,8 +943,8 @@ namespace MIPSComp {
|
||||||
ir.Write(IROp::FMovFromGPR, tempregs[i], IRTEMP_1);
|
ir.Write(IROp::FMovFromGPR, tempregs[i], IRTEMP_1);
|
||||||
ir.Write(IROp::FCvtSW, tempregs[i], tempregs[i]);
|
ir.Write(IROp::FCvtSW, tempregs[i], tempregs[i]);
|
||||||
break;
|
break;
|
||||||
default:
|
case VecDo3Op::INVALID: // Can't happen, but to avoid compiler warnings
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -165,8 +165,6 @@ bool GLDummyGraphicsContext::InitFromRenderThread(std::string *errorMessage) {
|
||||||
renderManager_->SetSwapFunction([&]() {
|
renderManager_->SetSwapFunction([&]() {
|
||||||
SDL_GL_SwapWindow(screen_);
|
SDL_GL_SwapWindow(screen_);
|
||||||
});
|
});
|
||||||
// TODO: Support SwapInterval
|
|
||||||
|
|
||||||
return success;
|
return success;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue