Mercurial > games > semicongine
comparison fuhtark_test/include/ddk/dmemmgr.h @ 1500:91c8c3b7cbf0
add: futhark tests for generating vulkan api
| author | sam <sam@basx.dev> |
|---|---|
| date | Wed, 26 Nov 2025 21:36:48 +0700 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| 1499:1f58458b7ef7 | 1500:91c8c3b7cbf0 |
|---|---|
| 1 | |
| 2 /* $Id: $ | |
| 3 * | |
| 4 * COPYRIGHT: This file is in the public domain. | |
| 5 * PROJECT: ReactOS kernel | |
| 6 * FILE: | |
| 7 * PURPOSE: Directx headers | |
| 8 * PROGRAMMER: Magnus Olsen (greatlrd) | |
| 9 * | |
| 10 */ | |
| 11 | |
| 12 #ifndef __DMEMMGR_INCLUDED__ | |
| 13 #define __DMEMMGR_INCLUDED__ | |
| 14 | |
| 15 #ifdef __cplusplus | |
| 16 extern "C" { | |
| 17 #endif | |
| 18 | |
| 19 #ifndef __NTDDKCOMP__ | |
| 20 | |
| 21 #ifndef FLATPTR_DEFINED | |
| 22 typedef ULONG_PTR FLATPTR; | |
| 23 #define FLATPTR_DEFINED | |
| 24 #endif | |
| 25 | |
| 26 typedef struct _VIDMEM *LPVIDMEM; | |
| 27 | |
| 28 #else | |
| 29 | |
| 30 #ifndef FLATPTR_DEFINED | |
| 31 typedef ULONG_PTR FLATPTR; | |
| 32 #define FLATPTR_DEFINED | |
| 33 #endif | |
| 34 | |
| 35 typedef struct _VIDEOMEMORY *LPVIDMEM; | |
| 36 #endif | |
| 37 | |
| 38 #define SURFACEALIGN_DISCARDABLE 0x00000001 | |
| 39 #define VMEMHEAP_LINEAR 0x00000001 | |
| 40 #define VMEMHEAP_RECTANGULAR 0x00000002 | |
| 41 #define VMEMHEAP_ALIGNMENT 0x00000004 | |
| 42 | |
| 43 typedef struct _VMEML | |
| 44 { | |
| 45 struct _VMEML *next; | |
| 46 FLATPTR ptr; | |
| 47 DWORD size; | |
| 48 BOOL bDiscardable; | |
| 49 } VMEML, *LPVMEML, *LPLPVMEML; | |
| 50 | |
| 51 typedef struct _VMEMR | |
| 52 { | |
| 53 struct _VMEMR *next; | |
| 54 struct _VMEMR *prev; | |
| 55 | |
| 56 struct _VMEMR *pUp; | |
| 57 struct _VMEMR *pDown; | |
| 58 struct _VMEMR *pLeft; | |
| 59 struct _VMEMR *pRight; | |
| 60 FLATPTR ptr; | |
| 61 DWORD size; | |
| 62 DWORD x; | |
| 63 DWORD y; | |
| 64 DWORD cx; | |
| 65 DWORD cy; | |
| 66 DWORD flags; | |
| 67 FLATPTR pBits; | |
| 68 BOOL bDiscardable; | |
| 69 } VMEMR, *LPVMEMR, *LPLPVMEMR; | |
| 70 | |
| 71 typedef struct _SURFACEALIGNMENT | |
| 72 { | |
| 73 union | |
| 74 { | |
| 75 struct | |
| 76 { | |
| 77 DWORD dwStartAlignment; | |
| 78 DWORD dwPitchAlignment; | |
| 79 DWORD dwFlags; | |
| 80 DWORD dwReserved2; | |
| 81 } Linear; | |
| 82 struct | |
| 83 { | |
| 84 DWORD dwXAlignment; | |
| 85 DWORD dwYAlignment; | |
| 86 DWORD dwFlags; | |
| 87 DWORD dwReserved2; | |
| 88 } Rectangular; | |
| 89 }; | |
| 90 } SURFACEALIGNMENT, *LPSURFACEALIGNMENT; | |
| 91 | |
| 92 typedef struct _HEAPALIGNMENT | |
| 93 { | |
| 94 DWORD dwSize; | |
| 95 DDSCAPS ddsCaps; | |
| 96 DWORD dwReserved; | |
| 97 SURFACEALIGNMENT ExecuteBuffer; | |
| 98 SURFACEALIGNMENT Overlay; | |
| 99 SURFACEALIGNMENT Texture; | |
| 100 SURFACEALIGNMENT ZBuffer; | |
| 101 SURFACEALIGNMENT AlphaBuffer; | |
| 102 SURFACEALIGNMENT Offscreen; | |
| 103 SURFACEALIGNMENT FlipTarget; | |
| 104 } HEAPALIGNMENT, *LPHEAPALIGNMENT; | |
| 105 | |
| 106 typedef struct _VMEMHEAP | |
| 107 { | |
| 108 DWORD dwFlags; | |
| 109 DWORD stride; | |
| 110 LPVOID freeList; | |
| 111 LPVOID allocList; | |
| 112 DWORD dwTotalSize; | |
| 113 FLATPTR fpGARTLin; | |
| 114 FLATPTR fpGARTDev; | |
| 115 DWORD dwCommitedSize; | |
| 116 DWORD dwCoalesceCount; | |
| 117 HEAPALIGNMENT Alignment; | |
| 118 DDSCAPSEX ddsCapsEx; | |
| 119 DDSCAPSEX ddsCapsExAlt; | |
| 120 #ifndef IS_16 | |
| 121 LARGE_INTEGER liPhysAGPBase; | |
| 122 #endif | |
| 123 HANDLE hdevAGP; | |
| 124 LPVOID pvPhysRsrv; | |
| 125 BYTE* pAgpCommitMask; | |
| 126 DWORD dwAgpCommitMaskSize; | |
| 127 } VMEMHEAP, *LPVMEMHEAP; | |
| 128 | |
| 129 typedef struct _DD_GETHEAPALIGNMENTDATA | |
| 130 { | |
| 131 ULONG_PTR dwInstance; | |
| 132 DWORD dwHeap; | |
| 133 HRESULT ddRVal; | |
| 134 VOID* GetHeapAlignment; | |
| 135 HEAPALIGNMENT Alignment; | |
| 136 } DD_GETHEAPALIGNMENTDATA; | |
| 137 | |
| 138 #ifndef DD_GETHEAPALIGNMENTDATA_DECLARED | |
| 139 typedef DD_GETHEAPALIGNMENTDATA *PDD_GETHEAPALIGNMENTDATA; | |
| 140 #define DD_GETHEAPALIGNMENTDATA_DECLARED | |
| 141 #endif | |
| 142 | |
| 143 extern void WINAPI VidMemFree( LPVMEMHEAP pvmh, FLATPTR ptr); | |
| 144 extern FLATPTR WINAPI VidMemAlloc( LPVMEMHEAP pvmh, DWORD width, DWORD height); | |
| 145 | |
| 146 extern FLATPTR WINAPI | |
| 147 HeapVidMemAllocAligned( | |
| 148 LPVIDMEM lpVidMem, | |
| 149 DWORD dwWidth, | |
| 150 DWORD dwHeight, | |
| 151 LPSURFACEALIGNMENT lpAlignment , | |
| 152 LPLONG lpNewPitch ); | |
| 153 | |
| 154 | |
| 155 | |
| 156 | |
| 157 | |
| 158 | |
| 159 #ifdef __cplusplus | |
| 160 }; | |
| 161 #endif | |
| 162 | |
| 163 #endif |
