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);
|
gstate_c.Dirty(DIRTY_ALL);
|
||||||
|
|
||||||
UpdateCmdInfo();
|
UpdateCmdInfo();
|
||||||
CheckResized();
|
CheckConfigChanged();
|
||||||
|
CheckDisplayResized();
|
||||||
|
CheckRenderResized();
|
||||||
}
|
}
|
||||||
|
|
||||||
void GPUCommon::EndHostFrame() {
|
void GPUCommon::EndHostFrame() {
|
||||||
|
@ -625,7 +627,7 @@ void GPUCommon::NotifyDisplayResized() {
|
||||||
|
|
||||||
// Called once per frame. Might also get called during the pause screen
|
// Called once per frame. Might also get called during the pause screen
|
||||||
// if "transparent".
|
// if "transparent".
|
||||||
void GPUCommon::CheckResized() {
|
void GPUCommon::CheckConfigChanged() {
|
||||||
if (configChanged_) {
|
if (configChanged_) {
|
||||||
ClearCacheNextFrame();
|
ClearCacheNextFrame();
|
||||||
gstate_c.useFlags = CheckGPUFeatures();
|
gstate_c.useFlags = CheckGPUFeatures();
|
||||||
|
@ -635,12 +637,16 @@ void GPUCommon::CheckResized() {
|
||||||
BuildReportingInfo();
|
BuildReportingInfo();
|
||||||
configChanged_ = false;
|
configChanged_ = false;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void GPUCommon::CheckDisplayResized() {
|
||||||
if (displayResized_) {
|
if (displayResized_) {
|
||||||
framebufferManager_->NotifyDisplayResized();
|
framebufferManager_->NotifyDisplayResized();
|
||||||
displayResized_ = false;
|
displayResized_ = false;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void GPUCommon::CheckRenderResized() {
|
||||||
if (renderResized_) {
|
if (renderResized_) {
|
||||||
framebufferManager_->NotifyRenderResized();
|
framebufferManager_->NotifyRenderResized();
|
||||||
renderResized_ = false;
|
renderResized_ = false;
|
||||||
|
|
|
@ -77,7 +77,8 @@ public:
|
||||||
return draw_;
|
return draw_;
|
||||||
}
|
}
|
||||||
virtual u32 CheckGPUFeatures() const;
|
virtual u32 CheckGPUFeatures() const;
|
||||||
void CheckResized() override;
|
|
||||||
|
void CheckDisplayResized() override;
|
||||||
|
|
||||||
void UpdateCmdInfo();
|
void UpdateCmdInfo();
|
||||||
|
|
||||||
|
@ -265,6 +266,9 @@ protected:
|
||||||
void DeviceLost() override;
|
void DeviceLost() override;
|
||||||
void DeviceRestore() override;
|
void DeviceRestore() override;
|
||||||
|
|
||||||
|
void CheckConfigChanged();
|
||||||
|
void CheckRenderResized();
|
||||||
|
|
||||||
// Add additional common features dependent on other features, which may be backend-determined.
|
// Add additional common features dependent on other features, which may be backend-determined.
|
||||||
u32 CheckGPUFeaturesLate(u32 features) const;
|
u32 CheckGPUFeaturesLate(u32 features) const;
|
||||||
|
|
||||||
|
|
|
@ -197,7 +197,8 @@ public:
|
||||||
// Frame managment
|
// Frame managment
|
||||||
virtual void BeginHostFrame() = 0;
|
virtual void BeginHostFrame() = 0;
|
||||||
virtual void EndHostFrame() = 0;
|
virtual void EndHostFrame() = 0;
|
||||||
virtual void CheckResized() = 0;
|
|
||||||
|
virtual void CheckDisplayResized() = 0;
|
||||||
|
|
||||||
// Draw queue management
|
// Draw queue management
|
||||||
virtual DisplayList* getList(int listid) = 0;
|
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.
|
// 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");
|
thin3d->BindFramebufferAsRenderTarget(nullptr, { RPAction::CLEAR, RPAction::DONT_CARE, RPAction::DONT_CARE }, "EmuScreen_Paused");
|
||||||
if (PSP_IsInited()) {
|
if (PSP_IsInited()) {
|
||||||
gpu->CheckResized();
|
gpu->CheckDisplayResized();
|
||||||
gpu->CopyDisplayToOutput(true);
|
gpu->CopyDisplayToOutput(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue