revert some some of the soren changes to make dolphin compile in vs2008 again until sw plugin is completely fixed.

some correction to dlist caching

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7117 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
Rodolfo Osvaldo Bogado 2011-02-08 14:51:53 +00:00
parent b567e8fb31
commit 1f1c9132a6
2 changed files with 10 additions and 4 deletions

View File

@ -23,8 +23,9 @@
#include "../../../Plugins/Plugin_VideoDX11/Src/VideoBackend.h" #include "../../../Plugins/Plugin_VideoDX11/Src/VideoBackend.h"
#endif #endif
#include "../../../Plugins/Plugin_VideoOGL/Src/VideoBackend.h" #include "../../../Plugins/Plugin_VideoOGL/Src/VideoBackend.h"
#ifndef _WIN32
#include "../../../Plugins/Plugin_VideoSoftware/Src/VideoBackend.h" #include "../../../Plugins/Plugin_VideoSoftware/Src/VideoBackend.h"
#endif
std::vector<VideoBackend*> g_available_video_backends; std::vector<VideoBackend*> g_available_video_backends;
VideoBackend* g_video_backend = NULL; VideoBackend* g_video_backend = NULL;
@ -36,9 +37,11 @@ void VideoBackend::PopulateList()
g_available_video_backends.push_back(new DX11::VideoBackend); g_available_video_backends.push_back(new DX11::VideoBackend);
#endif #endif
g_available_video_backends.push_back(new OGL::VideoBackend); g_available_video_backends.push_back(new OGL::VideoBackend);
#ifndef _WIN32
g_available_video_backends.push_back(new SW::VideoBackend); g_available_video_backends.push_back(new SW::VideoBackend);
#endif
g_video_backend = g_available_video_backends.front(); g_video_backend = g_available_video_backends.front();
} }
void VideoBackend::ClearList() void VideoBackend::ClearList()

View File

@ -65,7 +65,7 @@ struct ReferencedDataRegion
NextRegion(NULL), NextRegion(NULL),
size(0), size(0),
MustClean(0), MustClean(0),
ReferencedArray(-1), ReferencedArray(0xFFFFFFFF),
ReferencedArrayStride(0) ReferencedArrayStride(0)
{} {}
u64 hash; u64 hash;
@ -184,7 +184,10 @@ struct CachedDisplayList
{ {
if(Current->hash) if(Current->hash)
{ {
if(cached_arraybases[Current->ReferencedArray] != Current->start_address || arraystrides[Current->ReferencedArray] != Current->ReferencedArrayStride) //this test is here to grant that the referenced arrays by the dlist dont change
// in the current implementation is not necesary as the id of the dlist is calculated based on the arrays it refers
// but i let this test for extra safety
if(Current->ReferencedArray != 0xFFFFFFFF && (cached_arraybases[Current->ReferencedArray] != Current->start_address || arraystrides[Current->ReferencedArray] != Current->ReferencedArrayStride))
{ {
return false; return false;
} }