make samplercache global and call constructor/destructor

This commit is contained in:
degasus 2013-02-26 18:30:13 +01:00
parent 4883fa268f
commit 9bc8d6e02b
4 changed files with 10 additions and 6 deletions

View File

@ -129,8 +129,6 @@ static const u32 EFB_CACHE_HEIGHT = (EFB_HEIGHT + EFB_CACHE_RECT_SIZE - 1) / EFB
static bool s_efbCacheValid[2][EFB_CACHE_WIDTH * EFB_CACHE_HEIGHT];
static std::vector<u32> s_efbCache[2][EFB_CACHE_WIDTH * EFB_CACHE_HEIGHT]; // 2 for PEEK_Z and PEEK_COLOR
static SamplerCache s_sampler_cache;
int GetNumMSAASamples(int MSAAMode)
{
switch (MSAAMode)
@ -374,8 +372,6 @@ void Renderer::Shutdown()
delete s_pfont;
s_pfont = 0;
s_ShowEFBCopyRegions.Destroy();
s_sampler_cache.Clear();
}
void Renderer::Init()
@ -1478,7 +1474,7 @@ void Renderer::SetSamplerState(int stage, int texindex)
auto const& tm0 = tex.texMode0[stage];
auto const& tm1 = tex.texMode1[stage];
s_sampler_cache.SetSamplerState((texindex * 4) + stage, tm0, tm1);
g_sampler_cache->SetSamplerState((texindex * 4) + stage, tm0, tm1);
}
void Renderer::SetInterlacingMode()

View File

@ -20,6 +20,8 @@
namespace OGL
{
SamplerCache *g_sampler_cache;
SamplerCache::SamplerCache()
: m_last_max_anisotropy()
{}

View File

@ -73,6 +73,8 @@ private:
int m_last_max_anisotropy;
};
extern SamplerCache *g_sampler_cache;
}
#endif

View File

@ -91,6 +91,7 @@ Make AA apply instantly during gameplay if possible
#include "FramebufferManager.h"
#include "Core.h"
#include "Host.h"
#include "SamplerCache.h"
#include "VideoState.h"
#include "VideoBackend.h"
@ -195,7 +196,8 @@ void VideoBackend::Video_Prepare()
VertexShaderManager::Init();
PixelShaderManager::Init();
ProgramShaderCache::Init();
g_texture_cache = new TextureCache;
g_texture_cache = new TextureCache();
g_sampler_cache = new SamplerCache();
PostProcessing::Init();
Renderer::Init();
GL_REPORT_ERRORD();
@ -229,6 +231,8 @@ void VideoBackend::Video_Cleanup() {
Renderer::Shutdown();
TextureConverter::Shutdown();
VertexLoaderManager::Shutdown();
delete g_sampler_cache;
g_sampler_cache = NULL;
delete g_texture_cache;
g_texture_cache = NULL;
ProgramShaderCache::Shutdown();