diff options
author | bunnei <bunneidev@gmail.com> | 2018-09-14 18:11:37 +0200 |
---|---|---|
committer | bunnei <bunneidev@gmail.com> | 2018-09-30 20:31:57 +0200 |
commit | 871580dcd8433f2063693c69fe09b4abe6344ff0 (patch) | |
tree | 476bc4b4bcb152ac6ce3607b4f623e8aed68e5d5 /src/video_core/renderer_opengl/gl_rasterizer_cache.cpp | |
parent | gl_rasterizer_cache: Update BlitTextures to support non-Texture2D ColorTexture surfaces. (diff) | |
download | yuzu-871580dcd8433f2063693c69fe09b4abe6344ff0.tar yuzu-871580dcd8433f2063693c69fe09b4abe6344ff0.tar.gz yuzu-871580dcd8433f2063693c69fe09b4abe6344ff0.tar.bz2 yuzu-871580dcd8433f2063693c69fe09b4abe6344ff0.tar.lz yuzu-871580dcd8433f2063693c69fe09b4abe6344ff0.tar.xz yuzu-871580dcd8433f2063693c69fe09b4abe6344ff0.tar.zst yuzu-871580dcd8433f2063693c69fe09b4abe6344ff0.zip |
Diffstat (limited to '')
-rw-r--r-- | src/video_core/renderer_opengl/gl_rasterizer_cache.cpp | 8 |
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() { case SurfaceParams::SurfaceTarget::Texture2D: // Pass impl. to the fallback code below break; + case SurfaceParams::SurfaceTarget::Texture2DArray: + for (std::size_t index = 0; index < params.depth; ++index) { + const std::size_t offset{index * copy_size}; + morton_to_gl_fns[static_cast<std::size_t>(params.pixel_format)]( + params.width, params.block_height, params.height, gl_buffer.data() + offset, + copy_size, params.addr + offset); + } + break; default: LOG_CRITICAL(HW_GPU, "Unimplemented tiled load for target={}", static_cast<u32>(params.target)); |