- Nov 27, 2018
-
-
bunnei authored
- More accurate impl., fixes Undertale (among other games).
-
Lioncash authored
The opposite of the getter functions, this function sets the limit value for a particular ResourceLimit resource category, with the restriction that the new limit value must be equal to or greater than the current resource value. If this is violated, then ERR_INVALID_STATE is returned. e.g. Assume: current[Events] = 10; limit[Events] = 20; a call to this service function lowering the limit value to 10 would be fine, however, attempting to lower it to 9 in this case would cause an invalid state error.
-
Lioncash authored
This kernel service function is essentially the exact same as svcGetResourceLimitLimitValue(), with the only difference being that it retrieves the current value for a given resource category using the provided resource limit handle, rather than retrieving the limiting value of that resource limit instance. Given these are exactly the same and only differ on returned values, we can extract the existing code for svcGetResourceLimitLimitValue() to handle both values.
-
Lioncash authored
This kernel service function retrieves the maximum allowable value for a provided resource category for a given resource limit instance. Given we already have the functionality added to the resource limit instance itself, it's sufficient to just hook it up. The error scenarios for this are: 1. If an invalid resource category type is provided, then ERR_INVALID_ENUM is returned. 2. If an invalid handle is provided, then ERR_INVALID_HANDLE is returned (bad thing goes in, bad thing goes out, as one would expect). If neither of the above error cases occur, then the out parameter is provided with the maximum limit value for the given category and success is returned.
-
Lioncash authored
This function simply creates a ResourceLimit instance and attempts to create a handle for it within the current process' handle table. If the kernal fails to either create the ResourceLimit instance or create a handle for the ResourceLimit instance, it returns a failure code (OUT_OF_RESOURCE, and HANDLE_TABLE_FULL respectively). Finally, it exits by providing the output parameter with the handle value for the ResourceLimit instance and returning that it was successful. Note: We do not return OUT_OF_RESOURCE because, if yuzu runs out of available memory, then new will currently throw. We *could* allocate the kernel instance with std::nothrow, however this would be inconsistent with how all other kernel objects are currently allocated.
-
- Nov 26, 2018
-
-
Marcos authored
* GPU States: Implement Polygon Offset. This is used in SMO all the time. * Clang Format fixes. * Initialize polygon_offset in the constructor.
-
- Nov 25, 2018
-
-
Luke Street authored
-
Rodolfo Bogado authored
-
ReinUsesLisp authored
-
ReinUsesLisp authored
-
ReinUsesLisp authored
-
- Nov 24, 2018
-
-
FernandoS27 authored
-
FernandoS27 authored
-
Rodolfo Bogado authored
-
Lioncash authored
Avoids the need to create a copy of the std::string instance (potentially allocating). The only reason RegisterService takes its argument by value is because it's std::moved internally.
-
bunnei authored
- Used by Undertale.
-
Rodolfo Bogado authored
-
FernandoS27 authored
-
FernandoS27 authored
-
FernandoS27 authored
-
- Nov 23, 2018
-
-
bunnei authored
- Fixes a bug with Undertale using 0 for a render target.
-
Hexagon12 authored
* Added predicate comparison LessEqualWithNan * oops * Clang fix
-
ReinUsesLisp authored
-
- Nov 22, 2018
-
-
Zach Hilman authored
-
ReinUsesLisp authored
-
Zach Hilman authored
Prevents memory exceptions when the debug pad is enabled.
-
Lioncash authored
Keeps the CPU-specific behavior from being spread throughout the main System class. This will also act as the home to contain member functions that perform operations on all cores. The reason for this being that the following pattern is sort of prevalent throughout sections of the codebase: If clearing the instruction cache for all 4 cores is necessary: Core::System::GetInstance().ArmInterface(0).ClearInstructionCache(); Core::System::GetInstance().ArmInterface(1).ClearInstructionCache(); Core::System::GetInstance().ArmInterface(2).ClearInstructionCache(); Core::System::GetInstance().ArmInterface(3).ClearInstructionCache(); This is kind of... well, silly to copy around whenever it's needed. especially when it can be reduced down to a single line. This change also puts the basics in place to begin "ungrafting" all of the forwarding member functions from the System class that are used to access CPU state or invoke CPU-specific behavior. As such, this change itself makes no changes to the direct external interface of System. This will be covered by another changeset.
-
bunnei authored
- Used by Undertale.
-
bunnei authored
- Used by Undertale.
-
bunnei authored
- Used by Undertale.
-
Lioncash authored
This is inconsistent with our coding style.
-
Lioncash authored
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.
-
Lioncash authored
Simplifies the constructor interfaces for Barrier and Event classes.
-
Lioncash authored
Keeps the non-member interface in one spot instead of split into two places, making it nicer to locate functions.
-
Lioncash authored
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.
-
Lioncash authored
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.
-
Lioncash authored
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.
-
Zach Hilman authored
This will log all data it receives, log all calls to its methods and push dummy data into both channels on execution.
-
ReinUsesLisp authored
-
ReinUsesLisp authored
-