Rodolfo Bogado
aa86cd851e
Add missing uintBitsToFloat to SetRegisterToHalfFloat
7 years ago
Zach Hilman
9121887ae4
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
346c6291df
filesystem: Populate save data sizes from control data
7 years ago
Zach Hilman
cfb21a8781
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
8916266110
loader: Add accessor for game control data
7 years ago
Zach Hilman
80ae27c5fc
control_metadata: Update NACP fields with latest Switchbrew data
7 years ago
Zach Hilman
8e1160d668
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
f6755b94db
vfs: Add reinterpret_casts to WriteArray and Object
Allows these functions to compile when T is not u8.
7 years ago
Lioncash
b51e57a751
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
ba343cf922
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
bd56fa947d
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
21dec95072
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
50a48fe118
Apply CC test to the final value to be stored in the register
7 years ago
David
615a0df6b6
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
015093c1dd
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
a04b5e9a42
shader_bytecode: Fixup TEXS.F16 encoding
7 years ago
Rodolfo Bogado
6ef7d94656
Includde saturation in the evaluation of the control code
7 years ago
Rodolfo Bogado
fd77c416fd
Handle RZ cases evaluating the expression instead of the register value.
7 years ago
Rodolfo Bogado
0ebab7e4c6
complete emulation of ZeroFlag
7 years ago
Lioncash
8734a27b8d
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
7f47320f34
hid: Fix SetNpadJoyHoldType and improve logging.
7 years ago
Lioncash
b221836d5d
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
d7e7faa0de
kernel/process_capability: Handle debug capability flags
7 years ago
Lioncash
1239d16371
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
55e371a3a1
kernel/process_capability: Handle kernel version capability flags
7 years ago
Lioncash
4fbfde34a1
kernel/process_capability: Handle program capability flags
7 years ago
Lioncash
1ae0cc696c
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
e638febf50
kernel/process_capability: Handle syscall capability flags
7 years ago
Lioncash
ded092a438
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
c5c8b2ffb9
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
0a9a9e9b80
common: Add basic bit manipulation utility function to Common
7 years ago
Lioncash
9a15fbc673
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
9ba5cae7fc
svc: Implement svcSetMemoryAttribute
With all the basic backing functionality implemented, we can now unstub
svcSetMemoryAttribute.
7 years ago
Lioncash
46569d15bd
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
11c3bd213d
vm_manager: Add member function for checking a memory range adheres to certain attributes, permissions and states
7 years ago
Lioncash
d15a67cd16
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
60661a4fd9
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
bf75c5f45c
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
7755331f46
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
b6947f8d6d
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
5bd0ff8f77
Device handle should not be a random id, instead it's the current npad id
Found during hardware testing
7 years ago
David Marcec
4568a12f6d
hopefully fix clang format issue
7 years ago
David Marcec
1dfb0a513a
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
479a873d97
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
2dbb90ed65
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
aee93ff8cf
Texture format fixes: Flag RGBA16UI as GL_RGBA_INTEGER format, and interpret R16U as Z16 when depth_compare is enabled.
7 years ago
MerryMage
2a92de65fa
kernel/thread: Set default fpcr
7 years ago
MerryMage
2c84e1e63d
arm_dynarmic: Set CNTFRQ value
7 years ago
ReinUsesLisp
40f57b087c
shader_bytecode: Fixup half float's operator B encoding
7 years ago
Lioncash
3204df8a21
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