- 23 Apr, 2018 1 commit
-
-
Subv authored
Verified with a hwtest and implemented based on reverse engineering. Thread A's priority will get bumped to the highest priority among all the threads that are waiting for a mutex that A holds. Once A releases the mutex and ownership is transferred to B, A's priority will return to normal and B's priority will be bumped.
-
- 21 Apr, 2018 6 commits
-
-
Subv authored
-
Subv authored
-
Subv authored
-
Subv authored
-
Subv authored
They work in tandem with guest code to provide synchronization primitives along with svcArbitrateLock/Unlock
-
Subv authored
Switch mutexes are no longer kernel objects, they are managed in userland and only use the kernel to handle the contention case. Mutex addresses store a special flag value (0x40000000) to notify the guest code that there are still some threads waiting for the mutex to be released. This flag is updated when a thread calls ArbitrateUnlock. TODO: * Fix svcWaitProcessWideKey * Fix svcSignalProcessWideKey * Remove the Mutex class.
-
- 20 Apr, 2018 32 commits
-
-
bunnei authored
math_util: Remove the Clamp() function
-
bunnei authored
common_types: Minor changes
-
Lioncash authored
C++17 adds clamp() to the standard library, so we can remove ours in favor of it.
-
bunnei authored
externals: Update dynarmic to HEAD
-
bunnei authored
service: Use nested namespace specifiers where applicable
-
bunnei authored
common/thread: Remove unnecessary feature checking for thread_local
-
bunnei authored
common_funcs: Remove check for VS versions that we don't even support
-
bunnei authored
common_funcs: Remove ARRAY_SIZE macro
-
bunnei authored
vector_math: Remove AsArray() and Write() functions from Vec[2,3,4]
-
bunnei authored
common: Remove code_block.h
-
Lioncash authored
-
Lioncash authored
These are all unused and the Write() ones should arguably not even be in the interface. There are better ways to provide this if we ever need it (like iterators).
-
Lioncash authored
We use dynarmic, so this is unued. Anything else we need will likely use Xbyak, so this header isn't necessary any more.
-
Lioncash authored
Every compiler we require already supports it.
-
Lioncash authored
C++17 has non-member size() which we can just call where necessary.
-
Lioncash authored
We don't support any VS versions that don't already have snprintf in the standard library implementation.
-
Lioncash authored
May as well while we're making changes to this file.
-
Lioncash authored
VS has supported this for quite a while.
-
Lioncash authored
Tidies up namespace declarations
-
bunnei authored
renderer_opengl: Add missing header guards
-
bunnei authored
disk_filesystem: Minor changes
-
bunnei authored
vi: Remove redundant initializers in the constructors
-
Lioncash authored
-
Lioncash authored
-
Lioncash authored
-
Lioncash authored
-
Lioncash authored
-
bunnei authored
glsl_shader_decompiler: Minor API changes to ShaderWriter
-
bunnei authored
ShaderGen: Fixed TEXS overriding its own texcoords and implemented fmul32i
-
Lioncash authored
This function doesn't need to take ownership of the string data being given to it, considering all we do is append the characters to the internal string instance. Instead, use a string view to simply reference the string data without any potential heap allocation. Now anything that is a raw const char* won't need to be converted to a std::string before appending.
-
Lioncash authored
Avoids constructing a std::string just to append a newline character
-
Lioncash authored
Avoids constructing a std::string just to append a character.
-
- 19 Apr, 2018 1 commit
-
-
Lioncash authored
The interface of std::string already lets us append N copies of a character to an existing string.
-