summaryrefslogtreecommitdiff
path: root/Source/Core/VideoBackends/OGL/Render.cpp
diff options
context:
space:
mode:
authorScott Mansell <phiren@gmail.com>2016-03-26 03:14:39 +1300
committerScott Mansell <phiren@gmail.com>2016-03-26 03:14:39 +1300
commit066b6b0bcbac1ed1f9534277498a4965759f9300 (patch)
tree790831550f391873af417e13d6f02aff1b9cca22 /Source/Core/VideoBackends/OGL/Render.cpp
parent3ff56aa192f952cb6ad2e9c662d4a368efd21e6f (diff)
OpenGL: Cache query to max texture size.
This showed up really high when I was profiling things.
Diffstat (limited to 'Source/Core/VideoBackends/OGL/Render.cpp')
-rw-r--r--Source/Core/VideoBackends/OGL/Render.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/Source/Core/VideoBackends/OGL/Render.cpp b/Source/Core/VideoBackends/OGL/Render.cpp
index e80ca40ab5..0960bbd5f7 100644
--- a/Source/Core/VideoBackends/OGL/Render.cpp
+++ b/Source/Core/VideoBackends/OGL/Render.cpp
@@ -52,6 +52,7 @@ void VideoConfig::UpdateProjectionHack()
}
static int OSDInternalW, OSDInternalH;
+static int s_max_texture_size;
namespace OGL
{
@@ -710,6 +711,9 @@ void Renderer::Init()
s_raster_font = std::make_unique<RasterFont>();
OpenGL_CreateAttributelessVAO();
+
+ // Cache this, because if you do this multiple times a frame, it shows up really high on a profile.
+ glGetIntegerv(GL_MAX_TEXTURE_SIZE, &s_max_texture_size);
}
void Renderer::RenderText(const std::string& text, int left, int top, u32 color)
@@ -1693,9 +1697,7 @@ bool Renderer::SaveScreenshot(const std::string &filename, const TargetRectangle
int Renderer::GetMaxTextureSize()
{
- int max_size;
- glGetIntegerv(GL_MAX_TEXTURE_SIZE, &max_size);
- return max_size;
+ return s_max_texture_size;
}
}