summaryrefslogtreecommitdiff
path: root/src/yuzu/debugger
AgeCommit message (Collapse)Author
2020-04-15CMakeLists: Specify -Wextra on linux buildsLioncash
Allows reporting more cases where logic errors may exist, such as implicit fallthrough cases, etc. We currently ignore unused parameters, since we currently have many cases where this is intentional (virtual interfaces). While we're at it, we can also tidy up any existing code that causes warnings. This also uncovered a few bugs as well.
2020-03-02core: Implement separate A32/A64 ARM interfaces.bunnei
2020-02-11Kernel: Change WaitObject to Synchronization object. In order to better ↵Fernando Sahmkow
reflect RE.
2020-01-02yuzu: Remove Maxwell debuggerReinUsesLisp
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.
2019-11-26core/memory: Migrate over Read{8, 16, 32, 64, Block} to the Memory classLioncash
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.
2019-11-24kernel: Replace usage of boost::intrusive_ptr with std::shared_ptr for ↵bunnei
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.
2019-11-03kernel: events: Remove ResetType::Automatic.bunnei
- This does not actually seem to exist in the real kernel - games reset these automatically. # Conflicts: # src/core/hle/service/am/applets/applets.cpp # src/core/hle/service/filesystem/fsp_srv.cpp
2019-10-15Correct compiling errors and addapt to the new interface.Fernando Sahmkow
2019-08-09yuzu/CMakeLists: Remove qt5_wrap_ui macro usageLioncash
We can simply enable CMAKE_AUTOUIC and let CMake take care of handling the UI code generation for targets. As part of letting CMake automatically handle the header file parsing, we must not name includes with "ui_*" unless they're related to the output of the Qt UIC compiler. Because of this, we need to rename ui_settings, given it would conflict with this restriction.
2019-05-19Merge pull request #2492 from lioncash/debuggerHexagon12
yuzu/debugger: Specify string conversions explicitly
2019-05-19yuzu/debugger/graphics/graphics_breakpoints: Specify string conversions ↵Lioncash
explicitly Allows the graphics breakpoints to compile with implicit string conversions disabled.
2019-05-19yuzu/debugger/profiler: Specify string conversions explicitlyLioncash
This allows the microprofile widget to compile with implicit string conversions disabled.
2019-05-19yuzu/debugger/wait_tree: Specify string conversions explicitlyLioncash
Allows compiling the wait tree widget with implicit string conversions disabled.
2019-05-18core/kernel/object: Rename ResetType enum membersLioncash
Renames the members to more accurately indicate what they signify. "OneShot" and "Sticky" are kind of ambiguous identifiers for the reset types, and can be kind of misleading. Automatic and Manual communicate the kind of reset type in a clearer manner. Either the event is automatically reset, or it isn't and must be manually cleared. The "OneShot" and "Sticky" terminology is just a hold-over from Citra where the kernel had a third type of event reset type known as "Pulse". Given the Switch kernel only has two forms of event reset types, we don't need to keep the old terminology around anymore.
2019-04-17kernel/thread: Unify wait synchronization typesLioncash
This is a holdover from Citra, where the 3DS has both WaitSynchronization1 and WaitSynchronizationN. The switch only has one form of wait synchronizing (literally WaitSynchonization). This allows us to throw out code that doesn't apply at all to the Switch kernel. Because of this unnecessary dichotomy within the wait synchronization utilities, we were also neglecting to properly handle waiting on multiple objects. While we're at it, we can also scrub out any lingering references to WaitSynchronization1/WaitSynchronizationN in comments, and change them to WaitSynchronization (or remove them if the mention no longer applies).
2019-04-05yuzu/debugger: Remove graphics surface viewerLioncash
This doesn't actually work anymore, and given how long it's been left in that state, it's unlikely anyone actually seriously used it. Generally it's preferable to use RenderDoc or Nsight to view surfaces.
2019-04-05yuzu/debugger/graphics_surface: Display error messages for file I/O errorsLioncash
2019-04-05yuzu/debugger/graphics_surface: Tidy up SaveSurfaceLioncash
- Use QStringLiteral where applicable. - Use const where applicable - Remove unnecessary precondition check (we already assert the pixbuf being non null)
2019-04-05yuzu/debugger/graphics_surface: Clean up connection overload deductionLioncash
We can utilize qOverload with the signal connections to make the function deducing a little less ugly.
2019-04-05yuzu/debugger/graphics_surface: Fill in missing surface format listingsLioncash
Fills in the missing surface types that were marked as unknown. The order corresponds with the TextureFormat enum within video_core/texture.h. We also don't need to all of these strings as translatable (only the first string, as it's an English word).
2019-04-03yuzu/debugger/profiler: Remove unnecessary includesLioncash
Moves includes into the cpp file where necessary. This way, microprofile-related stuff isn't dumped into other UI-related code when the dialog header gets included.
2019-03-28Merge pull request #2266 from FernandoS27/arbitrationbunnei
Kernel: Fixes to Arbitration and SignalProcessWideKey Management
2019-03-20gpu: Move GPUVAddr definition to common_types.bunnei
2019-03-19Add CondVar Thread State.Fernando Sahmkow
2019-03-16video_core: Refactor to use MemoryManager interface for all memory access.bunnei
# Conflicts: # src/video_core/engines/kepler_memory.cpp # src/video_core/engines/maxwell_3d.cpp # src/video_core/morton.cpp # src/video_core/morton.h # src/video_core/renderer_opengl/gl_global_cache.cpp # src/video_core/renderer_opengl/gl_global_cache.h # src/video_core/renderer_opengl/gl_rasterizer_cache.cpp
2019-03-05yuzu/debugger/wait_tree: Remove use of global CurrentProcess accessorLioncash
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.
2019-02-26common/vector_math: Move Vec[x] types into the Common namespaceLioncash
These types are within the common library, so they should be using the Common namespace.
2019-01-31kernel: Remove the Timer classLioncash
A holdover from citra, the Horizon kernel on the switch has no prominent kernel object that functions as a timer. At least not to the degree of sophistication that this class provided. As such, this can be removed entirely. This class also wasn't used at all in any meaningful way within the core, so this was just code sitting around doing nothing. This also allows removing a few things from the main KernelCore class that allows it to use slightly less resources overall (though very minor and not anything really noticeable).
2019-01-04Removed pulse event typeDavid Marcec
Pulse is considered a hack and nothing should be using it. We should completely remove it
2018-12-27kernel: Rename 'default' CPU core to 'ideal' coreLioncash
This makes the naming more closely match its meaning. It's just a preferred core, not a required default core. This also makes the usages of this term consistent across the thread and process implementations.
2018-12-26Merge pull request #1849 from encounter/svcSetThreadActivitybunnei
svc: Implement SetThreadActivity (thread suspension)
2018-12-19Fixed uninitialized memory due to missing returns in canaryDavid Marcec
Functions which are suppose to crash on non canary builds usually don't return anything which lead to uninitialized memory being used.
2018-12-05yuzu/wait_tree: Pass QString by value and std::move in the initializer list ↵Lioncash
for WaitTreeText Just a trivial modernization that potentially avoids copying strings in certain scenarios.
2018-12-04debugger: Set paused thread colorLuke Street
2018-12-04kernel/object: Amend handle types to distinguish between readable and ↵Lioncash
writable events Two kernel object should absolutely never have the same handle ID type. This can cause incorrect behavior when it comes to retrieving object types from the handle table. In this case it allows converting a WritableEvent into a ReadableEvent and vice-versa, which is undefined behavior, since the object types are not the same. This also corrects ClearEvent() to check both kernel types like the kernel itself does.
2018-12-04svc: Implement SetThreadActivity (thread suspension)Luke Street
2018-11-29kernel/event: Reference ReadableEvent from WritableEventZach Hilman
2018-11-29core: Port all current usages of Event to Readable/WritableEventZach Hilman
2018-11-01Fix ASTC Decompressor to support depth parameterFernandoS27
2018-11-01Fix ASTC formatsFernandoS27
2018-10-30general: Remove unused boost inclusions where applicableLioncash
Cleans up unused includes and trims off some dependencies on externals.
2018-10-30global: Use std::optional instead of boost::optional (#1578)Frederic L
* get rid of boost::optional * Remove optional references * Use std::reference_wrapper for optional references * Fix clang format * Fix clang format part 2 * Adressed feedback * Fix clang format and MacOS build
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.