diff options
| author | 2018-07-25 17:37:41 -0400 | |
|---|---|---|
| committer | 2018-07-25 17:37:43 -0400 | |
| commit | f9951352f6e3b931a1046a3a85a5b356ebd9bf5b (patch) | |
| tree | 8988e909b4754a20dc2a7dfdddd11b0afc862d2a /src | |
| parent | service/nvdrv: Use std::move where applicable (diff) | |
| download | yuzu-f9951352f6e3b931a1046a3a85a5b356ebd9bf5b.tar.gz yuzu-f9951352f6e3b931a1046a3a85a5b356ebd9bf5b.tar.xz yuzu-f9951352f6e3b931a1046a3a85a5b356ebd9bf5b.zip | |
service/nvdrv: Take std::string in Open() by const reference
Avoids copies from being made, since the string is only ever used for
lookup, the data is never transfered anywhere.
Ideally, we'd use a std::string_view here, but devices is a
std::unordered_map, not a std::map, so we can't use heterogenous lookup
here.
Diffstat (limited to '')
| -rw-r--r-- | src/core/hle/service/nvdrv/nvdrv.cpp | 2 | ||||
| -rw-r--r-- | src/core/hle/service/nvdrv/nvdrv.h | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/src/core/hle/service/nvdrv/nvdrv.cpp b/src/core/hle/service/nvdrv/nvdrv.cpp index c5d3e2fff..1555ea806 100644 --- a/src/core/hle/service/nvdrv/nvdrv.cpp +++ b/src/core/hle/service/nvdrv/nvdrv.cpp | |||
| @@ -42,7 +42,7 @@ Module::Module() { | |||
| 42 | devices["/dev/nvhost-nvdec"] = std::make_shared<Devices::nvhost_nvdec>(); | 42 | devices["/dev/nvhost-nvdec"] = std::make_shared<Devices::nvhost_nvdec>(); |
| 43 | } | 43 | } |
| 44 | 44 | ||
| 45 | u32 Module::Open(std::string device_name) { | 45 | u32 Module::Open(const std::string& device_name) { |
| 46 | ASSERT_MSG(devices.find(device_name) != devices.end(), "Trying to open unknown device {}", | 46 | ASSERT_MSG(devices.find(device_name) != devices.end(), "Trying to open unknown device {}", |
| 47 | device_name); | 47 | device_name); |
| 48 | 48 | ||
diff --git a/src/core/hle/service/nvdrv/nvdrv.h b/src/core/hle/service/nvdrv/nvdrv.h index 35b2c65fc..184f3c9fc 100644 --- a/src/core/hle/service/nvdrv/nvdrv.h +++ b/src/core/hle/service/nvdrv/nvdrv.h | |||
| @@ -38,7 +38,7 @@ public: | |||
| 38 | } | 38 | } |
| 39 | 39 | ||
| 40 | /// Opens a device node and returns a file descriptor to it. | 40 | /// Opens a device node and returns a file descriptor to it. |
| 41 | u32 Open(std::string device_name); | 41 | u32 Open(const std::string& device_name); |
| 42 | /// Sends an ioctl command to the specified file descriptor. | 42 | /// Sends an ioctl command to the specified file descriptor. |
| 43 | u32 Ioctl(u32 fd, u32 command, const std::vector<u8>& input, std::vector<u8>& output); | 43 | u32 Ioctl(u32 fd, u32 command, const std::vector<u8>& input, std::vector<u8>& output); |
| 44 | /// Closes a device file descriptor and returns operation success. | 44 | /// Closes a device file descriptor and returns operation success. |