summaryrefslogtreecommitdiffstats
path: root/src/video_core/renderer_opengl/gl_rasterizer.cpp
diff options
context:
space:
mode:
authorReinUsesLisp <reinuseslisp@airmail.cc>2019-01-07 03:02:27 +0100
committerReinUsesLisp <reinuseslisp@airmail.cc>2019-01-30 23:10:35 +0100
commit704744bb72972f99fa992e286b3de5967b48af37 (patch)
treed3e7f51187daf4bba5f93df6cb72503961d210d0 /src/video_core/renderer_opengl/gl_rasterizer.cpp
parentgl_state: Use DSA and multi bind to update texture bindings (diff)
downloadyuzu-704744bb72972f99fa992e286b3de5967b48af37.tar
yuzu-704744bb72972f99fa992e286b3de5967b48af37.tar.gz
yuzu-704744bb72972f99fa992e286b3de5967b48af37.tar.bz2
yuzu-704744bb72972f99fa992e286b3de5967b48af37.tar.lz
yuzu-704744bb72972f99fa992e286b3de5967b48af37.tar.xz
yuzu-704744bb72972f99fa992e286b3de5967b48af37.tar.zst
yuzu-704744bb72972f99fa992e286b3de5967b48af37.zip
Diffstat (limited to '')
-rw-r--r--src/video_core/renderer_opengl/gl_rasterizer.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/video_core/renderer_opengl/gl_rasterizer.cpp b/src/video_core/renderer_opengl/gl_rasterizer.cpp
index ee313cb2f..79d16d1f3 100644
--- a/src/video_core/renderer_opengl/gl_rasterizer.cpp
+++ b/src/video_core/renderer_opengl/gl_rasterizer.cpp
@@ -1022,11 +1022,11 @@ void RasterizerOpenGL::SetupTextures(Maxwell::ShaderStage stage, const Shader& s
if (surface != nullptr) {
unit.texture =
entry.IsArray() ? surface->TextureLayer().handle : surface->Texture().handle;
- unit.target = entry.IsArray() ? surface->TargetLayer() : surface->Target();
- unit.swizzle.r = MaxwellToGL::SwizzleSource(texture.tic.x_source);
- unit.swizzle.g = MaxwellToGL::SwizzleSource(texture.tic.y_source);
- unit.swizzle.b = MaxwellToGL::SwizzleSource(texture.tic.z_source);
- unit.swizzle.a = MaxwellToGL::SwizzleSource(texture.tic.w_source);
+ const GLenum target = entry.IsArray() ? surface->TargetLayer() : surface->Target();
+ surface->UpdateSwizzle(texture.tic.x_source, texture.tic.y_source, texture.tic.z_source,
+ texture.tic.w_source);
+ unit.texture = handle;
+ unit.target = target;
} else {
// Can occur when texture addr is null or its memory is unmapped/invalid
unit.texture = 0;