diff options
| author | Markus Wick <markus@selfnet.de> | 2019-02-19 09:44:33 +0100 |
|---|---|---|
| committer | Markus Wick <markus@selfnet.de> | 2019-02-19 09:58:38 +0100 |
| commit | 717394c980509ee68608e6378cf58162adb5edaa (patch) | |
| tree | e3b8edbc830b10f80dd3efa8e4d1d4e14f577e6b /src/video_core/dma_pusher.h | |
| parent | 4bce08d497d66399e5cf955220cfa00d4f967e34 (diff) | |
video_core/dma_pusher: The full list of headers at once.
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.
Diffstat (limited to 'src/video_core/dma_pusher.h')
| -rw-r--r-- | src/video_core/dma_pusher.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/video_core/dma_pusher.h b/src/video_core/dma_pusher.h index 1097e5c49..14b23b1d7 100644 --- a/src/video_core/dma_pusher.h +++ b/src/video_core/dma_pusher.h @@ -75,6 +75,8 @@ private: GPU& gpu; + std::vector<CommandHeader> command_headers; ///< Buffer for list of commands fetched at once + std::queue<CommandList> dma_pushbuffer; ///< Queue of command lists to be processed std::size_t dma_pushbuffer_subindex{}; ///< Index within a command list within the pushbuffer |
