diff 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
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/fuhtark_test/include/ddk/dmemmgr.h	Wed Nov 26 21:36:48 2025 +0700
@@ -0,0 +1,163 @@
+
+/* $Id: $
+ *
+ * COPYRIGHT:            This file is in the public domain.
+ * PROJECT:              ReactOS kernel
+ * FILE:
+ * PURPOSE:              Directx headers
+ * PROGRAMMER:           Magnus Olsen (greatlrd)
+ *
+ */
+
+#ifndef __DMEMMGR_INCLUDED__
+#define __DMEMMGR_INCLUDED__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifndef __NTDDKCOMP__
+
+#ifndef FLATPTR_DEFINED
+typedef ULONG_PTR FLATPTR;
+#define FLATPTR_DEFINED
+#endif
+
+typedef struct _VIDMEM *LPVIDMEM;
+
+#else
+
+#ifndef FLATPTR_DEFINED
+typedef ULONG_PTR FLATPTR;
+#define FLATPTR_DEFINED
+#endif
+
+typedef struct _VIDEOMEMORY *LPVIDMEM;
+#endif
+
+#define SURFACEALIGN_DISCARDABLE 0x00000001
+#define VMEMHEAP_LINEAR 0x00000001
+#define VMEMHEAP_RECTANGULAR 0x00000002
+#define VMEMHEAP_ALIGNMENT 0x00000004
+
+typedef struct _VMEML
+{
+  struct _VMEML *next;
+  FLATPTR ptr;
+  DWORD size;
+  BOOL bDiscardable;
+} VMEML, *LPVMEML, *LPLPVMEML;
+
+typedef struct _VMEMR
+{
+  struct _VMEMR *next;
+  struct _VMEMR *prev;
+
+  struct _VMEMR *pUp;
+  struct _VMEMR *pDown;
+  struct _VMEMR *pLeft;
+  struct _VMEMR *pRight;
+  FLATPTR  ptr;
+  DWORD size;
+  DWORD x;
+  DWORD y;
+  DWORD cx;
+  DWORD cy;
+  DWORD flags;
+  FLATPTR pBits;
+  BOOL bDiscardable;
+} VMEMR,  *LPVMEMR,  *LPLPVMEMR;
+
+typedef struct _SURFACEALIGNMENT
+{
+  union
+  {
+    struct
+    {
+      DWORD dwStartAlignment;
+      DWORD dwPitchAlignment;
+      DWORD dwFlags;
+      DWORD dwReserved2;
+    } Linear;
+    struct
+    {
+      DWORD dwXAlignment;
+      DWORD dwYAlignment;
+      DWORD dwFlags;
+      DWORD dwReserved2;
+    } Rectangular;
+  };
+} SURFACEALIGNMENT, *LPSURFACEALIGNMENT;
+
+typedef struct _HEAPALIGNMENT
+{
+    DWORD dwSize;
+    DDSCAPS ddsCaps;
+    DWORD dwReserved;
+    SURFACEALIGNMENT ExecuteBuffer;
+    SURFACEALIGNMENT Overlay;
+    SURFACEALIGNMENT Texture;
+    SURFACEALIGNMENT ZBuffer;
+    SURFACEALIGNMENT AlphaBuffer;
+    SURFACEALIGNMENT Offscreen;
+    SURFACEALIGNMENT FlipTarget;
+} HEAPALIGNMENT, *LPHEAPALIGNMENT;
+
+typedef struct _VMEMHEAP
+{
+    DWORD dwFlags;
+    DWORD stride;
+    LPVOID freeList;
+    LPVOID allocList;
+    DWORD dwTotalSize;
+    FLATPTR fpGARTLin;
+    FLATPTR fpGARTDev;
+    DWORD dwCommitedSize;
+    DWORD dwCoalesceCount;
+    HEAPALIGNMENT Alignment;
+    DDSCAPSEX ddsCapsEx;
+    DDSCAPSEX ddsCapsExAlt;
+#ifndef IS_16
+    LARGE_INTEGER liPhysAGPBase;
+#endif
+    HANDLE hdevAGP;
+    LPVOID pvPhysRsrv;
+    BYTE* pAgpCommitMask;
+    DWORD dwAgpCommitMaskSize;
+} VMEMHEAP, *LPVMEMHEAP;
+
+typedef struct _DD_GETHEAPALIGNMENTDATA
+{
+    ULONG_PTR dwInstance;
+    DWORD dwHeap;
+    HRESULT ddRVal;
+    VOID* GetHeapAlignment;
+    HEAPALIGNMENT Alignment;
+} DD_GETHEAPALIGNMENTDATA;
+
+#ifndef DD_GETHEAPALIGNMENTDATA_DECLARED
+typedef DD_GETHEAPALIGNMENTDATA *PDD_GETHEAPALIGNMENTDATA;
+#define DD_GETHEAPALIGNMENTDATA_DECLARED
+#endif
+
+extern void WINAPI VidMemFree( LPVMEMHEAP pvmh, FLATPTR ptr);
+extern FLATPTR WINAPI VidMemAlloc( LPVMEMHEAP pvmh, DWORD width, DWORD height);
+
+extern FLATPTR WINAPI
+       HeapVidMemAllocAligned(
+                               LPVIDMEM lpVidMem,
+                               DWORD dwWidth,
+                               DWORD dwHeight,
+                               LPSURFACEALIGNMENT lpAlignment ,
+                               LPLONG lpNewPitch );
+
+
+
+
+
+
+#ifdef __cplusplus
+};
+#endif
+
+#endif