summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorYuri Kunde Schlesner <yuriks@yuriks.net>2015-08-06 03:55:22 +0200
committerYuri Kunde Schlesner <yuriks@yuriks.net>2015-08-06 03:55:22 +0200
commitff68db61bc737327ae122586bedcaf2ce21619ea (patch)
tree72daac7672d1f8bcef4d686ed09544546202725d /src
parentMerge pull request #1018 from bbarenblat/master (diff)
downloadyuzu-ff68db61bc737327ae122586bedcaf2ce21619ea.tar
yuzu-ff68db61bc737327ae122586bedcaf2ce21619ea.tar.gz
yuzu-ff68db61bc737327ae122586bedcaf2ce21619ea.tar.bz2
yuzu-ff68db61bc737327ae122586bedcaf2ce21619ea.tar.lz
yuzu-ff68db61bc737327ae122586bedcaf2ce21619ea.tar.xz
yuzu-ff68db61bc737327ae122586bedcaf2ce21619ea.tar.zst
yuzu-ff68db61bc737327ae122586bedcaf2ce21619ea.zip
Diffstat (limited to 'src')
-rw-r--r--src/video_core/renderer_opengl/gl_rasterizer.cpp11
-rw-r--r--src/video_core/renderer_opengl/gl_state.cpp12
-rw-r--r--src/video_core/renderer_opengl/gl_state.h1
-rw-r--r--src/video_core/renderer_opengl/renderer_opengl.cpp5
4 files changed, 3 insertions, 26 deletions
diff --git a/src/video_core/renderer_opengl/gl_rasterizer.cpp b/src/video_core/renderer_opengl/gl_rasterizer.cpp
index 1fc4e56b1..e7c1cfeb7 100644
--- a/src/video_core/renderer_opengl/gl_rasterizer.cpp
+++ b/src/video_core/renderer_opengl/gl_rasterizer.cpp
@@ -99,7 +99,6 @@ void RasterizerOpenGL::InitObjects() {
fb_color_texture.texture.Create();
ReconfigureColorTexture(fb_color_texture, Pica::Regs::ColorFormat::RGBA8, 1, 1);
- state.texture_units[0].enabled_2d = true;
state.texture_units[0].texture_2d = fb_color_texture.texture.handle;
state.Apply();
@@ -115,7 +114,6 @@ void RasterizerOpenGL::InitObjects() {
fb_depth_texture.texture.Create();
ReconfigureDepthTexture(fb_depth_texture, Pica::Regs::DepthFormat::D16, 1, 1);
- state.texture_units[0].enabled_2d = true;
state.texture_units[0].texture_2d = fb_depth_texture.texture.handle;
state.Apply();
@@ -493,7 +491,6 @@ void RasterizerOpenGL::ReconfigureColorTexture(TextureInfo& texture, Pica::Regs:
break;
}
- state.texture_units[0].enabled_2d = true;
state.texture_units[0].texture_2d = texture.texture.handle;
state.Apply();
@@ -537,7 +534,6 @@ void RasterizerOpenGL::ReconfigureDepthTexture(DepthTextureInfo& texture, Pica::
break;
}
- state.texture_units[0].enabled_2d = true;
state.texture_units[0].texture_2d = texture.texture.handle;
state.Apply();
@@ -766,10 +762,9 @@ void RasterizerOpenGL::SyncDrawState() {
const auto& texture = pica_textures[texture_index];
if (texture.enabled) {
- state.texture_units[texture_index].enabled_2d = true;
res_cache.LoadAndBindTexture(state, texture_index, texture);
} else {
- state.texture_units[texture_index].enabled_2d = false;
+ state.texture_units[texture_index].texture_2d = 0;
}
}
@@ -804,7 +799,6 @@ void RasterizerOpenGL::ReloadColorBuffer() {
}
}
- state.texture_units[0].enabled_2d = true;
state.texture_units[0].texture_2d = fb_color_texture.texture.handle;
state.Apply();
@@ -862,7 +856,6 @@ void RasterizerOpenGL::ReloadDepthBuffer() {
}
}
- state.texture_units[0].enabled_2d = true;
state.texture_units[0].texture_2d = fb_depth_texture.texture.handle;
state.Apply();
@@ -887,7 +880,6 @@ void RasterizerOpenGL::CommitColorBuffer() {
std::unique_ptr<u8[]> temp_gl_color_buffer(new u8[fb_color_texture.width * fb_color_texture.height * bytes_per_pixel]);
- state.texture_units[0].enabled_2d = true;
state.texture_units[0].texture_2d = fb_color_texture.texture.handle;
state.Apply();
@@ -927,7 +919,6 @@ void RasterizerOpenGL::CommitDepthBuffer() {
std::unique_ptr<u8[]> temp_gl_depth_buffer(new u8[fb_depth_texture.width * fb_depth_texture.height * gl_bpp]);
- state.texture_units[0].enabled_2d = true;
state.texture_units[0].texture_2d = fb_depth_texture.texture.handle;
state.Apply();
diff --git a/src/video_core/renderer_opengl/gl_state.cpp b/src/video_core/renderer_opengl/gl_state.cpp
index 9efc15337..7ccf474e1 100644
--- a/src/video_core/renderer_opengl/gl_state.cpp
+++ b/src/video_core/renderer_opengl/gl_state.cpp
@@ -40,7 +40,6 @@ OpenGLState::OpenGLState() {
logic_op = GL_COPY;
for (auto& texture_unit : texture_units) {
- texture_unit.enabled_2d = false;
texture_unit.texture_2d = 0;
}
@@ -147,16 +146,9 @@ void OpenGLState::Apply() {
// Textures
for (unsigned texture_index = 0; texture_index < ARRAY_SIZE(texture_units); ++texture_index) {
- if (texture_units[texture_index].enabled_2d != cur_state.texture_units[texture_index].enabled_2d ||
- texture_units[texture_index].texture_2d != cur_state.texture_units[texture_index].texture_2d) {
-
+ if (texture_units[texture_index].texture_2d != cur_state.texture_units[texture_index].texture_2d) {
glActiveTexture(GL_TEXTURE0 + texture_index);
-
- if (texture_units[texture_index].enabled_2d) {
- glBindTexture(GL_TEXTURE_2D, texture_units[texture_index].texture_2d);
- } else {
- glBindTexture(GL_TEXTURE_2D, 0);
- }
+ glBindTexture(GL_TEXTURE_2D, texture_units[texture_index].texture_2d);
}
}
diff --git a/src/video_core/renderer_opengl/gl_state.h b/src/video_core/renderer_opengl/gl_state.h
index 26b916360..03b7e26f7 100644
--- a/src/video_core/renderer_opengl/gl_state.h
+++ b/src/video_core/renderer_opengl/gl_state.h
@@ -53,7 +53,6 @@ public:
// 3 texture units - one for each that is used in PICA fragment shader emulation
struct {
- bool enabled_2d; // GL_TEXTURE_2D
GLuint texture_2d; // GL_TEXTURE_BINDING_2D
} texture_units[3];
diff --git a/src/video_core/renderer_opengl/renderer_opengl.cpp b/src/video_core/renderer_opengl/renderer_opengl.cpp
index 96e12839a..79a940ff6 100644
--- a/src/video_core/renderer_opengl/renderer_opengl.cpp
+++ b/src/video_core/renderer_opengl/renderer_opengl.cpp
@@ -163,7 +163,6 @@ void RendererOpenGL::LoadFBToActiveGLTexture(const GPU::Regs::FramebufferConfig&
// only allows rows to have a memory alignement of 4.
ASSERT(pixel_stride % 4 == 0);
- state.texture_units[0].enabled_2d = true;
state.texture_units[0].texture_2d = texture.handle;
state.Apply();
@@ -191,7 +190,6 @@ void RendererOpenGL::LoadFBToActiveGLTexture(const GPU::Regs::FramebufferConfig&
*/
void RendererOpenGL::LoadColorToActiveGLTexture(u8 color_r, u8 color_g, u8 color_b,
const TextureInfo& texture) {
- state.texture_units[0].enabled_2d = true;
state.texture_units[0].texture_2d = texture.handle;
state.Apply();
@@ -239,7 +237,6 @@ void RendererOpenGL::InitOpenGLObjects() {
// Allocation of storage is deferred until the first frame, when we
// know the framebuffer size.
- state.texture_units[0].enabled_2d = true;
state.texture_units[0].texture_2d = texture.handle;
state.Apply();
@@ -305,7 +302,6 @@ void RendererOpenGL::ConfigureFramebufferTexture(TextureInfo& texture,
UNIMPLEMENTED();
}
- state.texture_units[0].enabled_2d = true;
state.texture_units[0].texture_2d = texture.handle;
state.Apply();
@@ -325,7 +321,6 @@ void RendererOpenGL::DrawSingleScreenRotated(const TextureInfo& texture, float x
ScreenRectVertex(x+w, y+h, 0.f, 1.f),
};
- state.texture_units[0].enabled_2d = true;
state.texture_units[0].texture_2d = texture.handle;
state.Apply();