ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

d3dnthal.h
Go to the documentation of this file.
00001 /*
00002  * d3dnthal.h
00003  *
00004  * Direct3D NT driver interface
00005  *
00006  * Contributors:
00007  *   Created by Ge van Geldorp
00008  *
00009  * THIS SOFTWARE IS NOT COPYRIGHTED
00010  *
00011  * This source code is offered for use in the public domain. You may
00012  * use, modify or distribute it freely.
00013  *
00014  * This code is distributed in the hope that it will be useful but
00015  * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
00016  * DISCLAIMED. This includes but is not limited to warranties of
00017  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
00018  *
00019  */
00020 
00021 #ifndef __DDK_D3DNTHAL_H
00022 #define __DDK_D3DNTHAL_H
00023 
00024 #include <ddrawint.h>
00025 #include <d3dtypes.h>
00026 #include <d3dcaps.h>
00027 
00028 #ifdef __cplusplus
00029 extern "C" {
00030 #endif
00031 
00032 DEFINE_GUID(GUID_D3DCallbacks,                   0x7BF06990, 0x8794, 0x11D0, 0x91, 0x39, 0x08, 0x00, 0x36, 0xD2, 0xEF, 0x02);
00033 DEFINE_GUID(GUID_D3DCallbacks3,                  0xDDF41230, 0xEC0A, 0x11D0, 0xA9, 0xB6, 0x00, 0xAA, 0x00, 0xC0, 0x99, 0x3E);
00034 DEFINE_GUID(GUID_D3DExtendedCaps,                0x7DE41F80, 0x9D93, 0x11D0, 0x89, 0xAB, 0x00, 0xA0, 0xC9, 0x05, 0x41, 0x29);
00035 DEFINE_GUID(GUID_D3DParseUnknownCommandCallback, 0x2E04FFA0, 0x98E4, 0x11D1, 0x8C, 0xE1, 0x00, 0xA0, 0xC9, 0x06, 0x29, 0xA8);
00036 DEFINE_GUID(GUID_ZPixelFormats,                  0x93869880, 0x36CF, 0x11D1, 0x9B, 0x1B, 0x00, 0xAA, 0x00, 0xBB, 0xB8, 0xAE);
00037 DEFINE_GUID(GUID_DDStereoMode,                   0xF828169C, 0xA8E8, 0x11D2, 0xA1, 0xF2, 0x00, 0xA0, 0xC9, 0x83, 0xEA, 0xF6);
00038 
00039 typedef struct _D3DNTHAL_CONTEXTCREATEDATA {
00040   __GNU_EXTENSION union {
00041     PDD_DIRECTDRAW_GLOBAL lpDDGbl;
00042     PDD_DIRECTDRAW_LOCAL lpDDLcl;
00043   };
00044   __GNU_EXTENSION union {
00045     PDD_SURFACE_LOCAL lpDDS;
00046     PDD_SURFACE_LOCAL lpDDSLcl;
00047   };
00048   __GNU_EXTENSION union {
00049     PDD_SURFACE_LOCAL lpDDSZ;
00050     PDD_SURFACE_LOCAL lpDDSZLcl;
00051   };
00052   DWORD dwPID;
00053   ULONG_PTR dwhContext;
00054   HRESULT ddrval;
00055 } D3DNTHAL_CONTEXTCREATEDATA, *LPD3DNTHAL_CONTEXTCREATEDATA;
00056 
00057 typedef struct _D3DNTHAL_CONTEXTDESTROYDATA {
00058   ULONG_PTR dwhContext;
00059   HRESULT ddrval;
00060 } D3DNTHAL_CONTEXTDESTROYDATA, *LPD3DNTHAL_CONTEXTDESTROYDATA;
00061 
00062 typedef struct _D3DNTHAL_CONTEXTDESTROYALLDATA {
00063   DWORD dwPID;
00064   HRESULT ddrval;
00065 } D3DNTHAL_CONTEXTDESTROYALLDATA, *LPD3DNTHAL_CONTEXTDESTROYALLDATA;
00066 
00067 typedef struct _D3DNTHAL_SCENECAPTUREDATA {
00068   ULONG_PTR dwhContext;
00069   DWORD dwFlag;
00070   HRESULT ddrval;
00071 } D3DNTHAL_SCENECAPTUREDATA, *LPD3DNTHAL_SCENECAPTUREDATA;
00072 
00073 typedef struct _D3DNTHAL_TEXTURECREATEDATA {
00074   ULONG_PTR dwhContext;
00075   HANDLE hDDS;
00076   ULONG_PTR dwHandle;
00077   HRESULT ddrval;
00078 } D3DNTHAL_TEXTURECREATEDATA, *LPD3DNTHAL_TEXTURECREATEDATA;
00079 
00080 typedef struct _D3DNTHAL_TEXTUREDESTROYDATA {
00081   ULONG_PTR dwhContext;
00082   ULONG_PTR dwHandle;
00083   HRESULT ddrval;
00084 } D3DNTHAL_TEXTUREDESTROYDATA, *LPD3DNTHAL_TEXTUREDESTROYDATA;
00085 
00086 typedef struct _D3DNTHAL_TEXTURESWAPDATA {
00087   ULONG_PTR dwhContext;
00088   ULONG_PTR dwHandle1;
00089   ULONG_PTR dwHandle2;
00090   HRESULT ddrval;
00091 } D3DNTHAL_TEXTURESWAPDATA, *LPD3DNTHAL_TEXTURESWAPDATA;
00092 
00093 typedef struct _D3DNTHAL_TEXTUREGETSURFDATA {
00094   ULONG_PTR dwhContext;
00095   HANDLE hDDS;
00096   ULONG_PTR dwHandle;
00097   HRESULT ddrval;
00098 } D3DNTHAL_TEXTUREGETSURFDATA, *LPD3DNTHAL_TEXTUREGETSURFDATA;
00099 
00100 typedef DWORD (APIENTRY *LPD3DNTHAL_CONTEXTCREATECB)(LPD3DNTHAL_CONTEXTCREATEDATA);
00101 typedef DWORD (APIENTRY *LPD3DNTHAL_CONTEXTDESTROYCB)(LPD3DNTHAL_CONTEXTDESTROYDATA);
00102 typedef DWORD (APIENTRY *LPD3DNTHAL_CONTEXTDESTROYALLCB)(LPD3DNTHAL_CONTEXTDESTROYALLDATA);
00103 typedef DWORD (APIENTRY *LPD3DNTHAL_SCENECAPTURECB)(LPD3DNTHAL_SCENECAPTUREDATA);
00104 typedef DWORD (APIENTRY *LPD3DNTHAL_TEXTURECREATECB)(LPD3DNTHAL_TEXTURECREATEDATA);
00105 typedef DWORD (APIENTRY *LPD3DNTHAL_TEXTUREDESTROYCB)(LPD3DNTHAL_TEXTUREDESTROYDATA);
00106 typedef DWORD (APIENTRY *LPD3DNTHAL_TEXTURESWAPCB)(LPD3DNTHAL_TEXTURESWAPDATA);
00107 typedef DWORD (APIENTRY *LPD3DNTHAL_TEXTUREGETSURFCB)(LPD3DNTHAL_TEXTUREGETSURFDATA);
00108 
00109 typedef struct _D3DNTHALDeviceDesc_V1 {
00110   DWORD dwSize;
00111   DWORD dwFlags;
00112   D3DCOLORMODEL dcmColorModel;
00113   DWORD dwDevCaps;
00114   D3DTRANSFORMCAPS dtcTransformCaps;
00115   BOOL bClipping;
00116   D3DLIGHTINGCAPS dlcLightingCaps;
00117   D3DPRIMCAPS dpcLineCaps;
00118   D3DPRIMCAPS dpcTriCaps;
00119   DWORD dwDeviceRenderBitDepth;
00120   DWORD dwDeviceZBufferBitDepth;
00121   DWORD dwMaxBufferSize;
00122   DWORD dwMaxVertexCount;
00123 } D3DNTHALDEVICEDESC_V1, *LPD3DNTHALDEVICEDESC_V1;
00124 
00125 typedef struct _D3DNTHAL_GLOBALDRIVERDATA {
00126   DWORD dwSize;
00127   D3DNTHALDEVICEDESC_V1 hwCaps;
00128   DWORD dwNumVertices;
00129   DWORD dwNumClipVertices;
00130   DWORD dwNumTextureFormats;
00131   LPDDSURFACEDESC lpTextureFormats;
00132 } D3DNTHAL_GLOBALDRIVERDATA, *LPD3DNTHAL_GLOBALDRIVERDATA;
00133 
00134 typedef struct _D3DNTHAL_CALLBACKS {
00135   DWORD dwSize;
00136   LPD3DNTHAL_CONTEXTCREATECB ContextCreate;
00137   LPD3DNTHAL_CONTEXTDESTROYCB ContextDestroy;
00138   LPD3DNTHAL_CONTEXTDESTROYALLCB ContextDestroyAll;
00139   LPD3DNTHAL_SCENECAPTURECB SceneCapture;
00140   LPVOID dwReserved10;
00141   LPVOID dwReserved11;
00142   LPVOID dwReserved22;
00143   LPVOID dwReserved23;
00144   ULONG_PTR dwReserved;
00145   LPD3DNTHAL_TEXTURECREATECB TextureCreate;
00146   LPD3DNTHAL_TEXTUREDESTROYCB TextureDestroy;
00147   LPD3DNTHAL_TEXTURESWAPCB TextureSwap;
00148   LPD3DNTHAL_TEXTUREGETSURFCB TextureGetSurf;
00149   LPVOID dwReserved12;
00150   LPVOID dwReserved13;
00151   LPVOID dwReserved14;
00152   LPVOID dwReserved15;
00153   LPVOID dwReserved16;
00154   LPVOID dwReserved17;
00155   LPVOID dwReserved18;
00156   LPVOID dwReserved19;
00157   LPVOID dwReserved20;
00158   LPVOID dwReserved21;
00159   LPVOID dwReserved24;
00160   ULONG_PTR dwReserved0;
00161   ULONG_PTR dwReserved1;
00162   ULONG_PTR dwReserved2;
00163   ULONG_PTR dwReserved3;
00164   ULONG_PTR dwReserved4;
00165   ULONG_PTR dwReserved5;
00166   ULONG_PTR dwReserved6;
00167   ULONG_PTR dwReserved7;
00168   ULONG_PTR dwReserved8;
00169   ULONG_PTR dwReserved9;
00170 } D3DNTHAL_CALLBACKS, *LPD3DNTHAL_CALLBACKS;
00171 
00172 typedef struct _D3DNTHAL_SETRENDERTARGETDATA {
00173   ULONG_PTR dwhContext;
00174   PDD_SURFACE_LOCAL lpDDS;
00175   PDD_SURFACE_LOCAL lpDDSZ;
00176   HRESULT ddrval;
00177 } D3DNTHAL_SETRENDERTARGETDATA, *LPD3DNTHAL_SETRENDERTARGETDATA;
00178 
00179 typedef DWORD (APIENTRY *LPD3DNTHAL_SETRENDERTARGETCB)(LPD3DNTHAL_SETRENDERTARGETDATA);
00180 
00181 typedef struct _D3DNTHAL_CALLBACKS2 {
00182   DWORD dwSize;
00183   DWORD dwFlags;
00184   LPD3DNTHAL_SETRENDERTARGETCB SetRenderTarget;
00185   LPVOID dwReserved1;
00186   LPVOID dwReserved2;
00187   LPVOID dwReserved3;
00188   LPVOID dwReserved4;
00189 } D3DNTHAL_CALLBACKS2, *LPD3DNTHAL_CALLBACKS2;
00190 
00191 typedef struct _D3DNTHAL_CLEAR2DATA {
00192   ULONG_PTR dwhContext;
00193   DWORD dwFlags;
00194   DWORD dwFillColor;
00195   D3DVALUE dvFillDepth;
00196   DWORD dwFillStencil;
00197   LPD3DRECT lpRects;
00198   DWORD dwNumRects;
00199   HRESULT ddrval;
00200 } D3DNTHAL_CLEAR2DATA, FAR *LPD3DNTHAL_CLEAR2DATA;
00201 
00202 typedef struct _D3DNTHAL_VALIDATETEXTURESTAGESTATEDATA {
00203   ULONG_PTR dwhContext;
00204   DWORD dwFlags;
00205   ULONG_PTR dwReserved;
00206   DWORD dwNumPasses;
00207   HRESULT ddrval;
00208 } D3DNTHAL_VALIDATETEXTURESTAGESTATEDATA, FAR *LPD3DNTHAL_VALIDATETEXTURESTAGESTATEDATA;
00209 
00210 typedef struct _D3DNTHAL_DRAWPRIMITIVES2DATA {
00211   ULONG_PTR dwhContext;
00212   DWORD dwFlags;
00213   DWORD dwVertexType;
00214   PDD_SURFACE_LOCAL lpDDCommands;
00215   DWORD dwCommandOffset;
00216   DWORD dwCommandLength;
00217   __GNU_EXTENSION union {
00218     PDD_SURFACE_LOCAL lpDDVertex;
00219     LPVOID lpVertices;
00220   };
00221   DWORD dwVertexOffset;
00222   DWORD dwVertexLength;
00223   DWORD dwReqVertexBufSize;
00224   DWORD dwReqCommandBufSize;
00225   LPDWORD lpdwRStates;
00226   __GNU_EXTENSION union {
00227     DWORD dwVertexSize;
00228     HRESULT ddrval;
00229   };
00230   DWORD dwErrorOffset;
00231 } D3DNTHAL_DRAWPRIMITIVES2DATA, FAR *LPD3DNTHAL_DRAWPRIMITIVES2DATA;
00232 
00233 typedef DWORD (APIENTRY *LPD3DNTHAL_CLEAR2CB)(LPD3DNTHAL_CLEAR2DATA);
00234 typedef DWORD (APIENTRY *LPD3DNTHAL_VALIDATETEXTURESTAGESTATECB)(LPD3DNTHAL_VALIDATETEXTURESTAGESTATEDATA);
00235 typedef DWORD (APIENTRY *LPD3DNTHAL_DRAWPRIMITIVES2CB)(LPD3DNTHAL_DRAWPRIMITIVES2DATA);
00236 
00237 typedef struct _D3DNTHAL_CALLBACKS3 {
00238   DWORD dwSize; 
00239   DWORD dwFlags;
00240   LPD3DNTHAL_CLEAR2CB Clear2;
00241   LPVOID lpvReserved;
00242   LPD3DNTHAL_VALIDATETEXTURESTAGESTATECB ValidateTextureStageState;
00243   LPD3DNTHAL_DRAWPRIMITIVES2CB DrawPrimitives2;
00244 } D3DNTHAL_CALLBACKS3, *LPD3DNTHAL_CALLBACKS3;
00245 
00246 #ifdef __cplusplus
00247 } /* extern "C" */
00248 #endif
00249 
00250 #endif /* __DDK_D3DNTHAL_H */

Generated on Sat May 26 2012 04:29:59 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.