Skip to content
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

Merged
merged 2 commits into from Sep 22, 2015

Conversation

phire
Copy link
Member

@phire phire commented Sep 7, 2015

No description provided.

@@ -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.

This comment was marked as off-topic.

This comment was marked as off-topic.

This comment was marked as off-topic.

@phire
Copy link
Member Author

phire commented Sep 12, 2015

Ok, fixed up those issues.

@@ -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.

@degasus
Copy link
Member

degasus commented Sep 22, 2015

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.
@phire
Copy link
Member Author

phire commented Sep 22, 2015

Slight cleanup to merge ShadowMemory and WriteMemory into UseMemory And eliminate duplicated code.

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.

phire added a commit that referenced this pull request Sep 22, 2015
FifoRecorder: Use Texture Cache to record efb copies correctly.
@phire phire merged commit a537ca7 into dolphin-emu:master Sep 22, 2015
@phire phire deleted the FixFifoRecorder branch September 22, 2015 12:17
phire added a commit to phire/dolphin that referenced this pull request Nov 8, 2015
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.
phire added a commit to phire/dolphin that referenced this pull request Nov 8, 2015
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.
phire added a commit to phire/dolphin that referenced this pull request Nov 23, 2015
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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
3 participants