[4/4] d3dx9: Report usage of unsupported sprite flags.
Matteo Bruni
matteo.mystral at gmail.com
Fri Oct 15 09:03:07 CDT 2010
-------------- next part --------------
From 829ce81e5104df9a955f2b4be1abd3f3df4063fa Mon Sep 17 00:00:00 2001
From: Matteo Bruni <mbruni at codeweavers.com>
Date: Thu, 7 Oct 2010 18:08:48 +0200
Subject: 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[] =
{
--
1.7.2.2
More information about the wine-patches
mailing list