Henri Verbeet : d2d1: Force alpha to 1.0f for clears.

Alexandre Julliard julliard at wine.codeweavers.com
Wed Jul 29 15:40:45 CDT 2015


Module: wine
Branch: master
Commit: 230785dc328a373627b242d47250cf5ee5d01540
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=230785dc328a373627b242d47250cf5ee5d01540

Author: Henri Verbeet <hverbeet at codeweavers.com>
Date:   Wed Jul 29 11:36:22 2015 +0200

d2d1: Force alpha to 1.0f for clears.

---

 dlls/d2d1/render_target.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/dlls/d2d1/render_target.c b/dlls/d2d1/render_target.c
index ead6b29..6c533f2 100644
--- a/dlls/d2d1/render_target.c
+++ b/dlls/d2d1/render_target.c
@@ -1133,6 +1133,7 @@ static void STDMETHODCALLTYPE d2d_d3d_render_target_PopAxisAlignedClip(ID2D1Rend
 static void STDMETHODCALLTYPE d2d_d3d_render_target_Clear(ID2D1RenderTarget *iface, const D2D1_COLOR_F *color)
 {
     struct d2d_d3d_render_target *render_target = impl_from_ID2D1RenderTarget(iface);
+    D2D1_COLOR_F c = {0.0f, 0.0f, 0.0f, 0.0f};
     D3D10_SUBRESOURCE_DATA buffer_data;
     D3D10_BUFFER_DESC buffer_desc;
     ID3D10Buffer *vs_cb, *ps_cb;
@@ -1162,8 +1163,11 @@ static void STDMETHODCALLTYPE d2d_d3d_render_target_Clear(ID2D1RenderTarget *ifa
         return;
     }
 
-    buffer_desc.ByteWidth = sizeof(*color);
-    buffer_data.pSysMem = color;
+    if (color)
+        c = *color;
+    c.a = 1.0f;
+    buffer_desc.ByteWidth = sizeof(c);
+    buffer_data.pSysMem = &c;
 
     if (FAILED(hr = ID3D10Device_CreateBuffer(render_target->device, &buffer_desc, &buffer_data, &ps_cb)))
     {




More information about the wine-cvs mailing list