mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-08-25 19:55:50 +00:00
Set some defaults for config. look into music bug
This commit is contained in:
parent
fcb44de8a4
commit
17950c77e2
7 changed files with 11 additions and 17 deletions
|
@ -145,7 +145,7 @@ const Info<bool> GFX_HACK_SKIP_EFB_COPY_TO_RAM{{System::GFX, "Hacks", "EFBToText
|
||||||
const Info<bool> GFX_HACK_SKIP_XFB_COPY_TO_RAM{{System::GFX, "Hacks", "XFBToTextureEnable"}, true};
|
const Info<bool> GFX_HACK_SKIP_XFB_COPY_TO_RAM{{System::GFX, "Hacks", "XFBToTextureEnable"}, true};
|
||||||
const Info<bool> GFX_HACK_DISABLE_COPY_TO_VRAM{{System::GFX, "Hacks", "DisableCopyToVRAM"}, false};
|
const Info<bool> GFX_HACK_DISABLE_COPY_TO_VRAM{{System::GFX, "Hacks", "DisableCopyToVRAM"}, false};
|
||||||
const Info<bool> GFX_HACK_DEFER_EFB_COPIES{{System::GFX, "Hacks", "DeferEFBCopies"}, true};
|
const Info<bool> GFX_HACK_DEFER_EFB_COPIES{{System::GFX, "Hacks", "DeferEFBCopies"}, true};
|
||||||
const Info<bool> GFX_HACK_IMMEDIATE_XFB{{System::GFX, "Hacks", "ImmediateXFBEnable"}, false};
|
const Info<bool> GFX_HACK_IMMEDIATE_XFB{{System::GFX, "Hacks", "ImmediateXFBEnable"}, true};
|
||||||
const Info<bool> GFX_HACK_SKIP_DUPLICATE_XFBS{{System::GFX, "Hacks", "SkipDuplicateXFBs"}, true};
|
const Info<bool> GFX_HACK_SKIP_DUPLICATE_XFBS{{System::GFX, "Hacks", "SkipDuplicateXFBs"}, true};
|
||||||
const Info<bool> GFX_HACK_COPY_EFB_SCALED{{System::GFX, "Hacks", "EFBScaledCopy"}, true};
|
const Info<bool> GFX_HACK_COPY_EFB_SCALED{{System::GFX, "Hacks", "EFBScaledCopy"}, true};
|
||||||
const Info<bool> GFX_HACK_EFB_EMULATE_FORMAT_CHANGES{
|
const Info<bool> GFX_HACK_EFB_EMULATE_FORMAT_CHANGES{
|
||||||
|
|
|
@ -1357,7 +1357,7 @@ static void ScheduleReads(u64 offset, u32 length, const DiscIO::Partition& parti
|
||||||
u64 dvd_offset = DVDThread::PartitionOffsetToRawOffset(offset, partition);
|
u64 dvd_offset = DVDThread::PartitionOffsetToRawOffset(offset, partition);
|
||||||
dvd_offset = Common::AlignDown(dvd_offset, DVD_ECC_BLOCK_SIZE);
|
dvd_offset = Common::AlignDown(dvd_offset, DVD_ECC_BLOCK_SIZE);
|
||||||
|
|
||||||
if (SConfig::GetInstance().bFastDiscSpeed)
|
if (SConfig::GetInstance().bFastDiscSpeed) // DVDThread::GetFileName(partition, dvd_offset).find("audio") == std::string::npos
|
||||||
{
|
{
|
||||||
// The SUDTR setting makes us act as if all reads are buffered
|
// The SUDTR setting makes us act as if all reads are buffered
|
||||||
buffer_start = std::numeric_limits<u64>::min();
|
buffer_start = std::numeric_limits<u64>::min();
|
||||||
|
|
|
@ -411,4 +411,8 @@ void ReadFile(std::string& fileName, std::vector<u8>& buf)
|
||||||
INFO_LOG(SLIPPI, "Failed to open file: %s", fileName.c_str());
|
INFO_LOG(SLIPPI, "Failed to open file: %s", fileName.c_str());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::string GetFileName(const DiscIO::Partition &partition, u64 offset) {
|
||||||
|
return s_disc->GetFileSystem(partition)->FindFileInfo(offset)->GetName();
|
||||||
|
}
|
||||||
} // namespace DVDThread
|
} // namespace DVDThread
|
||||||
|
|
|
@ -62,4 +62,5 @@ void StartReadToEmulatedRAM(u32 output_address, u64 dvd_offset, u32 length,
|
||||||
s64 ticks_until_completion);
|
s64 ticks_until_completion);
|
||||||
|
|
||||||
void ReadFile(std::string& fileName, std::vector<u8>& buf);
|
void ReadFile(std::string& fileName, std::vector<u8>& buf);
|
||||||
|
std::string GetFileName(const DiscIO::Partition& partition, u64 offset);
|
||||||
} // namespace DVDThread
|
} // namespace DVDThread
|
||||||
|
|
|
@ -88,6 +88,8 @@ void HacksWidget::CreateWidgets()
|
||||||
m_store_xfb_copies = new GraphicsBool(tr("Store XFB Copies to Texture Only"),
|
m_store_xfb_copies = new GraphicsBool(tr("Store XFB Copies to Texture Only"),
|
||||||
Config::GFX_HACK_SKIP_XFB_COPY_TO_RAM);
|
Config::GFX_HACK_SKIP_XFB_COPY_TO_RAM);
|
||||||
m_immediate_xfb = new GraphicsBool(tr("Immediately Present XFB"), Config::GFX_HACK_IMMEDIATE_XFB);
|
m_immediate_xfb = new GraphicsBool(tr("Immediately Present XFB"), Config::GFX_HACK_IMMEDIATE_XFB);
|
||||||
|
// Don't let people touch this
|
||||||
|
m_immediate_xfb->setEnabled(false);
|
||||||
m_skip_duplicate_xfbs = new GraphicsBool(tr("Skip Presenting Duplicate Frames"),
|
m_skip_duplicate_xfbs = new GraphicsBool(tr("Skip Presenting Duplicate Frames"),
|
||||||
Config::GFX_HACK_SKIP_DUPLICATE_XFBS);
|
Config::GFX_HACK_SKIP_DUPLICATE_XFBS);
|
||||||
|
|
||||||
|
|
|
@ -255,10 +255,12 @@ int WINAPI wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PWSTR pCmdLine
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
#ifndef IS_PLAYBACK
|
||||||
if (Settings::Instance().IsBootDefaultISO() && !Settings::Instance().GetDefaultGame().isEmpty())
|
if (Settings::Instance().IsBootDefaultISO() && !Settings::Instance().GetDefaultGame().isEmpty())
|
||||||
{
|
{
|
||||||
boot = BootParameters::GenerateFromFile(Settings::Instance().GetDefaultGame().toStdString(), save_state_path);
|
boot = BootParameters::GenerateFromFile(Settings::Instance().GetDefaultGame().toStdString(), save_state_path);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
MainWindow win{std::move(boot), static_cast<const char*>(options.get("movie"))};
|
MainWindow win{std::move(boot), static_cast<const char*>(options.get("movie"))};
|
||||||
if (options.is_set("debugger"))
|
if (options.is_set("debugger"))
|
||||||
|
|
|
@ -300,28 +300,13 @@ static void BPWritten(const BPCmd& bp)
|
||||||
destAddr, srcRect.left, srcRect.top, srcRect.right, srcRect.bottom,
|
destAddr, srcRect.left, srcRect.top, srcRect.right, srcRect.bottom,
|
||||||
bpmem.copyTexSrcWH.x + 1, destStride, height, yScale);
|
bpmem.copyTexSrcWH.x + 1, destStride, height, yScale);
|
||||||
|
|
||||||
#ifdef IS_PLAYBACK
|
|
||||||
bool is_depth_copy = bpmem.zcontrol.pixel_format == PEControl::Z24;
|
|
||||||
auto one = std::chrono::high_resolution_clock::now();
|
|
||||||
g_texture_cache->CopyRenderTargetToTexture(
|
|
||||||
destAddr, EFBCopyFormat::XFB, copy_width, height, destStride, is_depth_copy, srcRect,
|
|
||||||
false, false, yScale, s_gammaLUT[PE_copy.gamma], bpmem.triggerEFBCopy.clamp_top,
|
|
||||||
bpmem.triggerEFBCopy.clamp_bottom, bpmem.copyfilter.GetCoefficients());
|
|
||||||
auto two = std::chrono::high_resolution_clock::now();
|
|
||||||
WARN_LOG(SLIPPI, "timer: %d", (two - one).count());
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// This stays in to signal end of a "frame"
|
// This stays in to signal end of a "frame"
|
||||||
g_renderer->RenderToXFB(destAddr, srcRect, destStride, height, s_gammaLUT[PE_copy.gamma]);
|
g_renderer->RenderToXFB(destAddr, srcRect, destStride, height, s_gammaLUT[PE_copy.gamma]);
|
||||||
|
|
||||||
if (g_ActiveConfig.bImmediateXFB)
|
if (g_ActiveConfig.bImmediateXFB)
|
||||||
{
|
{
|
||||||
// below div two to convert from bytes to pixels - it expects width, not stride
|
// below div two to convert from bytes to pixels - it expects width, not stride
|
||||||
#ifdef IS_PLAYBACK
|
|
||||||
g_renderer->Swap(destAddr, destStride / 2, destStride, height, CoreTiming::GetTicks(), s_gammaLUT[PE_copy.gamma], srcRect, bpmem.copyfilter.GetCoefficients(), yScale, bpmem.triggerEFBCopy.clamp_top, bpmem.triggerEFBCopy.clamp_bottom);
|
g_renderer->Swap(destAddr, destStride / 2, destStride, height, CoreTiming::GetTicks(), s_gammaLUT[PE_copy.gamma], srcRect, bpmem.copyfilter.GetCoefficients(), yScale, bpmem.triggerEFBCopy.clamp_top, bpmem.triggerEFBCopy.clamp_bottom);
|
||||||
#else
|
|
||||||
g_renderer->Swap(destAddr, destStride / 2, destStride, height, CoreTiming::GetTicks(), s_gammaLUT[PE_copy.gamma], srcRect, bpmem.copyfilter.GetCoefficients(), yScale, bpmem.triggerEFBCopy.clamp_top, bpmem.triggerEFBCopy.clamp_bottom);
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue