Zach Hilman
c643f364b4
am: Implement GetSaveDataSize and ExtendSaveData
These functions come in a pair and are needed by Smash Ultimate, Minecraft, and Skyrim, amongst others.
7 years ago
Zach Hilman
2e6b67a079
filesystem: Populate save data sizes from control data
7 years ago
Zach Hilman
4082c4eda6
savedata_factory: Partially implement IVFC save sizes using files
This stores a file in the save directory called '.yuzu_save_size' which stores the two save sizes (normal area and journaled area) sequentially as u64s.
7 years ago
Zach Hilman
0756f29a2c
loader: Add accessor for game control data
7 years ago
Zach Hilman
417e1ef09c
control_metadata: Update NACP fields with latest Switchbrew data
7 years ago
Zach Hilman
5c4259ec1a
control_metadata: Use value member instead of unique_ptr to store struct
Serves no actual purpose in this instance besides making NACP's copy assignment deleted, which is not intended behavior.
7 years ago
Zach Hilman
4a6ba58073
vfs: Add reinterpret_casts to WriteArray and Object
Allows these functions to compile when T is not u8.
7 years ago
Lioncash
1392597ede
kernel/vm_manager: Reset region attributes when unmapping a VMA
Like the other members related to memory regions, the attributes need to
be reset back to their defaults as well.
7 years ago
Lioncash
0c18d47348
configure_per_general: Mark UI strings as translatable in the constructor
These are user-facing strings, so they should be translatable.
7 years ago
Lioncash
faa9110541
configure_input_simple: Make input profile array constexpr
Calling tr() from a file-scope array isn't advisable, since it can be
executed before the Qt libraries are even fully initialized, which can
lead to crashes.
Instead, the translatable strings should be annotated, and the tr()
function should be called at the string's usage site.
7 years ago
Lioncash
67fa21e143
renderer_opengl: Correct forward declaration of FramebufferLayout
This is actually a struct, not a class, which can lead to compilation
warnings.
7 years ago
Rodolfo Bogado
33056dd833
Apply CC test to the final value to be stored in the register
7 years ago
David
8047873a66
Fixed shader linking error due to TLDS ( #1934 )
* Fixed shader linking error due to TLDS
coord should be coords
* Fix remaining coords
7 years ago
bunnei
7e622c5575
npad: Remove code to invert input in horizontal mode.
- This was incorrect, the game appears to handle this for us.
- Fixes horizontal mode with Puyo Puyo Tetris and Super Mario Odyssey.
7 years ago
ReinUsesLisp
aaa0e6c346
shader_bytecode: Fixup TEXS.F16 encoding
7 years ago
Rodolfo Bogado
bbf8d6bf01
Includde saturation in the evaluation of the control code
7 years ago
Rodolfo Bogado
946777601b
Handle RZ cases evaluating the expression instead of the register value.
7 years ago
Rodolfo Bogado
7e72b5e453
complete emulation of ZeroFlag
7 years ago
Lioncash
acddf16e57
common/quaternion: Ensure that w is always initialized
Previously xyz was always being zero initialized due to its constructor,
but w wasn't. Ensures that we always have a deterministic initial state.
7 years ago
bunnei
1120e0b4d2
hid: Fix SetNpadJoyHoldType and improve logging.
7 years ago
Lioncash
002ae08bbd
kernel/process: Hook up the process capability parser to the process itself
While we're at it, we can also toss out the leftover capability parsing
from Citra.
7 years ago
Lioncash
d09fb82113
kernel/process_capability: Handle debug capability flags
7 years ago
Lioncash
10824c5d63
kernel/process_capability: Handle handle table capability flags
This just specifies the handle table size. There's also a section of
reserved bits that are checked against.
7 years ago
Lioncash
e0e84aede0
kernel/process_capability: Handle kernel version capability flags
7 years ago
Lioncash
010bc677f3
kernel/process_capability: Handle program capability flags
7 years ago
Lioncash
0f216d20e3
kernel/process_capability: Handle interrupt capability flags
Similar to the service capability flags, however, we currently don't
emulate the GIC, so this currently handles all interrupts as being valid
for the time being.
7 years ago
Lioncash
3dc59b74ec
kernel/process_capability: Handle syscall capability flags
7 years ago
Lioncash
27caf71204
kernel/process_capability: Handle the priority mask and core mask flags
Handles the priority mask and core mask flags to allow building up the
masks to determine the usable thread priorities and cores for a kernel
process instance.
7 years ago
Lioncash
6ff5135521
kernel/process: Introduce process capability parsing skeleton
We've had the old kernel capability parser from Citra, however, this is
unused code and doesn't actually map to how the kernel on the Switch
does it. This introduces the basic functional skeleton for parsing
process capabilities.
7 years ago
Lioncash
fc8da2d5e3
common: Add basic bit manipulation utility function to Common
7 years ago
Lioncash
b74eb88c68
kernel/svc: Handle thread handles within GetProcessId
If a thread handle is passed to svcGetProcessId, the kernel attempts to
access the process ID via the thread's instance's owning process.
Technically, this function should also be handling the kernel debug
objects as well, however we currently don't handle those kernel objects
yet, so I've left a note via a comment about it to remind myself when
implementing it in the future.
7 years ago
Lioncash
caab838bdb
svc: Implement svcSetMemoryAttribute
With all the basic backing functionality implemented, we can now unstub
svcSetMemoryAttribute.
7 years ago
Lioncash
622242e345
vm_manager: Add member function for setting memory attributes across an address range
This puts the backing functionality for svcSetMemoryAttribute in place,
which will be utilized in a following change.
7 years ago
Lioncash
603cc72168
vm_manager: Add member function for checking a memory range adheres to certain attributes, permissions and states
7 years ago
Lioncash
62d4377053
kernel/kernel: Use correct initial PID for userland Process instances
Starts the process ID counter off at 81, which is what the kernel itself
checks against internally when creating processes. It's actually
supposed to panic if the PID is less than 81 for a userland process.
7 years ago
Lioncash
0906302ca9
kernel/svc: Correct output parameter for svcGetThreadId
The service call uses a 64-bit value, just like svcGetProcessId. This
amends the function signature accordingly.
7 years ago
Lioncash
8435451093
kernel/thread: Make thread_id a 64-bit value
The kernel uses a 64-bit value for the thread ID, so we shouldn't be
using a 32-bit value.
7 years ago
Lioncash
43e1189688
kernel/svc: Correct output parameter for svcGetProcessId
svcGetProcessId's out parameter is a pointer to a 64-bit value, not a
32-bit one.
7 years ago
Lioncash
9b3a38e3d3
kernel/process: Make process_id a 64-bit value
In the actual kernel, this is a 64-bit value, so we shouldn't be using a
32-bit type to handle it.
7 years ago
David Marcec
807e7640aa
Device handle should not be a random id, instead it's the current npad id
Found during hardware testing
7 years ago
David Marcec
20859802f0
hopefully fix clang format issue
7 years ago
David Marcec
fdd649e2ef
Fixed uninitialized memory due to missing returns in canary
Functions which are suppose to crash on non canary builds usually don't return anything which lead to uninitialized memory being used.
7 years ago
Lioncash
2a533f0067
service/sm: Improve debug log for RegisterService
Now it also indicates the name and max session count. This also gives a
name to the unknown bool. This indicates if the created port is supposed
to be using light handles or regular handles internally. This is passed
to the respective svcCreatePort parameter internally.
7 years ago
zhupengfei
a2be49305d
yuzu, video_core: Screenshot functionality
Allows capturing screenshot at the current internal resolution (native for software renderer), but a setting is available to capture it in other resolutions. The screenshot is saved to a single PNG in the current layout.
7 years ago
heapo
37280cf555
Texture format fixes: Flag RGBA16UI as GL_RGBA_INTEGER format, and interpret R16U as Z16 when depth_compare is enabled.
7 years ago
MerryMage
eef6ce79a9
kernel/thread: Set default fpcr
7 years ago
MerryMage
fd2c42bfcd
arm_dynarmic: Set CNTFRQ value
7 years ago
ReinUsesLisp
ef061481c5
shader_bytecode: Fixup half float's operator B encoding
7 years ago
Lioncash
dd272298aa
service/am: Unstub GetAppletResourceUserId
This is supposed to return the current process' ID. (0 indicates an
invalid ID for both process IDs and ARU IDs).
7 years ago
heapo
72599cc667
Implement postfactor multiplication/division for fmul instructions
7 years ago