Matteo Bruni : d3dx9: Report usage of unsupported sprite flags.

Alexandre Julliard julliard at winehq.org
Mon Oct 18 13:36:51 CDT 2010


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

Author: Matteo Bruni <mbruni at codeweavers.com>
Date:   Thu Oct  7 18:08:48 2010 +0200

d3dx9: Report usage of unsupported sprite flags.

---

 dlls/d3dx9_36/sprite.c |   10 +++++++++-
 1 files changed, 9 insertions(+), 1 deletions(-)

diff --git a/dlls/d3dx9_36/sprite.c b/dlls/d3dx9_36/sprite.c
index c7b4240..341efc1 100644
--- a/dlls/d3dx9_36/sprite.c
+++ b/dlls/d3dx9_36/sprite.c
@@ -219,7 +219,6 @@ static HRESULT WINAPI ID3DXSpriteImpl_Begin(LPD3DXSPRITE iface, DWORD flags)
     if(flags>D3DXSPRITE_FLAGLIMIT || This->ready) return D3DERR_INVALIDCALL;
 
 /* TODO: Implement flags:
-D3DXSPRITE_ALPHABLEND: enables alpha blending
 D3DXSPRITE_BILLBOARD: makes the sprite always face the camera
 D3DXSPRITE_DONOTMODIFY_RENDERSTATE: name says it all
 D3DXSPRITE_OBJECTSPACE: do not change device transforms
@@ -227,6 +226,15 @@ D3DXSPRITE_SORT_DEPTH_BACKTOFRONT: sort by position
 D3DXSPRITE_SORT_DEPTH_FRONTTOBACK: sort by position
 D3DXSPRITE_SORT_TEXTURE: sort by texture (so that it doesn't change too often)
 */
+/* Seems like alpha blending is always enabled, regardless of D3DXSPRITE_ALPHABLEND flag */
+    if(flags & (D3DXSPRITE_BILLBOARD |
+                D3DXSPRITE_DONOTMODIFY_RENDERSTATE | D3DXSPRITE_OBJECTSPACE |
+                D3DXSPRITE_SORT_DEPTH_BACKTOFRONT))
+        FIXME("Flags unsupported: %#x\n", flags);
+    /* These flags should only matter to performances */
+    else if(flags & (D3DXSPRITE_SORT_DEPTH_FRONTTOBACK | D3DXSPRITE_SORT_TEXTURE))
+        TRACE("Flags unsupported: %#x\n", flags);
+
     if(This->vdecl==NULL) {
         static const D3DVERTEXELEMENT9 elements[] =
         {




More information about the wine-cvs mailing list