Commit Graph

241 Commits (b8f5c71f2d7f819821acf036175cce65ab1ae12c)

Author SHA1 Message Date
bunnei 11c02a50e9 core: system: Rename GetDeviceManager -> DeviceManager.
- More consistent with other system components.
5 years ago
bunnei c53454ff46 core: Construct/Destruct DeviceMemory on Init/Shutdown. 5 years ago
bunnei dc25c86556 core: device_manager: Add a simple class to manage device RAM. 5 years ago
bunnei 4caff51710 core: memory: Move to Core::Memory namespace.
- helpful to disambiguate Kernel::Memory namespace.
5 years ago
Rodrigo Locatti 825a6e2615
Merge pull request #3552 from jroweboy/single-context
Refactor Context management (Fixes renderdoc on opengl issues)
5 years ago
James Rowe cf9c94d401 Address review and fix broken yuzu-tester build 5 years ago
James Rowe 282adfc70b Frontend/GPU: Refactor context management
Changes the GraphicsContext to be managed by the GPU core. This
eliminates the need for the frontends to fool around with tricky
MakeCurrent/DoneCurrent calls that are dependent on the settings (such
as async gpu option).

This also refactors out the need to use QWidget::fromWindowContainer as
that caused issues with focus and input handling. Now we use a regular
QWidget and just access the native windowHandle() directly.

Another change is removing the debug tool setting in FrameMailbox.
Instead of trying to block the frontend until a new frame is ready, the
core will now take over presentation and draw directly to the window if
the renderer detects that its hooked by NSight or RenderDoc

Lastly, since it was in the way, I removed ScopeAcquireWindowContext and
replaced it with a simple subclass in GraphicsContext that achieves the
same result
5 years ago
Gauvain "GovanifY" Roussel-Tarbouriech 38036eb1c8 gdbstub: Ensure gdbstub doesn't drop packets crucial to initialization 5 years ago
ReinUsesLisp eed789d0d1 video_core: Reintroduce dirty flags infrastructure 5 years ago
bunnei 667f026c95 core: frontend: Refactor scope_acquire_window_context to scope_acquire_context. 5 years ago
Fernando Sahmkow b9472eae44 System: Expose Host thread registering routines from kernel. 5 years ago
bunnei c31ec00d67
Merge pull request #3337 from ReinUsesLisp/vulkan-staged
yuzu: Implement Vulkan frontend
5 years ago
ReinUsesLisp e651e54b85 core: Only wait for idle on gpu_core when it was initialized
This fixes crashes when a Vulkan device fails to initialize.
5 years ago
Fernando Sahmkow 2d1984c20c System: Address Feedback 5 years ago
Fernando Sahmkow de4b01f75d System: Correct PrepareReschedule. 5 years ago
Fernando Sahmkow e4a1ead897 Core: Refactor CpuCoreManager to CpuManager and Cpu to Core Manager.
This commit instends on better naming the new purpose of this classes.
5 years ago
Fernando Sahmkow 4d6a86b03f Core: Refactor CPU Management.
This commit moves ARM Interface and Scheduler handling into the kernel.
5 years ago
ReinUsesLisp 0d6d8129c4 yuzu: Remove Maxwell debugger
This was carried from Citra and wasn't really used on yuzu. It also adds
some runtime overhead. This commit removes it from yuzu's codebase.
5 years ago
Lioncash 4c2ed2706e core/memory: Introduce skeleton of Memory class
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.
5 years ago
David 4c5731c34f
Merge pull request #2971 from FernandoS27/new-scheduler-v2
Kernel: Implement a New Thread Scheduler V2
6 years ago
bunnei a86a88109a core: Fix clang-format errors. 6 years ago
Nicolae-Andrei Cociorba 20521da259 Fix null pointer deref. 6 years ago
Lioncash 98c6a95079 core/core: Resolve -Wreorder warnings
Amends the initializer lists to be ordered in the same manner that
they're declared within the class.
6 years ago
bunnei ef9b31783d
Merge pull request #2912 from FernandoS27/async-fixes
General fixes to Async GPU
6 years ago
Fernando Sahmkow 82218c925a Kernel: Style and Corrections 6 years ago
Fernando Sahmkow fcc6b34fff Correct PrepareReschedule 6 years ago
Fernando Sahmkow 57a71f899a Add interfacing to the Global Scheduler 6 years ago
bunnei b9c831de62
Merge pull request #2654 from DarkLordZach/lm-log-rewrite
lm: Rewrite logger to use core reporting services
6 years ago
Lioncash 69f16ba50e hle/service: Replace global system instance calls with instance-based ones
Migrates the HLE service code off the use of directly accessing the
global system instance where trivially able to do so.

This removes all usages of Core::CurrentProcess from the service code,
only 8 occurrences of this function exist elsewhere. There's still quite
a bit of "System::GetInstance()" being used, however this was able to
replace a few instances.
6 years ago
Fernando Sahmkow 3f104464de Core: Wait for GPU to be idle before shutting down. 6 years ago
Zach Hilman f6c53526b3 core/loader: Track the NSO build ID of the current process 6 years ago
Zach Hilman 6212df3beb lm: Flush manager output on core shutdown 6 years ago
Zach Hilman 4153bd8d17 core: Add LM::Manager to system
Allows centralized control over logging mechanisms.
6 years ago
David aaec1562f8
Merge pull request #2683 from DarkLordZach/lock-exit
am: Implement exit locking and self exit commands
6 years ago
Zach Hilman bbc1437188 core: Track system exit lock status
Used to determine if yuzu should confirm before pausing or stopping a game.
6 years ago
Zach Hilman 682174b112 dmnt_cheat_vm: Make Cheat VM compliant to code style 6 years ago
Zach Hilman 3e729c13cc core: Initialize cheats after load to avoid VMManager crash
This used to occur due to the VMManager being nullptr at the time cheats were registered (during load, but before it was done). This is bypassed by not accessing the VMManager for offset data until load is complete,
6 years ago
Zach Hilman 37850eeee5 core: Update RegisterCheatList for new VM 6 years ago
Zach Hilman c182688ad6 core: Store FileSystemController in core 6 years ago
fearlessTobi 684b616f0d Add frametime logging for tracking performance over time
Co-Authored-By: jroweboy <jroweboy@gmail.com>
6 years ago
Lioncash d1abe8e92a service/am: Remove usages of global system accessors
Avoids the use of global accessors, removing the reliance on global
state. This also makes dependencies explicit in the interface, as
opposed to being hidden
6 years ago
bunnei 52f54c728d
Merge pull request #2592 from FernandoS27/sync1
Implement GPU Synchronization Mechanisms & Correct NVFlinger
6 years ago
bunnei 7b28f954c9
Merge pull request #2651 from DarkLordZach/apm-boost-mode-1
apm: Initial implementation of performance config and boost mode
6 years ago
bunnei 8f5aae3074
Merge pull request #2642 from DarkLordZach/fsp-log-2
fsp-srv: Implement Access Logging Functionality
6 years ago
Fernando Sahmkow 8942047d41 Gpu: Implement Hardware Interrupt Manager and manage GPU interrupts 6 years ago
Zach Hilman e2ad3e1fb0 core: Keep instance of APM Controller 6 years ago
Zach Hilman db2fdd0352 fsp-srv: Implement OutputAccessLogToSdCard
Allows games to log data to the SD.
6 years ago
bunnei bb4a1e059c
Merge pull request #2533 from DarkLordZach/memory-frozen
memory: Add class to manage and enforce memory freezing
6 years ago
Zach Hilman d10fc2d727 glue: Correct missing bytes in ApplicationLaunchParameter 6 years ago
Zach Hilman d40a38df8d core: Keep track of ARPManager and register current application on boot 6 years ago