New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
FifoRecorder: Use Texture Cache to record efb copies correctly. #2997
Conversation
@@ -227,78 +228,3 @@ void FifoRecordAnalyzer::WriteVertexArray(int arrayIndex, u8 *vertexData, int ve | |||
|
|||
FifoRecorder::GetInstance().WriteMemory(arrayStart, arraySize, MemoryUpdate::VERTEX_STREAM); | |||
} | |||
|
|||
void FifoRecordAnalyzer::ProcessTexMaps() |
This comment was marked as off-topic.
This comment was marked as off-topic.
Sorry, something went wrong.
This comment was marked as off-topic.
This comment was marked as off-topic.
Sorry, something went wrong.
This comment was marked as off-topic.
This comment was marked as off-topic.
Sorry, something went wrong.
This comment was marked as off-topic.
This comment was marked as off-topic.
Sorry, something went wrong.
This comment was marked as off-topic.
This comment was marked as off-topic.
Sorry, something went wrong.
Ok, fixed up those issues. |
2c75557
to
a64f1e8
Compare
@@ -687,6 +700,10 @@ TextureCache::TCacheEntryBase* TextureCache::Load(const u32 stage) | |||
} | |||
} | |||
|
|||
// If we are recording a FifoLog, keep track of what memory we read. | |||
if (g_bRecordFifoData && !from_tmem) | |||
FifoRecorder::GetInstance().WriteMemory(address, texture_size + additional_mips_size, MemoryUpdate::TEXTURE_MAP); |
This comment was marked as off-topic.
This comment was marked as off-topic.
Sorry, something went wrong.
This comment was marked as off-topic.
This comment was marked as off-topic.
Sorry, something went wrong.
Else LGTM |
Texture updates have been moved into TextureCache, while TMEM updates where moved into bpmem. Code for handling efb2ram updates was added to TextureCache. There was a bug for preloaded RGBA8 textures, it only copied half the texture. The TODO was wrong too.
a64f1e8
to
aa1fec6
Compare
Slight cleanup to merge Also Texture Cache now records memory updates before checking the hash, so the correct thing will get recorded even if the texture cache hash algorithm is wrong. |
FifoRecorder: Use Texture Cache to record efb copies correctly.
It wasn't working, I'm not really sure why. Since dolphin-emu#2997 we rely on video common to mark efb copies 'written' during recording, and for old dffs we just ignore the bad texture while playing back in the texture cache.
It wasn't working, I'm not really sure why. Since dolphin-emu#2997 we rely on video common to mark efb copies 'written' during recording, and for old dffs we just ignore the bad texture while playing back in the texture cache.
It wasn't working, I'm not really sure why. Since dolphin-emu#2997 we rely on video common to mark efb copies 'written' during recording, and for old dffs we just ignore the bad texture while playing back in the texture cache.
No description provided.