gpu_synch.cpp 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. // Copyright 2019 yuzu Emulator Project
  2. // Licensed under GPLv2 or any later version
  3. // Refer to the license.txt file included.
  4. #include "video_core/gpu_synch.h"
  5. #include "video_core/renderer_base.h"
  6. namespace VideoCommon {
  7. GPUSynch::GPUSynch(Core::System& system, VideoCore::RendererBase& renderer)
  8. : GPU(system, renderer, false) {}
  9. GPUSynch::~GPUSynch() = default;
  10. void GPUSynch::Start() {}
  11. void GPUSynch::PushGPUEntries(Tegra::CommandList&& entries) {
  12. dma_pusher->Push(std::move(entries));
  13. dma_pusher->DispatchCalls();
  14. }
  15. void GPUSynch::SwapBuffers(const Tegra::FramebufferConfig* framebuffer) {
  16. renderer.SwapBuffers(framebuffer);
  17. }
  18. void GPUSynch::FlushRegion(CacheAddr addr, u64 size) {
  19. renderer.Rasterizer().FlushRegion(addr, size);
  20. }
  21. void GPUSynch::InvalidateRegion(CacheAddr addr, u64 size) {
  22. renderer.Rasterizer().InvalidateRegion(addr, size);
  23. }
  24. void GPUSynch::FlushAndInvalidateRegion(CacheAddr addr, u64 size) {
  25. renderer.Rasterizer().FlushAndInvalidateRegion(addr, size);
  26. }
  27. } // namespace VideoCommon