summaryrefslogtreecommitdiff
path: root/src/yuzu/debugger
AgeCommit message (Collapse)Author
2018-10-24graphic_breakpoints: Correct translation of strings in BreakpointModel's ↵Lioncash
data() function tr() will not function properly on static/global data like this, as the object is only ever constructed once, so the strings won't translate if the language is changed without restarting the program, which is undesirable. Instead we can just turn the map into a plain old function that maps the values to their equivalent strings. This is also lessens the memory allocated, since it's only allocating memory for the strings themselves, and not an encompassing map as well.
2018-10-20kernel/process: Make the handle table per-processLioncash
In the kernel, there isn't a singular handle table that everything gets tossed into or used, rather, each process gets its own handle table that it uses. This currently isn't an issue for us, since we only execute one process at the moment, but we may as well get this out of the way so it's not a headache later on.
2018-10-15core_cpu: Make Cpu scheduler instances unique_ptrs instead of shared_ptrsLioncash
2018-10-13Propagate depth and depth_block on modules using decodersFernandoS27
2018-10-04kernel/thread: Make all instance variables privateLioncash
Many of the member variables of the thread class aren't even used outside of the class itself, so there's no need to make those variables public. This change follows in the steps of the previous changes that made other kernel types' members private. The main motivation behind this is that the Thread class will likely change in the future as emulation becomes more accurate, and letting random bits of the emulator access data members of the Thread class directly makes it a pain to shuffle around and/or modify internals. Having all data members public like this also makes it difficult to reason about certain bits of behavior without first verifying what parts of the core actually use them. Everything being public also generally follows the tendency for changes to be introduced in completely different translation units that would otherwise be better introduced as an addition to the Thread class' public interface.
2018-09-20arm_interface: Replace kernel vm_manager include with a forward declarationLioncash
Avoids an unnecessary inclusion and also uncovers three places where indirect inclusions were relied upon, which allows us to also resolve those.
2018-09-15Port #4182 from Citra: "Prefix all size_t with std::"fearlessTobi
2018-09-13kernel/thread: Include thread-related enums within the kernel namespaceLioncash
Previously, these were sitting outside of the Kernel namespace, which doesn't really make sense, given they're related to the Thread class which is within the Kernel namespace.
2018-08-31core/core: Replace includes with forward declarations where applicableLioncash
The follow-up to e2457418dae19b889b2ad85255bb95d4cd0e4bff, which replaces most of the includes in the core header with forward declarations. This makes it so that if any of the headers the core header was previously including change, then no one will need to rebuild the bulk of the core, due to core.h being quite a prevalent inclusion. This should make turnaround for changes much faster for developers.
2018-08-28kernel: Eliminate kernel global stateLioncash
As means to pave the way for getting rid of global state within core, This eliminates kernel global state by removing all globals. Instead this introduces a KernelCore class which acts as a kernel instance. This instance lives in the System class, which keeps its lifetime contained to the lifetime of the System class. This also forces the kernel types to actually interact with the main kernel instance itself instead of having transient kernel state placed all over several translation units, keeping everything together. It also has a nice consequence of making dependencies much more explicit. This also makes our initialization a tad bit more correct. Previously we were creating a kernel process before the actual kernel was initialized, which doesn't really make much sense. The KernelCore class itself follows the PImpl idiom, which allows keeping all the implementation details sealed away from everything else, which forces the use of the exposed API and allows us to avoid any unnecessary inclusions within the main kernel header.
2018-08-28gpu: Make memory_manager privateLioncash
Makes the class interface consistent and provides accessors for obtaining a reference to the memory manager instance. Given we also return references, this makes our more flimsy uses of const apparent, given const doesn't propagate through pointers in the way one would typically expect. This makes our mutable state more apparent in some places.
2018-08-24debug_utils: Remove unused includesLioncash
Quite a bit of these aren't necessary directly within the debug_utils header and can be removed or included where actually necessary.
2018-08-09textures: Refactor out for Texture/Depth FormatFromPixelFormat.bunnei
2018-08-06Merge pull request #942 from lioncash/defaultbunnei
qt: Minor cleanup-related changes
2018-08-06qt: Add missing override specifiers where applicableLioncash
2018-08-06qt: Default destructors where applicableLioncash
Makes code consistent with our style of defaulting special member functions where applicable.
2018-08-06kernel/event: Make data members privateLioncash
Instead we can simply provide accessors to the required data instead of giving external read/write access to the variables directly.
2018-08-03Merge pull request #894 from lioncash/objectbunnei
kernel: Move object class to its own source files
2018-08-02yuzu: Use Qt 5 signal/slots where applicableLioncash
Makes the signal/slot connections type-safe instead of string-based.
2018-08-01kernel: Move object class to its own source filesLioncash
General moving to keep kernel object types separate from the direct kernel code. Also essentially a preliminary cleanup before eliminating global kernel state in the kernel code.
2018-07-26kernel/timer: Make data members private where applicableLioncash
Instead, we can just expose functions that return the queryable state instead of letting anything modify it.
2018-07-25wait_tree: Add missing switch case for WaitTreeThread::GetText()Lioncash
We were missing the enum entry for WaitIPC
2018-07-24wait_tree: Silence warning about all code paths not returning a valueLioncash
If code execution hits this spot, something has gone very wrong, so mark the path as unreachable. This silences a warning on MSVC.
2018-07-20gpu: Rename Get3DEngine() to Maxwell3D()Lioncash
This makes it match its const qualified equivalent.
2018-07-19thread: Convert ThreadStatus into an enum classLioncash
Makes the thread status strongly typed, so implicit conversions can't happen. It also makes it easier to catch mistakes at compile time.
2018-07-12yuzu - Fix duplicate logsJames Rowe
2018-07-02Add configurable logging backendsJames Rowe
2018-06-21Kernel/Arbiters: Mostly implement SignalToAddressMichael Scire
2018-06-21Kernel/Arbiters: Implement WaitForAddressMichael Scire
2018-06-12Qt: Removed the Registers widget.Subv
It was crashing and nobody actually uses this.
2018-05-19Qt/WaitTree: Display the callstack for each thread in the wait tree widget.Subv
2018-05-10thread: Rename mask to affinity_masks.bunnei
2018-05-10wait_tree: Add ideal core and affinity mask.bunnei
2018-05-10wait_tree: Show all threads on all schedulers.bunnei
2018-05-10core: Implement multicore support.bunnei
2018-04-24memory_manager: Make GpuToCpuAddress return an optional.bunnei
2018-04-24memory_manager: Use GPUVAdddr, not PAddr, for GPU addresses.bunnei
2018-04-23Merge pull request #370 from Subv/sync_primitivesbunnei
Kernel: Reworked the new kernel synchronization primitives.
2018-04-23GPU: Implement the RGB10_A2 RenderTarget format, it will use the same format ↵Subv
as the A2BGR10 texture format.
2018-04-20Qt: Update the WaitTree widget to show info about the current mutex of each ↵Subv
thread.
2018-03-26graphics_surface: Remove superfluous cast.bunnei
2018-03-26graphics_surface: Fix merge conflicts.bunnei
2018-03-24GPU: Make the debug_context variable a member of the frontend instead of a ↵Subv
global.
2018-03-24Frontend: Updated the surface view debug widget to work with Maxwell surfaces.Subv
2018-03-24Frontend: Ported the GPU breakpoints and surface viewer widgets from citra.Subv
2018-03-18thread: Add THREADSTATUS_WAIT_HLE_EVENT, remove THREADSTATUS_WAIT_ARB.bunnei
2018-02-18kernel: Use Scheduler class for threading.bunnei
2018-02-14debugger: Fix wait_tree crash.bunnei
2018-01-20Format: Run the new clang format on everythingJames Rowe
2018-01-18qt: Migrate to Qt 5 signal/slot connection syntax where applicableLioncash