|
|
@ -31,8 +31,7 @@ static void RunThread(VideoCore::RendererBase& renderer, Tegra::DmaPusher& dma_p |
|
|
|
|
|
|
|
|
CommandDataContainer next; |
|
|
CommandDataContainer next; |
|
|
while (state.is_running) { |
|
|
while (state.is_running) { |
|
|
while (!state.queue.Empty()) { |
|
|
|
|
|
state.queue.Pop(next); |
|
|
|
|
|
|
|
|
next = state.queue.PopWait(); |
|
|
if (const auto submit_list = std::get_if<SubmitListCommand>(&next.data)) { |
|
|
if (const auto submit_list = std::get_if<SubmitListCommand>(&next.data)) { |
|
|
dma_pusher.Push(std::move(submit_list->entries)); |
|
|
dma_pusher.Push(std::move(submit_list->entries)); |
|
|
dma_pusher.DispatchCalls(); |
|
|
dma_pusher.DispatchCalls(); |
|
|
@ -49,7 +48,6 @@ static void RunThread(VideoCore::RendererBase& renderer, Tegra::DmaPusher& dma_p |
|
|
} |
|
|
} |
|
|
state.signaled_fence.store(next.fence); |
|
|
state.signaled_fence.store(next.fence); |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
ThreadManager::ThreadManager(Core::System& system) : system{system} {} |
|
|
ThreadManager::ThreadManager(Core::System& system) : system{system} {} |
|
|
|