VideoCommon: always enable efb copy

This commit is contained in:
degasus 2015-02-21 11:45:48 +01:00
parent 0e34737390
commit 1313d3461f
8 changed files with 9 additions and 38 deletions

View File

@ -1211,7 +1211,7 @@ void SaveRecording(const std::string& filename)
strncpy((char *)header.videoBackend, s_videoBackend.c_str(),ArraySize(header.videoBackend)); strncpy((char *)header.videoBackend, s_videoBackend.c_str(),ArraySize(header.videoBackend));
header.CPUCore = s_iCPUCore; header.CPUCore = s_iCPUCore;
header.bEFBAccessEnable = g_ActiveConfig.bEFBAccessEnable; header.bEFBAccessEnable = g_ActiveConfig.bEFBAccessEnable;
header.bEFBCopyEnable = g_ActiveConfig.bEFBCopyEnable; header.bEFBCopyEnable = true;
header.bCopyEFBToTexture = g_ActiveConfig.bCopyEFBToTexture; header.bCopyEFBToTexture = g_ActiveConfig.bCopyEFBToTexture;
header.bEFBCopyCacheEnable = false; header.bEFBCopyCacheEnable = false;
header.bEFBEmulateFormatChanges = g_ActiveConfig.bEFBEmulateFormatChanges; header.bEFBEmulateFormatChanges = g_ActiveConfig.bEFBEmulateFormatChanges;
@ -1273,7 +1273,6 @@ void CallWiiInputManip(u8* data, WiimoteEmu::ReportFeatures rptf, int controller
void SetGraphicsConfig() void SetGraphicsConfig()
{ {
g_Config.bEFBAccessEnable = tmpHeader.bEFBAccessEnable; g_Config.bEFBAccessEnable = tmpHeader.bEFBAccessEnable;
g_Config.bEFBCopyEnable = tmpHeader.bEFBCopyEnable;
g_Config.bCopyEFBToTexture = tmpHeader.bCopyEFBToTexture; g_Config.bCopyEFBToTexture = tmpHeader.bCopyEFBToTexture;
g_Config.bEFBEmulateFormatChanges = tmpHeader.bEFBEmulateFormatChanges; g_Config.bEFBEmulateFormatChanges = tmpHeader.bEFBEmulateFormatChanges;
g_Config.bUseXFB = tmpHeader.bUseXFB; g_Config.bUseXFB = tmpHeader.bUseXFB;

View File

@ -1344,15 +1344,8 @@ void CFrame::ParseHotkeys(wxKeyEvent &event)
{ {
OSDChoice = 3; OSDChoice = 3;
// Toggle EFB copies between EFB2RAM and EFB2Texture // Toggle EFB copies between EFB2RAM and EFB2Texture
if (!g_Config.bEFBCopyEnable)
{
OSD::AddMessage("EFB Copies are disabled, enable them in Graphics settings for toggling", 6000);
}
else
{
g_Config.bCopyEFBToTexture = !g_Config.bCopyEFBToTexture; g_Config.bCopyEFBToTexture = !g_Config.bCopyEFBToTexture;
} }
}
else if (IsHotkey(event, HK_TOGGLE_FOG)) else if (IsHotkey(event, HK_TOGGLE_FOG))
{ {
OSDChoice = 4; OSDChoice = 4;

View File

@ -482,14 +482,8 @@ VideoConfigDiag::VideoConfigDiag(wxWindow* parent, const std::string &title, con
// EFB copies // EFB copies
wxStaticBoxSizer* const group_efbcopy = new wxStaticBoxSizer(wxHORIZONTAL, page_hacks, _("EFB Copies")); wxStaticBoxSizer* const group_efbcopy = new wxStaticBoxSizer(wxHORIZONTAL, page_hacks, _("EFB Copies"));
SettingCheckBox* efbcopy_disable = CreateCheckBox(page_hacks, _("Disable"), wxGetTranslation(efb_copy_desc), vconfig.bEFBCopyEnable, true); group_efbcopy->Add(CreateRadioButton(page_hacks, _("Texture"), wxGetTranslation(efb_copy_texture_desc), vconfig.bCopyEFBToTexture, false, wxRB_GROUP), 0, wxRIGHT, 5);
efbcopy_texture = CreateRadioButton(page_hacks, _("Texture"), wxGetTranslation(efb_copy_texture_desc), vconfig.bCopyEFBToTexture, false, wxRB_GROUP); group_efbcopy->Add(CreateRadioButton(page_hacks, _("RAM"), wxGetTranslation(efb_copy_ram_desc), vconfig.bCopyEFBToTexture, true), 0, wxRIGHT, 5);
efbcopy_ram = CreateRadioButton(page_hacks, _("RAM"), wxGetTranslation(efb_copy_ram_desc), vconfig.bCopyEFBToTexture, true);
group_efbcopy->Add(efbcopy_disable, 0, wxLEFT | wxRIGHT | wxBOTTOM, 5);
group_efbcopy->AddStretchSpacer(1);
group_efbcopy->Add(efbcopy_texture, 0, wxRIGHT, 5);
group_efbcopy->Add(efbcopy_ram, 0, wxRIGHT, 5);
szr_efb->Add(CreateCheckBox(page_hacks, _("Skip EFB Access from CPU"), wxGetTranslation(efb_access_desc), vconfig.bEFBAccessEnable, true), 0, wxBOTTOM | wxLEFT, 5); szr_efb->Add(CreateCheckBox(page_hacks, _("Skip EFB Access from CPU"), wxGetTranslation(efb_access_desc), vconfig.bEFBAccessEnable, true), 0, wxBOTTOM | wxLEFT, 5);
szr_efb->Add(CreateCheckBox(page_hacks, _("Ignore Format Changes"), wxGetTranslation(efb_emulate_format_changes_desc), vconfig.bEFBEmulateFormatChanges, true), 0, wxBOTTOM | wxLEFT, 5); szr_efb->Add(CreateCheckBox(page_hacks, _("Ignore Format Changes"), wxGetTranslation(efb_emulate_format_changes_desc), vconfig.bEFBEmulateFormatChanges, true), 0, wxBOTTOM | wxLEFT, 5);

View File

@ -200,10 +200,6 @@ protected:
choice_aamode->Enable(vconfig.backend_info.AAModes.size() > 1); choice_aamode->Enable(vconfig.backend_info.AAModes.size() > 1);
text_aamode->Enable(vconfig.backend_info.AAModes.size() > 1); text_aamode->Enable(vconfig.backend_info.AAModes.size() > 1);
// EFB copy
efbcopy_texture->Enable(vconfig.bEFBCopyEnable);
efbcopy_ram->Enable(vconfig.bEFBCopyEnable);
// XFB // XFB
virtual_xfb->Enable(vconfig.bUseXFB); virtual_xfb->Enable(vconfig.bUseXFB);
real_xfb->Enable(vconfig.bUseXFB); real_xfb->Enable(vconfig.bUseXFB);
@ -268,9 +264,6 @@ protected:
SettingCheckBox* borderless_fullscreen; SettingCheckBox* borderless_fullscreen;
SettingCheckBox* render_to_main_checkbox; SettingCheckBox* render_to_main_checkbox;
SettingRadioButton* efbcopy_texture;
SettingRadioButton* efbcopy_ram;
SettingRadioButton* virtual_xfb; SettingRadioButton* virtual_xfb;
SettingRadioButton* real_xfb; SettingRadioButton* real_xfb;

View File

@ -90,12 +90,9 @@ void CopyEFB(u32 dstAddr, const EFBRectangle& srcRect,
bool isIntensity, bool scaleByHalf) bool isIntensity, bool scaleByHalf)
{ {
// bpmem.zcontrol.pixel_format to PEControl::Z24 is when the game wants to copy from ZBuffer (Zbuffer uses 24-bit Format) // bpmem.zcontrol.pixel_format to PEControl::Z24 is when the game wants to copy from ZBuffer (Zbuffer uses 24-bit Format)
if (g_ActiveConfig.bEFBCopyEnable)
{
TextureCache::CopyRenderTargetToTexture(dstAddr, dstFormat, srcFormat, TextureCache::CopyRenderTargetToTexture(dstAddr, dstFormat, srcFormat,
srcRect, isIntensity, scaleByHalf); srcRect, isIntensity, scaleByHalf);
} }
}
/* Explanation of the magic behind ClearScreen: /* Explanation of the magic behind ClearScreen:
There's numerous possible formats for the pixel data in the EFB. There's numerous possible formats for the pixel data in the EFB.

View File

@ -375,8 +375,7 @@ void Renderer::DrawDebugText()
break; break;
} }
const char* const efbcopy_text = g_ActiveConfig.bEFBCopyEnable ? const char* const efbcopy_text = g_ActiveConfig.bCopyEFBToTexture ? "to Texture" : "to RAM";
(g_ActiveConfig.bCopyEFBToTexture ? "to Texture" : "to RAM") : "Disabled";
// The rows // The rows
const std::string lines[] = const std::string lines[] =

View File

@ -97,7 +97,6 @@ void VideoConfig::Load(const std::string& ini_file)
IniFile::Section* hacks = iniFile.GetOrCreateSection("Hacks"); IniFile::Section* hacks = iniFile.GetOrCreateSection("Hacks");
hacks->Get("EFBAccessEnable", &bEFBAccessEnable, true); hacks->Get("EFBAccessEnable", &bEFBAccessEnable, true);
hacks->Get("EFBCopyEnable", &bEFBCopyEnable, true);
hacks->Get("EFBToTextureEnable", &bCopyEFBToTexture, true); hacks->Get("EFBToTextureEnable", &bCopyEFBToTexture, true);
hacks->Get("EFBScaledCopy", &bCopyEFBScaled, true); hacks->Get("EFBScaledCopy", &bCopyEFBScaled, true);
hacks->Get("EFBEmulateFormatChanges", &bEFBEmulateFormatChanges, false); hacks->Get("EFBEmulateFormatChanges", &bEFBEmulateFormatChanges, false);
@ -197,7 +196,6 @@ void VideoConfig::GameIniLoad()
CHECK_SETTING("Video_Stereoscopy", "StereoConvergenceMinimum", iStereoConvergenceMinimum); CHECK_SETTING("Video_Stereoscopy", "StereoConvergenceMinimum", iStereoConvergenceMinimum);
CHECK_SETTING("Video_Hacks", "EFBAccessEnable", bEFBAccessEnable); CHECK_SETTING("Video_Hacks", "EFBAccessEnable", bEFBAccessEnable);
CHECK_SETTING("Video_Hacks", "EFBCopyEnable", bEFBCopyEnable);
CHECK_SETTING("Video_Hacks", "EFBToTextureEnable", bCopyEFBToTexture); CHECK_SETTING("Video_Hacks", "EFBToTextureEnable", bCopyEFBToTexture);
CHECK_SETTING("Video_Hacks", "EFBScaledCopy", bCopyEFBScaled); CHECK_SETTING("Video_Hacks", "EFBScaledCopy", bCopyEFBScaled);
CHECK_SETTING("Video_Hacks", "EFBEmulateFormatChanges", bEFBEmulateFormatChanges); CHECK_SETTING("Video_Hacks", "EFBEmulateFormatChanges", bEFBEmulateFormatChanges);
@ -285,7 +283,6 @@ void VideoConfig::Save(const std::string& ini_file)
IniFile::Section* hacks = iniFile.GetOrCreateSection("Hacks"); IniFile::Section* hacks = iniFile.GetOrCreateSection("Hacks");
hacks->Set("EFBAccessEnable", bEFBAccessEnable); hacks->Set("EFBAccessEnable", bEFBAccessEnable);
hacks->Set("EFBCopyEnable", bEFBCopyEnable);
hacks->Set("EFBToTextureEnable", bCopyEFBToTexture); hacks->Set("EFBToTextureEnable", bCopyEFBToTexture);
hacks->Set("EFBScaledCopy", bCopyEFBScaled); hacks->Set("EFBScaledCopy", bCopyEFBScaled);
hacks->Set("EFBEmulateFormatChanges", bEFBEmulateFormatChanges); hacks->Set("EFBEmulateFormatChanges", bEFBEmulateFormatChanges);

View File

@ -113,7 +113,6 @@ struct VideoConfig final
bool bEFBAccessEnable; bool bEFBAccessEnable;
bool bPerfQueriesEnable; bool bPerfQueriesEnable;
bool bEFBCopyEnable;
bool bEFBEmulateFormatChanges; bool bEFBEmulateFormatChanges;
bool bCopyEFBToTexture; bool bCopyEFBToTexture;
bool bCopyEFBScaled; bool bCopyEFBScaled;
@ -165,8 +164,8 @@ struct VideoConfig final
// Utility // Utility
bool RealXFBEnabled() const { return bUseXFB && bUseRealXFB; } bool RealXFBEnabled() const { return bUseXFB && bUseRealXFB; }
bool VirtualXFBEnabled() const { return bUseXFB && !bUseRealXFB; } bool VirtualXFBEnabled() const { return bUseXFB && !bUseRealXFB; }
bool EFBCopiesToTextureEnabled() const { return bEFBCopyEnable && bCopyEFBToTexture; } bool EFBCopiesToTextureEnabled() const { return bCopyEFBToTexture; }
bool EFBCopiesToRamEnabled() const { return bEFBCopyEnable && !bCopyEFBToTexture; } bool EFBCopiesToRamEnabled() const { return !bCopyEFBToTexture; }
bool ExclusiveFullscreenEnabled() const { return backend_info.bSupportsExclusiveFullscreen && !bBorderlessFullscreen; } bool ExclusiveFullscreenEnabled() const { return backend_info.bSupportsExclusiveFullscreen && !bBorderlessFullscreen; }
}; };