aboutsummaryrefslogtreecommitdiff
path: root/src/core
AgeCommit message (Collapse)Author
2019-06-03yuzu/bootmanager: Treat the resolution factor as a u32Lioncash
Treating it as a u16 can result in a sign-conversion warning when performing arithmetic with it, as u16 promotes to an int when aritmetic is performed on it, not unsigned int. This also makes the interface more uniform, as the layout interface now operates on u32 across the board.
2019-05-30Merge pull request #1931 from DarkLordZach/mii-database-1bunnei
mii: Implement MiiManager backend and several mii service commands
2019-05-29Merge pull request #2518 from ReinUsesLisp/sdl2-windowbunnei
yuzu_cmd: Split emu_window OpenGL implementation into its own file
2019-05-27Merge pull request #2519 from lioncash/signbunnei
loader/nso, core/core_timing_util: Silence sign-comparison warning
2019-05-26emu_window: Pass OnMinimalClientAreaChangeRequest argument by copyReinUsesLisp
There's no performance improvement in passing an unsigned pair by reference.
2019-05-25Merge pull request #2509 from lioncash/aocbunnei
service/aoc_u: Minor cleanup
2019-05-25core_timing_util: Silence sign-comparison warningsLioncash
We can just make the conversion explicit instead of implicit here to silence -Wsign-compare warnings.
2019-05-25loader/nso: Silence sign-comparison warningLioncash
This was previously performing a size_t == int comparison. Silences a -Wsign-compare warning.
2019-05-24Merge pull request #2489 from FearlessTobi/port-4716bunnei
Port citra-emu/citra#4716: "HLE/IPC: HLEContext can memorize the client thread and use it for SleepClientThread"
2019-05-23service/aoc: Avoid allocating and discarding dataLioncash
Previously, the code was accumulating data into a std::vector and then tossing all of it away if a setting was disabled. Instead, we can just check if it's disabled and do no work at all if possible. If it's enabled, then we can append to the vector and allocate. Unlikely to impact usage much, but it is slightly less sloppy with resources.
2019-05-22service/aoc: Remove unnecessary includesLioncash
Removes two header dependencies related to file handling that aren't actually used within the source file.
2019-05-22service/aoc: Pop all passed values where applicableLioncash
A few of the aoc service stubs/implementations weren't fully popping all of the parameters passed to them. This ensures that all parameters are popped and, at minimum, logged out.
2019-05-19Merge pull request #2410 from lioncash/affinitybunnei
kernel/svc: Reorganize and fix up the initial handling of svcSetThreadCoreMask()
2019-05-19Merge pull request #2439 from lioncash/audrenHexagon12
service/audren_u: Get rid of magic values within GetAudioRendererWorkBufferSize
2019-05-19Merge pull request #2463 from lioncash/setHexagon12
service/set: Correct and simplify behavior related to copying language codes
2019-05-19Merge pull request #2487 from lioncash/service-returnHexagon12
service/am: Add missing return in error case for IStorageAccessor's Read/Write()
2019-05-19Merge pull request #2490 from lioncash/floatHexagon12
ipc_helpers: Amend floating-point type in Pop<double> specialization
2019-05-19Merge pull request #2486 from lioncash/resetnameSebastian Valle
core/kernel/object: Rename ResetType enum members for clarity
2019-05-18ipc_helpers: Amend floating-point type in Pop<double> specializationLioncash
Currently, this overload isn't used, so this wasn't actually hit in any code, only the float overload is used.
2019-05-19Address review commentTobias
Co-Authored-By: Mat M. <mathew1800@gmail.com>
2019-05-18kernel/svc: Mark GetThreadList() and UnmapProcessCodeMemory() as internally ↵Lioncash
linked These are only used from within this translation unit, so they don't need to have external linkage. They were intended to be marked with this anyways to be consistent with the other service functions.
2019-05-18service/am: Add missing return in error case for IStorageAccessor's ↵Lioncash
Read()/Write(). Previously this would fall through and return successfully, despite being an out of bounds read or write.
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-05-18HLE/IPC: HLEContext can memorize the client thread and use it for ↵Weiyi Wang
SleepClientThread This reduces the boilerplate that services have to write out the current thread explicitly. Using current thread instead of client thread is also semantically incorrect, and will be a problem when we implement multicore (at which time there will be multiple current threads)
2019-05-09service/set: Correct and simplify behavior related to copying language codesLioncash
This corrects cases where it was possible to write more entries into the write buffer than were requested. Now, we check the size of the buffer before actually writing into them. We were also returning the wrong value for GetAvailableLanguageCodeCount2(). This was previously returning 64, but only 17 should have been returned. 64 entries is the size of the static array used in MakeLanguageCode() within the service binary itself, but isn't the actual total number of language codes present.
2019-05-09Merge pull request #2437 from lioncash/audctlbunnei
service/audctl: Update documentation comments to be relative to 8.0.0
2019-05-09Merge pull request #2445 from FearlessTobi/port-4749bunnei
Port citra-emu/citra#4749: "web_service: Misc fixes"
2019-05-09Merge pull request #2453 from lioncash/enumbunnei
core/memory: Remove unused FlushMode enum
2019-05-07core/memory: Remove unused FlushMode enumLioncash
Recent changes to memory-related code resulted in this being unused, so we can remove it.
2019-05-04core/telemetry_session: Only create the backend when we really need itzhupengfei
The backend is not used until we decide to submit the testcase/telemetry, and creating it early prevents users from updating the credentials properly while the games are running.
2019-05-04core/frontend/emu_window: Make GraphicsContext's destructor virtualLioncash
This class is used in a polymorphic context, so destruction of the context will lead to undefined behavior if the destructor isn't virtual.
2019-04-30service/audren_u: Handle variadic command buffers in GetWorkBufferSize()Lioncash
Also introduced in REV5 was a variable-size audio command buffer. This also affects how the size of the work buffer should be determined, so we can add handling for this as well. Thankfully, no other alterations were made to how the work buffer size is calculated in 7.0.0-8.0.0. There were indeed changes made to to how some of the actual audio commands are generated though (particularly in REV7), however they don't apply here.
2019-04-30service/audren_u: Handle version 2 of performance frame info in ↵Lioncash
GetWorkBufferSize() Introduced in REV5. This is trivial to add support for, now that everything isn't a mess of random magic constant values. All this is, is a change in data type sizes as far as this function cares.
2019-04-30service/audren_u: Clean up work buffer calculationsLioncash
"Unmagics" quite a few magic constants within this code, making it much easier to understand. Particularly given this factors out specific sections into their own self-contained lambda functions.
2019-04-30loader/nso: Remove left-in debug pragmaLioncash
Unintentionally introduced in 552d5071fa171165e4054392d8bb6bf2ecc924e2
2019-04-29kernel/svc: Make svcCreateThread/svcStartThread/svcSleepThread/svcExitThread ↵Lioncash
calls show up in the debug log These are actually quite important indicators of thread lifetimes, so they should be going into the debug log, rather than being treated as misc info and delegated to the trace log.
2019-04-29kernel/svc: Reorganize svcSetThreadCoreMask()Lioncash
Makes the code much nicer to follow in terms of behavior and control flow. It also fixes a few bugs in the implementation. Notably, the thread's owner process shouldn't be accessed in order to retrieve the core mask or ideal core. This should be done through the current running process. The only reason this bug wasn't encountered yet is because we currently only support running one process, and thus every owner process will be the current process. We also weren't checking against the process' CPU core mask to see if an allowed core is specified or not. With this out of the way, it'll be less noisy to implement proper handling of the affinity flags internally within the kernel thread instances.
2019-04-29kernel/thread: Update thread processor ID flagsLioncash
Adds the missing flags to the enum and documents them.
2019-04-28Merge pull request #2412 from lioncash/systembunnei
kernel/vm_manager: Remove usages of global system accessors
2019-04-27service/audctl: Update documentation comments to be relative to 8.0.0Lioncash
The state of these service calls are still the same in version 8.0.0.
2019-04-25mii_manager: Fix incorrect loop condition in mii UUID generation codeZach Hilman
2019-04-25profile_select: Port Service::Account::UUID to Common::UUIDZach Hilman
2019-04-25mii: Implement Delete and Destroy fileZach Hilman
2019-04-25mii: Implement IsUpdated command (IPC 0)Zach Hilman
2019-04-25mii_manager: Cleanup and optimizationZach Hilman
2019-04-25mii: Implement IDatabaseService commands using MiiManagerZach Hilman
Since the MiiManager was designed around the IPC interface, this is quite easy. Only functions that were clearly defined were implemented.
2019-04-25mii: Add MiiManager class to manage Mii databaseZach Hilman
Provides serialization/deserialization to the database in system save files, accessors for database state and proper handling of both major Mii formats (MiiInfo and MiiStoreData)
2019-04-25common: Extract UUID to its own classZach Hilman
Since the Mii database uses UUIDs very similar to the Accounts database, it makes no sense to not share code between them.
2019-04-24Merge pull request #2416 from lioncash/waitbunnei
kernel/svc: Clean up wait synchronization related functionality
2019-04-24Merge pull request #2424 from FernandoS27/compatbunnei
Allow picking a Compatibility Profile for OpenGL.