diff options
| author | bunnei <bunneidev@gmail.com> | 2023-01-30 12:17:09 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-01-30 12:17:09 -0800 |
| commit | ed4a88bd93c93ac1aaf5b6bae7d8ede10ff0338a (patch) | |
| tree | 54b6ce04e859b1dee33f4331f392c0d645f4db43 /src/core/hle/service/hid/controllers | |
| parent | e74660673b68e7226b7e934efe5eac620f7a98e6 (diff) | |
| parent | b0722591c9b8c1aed5b8bfc5e67e7e957b08f209 (diff) | |
Merge pull request #9508 from ameerj/hle-ipc-buffer-span
hle_ipc: Use std::span to avoid heap allocations/copies when calling ReadBuffer
Diffstat (limited to 'src/core/hle/service/hid/controllers')
| -rw-r--r-- | src/core/hle/service/hid/controllers/npad.cpp | 5 | ||||
| -rw-r--r-- | src/core/hle/service/hid/controllers/npad.h | 3 |
2 files changed, 5 insertions, 3 deletions
diff --git a/src/core/hle/service/hid/controllers/npad.cpp b/src/core/hle/service/hid/controllers/npad.cpp index 5713f1288..84edc8839 100644 --- a/src/core/hle/service/hid/controllers/npad.cpp +++ b/src/core/hle/service/hid/controllers/npad.cpp @@ -755,11 +755,12 @@ Core::HID::NpadStyleTag Controller_NPad::GetSupportedStyleSet() const { return hid_core.GetSupportedStyleTag(); } -void Controller_NPad::SetSupportedNpadIdTypes(u8* data, std::size_t length) { +void Controller_NPad::SetSupportedNpadIdTypes(std::span<const u8> data) { + const auto length = data.size(); ASSERT(length > 0 && (length % sizeof(u32)) == 0); supported_npad_id_types.clear(); supported_npad_id_types.resize(length / sizeof(u32)); - std::memcpy(supported_npad_id_types.data(), data, length); + std::memcpy(supported_npad_id_types.data(), data.data(), length); } void Controller_NPad::GetSupportedNpadIdTypes(u32* data, std::size_t max_length) { diff --git a/src/core/hle/service/hid/controllers/npad.h b/src/core/hle/service/hid/controllers/npad.h index 1a589cca2..1f7d33459 100644 --- a/src/core/hle/service/hid/controllers/npad.h +++ b/src/core/hle/service/hid/controllers/npad.h @@ -6,6 +6,7 @@ #include <array> #include <atomic> #include <mutex> +#include <span> #include "common/bit_field.h" #include "common/common_types.h" @@ -95,7 +96,7 @@ public: void SetSupportedStyleSet(Core::HID::NpadStyleTag style_set); Core::HID::NpadStyleTag GetSupportedStyleSet() const; - void SetSupportedNpadIdTypes(u8* data, std::size_t length); + void SetSupportedNpadIdTypes(std::span<const u8> data); void GetSupportedNpadIdTypes(u32* data, std::size_t max_length); std::size_t GetSupportedNpadIdTypesSize() const; |
