- 30 Sep, 2018 7 commits
-
-
bunnei authored
svc: Implement svcGetThreadContext
-
Merry authored
Port citra-emu/citra#4269: "OSX: Set MACOSX_DEPLOYMENT_TARGET to 10.13"
-
B3n30 authored
-
Lioncash authored
Now that we have all of the rearranging and proper structure sizes in place, it's fairly trivial to implement svcGetThreadContext(). In the 64-bit case we can more or less just write out the context as is, minus some minor value sanitizing. In the 32-bit case we'll need to clear out the registers that wouldn't normally be accessible from a 32-bit AArch32 exectuable (or process).
-
Lioncash authored
This will be necessary for the implementation of svcGetThreadContext(), as the kernel checks whether or not the process that owns the thread that has it context being retrieved is a 64-bit or 32-bit process. If the process is 32-bit, then the upper 15 general-purpose registers and upper 16 vector registers are cleared to zero (as AArch32 only has 15 GPRs and 16 128-bit vector registers. not 31 general-purpose registers and 32 128-bit vector registers like AArch64).
-
Lioncash authored
Makes the public interface consistent in terms of how accesses are done on a process object. It also makes it slightly nicer to reason about the logic of the process class, as we don't want to expose everything to external code.
-
Lioncash authored
Internally within the kernel, it also includes a member variable for the floating-point status register, and TPIDR, so we should do the same here to match it. While we're at it, also fix up the size of the struct and add a static assertion to ensure it always stays the correct size.
-
- 29 Sep, 2018 7 commits
-
-
bunnei authored
loader: Make the Load() function take a process as a regular reference, not a SharedPtr
-
Lioncash authored
A process should never require being reference counted in this situation. If the handle to a process is freed before this function is called, it's definitely a bug with our lifetime management, so we can put the requirement in place for the API that the process must be a valid instance.
-
bunnei authored
Port citra-emu/citra#4258: "Meta: Add gitattributes file"
-
bunnei authored
kernel/object: Remove unnecessary std::move from DynamicObjectCast()
-
bunnei authored
video_core: Implement point_size and add point state sync
-
bunnei authored
gl_state: Pack sampler bindings into a single ARB_multi_bind
-
bunnei authored
process/vm_manager: Initial modifications to load NPDM metadata
-
- 28 Sep, 2018 3 commits
-
-
Lioncash authored
boost::static_pointer_cast for boost::intrusive_ptr (what SharedPtr is), takes its parameter by const reference. Given that, it means that this std::move doesn't actually do anything other than obscure what the function's actual behavior is, so we can remove this. To clarify, this would only do something if the parameter was either taking its argument by value, by non-const ref, or by rvalue-reference.
-
ReinUsesLisp authored
-
ReinUsesLisp authored
-
- 27 Sep, 2018 6 commits
-
-
bunnei authored
Port citra-emu/citra#3979 game_list: move SearchField to game_list_p.h and fix untranslated text
-
bunnei authored
stream: Preserve enum class type in GetState()
-
Mat M authored
FPCR register was uninitialized at start up
-
bunnei authored
CMake: Remove superfluous CMAKE_RUNTIME_OUTPUT_DIRECTORY assignment
-
bunnei authored
Improved Fast Swizzle and Legacy Swizzle
-
bunnei authored
fsmitm_romfsbuild: Minor changes
-
- 26 Sep, 2018 17 commits
-
-
Lioncash authored
Avoids making copies of large std::vector instances where it's trivially avoidable to do so.
-
Lioncash authored
Theres no need to do explicit bitwise arithmetic here, when we have a function that does this with a more descriptive name.
-
bunnei authored
kernel/scheduler: Take ARM_Interface instances by reference
-
bunnei authored
service: Add missing headers inclusions where applicable
-
bunnei authored
video_core: Add asserts for CS, TFB and alpha testing
-
bunnei authored
vfs: Minor cleanup related changes to layered VFS code
-
bunnei authored
travis: Make macOS builds utilize Xcode 10
-
Lioncash authored
Avoids the need to nest code quite a bit by early-exiting in error cases.
-
ReinUsesLisp authored
Add asserts for compute shader dispatching, transform feedback being enabled and alpha testing. These have in common that they'll probably break rendering without logging.
-
Lioncash authored
Orders the initializer list members to be in the same order that they would be initialized in. Avoids compiler warnings.
-
Lioncash authored
Cast where explicitly necessary and in other cases we can simply modify the algorithm to accomodate larger data.
-
Lioncash authored
fsmitm_romfsbuild: Remove unnecessary constructors and initializers for RomFSBuildFileContext and RomFSBuildDirectoryContext There's no need to duplicate in-class initializers with a constructor initializer list. std::strings also initialize to empty by default.
-
Lioncash authored
The std::vector instances are already initially allocated with all entries having these values, there's no need to loop through and fill them with it again when they aren't modified.
-
Lioncash authored
auto x = 0; auto-deduces x to be an int. This is undesirable when working with unsigned values. It also causes sign conversion warnings. Instead, we can make it a proper unsigned value with the correct width that the following expressions operate on.
-
Lioncash authored
Ternary operators have a lower precedence than arithmetic operators, so what was actually occurring here is "return (out + full) ? x : y" which most definitely isn't intended, given we calculate out recursively above. We were essentially doing a lot of work for nothing.
-
Lioncash authored
This can cause warnings about static constructors, and is also not ideal performance-wise due to the indirection through std::function. This also keeps the behavior itself separate from the surrounding code, which can make it nicer to read, due to the size of the code.
-
Lioncash authored
Given we just recently had a patch backport this from citra, let's try and keep the convention uniform.
-