aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/service
AgeCommit message (Collapse)Author
2019-03-01service/audio: Provide an implementation of ExecuteAudioRendererRenderingLioncash
This service function appears to do nothing noteworthy on the switch. All it does at the moment is either return an error code or abort the system. Given we obviously don't want to kill the system, we just opt for always returning the error code.
2019-02-27service/hid: Amend forward declaration of ServiceManagerLioncash
The SM namespace is within the Service namespace, so this was forward declaring a type that didn't exist.
2019-02-27Merge pull request #2169 from lioncash/namingbunnei
audio_core/audio_renderer: Provide names for some parameters of AudioRendererParameter
2019-02-27audio_core/audio_renderer: Name previously unknown parameters of ↵Lioncash
AudioRendererParameter Provides names for previously unknown entries (aside from the two u8 that appear to be padding bytes, and a single word that also appears to be reserved or padding). This will be useful in subsequent changes when unstubbing behavior related to the audio renderer services.
2019-02-27common/math_util: Move contents into the Common namespaceLioncash
These types are within the common library, so they should be within the Common namespace.
2019-02-26service/vi: Unstub GetDisplayServiceLioncash
This function is also supposed to check its given policy type with the permission of the service itself. This implements the necessary machinery to unstub these functions. Policy::User seems to just be basic access (which is probably why vi:u is restricted to that policy), while the other policy seems to be for extended abilities regarding which displays can be managed and queried, so this is assumed to be for a background compositor (which I've named, appropriately, Policy::Compositor).
2019-02-26service/vi: Remove use of a module classLioncash
This didn't really provide much benefit here, especially since the subsequent change requires that the behavior for each service's GetDisplayService differs in a minor detail. This also arguably makes the services nicer to read, since it gets rid of an indirection in the class hierarchy.
2019-02-25service/vi: Update IManagerDisplayService's function tableLioncash
Amends it to add the 7.0.0+ CreateStrayLayer function.
2019-02-21service/nvflinger: Store BufferQueue instances as regular data membersLioncash
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.
2019-02-21service/vi/vi_layer: Convert Layer struct into a classLioncash
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.
2019-02-21service/nvflinger: Move display specifics over to vi_displayLioncash
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.
2019-02-19service/nvflinger: Relocate definitions of Layer and Display to the vi serviceLioncash
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.
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-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-06remove all occurance of specifying endianness inside BitFieldWeiyi Wang
This commit it automatically generated by command in zsh: sed -i -- 's/BitField<\(.*\)_le>/BitField<\1>/g' **/*(D.) BitField is now aware to endianness and default to little endian. It expects a value representation type without storage specification for its template parameter.
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-31Merge pull request #2072 from lioncash/servicebunnei
service: Update function tables
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-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-17core/frontend/applets/web_browser: Include missing headersLioncash
Gets rid of a few indirect inclusions.
2019-01-17core/frontend/applets/web_browser: Make OpenPage() non-constLioncash
This is a function that definitely doesn't always have a non-modifying behavior across all implementations, so this should be made non-const. This gets rid of the need to mark data members as mutable to work around the fact mutating data members needs to occur.
2019-01-10Merge pull request #1959 from DarkLordZach/custom-rtcbunnei
settings: Add support for setting the RTC manually
2019-01-10Merge pull request #1939 from DarkLordZach/web-appletbunnei
applets: Implement HLE web browser applet (LibAppletOff)
2019-01-07settings: Use std::chrono::seconds instead of s64 for RTCZach Hilman
2019-01-07time: Use custom RTC settings if applicable for gameZach Hilman