Module: wine Branch: master Commit: 230785dc328a373627b242d47250cf5ee5d01540 URL: http://source.winehq.org/git/wine.git/?a=commit;h=230785dc328a373627b242d472...
Author: Henri Verbeet hverbeet@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))) {