diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/core/crypto/key_manager.cpp | 5 | ||||
| -rw-r--r-- | src/core/hle/kernel/k_affinity_mask.h | 2 | ||||
| -rw-r--r-- | src/core/hle/service/am/am.cpp | 13 | ||||
| -rw-r--r-- | src/core/hle/service/am/am.h | 2 | ||||
| -rw-r--r-- | src/video_core/host_shaders/CMakeLists.txt | 20 | ||||
| -rw-r--r-- | src/yuzu/configuration/configure_input_player.cpp | 6 |
6 files changed, 41 insertions, 7 deletions
diff --git a/src/core/crypto/key_manager.cpp b/src/core/crypto/key_manager.cpp index cebe2ce37..ad116dcc0 100644 --- a/src/core/crypto/key_manager.cpp +++ b/src/core/crypto/key_manager.cpp | |||
| @@ -568,6 +568,11 @@ KeyManager::KeyManager() { | |||
| 568 | // Initialize keys | 568 | // Initialize keys |
| 569 | const std::string hactool_keys_dir = Common::FS::GetHactoolConfigurationPath(); | 569 | const std::string hactool_keys_dir = Common::FS::GetHactoolConfigurationPath(); |
| 570 | const std::string yuzu_keys_dir = Common::FS::GetUserPath(Common::FS::UserPath::KeysDir); | 570 | const std::string yuzu_keys_dir = Common::FS::GetUserPath(Common::FS::UserPath::KeysDir); |
| 571 | |||
| 572 | if (!Common::FS::Exists(yuzu_keys_dir)) { | ||
| 573 | Common::FS::CreateDir(yuzu_keys_dir); | ||
| 574 | } | ||
| 575 | |||
| 571 | if (Settings::values.use_dev_keys) { | 576 | if (Settings::values.use_dev_keys) { |
| 572 | dev_mode = true; | 577 | dev_mode = true; |
| 573 | AttemptLoadKeyFile(yuzu_keys_dir, hactool_keys_dir, "dev.keys", false); | 578 | AttemptLoadKeyFile(yuzu_keys_dir, hactool_keys_dir, "dev.keys", false); |
diff --git a/src/core/hle/kernel/k_affinity_mask.h b/src/core/hle/kernel/k_affinity_mask.h index dd73781cd..b906895fc 100644 --- a/src/core/hle/kernel/k_affinity_mask.h +++ b/src/core/hle/kernel/k_affinity_mask.h | |||
| @@ -27,7 +27,7 @@ public: | |||
| 27 | } | 27 | } |
| 28 | 28 | ||
| 29 | [[nodiscard]] constexpr bool GetAffinity(s32 core) const { | 29 | [[nodiscard]] constexpr bool GetAffinity(s32 core) const { |
| 30 | return this->mask & GetCoreBit(core); | 30 | return (this->mask & GetCoreBit(core)) != 0; |
| 31 | } | 31 | } |
| 32 | 32 | ||
| 33 | constexpr void SetAffinity(s32 core, bool set) { | 33 | constexpr void SetAffinity(s32 core, bool set) { |
diff --git a/src/core/hle/service/am/am.cpp b/src/core/hle/service/am/am.cpp index d42236a3a..07a755599 100644 --- a/src/core/hle/service/am/am.cpp +++ b/src/core/hle/service/am/am.cpp | |||
| @@ -1216,7 +1216,7 @@ IApplicationFunctions::IApplicationFunctions(Core::System& system_) | |||
| 1216 | {141, &IApplicationFunctions::TryPopFromFriendInvitationStorageChannel, "TryPopFromFriendInvitationStorageChannel"}, | 1216 | {141, &IApplicationFunctions::TryPopFromFriendInvitationStorageChannel, "TryPopFromFriendInvitationStorageChannel"}, |
| 1217 | {150, nullptr, "GetNotificationStorageChannelEvent"}, | 1217 | {150, nullptr, "GetNotificationStorageChannelEvent"}, |
| 1218 | {151, nullptr, "TryPopFromNotificationStorageChannel"}, | 1218 | {151, nullptr, "TryPopFromNotificationStorageChannel"}, |
| 1219 | {160, nullptr, "GetHealthWarningDisappearedSystemEvent"}, | 1219 | {160, &IApplicationFunctions::GetHealthWarningDisappearedSystemEvent, "GetHealthWarningDisappearedSystemEvent"}, |
| 1220 | {170, nullptr, "SetHdcpAuthenticationActivated"}, | 1220 | {170, nullptr, "SetHdcpAuthenticationActivated"}, |
| 1221 | {180, nullptr, "GetLaunchRequiredVersion"}, | 1221 | {180, nullptr, "GetLaunchRequiredVersion"}, |
| 1222 | {181, nullptr, "UpgradeLaunchRequiredVersion"}, | 1222 | {181, nullptr, "UpgradeLaunchRequiredVersion"}, |
| @@ -1234,6 +1234,9 @@ IApplicationFunctions::IApplicationFunctions(Core::System& system_) | |||
| 1234 | 1234 | ||
| 1235 | friend_invitation_storage_channel_event = Kernel::WritableEvent::CreateEventPair( | 1235 | friend_invitation_storage_channel_event = Kernel::WritableEvent::CreateEventPair( |
| 1236 | kernel, "IApplicationFunctions:FriendInvitationStorageChannelEvent"); | 1236 | kernel, "IApplicationFunctions:FriendInvitationStorageChannelEvent"); |
| 1237 | |||
| 1238 | health_warning_disappeared_system_event = Kernel::WritableEvent::CreateEventPair( | ||
| 1239 | kernel, "IApplicationFunctions:HealthWarningDisappearedSystemEvent"); | ||
| 1237 | } | 1240 | } |
| 1238 | 1241 | ||
| 1239 | IApplicationFunctions::~IApplicationFunctions() = default; | 1242 | IApplicationFunctions::~IApplicationFunctions() = default; |
| @@ -1649,6 +1652,14 @@ void IApplicationFunctions::TryPopFromFriendInvitationStorageChannel( | |||
| 1649 | rb.Push(ERR_NO_DATA_IN_CHANNEL); | 1652 | rb.Push(ERR_NO_DATA_IN_CHANNEL); |
| 1650 | } | 1653 | } |
| 1651 | 1654 | ||
| 1655 | void IApplicationFunctions::GetHealthWarningDisappearedSystemEvent(Kernel::HLERequestContext& ctx) { | ||
| 1656 | LOG_DEBUG(Service_AM, "called"); | ||
| 1657 | |||
| 1658 | IPC::ResponseBuilder rb{ctx, 2, 1}; | ||
| 1659 | rb.Push(RESULT_SUCCESS); | ||
| 1660 | rb.PushCopyObjects(health_warning_disappeared_system_event.readable); | ||
| 1661 | } | ||
| 1662 | |||
| 1652 | void InstallInterfaces(SM::ServiceManager& service_manager, NVFlinger::NVFlinger& nvflinger, | 1663 | void InstallInterfaces(SM::ServiceManager& service_manager, NVFlinger::NVFlinger& nvflinger, |
| 1653 | Core::System& system) { | 1664 | Core::System& system) { |
| 1654 | auto message_queue = std::make_shared<AppletMessageQueue>(system.Kernel()); | 1665 | auto message_queue = std::make_shared<AppletMessageQueue>(system.Kernel()); |
diff --git a/src/core/hle/service/am/am.h b/src/core/hle/service/am/am.h index f5db41ac8..154a48710 100644 --- a/src/core/hle/service/am/am.h +++ b/src/core/hle/service/am/am.h | |||
| @@ -290,12 +290,14 @@ private: | |||
| 290 | void GetGpuErrorDetectedSystemEvent(Kernel::HLERequestContext& ctx); | 290 | void GetGpuErrorDetectedSystemEvent(Kernel::HLERequestContext& ctx); |
| 291 | void GetFriendInvitationStorageChannelEvent(Kernel::HLERequestContext& ctx); | 291 | void GetFriendInvitationStorageChannelEvent(Kernel::HLERequestContext& ctx); |
| 292 | void TryPopFromFriendInvitationStorageChannel(Kernel::HLERequestContext& ctx); | 292 | void TryPopFromFriendInvitationStorageChannel(Kernel::HLERequestContext& ctx); |
| 293 | void GetHealthWarningDisappearedSystemEvent(Kernel::HLERequestContext& ctx); | ||
| 293 | 294 | ||
| 294 | bool launch_popped_application_specific = false; | 295 | bool launch_popped_application_specific = false; |
| 295 | bool launch_popped_account_preselect = false; | 296 | bool launch_popped_account_preselect = false; |
| 296 | s32 previous_program_index{-1}; | 297 | s32 previous_program_index{-1}; |
| 297 | Kernel::EventPair gpu_error_detected_event; | 298 | Kernel::EventPair gpu_error_detected_event; |
| 298 | Kernel::EventPair friend_invitation_storage_channel_event; | 299 | Kernel::EventPair friend_invitation_storage_channel_event; |
| 300 | Kernel::EventPair health_warning_disappeared_system_event; | ||
| 299 | }; | 301 | }; |
| 300 | 302 | ||
| 301 | class IHomeMenuFunctions final : public ServiceFramework<IHomeMenuFunctions> { | 303 | class IHomeMenuFunctions final : public ServiceFramework<IHomeMenuFunctions> { |
diff --git a/src/video_core/host_shaders/CMakeLists.txt b/src/video_core/host_shaders/CMakeLists.txt index 73f331d4c..28f2b8614 100644 --- a/src/video_core/host_shaders/CMakeLists.txt +++ b/src/video_core/host_shaders/CMakeLists.txt | |||
| @@ -20,6 +20,7 @@ set(SHADER_FILES | |||
| 20 | find_program(GLSLANGVALIDATOR "glslangValidator" REQUIRED) | 20 | find_program(GLSLANGVALIDATOR "glslangValidator" REQUIRED) |
| 21 | 21 | ||
| 22 | set(GLSL_FLAGS "") | 22 | set(GLSL_FLAGS "") |
| 23 | set(QUIET_FLAG "--quiet") | ||
| 23 | 24 | ||
| 24 | set(SHADER_INCLUDE ${CMAKE_CURRENT_BINARY_DIR}/include) | 25 | set(SHADER_INCLUDE ${CMAKE_CURRENT_BINARY_DIR}/include) |
| 25 | set(SHADER_DIR ${SHADER_INCLUDE}/video_core/host_shaders) | 26 | set(SHADER_DIR ${SHADER_INCLUDE}/video_core/host_shaders) |
| @@ -28,6 +29,23 @@ set(HOST_SHADERS_INCLUDE ${SHADER_INCLUDE} PARENT_SCOPE) | |||
| 28 | set(INPUT_FILE ${CMAKE_CURRENT_SOURCE_DIR}/source_shader.h.in) | 29 | set(INPUT_FILE ${CMAKE_CURRENT_SOURCE_DIR}/source_shader.h.in) |
| 29 | set(HEADER_GENERATOR ${CMAKE_CURRENT_SOURCE_DIR}/StringShaderHeader.cmake) | 30 | set(HEADER_GENERATOR ${CMAKE_CURRENT_SOURCE_DIR}/StringShaderHeader.cmake) |
| 30 | 31 | ||
| 32 | # Check if `--quiet` is available on host's glslangValidator version | ||
| 33 | # glslangValidator prints to STDERR iff an unrecognized flag is passed to it | ||
| 34 | execute_process( | ||
| 35 | COMMAND | ||
| 36 | ${GLSLANGVALIDATOR} ${QUIET_FLAG} | ||
| 37 | ERROR_VARIABLE | ||
| 38 | GLSLANG_ERROR | ||
| 39 | # STDOUT variable defined to silence unnecessary output during CMake configuration | ||
| 40 | OUTPUT_VARIABLE | ||
| 41 | GLSLANG_OUTPUT | ||
| 42 | ) | ||
| 43 | |||
| 44 | if (NOT GLSLANG_ERROR STREQUAL "") | ||
| 45 | message(WARNING "Refusing to use unavailable flag `${QUIET_FLAG}` on `${GLSLANGVALIDATOR}`") | ||
| 46 | set(QUIET_FLAG "") | ||
| 47 | endif() | ||
| 48 | |||
| 31 | foreach(FILENAME IN ITEMS ${SHADER_FILES}) | 49 | foreach(FILENAME IN ITEMS ${SHADER_FILES}) |
| 32 | string(REPLACE "." "_" SHADER_NAME ${FILENAME}) | 50 | string(REPLACE "." "_" SHADER_NAME ${FILENAME}) |
| 33 | set(SOURCE_FILE ${CMAKE_CURRENT_SOURCE_DIR}/${FILENAME}) | 51 | set(SOURCE_FILE ${CMAKE_CURRENT_SOURCE_DIR}/${FILENAME}) |
| @@ -55,7 +73,7 @@ foreach(FILENAME IN ITEMS ${SHADER_FILES}) | |||
| 55 | OUTPUT | 73 | OUTPUT |
| 56 | ${SPIRV_HEADER_FILE} | 74 | ${SPIRV_HEADER_FILE} |
| 57 | COMMAND | 75 | COMMAND |
| 58 | ${GLSLANGVALIDATOR} -V --quiet ${GLSL_FLAGS} --variable-name ${SPIRV_VARIABLE_NAME} -o ${SPIRV_HEADER_FILE} ${SOURCE_FILE} | 76 | ${GLSLANGVALIDATOR} -V ${QUIET_FLAG} ${GLSL_FLAGS} --variable-name ${SPIRV_VARIABLE_NAME} -o ${SPIRV_HEADER_FILE} ${SOURCE_FILE} |
| 59 | MAIN_DEPENDENCY | 77 | MAIN_DEPENDENCY |
| 60 | ${SOURCE_FILE} | 78 | ${SOURCE_FILE} |
| 61 | ) | 79 | ) |
diff --git a/src/yuzu/configuration/configure_input_player.cpp b/src/yuzu/configuration/configure_input_player.cpp index fbe36046b..1ab5bcbb9 100644 --- a/src/yuzu/configuration/configure_input_player.cpp +++ b/src/yuzu/configuration/configure_input_player.cpp | |||
| @@ -580,9 +580,7 @@ void ConfigureInputPlayer::ApplyConfiguration() { | |||
| 580 | if (player_index == 0) { | 580 | if (player_index == 0) { |
| 581 | auto& handheld = Settings::values.players.GetValue()[HANDHELD_INDEX]; | 581 | auto& handheld = Settings::values.players.GetValue()[HANDHELD_INDEX]; |
| 582 | const auto handheld_connected = handheld.connected; | 582 | const auto handheld_connected = handheld.connected; |
| 583 | if (player.controller_type == Settings::ControllerType::Handheld) { | 583 | handheld = player; |
| 584 | handheld = player; | ||
| 585 | } | ||
| 586 | handheld.connected = handheld_connected; | 584 | handheld.connected = handheld_connected; |
| 587 | } | 585 | } |
| 588 | } | 586 | } |
| @@ -596,7 +594,7 @@ void ConfigureInputPlayer::TryConnectSelectedController() { | |||
| 596 | controller_type != Settings::ControllerType::Handheld; | 594 | controller_type != Settings::ControllerType::Handheld; |
| 597 | 595 | ||
| 598 | // Connect Handheld depending on Player 1's controller configuration. | 596 | // Connect Handheld depending on Player 1's controller configuration. |
| 599 | if (player_index == 0 && controller_type == Settings::ControllerType::Handheld) { | 597 | if (player_index == 0) { |
| 600 | auto& handheld = Settings::values.players.GetValue()[HANDHELD_INDEX]; | 598 | auto& handheld = Settings::values.players.GetValue()[HANDHELD_INDEX]; |
| 601 | const auto handheld_connected = ui->groupConnectedController->isChecked() && | 599 | const auto handheld_connected = ui->groupConnectedController->isChecked() && |
| 602 | controller_type == Settings::ControllerType::Handheld; | 600 | controller_type == Settings::ControllerType::Handheld; |