diff options
Diffstat (limited to 'src/yuzu')
-rw-r--r-- | src/yuzu/debugger/graphics/graphics_surface.cpp | 6 | ||||
-rw-r--r-- | src/yuzu/game_list_p.h | 25 |
2 files changed, 16 insertions, 15 deletions
diff --git a/src/yuzu/debugger/graphics/graphics_surface.cpp b/src/yuzu/debugger/graphics/graphics_surface.cpp index 3f7103ab9..e037223c2 100644 --- a/src/yuzu/debugger/graphics/graphics_surface.cpp +++ b/src/yuzu/debugger/graphics/graphics_surface.cpp @@ -383,8 +383,10 @@ void GraphicsSurfaceWidget::OnUpdate() { QImage decoded_image(surface_width, surface_height, QImage::Format_ARGB32); boost::optional<VAddr> address = gpu.memory_manager->GpuToCpuAddress(surface_address); - auto unswizzled_data = - Tegra::Texture::UnswizzleTexture(*address, surface_format, surface_width, surface_height); + // TODO(bunnei): Will not work with BCn formats that swizzle 4x4 tiles. + // Needs to be fixed if we plan to use this feature more, otherwise we may remove it. + auto unswizzled_data = Tegra::Texture::UnswizzleTexture( + *address, 1, Tegra::Texture::BytesPerPixel(surface_format), surface_width, surface_height); auto texture_data = Tegra::Texture::DecodeTexture(unswizzled_data, surface_format, surface_width, surface_height); diff --git a/src/yuzu/game_list_p.h b/src/yuzu/game_list_p.h index 114a0fc7f..8fe5e8b80 100644 --- a/src/yuzu/game_list_p.h +++ b/src/yuzu/game_list_p.h @@ -4,6 +4,7 @@ #pragma once +#include <array> #include <atomic> #include <utility> #include <QImage> @@ -39,7 +40,6 @@ public: * If this class receives valid SMDH data, it will also display game icons and titles. */ class GameListItemPath : public GameListItem { - public: static const int FullPathRole = Qt::UserRole + 1; static const int TitleRole = Qt::UserRole + 2; @@ -48,18 +48,18 @@ public: GameListItemPath() = default; GameListItemPath(const QString& game_path, const std::vector<u8>& picture_data, - const QString& game_name, const QString& game_type, u64 program_id) - : GameListItem() { + const QString& game_name, const QString& game_type, u64 program_id) { setData(game_path, FullPathRole); setData(game_name, TitleRole); setData(qulonglong(program_id), ProgramIdRole); setData(game_type, FileTypeRole); + const u32 size = UISettings::values.icon_size; + QPixmap picture; - u32 size = UISettings::values.icon_size; - if (!picture.loadFromData(picture_data.data(), picture_data.size())) + if (!picture.loadFromData(picture_data.data(), static_cast<u32>(picture_data.size()))) { picture = GetDefaultIcon(size); - + } picture = picture.scaled(size, size); setData(picture, Qt::DecorationRole); @@ -70,17 +70,16 @@ public: std::string filename; Common::SplitPath(data(FullPathRole).toString().toStdString(), nullptr, &filename, nullptr); - QString title = data(TitleRole).toString(); - std::vector<QString> row_data{ + const std::array<QString, 4> row_data{{ QString::fromStdString(filename), data(FileTypeRole).toString(), QString::fromStdString(fmt::format("0x{:016X}", data(ProgramIdRole).toULongLong())), data(TitleRole).toString(), - }; + }}; - auto row1 = row_data.at(UISettings::values.row_1_text_id); - auto row2 = row_data.at(UISettings::values.row_2_text_id); + const auto& row1 = row_data.at(UISettings::values.row_1_text_id); + const auto& row2 = row_data.at(UISettings::values.row_2_text_id); if (row1.isEmpty() || row1 == row2) return row2; @@ -88,9 +87,9 @@ public: return row1; return row1 + "\n " + row2; - } else { - return GameListItem::data(role); } + + return GameListItem::data(role); } }; |