mirror of
https://github.com/shadps4-emu/shadPS4.git
synced 2025-07-12 04:35:56 +00:00
impl
This commit is contained in:
parent
4f99f304e6
commit
19f266f162
5 changed files with 50 additions and 24 deletions
|
@ -35,8 +35,10 @@ static bool isNeo = false;
|
||||||
static bool isDevKit = false;
|
static bool isDevKit = false;
|
||||||
static bool isTrophyPopupDisabled = false;
|
static bool isTrophyPopupDisabled = false;
|
||||||
static bool enableDiscordRPC = false;
|
static bool enableDiscordRPC = false;
|
||||||
static u32 screenWidth = 1280;
|
static u32 windowWidth = 1280;
|
||||||
static u32 screenHeight = 720;
|
static u32 windowHeight = 720;
|
||||||
|
static u32 internalScreenWidth = 1280;
|
||||||
|
static u32 internalScreenHeight = 720;
|
||||||
static s32 gpuId = -1; // Vulkan physical device index. Set to negative for auto select
|
static s32 gpuId = -1; // Vulkan physical device index. Set to negative for auto select
|
||||||
static std::string logFilter;
|
static std::string logFilter;
|
||||||
static std::string logType = "sync";
|
static std::string logType = "sync";
|
||||||
|
@ -178,12 +180,20 @@ double getTrophyNotificationDuration() {
|
||||||
return trophyNotificationDuration;
|
return trophyNotificationDuration;
|
||||||
}
|
}
|
||||||
|
|
||||||
u32 getScreenWidth() {
|
u32 getWindowWidth() {
|
||||||
return screenWidth;
|
return windowWidth;
|
||||||
}
|
}
|
||||||
|
|
||||||
u32 getScreenHeight() {
|
u32 getWindowHeight() {
|
||||||
return screenHeight;
|
return windowHeight;
|
||||||
|
}
|
||||||
|
|
||||||
|
u32 getInternalScreenWidth() {
|
||||||
|
return internalScreenHeight;
|
||||||
|
}
|
||||||
|
|
||||||
|
u32 getInternalScreenHeight() {
|
||||||
|
return internalScreenHeight;
|
||||||
}
|
}
|
||||||
|
|
||||||
s32 getGpuId() {
|
s32 getGpuId() {
|
||||||
|
@ -318,12 +328,20 @@ void setGpuId(s32 selectedGpuId) {
|
||||||
gpuId = selectedGpuId;
|
gpuId = selectedGpuId;
|
||||||
}
|
}
|
||||||
|
|
||||||
void setScreenWidth(u32 width) {
|
void setWindowWidth(u32 width) {
|
||||||
screenWidth = width;
|
windowWidth = width;
|
||||||
}
|
}
|
||||||
|
|
||||||
void setScreenHeight(u32 height) {
|
void setWindowHeight(u32 height) {
|
||||||
screenHeight = height;
|
windowHeight = height;
|
||||||
|
}
|
||||||
|
|
||||||
|
void setInternalScreenWidth(u32 width) {
|
||||||
|
internalScreenWidth = width;
|
||||||
|
}
|
||||||
|
|
||||||
|
void setInternalScreenHeight(u32 height) {
|
||||||
|
internalScreenHeight = height;
|
||||||
}
|
}
|
||||||
|
|
||||||
void setDebugDump(bool enable) {
|
void setDebugDump(bool enable) {
|
||||||
|
@ -600,8 +618,10 @@ void load(const std::filesystem::path& path) {
|
||||||
if (data.contains("GPU")) {
|
if (data.contains("GPU")) {
|
||||||
const toml::value& gpu = data.at("GPU");
|
const toml::value& gpu = data.at("GPU");
|
||||||
|
|
||||||
screenWidth = toml::find_or<int>(gpu, "screenWidth", screenWidth);
|
windowWidth = toml::find_or<int>(gpu, "screenWidth", windowWidth);
|
||||||
screenHeight = toml::find_or<int>(gpu, "screenHeight", screenHeight);
|
windowHeight = toml::find_or<int>(gpu, "screenHeight", windowHeight);
|
||||||
|
internalScreenWidth = toml::find_or<int>(gpu, "internalScreenWidth", internalScreenWidth);
|
||||||
|
internalScreenHeight = toml::find_or<int>(gpu, "internalScreenHeight", internalScreenHeight);
|
||||||
isNullGpu = toml::find_or<bool>(gpu, "nullGpu", false);
|
isNullGpu = toml::find_or<bool>(gpu, "nullGpu", false);
|
||||||
shouldCopyGPUBuffers = toml::find_or<bool>(gpu, "copyGPUBuffers", false);
|
shouldCopyGPUBuffers = toml::find_or<bool>(gpu, "copyGPUBuffers", false);
|
||||||
readbacksEnabled = toml::find_or<bool>(gpu, "readbacks", false);
|
readbacksEnabled = toml::find_or<bool>(gpu, "readbacks", false);
|
||||||
|
@ -751,8 +771,10 @@ void save(const std::filesystem::path& path) {
|
||||||
data["Input"]["specialPadClass"] = specialPadClass;
|
data["Input"]["specialPadClass"] = specialPadClass;
|
||||||
data["Input"]["isMotionControlsEnabled"] = isMotionControlsEnabled;
|
data["Input"]["isMotionControlsEnabled"] = isMotionControlsEnabled;
|
||||||
data["Input"]["useUnifiedInputConfig"] = useUnifiedInputConfig;
|
data["Input"]["useUnifiedInputConfig"] = useUnifiedInputConfig;
|
||||||
data["GPU"]["screenWidth"] = screenWidth;
|
data["GPU"]["screenWidth"] = windowWidth;
|
||||||
data["GPU"]["screenHeight"] = screenHeight;
|
data["GPU"]["screenHeight"] = windowHeight;
|
||||||
|
data["GPU"]["internalScreenWidth"] = internalScreenWidth;
|
||||||
|
data["GPU"]["internalScreenHeight"] = internalScreenHeight;
|
||||||
data["GPU"]["nullGpu"] = isNullGpu;
|
data["GPU"]["nullGpu"] = isNullGpu;
|
||||||
data["GPU"]["copyGPUBuffers"] = shouldCopyGPUBuffers;
|
data["GPU"]["copyGPUBuffers"] = shouldCopyGPUBuffers;
|
||||||
data["GPU"]["readbacks"] = readbacksEnabled;
|
data["GPU"]["readbacks"] = readbacksEnabled;
|
||||||
|
@ -829,8 +851,8 @@ void setDefaultValues() {
|
||||||
isFullscreen = false;
|
isFullscreen = false;
|
||||||
isTrophyPopupDisabled = false;
|
isTrophyPopupDisabled = false;
|
||||||
enableDiscordRPC = true;
|
enableDiscordRPC = true;
|
||||||
screenWidth = 1280;
|
windowWidth = 1280;
|
||||||
screenHeight = 720;
|
windowHeight = 720;
|
||||||
logFilter = "";
|
logFilter = "";
|
||||||
logType = "sync";
|
logType = "sync";
|
||||||
userName = "shadPS4";
|
userName = "shadPS4";
|
||||||
|
|
|
@ -25,10 +25,14 @@ bool getIsFullscreen();
|
||||||
void setIsFullscreen(bool enable);
|
void setIsFullscreen(bool enable);
|
||||||
std::string getFullscreenMode();
|
std::string getFullscreenMode();
|
||||||
void setFullscreenMode(std::string mode);
|
void setFullscreenMode(std::string mode);
|
||||||
u32 getScreenWidth();
|
u32 getWindowWidth();
|
||||||
u32 getScreenHeight();
|
u32 getWindowHeight();
|
||||||
void setScreenWidth(u32 width);
|
void setWindowWidth(u32 width);
|
||||||
void setScreenHeight(u32 height);
|
void setWindowHeight(u32 height);
|
||||||
|
u32 getInternalScreenWidth();
|
||||||
|
u32 getInternalScreenHeight();
|
||||||
|
void setInternalScreenWidth(u32 width);
|
||||||
|
void setInternalScreenHeight(u32 height);
|
||||||
bool debugDump();
|
bool debugDump();
|
||||||
void setDebugDump(bool enable);
|
void setDebugDump(bool enable);
|
||||||
s32 getGpuId();
|
s32 getGpuId();
|
||||||
|
|
|
@ -445,7 +445,7 @@ s32 PS4_SYSV_ABI sceVideoOutConfigureOutputMode_(s32 handle, u32 reserved, const
|
||||||
}
|
}
|
||||||
|
|
||||||
void RegisterLib(Core::Loader::SymbolsResolver* sym) {
|
void RegisterLib(Core::Loader::SymbolsResolver* sym) {
|
||||||
driver = std::make_unique<VideoOutDriver>(Config::getScreenWidth(), Config::getScreenHeight());
|
driver = std::make_unique<VideoOutDriver>(Config::getInternalScreenWidth(), Config::getInternalScreenHeight());
|
||||||
|
|
||||||
LIB_FUNCTION("SbU3dwp80lQ", "libSceVideoOut", 1, "libSceVideoOut", 0, 0,
|
LIB_FUNCTION("SbU3dwp80lQ", "libSceVideoOut", 1, "libSceVideoOut", 0, 0,
|
||||||
sceVideoOutGetFlipStatus);
|
sceVideoOutGetFlipStatus);
|
||||||
|
|
|
@ -222,7 +222,7 @@ void Emulator::Run(std::filesystem::path file, const std::vector<std::string> ar
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
window = std::make_unique<Frontend::WindowSDL>(
|
window = std::make_unique<Frontend::WindowSDL>(
|
||||||
Config::getScreenWidth(), Config::getScreenHeight(), controller, window_title);
|
Config::getWindowWidth(), Config::getWindowHeight(), controller, window_title);
|
||||||
|
|
||||||
g_window = window.get();
|
g_window = window.get();
|
||||||
|
|
||||||
|
|
|
@ -762,8 +762,8 @@ void SettingsDialog::UpdateSettings() {
|
||||||
m_gui_settings->SetValue(gui::gl_backgroundMusicVolume, ui->BGMVolumeSlider->value());
|
m_gui_settings->SetValue(gui::gl_backgroundMusicVolume, ui->BGMVolumeSlider->value());
|
||||||
Config::setLanguage(languageIndexes[ui->consoleLanguageComboBox->currentIndex()]);
|
Config::setLanguage(languageIndexes[ui->consoleLanguageComboBox->currentIndex()]);
|
||||||
Config::setEnableDiscordRPC(ui->discordRPCCheckbox->isChecked());
|
Config::setEnableDiscordRPC(ui->discordRPCCheckbox->isChecked());
|
||||||
Config::setScreenWidth(ui->widthSpinBox->value());
|
Config::setWindowWidth(ui->widthSpinBox->value());
|
||||||
Config::setScreenHeight(ui->heightSpinBox->value());
|
Config::setWindowHeight(ui->heightSpinBox->value());
|
||||||
Config::setVblankDiv(ui->vblankSpinBox->value());
|
Config::setVblankDiv(ui->vblankSpinBox->value());
|
||||||
Config::setDumpShaders(ui->dumpShadersCheckBox->isChecked());
|
Config::setDumpShaders(ui->dumpShadersCheckBox->isChecked());
|
||||||
Config::setNullGpu(ui->nullGpuCheckBox->isChecked());
|
Config::setNullGpu(ui->nullGpuCheckBox->isChecked());
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue