Age | Commit message (Collapse) | Author |
|
This is a hack to destroy all HostCounter instances before the base
class destructor is called. The query cache should be redesigned to have
a proper ownership model instead of using shared pointers.
For now, destroy the host counter hierarchy from the derived class
destructor.
|
|
This reworks how host<->device synchronization works on the Vulkan
backend. Instead of "protecting" resources with a fence and signalling
these as free when the fence is known to be signalled by the host GPU,
use timeline semaphores.
Vulkan timeline semaphores allow use to work on a subset of D3D12
fences. As far as we are concerned, timeline semaphores are a value set
by the host or the device that can be waited by either of them.
Taking advantange of this, we can have a monolithically increasing
atomic value for each submission to the graphics queue. Instead of
protecting resources with a fence, we simply store the current logical
tick (the atomic value stored in CPU memory). When we want to know if a
resource is free, it can be compared to the current GPU tick.
This greatly simplifies resource management code and the free status of
resources should have less false negatives.
To workaround bugs in validation layers, when these are attached there's
a thread waiting for timeline semaphores.
|
|
video_core: Enforce -Werror=switch
|
|
bis_factory/romfs_factory: Eliminate dependencies on the global system instance
|
|
|
|
|
|
|
|
core/loader: Remove dependencies on the global system instance
|
|
This forces us to fix all -Wswitch warnings in video_core.
|
|
Now all that remains is:
18 instances in file_sys code
14 instances in GDB stub code (this can be tossed wholesale)
4 instances in HLE code
2 instances in settings code.
|
|
nca_patch: Reduce stack usage size within SearchBucketEntry()
|
|
cheat_engine: Remove unnecessary system argument to CheatParser's Parse function
|
|
Previously this function was using ~16KB of stack (16528 bytes), which
was caused by the function arguments being taken by value rather than by
reference.
We can make this significantly lighter on the stack by taking them by
reference.
|
|
This is only used internally and doesn't depend on any class state, so
we can make it fully internal.
|
|
We don't need to create two separate instantiations of the same code, we
can simply make the character template argument a regular function
parameter.
|
|
This isn't used within the function at all in any implementations, so we
can remove it entirely.
|
|
patch_manager: Minor cleanup
|
|
We make it explicit that we're truncating arithmetic here to resolve
compiler warnings (even if the sizes weren't u32/u64 arithmetic
generally promotes to int :<)
|
|
We can use these to avoid typing the same type redundantly. This way, if
these ever change, only a single location needs to be modified.
|
|
These functions are only used within this translation unit, so we can
make them internally linked.
|
|
crypto/key_manager: Remove dependency on the global system accessor
|
|
We can supply the content provider as an argument instead of hardcoding
a global accessor in the implementation.
|
|
kernel: Remove all dependencies on the global system instance
|
|
With this, the kernel finally doesn't depend directly on the global
system instance anymore.
|
|
service: Remove two usages of the global system accessor
|
|
kernel/scheduler: Use std::mutex instead of spin lock
|
|
Remove bad and useless packages from LGTM build
|
|
cmake: Update to Qt 5.12.8
|
|
bsd: Resolve a few warnings
|
|
audio_core: Apollo Part 1, AudioRenderer refactor
|
|
It still fails due to CMake version being 3.13.4, but at
least we are not ones to blame now.
|
|
Project Mjölnir: Part 2 - Controller Applet
|
|
configure_input_player: Resolve sign conversion warnings in UpdateMappingWithDefaults()
|
|
video_core: Remove all Core::System references in renderer
|
|
gc_adapter: Make DeviceConnected() a const member function
|
|
|
|
Removes more instances of reliance on global state.
|
|
This doesn't modify instance state, so it can be made const.
|
|
Previously the address provided to SendToImpl would never be propagated
to SendTo(). This fixes that.
|
|
|
|
Same behavior, less typing.
|
|
We can simplify this a little by explicitly specifying the typename for
the lambda function.
|
|
|
|
game_list_p: Mark some constants as constexpr
|
|
Now that the GPU is initialized when video backends are initialized,
it's no longer needed to query components once the game is running: it
can be done when yuzu is booting.
This allows us to pass components between constructors and in the
process remove all Core::System references in the video backend.
|
|
services: Implement most of bsd:s and GetCurrentIpAddress from nifm
|
|
hid: Implement MergeSingleJoyasDualJoy
|
|
- Used in multiple games such as Super Mario Odyssey.
|
|
|
|
Resolves -Wsign-compare and -Wunused-variable
|