graphics: add experimental Pro mode and linear PSSR

Co-authored-by: Joshua Jayasingh <joshuajayasingh08@gmail.com>
This commit is contained in:
nmzikandJoshua Jayasingh committed 2026-10-29 07:55:50 +01:00
1 parent 5e837a9bea
commit 651ef73a03
30 files changed
+1340 -278

No files matched your search

+14
View File
@@ -2,6 +2,7 @@
#include "common/assert.h"
#include "common/common.h"
#include "common/emulatorConfig.h"
#include "common/file.h"
#include "common/logging/log.h"
#include "common/singleton.h"
@@ -90,6 +91,7 @@ private:
};
struct SystemContent {
bool trinity_mode = false;
std::filesystem::path psf_path;
Psf psf;
std::filesystem::path playgo_path;
@@ -603,6 +605,14 @@ void SystemContentLoadParamSfo(const std::filesystem::path& file_name) {
sc->psf_path = file_name;
sc->psf.DbgPrint();
int32_t attribute3 = 0;
const bool title_supports_trinity = sc->psf.GetParamInt("ATTRIBUTE3", &attribute3) &&
(static_cast<uint32_t>(attribute3) & (1u << 22u)) != 0;
sc->trinity_mode = Config::Ps5ProEnabled() && title_supports_trinity;
if (Config::Ps5ProEnabled()) {
Log::WriteToConsoleAndLog(fmt::format("[PS5] title Trinity support={}\n",
title_supports_trinity ? "yes" : "no"));
}
sc->icon_path = file_name.parent_path() / "icon0.png";
@@ -626,6 +636,10 @@ void SystemContentLoadParamSfo(const std::filesystem::path& file_name) {
}
}
bool SystemContentIsTrinityMode() {
return Common::Singleton<SystemContent>::Instance()->trinity_mode;
}
bool SystemContentParamSfoGetInt(const char* name, int32_t* value) {
if (name == nullptr || value == nullptr) {
return false;