summaryrefslogtreecommitdiff
path: root/src/common
AgeCommit message (Collapse)Author
2020-12-09common/file_util: Let std::filesystem cast from UTF16 to std::stringReinUsesLisp
Fix invalid encoding paths when iterating over a directory on Windows.
2020-12-09common/file_util: Fix and deprecate CreateFullPath, add CreateDirsReinUsesLisp
Fix CreateFullPath to have its intended previous behavior (whatever that was), and deprecate it in favor of the new CreateDirs function. Unlike CreateDir, CreateDirs is marked as [[nodiscard]] to avoid new code ignoring its result value.
2020-12-09common/file_util: Succeed on CreateDir when the directory existsReinUsesLisp
2020-12-09file_util: Migrate remaining file handling functions over to std::filesystemLioncash
Converts creation and deletion functions over to std::filesystem, simplifying our file-handling code. Notably with this, CopyDir will now function on Windows.
2020-12-08file_util: Migrate Exists() and IsDirectory() over to std::filesystemLioncash
Greatly simplifies our file-handling code for these functions.
2020-12-07Merge pull request #5136 from lioncash/video-shadow3LC
video_core: Resolve more variable shadowing scenarios pt.3
2020-12-05video_core: Resolve more variable shadowing scenarios pt.3Lioncash
Cleans out the rest of the occurrences of variable shadowing and makes any further occurrences of shadowing compiler errors.
2020-12-05xbyak_abi: Shorten std::size_t to size_tLioncash
Makes for less reading.
2020-12-05xbyak_abi: Avoid implicit sign conversionsLioncash
2020-12-03Merge pull request #4996 from bunnei/use-4jitsbunnei
Kernel: Refactor to use 4-instances of Dynarmic & various cleanups and improvements
2020-12-02Merge pull request #5000 from lioncash/audio-errorbunnei
audio_core: Make shadowing and unused parameters errors
2020-12-03audio_core: Make shadowing and unused parameters errorsLioncash
Moves the audio code closer to enabling warnings as errors in general.
2020-11-29common: fiber: Use VirtualBuffer for stack memory.bunnei
- This will be aligned by default, and helps memory usage.
2020-11-29common: fiber: Use boost::context instead of native fibers on Windows.bunnei
2020-11-25common: Add Common::DivCeil and Common::DivCeilLog2ReinUsesLisp
Add an equivalent to 'Common::AlignUp(n, d) / d' and a log2 alternative.
2020-11-23Merge pull request #4451 from slashiee/extended-loggingbunnei
logging/settings: Increase maximum log size to 100 MB and add extended logging option
2020-11-20Merge pull request #4951 from bunnei/olsc-stubbunnei
hle: service: Stub OLSC Initialize and SetSaveDataBackupSettingEnabled functions.
2020-11-20common/bit_cast: Add function matching std::bit_cast without constexprReinUsesLisp
Add a std::bit_cast-like function archiving the same runtime results as the standard function, without compile time support. This allows us to use bit_cast while we wait for compiler support, it can be trivially replaced in the future.
2020-11-19hle: service: Stub OLSC Initialize and SetSaveDataBackupSettingEnabled ↵bunnei
functions. - Used by Animal Cross: New Horizons v1.6.0 update, minimal stub gets this update working.
2020-11-19virtual_buffer: Do nothing on resize() calls with same sizesLioncash
Prevents us from churning memory by freeing and reallocating a memory block that would have already been adequate as is.
2020-11-17virtual_buffer: Add compile-time type-safety guarantees with VirtualBufferLioncash
VirtualBuffer makes use of VirtualAlloc (on Windows) and mmap() (on other platforms). Neither of these ensure that non-trivial objects are properly constructed in the allocated memory. To prevent potential undefined behavior occurring due to that, we can add a static assert to loudly complain about cases where that is done.
2020-11-17page_table: Allow page tables to be movedLioncash
Makes page tables and virtual buffers able to be moved, but not copied, making the interface more flexible. Previously, with the destructor specified, but no move assignment or constructor specified, they wouldn't be implicitly generated.
2020-11-17page_table: Add missing doxygen parameters to Resize()Lioncash
Resolves two -Wdocumentation warnings.
2020-11-17page_table: Remove unnecessary header inclusionsLioncash
Prevents indirect inclusions for these headers.
2020-11-06common/fiber: Move all member variables into impl classLioncash
Hides all of the implementation details for users of the class. This has the benefit of reducing includes and also making the fiber classes movable again.
2020-11-05General: Fix clang buildLioncash
Allows building on clang to work again
2020-11-02common: Enable warnings as errorsLioncash
Cleans up common so that we can enable warnings as errors.
2020-10-30Merge pull request #4868 from lioncash/discard-errorbunnei
General: Make ignoring a discarded return value an error
2020-10-30General: Make ignoring a discarded return value an errorLioncash
Allows our CI to catch more potential bugs. This also removes the [[nodiscard]] attribute of IOFile's Open member function. There are cases where a file may want to be opened, but have the status of it checked at a later time.
2020-10-29common/stream: Be explicit with copy and move operatorsLioncash
2020-10-28common/fiber: Take shared_ptr<Fiber> by copy in YieldToReinUsesLisp
YieldTo does not intend to modify the passed shared_ptrs. Pass it by copy to keep a reference count while this function executes.
2020-10-26video_core: NVDEC Implementationameerj
This commit aims to implement the NVDEC (Nvidia Decoder) functionality, with video frame decoding being handled by the FFmpeg library. The process begins with Ioctl commands being sent to the NVDEC and VIC (Video Image Composer) emulated devices. These allocate the necessary GPU buffers for the frame data, along with providing information on the incoming video data. A Submit command then signals the GPU to process and decode the frame data. To decode the frame, the respective codec's header must be manually composed from the information provided by NVDEC, then sent with the raw frame data to the ffmpeg library. Currently, H264 and VP9 are supported, with VP9 having some minor artifacting issues related mainly to the reference frame composition in its uncompressed header. Async GPU is not properly implemented at the moment. Co-Authored-By: David <25727384+ogniK5377@users.noreply.github.com>
2020-10-21core: Fix clang build pt.3Lioncash
Should finally resolve building with clang.
2020-10-20Revert "core: Fix clang build"bunnei
2020-10-20Merge pull request #4796 from lioncash/clangLC
core: Fix clang build
2020-10-17core: Fix clang buildLioncash
Recent changes to the build system that made more warnings be flagged as errors caused building via clang to break. Fixes #4795
2020-10-15input_common/CMakeLists: Make some warnings errorsLioncash
Makes the input_common code warnings consistent with the rest of the codebase.
2020-10-13core/CMakeLists: Make some warnings errorsLioncash
Makes our error coverage a little more consistent across the board by applying it to Linux side of things as well. This also makes it more consistent with the warning settings in other libraries in the project. This also updates httplib to 0.7.9, as there are several warning cleanups made that allow us to enable several warnings as errors.
2020-10-07Merge pull request #4731 from lat9nq/mingw-zstd-fixbunnei
common: Use system zstd on Linux
2020-09-30common/wall_clock: Add virtual destructorsReinUsesLisp
From -fsanitize=address, this code wasn't calling the proper destructor. Adding virtual destructors for each inherited class and the base class fixes this bug. While we are at it, mark the functions as final.
2020-09-28CMakeLists: use system zstd on Linuxlat9nq
From what I understand, this tells CMake to use the system, not conan, version of zstd. Required to build on the coming MinGW Docker container.
2020-09-28CMakeLists: fix for finding zstd on linux-mingwlat9nq
2020-09-03Merge pull request #4611 from lioncash/xbyak2bunnei
externals: Update Xbyak to 5.96
2020-09-03Merge pull request #4578 from lioncash/xorbunnei
common_funcs: Add missing XOR operators to DECLARE_ENUM_FLAG_OPERATORS
2020-09-02input_common/motion_input: Make use of Common::PI constantMorph
Also amend the copyright notice to yuzu's instead of Dolphin's, which was mistakenly copy-pasted from another file.
2020-09-02Merge pull request #4570 from german77/motionInputbunnei
input_common: Add a basic class for motion devices
2020-08-31Merge pull request #4588 from ReinUsesLisp/tsan-eventbunnei
common/thread: Fix data race in is_set
2020-08-31Merge pull request #4461 from comex/thread-namesLC
Fix thread naming on Linux, which limits names to 15 bytes.
2020-08-30externals: Update Xbyak to 5.96Lioncash
I made a request on the Xbyak issue tracker to allow some constructors to be constexpr in order to avoid static constructors from needing to execute for some of our register constants. This request was implemented, so this updates Xbyak so that we can make use of it.
2020-08-27Implement a basic class for motion devicesgerman