gl_rasterizer_cache: Implement LoadGLBuffer for Texture2DArray.

This commit is contained in:
bunnei 2018-09-14 12:11:37 -04:00
parent a9aa1db552
commit 871580dcd8

View file

@ -679,6 +679,14 @@ void CachedSurface::LoadGLBuffer() {
case SurfaceParams::SurfaceTarget::Texture2D: case SurfaceParams::SurfaceTarget::Texture2D:
// Pass impl. to the fallback code below // Pass impl. to the fallback code below
break; 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: default:
LOG_CRITICAL(HW_GPU, "Unimplemented tiled load for target={}", LOG_CRITICAL(HW_GPU, "Unimplemented tiled load for target={}",
static_cast<u32>(params.target)); static_cast<u32>(params.target));