summaryrefslogtreecommitdiffstats
path: root/src/tests/common (follow)
Commit message (Collapse)AuthorAgeFilesLines
* tests: add missing headerAlexandre Bouvier2022-12-261-0/+1
| | | <cstring> is needed for std::memcpy
* scratch_buffer: Explicitly defing resize and resize_destructive functionsameerj2022-12-201-3/+75
| | | | | resize keeps previous data intact when the buffer grows resize_destructive destroys the previous data when the buffer grows
* tests: Add ScratchBuffer testsameerj2022-12-201-0/+127
|
* chore: make yuzu REUSE compliantAndrea Pappacoda2022-07-272-6/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [REUSE] is a specification that aims at making file copyright information consistent, so that it can be both human and machine readable. It basically requires that all files have a header containing copyright and licensing information. When this isn't possible, like when dealing with binary assets, generated files or embedded third-party dependencies, it is permitted to insert copyright information in the `.reuse/dep5` file. Oh, and it also requires that all the licenses used in the project are present in the `LICENSES` folder, that's why the diff is so huge. This can be done automatically with `reuse download --all`. The `reuse` tool also contains a handy subcommand that analyzes the project and tells whether or not the project is (still) compliant, `reuse lint`. Following REUSE has a few advantages over the current approach: - Copyright information is easy to access for users / downstream - Files like `dist/license.md` do not need to exist anymore, as `.reuse/dep5` is used instead - `reuse lint` makes it easy to ensure that copyright information of files like binary assets / images is always accurate and up to date To add copyright information of files that didn't have it I looked up who committed what and when, for each file. As yuzu contributors do not have to sign a CLA or similar I couldn't assume that copyright ownership was of the "yuzu Emulator Project", so I used the name and/or email of the commit author instead. [REUSE]: https://reuse.software Follow-up to 01cf05bc75b1e47beb08937439f3ed9339e7b254
* common/fiber: make fibers easier to useLiam2022-07-021-88/+35
|
* general: Convert source file copyright comments over to SPDXMorph2022-04-235-15/+10
| | | | | This formats all copyright comments according to SPDX formatting guidelines. Additionally, this resolves the remaining GPLv2 only licensed files by relicensing them to GPLv2.0-or-later.
* logging: Simplify and make thread-safeyzct123452021-08-131-0/+2
| | | | | | | | | This simplifies the logging system. This also fixes some lost messages on startup. The simplification is simple. I removed unused functions and moved most things in the .h to the .cpp. I replaced the unnecessary linked list with its contents laid out as three member variables. Anything that went through the linked list now directly accesses the backends. Generic functions are replaced with those for each specific use case and there aren't many. This change increases coupling but we gain back more KISS and encapsulation. With those changes it was easy to make it thread-safe. I just removed the mutex and turned a boolean atomic. I was planning to use this thread-safety in my next PR about stacktraces. It was actually async-signal-safety at first but I ended up using a different approach. Anyway getting rid of the linked list is important for that because have the list of backends constantly changing complicates things.
* shader_recompiler,video_core: Cleanup some GCC and Clang errorslat9nq2021-07-231-0/+2
| | | | | | | | | | | | | | | | | Mostly fixing unused *, implicit conversion, braced scalar init, fpermissive, and some others. Some Clang errors likely remain in video_core, and std::ranges is still a pertinent issue in shader_recompiler shader_recompiler: cmake: Force bracket depth to 1024 on Clang Increases the maximum fold expression depth thread_worker: Include condition_variable Don't use list initializers in control flow Co-authored-by: ReinUsesLisp <reinuseslisp@airmail.cc>
* common: Add unique functionReinUsesLisp2021-07-091-0/+108
|
* common: Replace common_sizes into user-literalsWunkolo2021-06-241-1/+3
| | | | | | | | | | | | | Removes common_sizes.h in favor of having `_KiB`, `_MiB`, `_GiB`, etc user-literals within literals.h. To keep the global namespace clean, users will have to use: ``` using namespace Common::Literals; ``` to access these literals.
* tests: Add tests for host memoryReinUsesLisp2021-06-111-0/+183
|
* common: Fiber: use a reference for YieldTo.bunnei2021-03-071-14/+14
| | | | - Fixes another small leak.
* Revert "core: Switch to unique_ptr for usage of Common::Fiber."bunnei2021-03-061-18/+21
|
* core: Switch to unique_ptr for usage of Common::Fiber.bunnei2021-02-271-21/+18
| | | | | - With using unique_ptr instead of shared_ptr, we have more explicit ownership of the context. - Fixes a memory leak due to circular reference of the shared pointer.
* common/cityhash: Use common typesReinUsesLisp2021-02-181-2/+2
| | | | | | | | Allow sharing return types with the rest of the code base. For example, we use 'u128 = std::array<u64, 2>', meanwhile Google's code uses 'uint128 = std::pair<u64, u64>'. While we are at it, use size_t instead of std::size_t.
* tests: Add tests for CityHashReinUsesLisp2021-02-181-0/+22
|
* ring_buffer: Remove granularity template argumentMerryMage2021-02-061-5/+5
| | | | | | Non-obvious bug in RingBuffer::Push(std::vector<T>&) when granularity != 1 Just remove it altogether because we do not have a use for granularity != 1
* common/bit_util: Replace CLZ/CTZ operations with standardized onesLioncash2021-01-151-23/+0
| | | | Makes for less code that we need to maintain.
* tests/ring_buffer: Silence signed/unsigned mismatch warningsReinUsesLisp2021-01-091-15/+15
|
* general: Fix various spelling errorsMorph2021-01-021-2/+2
|
* hle: kernel: Separate KScheduler from GlobalSchedulerContext class.bunnei2020-12-061-55/+0
|
* tests: Fix warning about comparison between signed and unsignedcomex2020-11-271-2/+2
|
* tests: Fix data race in fibers testReinUsesLisp2020-10-281-31/+40
| | | | | | | | | | | | | | | | | | | Previous to this commit, the tests were using operator[] from unordered_map to query elements but this silently inserts empty elements when they don't exist. If all threads were executed without concurrency, this wouldn't be an issue, but the same unordered_map could be written from two threads at the same time. This is a data race and makes some previously inserted elements invisible for a short period of time, causing them to insert and return an empty element. This default constructed element (a zero) was used to index an array of fibers that asserted when one of them was nullptr, shutting the test session off. To address this issue, lock on thread id reads and writes. This could be a shared mutex to allow concurrent reads, but the definition of std::this_thread::get_id is fuzzy when using non-standard techniques like fibers. I opted to use a standard mutex. While we are at it, fix the included headers.
* Core/Common: Address Feedback.Fernando Sahmkow2020-06-281-1/+1
|
* Common/Fiber: Implement Rewinding.Fernando Sahmkow2020-06-181-0/+46
|
* Common/Tests: Address FeedbackFernando Sahmkow2020-06-181-10/+10
|
* Common/Tests: Clang Format.Fernando Sahmkow2020-06-181-9/+14
|
* Common: Polish Fiber class, add comments, asserts and more tests.Fernando Sahmkow2020-06-181-1/+94
|
* Tests: Add tests for fibers and refactor/fix Fiber classFernando Sahmkow2020-06-181-0/+214
|
* Fixes and corrections on formatting.Fernando Sahmkow2019-03-272-30/+11
|
* Add MultiLevelQueue TestsFernando Sahmkow2019-03-271-0/+55
|
* Implement intrinsics CountTrailingZeroes and test it.Fernando Sahmkow2019-03-271-0/+42
|
* common/bitfield: make it endianness-awareWeiyi Wang2019-02-061-0/+90
|
* Port #4182 from Citra: "Prefix all size_t with std::"fearlessTobi2018-09-151-10/+10
|
* common: Implement a ring bufferMerryMage2018-09-081-0/+130
|
* externals: Update catch to 2.3.0Lioncash2018-08-081-1/+1
| | | | Updates the library from 2.2.3 to 2.3.0
* Format: Run the new clang format on everythingJames Rowe2018-01-211-1/+3
|
* Common: add ParamPackagewwylele2017-03-011-0/+25