summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/core/crypto/key_manager.cpp5
-rw-r--r--src/core/hle/kernel/k_affinity_mask.h2
-rw-r--r--src/core/hle/service/am/am.cpp13
-rw-r--r--src/core/hle/service/am/am.h2
-rw-r--r--src/video_core/host_shaders/CMakeLists.txt20
-rw-r--r--src/yuzu/configuration/configure_input_player.cpp6
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
1239IApplicationFunctions::~IApplicationFunctions() = default; 1242IApplicationFunctions::~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
1655void 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
1652void InstallInterfaces(SM::ServiceManager& service_manager, NVFlinger::NVFlinger& nvflinger, 1663void 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
301class IHomeMenuFunctions final : public ServiceFramework<IHomeMenuFunctions> { 303class 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
20find_program(GLSLANGVALIDATOR "glslangValidator" REQUIRED) 20find_program(GLSLANGVALIDATOR "glslangValidator" REQUIRED)
21 21
22set(GLSL_FLAGS "") 22set(GLSL_FLAGS "")
23set(QUIET_FLAG "--quiet")
23 24
24set(SHADER_INCLUDE ${CMAKE_CURRENT_BINARY_DIR}/include) 25set(SHADER_INCLUDE ${CMAKE_CURRENT_BINARY_DIR}/include)
25set(SHADER_DIR ${SHADER_INCLUDE}/video_core/host_shaders) 26set(SHADER_DIR ${SHADER_INCLUDE}/video_core/host_shaders)
@@ -28,6 +29,23 @@ set(HOST_SHADERS_INCLUDE ${SHADER_INCLUDE} PARENT_SCOPE)
28set(INPUT_FILE ${CMAKE_CURRENT_SOURCE_DIR}/source_shader.h.in) 29set(INPUT_FILE ${CMAKE_CURRENT_SOURCE_DIR}/source_shader.h.in)
29set(HEADER_GENERATOR ${CMAKE_CURRENT_SOURCE_DIR}/StringShaderHeader.cmake) 30set(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
34execute_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
44if (NOT GLSLANG_ERROR STREQUAL "")
45 message(WARNING "Refusing to use unavailable flag `${QUIET_FLAG}` on `${GLSLANGVALIDATOR}`")
46 set(QUIET_FLAG "")
47endif()
48
31foreach(FILENAME IN ITEMS ${SHADER_FILES}) 49foreach(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;