MCPcopy Create free account
hub / github.com/PCSX2/pcsx2 / UpdateSource

Method UpdateSource

pcsx2/GS/Renderers/SW/GSRendererSW.cpp:1656–1693  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1654}
1655
1656void GSRendererSW::SharedData::UpdateSource()
1657{
1658 for (size_t i = 0; m_tex[i].t; i++)
1659 {
1660 if (m_tex[i].t->Update(m_tex[i].r))
1661 {
1662 global.tex[i] = m_tex[i].t->m_buff;
1663 }
1664 else
1665 {
1666 printf("GS: out-of-memory, texturing temporarily disabled\n");
1667
1668 global.sel.tfx = TFX_NONE;
1669 }
1670 }
1671
1672 if (GSConfig.SaveTexture && GSConfig.ShouldDump(s_n, g_perfmon.GetFrame()))
1673 {
1674 const u64 frame = g_perfmon.GetFrame();
1675
1676 std::string s;
1677
1678 for (u32 i = 0; m_tex[i].t; i++)
1679 {
1680 const GIFRegTEX0& TEX0 = g_gs_renderer->GetTex0Layer(i);
1681
1682 s = GetDrawDumpPath("%05lld_f%05lld_itex%d_%05x_%s.bmp", g_gs_renderer->s_n, frame, i, TEX0.TBP0, GSUtil::GetPSMName(TEX0.PSM));
1683
1684 m_tex[i].t->Save(s);
1685 }
1686
1687 if (global.clut)
1688 {
1689 s = GetDrawDumpPath("%05lld_f%05lld_itexp_%05x_%s.bmp", g_gs_renderer->s_n, frame, (int)g_gs_renderer->m_context->TEX0.CBP, GSUtil::GetPSMName(g_gs_renderer->m_context->TEX0.CPSM));
1690 GSPng::Save((IsDevBuild || GSConfig.SaveAlpha) ? GSPng::RGB_A_PNG : GSPng::RGB_PNG, s, reinterpret_cast<const u8*>(global.clut), 256, 1, sizeof(u32) * 256, GSConfig.PNGCompressionLevel, false);
1691 }
1692 }
1693}

Callers 1

QueueMethod · 0.80

Calls 7

printfFunction · 0.85
SaveFunction · 0.85
ShouldDumpMethod · 0.80
GetFrameMethod · 0.80
GetTex0LayerMethod · 0.80
UpdateMethod · 0.45
SaveMethod · 0.45

Tested by

no test coverage detected