From 7cffa5becf239d47a7f550193a74294e7056a03e Mon Sep 17 00:00:00 2001 From: Dmugetsu Date: Sun, 8 Jun 2025 16:51:47 -0600 Subject: [PATCH] suggestion and fix rebase --- src/video_core/texture_cache/tile_manager.cpp | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/video_core/texture_cache/tile_manager.cpp b/src/video_core/texture_cache/tile_manager.cpp index ff1402473..e526e2832 100644 --- a/src/video_core/texture_cache/tile_manager.cpp +++ b/src/video_core/texture_cache/tile_manager.cpp @@ -263,7 +263,7 @@ std::pair TileManager::TryDetile(vk::Buffer in_buffer, u32 in_o cmdbuf.pushDescriptorSetKHR(vk::PipelineBindPoint::eCompute, *detiler->pl_layout, 0, set_writes); -DetilerParams params{}; + DetilerParams params{}; std::memset(¶ms, 0, sizeof(params)); params.num_levels = std::min(15u, info.resources.levels); @@ -278,11 +278,11 @@ DetilerParams params{}; LOG_ERROR(Lib_Videodec, "Display tiling with multiple mip levels is not supported."); return {}; } - } else if (is_display_tiled) { - ASSERT(info.resources.levels == 1); - params.num_levels = 1; - const uint32_t tiles_per_row = info.pitch / 8u; - const uint32_t tiles_per_slice = (info.size.height + 7u) / 8u; + ASSERT(in_buffer != out_buffer.first); + + const auto tiles_per_row = info.pitch / 8u; + const auto tiles_per_slice = tiles_per_row * (Common::AlignUp(info.size.height, 8u) / 8u); + params.sizes[0] = tiles_per_row; params.sizes[1] = tiles_per_slice; @@ -315,7 +315,6 @@ DetilerParams params{}; image_size, aligned_image_size, info.num_bits, num_tiles); cmdbuf.dispatch(num_tiles, 1, 1); return std::make_pair(out_buffer.first, 0u); - return std::make_pair(out_buffer.first, 0u); } } // namespace VideoCore