summaryrefslogtreecommitdiff
path: root/Source/Core/VideoBackends/OGL/Src/TextureCache.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Core/VideoBackends/OGL/Src/TextureCache.cpp')
-rw-r--r--Source/Core/VideoBackends/OGL/Src/TextureCache.cpp41
1 files changed, 19 insertions, 22 deletions
diff --git a/Source/Core/VideoBackends/OGL/Src/TextureCache.cpp b/Source/Core/VideoBackends/OGL/Src/TextureCache.cpp
index c3349f5f2c..41c52ec724 100644
--- a/Source/Core/VideoBackends/OGL/Src/TextureCache.cpp
+++ b/Source/Core/VideoBackends/OGL/Src/TextureCache.cpp
@@ -30,14 +30,12 @@
#include "ImageWrite.h"
#include "MemoryUtil.h"
#include "ProgramShaderCache.h"
-#include "PixelShaderManager.h"
#include "Render.h"
#include "Statistics.h"
#include "StringUtil.h"
#include "TextureCache.h"
#include "TextureConverter.h"
#include "TextureDecoder.h"
-#include "VertexShaderManager.h"
#include "VideoConfig.h"
namespace OGL
@@ -90,9 +88,9 @@ TextureCache::TCacheEntry::~TCacheEntry()
{
if (texture)
{
- for(int i=0; i<8; i++)
- if(s_Textures[i] == texture)
- s_Textures[i] = 0;
+ for(auto& gtex : s_Textures)
+ if(gtex == texture)
+ gtex = 0;
glDeleteTextures(1, &texture);
texture = 0;
}
@@ -121,7 +119,7 @@ void TextureCache::TCacheEntry::Bind(unsigned int stage)
glActiveTexture(GL_TEXTURE0 + stage);
s_ActiveTexture = stage;
}
-
+
glBindTexture(GL_TEXTURE_2D, texture);
s_Textures[stage] = texture;
}
@@ -150,7 +148,7 @@ TextureCache::TCacheEntryBase* TextureCache::CreateTexture(unsigned int width,
{
default:
case PC_TEX_FMT_NONE:
- PanicAlert("Invalid PC texture format %i", pcfmt);
+ PanicAlert("Invalid PC texture format %i", pcfmt);
case PC_TEX_FMT_BGRA32:
gl_format = GL_BGRA;
gl_iformat = GL_RGBA;
@@ -202,7 +200,7 @@ TextureCache::TCacheEntryBase* TextureCache::CreateTexture(unsigned int width,
entry.pcfmt = pcfmt;
entry.m_tex_levels = tex_levels;
-
+
entry.Load(width, height, expanded_width, 0);
return &entry;
@@ -266,7 +264,7 @@ TextureCache::TCacheEntryBase* TextureCache::CreateRenderTargetTexture(
glTexImage2D(GL_TEXTURE_2D, 0, gl_iformat, scaled_tex_w, scaled_tex_h, 0, gl_format, gl_type, NULL);
glBindTexture(GL_TEXTURE_2D, 0);
-
+
glGenFramebuffers(1, &entry->framebuffer);
FramebufferManager::SetFramebuffer(entry->framebuffer);
glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, entry->texture, 0);
@@ -357,7 +355,7 @@ void TextureCache::TCacheEntry::FromRenderTarget(u32 dstAddr, unsigned int dstFo
glBindBuffer(GL_ARRAY_BUFFER, vbo_it->second.vbo);
glBufferData(GL_ARRAY_BUFFER, 4*4*sizeof(GLfloat), vertices, GL_STREAM_DRAW);
-
+
vbo_it->second.targetSource = targetSource;
}
@@ -372,10 +370,10 @@ void TextureCache::TCacheEntry::FromRenderTarget(u32 dstAddr, unsigned int dstFo
int encoded_size = TextureConverter::EncodeToRamFromTexture(
addr,
read_texture,
- srcFormat == PIXELFMT_Z24,
- isIntensity,
- dstFormat,
- scaleByHalf,
+ srcFormat == PIXELFMT_Z24,
+ isIntensity,
+ dstFormat,
+ scaleByHalf,
srcRect);
u8* dst = Memory::GetPointer(addr);
@@ -391,7 +389,6 @@ void TextureCache::TCacheEntry::FromRenderTarget(u32 dstAddr, unsigned int dstFo
}
FramebufferManager::SetFramebuffer(0);
- VertexShaderManager::SetViewportChanged();
GL_REPORT_ERRORD();
@@ -407,7 +404,7 @@ void TextureCache::TCacheEntry::FromRenderTarget(u32 dstAddr, unsigned int dstFo
TextureCache::TextureCache()
{
- const char *pColorMatrixProg =
+ const char *pColorMatrixProg =
"uniform sampler2DRect samp9;\n"
"uniform vec4 colmat[7];\n"
"VARYIN vec2 uv0;\n"
@@ -452,8 +449,8 @@ TextureCache::TextureCache()
s_ActiveTexture = -1;
s_NextStage = -1;
- for(int i=0; i<8; i++)
- s_Textures[i] = -1;
+ for(auto& gtex : s_Textures)
+ gtex = -1;
}
@@ -461,10 +458,10 @@ TextureCache::~TextureCache()
{
s_ColorMatrixProgram.Destroy();
s_DepthMatrixProgram.Destroy();
-
- for(std::map<u64, VBOCache>::iterator it = s_VBO.begin(); it != s_VBO.end(); it++) {
- glDeleteBuffers(1, &it->second.vbo);
- glDeleteVertexArrays(1, &it->second.vao);
+
+ for(auto& cache : s_VBO) {
+ glDeleteBuffers(1, &cache.second.vbo);
+ glDeleteVertexArrays(1, &cache.second.vao);
}
s_VBO.clear();
}