aboutsummaryrefslogtreecommitdiff
path: root/src/core/CMakeLists.txt
AgeCommit message (Collapse)Author
2020-04-02Merge pull request #3552 from jroweboy/single-contextRodrigo Locatti
Refactor Context management (Fixes renderdoc on opengl issues)
2020-03-31capsrv: Split Capture services into individual files and stub ↵Morph
GetAlbumContentsFileListForApplication (#3571) * Organize capture services into individual files * Stub GetAlbumContentsFileListForApplication * Address feedback
2020-03-24Frontend/GPU: Refactor context managementJames Rowe
Changes the GraphicsContext to be managed by the GPU core. This eliminates the need for the frontends to fool around with tricky MakeCurrent/DoneCurrent calls that are dependent on the settings (such as async gpu option). This also refactors out the need to use QWidget::fromWindowContainer as that caused issues with focus and input handling. Now we use a regular QWidget and just access the native windowHandle() directly. Another change is removing the debug tool setting in FrameMailbox. Instead of trying to block the frontend until a new frame is ready, the core will now take over presentation and draw directly to the window if the renderer detects that its hooked by NSight or RenderDoc Lastly, since it was in the way, I removed ScopeAcquireWindowContext and replaced it with a simple subclass in GraphicsContext that achieves the same result
2020-03-02core: Implement separate A32/A64 ARM interfaces.bunnei
2020-03-02core: dynarmic: Add CP15 from Citra.bunnei
2020-02-25core: frontend: Refactor scope_acquire_window_context to scope_acquire_context.bunnei
2020-02-22Kernel: Implement Time Manager.Fernando Sahmkow
2020-02-11Kernel: Refactor synchronization to better match REFernando Sahmkow
2020-02-11Kernel: Change WaitObject to Synchronization object. In order to better ↵Fernando Sahmkow
reflect RE.
2020-01-26Core: Refactor CpuCoreManager to CpuManager and Cpu to Core Manager.Fernando Sahmkow
This commit instends on better naming the new purpose of this classes.
2020-01-25Core: Refactor CPU Management.Fernando Sahmkow
This commit moves ARM Interface and Scheduler handling into the kernel.
2020-01-04system_archive: Add a basic HLE implementation for time zone binary.bunnei
2020-01-04service: time: Rewrite implementation of glue services.bunnei
2019-11-28kernel: Implement a more accurate IPC dispatch.bunnei
2019-11-26core/memory: Migrate over memory mapping functions to the new Memory classLioncash
Migrates all of the direct mapping facilities over to the new memory class. In the process, this also obsoletes the need for memory_setup.h, so we can remove it entirely from the project.
2019-11-12CMakeLists: Make most implicit type conversion warnings errors on MSVCLioncash
Quite frequently there have been cases where code has been merged into the core that produces warning. In order to prevent this from occurring, we can make the compiler flag these cases and allow our CI to flag down any code that would generate these warnings. This is beneficial given silent conversions from signed/unsigned can result in logic bugs. This forces one writing changes to be explicit about when signedness conversions are desirable, rather than leaving it up to readers' interpretation. Currently the codebase isn't in a state where it will build successfully with this change applied, but this will be addressed in subsequent follow-up changes. This set of changes will focus on making it build properly with these changes for MSVC as a starting point for basic coverage.
2019-10-13externals: Move OSS font data to file_sys in coreZach Hilman
2019-10-08Merge pull request #2654 from DarkLordZach/lm-log-rewritebunnei
lm: Rewrite logger to use core reporting services
2019-09-30module: Create BCAT backend based upon Settings value on constructionZach Hilman
2019-09-22core: Add LM::Manager to systemZach Hilman
Allows centralized control over logging mechanisms.
2019-09-22Revert "Merge pull request #2709 from DarkLordZach/oss-ext-fonts-1"David Marcec
This reverts commit fa1c60c33ef88c6cd0b72da46842dc9098db712d, reversing changes made to e34899067b60a69bca02761bd1290c6824bb559a.
2019-09-22Merge pull request #2535 from DarkLordZach/cheat-v2David
cheat_engine: Use Atmosphere's Cheat VM and fix cheat crash
2019-09-21cheat_engine: Move to memory and strip VMZach Hilman
This is to go with the Atmosphere VM port, now it just contains the callbacks needed for the interface between DmntCheatVm and yuzu, along with the cheat parsers.
2019-09-21externals: Move OSS font data to file_sys in coreZach Hilman
2019-09-05Merge pull request #2707 from DarkLordZach/oss-miimodelDavid
system_archive: Add open-source reimplementation of MiiModel data
2019-07-26Merge pull request #2592 from FernandoS27/sync1bunnei
Implement GPU Synchronization Mechanisms & Correct NVFlinger
2019-07-10system_archive: Add open-source reimplementation of MiiModel dataZach Hilman
2019-07-08Merge pull request #2657 from ogniK5377/npad-assignmentsZach Hilman
hid:StartLrAssignmentMode, hid:StopLrAssignmentMode, hid:SwapNpadAssignment
2019-07-07Merge pull request #2651 from DarkLordZach/apm-boost-mode-1bunnei
apm: Initial implementation of performance config and boost mode
2019-07-05Gpu: Implement Hardware Interrupt Manager and manage GPU interruptsFernando Sahmkow
2019-07-05nv_services: Correct buffer queue fencing and GPFifo fencingFernando Sahmkow
2019-07-03Merge pull request #2613 from ogniK5377/InitalizeApplicationInfoZach Hilman
Implemented InitializeApplicationInfo & InitializeApplicationInfoRestricted
2019-07-03Merge pull request #2608 from ogniK5377/Time_GetSharedMemoryNativeHandleZach Hilman
Implement Time::GetSharedMemoryNativeHandle
2019-07-02Merge pull request #2604 from ogniK5377/INotificationServicebunnei
Implemented INotificationService
2019-07-01hid:StartLrAssignmentMode, hid:StopLrAssignmentMode, hid:SwapNpadAssignmentDavid Marcec
StartLrAssignmentMode and StopLrAssignmentMode don't require any implementation as it's just used for showing the screen of changing the controller orientation if the user wishes to do so. Ever since #1634 this has not been needed as users can specify the controller orientation from the config and swap at any time. We store a private member just in case this gets used for anything extra in the future
2019-06-28apm: Add Controller class to manage speed data and applicationZach Hilman
2019-06-28Merge pull request #2533 from DarkLordZach/memory-frozenbunnei
memory: Add class to manage and enforce memory freezing
2019-06-28Added errors.h to cmakelistDavid Marcec
2019-06-26Implement Time::GetSharedMemoryNativeHandleDavid Marcec
This PR attempts to implement the shared memory provided by GetSharedMemoryNativeHandle. There is still more work to be done however that requires a rehaul of the current time module to handle clock contexts. This PR is mainly to get the basic functionality of the SharedMemory working and allow the use of addition to it whilst things get improved on. Things to note: Memory Barriers are used in the SharedMemory and a better solution would need to be done to implement this. Currently in this PR I’m faking the memory barriers as everything is sync and single threaded. They work by incrementing the counter and just populate the two data slots. On data reading, it will read the last added data. Specific values in the shared memory would need to be updated periodically. This isn't included in this PR since we don't actively do this yet. In a later PR when time is refactored this should be done. Finally, as we don't handle clock contexts. When time is refactored, we will need to update the shared memory for specific contexts. This PR does this already however since the contexts are all identical and not separated. We're just updating the same values for each context which in this case is empty. Tiime:SetStandardUserSystemClockAutomaticCorrectionEnabled, Time:IsStandardUserSystemClockAutomaticCorrectionEnabled are also partially implemented in this PR. The reason the implementation is partial is because once again, a lack of clock contexts. This will be improved on in a future PR. This PR closes issue #2556
2019-06-24glue: Add errors for glue/arp servicesZach Hilman
2019-06-24glue: Add manager to keep track of application registryZach Hilman
Manages mapping between title IDs and application launch and control properties.
2019-06-24Implemented INotificationServiceDavid Marcec
2019-06-21Merge pull request #2546 from DarkLordZach/kipsbunnei
loader, file_sys: Add support for parsing and loading KIP (Kernel Internal Process) files
2019-06-21Merge pull request #2482 from DarkLordZach/prepobunnei
core: Add detailed local reporting feature for development
2019-06-20core: Move Freezer class to tools namespaceZach Hilman
2019-06-20memory: Add class to manage and enforce memory freezingZach Hilman
2019-06-18core: Remove unused CiTrace source filesLioncash
These source files have been unused for the entire lifecycle of the project. They're a hold-over from Citra and only add to the build time of the project, so they can be removed. There's also likely no way this would ever work in yuzu in its current form without revamping quite a bit of it, given how different the GPU on the Switch is compared to the 3DS.
2019-06-07constants: Extract backup JPEG used by account servicesZach Hilman
2019-06-05Merge pull request #2510 from SciresM/desired_languageZach Hilman
Implement/Fix IApplicationFunctions::GetDesiredLanguage
2019-06-05loader: Add AppLoader_KIP for KIP filesZach Hilman