| Age | Commit message (Collapse) | Author |
|
video_core/engines: Remove unnecessary includes
|
|
We already have the thread instance that was created under the current
process, so we can just pass the handle table of it along to retrieve
the owner of the mutex.
|
|
Removes a few unnecessary dependencies on core-related machinery, such
as the core.h and memory.h, which reduces the amount of rebuilding
necessary if those files change.
This also uncovered some indirect dependencies within other source
files. This also fixes those.
|
|
Makes it much nicer to locally reason about server session behavior, as
part of its functionality isn't placed around other classes.
|
|
These can be made private, as they aren't accessed in contexts that
require them to be public.
|
|
Places all error codes in an easily includable header.
This also corrects the unsupported error code (I accidentally used the
hex value when I meant to use the decimal one).
|
|
Allows getting rid of reliance on the global accessor functions and
instead operating on the provided system instance.
|
|
- Invert conditions into guard clases where applicable.
- Mark std::vector parameter of WakeThreads as const
|
|
Places all of the functions for address arbiter operation into a class.
This will be necessary for future deglobalizing efforts related to both
the memory and system itself.
|
|
This isn't needed anymore, according to Hexagon
|
|
This is a TODO carried over from Citra that doesn't apply here.
|
|
Removes a few inclusion dependencies from the headers or replaces
existing ones with ones that don't indirectly include the required
headers.
This allows removing an inclusion of core/memory.h, meaning that if the
memory header is ever changed in the future, it won't result in
rebuilding the entirety of the HLE services (as the IPC headers are used
quite ubiquitously throughout the HLE service implementations).
|
|
Port citra-emu/citra#4630: "Memory: don't lock hle mutex in memory read/write"
|
|
Addresses issues where a user in fullscreen could not exit some web applets without leaving fullscreen.
|
|
Significantly tidies up two guard conditionals.
|
|
Makes the interface uniform when it comes to checking various memory
regions.
|
|
Avoids directly relying on the global system instance and instead makes
an arbitrary system instance an explicit dependency on construction.
This also allows removing dependencies on some global accessor functions
as well.
|
|
Create()
Given we already pass in a reference to the kernel that the shared
memory instance is created under, we can just use that to check the
current process, rather than using the global accessor functions.
This allows removing direct dependency on the system instance entirely.
|
|
Provides a bit of a more proper interface for these functions.
|
|
gl_rasterizer: Unbind textures but don't apply the gl_state
|
|
logging/backend: Move CreateEntry into the Impl class. Relocate local static to a class variable
|
|
With all usages converted off of it, this function can be removed.
|
|
In these cases the system object is nearby, and in the other, the
long-form of accessing the telemetry instance is already used, so we can
get rid of the use of the global accessor.
|
|
in main()
We already have the system instance around, so we can use that instead
of the accessor.
|
|
Shutdown()
The telemetry instance is actually a member of the class itself, so we
can access it directly instead of going through the global accessor.
|
|
accessors
We already pass a reference to the system object to the constructor of the renderer,
so we can just use that instead of using the global accessor functions.
|
|
|
|
web_service: Remove unnecessary inclusions
|
|
Reduces the potential amount of rebuilding necessary if any headers
change. In particular, we were including a header from the core library
when we don't even link the core library to the web_service library, so
this also gets rid of an indirect dependency.
|
|
Port citra-emu/citra#4647: "citra_qt/main: make SPEED_LIMIT_STEP static constexpr"
|
|
Moves local global state into the Impl class itself and initializes it
at the creation of the instance instead of in the function.
This makes it nicer for weakly-ordered architectures, given the
CreateEntry() class won't need to have atomic loads executed for each
individual call to the CreateEntry class.
|
|
This function is only ever used within this source file and makes it
easier to remove static state in the following change.
|
|
vk_buffer_cache: Fix clang-format
|
|
|
|
Any SDL invocation can call the even callback on the same thread, which can call GetSDLJoystickBySDLID and eventually cause double lock on joystick_map_mutex. To avoid this, lock guard should be placed as closer as possible to the object accessing code, so that any SDL invocation is with the mutex unlocked
|
|
Changes the interface as well to remove any unique methods that
frontends needed to call such as StartJoystickEventHandler by
conditionally starting the polling thread only if the frontend hasn't
started it already. Additionally, moves all global state into a single
SDLState class in order to guarantee that the destructors are called in
the proper order
|
|
This should make reviewing much easier as you can then see what changed
happened between the old file and the new one
|
|
MSVC does not seem to like using constexpr values in a lambda that were declared outside of it.
Previously on MSVC build the hotkeys to inc-/decrease the speed limit were not working correctly because in the lambda the SPEED_LIMIT_STEP had garbage values.
After googling around a bit I found: https://github.com/codeplaysoftware/computecpp-sdk/issues/95 which seems to be a similar issue.
Trying the suggested fix to make the variable static constexpr also fixes the bug here.
|
|
The comment already invalidates itself: neither MMIO nor rasterizer cache belongsHLE kernel state. This mutex has a too large scope if MMIO or cache is included, which is prone to dead lock when multiple thread acquires these resource at the same time. If necessary, each MMIO component or rasterizer should have their own lock.
|
|
fuck git for ruining my day, I will learn but I will not forgive
|
|
|
|
vk_buffer_cache: Implement a buffer cache
|
|
|
|
This buffer cache is just like OpenGL's buffer cache with some minor
style changes. It uses VKStreamBuffer.
|
|
yuzu/compatdb: Remove unused lambda capture
|
|
service/audio: Provide an implementation of ExecuteAudioRendererRendering
|
|
This currently has the same behavior as the regular
OpenAudioRenderer API function, so we can just move the code within
OpenAudioRenderer to an internal function that both service functions
call.
|
|
This service function appears to do nothing noteworthy on the switch.
All it does at the moment is either return an error code or abort the
system. Given we obviously don't want to kill the system, we just opt
for always returning the error code.
|
|
Unbinding was required when OpenGL delete operations didn't unbind a
resource if it was bound. This is no longer needed and can be removed.
|
|
|