Age | Commit message (Collapse) | Author |
|
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.
|
|
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.
|
|
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.
|
|
gl_shader_decompiler: Implement BFI_IMM_R
|
|
service/sm: Take std::string by const reference in UnregisterService
|
|
gl_shader_decompiler: Implement R2P_IMM
|
|
Fixed Coordinate Encodings in TEX and TEXS instructions
|
|
gl_shader_decompiler: Implement clip distances
|
|
video_core: Move morton functions out of gl_rasterizer_cache
|
|
|
|
nvdrv: Implement/stub DumpGraphicsMemoryInfo and GetStatus.
|
|
memory_manager: Do not allow 0 to be a valid GPUVAddr.
|
|
|
|
|
|
|
|
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.
|
|
sm: Implement RegisterService and UnregisterService
|
|
filesystem: Clear registered union paths on factory creation
|
|
Update OpenGL's backend version from 3.3 to 4.3
|
|
Add support for clear_flags register
|
|
GDBStub Improvements
|
|
Report resolution scaling support for vi and am
|
|
patch_manager: Add support for applying LayeredFS patches to ExeFS
|
|
gl_shader_decompiler: Rename cc to condition code and name internal flags
|
|
- Used by Undertale.
|
|
|
|
|
|
|
|
|
|
shader_cache: Only lock covered instructions.
|
|
software_keyboard: Minor changes
|
|
- Fixes a bug with Undertale using 0 for a render target.
|
|
applets: Add StubApplet and use it as fallback when AppletId is not implemented
|
|
core: Relocate CPU core management to its own class
|
|
common/thread: Minor cleanup
|
|
* Added predicate comparison LessEqualWithNan
* oops
* Clang fix
|
|
gl_shader_decompiler: Fix register overwriting on texture calls
|
|
Properly Implemented TXQ Instruction
|
|
nvhost_ctrl_gpu: Implement IoctlGetGpuTime.
|
|
|
|
|
|
|
|
Prevents memory exceptions when the debug pad is enabled.
|
|
maxwell_3d: Implement alternate blend equations.
|
|
audout_u: Add support for multiple IAudioOut streams.
|
|
macro_interpreter: Implement AddWithCarry and SubtractWithBorrow.
|
|
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.
|
|
- Used by Undertale.
|
|
- Used by Undertale.
|
|
- Used by Undertale.
|