- Implement SetStreamSource
- Ensure wined3d objects maintain a reference count of at least that
of the d3dx version.
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
index 977a510..b6da14a 100644
--- a/dlls/wined3d/wined3d_private.h
+++ b/dlls/wined3d/wined3d_private.h
@@ -26,6 +26,7 @@
#include <stdarg.h>
#define NONAMELESSUNION
#define NONAMELESSSTRUCT
+#define COBJMACROS
#include "windef.h"
#include "winbase.h"
#include "winreg.h"
@@ -98,6 +99,7 @@
DWORD ref; /* Note: Ref counting not required */
/* WineD3D Information */
+ IUnknown *parent;
UINT dxVersion;
/* GL Information */
@@ -117,6 +119,7 @@
DWORD ref; /* Note: Ref counting not required */
/* WineD3D Information */
+ IUnknown *parent; /* TODO - to be a new interface eventually */
IWineD3D *WineD3D;
/* X and GL Information */
@@ -159,6 +162,7 @@
DWORD ref; /* Note: Ref counting not required */
/* WineD3DResource Information */
+ IUnknown *parent;
IWineD3DDevice *wineD3DDevice;
D3DRESOURCETYPE resourceType;
@@ -200,6 +204,7 @@
/* to resolve everything we need, so doing it manually for now */
typedef struct SAVEDSTATES {
BOOL fvf;
+ BOOL stream_source[MAX_STREAMS];
} SAVEDSTATES;
struct IWineD3DStateBlockImpl
@@ -209,6 +214,7 @@
DWORD ref; /* Note: Ref counting not required */
/* IWineD3DStateBlock information */
+ IUnknown *parent;
IWineD3DDevice *wineD3DDevice;
D3DSTATEBLOCKTYPE blockType;
@@ -219,6 +225,10 @@
/* Drawing - Vertex Shader or FVF related */
DWORD fvf;
+ /* Stream Source */
+ UINT stream_stride[MAX_STREAMS];
+ UINT stream_offset[MAX_STREAMS];
+ IWineD3DVertexBuffer *stream_source[MAX_STREAMS];
};
extern IWineD3DStateBlockVtbl IWineD3DStateBlock_Vtbl;