Alistair Leslie-Hughes : d3d11: Make blend_factor optional in d3d11_immediate_context_OMSetBlendState().

Alexandre Julliard julliard at wine.codeweavers.com
Wed Nov 25 10:11:20 CST 2015


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

Author: Alistair Leslie-Hughes <leslie_alistair at hotmail.com>
Date:   Wed Nov 25 14:44:32 2015 +0100

d3d11: Make blend_factor optional in d3d11_immediate_context_OMSetBlendState().

Signed-off-by: Alistair Leslie-Hughes <leslie_alistair at hotmail.com>
Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/d3d11/device.c | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/dlls/d3d11/device.c b/dlls/d3d11/device.c
index f9d7c9e..b1f56c3 100644
--- a/dlls/d3d11/device.c
+++ b/dlls/d3d11/device.c
@@ -606,10 +606,14 @@ static void STDMETHODCALLTYPE d3d11_immediate_context_OMSetBlendState(ID3D11Devi
         ID3D11BlendState *blend_state, const FLOAT blend_factor[4], UINT sample_mask)
 {
     struct d3d_device *device = device_from_immediate_ID3D11DeviceContext(iface);
+    static const float default_blend_factor[] = {1.0f, 1.0f, 1.0f, 1.0f};
     const D3D11_BLEND_DESC *desc;
 
-    TRACE("iface %p, blend_state %p, blend_factor {%.8e %.8e %.8e %.8e}, sample_mask 0x%08x.\n",
-            iface, blend_state, blend_factor[0], blend_factor[1], blend_factor[2], blend_factor[3], sample_mask);
+    TRACE("iface %p, blend_state %p, blend_factor %p, sample_mask 0x%08x.\n",
+            iface, blend_state, blend_factor, sample_mask);
+
+    if (!blend_factor)
+        blend_factor = default_blend_factor;
 
     if (blend_factor[0] != 1.0f || blend_factor[1] != 1.0f || blend_factor[2] != 1.0f || blend_factor[3] != 1.0f)
         FIXME("Ignoring blend factor {%.8e %.8e %.8e %.8e}.\n",
@@ -3063,8 +3067,8 @@ static void STDMETHODCALLTYPE d3d10_device_OMSetBlendState(ID3D10Device1 *iface,
     struct d3d_device *device = impl_from_ID3D10Device(iface);
     struct d3d_blend_state *blend_state_object;
 
-    TRACE("iface %p, blend_state %p, blend_factor {%.8e %.8e %.8e %.8e}, sample_mask 0x%08x.\n",
-            iface, blend_state, blend_factor[0], blend_factor[1], blend_factor[2], blend_factor[3], sample_mask);
+    TRACE("iface %p, blend_state %p, blend_factor %p, sample_mask 0x%08x.\n",
+            iface, blend_state, blend_factor, sample_mask);
 
     blend_state_object = unsafe_impl_from_ID3D10BlendState(blend_state);
     d3d11_immediate_context_OMSetBlendState(&device->immediate_context.ID3D11DeviceContext_iface,




More information about the wine-cvs mailing list