summaryrefslogtreecommitdiffstats
path: root/src/video_core/renderer_opengl/gl_rasterizer.cpp
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2019-01-02 23:51:32 +0100
committerGitHub <noreply@github.com>2019-01-02 23:51:32 +0100
commitc91d2bac4556502336b7f40a8de971b8b157af22 (patch)
tree8888bb11519f5c8e3fd9f5b607d3991d180962e2 /src/video_core/renderer_opengl/gl_rasterizer.cpp
parentMerge pull request #1944 from FearlessTobi/port-4187 (diff)
parentgl_rasterizer_cache: Texture view if shader samples array but OGL is not (diff)
downloadyuzu-c91d2bac4556502336b7f40a8de971b8b157af22.tar
yuzu-c91d2bac4556502336b7f40a8de971b8b157af22.tar.gz
yuzu-c91d2bac4556502336b7f40a8de971b8b157af22.tar.bz2
yuzu-c91d2bac4556502336b7f40a8de971b8b157af22.tar.lz
yuzu-c91d2bac4556502336b7f40a8de971b8b157af22.tar.xz
yuzu-c91d2bac4556502336b7f40a8de971b8b157af22.tar.zst
yuzu-c91d2bac4556502336b7f40a8de971b8b157af22.zip
Diffstat (limited to 'src/video_core/renderer_opengl/gl_rasterizer.cpp')
-rw-r--r--src/video_core/renderer_opengl/gl_rasterizer.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/video_core/renderer_opengl/gl_rasterizer.cpp b/src/video_core/renderer_opengl/gl_rasterizer.cpp
index 2b29fc45f..089daf96f 100644
--- a/src/video_core/renderer_opengl/gl_rasterizer.cpp
+++ b/src/video_core/renderer_opengl/gl_rasterizer.cpp
@@ -1014,8 +1014,11 @@ u32 RasterizerOpenGL::SetupTextures(Maxwell::ShaderStage stage, Shader& shader,
texture_samplers[current_bindpoint].SyncWithConfig(texture.tsc);
Surface surface = res_cache.GetTextureSurface(texture, entry);
if (surface != nullptr) {
- state.texture_units[current_bindpoint].texture = surface->Texture().handle;
- state.texture_units[current_bindpoint].target = surface->Target();
+ const GLuint handle =
+ entry.IsArray() ? surface->TextureLayer().handle : surface->Texture().handle;
+ const GLenum target = entry.IsArray() ? surface->TargetLayer() : surface->Target();
+ state.texture_units[current_bindpoint].texture = handle;
+ state.texture_units[current_bindpoint].target = target;
state.texture_units[current_bindpoint].swizzle.r =
MaxwellToGL::SwizzleSource(texture.tic.x_source);
state.texture_units[current_bindpoint].swizzle.g =