=?UTF-8?Q?J=C3=B3zef=20Kucia=20?=: d3d11: Normalize D3D11_BLEND_DESC.
Alexandre Julliard
julliard at winehq.org
Fri Sep 7 16:49:26 CDT 2018
Module: wine
Branch: master
Commit: 66996c602d61f1c5ec1040a5a3526480a6b8744c
URL: https://source.winehq.org/git/wine.git/?a=commit;h=66996c602d61f1c5ec1040a5a3526480a6b8744c
Author: Józef Kucia <jkucia at codeweavers.com>
Date: Thu Sep 6 22:01:55 2018 +0200
d3d11: Normalize D3D11_BLEND_DESC.
Signed-off-by: Józef Kucia <jkucia at codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/d3d11/state.c | 24 ++++++++++++++++++------
1 file changed, 18 insertions(+), 6 deletions(-)
diff --git a/dlls/d3d11/state.c b/dlls/d3d11/state.c
index d4c3bef..9848690 100644
--- a/dlls/d3d11/state.c
+++ b/dlls/d3d11/state.c
@@ -328,12 +328,24 @@ HRESULT d3d_blend_state_create(struct d3d_device *device, const D3D11_BLEND_DESC
{
j = desc->IndependentBlendEnable ? i : 0;
tmp_desc.RenderTarget[i].BlendEnable = desc->RenderTarget[j].BlendEnable;
- tmp_desc.RenderTarget[i].SrcBlend = desc->RenderTarget[j].SrcBlend;
- tmp_desc.RenderTarget[i].DestBlend = desc->RenderTarget[j].DestBlend;
- tmp_desc.RenderTarget[i].BlendOp = desc->RenderTarget[j].BlendOp;
- tmp_desc.RenderTarget[i].SrcBlendAlpha = desc->RenderTarget[j].SrcBlendAlpha;
- tmp_desc.RenderTarget[i].DestBlendAlpha = desc->RenderTarget[j].DestBlendAlpha;
- tmp_desc.RenderTarget[i].BlendOpAlpha = desc->RenderTarget[j].BlendOpAlpha;
+ if (tmp_desc.RenderTarget[i].BlendEnable)
+ {
+ tmp_desc.RenderTarget[i].SrcBlend = desc->RenderTarget[j].SrcBlend;
+ tmp_desc.RenderTarget[i].DestBlend = desc->RenderTarget[j].DestBlend;
+ tmp_desc.RenderTarget[i].BlendOp = desc->RenderTarget[j].BlendOp;
+ tmp_desc.RenderTarget[i].SrcBlendAlpha = desc->RenderTarget[j].SrcBlendAlpha;
+ tmp_desc.RenderTarget[i].DestBlendAlpha = desc->RenderTarget[j].DestBlendAlpha;
+ tmp_desc.RenderTarget[i].BlendOpAlpha = desc->RenderTarget[j].BlendOpAlpha;
+ }
+ else
+ {
+ tmp_desc.RenderTarget[i].SrcBlend = D3D11_BLEND_ONE;
+ tmp_desc.RenderTarget[i].DestBlend = D3D11_BLEND_ZERO;
+ tmp_desc.RenderTarget[i].BlendOp = D3D11_BLEND_OP_ADD;
+ tmp_desc.RenderTarget[i].SrcBlendAlpha = D3D11_BLEND_ONE;
+ tmp_desc.RenderTarget[i].DestBlendAlpha = D3D11_BLEND_ZERO;
+ tmp_desc.RenderTarget[i].BlendOpAlpha = D3D11_BLEND_OP_ADD;
+ }
tmp_desc.RenderTarget[i].RenderTargetWriteMask = desc->RenderTarget[j].RenderTargetWriteMask;
if (i > 3 && tmp_desc.RenderTarget[i].RenderTargetWriteMask != D3D11_COLOR_WRITE_ENABLE_ALL)
More information about the wine-cvs
mailing list