Module: wine Branch: master Commit: 06cc0fa95fcca3805bdbfb99475f0d09758385e4 URL: http://source.winehq.org/git/wine.git/?a=commit;h=06cc0fa95fcca3805bdbfb9947...
Author: Stefan Dösinger stefan@codeweavers.com Date: Sun Aug 12 21:38:24 2007 +0200
wined3d: GL_SRC_ALPHA_SATURATE is supported as src blend param only.
---
dlls/wined3d/directx.c | 4 +++- dlls/wined3d/state.c | 6 +++++- 2 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/dlls/wined3d/directx.c b/dlls/wined3d/directx.c index 3889554..b294004 100644 --- a/dlls/wined3d/directx.c +++ b/dlls/wined3d/directx.c @@ -1945,9 +1945,11 @@ static HRESULT WINAPI IWineD3DImpl_GetDeviceCaps(IWineD3D *iface, UINT Adapter, WINED3DPBLENDCAPS_INVSRCCOLOR | WINED3DPBLENDCAPS_ONE | WINED3DPBLENDCAPS_SRCALPHA | - WINED3DPBLENDCAPS_SRCALPHASAT | WINED3DPBLENDCAPS_SRCCOLOR | WINED3DPBLENDCAPS_ZERO; + /* NOTE: WINED3DPBLENDCAPS_SRCALPHASAT is not supported as dest blend factor, + * according to the glBlendFunc manpage + */
*pCaps->AlphaCmpCaps = WINED3DPCMPCAPS_ALWAYS | WINED3DPCMPCAPS_EQUAL | diff --git a/dlls/wined3d/state.c b/dlls/wined3d/state.c index 82cb90e..9a768d1 100644 --- a/dlls/wined3d/state.c +++ b/dlls/wined3d/state.c @@ -285,7 +285,11 @@ static void state_blend(DWORD state, IWineD3DStateBlockImpl *stateblock, WineD3D case WINED3DBLEND_INVDESTALPHA : dstBlend = GL_ONE_MINUS_DST_ALPHA; break; case WINED3DBLEND_DESTCOLOR : dstBlend = GL_DST_COLOR; break; case WINED3DBLEND_INVDESTCOLOR : dstBlend = GL_ONE_MINUS_DST_COLOR; break; - case WINED3DBLEND_SRCALPHASAT : dstBlend = GL_SRC_ALPHA_SATURATE; break; + + case WINED3DBLEND_SRCALPHASAT : + dstBlend = GL_SRC_ALPHA_SATURATE; + WARN("Application uses SRCALPHASAT as dest blend factor, expect problems\n"); + break;
case WINED3DBLEND_BOTHSRCALPHA : dstBlend = GL_SRC_ALPHA; srcBlend = GL_SRC_ALPHA;