summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/core/hle/service/hid/controllers/npad.cpp4
-rw-r--r--src/core/hle/service/hid/controllers/npad.h4
-rw-r--r--src/core/hle/service/hid/hid.cpp20
-rw-r--r--src/video_core/vulkan_common/vulkan_device.cpp2
-rw-r--r--src/video_core/vulkan_common/vulkan_memory_allocator.cpp2
5 files changed, 17 insertions, 15 deletions
diff --git a/src/core/hle/service/hid/controllers/npad.cpp b/src/core/hle/service/hid/controllers/npad.cpp
index ef4aec4ea..28818c813 100644
--- a/src/core/hle/service/hid/controllers/npad.cpp
+++ b/src/core/hle/service/hid/controllers/npad.cpp
@@ -979,8 +979,8 @@ void Controller_NPad::VibrateController(
979} 979}
980 980
981void Controller_NPad::VibrateControllers( 981void Controller_NPad::VibrateControllers(
982 const std::vector<Core::HID::VibrationDeviceHandle>& vibration_device_handles, 982 std::span<const Core::HID::VibrationDeviceHandle> vibration_device_handles,
983 const std::vector<Core::HID::VibrationValue>& vibration_values) { 983 std::span<const Core::HID::VibrationValue> vibration_values) {
984 if (!Settings::values.vibration_enabled.GetValue() && !permit_vibration_session_enabled) { 984 if (!Settings::values.vibration_enabled.GetValue() && !permit_vibration_session_enabled) {
985 return; 985 return;
986 } 986 }
diff --git a/src/core/hle/service/hid/controllers/npad.h b/src/core/hle/service/hid/controllers/npad.h
index 9cfe298f1..776411261 100644
--- a/src/core/hle/service/hid/controllers/npad.h
+++ b/src/core/hle/service/hid/controllers/npad.h
@@ -112,8 +112,8 @@ public:
112 const Core::HID::VibrationValue& vibration_value); 112 const Core::HID::VibrationValue& vibration_value);
113 113
114 void VibrateControllers( 114 void VibrateControllers(
115 const std::vector<Core::HID::VibrationDeviceHandle>& vibration_device_handles, 115 std::span<const Core::HID::VibrationDeviceHandle> vibration_device_handles,
116 const std::vector<Core::HID::VibrationValue>& vibration_values); 116 std::span<const Core::HID::VibrationValue> vibration_values);
117 117
118 Core::HID::VibrationValue GetLastVibration( 118 Core::HID::VibrationValue GetLastVibration(
119 const Core::HID::VibrationDeviceHandle& vibration_device_handle) const; 119 const Core::HID::VibrationDeviceHandle& vibration_device_handle) const;
diff --git a/src/core/hle/service/hid/hid.cpp b/src/core/hle/service/hid/hid.cpp
index 87e7b864a..2bf1d8a27 100644
--- a/src/core/hle/service/hid/hid.cpp
+++ b/src/core/hle/service/hid/hid.cpp
@@ -1601,16 +1601,16 @@ void Hid::SendVibrationValues(HLERequestContext& ctx) {
1601 IPC::RequestParser rp{ctx}; 1601 IPC::RequestParser rp{ctx};
1602 const auto applet_resource_user_id{rp.Pop<u64>()}; 1602 const auto applet_resource_user_id{rp.Pop<u64>()};
1603 1603
1604 const auto handles = ctx.ReadBuffer(0); 1604 const auto handle_data = ctx.ReadBuffer(0);
1605 const auto vibrations = ctx.ReadBuffer(1); 1605 const auto handle_count = ctx.GetReadBufferNumElements<Core::HID::VibrationDeviceHandle>(0);
1606 1606 const auto vibration_data = ctx.ReadBuffer(1);
1607 std::vector<Core::HID::VibrationDeviceHandle> vibration_device_handles( 1607 const auto vibration_count = ctx.GetReadBufferNumElements<Core::HID::VibrationValue>(1);
1608 handles.size() / sizeof(Core::HID::VibrationDeviceHandle)); 1608
1609 std::vector<Core::HID::VibrationValue> vibration_values(vibrations.size() / 1609 auto vibration_device_handles =
1610 sizeof(Core::HID::VibrationValue)); 1610 std::span(reinterpret_cast<const Core::HID::VibrationDeviceHandle*>(handle_data.data()),
1611 1611 handle_count);
1612 std::memcpy(vibration_device_handles.data(), handles.data(), handles.size()); 1612 auto vibration_values = std::span(
1613 std::memcpy(vibration_values.data(), vibrations.data(), vibrations.size()); 1613 reinterpret_cast<const Core::HID::VibrationValue*>(vibration_data.data()), vibration_count);
1614 1614
1615 applet_resource->GetController<Controller_NPad>(HidController::NPad) 1615 applet_resource->GetController<Controller_NPad>(HidController::NPad)
1616 .VibrateControllers(vibration_device_handles, vibration_values); 1616 .VibrateControllers(vibration_device_handles, vibration_values);
diff --git a/src/video_core/vulkan_common/vulkan_device.cpp b/src/video_core/vulkan_common/vulkan_device.cpp
index 6ffca2af2..161f050b8 100644
--- a/src/video_core/vulkan_common/vulkan_device.cpp
+++ b/src/video_core/vulkan_common/vulkan_device.cpp
@@ -1009,6 +1009,8 @@ void Device::CollectPhysicalMemoryInfo() {
1009 device_access_memory += mem_properties.memoryHeaps[element].size; 1009 device_access_memory += mem_properties.memoryHeaps[element].size;
1010 } 1010 }
1011 if (!is_integrated) { 1011 if (!is_integrated) {
1012 const u64 reserve_memory = std::min<u64>(device_access_memory / 8, 1_GiB);
1013 device_access_memory -= reserve_memory;
1012 return; 1014 return;
1013 } 1015 }
1014 const s64 available_memory = static_cast<s64>(device_access_memory - device_initial_usage); 1016 const s64 available_memory = static_cast<s64>(device_access_memory - device_initial_usage);
diff --git a/src/video_core/vulkan_common/vulkan_memory_allocator.cpp b/src/video_core/vulkan_common/vulkan_memory_allocator.cpp
index 1732866e0..e28a556f8 100644
--- a/src/video_core/vulkan_common/vulkan_memory_allocator.cpp
+++ b/src/video_core/vulkan_common/vulkan_memory_allocator.cpp
@@ -147,7 +147,7 @@ public:
147 147
148 /// Returns whether this allocation is compatible with the arguments. 148 /// Returns whether this allocation is compatible with the arguments.
149 [[nodiscard]] bool IsCompatible(VkMemoryPropertyFlags flags, u32 type_mask) const { 149 [[nodiscard]] bool IsCompatible(VkMemoryPropertyFlags flags, u32 type_mask) const {
150 return (flags & property_flags) == property_flags && (type_mask & shifted_memory_type) != 0; 150 return (flags & property_flags) == flags && (type_mask & shifted_memory_type) != 0;
151 } 151 }
152 152
153private: 153private: