Просмотр исходного кода

nvdisp_disp0: Call SwapBuffers to render framebuffer.

bunnei 8 лет назад
Родитель
Сommit
305035b503
1 измененных файлов с 7 добавлено и 0 удалено
  1. 7 0
      src/core/hle/service/nvdrv/devices/nvdisp_disp0.cpp

+ 7 - 0
src/core/hle/service/nvdrv/devices/nvdisp_disp0.cpp

@@ -6,6 +6,8 @@
 #include "common/logging/log.h"
 #include "common/logging/log.h"
 #include "core/hle/service/nvdrv/devices/nvdisp_disp0.h"
 #include "core/hle/service/nvdrv/devices/nvdisp_disp0.h"
 #include "core/hle/service/nvdrv/devices/nvmap.h"
 #include "core/hle/service/nvdrv/devices/nvmap.h"
+#include "video_core/renderer_base.h"
+#include "video_core/video_core.h"
 
 
 namespace Service {
 namespace Service {
 namespace NVDRV {
 namespace NVDRV {
@@ -22,6 +24,11 @@ void nvdisp_disp0::flip(u32 buffer_handle, u32 offset, u32 format, u32 width, u3
     LOG_WARNING(Service,
     LOG_WARNING(Service,
                 "Drawing from address %llx offset %08X Width %u Height %u Stride %u Format %u",
                 "Drawing from address %llx offset %08X Width %u Height %u Stride %u Format %u",
                 addr, offset, width, height, stride, format);
                 addr, offset, width, height, stride, format);
+
+    using PixelFormat = RendererBase::FramebufferInfo::PixelFormat;
+    const RendererBase::FramebufferInfo framebuffer_info{
+        addr, offset, width, height, stride, static_cast<PixelFormat>(format)};
+    VideoCore::g_renderer->SwapBuffers(framebuffer_info);
 }
 }
 
 
 } // namespace Devices
 } // namespace Devices