aboutsummaryrefslogtreecommitdiff
path: root/src/video_core/dma_pusher.cpp
AgeCommit message (Collapse)Author
2020-02-28video_core: Reintroduce dirty flags infrastructureReinUsesLisp
2020-02-28gl_rasterizer: Remove dirty flagsReinUsesLisp
2019-07-26GPU: Flush commands on every dma pusher step.Fernando Sahmkow
This commit ensures that the host gpu is constantly fed with commands to work with, while the guest gpu keeps producing the rest of the commands. This reduces syncing time between host and guest gpu.
2019-07-17Maxwell3D: Rework the dirty system to be more consistant and scaleableFernando Sahmkow
2019-05-19Dma_pusher: ASSERT on empty command_listFernando Sahmkow
This is a measure to avoid crashes on command list reading as an empty command_list is considered a NOP.
2019-04-28Merge pull request #2322 from ReinUsesLisp/wswitchbunnei
video_core: Silent -Wswitch warnings
2019-04-18video_core: Silent -Wswitch warningsReinUsesLisp
2019-04-16Use ReadBlockUnsafe for fetyching DMA CommandListsFernando Sahmkow
2019-04-06video_core/texures/texture: Remove unnecessary includesLioncash
Nothing in this header relies on common_funcs or the memory manager. This gets rid of reliance on indirect inclusions in the OpenGL caches.
2019-03-16video_core: Refactor to use MemoryManager interface for all memory access.bunnei
# Conflicts: # src/video_core/engines/kepler_memory.cpp # src/video_core/engines/maxwell_3d.cpp # src/video_core/morton.cpp # src/video_core/morton.h # src/video_core/renderer_opengl/gl_global_cache.cpp # src/video_core/renderer_opengl/gl_global_cache.h # src/video_core/renderer_opengl/gl_rasterizer_cache.cpp
2019-03-08dma_pusher: Store command_list_header by copyReinUsesLisp
Instead of holding a reference that will get invalidated by dma_pushbuffer.pop(), hold it as a copy. This doesn't have any performance cost since CommandListHeader is 8 bytes long.
2019-02-19video_core/dma_pusher: Simplyfy Step() logic.Markus Wick
As fetching command list headers and and the list of command headers is a fixed 1:1 relation now, they can be implemented within a single call. This cleans up the Step() logic quite a bit.
2019-02-19video_core/dma_pusher: The full list of headers at once.Markus Wick
Fetching every u32 from memory leads to a big overhead. So let's fetch all of them as a block if possible. This reduces the Memory::* calls by the dma_pusher by a factor of 10.
2019-02-03video_core: Assert on invalid GPU to CPU address queriesReinUsesLisp
2018-11-27dma_pushbuffer: Optimize to avoid loop and copy on Push.bunnei
2018-11-27gpu: Move command list profiling to DmaPusher::DispatchCalls.bunnei
2018-11-26gpu: Rewrite GPU command list processing with DmaPusher class.bunnei
- More accurate impl., fixes Undertale (among other games).