summaryrefslogtreecommitdiffstats
path: root/src/tests/common (follow)
Commit message (Collapse)AuthorAgeFilesLines
* 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