diff options
author | bunnei <bunneidev@gmail.com> | 2019-01-30 04:27:08 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-01-30 04:27:08 +0100 |
commit | 3c3d9afd61f7f8b699befc6c6c50e51a28a7a4de (patch) | |
tree | 070717665992f33e27d9f6531bb01c0a24569e60 /src/video_core/renderer_opengl/gl_rasterizer_cache.cpp | |
parent | Merge pull request #2069 from lioncash/vi (diff) | |
parent | gl_shader_cache: Fix texture view for cubemaps as cubemap arrays (diff) | |
download | yuzu-3c3d9afd61f7f8b699befc6c6c50e51a28a7a4de.tar yuzu-3c3d9afd61f7f8b699befc6c6c50e51a28a7a4de.tar.gz yuzu-3c3d9afd61f7f8b699befc6c6c50e51a28a7a4de.tar.bz2 yuzu-3c3d9afd61f7f8b699befc6c6c50e51a28a7a4de.tar.lz yuzu-3c3d9afd61f7f8b699befc6c6c50e51a28a7a4de.tar.xz yuzu-3c3d9afd61f7f8b699befc6c6c50e51a28a7a4de.tar.zst yuzu-3c3d9afd61f7f8b699befc6c6c50e51a28a7a4de.zip |
Diffstat (limited to 'src/video_core/renderer_opengl/gl_rasterizer_cache.cpp')
-rw-r--r-- | src/video_core/renderer_opengl/gl_rasterizer_cache.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/video_core/renderer_opengl/gl_rasterizer_cache.cpp b/src/video_core/renderer_opengl/gl_rasterizer_cache.cpp index a05b8b936..c44e2aca2 100644 --- a/src/video_core/renderer_opengl/gl_rasterizer_cache.cpp +++ b/src/video_core/renderer_opengl/gl_rasterizer_cache.cpp @@ -167,6 +167,7 @@ std::size_t SurfaceParams::InnerMemorySize(bool force_gl, bool layer_only, } params.is_layered = SurfaceTargetIsLayered(params.target); + params.is_array = SurfaceTargetIsArray(params.target); params.max_mip_level = config.tic.max_mip_level + 1; params.rt = {}; @@ -877,10 +878,13 @@ void CachedSurface::EnsureTextureView() { UNIMPLEMENTED_IF(gl_is_compressed); const GLenum target{TargetLayer()}; + const GLuint num_layers{target == GL_TEXTURE_CUBE_MAP_ARRAY ? 6u : 1u}; + constexpr GLuint min_layer = 0; + constexpr GLuint min_level = 0; texture_view.Create(); - glTextureView(texture_view.handle, target, texture.handle, gl_internal_format, 0, - params.max_mip_level, 0, 1); + glTextureView(texture_view.handle, target, texture.handle, gl_internal_format, min_level, + params.max_mip_level, min_layer, num_layers); OpenGLState cur_state = OpenGLState::GetCurState(); const auto& old_tex = cur_state.texture_units[0]; |