summaryrefslogtreecommitdiff
path: root/src/core (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | | | common/math_util: Move contents into the Common namespaceGravatar Lioncash2019-02-277-13/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These types are within the common library, so they should be within the Common namespace.
* | | | | | common/vector_math: Move Vec[x] types into the Common namespaceGravatar Lioncash2019-02-261-1/+1
| |/ / / / |/| | | | | | | | | | | | | | | | | | | These types are within the common library, so they should be using the Common namespace.
* | | | | Merge pull request #2156 from FreddyFunk/patch-1Gravatar bunnei2019-02-251-1/+1
|\ \ \ \ \ | | | | | | | | | | | | file_sys/vfs_vector: Fix ignored offset on Write
| * | | | | file_sys/vfs_vector: Fix ignored offset on WriteGravatar Frederic L2019-02-251-1/+1
| | | | | |
* | | | | | service/vi: Update IManagerDisplayService's function tableGravatar Lioncash2019-02-251-0/+1
| |/ / / / |/| | | | | | | | | | | | | | Amends it to add the 7.0.0+ CreateStrayLayer function.
* | | | | service/nvflinger: Store BufferQueue instances as regular data membersGravatar Lioncash2019-02-217-36/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The NVFlinger service is already passed into services that need to guarantee its lifetime, so the BufferQueue instances will already live as long as they're needed. Making them std::shared_ptr instances in this case is unnecessary.
* | | | | service/vi/vi_layer: Convert Layer struct into a classGravatar Lioncash2019-02-216-10/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Like the previous changes made to the Display struct, this prepares the Layer struct for changes to its interface. Given Layer will be given more invariants in the future, we convert it into a class to better signify that.
* | | | | service/nvflinger: Move display specifics over to vi_displayGravatar Lioncash2019-02-214-35/+141
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With the display and layer structures relocated to the vi service, we can begin giving these a proper interface before beginning to properly support the display types. This converts the display struct into a class and provides it with the necessary functions to preserve behavior within the NVFlinger class.
* | | | Merge pull request #2130 from lioncash/system_engineGravatar bunnei2019-02-201-1/+1
|\ \ \ \ | | | | | | | | | | video_core: Remove usages of System::GetInstance() within the engines
| * | | | video_core: Remove usages of System::GetInstance() within the enginesGravatar Lioncash2019-02-151-1/+1
| |/ / / | | | | | | | | | | | | | | | | Avoids the use of the global accessor in favor of explicitly making the system a dependency within the interface.
* | | | Fixes Unicode Key File Directories (#2120)Gravatar Jungy2019-02-201-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Fixes Unicode Key File Directories Adds code so that when loading a file it converts to UTF16 first, to ensure the files can be opened. Code borrowed from FileUtil::Exists. * Update src/core/crypto/key_manager.cpp Co-Authored-By: Jungorend <Jungorend@users.noreply.github.com> * Update src/core/crypto/key_manager.cpp Co-Authored-By: Jungorend <Jungorend@users.noreply.github.com> * Using FileUtil instead to be cleaner. * Update src/core/crypto/key_manager.cpp Co-Authored-By: Jungorend <Jungorend@users.noreply.github.com>
* | | | service/nvflinger: Relocate definitions of Layer and Display to the vi serviceGravatar Lioncash2019-02-197-57/+123
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These are more closely related to the vi service as opposed to the intermediary nvflinger. This also places them in their relevant subfolder, as future changes to these will likely result in subclassing to represent various displays and services, as they're done within the service itself on hardware. The reasoning for prefixing the display and layer source files is to avoid potential clashing if two files with the same name are compiled (e.g. if 'display.cpp/.h' or 'layer.cpp/.h' is added to another service at any point), which MSVC will actually warn against. This prevents that case from occurring. This also presently coverts the std::array introduced within f45c25aabacc70861723a7ca1096a677bd987487 back to a std::vector to allow the forward declaration of the Display type. Forward declaring a type within a std::vector is allowed since the introduction of N4510 (http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4510.html) by Zhihao Yuan.
* | | | address_arbiter: Use nested namespaces where applicableGravatar Lioncash2019-02-162-8/+4
|/ / / | | | | | | | | | | | | | | | A fairly trivial change. Other sections of the codebase use nested namespaces instead of separate namespaces here. This one must have just been overlooked.
* | | core_timing: Convert core timing into a classGravatar Lioncash2019-02-1543-289/+404
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | Merge pull request #2115 from lioncash/localGravatar bunnei2019-02-131-3/+3
|\ \ \ | | | | | | | | core_timing: Make EmptyTimedCallback a local variable
| * | | core_timing: Make EmptyTimedCallback a local variableGravatar Lioncash2019-02-121-3/+3
| | | | | | | | | | | | | | | | | | | | Given this is only used in one place, it can be moved closest to its usage site.
* | | | threadsafe_queue: Remove NeedSize template parameterGravatar Lioncash2019-02-121-2/+2
|/ / / | | | | | | | | | | | | | | | 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.
* | | core_timing: Rename CoreTiming namespace to Core::TimingGravatar Lioncash2019-02-1229-73/+69
| | | | | | | | | | | | | | | | | | 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.
* | | nvdisp_disp0: change drawing message log level from Warning to TraceGravatar Tobias2019-02-081-3/+3
| | | | | | | | | | | | | | | 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.
* | | Merge pull request #2091 from FearlessTobi/port-4603Gravatar bunnei2019-02-061-4/+10
|\ \ \ | | | | | | | | Port citra-emu/citra#4603: "gdbstub: only let Execute breakpoints write/restore BKPT opcodes into target memory"
| * | | gdbstub: only let Execute breakpoints write/restore BKPT opcodes into target ↵Gravatar Dimitri ALBORA2019-02-061-4/+10
| | | | | | | | | | | | | | | | memory
* | | | gl_shader_cache: Link loading screen with disk shader cache loadGravatar ReinUsesLisp2019-02-061-2/+0
| | | |
* | | | gl_shader_disk_cache: Pass core system as argument and guard against games ↵Gravatar ReinUsesLisp2019-02-061-1/+1
| | | | | | | | | | | | | | | | without title ids
* | | | settings: Hide shader cache behind a settingGravatar ReinUsesLisp2019-02-062-0/+3
| | | |
* | | | rasterizer_interface: Add disk cache entry for the rasterizerGravatar ReinUsesLisp2019-02-061-0/+3
|/ / /
* | | service/nvflinger,service/vi: Handle failure cases with exposed APIGravatar Lioncash2019-02-054-47/+133
| | | | | | | | | | | | | | | | | | | | | 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.
* | | service/nvflinger: Mark FindVsyncEvent() as a const member functionGravatar Lioncash2019-02-052-2/+2
| | | | | | | | | | | | | | | This member function doesn't actually modify instance state, so it can be marked as a const member function.
* | | service/nvflinger: Rename GetVsyncEvent() to FindVsyncEvent()Gravatar Lioncash2019-02-053-3/+3
|/ / | | | | | | | | This was missed within #2075. Renames the member function to make it consistent with the rest of the Find* functions.
* | Merge pull request #2073 from lioncash/opusGravatar bunnei2019-02-011-42/+75
|\ \ | | | | | | hwopus: Implement DecodeInterleaved (the newest variant)
| * | hwopus: Implement DecodeInterleavedGravatar Lioncash2019-01-301-4/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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."
| * | hwopus: Deduplicate the decoding code within DecodeInterleavedOld and ↵Gravatar Lioncash2019-01-291-19/+14
| | | | | | | | | | | | | | | | | | DecodeInterleavedWithPerfOld Keeps the logic in one spot for use by both functions.
| * | hwopus: Replace std::optional<std::reference_wrapper<u64>> with u64*Gravatar Lioncash2019-01-291-9/+6
| | | | | | | | | | | | | | | This doesn't really offer anything over the use of a direct pointer, so we can just use that instead.
| * | hwopus: Mark local variables as const where applicableGravatar Lioncash2019-01-291-8/+16
| | | | | | | | | | | | Makes non-mutable state more explicit.
| * | hwopus: Fill in the rest of the unknown service function namesGravatar Lioncash2019-01-291-9/+11
| | | | | | | | | | | | Filled in via information provided by SwitchBrew.
* | | kernel: Remove the Timer classGravatar Lioncash2019-01-317-229/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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).
* | | Merge pull request #2072 from lioncash/serviceGravatar bunnei2019-01-3112-153/+281
|\ \ \ | | | | | | | | service: Update function tables
| * | | service/ns: Update function tablesGravatar Lioncash2019-01-291-14/+20
| | | | | | | | | | | | | | | | Updates function tables based off information provided by SwitchBrew
| * | | service/ncm: Update function tablesGravatar Lioncash2019-01-291-4/+4
| | | | | | | | | | | | | | | | Updates function tables based off information provided by SwitchBrew
| * | | service/audio: Update function tablesGravatar Lioncash2019-01-294-8/+23
| | | | | | | | | | | | | | | | Updates function tables based off information provided by SwitchBrew.
| * | | service/am/applet_ae: Update function tablesGravatar Lioncash2019-01-291-1/+2
| | | | | | | | | | | | | | | | Updates function tables based off information provided by SwitchBrew.
| * | | service/fsp-srv: Update function tablesGravatar Lioncash2019-01-292-17/+25
| | | | | | | | | | | | | | | | Updates function tables based off information provided by SwitchBrew.
| * | | service/btm: Update function tablesGravatar Lioncash2019-01-291-55/+97
| | | | | | | | | | | | | | | | Updates function tables based off information provided by SwitchBrew
| * | | service/btdrv: Update function tablesGravatar Lioncash2019-01-291-46/+101
| | | | | | | | | | | | | | | | Updates function tables based off information provided by SwitchBrew.
| * | | service/psc: Update function tablesGravatar Lioncash2019-01-291-8/+9
| | | | | | | | | | | | | | | | | | | | Updates the function tables based off information on SwitchBrew. Gets rid of a swath of unknown names.
* | | | Merge pull request #2077 from lioncash/virtGravatar bunnei2019-01-315-15/+3
|\ \ \ \ | | | | | | | | | | kernel/wait_object: Devirtualize functions related to manipulating the thread list directly
| * | | | kernel/wait_object: Devirtualize functions related to manipulating the ↵Gravatar Lioncash2019-01-301-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | | kernel/timer: Remove unnecessary WakeupAllWaitingThreads() overrideGravatar Lioncash2019-01-302-6/+0
| | | | | | | | | | | | | | | | | | | | | | | | | This implementation just calls the base class variant of the function, so this isn't necessary.
| * | | | kernel/readable_event: Remove unnecessary WakeupAllWaitingThreads() overrideGravatar Lioncash2019-01-302-6/+0
| | |/ / | |/| | | | | | | | | | This just calls the base variant of the function, so it can be removed.
* | | | service/nvflinger: Make FindBufferQueueId() a const member functionGravatar Lioncash2019-01-302-2/+26
| | | | | | | | | | | | | | | | | | | | This member function doesn't actually modify instance state, so it can be const-qualified.
* | | | service/nvflinger: Rename Get prefix on function to FindGravatar Lioncash2019-01-303-23/+23
|/ / / | | | | | | | | | | | | This more accurately describes what the function is actually attempting to do (it's not a simple trivial getter).