mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-02-15 16:59:18 +01:00
Merge pull request #10370 from leoetlino/siof
Fix static initialisation order fiasco issue for Version variables
This commit is contained in:
commit
e8bbfc26fe
@ -299,13 +299,13 @@ JNIEXPORT double JNICALL Java_org_dolphinemu_dolphinemu_NativeLibrary_GetInputRa
|
|||||||
JNIEXPORT jstring JNICALL Java_org_dolphinemu_dolphinemu_NativeLibrary_GetVersionString(JNIEnv* env,
|
JNIEXPORT jstring JNICALL Java_org_dolphinemu_dolphinemu_NativeLibrary_GetVersionString(JNIEnv* env,
|
||||||
jclass)
|
jclass)
|
||||||
{
|
{
|
||||||
return ToJString(env, Common::scm_rev_str);
|
return ToJString(env, Common::GetScmRevStr());
|
||||||
}
|
}
|
||||||
|
|
||||||
JNIEXPORT jstring JNICALL Java_org_dolphinemu_dolphinemu_NativeLibrary_GetGitRevision(JNIEnv* env,
|
JNIEXPORT jstring JNICALL Java_org_dolphinemu_dolphinemu_NativeLibrary_GetGitRevision(JNIEnv* env,
|
||||||
jclass)
|
jclass)
|
||||||
{
|
{
|
||||||
return ToJString(env, Common::scm_rev_git_str);
|
return ToJString(env, Common::GetScmRevGitStr());
|
||||||
}
|
}
|
||||||
|
|
||||||
JNIEXPORT void JNICALL Java_org_dolphinemu_dolphinemu_NativeLibrary_SaveScreenShot(JNIEnv*, jclass)
|
JNIEXPORT void JNICALL Java_org_dolphinemu_dolphinemu_NativeLibrary_SaveScreenShot(JNIEnv*, jclass)
|
||||||
|
@ -149,8 +149,8 @@ private:
|
|||||||
{
|
{
|
||||||
// Null-terminator is intentionally not copied.
|
// Null-terminator is intentionally not copied.
|
||||||
std::memcpy(&id, "DCAC", sizeof(u32));
|
std::memcpy(&id, "DCAC", sizeof(u32));
|
||||||
std::memcpy(ver, Common::scm_rev_git_str.c_str(),
|
std::memcpy(ver, Common::GetScmRevGitStr().c_str(),
|
||||||
std::min(Common::scm_rev_git_str.size(), sizeof(ver)));
|
std::min(Common::GetScmRevGitStr().size(), sizeof(ver)));
|
||||||
}
|
}
|
||||||
|
|
||||||
u32 id = 0;
|
u32 id = 0;
|
||||||
|
@ -17,7 +17,9 @@ namespace Common
|
|||||||
#define BUILD_TYPE_STR ""
|
#define BUILD_TYPE_STR ""
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
const std::string scm_rev_str = "Dolphin "
|
const std::string& GetScmRevStr()
|
||||||
|
{
|
||||||
|
static const std::string scm_rev_str = "Dolphin "
|
||||||
#if !SCM_IS_MASTER
|
#if !SCM_IS_MASTER
|
||||||
"[" SCM_BRANCH_STR "] "
|
"[" SCM_BRANCH_STR "] "
|
||||||
#endif
|
#endif
|
||||||
@ -27,18 +29,49 @@ const std::string scm_rev_str = "Dolphin "
|
|||||||
#else
|
#else
|
||||||
BUILD_TYPE_STR SCM_DESC_STR;
|
BUILD_TYPE_STR SCM_DESC_STR;
|
||||||
#endif
|
#endif
|
||||||
|
return scm_rev_str;
|
||||||
|
}
|
||||||
|
|
||||||
const std::string scm_rev_git_str = SCM_REV_STR;
|
const std::string& GetScmRevGitStr()
|
||||||
const std::string scm_desc_str = SCM_DESC_STR;
|
{
|
||||||
const std::string scm_branch_str = SCM_BRANCH_STR;
|
static const std::string scm_rev_git_str = SCM_REV_STR;
|
||||||
const std::string scm_distributor_str = SCM_DISTRIBUTOR_STR;
|
return scm_rev_git_str;
|
||||||
const std::string scm_update_track_str = SCM_UPDATE_TRACK_STR;
|
}
|
||||||
|
|
||||||
|
const std::string& GetScmDescStr()
|
||||||
|
{
|
||||||
|
static const std::string scm_desc_str = SCM_DESC_STR;
|
||||||
|
return scm_desc_str;
|
||||||
|
}
|
||||||
|
|
||||||
|
const std::string& GetScmBranchStr()
|
||||||
|
{
|
||||||
|
static const std::string scm_branch_str = SCM_BRANCH_STR;
|
||||||
|
return scm_branch_str;
|
||||||
|
}
|
||||||
|
|
||||||
|
const std::string& GetScmDistributorStr()
|
||||||
|
{
|
||||||
|
static const std::string scm_distributor_str = SCM_DISTRIBUTOR_STR;
|
||||||
|
return scm_distributor_str;
|
||||||
|
}
|
||||||
|
|
||||||
|
const std::string& GetScmUpdateTrackStr()
|
||||||
|
{
|
||||||
|
static const std::string scm_update_track_str = SCM_UPDATE_TRACK_STR;
|
||||||
|
return scm_update_track_str;
|
||||||
|
}
|
||||||
|
|
||||||
|
const std::string& GetNetplayDolphinVer()
|
||||||
|
{
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
const std::string netplay_dolphin_ver = SCM_DESC_STR " Win";
|
static const std::string netplay_dolphin_ver = SCM_DESC_STR " Win";
|
||||||
#elif __APPLE__
|
#elif __APPLE__
|
||||||
const std::string netplay_dolphin_ver = SCM_DESC_STR " Mac";
|
static const std::string netplay_dolphin_ver = SCM_DESC_STR " Mac";
|
||||||
#else
|
#else
|
||||||
const std::string netplay_dolphin_ver = SCM_DESC_STR " Lin";
|
static const std::string netplay_dolphin_ver = SCM_DESC_STR " Lin";
|
||||||
#endif
|
#endif
|
||||||
|
return netplay_dolphin_ver;
|
||||||
|
}
|
||||||
|
|
||||||
} // namespace Common
|
} // namespace Common
|
||||||
|
@ -7,12 +7,11 @@
|
|||||||
|
|
||||||
namespace Common
|
namespace Common
|
||||||
{
|
{
|
||||||
// Git version number
|
const std::string& GetScmDescStr();
|
||||||
extern const std::string scm_desc_str;
|
const std::string& GetScmBranchStr();
|
||||||
extern const std::string scm_branch_str;
|
const std::string& GetScmRevStr();
|
||||||
extern const std::string scm_rev_str;
|
const std::string& GetScmRevGitStr();
|
||||||
extern const std::string scm_rev_git_str;
|
const std::string& GetScmDistributorStr();
|
||||||
extern const std::string scm_distributor_str;
|
const std::string& GetScmUpdateTrackStr();
|
||||||
extern const std::string scm_update_track_str;
|
const std::string& GetNetplayDolphinVer();
|
||||||
extern const std::string netplay_dolphin_ver;
|
|
||||||
} // namespace Common
|
} // namespace Common
|
||||||
|
@ -381,7 +381,7 @@ const Info<bool> MAIN_FIFOPLAYER_EARLY_MEMORY_UPDATES{
|
|||||||
// Main.AutoUpdate
|
// Main.AutoUpdate
|
||||||
|
|
||||||
const Info<std::string> MAIN_AUTOUPDATE_UPDATE_TRACK{{System::Main, "AutoUpdate", "UpdateTrack"},
|
const Info<std::string> MAIN_AUTOUPDATE_UPDATE_TRACK{{System::Main, "AutoUpdate", "UpdateTrack"},
|
||||||
Common::scm_update_track_str};
|
Common::GetScmUpdateTrackStr()};
|
||||||
const Info<std::string> MAIN_AUTOUPDATE_HASH_OVERRIDE{{System::Main, "AutoUpdate", "HashOverride"},
|
const Info<std::string> MAIN_AUTOUPDATE_HASH_OVERRIDE{{System::Main, "AutoUpdate", "HashOverride"},
|
||||||
""};
|
""};
|
||||||
|
|
||||||
|
@ -982,7 +982,7 @@ void UpdateTitle(u32 ElapseTime)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string message = fmt::format("{} | {} | {}", Common::scm_rev_str, SSettings, SFPS);
|
std::string message = fmt::format("{} | {} | {}", Common::GetScmRevStr(), SSettings, SFPS);
|
||||||
if (Config::Get(Config::MAIN_SHOW_ACTIVE_TITLE))
|
if (Config::Get(Config::MAIN_SHOW_ACTIVE_TITLE))
|
||||||
{
|
{
|
||||||
const std::string& title = SConfig::GetInstance().GetTitleDescription();
|
const std::string& title = SConfig::GetInstance().GetTitleDescription();
|
||||||
|
@ -248,10 +248,10 @@ void DolphinAnalytics::MakeBaseBuilder()
|
|||||||
Common::AnalyticsReportBuilder builder;
|
Common::AnalyticsReportBuilder builder;
|
||||||
|
|
||||||
// Version information.
|
// Version information.
|
||||||
builder.AddData("version-desc", Common::scm_desc_str);
|
builder.AddData("version-desc", Common::GetScmDescStr());
|
||||||
builder.AddData("version-hash", Common::scm_rev_git_str);
|
builder.AddData("version-hash", Common::GetScmRevGitStr());
|
||||||
builder.AddData("version-branch", Common::scm_branch_str);
|
builder.AddData("version-branch", Common::GetScmBranchStr());
|
||||||
builder.AddData("version-dist", Common::scm_distributor_str);
|
builder.AddData("version-dist", Common::GetScmDistributorStr());
|
||||||
|
|
||||||
// Auto-Update information.
|
// Auto-Update information.
|
||||||
builder.AddData("update-track", Config::Get(Config::MAIN_AUTOUPDATE_UPDATE_TRACK));
|
builder.AddData("update-track", Config::Get(Config::MAIN_AUTOUPDATE_UPDATE_TRACK));
|
||||||
|
@ -58,10 +58,10 @@ IPCReply GetVersion(const IOCtlVRequest& request)
|
|||||||
return IPCReply(IPC_EINVAL);
|
return IPCReply(IPC_EINVAL);
|
||||||
}
|
}
|
||||||
|
|
||||||
const auto length = std::min(size_t(request.io_vectors[0].size), Common::scm_desc_str.size());
|
const auto length = std::min(size_t(request.io_vectors[0].size), Common::GetScmDescStr().size());
|
||||||
|
|
||||||
Memory::Memset(request.io_vectors[0].address, 0, request.io_vectors[0].size);
|
Memory::Memset(request.io_vectors[0].address, 0, request.io_vectors[0].size);
|
||||||
Memory::CopyToEmu(request.io_vectors[0].address, Common::scm_desc_str.data(), length);
|
Memory::CopyToEmu(request.io_vectors[0].address, Common::GetScmDescStr().data(), length);
|
||||||
|
|
||||||
return IPCReply(IPC_SUCCESS);
|
return IPCReply(IPC_SUCCESS);
|
||||||
}
|
}
|
||||||
|
@ -1471,7 +1471,7 @@ void GetSettings()
|
|||||||
s_memcards |= (slot_a_has_raw_memcard || slot_a_has_gci_folder) << 0;
|
s_memcards |= (slot_a_has_raw_memcard || slot_a_has_gci_folder) << 0;
|
||||||
s_memcards |= (slot_b_has_raw_memcard || slot_b_has_gci_folder) << 1;
|
s_memcards |= (slot_b_has_raw_memcard || slot_b_has_gci_folder) << 1;
|
||||||
|
|
||||||
s_revision = ConvertGitRevisionToBytes(Common::scm_rev_git_str);
|
s_revision = ConvertGitRevisionToBytes(Common::GetScmRevGitStr());
|
||||||
|
|
||||||
if (!Config::Get(Config::MAIN_DSP_HLE))
|
if (!Config::Get(Config::MAIN_DSP_HLE))
|
||||||
{
|
{
|
||||||
|
@ -229,8 +229,8 @@ bool NetPlayClient::Connect()
|
|||||||
{
|
{
|
||||||
// send connect message
|
// send connect message
|
||||||
sf::Packet packet;
|
sf::Packet packet;
|
||||||
packet << Common::scm_rev_git_str;
|
packet << Common::GetScmRevGitStr();
|
||||||
packet << Common::netplay_dolphin_ver;
|
packet << Common::GetNetplayDolphinVer();
|
||||||
packet << m_player_name;
|
packet << m_player_name;
|
||||||
Send(packet);
|
Send(packet);
|
||||||
enet_host_flush(m_client);
|
enet_host_flush(m_client);
|
||||||
@ -283,7 +283,7 @@ bool NetPlayClient::Connect()
|
|||||||
Player player;
|
Player player;
|
||||||
player.name = m_player_name;
|
player.name = m_player_name;
|
||||||
player.pid = m_pid;
|
player.pid = m_pid;
|
||||||
player.revision = Common::netplay_dolphin_ver;
|
player.revision = Common::GetNetplayDolphinVer();
|
||||||
|
|
||||||
// add self to player list
|
// add self to player list
|
||||||
m_players[m_pid] = player;
|
m_players[m_pid] = player;
|
||||||
|
@ -393,7 +393,7 @@ ConnectionError NetPlayServer::OnConnect(ENetPeer* socket, sf::Packet& rpac)
|
|||||||
std::string npver;
|
std::string npver;
|
||||||
rpac >> npver;
|
rpac >> npver;
|
||||||
// Dolphin netplay version
|
// Dolphin netplay version
|
||||||
if (npver != Common::scm_rev_git_str)
|
if (npver != Common::GetScmRevGitStr())
|
||||||
return ConnectionError::VersionMismatch;
|
return ConnectionError::VersionMismatch;
|
||||||
|
|
||||||
// game is currently running or game start is pending
|
// game is currently running or game start is pending
|
||||||
|
@ -116,7 +116,7 @@ static bool DoStateVersion(PointerWrap& p, std::string* version_created_by)
|
|||||||
version = cookie - COOKIE_BASE;
|
version = cookie - COOKIE_BASE;
|
||||||
}
|
}
|
||||||
|
|
||||||
*version_created_by = Common::scm_rev_str;
|
*version_created_by = Common::GetScmRevStr();
|
||||||
if (version > 42)
|
if (version > 42)
|
||||||
p.Do(*version_created_by);
|
p.Do(*version_created_by);
|
||||||
else
|
else
|
||||||
|
@ -125,7 +125,7 @@ RedumpVerifier::DownloadStatus RedumpVerifier::DownloadDatfile(const std::string
|
|||||||
|
|
||||||
const std::optional<std::vector<u8>> result =
|
const std::optional<std::vector<u8>> result =
|
||||||
request.Get("http://redump.org/datfile/" + system + "/serial,version",
|
request.Get("http://redump.org/datfile/" + system + "/serial,version",
|
||||||
{{"User-Agent", Common::scm_rev_str}});
|
{{"User-Agent", Common::GetScmRevStr()}});
|
||||||
|
|
||||||
const std::string output_path = GetPathForSystem(system);
|
const std::string output_path = GetPathForSystem(system);
|
||||||
|
|
||||||
|
@ -47,12 +47,12 @@ AboutDialog::AboutDialog(QWidget* parent) : QDialog(parent)
|
|||||||
<a href='https://forums.dolphin-emu.org/'>%SUPPORT%</a>
|
<a href='https://forums.dolphin-emu.org/'>%SUPPORT%</a>
|
||||||
)")
|
)")
|
||||||
.replace(QStringLiteral("%VERSION_STRING%"),
|
.replace(QStringLiteral("%VERSION_STRING%"),
|
||||||
QString::fromUtf8(Common::scm_desc_str.c_str()))
|
QString::fromUtf8(Common::GetScmDescStr().c_str()))
|
||||||
.replace(QStringLiteral("%BRANCH%"),
|
.replace(QStringLiteral("%BRANCH%"),
|
||||||
// i18n: "Branch" means the version control term, not a literal tree branch.
|
// i18n: "Branch" means the version control term, not a literal tree branch.
|
||||||
tr("Branch: %1").arg(QString::fromUtf8(Common::scm_branch_str.c_str())))
|
tr("Branch: %1").arg(QString::fromUtf8(Common::GetScmBranchStr().c_str())))
|
||||||
.replace(QStringLiteral("%REVISION%"),
|
.replace(QStringLiteral("%REVISION%"),
|
||||||
tr("Revision: %1").arg(QString::fromUtf8(Common::scm_rev_git_str.c_str())))
|
tr("Revision: %1").arg(QString::fromUtf8(Common::GetScmRevGitStr().c_str())))
|
||||||
.replace(QStringLiteral("%QT_VERSION%"),
|
.replace(QStringLiteral("%QT_VERSION%"),
|
||||||
tr("Using Qt %1").arg(QStringLiteral(QT_VERSION_STR)))
|
tr("Using Qt %1").arg(QStringLiteral(QT_VERSION_STR)))
|
||||||
.replace(QStringLiteral("%CHECK_FOR_UPDATES%"), tr("Check for updates"))
|
.replace(QStringLiteral("%CHECK_FOR_UPDATES%"), tr("Check for updates"))
|
||||||
|
@ -206,7 +206,7 @@ MainWindow::MainWindow(std::unique_ptr<BootParameters> boot_parameters,
|
|||||||
const std::string& movie_path)
|
const std::string& movie_path)
|
||||||
: QMainWindow(nullptr)
|
: QMainWindow(nullptr)
|
||||||
{
|
{
|
||||||
setWindowTitle(QString::fromStdString(Common::scm_rev_str));
|
setWindowTitle(QString::fromStdString(Common::GetScmRevStr()));
|
||||||
setWindowIcon(Resources::GetAppIcon());
|
setWindowIcon(Resources::GetAppIcon());
|
||||||
setUnifiedTitleAndToolBarOnMac(true);
|
setUnifiedTitleAndToolBarOnMac(true);
|
||||||
setAcceptDrops(true);
|
setAcceptDrops(true);
|
||||||
@ -1145,7 +1145,7 @@ void MainWindow::HideRenderWidget(bool reinit, bool is_exit)
|
|||||||
m_rendering_to_main = false;
|
m_rendering_to_main = false;
|
||||||
m_stack->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred);
|
m_stack->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred);
|
||||||
disconnect(Host::GetInstance(), &Host::RequestTitle, this, &MainWindow::setWindowTitle);
|
disconnect(Host::GetInstance(), &Host::RequestTitle, this, &MainWindow::setWindowTitle);
|
||||||
setWindowTitle(QString::fromStdString(Common::scm_rev_str));
|
setWindowTitle(QString::fromStdString(Common::GetScmRevStr()));
|
||||||
}
|
}
|
||||||
|
|
||||||
// The following code works around a driver bug that would lead to Dolphin crashing when changing
|
// The following code works around a driver bug that would lead to Dolphin crashing when changing
|
||||||
|
@ -158,7 +158,7 @@ void NetPlayBrowser::Refresh()
|
|||||||
std::map<std::string, std::string> filters;
|
std::map<std::string, std::string> filters;
|
||||||
|
|
||||||
if (m_check_hide_incompatible->isChecked())
|
if (m_check_hide_incompatible->isChecked())
|
||||||
filters["version"] = Common::scm_desc_str;
|
filters["version"] = Common::GetScmDescStr();
|
||||||
|
|
||||||
if (!m_edit_name->text().isEmpty())
|
if (!m_edit_name->text().isEmpty())
|
||||||
filters["name"] = m_edit_name->text().toStdString();
|
filters["name"] = m_edit_name->text().toStdString();
|
||||||
@ -246,7 +246,7 @@ void NetPlayBrowser::UpdateList()
|
|||||||
auto* player_count = new QTableWidgetItem(QStringLiteral("%1").arg(entry.player_count));
|
auto* player_count = new QTableWidgetItem(QStringLiteral("%1").arg(entry.player_count));
|
||||||
auto* version = new QTableWidgetItem(QString::fromStdString(entry.version));
|
auto* version = new QTableWidgetItem(QString::fromStdString(entry.version));
|
||||||
|
|
||||||
const bool enabled = Common::scm_desc_str == entry.version;
|
const bool enabled = Common::GetScmDescStr() == entry.version;
|
||||||
|
|
||||||
for (const auto& item : {region, name, password, in_game, game_id, player_count, version})
|
for (const auto& item : {region, name, password, in_game, game_id, player_count, version})
|
||||||
item->setFlags(enabled ? Qt::ItemIsEnabled | Qt::ItemIsSelectable : Qt::NoItemFlags);
|
item->setFlags(enabled ? Qt::ItemIsEnabled | Qt::ItemIsSelectable : Qt::NoItemFlags);
|
||||||
|
@ -55,7 +55,7 @@ void Updater::OnUpdateAvailable(const NewVersionInformation& info)
|
|||||||
"download. "
|
"download. "
|
||||||
"You are running %2.<br> Would you like to update?<br><h4>Release Notes:</h4>")
|
"You are running %2.<br> Would you like to update?<br><h4>Release Notes:</h4>")
|
||||||
.arg(QString::fromStdString(info.new_shortrev))
|
.arg(QString::fromStdString(info.new_shortrev))
|
||||||
.arg(QString::fromStdString(Common::scm_desc_str)));
|
.arg(QString::fromStdString(Common::GetScmDescStr())));
|
||||||
label->setTextFormat(Qt::RichText);
|
label->setTextFormat(Qt::RichText);
|
||||||
|
|
||||||
auto* changelog = new QTextBrowser;
|
auto* changelog = new QTextBrowser;
|
||||||
|
@ -161,7 +161,7 @@ void AutoUpdateChecker::CheckForUpdate(std::string_view update_track,
|
|||||||
CleanupFromPreviousUpdate();
|
CleanupFromPreviousUpdate();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
std::string_view version_hash = hash_override.empty() ? Common::scm_rev_git_str : hash_override;
|
std::string_view version_hash = hash_override.empty() ? Common::GetScmRevGitStr() : hash_override;
|
||||||
std::string url = fmt::format("https://dolphin-emu.org/update/check/v1/{}/{}/{}", update_track,
|
std::string url = fmt::format("https://dolphin-emu.org/update/check/v1/{}/{}/{}", update_track,
|
||||||
version_hash, GetPlatformID());
|
version_hash, GetPlatformID());
|
||||||
|
|
||||||
|
@ -78,7 +78,7 @@ private:
|
|||||||
std::unique_ptr<optparse::OptionParser> CreateParser(ParserOptions options)
|
std::unique_ptr<optparse::OptionParser> CreateParser(ParserOptions options)
|
||||||
{
|
{
|
||||||
auto parser = std::make_unique<optparse::OptionParser>();
|
auto parser = std::make_unique<optparse::OptionParser>();
|
||||||
parser->usage("usage: %prog [options]... [FILE]...").version(Common::scm_rev_str);
|
parser->usage("usage: %prog [options]... [FILE]...").version(Common::GetScmRevStr());
|
||||||
|
|
||||||
parser->add_option("-u", "--user").action("store").help("User folder path");
|
parser->add_option("-u", "--user").action("store").help("User folder path");
|
||||||
parser->add_option("-m", "--movie").action("store").help("Play a movie file");
|
parser->add_option("-m", "--movie").action("store").help("Play a movie file");
|
||||||
|
@ -170,7 +170,7 @@ bool NetPlayIndex::Add(const NetPlaySession& session)
|
|||||||
"&password=" + std::to_string(session.has_password) + "&method=" + session.method +
|
"&password=" + std::to_string(session.has_password) + "&method=" + session.method +
|
||||||
"&server_id=" + session.server_id + "&in_game=" + std::to_string(session.in_game) +
|
"&server_id=" + session.server_id + "&in_game=" + std::to_string(session.in_game) +
|
||||||
"&port=" + std::to_string(session.port) + "&player_count=" +
|
"&port=" + std::to_string(session.port) + "&player_count=" +
|
||||||
std::to_string(session.player_count) + "&version=" + Common::scm_desc_str,
|
std::to_string(session.player_count) + "&version=" + Common::GetScmDescStr(),
|
||||||
{{"X-Is-Dolphin", "1"}}, Common::HttpRequest::AllowedReturnCodes::All);
|
{{"X-Is-Dolphin", "1"}}, Common::HttpRequest::AllowedReturnCodes::All);
|
||||||
|
|
||||||
if (!response.has_value())
|
if (!response.has_value())
|
||||||
|
@ -115,7 +115,7 @@ std::optional<Shader::BinaryData> Shader::CompileShader(D3D_FEATURE_LEVEL featur
|
|||||||
file << "\n";
|
file << "\n";
|
||||||
file.write(static_cast<const char*>(errors->GetBufferPointer()), errors->GetBufferSize());
|
file.write(static_cast<const char*>(errors->GetBufferPointer()), errors->GetBufferSize());
|
||||||
file << "\n";
|
file << "\n";
|
||||||
file << "Dolphin Version: " + Common::scm_rev_str + "\n";
|
file << "Dolphin Version: " + Common::GetScmRevStr() + "\n";
|
||||||
file << "Video Backend: " + g_video_backend->GetDisplayName();
|
file << "Video Backend: " + g_video_backend->GetDisplayName();
|
||||||
file.close();
|
file.close();
|
||||||
|
|
||||||
|
@ -363,7 +363,7 @@ bool ProgramShaderCache::CheckShaderCompileResult(GLuint id, GLenum type, std::s
|
|||||||
File::OpenFStream(file, filename, std::ios_base::out);
|
File::OpenFStream(file, filename, std::ios_base::out);
|
||||||
file << s_glsl_header << code << info_log;
|
file << s_glsl_header << code << info_log;
|
||||||
file << "\n";
|
file << "\n";
|
||||||
file << "Dolphin Version: " + Common::scm_rev_str + "\n";
|
file << "Dolphin Version: " + Common::GetScmRevStr() + "\n";
|
||||||
file << "Video Backend: " + g_video_backend->GetDisplayName();
|
file << "Video Backend: " + g_video_backend->GetDisplayName();
|
||||||
file.close();
|
file.close();
|
||||||
|
|
||||||
@ -408,7 +408,7 @@ bool ProgramShaderCache::CheckProgramLinkResult(GLuint id, std::string_view vcod
|
|||||||
|
|
||||||
file << info_log;
|
file << info_log;
|
||||||
file << "\n";
|
file << "\n";
|
||||||
file << "Dolphin Version: " + Common::scm_rev_str + "\n";
|
file << "Dolphin Version: " + Common::GetScmRevStr() + "\n";
|
||||||
file << "Video Backend: " + g_video_backend->GetDisplayName();
|
file << "Video Backend: " + g_video_backend->GetDisplayName();
|
||||||
file.close();
|
file.close();
|
||||||
|
|
||||||
|
@ -169,7 +169,7 @@ static std::optional<SPIRVCodeVector> CompileShaderToSPV(EShLanguage stage,
|
|||||||
}
|
}
|
||||||
|
|
||||||
stream << "\n";
|
stream << "\n";
|
||||||
stream << "Dolphin Version: " + Common::scm_rev_str + "\n";
|
stream << "Dolphin Version: " + Common::GetScmRevStr() + "\n";
|
||||||
stream << "Video Backend: " + g_video_backend->GetDisplayName();
|
stream << "Video Backend: " + g_video_backend->GetDisplayName();
|
||||||
|
|
||||||
PanicAlertFmt("{} (written to {})", msg, filename);
|
PanicAlertFmt("{} (written to {})", msg, filename);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user