|
|
|
@ -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));
|
|
|
|
|