diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/core/hle/kernel/process_capability.cpp | 5 | ||||
| -rw-r--r-- | src/core/hle/kernel/process_capability.h | 2 | ||||
| -rw-r--r-- | src/core/hle/service/audio/hwopus.cpp | 4 | ||||
| -rw-r--r-- | src/video_core/command_classes/codecs/vp9.cpp | 16 | ||||
| -rw-r--r-- | src/yuzu/configuration/configure_graphics.cpp | 2 |
5 files changed, 15 insertions, 14 deletions
diff --git a/src/core/hle/kernel/process_capability.cpp b/src/core/hle/kernel/process_capability.cpp index 3fc326eab..1006ee50c 100644 --- a/src/core/hle/kernel/process_capability.cpp +++ b/src/core/hle/kernel/process_capability.cpp | |||
| @@ -281,11 +281,6 @@ ResultCode ProcessCapabilities::HandleSyscallFlags(u32& set_svc_bits, u32 flags) | |||
| 281 | continue; | 281 | continue; |
| 282 | } | 282 | } |
| 283 | 283 | ||
| 284 | if (svc_number >= svc_capabilities.size()) { | ||
| 285 | LOG_ERROR(Kernel, "Process svc capability is out of range! svc_number={}", svc_number); | ||
| 286 | return ResultOutOfRange; | ||
| 287 | } | ||
| 288 | |||
| 289 | svc_capabilities[svc_number] = true; | 284 | svc_capabilities[svc_number] = true; |
| 290 | } | 285 | } |
| 291 | 286 | ||
diff --git a/src/core/hle/kernel/process_capability.h b/src/core/hle/kernel/process_capability.h index 73ad197fa..b7a9b2e45 100644 --- a/src/core/hle/kernel/process_capability.h +++ b/src/core/hle/kernel/process_capability.h | |||
| @@ -68,7 +68,7 @@ enum class ProgramType { | |||
| 68 | class ProcessCapabilities { | 68 | class ProcessCapabilities { |
| 69 | public: | 69 | public: |
| 70 | using InterruptCapabilities = std::bitset<1024>; | 70 | using InterruptCapabilities = std::bitset<1024>; |
| 71 | using SyscallCapabilities = std::bitset<128>; | 71 | using SyscallCapabilities = std::bitset<192>; |
| 72 | 72 | ||
| 73 | ProcessCapabilities() = default; | 73 | ProcessCapabilities() = default; |
| 74 | ProcessCapabilities(const ProcessCapabilities&) = delete; | 74 | ProcessCapabilities(const ProcessCapabilities&) = delete; |
diff --git a/src/core/hle/service/audio/hwopus.cpp b/src/core/hle/service/audio/hwopus.cpp index ea3414fd2..19c578b3a 100644 --- a/src/core/hle/service/audio/hwopus.cpp +++ b/src/core/hle/service/audio/hwopus.cpp | |||
| @@ -297,6 +297,10 @@ HwOpus::HwOpus(Core::System& system_) : ServiceFramework{system_, "hwopus"} { | |||
| 297 | {1, &HwOpus::GetWorkBufferSize, "GetWorkBufferSize"}, | 297 | {1, &HwOpus::GetWorkBufferSize, "GetWorkBufferSize"}, |
| 298 | {2, nullptr, "OpenOpusDecoderForMultiStream"}, | 298 | {2, nullptr, "OpenOpusDecoderForMultiStream"}, |
| 299 | {3, nullptr, "GetWorkBufferSizeForMultiStream"}, | 299 | {3, nullptr, "GetWorkBufferSizeForMultiStream"}, |
| 300 | {4, nullptr, "OpenHardwareOpusDecoderEx"}, | ||
| 301 | {5, nullptr, "GetWorkBufferSizeEx"}, | ||
| 302 | {6, nullptr, "OpenHardwareOpusDecoderForMultiStreamEx"}, | ||
| 303 | {7, nullptr, "GetWorkBufferSizeForMultiStreamEx"}, | ||
| 300 | }; | 304 | }; |
| 301 | RegisterHandlers(functions); | 305 | RegisterHandlers(functions); |
| 302 | } | 306 | } |
diff --git a/src/video_core/command_classes/codecs/vp9.cpp b/src/video_core/command_classes/codecs/vp9.cpp index 59e586695..29bb31418 100644 --- a/src/video_core/command_classes/codecs/vp9.cpp +++ b/src/video_core/command_classes/codecs/vp9.cpp | |||
| @@ -2,8 +2,9 @@ | |||
| 2 | // Licensed under GPLv2 or any later version | 2 | // Licensed under GPLv2 or any later version |
| 3 | // Refer to the license.txt file included. | 3 | // Refer to the license.txt file included. |
| 4 | 4 | ||
| 5 | #include <cstring> // for std::memcpy | 5 | #include <algorithm> // for std::copy |
| 6 | #include <numeric> | 6 | #include <numeric> |
| 7 | #include "common/assert.h" | ||
| 7 | #include "video_core/command_classes/codecs/vp9.h" | 8 | #include "video_core/command_classes/codecs/vp9.h" |
| 8 | #include "video_core/gpu.h" | 9 | #include "video_core/gpu.h" |
| 9 | #include "video_core/memory_manager.h" | 10 | #include "video_core/memory_manager.h" |
| @@ -362,7 +363,8 @@ Vp9PictureInfo VP9::GetVp9PictureInfo(const NvdecCommon::NvdecRegisters& state) | |||
| 362 | // surface_luma_offset[0:3] contains the address of the reference frame offsets in the following | 363 | // surface_luma_offset[0:3] contains the address of the reference frame offsets in the following |
| 363 | // order: last, golden, altref, current. It may be worthwhile to track the updates done here | 364 | // order: last, golden, altref, current. It may be worthwhile to track the updates done here |
| 364 | // to avoid buffering frame data needed for reference frame updating in the header composition. | 365 | // to avoid buffering frame data needed for reference frame updating in the header composition. |
| 365 | std::memcpy(vp9_info.frame_offsets.data(), state.surface_luma_offset.data(), 4 * sizeof(u64)); | 366 | std::copy(state.surface_luma_offset.begin(), state.surface_luma_offset.begin() + 4, |
| 367 | vp9_info.frame_offsets.begin()); | ||
| 366 | 368 | ||
| 367 | return vp9_info; | 369 | return vp9_info; |
| 368 | } | 370 | } |
| @@ -821,11 +823,11 @@ const std::vector<u8>& VP9::ComposeFrameHeader(const NvdecCommon::NvdecRegisters | |||
| 821 | 823 | ||
| 822 | // Write headers and frame to buffer | 824 | // Write headers and frame to buffer |
| 823 | frame.resize(uncompressed_header.size() + compressed_header.size() + bitstream.size()); | 825 | frame.resize(uncompressed_header.size() + compressed_header.size() + bitstream.size()); |
| 824 | std::memcpy(frame.data(), uncompressed_header.data(), uncompressed_header.size()); | 826 | std::copy(uncompressed_header.begin(), uncompressed_header.end(), frame.begin()); |
| 825 | std::memcpy(frame.data() + uncompressed_header.size(), compressed_header.data(), | 827 | std::copy(compressed_header.begin(), compressed_header.end(), |
| 826 | compressed_header.size()); | 828 | frame.begin() + uncompressed_header.size()); |
| 827 | std::memcpy(frame.data() + uncompressed_header.size() + compressed_header.size(), | 829 | std::copy(bitstream.begin(), bitstream.end(), |
| 828 | bitstream.data(), bitstream.size()); | 830 | frame.begin() + uncompressed_header.size() + compressed_header.size()); |
| 829 | 831 | ||
| 830 | // keep track of frame number | 832 | // keep track of frame number |
| 831 | current_frame_number++; | 833 | current_frame_number++; |
diff --git a/src/yuzu/configuration/configure_graphics.cpp b/src/yuzu/configuration/configure_graphics.cpp index 9ff32aec4..49acc48b2 100644 --- a/src/yuzu/configuration/configure_graphics.cpp +++ b/src/yuzu/configuration/configure_graphics.cpp | |||
| @@ -227,7 +227,7 @@ void ConfigureGraphics::RetrieveVulkanDevices() try { | |||
| 227 | vulkan_devices.clear(); | 227 | vulkan_devices.clear(); |
| 228 | vulkan_devices.reserve(physical_devices.size()); | 228 | vulkan_devices.reserve(physical_devices.size()); |
| 229 | for (const VkPhysicalDevice device : physical_devices) { | 229 | for (const VkPhysicalDevice device : physical_devices) { |
| 230 | const char* const name = vk::PhysicalDevice(device, dld).GetProperties().deviceName; | 230 | const std::string name = vk::PhysicalDevice(device, dld).GetProperties().deviceName; |
| 231 | vulkan_devices.push_back(QString::fromStdString(name)); | 231 | vulkan_devices.push_back(QString::fromStdString(name)); |
| 232 | } | 232 | } |
| 233 | 233 | ||