diff options
| author | Ryan Houdek <Sonicadvance1@gmail.com> | 2013-11-13 16:17:42 -0600 |
|---|---|---|
| committer | Ryan Houdek <Sonicadvance1@gmail.com> | 2013-11-13 16:17:42 -0600 |
| commit | 2a23bdde6f76c0bff0906bbbee298480b52ba0c2 (patch) | |
| tree | 22a7bccfb1cb25d4c9f247ca3d43904a4a6d79dc /Source/Core/VideoBackends/OGL/Src/TextureCache.cpp | |
| parent | 3c7613fc83981f9ef8efa2e4ac478af9fe23bdec (diff) | |
| parent | 63a9dff3bb8c88cdc5b941db1f3813843c7a8564 (diff) | |
Merge branch 'master' into android-new-control-input-overlay
Conflicts:
Source/Core/DolphinWX/Src/Android/ButtonManager.h
Diffstat (limited to 'Source/Core/VideoBackends/OGL/Src/TextureCache.cpp')
| -rw-r--r-- | Source/Core/VideoBackends/OGL/Src/TextureCache.cpp | 41 |
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(); } |
