#define D3DCOLOR_XYUV(y,u,v) D3DCOLOR_ARGB(0xFF,y,u,v)
#define D3DCOLOR_AYUV(a,y,u,v) D3DCOLOR_ARGB(a,y,u,v)
-#define D3DCOLORWRITEENABLED_RED 1
-#define D3DCOLORWRITEENABLED_GREEN 2
-#define D3DCOLORWRITEENABLED_BLUE 4
-#define D3DCOLORWRITEENABLED_ALPHA 8
-
#define D3DCS_LEFT 0x001L
#define D3DCS_RIGHT 0x002L
#define D3DCS_TOP 0x004L
#define MAX_DEVICE_IDENTIFIER_STRING 512
#define D3DFVF_RESERVED0 0x0001
-#define D3DFVF_POSITION_MASK 0x000E
+#define D3DFVF_POSITION_MASK 0x400E
#define D3DFVF_XYZ 0x0002
#define D3DFVF_XYZRHW 0x0004
#define D3DFVF_XYZB1 0x0006
#define D3DVERTEXTEXTURESAMPLER2 (D3DDMAPSAMPLER+3)
#define D3DVERTEXTEXTURESAMPLER3 (D3DDMAPSAMPLER+4)
+#ifndef MAKEFOURCC
#define MAKEFOURCC(ch0, ch1, ch2, ch3) \
((DWORD)(BYTE)(ch0) | ((DWORD)(BYTE)(ch1) << 8) | \
((DWORD)(BYTE)(ch2) << 16) | ((DWORD)(BYTE)(ch3) << 24 ))
+#endif
/* Constants used by D3DPRESENT_PARAMETERS. when creating a device or swapchain */
#define D3DPRESENTFLAG_DISCARD_DEPTHSTENCIL 0x00000002 /* Discard Z buffer */
#define D3DPRESENTFLAG_DEVICECLIP 0x00000004 /* Clip the window blited into the client area 2k + xp only */
#define D3DPRESENTFLAG_VIDEO 0x00000010 /* backbuffer 'may' contain video data */
+#define D3DPRESENTFLAG_NOAUTOROTATE 0x00000020 /* d3d9ex, ignore display rotation */
+#define D3DPRESENTFLAG_UNPRUNEDMODE 0x00000040 /* d3d9ex, specify invalid display modes */
#define D3DPRESENT_BACK_BUFFERS_MAX 3L
#define D3DPRESENT_RATE_DEFAULT 0x00000000
D3DDECLUSAGE_SAMPLE = 13
} D3DDECLUSAGE;
-/* MSDN is quite confussing at this point...
-http://msdn.microsoft.com/archive/default.asp?url=/archive/en-us/directx9_c/directx/graphics/reference/d3d/constants/OTHER_D3D.asp
-says D3DMAX, and D3DMAXDECLUSAGE = D3DDECLUSAGE_DEPTH
-http://msdn.microsoft.com/library/default.asp?url=/archive/en-us/directx9_c_summer_03/directx/graphics/reference/d3d/constants/other_d3d.asp
-says MAXD3D, and D3DDECLUSAGE_SAMPLE
-
-So both are defined
-*/
-
#define D3DMAXDECLUSAGE D3DDECLUSAGE_SAMPLE
#define D3DMAXDECLUSAGEINDEX 15
#define D3DMAXDECLLENGTH 18
#define D3DSHADER_INSTRUCTION_PREDICATED (1 << 28)
+#define D3DSI_TEXLD_PROJECT 0x00010000
+#define D3DSI_TEXLD_BIAS 0x00020000
+
/** for parallelism */
#define D3DSI_COISSUE 0x40000000
D3DFMT_X8L8V8U8 = 62,
D3DFMT_Q8W8V8U8 = 63,
D3DFMT_V16U16 = 64,
- D3DFMT_W11V11U10 = 65,
D3DFMT_A2W10V10U10 = 67,
D3DFMT_UYVY = MAKEFOURCC('U', 'Y', 'V', 'Y'),
D3DFMT_DXT3 = MAKEFOURCC('D', 'X', 'T', '3'),
D3DFMT_DXT4 = MAKEFOURCC('D', 'X', 'T', '4'),
D3DFMT_DXT5 = MAKEFOURCC('D', 'X', 'T', '5'),
- D3DFMT_MULTI2_ARGB = MAKEFOURCC('M', 'E', 'T', '1'),
+ D3DFMT_MULTI2_ARGB8 = MAKEFOURCC('M', 'E', 'T', '1'),
D3DFMT_G8R8_G8B8 = MAKEFOURCC('G', 'R', 'G', 'B'),
D3DFMT_R8G8_B8G8 = MAKEFOURCC('R', 'G', 'B', 'G'),
D3DFMT_INDEX16 = 101,
D3DFMT_INDEX32 = 102,
D3DFMT_Q16W16V16U16 = 110,
- /* Flaoting point formats */
+ /* Floating point formats */
D3DFMT_R16F = 111,
D3DFMT_G16R16F = 112,
D3DFMT_A16B16G16R16F = 113,
D3DMULTISAMPLE_15_SAMPLES = 15,
D3DMULTISAMPLE_16_SAMPLES = 16,
- D3DMULTISAMPLE_FORCE_DWORD = 0xffffffff
+ D3DMULTISAMPLE_FORCE_DWORD = 0x7fffffff
} D3DMULTISAMPLE_TYPE;
#if 0
D3DTSS_BUMPENVMAT10 = 9,
D3DTSS_BUMPENVMAT11 = 10,
D3DTSS_TEXCOORDINDEX = 11,
-#if 1 /* TODO: remove once samplerstates are implemented. */
- D3DTSS_ADDRESSU = 13,
- D3DTSS_ADDRESSV = 14,
- D3DTSS_BORDERCOLOR = 15,
- D3DTSS_MAGFILTER = 16,
- D3DTSS_MINFILTER = 17,
- D3DTSS_MIPFILTER = 18,
- D3DTSS_MIPMAPLODBIAS = 19,
- D3DTSS_MAXMIPLEVEL = 20,
- D3DTSS_MAXANISOTROPY = 21,
-#endif
D3DTSS_BUMPENVLSCALE = 22,
D3DTSS_BUMPENVLOFFSET = 23,
D3DTSS_TEXTURETRANSFORMFLAGS = 24,
- D3DTSS_ADDRESSW = 25,
D3DTSS_COLORARG0 = 26,
D3DTSS_ALPHAARG0 = 27,
D3DTSS_RESULTARG = 28,
DWORD OptMethod;
/* Cache size to use (only valid if OptMethod==1) */
DWORD CacheSize;
- /* internal for deciding when to restart strips, non user modifyable (only valid if OptMethod==1) */
+ /* internal for deciding when to restart strips, non user modifiable (only valid if OptMethod==1) */
DWORD MagicNumber;
} D3DDEVINFO_VCACHE;
D3DRESOURCETYPE Type;
DWORD Usage;
D3DPOOL Pool;
- UINT Size;
+
UINT Width;
UINT Height;
UINT Depth;
} D3DVOLUME_DESC;
+/* Parts added with d3d9ex */
+#if !defined(D3D_DISABLE_9EX)
+typedef enum D3DSCANLINEORDERING
+{
+ D3DSCANLINEORDERING_UNKNOWN,
+ D3DSCANLINEORDERING_PROGRESSIVE,
+ D3DSCANLINEORDERING_INTERLACED,
+} D3DSCANLINEORDERING;
+
+
+typedef struct D3DDISPLAYMODEFILTER
+{
+ UINT Size;
+ D3DFORMAT Format;
+ D3DSCANLINEORDERING ScanLineOrdering;
+} D3DDISPLAYMODEFILTER;
+
+typedef struct D3DDISPLAYMODEEX
+{
+ UINT Size;
+ UINT Width;
+ UINT Height;
+ UINT RefreshRate;
+ D3DFORMAT Format;
+ D3DSCANLINEORDERING ScanLineOrdering;
+} D3DDISPLAYMODEEX;
+
+typedef enum D3DDISPLAYROTATION
+{
+ D3DDISPLAYROTATION_IDENTITY = 1,
+ D3DDISPLAYROTATION_90,
+ D3DDISPLAYROTATION_180,
+ D3DDISPLAYROTATION_270
+} D3DDISPLAYROTATION;
+
+typedef enum _D3DCOMPOSERECTSOP{
+ D3DCOMPOSERECTS_COPY = 1,
+ D3DCOMPOSERECTS_OR,
+ D3DCOMPOSERECTS_AND,
+ D3DCOMPOSERECTS_NEG,
+ D3DCOMPOSERECTS_FORCE_DWORD = 0x7fffffff
+} D3DCOMPOSERECTSOP;
+#endif /* D3D_DISABLE_9EX */
+
+typedef enum _D3DSHADER_COMPARISON
+{
+ D3DSPC_RESERVED0 = 0,
+ D3DSPC_GT,
+ D3DSPC_EQ,
+ D3DSPC_GE,
+ D3DSPC_LT,
+ D3DSPC_NE,
+ D3DSPC_LE,
+ D3DSPC_RESERVED1,
+} D3DSHADER_COMPARISON;
+
#endif /* __WINE_D3D9TYPES_H */