Fixed refcount handling (waiting clients must not increase the
[wine/multimedia.git] / include / wine / wined3d_types.h
blob06dfdec50b60fec9b4c03ee7e4917150e2370a2b
1 /*
2 * Direct3D wine types include file
4 * Copyright 2002-2003 The wine-d3d team
5 * Copyright 2002-2003 Jason Edmeades
6 * Raphael Junqueira
8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Lesser General Public
10 * License as published by the Free Software Foundation; either
11 * version 2.1 of the License, or (at your option) any later version.
13 * This library is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 * Lesser General Public License for more details.
18 * You should have received a copy of the GNU Lesser General Public
19 * License along with this library; if not, write to the Free Software
20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
23 #ifndef __WINE_WINED3D_TYPES_H
24 #define __WINE_WINED3D_TYPES_H
26 typedef struct _D3DVECTOR_3 {
27 float x;
28 float y;
29 float z;
30 } D3DVECTOR_3;
32 typedef struct _D3DVECTOR_4 {
33 float x;
34 float y;
35 float z;
36 float w;
37 } D3DVECTOR_4;
39 typedef struct D3DSHADERVECTOR {
40 float x;
41 float y;
42 float z;
43 float w;
44 } D3DSHADERVECTOR;
46 typedef struct D3DSHADERSCALAR {
47 float x;
48 } D3DSHADERSCALAR;
50 typedef D3DSHADERVECTOR VSHADERCONSTANTS8[D3D_VSHADER_MAX_CONSTANTS];
52 typedef struct VSHADERDATA {
53 /** Run Time Shader Function Constants */
54 /*D3DXBUFFER* constants;*/
55 VSHADERCONSTANTS8 C;
56 /** Shader Code as char ... */
57 CONST DWORD* code;
58 UINT codeLength;
59 } VSHADERDATA;
61 /** temporary here waiting for buffer code */
62 typedef struct VSHADERINPUTDATA {
63 D3DSHADERVECTOR V[17];
64 } VSHADERINPUTDATA;
66 /** temporary here waiting for buffer code */
67 typedef struct VSHADEROUTPUTDATA {
68 D3DSHADERVECTOR oPos;
69 D3DSHADERVECTOR oD[2];
70 D3DSHADERVECTOR oT[8];
71 D3DSHADERVECTOR oFog;
72 D3DSHADERVECTOR oPts;
73 } VSHADEROUTPUTDATA;
75 typedef D3DSHADERVECTOR PSHADERCONSTANTS8[D3D_PSHADER_MAX_CONSTANTS];
77 typedef struct PSHADERDATA {
78 /** Run Time Shader Function Constants */
79 /*D3DXBUFFER* constants;*/
80 PSHADERCONSTANTS8 C;
81 /** Shader Code as char ... */
82 CONST DWORD* code;
83 UINT codeLength;
84 } PSHADERDATA;
86 /** temporary here waiting for buffer code */
87 typedef struct PSHADERINPUTDATA {
88 D3DSHADERVECTOR V[2];
89 D3DSHADERVECTOR T[8];
90 D3DSHADERVECTOR S[16];
91 /*D3DSHADERVECTOR R[12];*/
92 } PSHADERINPUTDATA;
94 /** temporary here waiting for buffer code */
95 typedef struct PSHADEROUTPUTDATA {
96 D3DSHADERVECTOR oC[4];
97 D3DSHADERVECTOR oDepth;
98 } PSHADEROUTPUTDATA;
100 #endif