4 * COPYRIGHT: This file is in the public domain.
5 * PROJECT: ReactOS kernel
7 * PURPOSE: Directx headers
8 * PROGRAMMER: Magnus Olsen (greatlrd)
12 #ifndef __DMEMMGR_INCLUDED__
13 #define __DMEMMGR_INCLUDED__
15 /* Helper macro to enable gcc's extension. */
16 #ifndef __GNU_EXTENSION
18 #define __GNU_EXTENSION __extension__
20 #define __GNU_EXTENSION
30 #ifndef FLATPTR_DEFINED
31 typedef ULONG_PTR FLATPTR
;
32 #define FLATPTR_DEFINED
35 typedef struct _VIDMEM
*LPVIDMEM
;
39 #ifndef FLATPTR_DEFINED
40 typedef ULONG_PTR FLATPTR
;
41 #define FLATPTR_DEFINED
44 typedef struct _VIDEOMEMORY
*LPVIDMEM
;
47 #define SURFACEALIGN_DISCARDABLE 0x00000001
48 #define VMEMHEAP_LINEAR 0x00000001
49 #define VMEMHEAP_RECTANGULAR 0x00000002
50 #define VMEMHEAP_ALIGNMENT 0x00000004
58 } VMEML
, *LPVMEML
, *LPLPVMEML
;
68 struct _VMEMR
*pRight
;
78 } VMEMR
, *LPVMEMR
, *LPLPVMEMR
;
80 typedef struct _SURFACEALIGNMENT
86 DWORD dwStartAlignment
;
87 DWORD dwPitchAlignment
;
99 } SURFACEALIGNMENT
, *LPSURFACEALIGNMENT
;
101 typedef struct _HEAPALIGNMENT
106 SURFACEALIGNMENT ExecuteBuffer
;
107 SURFACEALIGNMENT Overlay
;
108 SURFACEALIGNMENT Texture
;
109 SURFACEALIGNMENT ZBuffer
;
110 SURFACEALIGNMENT AlphaBuffer
;
111 SURFACEALIGNMENT Offscreen
;
112 SURFACEALIGNMENT FlipTarget
;
113 } HEAPALIGNMENT
, *LPHEAPALIGNMENT
;
115 typedef struct _VMEMHEAP
124 DWORD dwCommitedSize
;
125 DWORD dwCoalesceCount
;
126 HEAPALIGNMENT Alignment
;
128 DDSCAPSEX ddsCapsExAlt
;
130 LARGE_INTEGER liPhysAGPBase
;
134 BYTE
* pAgpCommitMask
;
135 DWORD dwAgpCommitMaskSize
;
136 } VMEMHEAP
, *LPVMEMHEAP
;
138 typedef struct _DD_GETHEAPALIGNMENTDATA
140 ULONG_PTR dwInstance
;
143 VOID
* GetHeapAlignment
;
144 HEAPALIGNMENT Alignment
;
145 } DD_GETHEAPALIGNMENTDATA
;
147 #ifndef DD_GETHEAPALIGNMENTDATA_DECLARED
148 typedef DD_GETHEAPALIGNMENTDATA
*PDD_GETHEAPALIGNMENTDATA
;
149 #define DD_GETHEAPALIGNMENTDATA_DECLARED
152 extern void WINAPI
VidMemFree( LPVMEMHEAP pvmh
, FLATPTR ptr
);
153 extern FLATPTR WINAPI
VidMemAlloc( LPVMEMHEAP pvmh
, DWORD width
, DWORD height
);
155 extern FLATPTR WINAPI
156 HeapVidMemAllocAligned(
160 LPSURFACEALIGNMENT lpAlignment
,