make samplercache global and call constructor/destructor
This commit is contained in:
parent
4883fa268f
commit
9bc8d6e02b
|
@ -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 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 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)
|
int GetNumMSAASamples(int MSAAMode)
|
||||||
{
|
{
|
||||||
switch (MSAAMode)
|
switch (MSAAMode)
|
||||||
|
@ -374,8 +372,6 @@ void Renderer::Shutdown()
|
||||||
delete s_pfont;
|
delete s_pfont;
|
||||||
s_pfont = 0;
|
s_pfont = 0;
|
||||||
s_ShowEFBCopyRegions.Destroy();
|
s_ShowEFBCopyRegions.Destroy();
|
||||||
|
|
||||||
s_sampler_cache.Clear();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void Renderer::Init()
|
void Renderer::Init()
|
||||||
|
@ -1478,7 +1474,7 @@ void Renderer::SetSamplerState(int stage, int texindex)
|
||||||
auto const& tm0 = tex.texMode0[stage];
|
auto const& tm0 = tex.texMode0[stage];
|
||||||
auto const& tm1 = tex.texMode1[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()
|
void Renderer::SetInterlacingMode()
|
||||||
|
|
|
@ -20,6 +20,8 @@
|
||||||
namespace OGL
|
namespace OGL
|
||||||
{
|
{
|
||||||
|
|
||||||
|
SamplerCache *g_sampler_cache;
|
||||||
|
|
||||||
SamplerCache::SamplerCache()
|
SamplerCache::SamplerCache()
|
||||||
: m_last_max_anisotropy()
|
: m_last_max_anisotropy()
|
||||||
{}
|
{}
|
||||||
|
|
|
@ -73,6 +73,8 @@ private:
|
||||||
int m_last_max_anisotropy;
|
int m_last_max_anisotropy;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
extern SamplerCache *g_sampler_cache;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -91,6 +91,7 @@ Make AA apply instantly during gameplay if possible
|
||||||
#include "FramebufferManager.h"
|
#include "FramebufferManager.h"
|
||||||
#include "Core.h"
|
#include "Core.h"
|
||||||
#include "Host.h"
|
#include "Host.h"
|
||||||
|
#include "SamplerCache.h"
|
||||||
|
|
||||||
#include "VideoState.h"
|
#include "VideoState.h"
|
||||||
#include "VideoBackend.h"
|
#include "VideoBackend.h"
|
||||||
|
@ -195,7 +196,8 @@ void VideoBackend::Video_Prepare()
|
||||||
VertexShaderManager::Init();
|
VertexShaderManager::Init();
|
||||||
PixelShaderManager::Init();
|
PixelShaderManager::Init();
|
||||||
ProgramShaderCache::Init();
|
ProgramShaderCache::Init();
|
||||||
g_texture_cache = new TextureCache;
|
g_texture_cache = new TextureCache();
|
||||||
|
g_sampler_cache = new SamplerCache();
|
||||||
PostProcessing::Init();
|
PostProcessing::Init();
|
||||||
Renderer::Init();
|
Renderer::Init();
|
||||||
GL_REPORT_ERRORD();
|
GL_REPORT_ERRORD();
|
||||||
|
@ -229,6 +231,8 @@ void VideoBackend::Video_Cleanup() {
|
||||||
Renderer::Shutdown();
|
Renderer::Shutdown();
|
||||||
TextureConverter::Shutdown();
|
TextureConverter::Shutdown();
|
||||||
VertexLoaderManager::Shutdown();
|
VertexLoaderManager::Shutdown();
|
||||||
|
delete g_sampler_cache;
|
||||||
|
g_sampler_cache = NULL;
|
||||||
delete g_texture_cache;
|
delete g_texture_cache;
|
||||||
g_texture_cache = NULL;
|
g_texture_cache = NULL;
|
||||||
ProgramShaderCache::Shutdown();
|
ProgramShaderCache::Shutdown();
|
||||||
|
|
Loading…
Reference in New Issue