Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygend3dnthal.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
1.7.6.1
|