summaryrefslogtreecommitdiff
path: root/src/common (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #2113 from ReinUsesLisp/vulkan-baseGravatar bunnei2019-02-142-0/+2
|\ | | | | vulkan: Add dependencies and device abstraction
| * logging: Add Vulkan backend logging class typeGravatar ReinUsesLisp2019-02-122-0/+2
| |
* | threadsafe_queue: Use std::size_t for representing sizeGravatar Lioncash2019-02-121-7/+6
| | | | | | | | | | | | Makes it consistent with the regular standard containers in terms of size representation. This also gets rid of dependence on our own type aliases, removing the need for an include.
* | threadsafe_queue: Remove NeedSize template parameterGravatar Lioncash2019-02-121-13/+11
|/ | | | | | The necessity of this parameter is dubious at best, and in 2019 probably offers completely negligible savings as opposed to just leaving this enabled. This removes it and simplifies the overall interface.
* cmake: Fix title bar issueGravatar ReinUsesLisp2019-02-061-1/+14
|
* cmake: Use CMAKE_COMMAND instead of "cmake"Gravatar Frederic L2019-02-061-1/+1
| | | Co-Authored-By: ReinUsesLisp <reinuseslisp@airmail.cc>
* gl_shader_disk_cache: Invalidate shader cache changes with CMake hashGravatar ReinUsesLisp2019-02-063-39/+56
|
* file_util: Add shader directoryGravatar ReinUsesLisp2019-02-063-0/+3
|
* Merge pull request #1928 from lioncash/capsGravatar bunnei2018-12-272-0/+62
|\ | | | | kernel: Handle kernel capability descriptors
| * common: Add basic bit manipulation utility function to CommonGravatar Lioncash2018-12-212-0/+62
| |
* | common/quaternion: Ensure that w is always initializedGravatar Lioncash2018-12-211-1/+1
|/ | | | | Previously xyz was always being zero initialized due to its constructor, but w wasn't. Ensures that we always have a deterministic initial state.
* Merge pull request #1732 from DarkLordZach/yield-typesGravatar bunnei2018-12-151-0/+16
|\ | | | | svc: Implement yield types 0 and -1
| * scheduler: Add explanations for YieldWith and WithoutLoadBalancingGravatar Zach Hilman2018-11-221-2/+2
| |
| * svc: Implement yield types 0 and -1Gravatar Zach Hilman2018-11-181-0/+16
| |
* | Backport review comment from citra-emu/citra#4418Gravatar Tobias2018-12-071-2/+2
| | | | | | | | Original reason: As Windows multi-byte character codec is unspecified while we always assume std::string uses UTF-8 in our code base, this can output gibberish when the string contains non-ASCII characters. ::OutputDebugStringW combined with Common::UTF8ToUTF16W is preferred here.
* | Merge pull request #1773 from lioncash/threadGravatar bunnei2018-11-232-41/+14
|\ \ | | | | | | common/thread: Minor cleanup
| * | common/thread: Drop Hungarian notation on SetCurrentThreadName's parameterGravatar Lioncash2018-11-221-7/+7
| | | | | | | | | | | | This is inconsistent with our coding style.
| * | common/thread: Make Barrier's 'count' member non-constGravatar Lioncash2018-11-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | While admirable as a means to ensure immutability, this has the unfortunate downside of making the class non-movable. std::move cannot actually perform a move operation if the provided operand has const data members (std::move acts as an operation to "slide" resources out of an object instance). Given Barrier contains move-only types such as std::mutex, this can lead to confusing error messages if an object ever contained a Barrier instance and said object was attempted to be moved.
| * | common/thread: Initialize class member variables where applicableGravatar Lioncash2018-11-211-6/+4
| | | | | | | | | | | | Simplifies the constructor interfaces for Barrier and Event classes.
| * | common/thread: Group non-member functions togetherGravatar Lioncash2018-11-211-3/+2
| | | | | | | | | | | | | | | Keeps the non-member interface in one spot instead of split into two places, making it nicer to locate functions.
| * | common/thread: Remove SleepCurrentThread()Gravatar Lioncash2018-11-212-12/+0
| | | | | | | | | | | | | | | | | | | | | This is also unused and superceded by standard functionality. The standard library provides std::this_thread::sleep_for(), which provides a much more flexible interface, as different time units can be used with it.
| * | common/thread: Remove unused CurrentThreadId()Gravatar Lioncash2018-11-212-12/+0
| | | | | | | | | | | | | | | | | | This is an old function that's no longer necessary. C++11 introduced proper threading support to the language and a thread ID can be retrieved via std::this_thread::get_id() if it's ever needed.
* | | common: Remove bit_set.hGravatar Lioncash2018-11-212-245/+0
|/ / | | | | | | | | | | | | This is an analog of BitSet from Dolphin that was introduced to allow iterating over a set of bits. Given it's currently unused, and given that std::bitset exists, we can remove this. If it's ever needed in the future it can be brought back.
* | Merge pull request #1758 from lioncash/rectGravatar bunnei2018-11-211-11/+5
|\ \ | | | | | | common/math_util: Minor cleanup
| * | common/math_util: Simplify std::make_signed usages to std::make_signed_tGravatar Lioncash2018-11-211-2/+2
| | | | | | | | | | | | Gets rid of the need to use typename to access the ::type alias.
| * | common/math_util: Make Rectangle's constructors constexprGravatar Lioncash2018-11-211-2/+2
| | | | | | | | | | | | | | | Allows objects that contain rectangle instances to be constexpr constructible as well.
| * | common/math_util: Remove unnecessary static from PIGravatar Lioncash2018-11-211-1/+1
| | | | | | | | | | | | const/constexpr variables have internal linkage by default.
| * | common/math_util: Remove unused IntervalsIntersect() functionGravatar Lioncash2018-11-211-6/+0
| | | | | | | | | | | | | | | This hasn't been used since the project started, so we may as well get rid of it to keep it from bit rotting.
* | | common: Remove dependency on xbyakGravatar Lioncash2018-11-213-274/+0
|/ / | | | | | | | | | | | | Xbyak is currently entirely unused. Rather than carting it along, remove it and get rid of a dependency. If it's ever needed in the future, then it can be re-added (and likely be more up to date at that point in time).
* | common/assert: Add UNIMPLEMENTED_IF and UNIMPLEMENTED_IF_MSG for conditional ↵Gravatar Lioncash2018-11-201-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | assertions Currently, there's no way to specify if an assertion should conditionally occur due to unimplemented behavior. This is useful when something is only partially implemented (e.g. due to ongoing RE work). In particular, this would be useful within the graphics code. The rationale behind this is it allows a dev to disable unimplemented feature assertions (which can occur in an unrelated work area), while still enabling regular assertions, which act as behavior guards for conditions or states which must not occur. Previously, the only way a dev could temporarily disable asserts, was to disable the regular assertion macros, which has the downside of also disabling, well, the regular assertions which hold more sanitizing value, as opposed to unimplemented feature assertions.
* | common/assert: Make the UNIMPLEMENTED macro properly assertGravatar Lioncash2018-11-201-1/+1
| | | | | | | | | | | | | | | | Currently, this was only performing a logging call, which doesn't actually invoke any assertion behavior. This is unlike UNIMPLEMENTED_MSG, which *does* assert. This makes the expected behavior uniform across both macros.
* | am: Deglobalize software keyboard appletGravatar Zach Hilman2018-11-182-4/+4
| |
* | string_util: Implement buffer to UTF-16 string helper functionGravatar Zach Hilman2018-11-182-0/+17
|/ | | Needed as most all software keyboard functions use fixed-length UTF16 string buffers.
* Common/Bitfield: store value as unsigned typeGravatar Weiyi Wang2018-11-161-9/+10
| | | | Storing signed type causes the following behaviour: extractValue can do overflow/negative left shift. Now it only relies on two implementation-defined behaviours (which are almost always defined as we want): unsigned->signed conversion and signed right shift
* string_util: Remove ArrayToString()Gravatar Lioncash2018-11-132-21/+0
| | | | | | | | An old function from Dolphin. This is also unused, and pretty inflexible when it comes to printing out different data types (for example, one might not want to print out an array of u8s but a different type instead. Given we use fmt, there's no need to keep this implementation of the function around.
* string_util: Remove TryParse()Gravatar Lioncash2018-11-132-54/+3
| | | | | | This is an unused hold-over from Dolphin that was primarily used to parse values out of the .ini files. Given we already have libraries that do this for us, we don't need to keep this around.
* string_util: Remove ThousandSeparate()Gravatar Lioncash2018-11-131-14/+0
| | | | | This is currently unused and doesn't really provide much value to keep around either.
* Merge pull request #1441 from CarlKenner/DebuggerLogGravatar bunnei2018-11-052-2/+23
|\ | | | | logging: Add DebuggerBackend for logging to Visual Studio
| * logging: Add DebuggerBackend for logging to Visual StudioGravatar Carl Kenner2018-10-072-2/+23
| |
* | compatdb: Use a seperate endpoint for testcase submissionGravatar fearlessTobi2018-10-281-0/+4
| |
* | logging/backend: Add missing services to the log filtersGravatar Lioncash2018-10-232-0/+5
| | | | | | | | Just a few overlooked services.
* | common: Remove memory_util.cpp/.hGravatar Lioncash2018-10-233-200/+0
| | | | | | | | | | | | | | | | Everything from here is completely unused and also written with the notion of supporting 32-bit architecture variants in mind. Given the Switch itself is on a 64-bit architecture, we won't be supporting 32-bit architectures. If we need specific allocation functions in the future, it's likely more worthwhile to new functions for that purpose.
* | only redefine 64 bit file operation for MSVCGravatar Weiyi Wang2018-10-231-5/+8
| | | | | | | | MinGW provides POSIX functions
* | service: Add skeleton for psm serviceGravatar Zach Hilman2018-10-201-0/+1
| | | | | | | | Seems to be the power controller. Listed in switchbrew under the category PTM services.
* | common: Add function for checking word alignment to alignment.hGravatar Lioncash2018-10-181-0/+6
| | | | | | | | | | This will be used in a following change to svcArbitrateLock() and svcArbitrateUnlock()
* | common: Move Is4KBAligned() to alignment.hGravatar Lioncash2018-10-181-0/+6
| | | | | | | | | | Aligning on 4KB pages isn't a Switch-specific thing, so this can be moved to common so it can be used with other things as well.
* | web_backend: Make Client use the PImpl idiomGravatar Lioncash2018-10-101-0/+1
| | | | | | | | | | | | Like with TelemetryJson, we can make the implementation details private and avoid the need to expose httplib to external libraries that need to use the Client class.
* | Merge pull request #1424 from DarkLordZach/ips-witchGravatar bunnei2018-10-082-0/+24
|\ \ | | | | | | ips_layer: Add support for IPSwitch executable patches
| * | ips_layer: Deduplicate resource usageGravatar Zach Hilman2018-10-042-2/+2
| | |
| * | hex_util: Add HexVectorToString and HexStringToVectorGravatar Zach Hilman2018-10-042-0/+24
| | | | | | | | | | | | Converts between bytes and strings when the size is not known at compile time.