summaryrefslogtreecommitdiffstats
path: root/src/video_core/gpu_thread.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* gpu_thread: Use MPSCQueue for GPU commands.bunnei2020-02-081-1/+1
| | | | - Necessary for multiple service threads.
* Core: Wait for GPU to be idle before shutting down.Fernando Sahmkow2019-10-051-0/+3
|
* GPU_Async: Correct fences, display events and more.Fernando Sahmkow2019-10-051-6/+0
| | | | | | | This commit uses guest fences on vSync event instead of an articial fake fence we had. It also corrects to keep signaling display events while loading the game as the OS is suppose to send buffers to vSync during that time.
* gpu: Change optional<reference_wrapper<T>> to T* for FramebufferConfigReinUsesLisp2019-08-211-2/+1
|
* gpu_asynch: Simplify synchronization to a simpler consumer->producer scheme.Fernando Sahmkow2019-07-051-32/+0
|
* Merge pull request #2467 from lioncash/moveHexagon122019-05-191-6/+0
|\ | | | | video_core/gpu_thread: Remove redundant copy constructor for CommandDataContainer
| * video_core/gpu_thread: Remove redundant copy constructor for CommandDataContainerLioncash2019-05-141-6/+0
| | | | | | | | | | | | | | std::move within a copy constructor (on a data member that isn't mutable) will always result in a copy. Because of that, the behavior of this copy constructor is identical to the one that would be generated automatically by the compiler, so we can remove it.
* | yuzu: Remove explicit types from locks where applicableLioncash2019-05-141-1/+1
|/ | | | | With C++17's deduction guides, the type doesn't need to be explicitly specified within locking primitives anymore.
* video_core/gpu: Create threads separately from initializationLioncash2019-04-121-2/+4
| | | | | | | | | Like with CPU emulation, we generally don't want to fire off the threads immediately after the relevant classes are initialized, we want to do this after all necessary data is done loading first. This splits the thread creation into its own interface member function to allow controlling when these threads in particular get created.
* gpu_thread: Improve synchronization by using CoreTiming.bunnei2019-04-021-40/+31
|
* general: Use deducation guides for std::lock_guard and std::unique_lockLioncash2019-04-011-6/+6
| | | | | | | Since C++17, the introduction of deduction guides for locking facilities means that we no longer need to hardcode the mutex type into the locks themselves, making it easier to switch mutex types, should it ever be necessary in the future.
* gpu_thread: Remove unused dma_pusher class member variable from ThreadManagerLioncash2019-03-271-3/+0
| | | | | | The pusher instance is only ever used in the constructor of the ThreadManager for creating the thread that the ThreadManager instance contains. Aside from that, the member is unused, so it can be removed.
* gpu: Use host address for caching instead of guest address.bunnei2019-03-151-40/+92
|
* video_core/gpu_thread: Remove unimplemented WaitForIdle function prototypeLioncash2019-03-071-3/+0
| | | | | This function didn't have a definition, so we can remove it to prevent accidentally attempting to use it.
* video_core/gpu_thread: Amend constructor initializer list orderLioncash2019-03-071-2/+2
| | | | | | | Moves the data members to satisfy the order they're declared as in the constructor initializer list. Silences a -Wreorder warning.
* gpu_thread: Fix deadlock with threading idle state check.bunnei2019-03-071-3/+4
|
* gpu: Move command processing to another thread.bunnei2019-03-071-0/+135