Common: Refactor PointerWrap

This commit is contained in:
Dentomologist 2022-05-17 22:29:05 -07:00
commit f6b9acccfc
38 changed files with 108 additions and 106 deletions

View file

@ -104,7 +104,7 @@ void BoundingBox::DoState(PointerWrap& p)
// We handle saving the backend values specially rather than using Readback() and Flush() so that
// we don't mess up the current cache state
std::vector<BBoxType> backend_values(NUM_BBOX_VALUES);
if (p.GetMode() == PointerWrap::MODE_READ)
if (p.IsReadMode())
{
p.Do(backend_values);

View file

@ -26,7 +26,7 @@ void DoCPState(PointerWrap& p)
p.Do(g_main_cp_state.vtx_desc);
p.DoArray(g_main_cp_state.vtx_attr);
p.DoMarker("CP Memory");
if (p.GetMode() == PointerWrap::MODE_READ)
if (p.IsReadMode())
{
CopyPreprocessCPStateFromMain();
VertexLoaderManager::g_bases_dirty = true;

View file

@ -94,7 +94,7 @@ void DoState(PointerWrap& p)
p.DoPointer(write_ptr, s_video_buffer);
s_video_buffer_write_ptr = write_ptr;
p.DoPointer(s_video_buffer_read_ptr, s_video_buffer);
if (p.GetMode() == PointerWrap::MODE_READ && s_use_deterministic_gpu_thread)
if (p.IsReadMode() && s_use_deterministic_gpu_thread)
{
// We're good and paused, right?
s_video_buffer_seen_ptr = s_video_buffer_pp_read_ptr = s_video_buffer_read_ptr;

View file

@ -482,7 +482,7 @@ void FrameDump::CloseVideoFile()
void FrameDump::DoState(PointerWrap& p)
{
if (p.GetMode() == PointerWrap::MODE_READ)
if (p.IsReadMode())
++m_savestate_index;
}

View file

@ -910,7 +910,7 @@ void FramebufferManager::DoState(PointerWrap& p)
if (!save_efb_state)
return;
if (p.GetMode() == PointerWrap::MODE_WRITE || p.GetMode() == PointerWrap::MODE_MEASURE)
if (p.IsWriteMode() || p.IsMeasureMode())
DoSaveState(p);
else
DoLoadState(p);

View file

@ -298,7 +298,7 @@ Common::Vec2 FreeLookCamera::GetFieldOfViewMultiplier() const
void FreeLookCamera::DoState(PointerWrap& p)
{
if (p.GetMode() == PointerWrap::MODE_WRITE || p.GetMode() == PointerWrap::MODE_MEASURE)
if (p.IsWriteMode() || p.IsMeasureMode())
{
p.Do(m_current_type);
if (m_camera_controller)
@ -314,7 +314,7 @@ void FreeLookCamera::DoState(PointerWrap& p)
{
m_camera_controller->DoState(p);
}
else if (p.GetMode() == PointerWrap::MODE_READ)
else if (p.IsReadMode())
{
const std::string old_type_name = old_type ? to_string(*old_type) : "";
const std::string loaded_type_name = m_current_type ? to_string(*m_current_type) : "";
@ -323,7 +323,7 @@ void FreeLookCamera::DoState(PointerWrap& p)
"'{}'. Aborting load state",
old_type_name, loaded_type_name);
Core::DisplayMessage(message, 5000);
p.SetMode(PointerWrap::MODE_VERIFY);
p.SetVerifyMode();
}
}
}

View file

@ -111,7 +111,7 @@ void GeometryShaderManager::DoState(PointerWrap& p)
p.Do(constants);
if (p.GetMode() == PointerWrap::MODE_READ)
if (p.IsReadMode())
{
// Fixup the current state from global GPU state
// NOTE: This requires that all GPU memory has been loaded already.

View file

@ -542,7 +542,7 @@ void PixelShaderManager::DoState(PointerWrap& p)
p.Do(constants);
if (p.GetMode() == PointerWrap::MODE_READ)
if (p.IsReadMode())
{
// Fixup the current state from global GPU state
// NOTE: This requires that all GPU memory has been loaded already.

View file

@ -1810,7 +1810,7 @@ void Renderer::DoState(PointerWrap& p)
m_bounding_box->DoState(p);
if (p.GetMode() == PointerWrap::MODE_READ)
if (p.IsReadMode())
{
// Force the next xfb to be displayed.
m_last_xfb_id = std::numeric_limits<u64>::max();

View file

@ -432,7 +432,7 @@ void TextureCacheBase::SerializeTexture(AbstractTexture* tex, const TextureConfi
PointerWrap& p)
{
// If we're in measure mode, skip the actual readback to save some time.
const bool skip_readback = p.GetMode() == PointerWrap::MODE_MEASURE;
const bool skip_readback = p.IsMeasureMode();
p.DoPOD(config);
if (skip_readback || CheckReadbackTexture(config.width, config.height, config.format))
@ -459,7 +459,7 @@ void TextureCacheBase::SerializeTexture(AbstractTexture* tex, const TextureConfi
// needing to allocate/free an extra buffer.
u8* texture_data = p.DoExternal(total_size);
if (!skip_readback && p.GetMode() == PointerWrap::MODE_MEASURE)
if (!skip_readback && p.IsMeasureMode())
{
ERROR_LOG_FMT(VIDEO, "Couldn't acquire {} bytes for serializing texture.", total_size);
return;
@ -502,7 +502,7 @@ std::optional<TextureCacheBase::TexPoolEntry> TextureCacheBase::DeserializeTextu
u32 total_size = 0;
u8* texture_data = p.DoExternal(total_size);
if (p.GetMode() != PointerWrap::MODE_READ || total_size == 0)
if (!p.IsReadMode() || total_size == 0)
return std::nullopt;
auto tex = AllocateTexture(config);
@ -542,7 +542,7 @@ void TextureCacheBase::DoState(PointerWrap& p)
p.Do(last_entry_id);
if (p.GetMode() == PointerWrap::MODE_WRITE || p.GetMode() == PointerWrap::MODE_MEASURE)
if (p.IsWriteMode() || p.IsMeasureMode())
DoSaveState(p);
else
DoLoadState(p);
@ -673,7 +673,7 @@ void TextureCacheBase::DoLoadState(PointerWrap& p)
// Only clear out state when actually restoring/loading.
// Since we throw away entries when not in loading mode now, we don't need to check
// before inserting entries into the cache, as GetEntry will always return null.
const bool commit_state = p.GetMode() == PointerWrap::MODE_READ;
const bool commit_state = p.IsReadMode();
if (commit_state)
Invalidate();

View file

@ -519,7 +519,7 @@ void VertexManagerBase::Flush()
void VertexManagerBase::DoState(PointerWrap& p)
{
if (p.GetMode() == PointerWrap::MODE_READ)
if (p.IsReadMode())
{
// Flush old vertex data before loading state.
Flush();

View file

@ -635,7 +635,7 @@ void VertexShaderManager::DoState(PointerWrap& p)
p.Do(constants);
if (p.GetMode() == PointerWrap::MODE_READ)
if (p.IsReadMode())
{
Dirty();
}

View file

@ -27,10 +27,10 @@ void VideoCommon_DoState(PointerWrap& p)
bool software = false;
p.Do(software);
if (p.GetMode() == PointerWrap::MODE_READ && software == true)
if (p.IsReadMode() && software == true)
{
// change mode to abort load of incompatible save state.
p.SetMode(PointerWrap::MODE_VERIFY);
p.SetVerifyMode();
}
// BP Memory
@ -86,7 +86,7 @@ void VideoCommon_DoState(PointerWrap& p)
p.DoMarker("Renderer");
// Refresh state.
if (p.GetMode() == PointerWrap::MODE_READ)
if (p.IsReadMode())
{
// Inform backend of new state from registers.
BPReload();