-void BufferCache::BindHostGraphicsUniformBuffer(size_t stage, u32 index, u32 binding_index,
- bool needs_bind) {
+void BufferCache
::BindHostGraphicsUniformBuffer(size_t stage, u32 index, u32 binding_index, bool needs_bind) {
+ ++channel_state->uniform_cache_shots[0];
const Binding& binding = channel_state->uniform_buffers[stage][index];
const DAddr device_addr = binding.device_addr;
const u32 size = (std::min)(binding.size, (*channel_state->uniform_buffer_sizes)[stage][index]);
@@ -823,12 +823,9 @@ void BufferCache
::BindHostGraphicsUniformBuffer(size_t stage, u32 index, u32
return;
}
// Classic cached path
- const bool sync_cached = SynchronizeBuffer(buffer, device_addr, size);
- if (sync_cached) {
+ if (SynchronizeBuffer(buffer, device_addr, size)) {
++channel_state->uniform_cache_hits[0];
}
- ++channel_state->uniform_cache_shots[0];
-
// Skip binding if it's not needed and if the bound buffer is not the fast version
// This exists to avoid instances where the fast buffer is bound and a GPU write happens
needs_bind |= HasFastUniformBufferBound(stage, binding_index);
diff --git a/src/video_core/renderer_vulkan/vk_descriptor_pool.cpp b/src/video_core/renderer_vulkan/vk_descriptor_pool.cpp
index 600003953d..3af9758a31 100644
--- a/src/video_core/renderer_vulkan/vk_descriptor_pool.cpp
+++ b/src/video_core/renderer_vulkan/vk_descriptor_pool.cpp
@@ -31,7 +31,7 @@ struct DescriptorBank {
bool DescriptorBankInfo::IsSuperset(const DescriptorBankInfo& subset) const noexcept {
return uniform_buffers >= subset.uniform_buffers && storage_buffers >= subset.storage_buffers &&
texture_buffers >= subset.texture_buffers && image_buffers >= subset.image_buffers &&
- textures >= subset.textures && images >= subset.image_buffers;
+ textures >= subset.textures && images >= subset.images;
}
template
diff --git a/src/yuzu/configuration/configure_audio.cpp b/src/yuzu/configuration/configure_audio.cpp
index a7ebae91f8..af81ef552e 100644
--- a/src/yuzu/configuration/configure_audio.cpp
+++ b/src/yuzu/configuration/configure_audio.cpp
@@ -270,10 +270,8 @@ void ConfigureAudio::UpdateAudioDevices(int sink_index) {
void ConfigureAudio::InitializeAudioSinkComboBox() {
sink_combo_box->clear();
sink_combo_box->addItem(QString::fromUtf8(AudioCore::Sink::auto_device_name));
-
- for (const auto& id : AudioCore::Sink::GetSinkIDs()) {
- sink_combo_box->addItem(QString::fromStdString(Settings::CanonicalizeEnum(id)));
- }
+ for (const auto& id : AudioCore::Sink::GetSinkIDs())
+ sink_combo_box->addItem(QString::fromStdString(std::string{Settings::CanonicalizeEnum(id)}));
}
void ConfigureAudio::RetranslateUI() {
diff --git a/src/yuzu/game_list.h b/src/yuzu/game_list.h
index 94e7b2dc42..cd71fb2139 100644
--- a/src/yuzu/game_list.h
+++ b/src/yuzu/game_list.h
@@ -58,11 +58,11 @@ class GameList : public QWidget {
public:
enum {
COLUMN_NAME,
- COLUMN_COMPATIBILITY,
- COLUMN_ADD_ONS,
COLUMN_FILE_TYPE,
COLUMN_SIZE,
COLUMN_PLAY_TIME,
+ COLUMN_ADD_ONS,
+ COLUMN_COMPATIBILITY,
COLUMN_COUNT, // Number of columns
};
diff --git a/src/yuzu/game_list_worker.cpp b/src/yuzu/game_list_worker.cpp
index 538c7ab822..2914c275a8 100644
--- a/src/yuzu/game_list_worker.cpp
+++ b/src/yuzu/game_list_worker.cpp
@@ -204,36 +204,24 @@ QList MakeGameListEntry(const std::string& path,
const PlayTime::PlayTimeManager& play_time_manager,
const FileSys::PatchManager& patch)
{
- const auto it = FindMatchingCompatibilityEntry(compatibility_list, program_id);
+ auto const it = FindMatchingCompatibilityEntry(compatibility_list, program_id);
+ // The game list uses 99 as compatibility number for untested games
+ QString compatibility = it != compatibility_list.end() ? it->second.first : QStringLiteral("99");
- // The game list uses this as compatibility number for untested games
- QString compatibility{QStringLiteral("99")};
- if (it != compatibility_list.end()) {
- compatibility = it->second.first;
- }
+ auto const file_type = loader.GetFileType();
+ auto const file_type_string = QString::fromStdString(Loader::GetFileTypeString(file_type));
- const auto file_type = loader.GetFileType();
- const auto file_type_string = QString::fromStdString(Loader::GetFileTypeString(file_type));
-
- QList list{
- new GameListItemPath(FormatGameName(path), icon, QString::fromStdString(name),
- file_type_string, program_id),
- new GameListItemCompat(compatibility),
+ QString patch_versions = GetGameListCachedObject(fmt::format("{:016X}", patch.GetTitleID()), "pv.txt", [&patch, &loader] {
+ return FormatPatchNameVersions(patch, loader, loader.IsRomFSUpdatable());
+ });
+ return QList{
+ new GameListItemPath(FormatGameName(path), icon, QString::fromStdString(name), file_type_string, program_id),
new GameListItem(file_type_string),
new GameListItemSize(size),
new GameListItemPlayTime(play_time_manager.GetPlayTime(program_id)),
+ new GameListItem(patch_versions),
+ new GameListItemCompat(compatibility),
};
-
- QString patch_versions;
-
- patch_versions = GetGameListCachedObject(
- fmt::format("{:016X}", patch.GetTitleID()), "pv.txt", [&patch, &loader] {
- return FormatPatchNameVersions(patch, loader, loader.IsRomFSUpdatable());
- });
-
- list.insert(2, new GameListItem(patch_versions));
-
- return list;
}
} // Anonymous namespace
diff --git a/src/yuzu/main.cpp b/src/yuzu/main.cpp
index 19162a4ab7..d2c12c9d40 100644
--- a/src/yuzu/main.cpp
+++ b/src/yuzu/main.cpp
@@ -35,7 +35,6 @@
#include "applets/qt_profile_select.h"
#include "applets/qt_software_keyboard.h"
#include "applets/qt_web_browser.h"
-#include "common/nvidia_flags.h"
#include "common/settings_enums.h"
#include "configuration/configure_input.h"
#include "configuration/configure_per_game.h"
@@ -4917,7 +4916,6 @@ int main(int argc, char* argv[]) {
#endif
Common::DetachedTasks detached_tasks;
- Common::ConfigureNvidiaEnvironmentFlags();
// Init settings params
QCoreApplication::setOrganizationName(QStringLiteral("eden"));
diff --git a/src/yuzu_cmd/yuzu.cpp b/src/yuzu_cmd/yuzu.cpp
index 599582aba9..4a99f34861 100644
--- a/src/yuzu_cmd/yuzu.cpp
+++ b/src/yuzu_cmd/yuzu.cpp
@@ -16,7 +16,6 @@
#include "common/detached_tasks.h"
#include "common/logging/backend.h"
#include "common/logging/log.h"
-#include "common/nvidia_flags.h"
#include "common/scm_rev.h"
#include "common/scope_exit.h"
#include "common/settings.h"
@@ -334,8 +333,6 @@ int main(int argc, char** argv) {
LocalFree(argv_w);
#endif
- Common::ConfigureNvidiaEnvironmentFlags();
-
if (filepath.empty()) {
LOG_CRITICAL(Frontend, "Failed to load ROM: No ROM specified");
return -1;
diff --git a/tools/optimize-assets.sh b/tools/optimize-assets.sh
new file mode 100755
index 0000000000..07facc8fa0
--- /dev/null
+++ b/tools/optimize-assets.sh
@@ -0,0 +1,6 @@
+#!/bin/sh -e
+# SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
+# SPDX-License-Identifier: GPL-3.0-or-later
+# Optimizes assets of eden (requires OptiPng)
+which optipng || exit
+find . -type f -name *.png -exec optipng -o7 {} \;
diff --git a/.ci/update-icons.sh b/tools/update-icons.sh
similarity index 95%
rename from .ci/update-icons.sh
rename to tools/update-icons.sh
index c95ba0ad82..da54156665 100755
--- a/.ci/update-icons.sh
+++ b/tools/update-icons.sh
@@ -1,8 +1,7 @@
#!/bin/sh -e
-
# SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
# SPDX-License-Identifier: GPL-3.0-or-later
-
+# Updates main icons for eden
which png2icns || [ which yay && yay libicns ] || exit
which magick || exit