GPU: If a GPU engine has master brightness at full intensity , revert to filling the output framebuffer on line 0.

Fix bug where the screen may end up fully black or white if the master
brightness is modified in the middle of the frame. Fixes SourceForge
#1603. (Regression from r5538.)
This commit is contained in:
rogerman 2016-12-02 13:50:17 -08:00
parent a0f8b7a894
commit ac69f1e229
1 changed files with 12 additions and 10 deletions

View File

@ -7360,6 +7360,16 @@ void GPUSubsystem::RenderLine(const u16 l, bool isFrameSkipRequested)
if (!isFrameSkipRequested)
{
this->UpdateRenderProperties();
if (CommonSettings.showGpu.main && this->_engineMain->GetIsMasterBrightFullIntensity())
{
this->_engineMain->ApplyMasterBrightness<OUTPUTFORMAT, true>();
}
if (CommonSettings.showGpu.sub && this->_engineSub->GetIsMasterBrightFullIntensity())
{
this->_engineSub->ApplyMasterBrightness<OUTPUTFORMAT, true>();
}
}
}
@ -7440,11 +7450,7 @@ void GPUSubsystem::RenderLine(const u16 l, bool isFrameSkipRequested)
{
if (CommonSettings.showGpu.main)
{
if (this->_engineMain->GetIsMasterBrightFullIntensity())
{
this->_engineMain->ApplyMasterBrightness<OUTPUTFORMAT, true>();
}
else
if (!this->_engineMain->GetIsMasterBrightFullIntensity())
{
this->_engineMain->ApplyMasterBrightness<OUTPUTFORMAT, false>();
}
@ -7456,11 +7462,7 @@ void GPUSubsystem::RenderLine(const u16 l, bool isFrameSkipRequested)
if (CommonSettings.showGpu.sub)
{
if (this->_engineSub->GetIsMasterBrightFullIntensity())
{
this->_engineSub->ApplyMasterBrightness<OUTPUTFORMAT, true>();
}
else
if (!this->_engineSub->GetIsMasterBrightFullIntensity())
{
this->_engineSub->ApplyMasterBrightness<OUTPUTFORMAT, false>();
}