From 62668688e1055dbfcbff824acfd9c9f970fc2c09 Mon Sep 17 00:00:00 2001
From: tfarley <tfarleygithub@gmail.com>
Date: Fri, 22 May 2015 14:49:42 -0700
Subject: [PATCH] Flush for y2r (moflex)

---
 src/core/hle/service/y2r_u.cpp | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/src/core/hle/service/y2r_u.cpp b/src/core/hle/service/y2r_u.cpp
index ce822e990..15987e028 100644
--- a/src/core/hle/service/y2r_u.cpp
+++ b/src/core/hle/service/y2r_u.cpp
@@ -9,7 +9,11 @@
 #include "core/hle/hle.h"
 #include "core/hle/kernel/event.h"
 #include "core/hle/service/y2r_u.h"
+#include "core/mem_map.h"
+#include "core/memory.h"
+
 #include "video_core/utils.h"
+#include "video_core/video_core.h"
 
 ////////////////////////////////////////////////////////////////////////////////////////////////////
 // Namespace Y2R_U
@@ -260,6 +264,13 @@ static void StartConversion(Service::Interface* self) {
         break;
     }
     }
+
+    // dst_image_size would seem to be perfect for this, but it doesn't include the stride :(
+    u32 total_output_size = conversion_params.input_lines *
+        (conversion_params.dst_transfer_unit + conversion_params.dst_stride);
+    VideoCore::g_renderer->hw_rasterizer->NotifyFlush(
+        Memory::VirtualToPhysicalAddress(conversion_params.dst_address), total_output_size);
+
     LOG_DEBUG(Service_Y2R, "called");
     completion_event->Signal();