summaryrefslogtreecommitdiff
path: root/src/core
AgeCommit message (Collapse)Author
2021-01-07nvdec syncpt incorporationameerj
laying the groundwork for async gpu, although this does not fully implement async nvdec operations
2021-01-05core: Enforce C4715 (not all control paths return a value)ReinUsesLisp
2021-01-05core: Silence warnings when compiling without assertsReinUsesLisp
2021-01-04buffer_queue: Protect queue_sequence list access with a mutexameerj
fixes a data race as this is an unprotected variable manipulated by multiple threads
2021-01-03main: Resolve error string not displayingLioncash
During the transition to make the error dialog translatable, I accidentally got rid of the conversion to ResultStatus, which prevented operator<< from being invoked during formatting. This adds a function to directly retrieve the result status string instead so that it displays again.
2021-01-03Merge pull request #5278 from MerryMage/cpuopt_unsafe_inaccurate_nanbunnei
dynarmic: Add Unsafe_InaccurateNaN optimization
2021-01-02hle: service: nvflinger: buffer_queue: Do not reset id/layer_id on Connect.bunnei
- This behavior is a mistake, fixes Katana Zero.
2021-01-02dynarmic: Add Unsafe_InaccurateNaN optimizationMerryMage
2021-01-02general: Fix various spelling errorsMorph
2021-01-01memory: Remove MemoryHookMerryMage
2021-01-01Merge pull request #5249 from ReinUsesLisp/lock-free-pagesbunnei
core/memory: Read and write page table atomically
2020-12-30Merge pull request #5208 from bunnei/service-threadsbunnei
Service threads
2020-12-30service/pcie: Fix invalid initialization argumentReinUsesLisp
2020-12-29core/memory: Read and write page table atomicallyReinUsesLisp
Squash attributes into the pointer's integer, making them an uintptr_t pair containing 2 bits at the bottom and then the pointer. These bits are currently unused thanks to alignment requirements. Configure Dynarmic to mask out these bits on pointer reads. While we are at it, remove some unused attributes carried over from Citra. Read/Write and other hot functions use a two step unpacking process that is less readable to stop MSVC from emitting an extra AND instruction in the hot path: mov rdi,rcx shr rdx,0Ch mov r8,qword ptr [rax+8] mov rax,qword ptr [r8+rdx*8] mov rdx,rax -and al,3 and rdx,0FFFFFFFFFFFFFFFCh je Core::Memory::Memory::Impl::Read<unsigned char> mov rax,qword ptr [vaddr] movzx eax,byte ptr [rdx+rax]
2020-12-29Merge pull request #5247 from comex/xx-conceptsbunnei
k_priority_queue: Fix concepts use
2020-12-29hle: kernel: service_thread: Make thread naming more consistent.bunnei
2020-12-29hle: kernel: Manage service threads on another thread.bunnei
- This is to allow service threads to defer destruction of themselves.
2020-12-29Merge pull request #5246 from comex/xx-includebunnei
Add missing include of "core/hle/kernel/kernel.h"
2020-12-29hle: kernel: Manage host thread IDs using TLS.bunnei
- Avoids the need to have a large map of host to guest thread IDs.
2020-12-29k_priority_queue: Fix concepts usecomex
- For `std::same_as`, add missing include of `<concepts>`. - For `std::convertible_to`, create a replacement in `common/concepts.h` and use that instead. This would also be found in `<concepts>`, but unlike `std::same_as`, `std::convertible_to` is not yet implemented in libc++, LLVM's STL implementation - not even in master. (In fact, `std::same_as` is the *only* concept currently implemented. For some reason.)
2020-12-29Add missing include of "core/hle/kernel/kernel.h"comex
This is needed as the header invokes methods on KernelCore.
2020-12-29svc: demote SleepThread log to LOG_TRACEameerj
This log is called often, and introduces a lot of noise when debug logging is enabled, making it difficult to see other debug logs.
2020-12-29hle: kernel: Move ServiceThread ownership to KernelCore.bunnei
- Fixes a circular dependency which prevented threads from being released on shutdown.
2020-12-29hle: kernel: service_thread: Add thread name and take weak_ptr of ServerSession.bunnei
2020-12-28hle: service: Acquire and release a lock on requests.bunnei
- This makes it such that we can safely access service members from CoreTiming thread.
2020-12-28core: Do not reset device_memory on shutdown.bunnei
- This will be reset on initialization.
2020-12-28core: hle: kernel: Clear process list on boot.bunnei
2020-12-28hle: service: vi: Refactor to grab buffer only once.bunnei
2020-12-28service: nvflinger: Improve synchronization for BufferQueue.bunnei
- Use proper mechanisms for blocking on DequeueBuffer. - Ensure service thread terminates on emulation Shutdown.
2020-12-28hle: service: Ensure system is powered on before writing IPC result.bunnei
2020-12-28core: kernel: Clear process list earlier.bunnei
2020-12-28core: settings: Untangle multicore from asynchronous GPU.bunnei
- Now that GPU is always threaded, we can support multicore with synchronous GPU.
2020-12-28hle: kernel: hle_ipc: Remove SleepClientThread.bunnei
- This was kind of hacky, and no longer is necessary with service threads.
2020-12-28hle: service: bsd: Update to work with service threads, removing ↵bunnei
SleepClientThread.
2020-12-28hle: service: nvdrv: Revert #4981 to remove usage of SleepClientThread.bunnei
- Note, this always processes the ioctl right away, which fixes BotW 1.0.0 issues.
2020-12-28hle: kernel: service_thread: Add parameter for thread pool size.bunnei
2020-12-28hle: service: nvflinger: Refactor locking and interfaces.bunnei
2020-12-28hle: service: vi: Remove usage of SleepClientThread.bunnei
2020-12-28core: hle: server_session: Use separate threads for each service connection.bunnei
2020-12-24core: memory: Ensure thread safe access when pages are rasterizer cached (#5206)bunnei
* core: memory: Ensure thread safe access when pages are rasterizer cached.
2020-12-21Merge pull request #5042 from Morph1984/project-aetherbunnei
Project Aether: Reimplementation of the Web Browser Applet
2020-12-20Merge pull request #5131 from bunnei/scheduler-rewritebunnei
Rewrite Kernel scheduler based on Atmosphere
2020-12-20Merge pull request #5201 from ameerj/bufferq-refactorbunnei
vi/buffer_queue: Buffer queue management refactor
2020-12-19yuzu: Remove gdbstub configurationFearlessTobi
The gdbstub itself was removed with https://github.com/yuzu-emu/yuzu/pull/5028. This PR just removes the remaining gdb configuration code from the emulator and the UI.
2020-12-18applets/web: Implement the online web browser appletMorph
2020-12-18main, applets/web: Re-add progress dialog for RomFS extractionMorph
2020-12-18pl_u, applets/web: Decrypt shared fonts to TTF filesMorph
2020-12-18ns_vm: Stub NeedsUpdateVulnerabilityMorph
This is used to force system updates on launching the web browser. We do not care about system updates so this can be set to false.
2020-12-18frontend/input_interpreter: Add InputInterpreter APIMorph
The InputInterpreter class interfaces with HID to retrieve button press states. Input is intended to be polled every 50ms so that a button is considered to be held down after 400ms has elapsed since the initial button press and subsequent repeated presses occur every 50ms. Co-authored-by: Chloe <25727384+ogniK5377@users.noreply.github.com>
2020-12-18controllers/npad: Make press_state atomicMorph