Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
core/memory: Deglobalize memory management code
|
|
filesys/romfs: Make ProcessFile and ProcessDirectory internally linked
|
|
enabled (#3178)
* Adds check for disabled cheats to prevent them from being added to the CheatList
* Address feedback
|
|
file_sys/directory: Make EntryType an enum class
|
|
video_core/gpu_thread: Tidy up SwapBuffers()
|
|
We can just use std::nullopt and std::make_optional to make this a
little bit less noisy.
|
|
video_core/const_buffer_locker: Remove #pragma once from cpp file
|
|
Tidies it up a little bit visually.
|
|
|
|
Silences a compiler warning.
|
|
These inclusions aren't used at all within the public interface, so they
can be removed.
|
|
These functions aren't used outside of this file, so we can place them
within an anonymous namespace.
|
|
This can trivially be an enum class rather than a regular enum, making
it more strongly typed.
|
|
Now that literally every other API function is converted over to the
Memory class, we can just move the file-local page table into the Memory
implementation class, finally getting rid of global state within the
memory code.
|
|
Now that everything else is migrated over, this is essentially just code
relocation and conversion of a global accessor to the class member
variable.
All that remains is to migrate over the page table.
|
|
The Write functions are used slightly less than the Read functions,
which make these a bit nicer to move over.
The only adjustments we really need to make here are to Dynarmic's
exclusive monitor instance. We need to keep a reference to the currently
active memory instance to perform exclusive read/write operations.
|
|
With all of the trivial parts of the memory interface moved over, we can
get right into moving over the bits that are used.
Note that this does require the use of GetInstance from the global
system instance to be used within hle_ipc.cpp and the gdbstub. This is
fine for the time being, as they both already rely on the global system
instance in other functions. These will be removed in a change directed
at both of these respectively.
For now, it's sufficient, as it still accomplishes the goal of
de-globalizing the memory code.
|
|
These currently aren't used anywhere in the codebase, so these are very
trivial to move over to the Memory class.
|
|
This is only used within the accelerated rasterizer in two places, so
this is also a very trivial migration.
|
|
This only had one usage spot, so this is fairly straightforward to
convert over.
|
|
With all of the interfaces ready for migration, it's trivial to migrate
over GetPointer().
|
|
Amends a few interfaces to be able to handle the migration over to the
new Memory class by passing the class by reference as a function
parameter where necessary.
Notably, within the filesystem services, this eliminates two ReadBlock()
calls by using the helper functions of HLERequestContext to do that for
us.
|
|
anonymous namespace
These will eventually be migrated into the main Memory class, but for
now, we put them in an anonymous namespace, so that the other functions
that use them, can be migrated over separately.
|
|
A fairly straightforward migration. These member functions can just be
mostly moved verbatim with minor changes. We already have the necessary
plumbing in places that they're used.
IsKernelVirtualAddress() can remain a non-member function, since it
doesn't rely on class state in any form.
|
|
Migrates all of the direct mapping facilities over to the new memory
class. In the process, this also obsoletes the need for memory_setup.h,
so we can remove it entirely from the project.
|
|
Currently, the main memory management code is one of the remaining
places where we have global state. The next series of changes will aim
to rectify this.
This change simply introduces the main skeleton of the class that will
contain all the necessary state.
|
|
gl_device: Deduce indexing bug from device instead of heuristic
|
|
* core_timing: Use better reference tracking for EventType.
- Moves ownership of the event to the caller, ensuring we don't fire events for destroyed objects.
- Removes need for unique names - we won't be using this for save states anyways.
|
|
gl_shader_decompiler: Fix casts from fp32 to fp16
|
|
kernel: Fix reference management for client/server session.
|
|
Casts from f32 to f16 zeroes the higher half of the target register.
|
|
- Fixes shutdown crash and crash in Pokemon SwSh.
|
|
The heuristic to detect AMD's driver was not working properly since it
also included Intel. Instead of using heuristics to detect it, compare
the GL_VENDOR string.
|
|
ci: Continue pipeline on clang format failure
|
|
|
|
gl_texture_cache: Apply sRGB on blits
|
|
service: Update function tables
|
|
gpu_thread: Don't spin wait if there are no GPU commands.
|
|
kernel objects. (#3154)
* kernel: Replace usage of boost::intrusive_ptr with std::shared_ptr for kernel objects.
- See https://github.com/citra-emu/citra/pull/4710 for details.
|
|
gl_shader_cache: Miscellaneous changes to shaders
|
|
glBlitFramebuffer keeps in mind GL_FRAMEBUFFER_SRGB's state. Enable this
depending on the target surface pixel format.
|