summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar bunnei2018-09-14 12:11:37 -0400
committerGravatar bunnei2018-09-30 14:31:57 -0400
commit871580dcd8433f2063693c69fe09b4abe6344ff0 (patch)
tree476bc4b4bcb152ac6ce3607b4f623e8aed68e5d5
parentgl_rasterizer_cache: Update BlitTextures to support non-Texture2D ColorTextur... (diff)
downloadyuzu-871580dcd8433f2063693c69fe09b4abe6344ff0.tar.gz
yuzu-871580dcd8433f2063693c69fe09b4abe6344ff0.tar.xz
yuzu-871580dcd8433f2063693c69fe09b4abe6344ff0.zip
gl_rasterizer_cache: Implement LoadGLBuffer for Texture2DArray.
-rw-r--r--src/video_core/renderer_opengl/gl_rasterizer_cache.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/video_core/renderer_opengl/gl_rasterizer_cache.cpp b/src/video_core/renderer_opengl/gl_rasterizer_cache.cpp
index 57af6cdd1..022561d43 100644
--- a/src/video_core/renderer_opengl/gl_rasterizer_cache.cpp
+++ b/src/video_core/renderer_opengl/gl_rasterizer_cache.cpp
@@ -679,6 +679,14 @@ void CachedSurface::LoadGLBuffer() {
679 case SurfaceParams::SurfaceTarget::Texture2D: 679 case SurfaceParams::SurfaceTarget::Texture2D:
680 // Pass impl. to the fallback code below 680 // Pass impl. to the fallback code below
681 break; 681 break;
682 case SurfaceParams::SurfaceTarget::Texture2DArray:
683 for (std::size_t index = 0; index < params.depth; ++index) {
684 const std::size_t offset{index * copy_size};
685 morton_to_gl_fns[static_cast<std::size_t>(params.pixel_format)](
686 params.width, params.block_height, params.height, gl_buffer.data() + offset,
687 copy_size, params.addr + offset);
688 }
689 break;
682 default: 690 default:
683 LOG_CRITICAL(HW_GPU, "Unimplemented tiled load for target={}", 691 LOG_CRITICAL(HW_GPU, "Unimplemented tiled load for target={}",
684 static_cast<u32>(params.target)); 692 static_cast<u32>(params.target));