aboutsummaryrefslogtreecommitdiff
path: root/src/core
AgeCommit message (Collapse)Author
2019-02-15video_core: Remove usages of System::GetInstance() within the enginesLioncash
Avoids the use of the global accessor in favor of explicitly making the system a dependency within the interface.
2019-02-15core_timing: Convert core timing into a classLioncash
Gets rid of the largest set of mutable global state within the core. This also paves a way for eliminating usages of GetInstance() on the System class as a follow-up. Note that no behavioral changes have been made, and this simply extracts the functionality into a class. This also has the benefit of making dependencies on the core timing functionality explicit within the relevant interfaces.
2019-02-13Merge pull request #2115 from lioncash/localbunnei
core_timing: Make EmptyTimedCallback a local variable
2019-02-12threadsafe_queue: Remove NeedSize template parameterLioncash
The necessity of this parameter is dubious at best, and in 2019 probably offers completely negligible savings as opposed to just leaving this enabled. This removes it and simplifies the overall interface.
2019-02-12core_timing: Make EmptyTimedCallback a local variableLioncash
Given this is only used in one place, it can be moved closest to its usage site.
2019-02-12core_timing: Rename CoreTiming namespace to Core::TimingLioncash
Places all of the timing-related functionality under the existing Core namespace to keep things consistent, rather than having the timing utilities sitting in its own completely separate namespace.
2019-02-08nvdisp_disp0: change drawing message log level from Warning to TraceTobias
This is a leftover from the early yuzu days. We shouldn't log every time when we are drawing by default, so let's change the log level to Trace.
2019-02-06Merge pull request #2091 from FearlessTobi/port-4603bunnei
Port citra-emu/citra#4603: "gdbstub: only let Execute breakpoints write/restore BKPT opcodes into target memory"
2019-02-06gl_shader_cache: Link loading screen with disk shader cache loadReinUsesLisp
2019-02-06gl_shader_disk_cache: Pass core system as argument and guard against games ↵ReinUsesLisp
without title ids
2019-02-06settings: Hide shader cache behind a settingReinUsesLisp
2019-02-06rasterizer_interface: Add disk cache entry for the rasterizerReinUsesLisp
2019-02-06gdbstub: only let Execute breakpoints write/restore BKPT opcodes into target ↵Dimitri ALBORA
memory
2019-02-05service/nvflinger,service/vi: Handle failure cases with exposed APILioncash
Converts many of the Find* functions to return a std::optional<T> as opposed to returning the raw return values directly. This allows removing a few assertions and handles error cases like the service itself does.
2019-02-05service/nvflinger: Mark FindVsyncEvent() as a const member functionLioncash
This member function doesn't actually modify instance state, so it can be marked as a const member function.
2019-02-05service/nvflinger: Rename GetVsyncEvent() to FindVsyncEvent()Lioncash
This was missed within #2075. Renames the member function to make it consistent with the rest of the Find* functions.
2019-02-01Merge pull request #2073 from lioncash/opusbunnei
hwopus: Implement DecodeInterleaved (the newest variant)
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-31Merge pull request #2072 from lioncash/servicebunnei
service: Update function tables
2019-01-31Merge pull request #2077 from lioncash/virtbunnei
kernel/wait_object: Devirtualize functions related to manipulating the thread list directly
2019-01-30kernel/wait_object: Devirtualize functions related to manipulating the ↵Lioncash
thread list directly No inheritors of the WaitObject class actually make use of their own implementations of these functions, so they can be made non-virtual. It's also kind of sketchy to allow overriding how the threads get added to the list anyways, given the kernel itself on the actual hardware doesn't seem to customize based off this.
2019-01-30kernel/timer: Remove unnecessary WakeupAllWaitingThreads() overrideLioncash
This implementation just calls the base class variant of the function, so this isn't necessary.
2019-01-30kernel/readable_event: Remove unnecessary WakeupAllWaitingThreads() overrideLioncash
This just calls the base variant of the function, so it can be removed.
2019-01-30hwopus: Implement DecodeInterleavedLioncash
This functions almost identically to DecodeInterleavedWithPerfOld, however this function also has the ability to reset the decoder context. This is documented as a potentially desirable thing in the libopus manual in some circumstances as it says for the OPUS_RESET_STATE ctl: "This should be called when switching streams in order to prevent the back to back decoding from giving different result from one at a time decoding."
2019-01-30service/nvflinger: Make FindBufferQueueId() a const member functionLioncash
This member function doesn't actually modify instance state, so it can be const-qualified.
2019-01-30service/nvflinger: Rename Get prefix on function to FindLioncash
This more accurately describes what the function is actually attempting to do (it's not a simple trivial getter).
2019-01-29hwopus: Deduplicate the decoding code within DecodeInterleavedOld and ↵Lioncash
DecodeInterleavedWithPerfOld Keeps the logic in one spot for use by both functions.
2019-01-29hwopus: Replace std::optional<std::reference_wrapper<u64>> with u64*Lioncash
This doesn't really offer anything over the use of a direct pointer, so we can just use that instead.
2019-01-29hwopus: Mark local variables as const where applicableLioncash
Makes non-mutable state more explicit.
2019-01-29hwopus: Fill in the rest of the unknown service function namesLioncash
Filled in via information provided by SwitchBrew.
2019-01-29service/ns: Update function tablesLioncash
Updates function tables based off information provided by SwitchBrew
2019-01-29service/ncm: Update function tablesLioncash
Updates function tables based off information provided by SwitchBrew
2019-01-29service/audio: Update function tablesLioncash
Updates function tables based off information provided by SwitchBrew.
2019-01-29service/am/applet_ae: Update function tablesLioncash
Updates function tables based off information provided by SwitchBrew.
2019-01-29service/fsp-srv: Update function tablesLioncash
Updates function tables based off information provided by SwitchBrew.
2019-01-29service/btm: Update function tablesLioncash
Updates function tables based off information provided by SwitchBrew
2019-01-29service/btdrv: Update function tablesLioncash
Updates function tables based off information provided by SwitchBrew.
2019-01-29service/psc: Update function tablesLioncash
Updates the function tables based off information on SwitchBrew. Gets rid of a swath of unknown names.
2019-01-29nvflinger: Add the Null displayLioncash
In addition to the default, external, EDID, and internal displays, there's also a null display provided as well, which as the name suggests, does nothing but discard all commands given to it. This is provided for completeness.
2019-01-29nvflinger: Change log message in OpenDisplay to be a debug log instead of a ↵Lioncash
warning Opening a display isn't really a thing to warn about. It's an expected thing, so this can be a debug log. This also alters the string to indicate the display name better. Opening "Default" display reads a little nicer compared to Opening display Default.
2019-01-29nvflinger: Remove unnecessary header inclusionsLioncash
2019-01-29nvflinger: Mark locals const where applicableLioncash
Makes non-mutable state more explicit.
2019-01-29nvflinger: Use a std::array for the available displays instead of std::vectorLioncash
The built-in set of displays is fixed, so we can utilize an array instead of a vector here.
2019-01-29hle/ipc_helpers: Fix clang-format warningsLioncash
2019-01-29hle/ipc_helpers: Allow pushing signed valuesLioncash
This is kind of a large hole in the API, given we allow popping signed values. This fixes that.
2019-01-28service/pm: Implement SetMaintenanceBoot()Lioncash
This quite literally functions as a basic setter. No other error checking or anything (since there's nothing to really check against). With this, it completes the pm:bm interface in terms of functionality.
2019-01-28service/pm: Tidy up functionality related to SystemBootModeLioncash
Just minor tidying of interfaces.
2019-01-28service/vi: Remove stubbed notifier from SetLayerVisibilityLioncash
This appears to be a vestigial API function that's only kept around for compatibility's sake, given the function only returns a success error code and exits. Since that's the case, we can remove the stubbed notification from the log, since doing nothing is technically the correct behavior in this case.
2019-01-26kernel/svc: Log out uncaught C++ exceptions from svcBreakLioncash
Looking into the implementation of the C++ standard facilities that seem to be within all modules, it appears that they use 7 as a break reason to indicate an uncaught C++ exception. This was primarily found via the third last function called within Horizon's equivalent of libcxxabi's demangling_terminate_handler(), which passes the value 0x80000007 to svcBreak.
2019-01-23Merge pull request #2054 from bunnei/scope-context-refactorbunnei
frontend: Refactor ScopeAcquireWindowContext out of renderer_opengl.