]> gitweb.factorcode.org Git - factor.git/blob - basis/windows/directx/d3d9/d3d9.factor
cedfefc103838baa13f56b6b69ab55dcc6175d42
[factor.git] / basis / windows / directx / d3d9 / d3d9.factor
1 USING: alien.syntax windows.types alien.c-types windows.directx.d3d9types
2 windows.com.syntax windows.com windows.directx.d3d9caps windows.ole32
3 windows.kernel32 ;
4 IN: windows.directx.d3d9
5
6 LIBRARY: d3d9
7
8 CONSTANT: DIRECT3D_VERSION         HEX: 0900
9
10 CONSTANT: D3D_SDK_VERSION   32
11 CONSTANT: D3D9b_SDK_VERSION 31
12
13 C-TYPE: IDirect3D9
14
15 FUNCTION: IDirect3D9* Direct3DCreate9 ( UINT SDKVersion ) ;
16
17 FUNCTION: int D3DPERF_BeginEvent ( D3DCOLOR col, LPCWSTR wszName ) ;
18 FUNCTION: int D3DPERF_EndEvent ( ) ;
19 FUNCTION: void D3DPERF_SetMarker ( D3DCOLOR col, LPCWSTR wszName ) ;
20 FUNCTION: void D3DPERF_SetRegion ( D3DCOLOR col, LPCWSTR wszName ) ;
21 FUNCTION: BOOL D3DPERF_QueryRepeatFrame ( ) ;
22
23 FUNCTION: void D3DPERF_SetOptions ( DWORD dwOptions ) ;
24 FUNCTION: DWORD D3DPERF_GetStatus ( ) ;
25
26 COM-INTERFACE: IDirect3D9 IUnknown {81BDCBCA-64D4-426d-AE8D-AD0147F4275C}
27     HRESULT RegisterSoftwareDevice ( void* pInitializeFunction )
28     UINT GetAdapterCount ( )
29     HRESULT GetAdapterIdentifier ( UINT Adapter, DWORD Flags, D3DADAPTER_IDENTIFIER9* pIdentifier )
30     UINT GetAdapterModeCount ( UINT Adapter, D3DFORMAT Format )
31     HRESULT EnumAdapterModes ( UINT Adapter, D3DFORMAT Format, UINT Mode, D3DDISPLAYMODE* pMode )
32     HRESULT GetAdapterDisplayMode ( UINT Adapter, D3DDISPLAYMODE* pMode )
33     HRESULT CheckDeviceType ( UINT Adapter, D3DDEVTYPE DevType, D3DFORMAT AdapterFormat, D3DFORMAT BackBufferFormat, BOOL bWindowed )
34     HRESULT CheckDeviceFormat ( UINT Adapter, D3DDEVTYPE DeviceType, D3DFORMAT AdapterFormat, DWORD Usage, D3DRESOURCETYPE RType, D3DFORMAT CheckFormat )
35     HRESULT CheckDeviceMultiSampleType ( UINT Adapter, D3DDEVTYPE DeviceType, D3DFORMAT SurfaceFormat, BOOL Windowed, D3DMULTISAMPLE_TYPE MultiSampleType, DWORD* pQualityLevels )
36     HRESULT CheckDepthStencilMatch ( UINT Adapter, D3DDEVTYPE DeviceType, D3DFORMAT AdapterFormat, D3DFORMAT RenderTargetFormat, D3DFORMAT DepthStencilFormat )
37     HRESULT CheckDeviceFormatConversion ( UINT Adapter, D3DDEVTYPE DeviceType, D3DFORMAT SourceFormat, D3DFORMAT TargetFormat )
38     HRESULT GetDeviceCaps ( UINT Adapter, D3DDEVTYPE DeviceType, D3DCAPS9* pCaps )
39     HMONITOR GetAdapterMonitor ( UINT Adapter )
40     HRESULT CreateDevice ( UINT Adapter, D3DDEVTYPE DeviceType, HWND hFocusWindow, DWORD BehaviorFlags, D3DPRESENT_PARAMETERS* pPresentationParameters, IDirect3DDevice9** ppReturnedDeviceInterface ) ;
41
42 TYPEDEF: IDirect3D9* LPDIRECT3D9
43 TYPEDEF: IDirect3D9* PDIRECT3D9
44
45 C-TYPE: IDirect3DSurface9
46 C-TYPE: RGNDATA
47 C-TYPE: IDirect3DBaseTexture9
48 C-TYPE: PALETTEENTRY
49 C-TYPE: IDirect3DVertexBuffer9
50 C-TYPE: IDirect3DVertexDeclaration9
51 C-TYPE: IDirect3DVertexShader9
52 C-TYPE: IDirect3DIndexBuffer9
53 C-TYPE: IDirect3DPixelShader9
54
55 COM-INTERFACE: IDirect3DDevice9 IUnknown {D0223B96-BF7A-43fd-92BD-A43B0D82B9EB}
56     HRESULT TestCooperativeLevel ( )
57     UINT GetAvailableTextureMem ( )
58     HRESULT EvictManagedResources ( )
59     HRESULT GetDirect3D ( IDirect3D9** ppD3D9 )
60     HRESULT GetDeviceCaps ( D3DCAPS9* pCaps )
61     HRESULT GetDisplayMode ( UINT iSwapChain, D3DDISPLAYMODE* pMode )
62     HRESULT GetCreationParameters ( D3DDEVICE_CREATION_PARAMETERS *pParameters )
63     HRESULT SetCursorProperties ( UINT XHotSpot, UINT YHotSpot, IDirect3DSurface9* pCursorBitmap )
64     void SetCursorPosition ( int X, int Y, DWORD Flags )
65     BOOL ShowCursor ( BOOL bShow )
66     HRESULT CreateAdditionalSwapChain ( D3DPRESENT_PARAMETERS* pPresentationParameters, IDirect3DSwapChain9** pSwapChain )
67     HRESULT GetSwapChain ( UINT iSwapChain, IDirect3DSwapChain9** pSwapChain )
68     UINT GetNumberOfSwapChains ( )
69     HRESULT Reset ( D3DPRESENT_PARAMETERS* pPresentationParameters )
70     HRESULT Present ( RECT* pSourceRect, RECT* pDestRect, HWND hDestWindowOverride, RGNDATA* pDirtyRegion )
71     HRESULT GetBackBuffer ( UINT iSwapChain, UINT iBackBuffer, D3DBACKBUFFER_TYPE Type, IDirect3DSurface9** ppBackBuffer )
72     HRESULT GetRasterStatus ( UINT iSwapChain, D3DRASTER_STATUS* pRasterStatus )
73     HRESULT SetDialogBoxMode ( BOOL bEnableDialogs )
74     void SetGammaRamp ( UINT iSwapChain, DWORD Flags, D3DGAMMARAMP* pRamp )
75     void GetGammaRamp ( UINT iSwapChain, D3DGAMMARAMP* pRamp )
76     HRESULT CreateTexture ( UINT Width, UINT Height, UINT Levels, DWORD Usage, D3DFORMAT Format, D3DPOOL Pool, IDirect3DTexture9** ppTexture, HANDLE* pSharedHandle )
77     HRESULT CreateVolumeTexture ( UINT Width, UINT Height, UINT Depth, UINT Levels, DWORD Usage, D3DFORMAT Format, D3DPOOL Pool, IDirect3DVolumeTexture9** ppVolumeTexture, HANDLE* pSharedHandle )
78     HRESULT CreateCubeTexture ( UINT EdgeLength, UINT Levels, DWORD Usage, D3DFORMAT Format, D3DPOOL Pool, IDirect3DCubeTexture9** ppCubeTexture, HANDLE* pSharedHandle )
79     HRESULT CreateVertexBuffer ( UINT Length, DWORD Usage, DWORD FVF, D3DPOOL Pool, IDirect3DVertexBuffer9** ppVertexBuffer, HANDLE* pSharedHandle )
80     HRESULT CreateIndexBuffer ( UINT Length, DWORD Usage, D3DFORMAT Format, D3DPOOL Pool, IDirect3DIndexBuffer9** ppIndexBuffer, HANDLE* pSharedHandle )
81     HRESULT CreateRenderTarget ( UINT Width, UINT Height, D3DFORMAT Format, D3DMULTISAMPLE_TYPE MultiSample, DWORD MultisampleQuality, BOOL Lockable, IDirect3DSurface9** ppSurface, HANDLE* pSharedHandle )
82     HRESULT CreateDepthStencilSurface ( UINT Width, UINT Height, D3DFORMAT Format, D3DMULTISAMPLE_TYPE MultiSample, DWORD MultisampleQuality, BOOL Discard, IDirect3DSurface9** ppSurface, HANDLE* pSharedHandle )
83     HRESULT UpdateSurface ( IDirect3DSurface9* pSourceSurface, RECT* pSourceRect, IDirect3DSurface9* pDestinationSurface, POINT* pDestPoint )
84     HRESULT UpdateTexture ( IDirect3DBaseTexture9* pSourceTexture, IDirect3DBaseTexture9* pDestinationTexture )
85     HRESULT GetRenderTargetData ( IDirect3DSurface9* pRenderTarget, IDirect3DSurface9* pDestSurface )
86     HRESULT GetFrontBufferData ( UINT iSwapChain, IDirect3DSurface9* pDestSurface )
87     HRESULT StretchRect ( IDirect3DSurface9* pSourceSurface, RECT* pSourceRect, IDirect3DSurface9* pDestSurface, RECT* pDestRect, D3DTEXTUREFILTERTYPE Filter )
88     HRESULT ColorFill ( IDirect3DSurface9* pSurface, RECT* pRect, D3DCOLOR color )
89     HRESULT CreateOffscreenPlainSurface ( UINT Width, UINT Height, D3DFORMAT Format, D3DPOOL Pool, IDirect3DSurface9** ppSurface, HANDLE* pSharedHandle )
90     HRESULT SetRenderTarget ( DWORD RenderTargetIndex, IDirect3DSurface9* pRenderTarget )
91     HRESULT GetRenderTarget ( DWORD RenderTargetIndex, IDirect3DSurface9** ppRenderTarget )
92     HRESULT SetDepthStencilSurface ( IDirect3DSurface9* pNewZStencil )
93     HRESULT GetDepthStencilSurface ( IDirect3DSurface9** ppZStencilSurface )
94     HRESULT BeginScene ( )
95     HRESULT EndScene ( )
96     HRESULT Clear ( DWORD Count, D3DRECT* pRects, DWORD Flags, D3DCOLOR Color, float Z, DWORD Stencil )
97     HRESULT SetTransform ( D3DTRANSFORMSTATETYPE State, D3DMATRIX* pMatrix )
98     HRESULT GetTransform ( D3DTRANSFORMSTATETYPE State, D3DMATRIX* pMatrix )
99     HRESULT MultiplyTransform ( D3DTRANSFORMSTATETYPE, D3DMATRIX* )
100     HRESULT SetViewport ( D3DVIEWPORT9* pViewport )
101     HRESULT GetViewport ( D3DVIEWPORT9* pViewport )
102     HRESULT SetMaterial ( D3DMATERIAL9* pMaterial )
103     HRESULT GetMaterial ( D3DMATERIAL9* pMaterial )
104     HRESULT SetLight ( DWORD Index, D3DLIGHT9* l )
105     HRESULT GetLight ( DWORD Index, D3DLIGHT9* l )
106     HRESULT LightEnable ( DWORD Index, BOOL Enable )
107     HRESULT GetLightEnable ( DWORD Index, BOOL* pEnable )
108     HRESULT SetClipPlane ( DWORD Index, float* pPlane )
109     HRESULT GetClipPlane ( DWORD Index, float* pPlane )
110     HRESULT SetRenderState ( D3DRENDERSTATETYPE State, DWORD Value )
111     HRESULT GetRenderState ( D3DRENDERSTATETYPE State, DWORD* pValue )
112     HRESULT CreateStateBlock ( D3DSTATEBLOCKTYPE Type, IDirect3DStateBlock9** ppSB )
113     HRESULT BeginStateBlock ( )
114     HRESULT EndStateBlock ( IDirect3DStateBlock9** ppSB )
115     HRESULT SetClipStatus ( D3DCLIPSTATUS9* pClipStatus )
116     HRESULT GetClipStatus ( D3DCLIPSTATUS9* pClipStatus )
117     HRESULT GetTexture ( DWORD Stage, IDirect3DBaseTexture9** ppTexture )
118     HRESULT SetTexture ( DWORD Stage, IDirect3DBaseTexture9* pTexture )
119     HRESULT GetTextureStageState ( DWORD Stage, D3DTEXTURESTAGESTATETYPE Type, DWORD* pValue )
120     HRESULT SetTextureStageState ( DWORD Stage, D3DTEXTURESTAGESTATETYPE Type, DWORD Value )
121     HRESULT GetSamplerState ( DWORD Sampler, D3DSAMPLERSTATETYPE Type, DWORD* pValue )
122     HRESULT SetSamplerState ( DWORD Sampler, D3DSAMPLERSTATETYPE Type, DWORD Value )
123     HRESULT ValidateDevice ( DWORD* pNumPasses )
124     HRESULT SetPaletteEntries ( UINT PaletteNumber, PALETTEENTRY* pEntries )
125     HRESULT GetPaletteEntries ( UINT PaletteNumber, PALETTEENTRY* pEntries )
126     HRESULT SetCurrentTexturePalette ( UINT PaletteNumber )
127     HRESULT GetCurrentTexturePalette ( UINT *PaletteNumber )
128     HRESULT SetScissorRect ( RECT* pRect )
129     HRESULT GetScissorRect ( RECT* pRect )
130     HRESULT SetSoftwareVertexProcessing ( BOOL bSoftware )
131     BOOL GetSoftwareVertexProcessing ( )
132     HRESULT SetNPatchMode ( float nSegments )
133     float GetNPatchMode ( )
134     HRESULT DrawPrimitive ( D3DPRIMITIVETYPE PrimitiveType, UINT StartVertex, UINT PrimitiveCount )
135     HRESULT DrawIndexedPrimitive ( D3DPRIMITIVETYPE x, INT BaseVertexIndex, UINT MinVertexIndex, UINT NumVertices, UINT startIndex, UINT primCount )
136     HRESULT DrawPrimitiveUP ( D3DPRIMITIVETYPE PrimitiveType, UINT PrimitiveCount, void* pVertexStreamZeroData, UINT VertexStreamZeroStride )
137     HRESULT DrawIndexedPrimitiveUP ( D3DPRIMITIVETYPE PrimitiveType, UINT MinVertexIndex, UINT NumVertices, UINT PrimitiveCount, void* pIndexData, D3DFORMAT IndexDataFormat, void* pVertexStreamZeroData, UINT VertexStreamZeroStride )
138     HRESULT ProcessVertices ( UINT SrcStartIndex, UINT DestIndex, UINT VertexCount, IDirect3DVertexBuffer9* pDestBuffer, IDirect3DVertexDeclaration9* pVertexDecl, DWORD Flags )
139     HRESULT CreateVertexDeclaration ( D3DVERTEXELEMENT9* pVertexElements, IDirect3DVertexDeclaration9** ppDecl )
140     HRESULT SetVertexDeclaration ( IDirect3DVertexDeclaration9* pDecl )
141     HRESULT GetVertexDeclaration ( IDirect3DVertexDeclaration9** ppDecl )
142     HRESULT SetFVF ( DWORD FVF )
143     HRESULT GetFVF ( DWORD* pFVF )
144     HRESULT CreateVertexShader ( DWORD* pFunction, IDirect3DVertexShader9** ppShader )
145     HRESULT SetVertexShader ( IDirect3DVertexShader9* pShader )
146     HRESULT GetVertexShader ( IDirect3DVertexShader9** ppShader )
147     HRESULT SetVertexShaderConstantF ( UINT StartRegister, float* pConstantData, UINT Vector4fCount )
148     HRESULT GetVertexShaderConstantF ( UINT StartRegister, float* pConstantData, UINT Vector4fCount )
149     HRESULT SetVertexShaderConstantI ( UINT StartRegister, int* pConstantData, UINT Vector4iCount )
150     HRESULT GetVertexShaderConstantI ( UINT StartRegister, int* pConstantData, UINT Vector4iCount )
151     HRESULT SetVertexShaderConstantB ( UINT StartRegister, BOOL* pConstantData, UINT  BoolCount )
152     HRESULT GetVertexShaderConstantB ( UINT StartRegister, BOOL* pConstantData, UINT BoolCount )
153     HRESULT SetStreamSource ( UINT StreamNumber, IDirect3DVertexBuffer9* pStreamData, UINT OffsetInBytes, UINT Stride )
154     HRESULT GetStreamSource ( UINT StreamNumber, IDirect3DVertexBuffer9** ppStreamData, UINT* pOffsetInBytes, UINT* pStride )
155     HRESULT SetStreamSourceFreq ( UINT StreamNumber, UINT Setting )
156     HRESULT GetStreamSourceFreq ( UINT StreamNumber, UINT* pSetting )
157     HRESULT SetIndices ( IDirect3DIndexBuffer9* pIndexData )
158     HRESULT GetIndices ( IDirect3DIndexBuffer9** ppIndexData )
159     HRESULT CreatePixelShader ( DWORD* pFunction, IDirect3DPixelShader9** ppShader )
160     HRESULT SetPixelShader ( IDirect3DPixelShader9* pShader )
161     HRESULT GetPixelShader ( IDirect3DPixelShader9** ppShader )
162     HRESULT SetPixelShaderConstantF ( UINT StartRegister, float* pConstantData, UINT Vector4fCount )
163     HRESULT GetPixelShaderConstantF ( UINT StartRegister, float* pConstantData, UINT Vector4fCount )
164     HRESULT SetPixelShaderConstantI ( UINT StartRegister, int* pConstantData, UINT Vector4iCount )
165     HRESULT GetPixelShaderConstantI ( UINT StartRegister, int* pConstantData, UINT Vector4iCount )
166     HRESULT SetPixelShaderConstantB ( UINT StartRegister, BOOL* pConstantData, UINT  BoolCount )
167     HRESULT GetPixelShaderConstantB ( UINT StartRegister, BOOL* pConstantData, UINT BoolCount )
168     HRESULT DrawRectPatch ( UINT Handle, float* pNumSegs, D3DRECTPATCH_INFO* pRectPatchInfo )
169     HRESULT DrawTriPatch ( UINT Handle, float* pNumSegs, D3DTRIPATCH_INFO* pTriPatchInfo )
170     HRESULT DeletePatch ( UINT Handle )
171     HRESULT CreateQuery ( D3DQUERYTYPE Type, IDirect3DQuery9** ppQuery ) ;
172
173 TYPEDEF: IDirect3DDevice9* LPDIRECT3DDEVICE9
174 TYPEDEF: IDirect3DDevice9* PDIRECT3DDEVICE9
175
176 COM-INTERFACE: IDirect3DStateBlock9 IUnknown {B07C4FE5-310D-4ba8-A23C-4F0F206F218B}
177     HRESULT GetDevice ( IDirect3DDevice9** ppDevice )
178     HRESULT Capture ( )
179     HRESULT Apply ( ) ;
180
181 COM-INTERFACE: IDirect3DSwapChain9 IUnknown {794950F2-ADFC-458a-905E-10A10B0B503B}
182     HRESULT Present ( RECT* pSourceRect, RECT* pDestRect, HWND hDestWindowOverride, RGNDATA* pDirtyRegion, DWORD dwFlags )
183     HRESULT GetFrontBufferData ( IDirect3DSurface9* pDestSurface )
184     HRESULT GetBackBuffer ( UINT iBackBuffer, D3DBACKBUFFER_TYPE Type, IDirect3DSurface9** ppBackBuffer )
185     HRESULT GetRasterStatus ( D3DRASTER_STATUS* pRasterStatus )
186     HRESULT GetDisplayMode ( D3DDISPLAYMODE* pMode )
187     HRESULT GetDevice ( IDirect3DDevice9** ppDevice )
188     HRESULT GetPresentParameters ( D3DPRESENT_PARAMETERS* pPresentationParameters ) ;
189
190 TYPEDEF: IDirect3DSwapChain9* LPDIRECT3DSWAPCHAIN9
191 TYPEDEF: IDirect3DSwapChain9* PDIRECT3DSWAPCHAIN9
192
193 COM-INTERFACE: IDirect3DResource9 IUnknown {05EEC05D-8F7D-4362-B999-D1BAF357C704}
194     HRESULT GetDevice ( IDirect3DDevice9** ppDevice )
195     HRESULT SetPrivateData ( REFGUID refguid, void* pData, DWORD SizeOfData, DWORD Flags )
196     HRESULT GetPrivateData ( REFGUID refguid, void* pData, DWORD* pSizeOfData )
197     HRESULT FreePrivateData ( REFGUID refguid )
198     DWORD SetPriority ( DWORD PriorityNew )
199     DWORD GetPriority ( )
200     void PreLoad ( )
201     D3DRESOURCETYPE GetType ( ) ;
202
203 TYPEDEF: IDirect3DResource9* LPDIRECT3DRESOURCE9
204 TYPEDEF: IDirect3DResource9* PDIRECT3DRESOURCE9
205
206 COM-INTERFACE: IDirect3DVertexDeclaration9 IUnknown {DD13C59C-36FA-4098-A8FB-C7ED39DC8546}
207     HRESULT GetDevice ( IDirect3DDevice9** ppDevice )
208     HRESULT GetDeclaration ( D3DVERTEXELEMENT9* pElement, UINT* pNumElements ) ;
209
210 TYPEDEF: IDirect3DVertexDeclaration9* LPDIRECT3DVERTEXDECLARATION9
211 TYPEDEF: IDirect3DVertexDeclaration9* PDIRECT3DVERTEXDECLARATION9
212
213 COM-INTERFACE: IDirect3DVertexShader9 IUnknown {EFC5557E-6265-4613-8A94-43857889EB36}
214     HRESULT GetDevice ( IDirect3DDevice9** ppDevice )
215     HRESULT GetFunction ( void* x, UINT* pSizeOfData ) ;
216
217 TYPEDEF: IDirect3DVertexShader9* LPDIRECT3DVERTEXSHADER9
218 TYPEDEF: IDirect3DVertexShader9* PDIRECT3DVERTEXSHADER9
219
220 COM-INTERFACE: IDirect3DPixelShader9 IUnknown {6D3BDBDC-5B02-4415-B852-CE5E8BCCB289}
221     HRESULT GetDevice ( IDirect3DDevice9** ppDevice )
222     HRESULT GetFunction ( void* x, UINT* pSizeOfData ) ;
223
224 TYPEDEF: IDirect3DPixelShader9* LPDIRECT3DPIXELSHADER9
225 TYPEDEF: IDirect3DPixelShader9* PDIRECT3DPIXELSHADER9
226
227 COM-INTERFACE: IDirect3DBaseTexture9 IDirect3DResource9 {580CA87E-1D3C-4d54-991D-B7D3E3C298CE}
228     DWORD SetLOD ( DWORD LODNew )
229     DWORD GetLOD ( )
230     DWORD GetLevelCount ( )
231     HRESULT SetAutoGenFilterType ( D3DTEXTUREFILTERTYPE FilterType )
232     D3DTEXTUREFILTERTYPE GetAutoGenFilterType ( )
233     void GenerateMipSubLevels ( ) ;
234
235 TYPEDEF: IDirect3DBaseTexture9* LPDIRECT3DBASETEXTURE9
236 TYPEDEF: IDirect3DBaseTexture9* PDIRECT3DBASETEXTURE9
237
238 COM-INTERFACE: IDirect3DTexture9 IDirect3DBaseTexture9 {85C31227-3DE5-4f00-9B3A-F11AC38C18B5}
239     HRESULT GetLevelDesc ( UINT Level, D3DSURFACE_DESC* pDesc )
240     HRESULT GetSurfaceLevel ( UINT Level, IDirect3DSurface9** ppSurfaceLevel )
241     HRESULT LockRect ( UINT Level, D3DLOCKED_RECT* pLockedRect, RECT* pRect, DWORD Flags )
242     HRESULT UnlockRect ( UINT Level ) ;
243     
244 TYPEDEF: IDirect3DTexture9* LPDIRECT3DTEXTURE9
245 TYPEDEF: IDirect3DTexture9* PDIRECT3DTEXTURE9
246
247 COM-INTERFACE: IDirect3DVolumeTexture9 IDirect3DBaseTexture9 {2518526C-E789-4111-A7B9-47EF328D13E6}
248     HRESULT GetLevelDesc ( UINT Level, D3DVOLUME_DESC* pDesc )
249     HRESULT GetVolumeLevel ( UINT Level, IDirect3DVolume9** ppVolumeLevel )
250     HRESULT LockBox ( UINT Level, D3DLOCKED_BOX* pLockedVolume, D3DBOX* pBox, DWORD Flags )
251     HRESULT UnlockBox ( UINT Level )
252     HRESULT AddDirtyBox ( D3DBOX* pDirtyBox ) ;
253
254 TYPEDEF: IDirect3DVolumeTexture9* LPDIRECT3DVOLUMETEXTURE9
255 TYPEDEF: IDirect3DVolumeTexture9* PDIRECT3DVOLUMETEXTURE9
256
257 COM-INTERFACE: IDirect3DCubeTexture9 IDirect3DBaseTexture9 {FFF32F81-D953-473a-9223-93D652ABA93F}
258     HRESULT GetLevelDesc ( UINT Level, D3DSURFACE_DESC* pDesc )
259     HRESULT GetCubeMapSurface ( D3DCUBEMAP_FACES FaceType, UINT Level, IDirect3DSurface9** ppCubeMapSurface )
260     HRESULT LockRect ( D3DCUBEMAP_FACES FaceType, UINT Level, D3DLOCKED_RECT* pLockedRect, RECT* pRect, DWORD Flags )
261     HRESULT UnlockRect ( D3DCUBEMAP_FACES FaceType, UINT Level )
262     HRESULT AddDirtyRect ( D3DCUBEMAP_FACES FaceType, RECT* pDirtyRect ) ;
263
264 TYPEDEF: IDirect3DCubeTexture9* LPDIRECT3DCUBETEXTURE9
265 TYPEDEF: IDirect3DCubeTexture9* PDIRECT3DCUBETEXTURE9
266
267 COM-INTERFACE: IDirect3DVertexBuffer9 IDirect3DResource9 {B64BB1B5-FD70-4df6-BF91-19D0A12455E3}
268     HRESULT Lock ( UINT OffsetToLock, UINT SizeToLock, void** ppbData, DWORD Flags )
269     HRESULT Unlock ( )
270     HRESULT GetDesc ( D3DVERTEXBUFFER_DESC* pDesc ) ;
271
272 TYPEDEF: IDirect3DVertexBuffer9* LPDIRECT3DVERTEXBUFFER9
273 TYPEDEF: IDirect3DVertexBuffer9* PDIRECT3DVERTEXBUFFER9
274
275 COM-INTERFACE: IDirect3DIndexBuffer9 IDirect3DResource9 {7C9DD65E-D3F7-4529-ACEE-785830ACDE35}
276     HRESULT Lock ( UINT OffsetToLock, UINT SizeToLock, void** ppbData, DWORD Flags )
277     HRESULT Unlock ( )
278     HRESULT GetDesc ( D3DINDEXBUFFER_DESC* pDesc ) ;
279
280 TYPEDEF: IDirect3DIndexBuffer9* LPDIRECT3DINDEXBUFFER9
281 TYPEDEF: IDirect3DIndexBuffer9* PDIRECT3DINDEXBUFFER9
282
283 COM-INTERFACE: IDirect3DSurface9 IDirect3DResource9 {0CFBAF3A-9FF6-429a-99B3-A2796AF8B89B}
284     HRESULT GetContainer ( REFIID riid, void** ppContainer )
285     HRESULT GetDesc ( D3DSURFACE_DESC* pDesc )
286     HRESULT LockRect ( D3DLOCKED_RECT* pLockedRect, RECT* pRect, DWORD Flags )
287     HRESULT UnlockRect ( )
288     HRESULT GetDC ( HDC* phdc )
289     HRESULT ReleaseDC ( HDC hdc ) ;
290
291 TYPEDEF: IDirect3DSurface9* LPDIRECT3DSURFACE9
292 TYPEDEF: IDirect3DSurface9* PDIRECT3DSURFACE9
293
294 COM-INTERFACE: IDirect3DVolume9 IUnknown {24F416E6-1F67-4aa7-B88E-D33F6F3128A1}
295     HRESULT GetDevice ( IDirect3DDevice9** ppDevice )
296     HRESULT SetPrivateData ( REFGUID refguid, void* pData, DWORD SizeOfData, DWORD Flags )
297     HRESULT GetPrivateData ( REFGUID refguid, void* pData, DWORD* pSizeOfData )
298     HRESULT FreePrivateData ( REFGUID refguid )
299     HRESULT GetContainer ( REFIID riid, void** ppContainer )
300     HRESULT GetDesc ( D3DVOLUME_DESC *pDesc )
301     HRESULT LockBox ( D3DLOCKED_BOX* pLockedVolume, D3DBOX* pBox, DWORD Flags )
302     HRESULT UnlockBox ( ) ;
303
304 TYPEDEF: IDirect3DVolume9* LPDIRECT3DVOLUME9
305 TYPEDEF: IDirect3DVolume9* PDIRECT3DVOLUME9
306
307 COM-INTERFACE: IDirect3DQuery9 IUnknown {d9771460-a695-4f26-bbd3-27b840b541cc}
308     HRESULT GetDevice ( IDirect3DDevice9** ppDevice )
309     D3DQUERYTYPE GetType ( )
310     DWORD GetDataSize ( )
311     HRESULT Issue ( DWORD dwIssueFlags )
312     HRESULT GetData ( void* pData, DWORD dwSize, DWORD dwGetDataFlags ) ;
313
314 TYPEDEF: IDirect3DQuery9* LPDIRECT3DQUERY9
315 TYPEDEF: IDirect3DQuery9* PDIRECT3DQUERY9
316
317 CONSTANT: D3DSPD_IUNKNOWN                         HEX: 00000001
318
319 CONSTANT: D3DCREATE_FPU_PRESERVE                  HEX: 00000002
320 CONSTANT: D3DCREATE_MULTITHREADED                 HEX: 00000004
321
322 CONSTANT: D3DCREATE_PUREDEVICE                    HEX: 00000010
323 CONSTANT: D3DCREATE_SOFTWARE_VERTEXPROCESSING     HEX: 00000020
324 CONSTANT: D3DCREATE_HARDWARE_VERTEXPROCESSING     HEX: 00000040
325 CONSTANT: D3DCREATE_MIXED_VERTEXPROCESSING        HEX: 00000080
326
327 CONSTANT: D3DCREATE_DISABLE_DRIVER_MANAGEMENT     HEX: 00000100
328 CONSTANT: D3DCREATE_ADAPTERGROUP_DEVICE           HEX: 00000200
329 CONSTANT: D3DCREATE_DISABLE_DRIVER_MANAGEMENT_EX  HEX: 00000400
330
331 CONSTANT: D3DCREATE_NOWINDOWCHANGES               HEX: 00000800
332
333 CONSTANT: D3DCREATE_DISABLE_PSGP_THREADING        HEX: 00002000
334 CONSTANT: D3DCREATE_ENABLE_PRESENTSTATS           HEX: 00004000
335 CONSTANT: D3DCREATE_DISABLE_PRINTSCREEN           HEX: 00008000
336 CONSTANT: D3DCREATE_SCREENSAVER                   HEX: 10000000
337
338 CONSTANT: D3DADAPTER_DEFAULT                     0
339 CONSTANT: D3DENUM_WHQL_LEVEL                     2
340 CONSTANT: D3DENUM_NO_DRIVERVERSION               4
341 CONSTANT: D3DPRESENT_BACK_BUFFERS_MAX            3
342 CONSTANT: D3DPRESENT_BACK_BUFFERS_MAX_EX         30
343
344 CONSTANT: D3DSGR_NO_CALIBRATION                  HEX: 00000000
345 CONSTANT: D3DSGR_CALIBRATE                       HEX: 00000001
346
347 CONSTANT: D3DCURSOR_IMMEDIATE_UPDATE             HEX: 00000001
348
349 CONSTANT: D3DPRESENT_DONOTWAIT                   HEX: 00000001
350 CONSTANT: D3DPRESENT_LINEAR_CONTENT              HEX: 00000002
351
352 CONSTANT: D3DPRESENT_DONOTFLIP                   HEX: 00000004
353 CONSTANT: D3DPRESENT_FLIPRESTART                 HEX: 00000008
354 CONSTANT: D3DPRESENT_VIDEO_RESTRICT_TO_MONITOR   HEX: 00000010
355 CONSTANT: D3DPRESENT_UPDATEOVERLAYONLY           HEX: 00000020
356 CONSTANT: D3DPRESENT_HIDEOVERLAY                 HEX: 00000040
357 CONSTANT: D3DPRESENT_UPDATECOLORKEY              HEX: 00000080
358 CONSTANT: D3DPRESENT_FORCEIMMEDIATE              HEX: 00000100
359
360 : D3D_OK ( -- n ) S_OK ; inline
361
362 CONSTANT: D3DERR_WRONGTEXTUREFORMAT               HEX: 88760818
363 CONSTANT: D3DERR_UNSUPPORTEDCOLOROPERATION        HEX: 88760819
364 CONSTANT: D3DERR_UNSUPPORTEDCOLORARG              HEX: 8876081A
365 CONSTANT: D3DERR_UNSUPPORTEDALPHAOPERATION        HEX: 8876081B
366 CONSTANT: D3DERR_UNSUPPORTEDALPHAARG              HEX: 8876081C
367 CONSTANT: D3DERR_TOOMANYOPERATIONS                HEX: 8876081D
368 CONSTANT: D3DERR_CONFLICTINGTEXTUREFILTER         HEX: 8876081E
369 CONSTANT: D3DERR_UNSUPPORTEDFACTORVALUE           HEX: 8876081F
370 CONSTANT: D3DERR_CONFLICTINGRENDERSTATE           HEX: 88760820
371 CONSTANT: D3DERR_UNSUPPORTEDTEXTUREFILTER         HEX: 88760821
372 CONSTANT: D3DERR_CONFLICTINGTEXTUREPALETTE        HEX: 88760825
373 CONSTANT: D3DERR_DRIVERINTERNALERROR              HEX: 88760826
374 CONSTANT: D3DERR_NOTFOUND                         HEX: 88760866
375 CONSTANT: D3DERR_MOREDATA                         HEX: 88760867
376 CONSTANT: D3DERR_DEVICELOST                       HEX: 88760868
377 CONSTANT: D3DERR_DEVICENOTRESET                   HEX: 88760869
378 CONSTANT: D3DERR_NOTAVAILABLE                     HEX: 8876086A
379 CONSTANT: D3DERR_OUTOFVIDEOMEMORY                 HEX: 8876017C
380 CONSTANT: D3DERR_INVALIDDEVICE                    HEX: 8876086B
381 CONSTANT: D3DERR_INVALIDCALL                      HEX: 8876086C
382 CONSTANT: D3DERR_DRIVERINVALIDCALL                HEX: 8876086D
383 CONSTANT: D3DERR_WASSTILLDRAWING                  HEX: 8876021C
384 CONSTANT: D3DOK_NOAUTOGEN                         HEX: 0876086F
385 CONSTANT: D3DERR_DEVICEREMOVED                    HEX: 88760870
386 CONSTANT: S_NOT_RESIDENT                          HEX: 08760875
387 CONSTANT: S_RESIDENT_IN_SHARED_MEMORY             HEX: 08760876
388 CONSTANT: S_PRESENT_MODE_CHANGED                  HEX: 08760877
389 CONSTANT: S_PRESENT_OCCLUDED                      HEX: 08760878
390 CONSTANT: D3DERR_DEVICEHUNG                       HEX: 88760874
391 CONSTANT: D3DERR_UNSUPPORTEDOVERLAY               HEX: 8876087C
392 CONSTANT: D3DERR_UNSUPPORTEDOVERLAYFORMAT         HEX: 8876087D
393 CONSTANT: D3DERR_CANNOTPROTECTCONTENT             HEX: 8876087E
394 CONSTANT: D3DERR_UNSUPPORTEDCRYPTO                HEX: 8876087F
395 CONSTANT: D3DERR_PRESENT_STATISTICS_DISJOINT      HEX: 88760884
396
397 FUNCTION: HRESULT Direct3DCreate9Ex ( UINT SDKVersion, IDirect3D9Ex** out ) ;
398
399 COM-INTERFACE: IDirect3D9Ex IDirect3D9 {02177241-69FC-400C-8FF1-93A44DF6861D}
400     UINT GetAdapterModeCountEx ( UINT Adapter, D3DDISPLAYMODEFILTER* pFilter  )
401     HRESULT EnumAdapterModesEx ( UINT Adapter, D3DDISPLAYMODEFILTER* pFilter, UINT Mode, D3DDISPLAYMODEEX* pMode )
402     HRESULT GetAdapterDisplayModeEx ( UINT Adapter, D3DDISPLAYMODEEX* pMode, D3DDISPLAYROTATION* pRotation )
403     HRESULT CreateDeviceEx ( UINT Adapter, D3DDEVTYPE DeviceType, HWND hFocusWindow, DWORD BehaviorFlags, D3DPRESENT_PARAMETERS* pPresentationParameters, D3DDISPLAYMODEEX* pFullscreenDisplayMode, IDirect3DDevice9Ex** ppReturnedDeviceInterface )
404     HRESULT GetAdapterLUID ( UINT Adapter, LUID* pLUID ) ;
405
406 TYPEDEF: IDirect3D9Ex* LPDIRECT3D9EX
407 TYPEDEF: IDirect3D9Ex* PDIRECT3D9EX
408
409 COM-INTERFACE: IDirect3DDevice9Ex IDirect3DDevice9 {B18B10CE-2649-405a-870F-95F777D4313A}
410     HRESULT SetConvolutionMonoKernel ( UINT width, UINT height, float* rows, float* columns )
411     HRESULT ComposeRects ( IDirect3DSurface9* pSrc, IDirect3DSurface9* pDst, IDirect3DVertexBuffer9* pSrcRectDescs, UINT NumRects, IDirect3DVertexBuffer9* pDstRectDescs, D3DCOMPOSERECTSOP Operation, int Xoffset, int Yoffset )
412     HRESULT PresentEx ( RECT* pSourceRect, RECT* pDestRect, HWND hDestWindowOverride, RGNDATA* pDirtyRegion, DWORD dwFlags )
413     HRESULT GetGPUThreadPriority ( INT* pPriority )
414     HRESULT SetGPUThreadPriority ( INT Priority )
415     HRESULT WaitForVBlank ( UINT iSwapChain )
416     HRESULT CheckResourceResidency ( IDirect3DResource9** pResourceArray, UINT32 NumResources )
417     HRESULT SetMaximumFrameLatency ( UINT MaxLatency )
418     HRESULT GetMaximumFrameLatency ( UINT* pMaxLatency )
419     HRESULT CheckDeviceState ( HWND hDestinationWindow )
420     HRESULT CreateRenderTargetEx ( UINT Width, UINT Height, D3DFORMAT Format, D3DMULTISAMPLE_TYPE MultiSample, DWORD MultisampleQuality, BOOL Lockable, IDirect3DSurface9** ppSurface, HANDLE* pSharedHandle, DWORD Usage )
421     HRESULT CreateOffscreenPlainSurfaceEx ( UINT Width, UINT Height, D3DFORMAT Format, D3DPOOL Pool, IDirect3DSurface9** ppSurface, HANDLE* pSharedHandle, DWORD Usage )
422     HRESULT CreateDepthStencilSurfaceEx ( UINT Width, UINT Height, D3DFORMAT Format, D3DMULTISAMPLE_TYPE MultiSample, DWORD MultisampleQuality, BOOL Discard, IDirect3DSurface9** ppSurface, HANDLE* pSharedHandle, DWORD Usage )
423     HRESULT ResetEx ( D3DPRESENT_PARAMETERS* pPresentationParameters, D3DDISPLAYMODEEX *pFullscreenDisplayMode )
424     HRESULT GetDisplayModeEx ( UINT iSwapChain, D3DDISPLAYMODEEX* pMode, D3DDISPLAYROTATION* pRotation ) ;
425
426 TYPEDEF: IDirect3DDevice9Ex* LPDIRECT3DDEVICE9EX
427 TYPEDEF: IDirect3DDevice9Ex* PDIRECT3DDEVICE9EX
428
429 COM-INTERFACE: IDirect3DSwapChain9Ex IDirect3DSwapChain9 {91886CAF-1C3D-4d2e-A0AB-3E4C7D8D3303}
430     HRESULT GetLastPresentCount ( UINT* pLastPresentCount )
431     HRESULT GetPresentStats ( D3DPRESENTSTATS* pPresentationStatistics )
432     HRESULT GetDisplayModeEx ( D3DDISPLAYMODEEX* pMode, D3DDISPLAYROTATION* pRotation ) ;
433
434 TYPEDEF: IDirect3DSwapChain9Ex* LPDIRECT3DSWAPCHAIN9EX
435 TYPEDEF: IDirect3DSwapChain9Ex* PDIRECT3DSWAPCHAIN9EX
436
437 COM-INTERFACE: IDirect3D9ExOverlayExtension IUnknown {187aeb13-aaf5-4c59-876d-e059088c0df8}
438     HRESULT CheckDeviceOverlayType ( UINT Adapter, D3DDEVTYPE DevType, UINT OverlayWidth, UINT OverlayHeight, D3DFORMAT OverlayFormat, D3DDISPLAYMODEEX* pDisplayMode, D3DDISPLAYROTATION DisplayRotation, D3DOVERLAYCAPS* pOverlayCaps ) ;
439
440 TYPEDEF: IDirect3D9ExOverlayExtension* LPDIRECT3D9EXOVERLAYEXTENSION
441 TYPEDEF: IDirect3D9ExOverlayExtension* PDIRECT3D9EXOVERLAYEXTENSION
442
443 COM-INTERFACE: IDirect3DDevice9Video IUnknown {26DC4561-A1EE-4ae7-96DA-118A36C0EC95}
444     HRESULT GetContentProtectionCaps ( GUID* pCryptoType, GUID* pDecodeProfile, D3DCONTENTPROTECTIONCAPS* pCaps )
445     HRESULT CreateAuthenticatedChannel ( D3DAUTHENTICATEDCHANNELTYPE ChannelType, IDirect3DAuthenticatedChannel9** ppAuthenticatedChannel, HANDLE* pChannelHandle )
446     HRESULT CreateCryptoSession ( GUID* pCryptoType, GUID* pDecodeProfile, IDirect3DCryptoSession9** ppCryptoSession, HANDLE* pCryptoHandle ) ;
447
448 TYPEDEF: IDirect3DDevice9Video* LPDIRECT3DDEVICE9VIDEO
449 TYPEDEF: IDirect3DDevice9Video* PDIRECT3DDEVICE9VIDEO
450
451 COM-INTERFACE: IDirect3DAuthenticatedChannel9 IUnknown {FF24BEEE-DA21-4beb-98B5-D2F899F98AF9}
452     HRESULT GetCertificateSize ( UINT* pCertificateSize )
453     HRESULT GetCertificate ( UINT CertifacteSize, BYTE* ppCertificate )
454     HRESULT NegotiateKeyExchange ( UINT DataSize, VOID* pData )
455     HRESULT Query ( UINT InputSize, VOID* pInput, UINT OutputSize, VOID* pOutput )
456     HRESULT Configure ( UINT InputSize, VOID* pInput, D3DAUTHENTICATEDCHANNEL_CONFIGURE_OUTPUT* pOutput ) ;
457
458 TYPEDEF: IDirect3DAuthenticatedChannel9* LPDIRECT3DAUTHENTICATEDCHANNEL9
459 TYPEDEF: IDirect3DAuthenticatedChannel9* PDIRECT3DAUTHENTICATEDCHANNEL9
460
461 COM-INTERFACE: IDirect3DCryptoSession9 IUnknown {FA0AB799-7A9C-48ca-8C5B-237E71A54434}
462     HRESULT GetCertificateSize ( UINT* pCertificateSize )
463     HRESULT GetCertificate ( UINT CertifacteSize, BYTE* ppCertificate )
464     HRESULT NegotiateKeyExchange ( UINT DataSize, VOID* pData )
465     HRESULT EncryptionBlt ( IDirect3DSurface9* pSrcSurface, IDirect3DSurface9* pDstSurface, UINT DstSurfaceSize, VOID* pIV )
466     HRESULT DecryptionBlt ( IDirect3DSurface9* pSrcSurface, IDirect3DSurface9* pDstSurface, UINT SrcSurfaceSize, D3DENCRYPTED_BLOCK_INFO* pEncryptedBlockInfo, VOID* pContentKey, VOID* pIV )
467     HRESULT GetSurfacePitch ( IDirect3DSurface9* pSrcSurface, UINT* pSurfacePitch )
468     HRESULT StartSessionKeyRefresh ( VOID* pRandomNumber, UINT RandomNumberSize )
469     HRESULT FinishSessionKeyRefresh ( )
470     HRESULT GetEncryptionBltKey ( VOID* pReadbackKey, UINT KeySize ) ;
471
472 TYPEDEF: IDirect3DCryptoSession9* LPDIRECT3DCRYPTOSESSION9
473 TYPEDEF: IDirect3DCryptoSession9* PDIRECT3DCRYPTOSESSION9