Zebediah Figura : quartz/vmr9: Get rid of VMR9_ImagePresenter_PresentOffscreenSurface().

Alexandre Julliard julliard at winehq.org
Mon Jun 15 15:03:05 CDT 2020


Module: wine
Branch: master
Commit: 5444ce2f0db7b3f7b4e1fdf3f7bb8d18b79f315b
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=5444ce2f0db7b3f7b4e1fdf3f7bb8d18b79f315b

Author: Zebediah Figura <zfigura at codeweavers.com>
Date:   Fri Jun 12 16:28:28 2020 -0500

quartz/vmr9: Get rid of VMR9_ImagePresenter_PresentOffscreenSurface().

Signed-off-by: Zebediah Figura <z.figura12 at gmail.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/quartz/vmr9.c | 31 ++++++++++---------------------
 1 file changed, 10 insertions(+), 21 deletions(-)

diff --git a/dlls/quartz/vmr9.c b/dlls/quartz/vmr9.c
index 449943f2dc..6b653e5609 100644
--- a/dlls/quartz/vmr9.c
+++ b/dlls/quartz/vmr9.c
@@ -2611,26 +2611,6 @@ static HRESULT WINAPI VMR9_ImagePresenter_StopPresenting(IVMRImagePresenter9 *if
     return S_OK;
 }
 
-static HRESULT VMR9_ImagePresenter_PresentOffscreenSurface(struct default_presenter *This, IDirect3DSurface9 *surface)
-{
-    HRESULT hr;
-    IDirect3DSurface9 *target = NULL;
-
-    hr = IDirect3DDevice9_GetBackBuffer(This->d3d9_dev, 0, 0, D3DBACKBUFFER_TYPE_MONO, &target);
-    if (FAILED(hr))
-    {
-        ERR("IDirect3DDevice9_GetBackBuffer -- %08x\n", hr);
-        return hr;
-    }
-
-    hr = IDirect3DDevice9_StretchRect(This->d3d9_dev, surface, NULL, target, NULL, D3DTEXF_POINT);
-    if (FAILED(hr))
-        ERR("IDirect3DDevice9_StretchRect -- %08x\n", hr);
-    IDirect3DSurface9_Release(target);
-
-    return hr;
-}
-
 static HRESULT WINAPI VMR9_ImagePresenter_PresentImage(IVMRImagePresenter9 *iface,
         DWORD_PTR cookie, VMR9PresentationInfo *info)
 {
@@ -2638,6 +2618,7 @@ static HRESULT WINAPI VMR9_ImagePresenter_PresentImage(IVMRImagePresenter9 *ifac
     const struct quartz_vmr *filter = presenter->pVMR9;
     IDirect3DDevice9 *device = presenter->d3d9_dev;
     const RECT src = filter->window.src;
+    IDirect3DSurface9 *backbuffer;
     RECT dst = filter->window.dst;
     HRESULT hr;
 
@@ -2654,7 +2635,15 @@ static HRESULT WINAPI VMR9_ImagePresenter_PresentImage(IVMRImagePresenter9 *ifac
     if (FAILED(hr = IDirect3DDevice9_BeginScene(device)))
         ERR("Failed to begin scene, hr %#x.\n", hr);
 
-    VMR9_ImagePresenter_PresentOffscreenSurface(presenter, info->lpSurf);
+    if (FAILED(hr = IDirect3DDevice9_GetBackBuffer(device, 0, 0, D3DBACKBUFFER_TYPE_MONO, &backbuffer)))
+    {
+        ERR("Failed to get backbuffer, hr %#x.\n", hr);
+        return hr;
+    }
+
+    if (FAILED(hr = IDirect3DDevice9_StretchRect(device, info->lpSurf, NULL, backbuffer, NULL, D3DTEXF_POINT)))
+        ERR("Failed to blit image, hr %#x.\n", hr);
+    IDirect3DSurface9_Release(backbuffer);
 
     if (FAILED(hr = IDirect3DDevice9_EndScene(device)))
         ERR("Failed to end scene, hr %#x.\n", hr);




More information about the wine-cvs mailing list