From 06cc0fa95fcca3805bdbfb99475f0d09758385e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20D=C3=B6singer?= Date: Sun, 12 Aug 2007 21:38:24 +0200 Subject: [PATCH] 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 38895543338..b294004960d 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 82cb90e8506..9a768d13230 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;