mirror of
https://github.com/hrydgard/ppsspp.git
synced 2025-04-02 11:01:50 -04:00
Only check for display resized in emuscreen-under-pause-screen, not the other changes.
This commit is contained in:
parent
ce5a1b8b7e
commit
c3604428b9
4 changed files with 16 additions and 5 deletions
|
@ -484,7 +484,9 @@ void GPUCommon::BeginHostFrame() {
|
|||
gstate_c.Dirty(DIRTY_ALL);
|
||||
|
||||
UpdateCmdInfo();
|
||||
CheckResized();
|
||||
CheckConfigChanged();
|
||||
CheckDisplayResized();
|
||||
CheckRenderResized();
|
||||
}
|
||||
|
||||
void GPUCommon::EndHostFrame() {
|
||||
|
@ -625,7 +627,7 @@ void GPUCommon::NotifyDisplayResized() {
|
|||
|
||||
// Called once per frame. Might also get called during the pause screen
|
||||
// if "transparent".
|
||||
void GPUCommon::CheckResized() {
|
||||
void GPUCommon::CheckConfigChanged() {
|
||||
if (configChanged_) {
|
||||
ClearCacheNextFrame();
|
||||
gstate_c.useFlags = CheckGPUFeatures();
|
||||
|
@ -635,12 +637,16 @@ void GPUCommon::CheckResized() {
|
|||
BuildReportingInfo();
|
||||
configChanged_ = false;
|
||||
}
|
||||
}
|
||||
|
||||
void GPUCommon::CheckDisplayResized() {
|
||||
if (displayResized_) {
|
||||
framebufferManager_->NotifyDisplayResized();
|
||||
displayResized_ = false;
|
||||
}
|
||||
}
|
||||
|
||||
void GPUCommon::CheckRenderResized() {
|
||||
if (renderResized_) {
|
||||
framebufferManager_->NotifyRenderResized();
|
||||
renderResized_ = false;
|
||||
|
|
|
@ -77,7 +77,8 @@ public:
|
|||
return draw_;
|
||||
}
|
||||
virtual u32 CheckGPUFeatures() const;
|
||||
void CheckResized() override;
|
||||
|
||||
void CheckDisplayResized() override;
|
||||
|
||||
void UpdateCmdInfo();
|
||||
|
||||
|
@ -265,6 +266,9 @@ protected:
|
|||
void DeviceLost() override;
|
||||
void DeviceRestore() override;
|
||||
|
||||
void CheckConfigChanged();
|
||||
void CheckRenderResized();
|
||||
|
||||
// Add additional common features dependent on other features, which may be backend-determined.
|
||||
u32 CheckGPUFeaturesLate(u32 features) const;
|
||||
|
||||
|
|
|
@ -197,7 +197,8 @@ public:
|
|||
// Frame managment
|
||||
virtual void BeginHostFrame() = 0;
|
||||
virtual void EndHostFrame() = 0;
|
||||
virtual void CheckResized() = 0;
|
||||
|
||||
virtual void CheckDisplayResized() = 0;
|
||||
|
||||
// Draw queue management
|
||||
virtual DisplayList* getList(int listid) = 0;
|
||||
|
|
|
@ -1398,7 +1398,7 @@ void EmuScreen::render() {
|
|||
// If we're paused and PauseScreen is transparent (will only be in buffered rendering mode), we just copy display to output.
|
||||
thin3d->BindFramebufferAsRenderTarget(nullptr, { RPAction::CLEAR, RPAction::DONT_CARE, RPAction::DONT_CARE }, "EmuScreen_Paused");
|
||||
if (PSP_IsInited()) {
|
||||
gpu->CheckResized();
|
||||
gpu->CheckDisplayResized();
|
||||
gpu->CopyDisplayToOutput(true);
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue