VideoCommon: rename efb2tex and efb2ram
This commit is contained in:
parent
1313d3461f
commit
967eaad8df
|
@ -1212,7 +1212,7 @@ void SaveRecording(const std::string& filename)
|
|||
header.CPUCore = s_iCPUCore;
|
||||
header.bEFBAccessEnable = g_ActiveConfig.bEFBAccessEnable;
|
||||
header.bEFBCopyEnable = true;
|
||||
header.bCopyEFBToTexture = g_ActiveConfig.bCopyEFBToTexture;
|
||||
header.bSkipEFBCopyToRam = g_ActiveConfig.bSkipEFBCopyToRam;
|
||||
header.bEFBCopyCacheEnable = false;
|
||||
header.bEFBEmulateFormatChanges = g_ActiveConfig.bEFBEmulateFormatChanges;
|
||||
header.bUseXFB = g_ActiveConfig.bUseXFB;
|
||||
|
@ -1273,7 +1273,7 @@ void CallWiiInputManip(u8* data, WiimoteEmu::ReportFeatures rptf, int controller
|
|||
void SetGraphicsConfig()
|
||||
{
|
||||
g_Config.bEFBAccessEnable = tmpHeader.bEFBAccessEnable;
|
||||
g_Config.bCopyEFBToTexture = tmpHeader.bCopyEFBToTexture;
|
||||
g_Config.bSkipEFBCopyToRam = tmpHeader.bSkipEFBCopyToRam;
|
||||
g_Config.bEFBEmulateFormatChanges = tmpHeader.bEFBEmulateFormatChanges;
|
||||
g_Config.bUseXFB = tmpHeader.bUseXFB;
|
||||
g_Config.bUseRealXFB = tmpHeader.bUseRealXFB;
|
||||
|
|
|
@ -91,7 +91,7 @@ struct DTMHeader
|
|||
u8 CPUCore; // 0 = interpreter, 1 = JIT, 2 = JITIL
|
||||
bool bEFBAccessEnable;
|
||||
bool bEFBCopyEnable;
|
||||
bool bCopyEFBToTexture;
|
||||
bool bSkipEFBCopyToRam;
|
||||
bool bEFBCopyCacheEnable;
|
||||
bool bEFBEmulateFormatChanges;
|
||||
bool bUseXFB;
|
||||
|
|
|
@ -1344,7 +1344,7 @@ void CFrame::ParseHotkeys(wxKeyEvent &event)
|
|||
{
|
||||
OSDChoice = 3;
|
||||
// Toggle EFB copies between EFB2RAM and EFB2Texture
|
||||
g_Config.bCopyEFBToTexture = !g_Config.bCopyEFBToTexture;
|
||||
g_Config.bSkipEFBCopyToRam = !g_Config.bSkipEFBCopyToRam;
|
||||
}
|
||||
else if (IsHotkey(event, HK_TOGGLE_FOG))
|
||||
{
|
||||
|
|
|
@ -123,9 +123,7 @@ static wxString borderless_fullscreen_desc = wxTRANSLATE("Implement fullscreen m
|
|||
static wxString internal_res_desc = wxTRANSLATE("Specifies the resolution used to render at. A high resolution greatly improves visual quality, but also greatly increases GPU load and can cause issues in certain games.\n\"Multiple of 640x528\" will result in a size slightly larger than \"Window Size\" but yield fewer issues. Generally speaking, the lower the internal resolution is, the better your performance will be.\n\nIf unsure, select 640x528.");
|
||||
static wxString efb_access_desc = wxTRANSLATE("Ignore any requests from the CPU to read from or write to the EFB.\nImproves performance in some games, but might disable some gameplay-related features or graphical effects.\n\nIf unsure, leave this unchecked.");
|
||||
static wxString efb_emulate_format_changes_desc = wxTRANSLATE("Ignore any changes to the EFB format.\nImproves performance in many games without any negative effect. Causes graphical defects in a small number of other games.\n\nIf unsure, leave this checked.");
|
||||
static wxString efb_copy_desc = wxTRANSLATE("Disable emulation of EFB copies.\nThese are often used for post-processing or render-to-texture effects, so while checking this setting may give a minor speedup over EFB to Texture it almost invariably also causes issues.\n\nIf unsure, leave this unchecked.");
|
||||
static wxString efb_copy_texture_desc = wxTRANSLATE("Store EFB copies in GPU texture objects.\nThis isn't particularly accurate, but it works well enough for most games and gives a great speedup over EFB to RAM.\n\nIf unsure, leave this checked.");
|
||||
static wxString efb_copy_ram_desc = wxTRANSLATE("Accurately emulate EFB copies.\nNumerous games depend on this for certain graphical effects or gameplay functionality.\nThis is much slower than EFB to Texture.\n\nIf unsure, check EFB to Texture instead.");
|
||||
static wxString skip_efb_copy_to_ram_desc = wxTRANSLATE("Skip GPU synchronizing on EFB copies. Causes graphical defects in a small number of games.\n\nIf unsure, leave this checked.");
|
||||
static wxString stc_desc = wxTRANSLATE("The \"Safe\" setting eliminates the likelihood of the GPU missing texture updates from RAM.\nLower accuracies cause in-game text to appear garbled in certain games.\n\nIf unsure, use the rightmost value.");
|
||||
static wxString wireframe_desc = wxTRANSLATE("Render the scene as a wireframe.\n\nIf unsure, leave this unchecked.");
|
||||
static wxString disable_fog_desc = wxTRANSLATE("Makes distant objects more visible by removing fog, thus increasing the overall detail.\nDisabling fog will break some games which rely on proper fog emulation.\n\nIf unsure, leave this unchecked.");
|
||||
|
@ -479,15 +477,10 @@ VideoConfigDiag::VideoConfigDiag(wxWindow* parent, const std::string &title, con
|
|||
// - EFB hacks
|
||||
wxStaticBoxSizer* const szr_efb = new wxStaticBoxSizer(wxVERTICAL, page_hacks, _("Embedded Frame Buffer (EFB)"));
|
||||
|
||||
// EFB copies
|
||||
wxStaticBoxSizer* const group_efbcopy = new wxStaticBoxSizer(wxHORIZONTAL, page_hacks, _("EFB Copies"));
|
||||
|
||||
group_efbcopy->Add(CreateRadioButton(page_hacks, _("Texture"), wxGetTranslation(efb_copy_texture_desc), vconfig.bCopyEFBToTexture, false, wxRB_GROUP), 0, wxRIGHT, 5);
|
||||
group_efbcopy->Add(CreateRadioButton(page_hacks, _("RAM"), wxGetTranslation(efb_copy_ram_desc), vconfig.bCopyEFBToTexture, true), 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, _("Ignore Format Changes"), wxGetTranslation(efb_emulate_format_changes_desc), vconfig.bEFBEmulateFormatChanges, true), 0, wxBOTTOM | wxLEFT, 5);
|
||||
szr_efb->Add(group_efbcopy, 0, wxEXPAND | wxALL, 5);
|
||||
szr_efb->Add(CreateCheckBox(page_hacks, _("Skip EFB copies to RAM"), wxGetTranslation(skip_efb_copy_to_ram_desc), vconfig.bSkipEFBCopyToRam), 0, wxBOTTOM | wxLEFT, 5);
|
||||
|
||||
szr_hacks->Add(szr_efb, 0, wxEXPAND | wxALL, 5);
|
||||
|
||||
// Texture cache
|
||||
|
|
|
@ -172,7 +172,7 @@ void TextureCache::TCacheEntry::FromRenderTarget(u32 dstAddr, unsigned int dstFo
|
|||
|
||||
g_renderer->RestoreAPIState();
|
||||
|
||||
if (!g_ActiveConfig.bCopyEFBToTexture)
|
||||
if (!g_ActiveConfig.bSkipEFBCopyToRam)
|
||||
{
|
||||
u8* dst = Memory::GetPointer(dstAddr);
|
||||
size_t encoded_size = g_encoder->Encode(dst, dstFormat, srcFormat, srcRect, isIntensity, scaleByHalf);
|
||||
|
|
|
@ -197,7 +197,7 @@ void TextureCache::TCacheEntry::FromRenderTarget(u32 dstAddr, unsigned int dstFo
|
|||
|
||||
glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);
|
||||
|
||||
if (false == g_ActiveConfig.bCopyEFBToTexture)
|
||||
if (!g_ActiveConfig.bSkipEFBCopyToRam)
|
||||
{
|
||||
int encoded_size = TextureConverter::EncodeToRamFromTexture(
|
||||
dstAddr,
|
||||
|
|
|
@ -375,7 +375,7 @@ void Renderer::DrawDebugText()
|
|||
break;
|
||||
}
|
||||
|
||||
const char* const efbcopy_text = g_ActiveConfig.bCopyEFBToTexture ? "to Texture" : "to RAM";
|
||||
const char* const efbcopy_text = g_ActiveConfig.bSkipEFBCopyToRam ? "to Texture" : "to RAM";
|
||||
|
||||
// The rows
|
||||
const std::string lines[] =
|
||||
|
|
|
@ -356,7 +356,7 @@ TextureCache::TCacheEntryBase* TextureCache::Load(const u32 stage)
|
|||
// EFB copies have slightly different rules: the hash doesn't need to match
|
||||
// in EFB2Tex mode, and EFB copy formats have different meanings from texture
|
||||
// formats.
|
||||
if (g_ActiveConfig.bCopyEFBToTexture ||
|
||||
if (g_ActiveConfig.bSkipEFBCopyToRam ||
|
||||
(tex_hash == entry->hash && (!isPaletteTexture || g_Config.backend_info.bSupportsPaletteConversion)))
|
||||
{
|
||||
// TODO: We should check format/width/height/levels for EFB copies. Checking
|
||||
|
|
|
@ -97,7 +97,7 @@ void VideoConfig::Load(const std::string& ini_file)
|
|||
|
||||
IniFile::Section* hacks = iniFile.GetOrCreateSection("Hacks");
|
||||
hacks->Get("EFBAccessEnable", &bEFBAccessEnable, true);
|
||||
hacks->Get("EFBToTextureEnable", &bCopyEFBToTexture, true);
|
||||
hacks->Get("EFBToTextureEnable", &bSkipEFBCopyToRam, true);
|
||||
hacks->Get("EFBScaledCopy", &bCopyEFBScaled, true);
|
||||
hacks->Get("EFBEmulateFormatChanges", &bEFBEmulateFormatChanges, false);
|
||||
|
||||
|
@ -196,7 +196,7 @@ void VideoConfig::GameIniLoad()
|
|||
CHECK_SETTING("Video_Stereoscopy", "StereoConvergenceMinimum", iStereoConvergenceMinimum);
|
||||
|
||||
CHECK_SETTING("Video_Hacks", "EFBAccessEnable", bEFBAccessEnable);
|
||||
CHECK_SETTING("Video_Hacks", "EFBToTextureEnable", bCopyEFBToTexture);
|
||||
CHECK_SETTING("Video_Hacks", "EFBToTextureEnable", bSkipEFBCopyToRam);
|
||||
CHECK_SETTING("Video_Hacks", "EFBScaledCopy", bCopyEFBScaled);
|
||||
CHECK_SETTING("Video_Hacks", "EFBEmulateFormatChanges", bEFBEmulateFormatChanges);
|
||||
|
||||
|
@ -283,7 +283,7 @@ void VideoConfig::Save(const std::string& ini_file)
|
|||
|
||||
IniFile::Section* hacks = iniFile.GetOrCreateSection("Hacks");
|
||||
hacks->Set("EFBAccessEnable", bEFBAccessEnable);
|
||||
hacks->Set("EFBToTextureEnable", bCopyEFBToTexture);
|
||||
hacks->Set("EFBToTextureEnable", bSkipEFBCopyToRam);
|
||||
hacks->Set("EFBScaledCopy", bCopyEFBScaled);
|
||||
hacks->Set("EFBEmulateFormatChanges", bEFBEmulateFormatChanges);
|
||||
|
||||
|
|
|
@ -114,7 +114,7 @@ struct VideoConfig final
|
|||
bool bPerfQueriesEnable;
|
||||
|
||||
bool bEFBEmulateFormatChanges;
|
||||
bool bCopyEFBToTexture;
|
||||
bool bSkipEFBCopyToRam;
|
||||
bool bCopyEFBScaled;
|
||||
int iSafeTextureCache_ColorSamples;
|
||||
int iPhackvalue[3];
|
||||
|
@ -164,8 +164,6 @@ struct VideoConfig final
|
|||
// Utility
|
||||
bool RealXFBEnabled() const { return bUseXFB && bUseRealXFB; }
|
||||
bool VirtualXFBEnabled() const { return bUseXFB && !bUseRealXFB; }
|
||||
bool EFBCopiesToTextureEnabled() const { return bCopyEFBToTexture; }
|
||||
bool EFBCopiesToRamEnabled() const { return !bCopyEFBToTexture; }
|
||||
bool ExclusiveFullscreenEnabled() const { return backend_info.bSupportsExclusiveFullscreen && !bBorderlessFullscreen; }
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in New Issue