]> gitweb.factorcode.org Git - factor.git/blob - basis/windows/directx/dxgi/dxgi.factor
use radix literals
[factor.git] / basis / windows / directx / dxgi / dxgi.factor
1 USING: alien.c-types alien.syntax classes.struct windows.com windows.com.syntax
2 windows.directx.dxgiformat windows.directx.dxgitype windows.kernel32
3 windows.ole32 windows.types windows.directx ;
4 IN: windows.directx.dxgi
5
6 LIBRARY: dxgi
7
8 CONSTANT: DXGI_CPU_ACCESS_NONE 0
9 CONSTANT: DXGI_CPU_ACCESS_DYNAMIC 1
10 CONSTANT: DXGI_CPU_ACCESS_READ_WRITE 2
11 CONSTANT: DXGI_CPU_ACCESS_SCRATCH 3
12 CONSTANT: DXGI_CPU_ACCESS_FIELD 15
13 CONSTANT: DXGI_USAGE_SHADER_INPUT 16
14 CONSTANT: DXGI_USAGE_RENDER_TARGET_OUTPUT 32
15 CONSTANT: DXGI_USAGE_BACK_BUFFER 64
16 CONSTANT: DXGI_USAGE_SHARED 128
17 CONSTANT: DXGI_USAGE_READ_ONLY 256
18 CONSTANT: DXGI_USAGE_DISCARD_ON_PRESENT 512
19 CONSTANT: DXGI_USAGE_UNORDERED_ACCESS 1024
20 TYPEDEF: UINT DXGI_USAGE
21
22 STRUCT: DXGI_FRAME_STATISTICS
23 { PresentCount UINT }
24 { PresentRefreshCount UINT }
25 { SyncRefreshCount UINT }
26 { SyncQPCTime LARGE_INTEGER }
27 { SyncGPUTime LARGE_INTEGER } ;
28
29 STRUCT: DXGI_MAPPED_RECT
30 { Pitch INT }
31 { pBits BYTE* } ;
32
33 STRUCT: DXGI_ADAPTER_DESC
34 { Description WCHAR[128] }
35 { VendorId UINT }
36 { DeviceId UINT }
37 { SubSysId UINT }
38 { Revision UINT }
39 { DedicatedVideoMemory SIZE_T }
40 { DedicatedSystemMemory SIZE_T }
41 { SharedSystemMemory SIZE_T }
42 { AdapterLuid LUID } ;
43
44 STRUCT: DXGI_OUTPUT_DESC
45 { DeviceName WCHAR[32] }
46 { DesktopCoordinates RECT }
47 { AttachedToDesktop BOOL }
48 { Rotation DXGI_MODE_ROTATION }
49 { Monitor HMONITOR } ;
50
51 STRUCT: DXGI_SHARED_RESOURCE
52 { Handle HANDLE } ;
53
54 CONSTANT: DXGI_RESOURCE_PRIORITY_MINIMUM 0x28000000
55 CONSTANT: DXGI_RESOURCE_PRIORITY_LOW 0x50000000
56 CONSTANT: DXGI_RESOURCE_PRIORITY_NORMAL 0x78000000
57 CONSTANT: DXGI_RESOURCE_PRIORITY_HIGH 0xa0000000
58 CONSTANT: DXGI_RESOURCE_PRIORITY_MAXIMUM 0xc8000000
59
60 CONSTANT: DXGI_RESIDENCY_FULLY_RESIDENT 1
61 CONSTANT: DXGI_RESIDENCY_RESIDENT_IN_SHARED_MEMORY 2
62 CONSTANT: DXGI_RESIDENCY_EVICTED_TO_DISK 3
63 TYPEDEF: int DXGI_RESIDENCY
64
65 STRUCT: DXGI_SURFACE_DESC
66 { Width UINT }
67 { Height UINT }
68 { Format DXGI_FORMAT }
69 { SampleDesc DXGI_SAMPLE_DESC } ;
70
71 CONSTANT: DXGI_SWAP_EFFECT_DISCARD 0
72 CONSTANT: DXGI_SWAP_EFFECT_SEQUENTIAL 1
73 TYPEDEF: int DXGI_SWAP_EFFECT
74
75 CONSTANT: DXGI_SWAP_CHAIN_FLAG_NONPREROTATED 1
76 CONSTANT: DXGI_SWAP_CHAIN_FLAG_ALLOW_MODE_SWITCH 2
77 CONSTANT: DXGI_SWAP_CHAIN_FLAG_GDI_COMPATIBLE 4
78 TYPEDEF: int DXGI_SWAP_CHAIN_FLAG
79
80 STRUCT: DXGI_SWAP_CHAIN_DESC
81 { BufferDesc DXGI_MODE_DESC }
82 { SampleDesc DXGI_SAMPLE_DESC }
83 { BufferUsage DXGI_USAGE }
84 { BufferCount UINT }
85 { OutputWindow HWND }
86 { Windowed BOOL }
87 { SwapEffect DXGI_SWAP_EFFECT }
88 { Flags UINT } ;
89
90 COM-INTERFACE: IDXGIObject IUnknown {aec22fb8-76f3-4639-9be0-28eb43a67a2e}
91 HRESULT SetPrivateData ( REFGUID Name, UINT DataSize, void* pData )
92 HRESULT SetPrivateDataInterface ( REFGUID Name, IUnknown* pUnknown )
93 HRESULT GetPrivateData ( REFGUID Name, UINT* pDataSize, void* pData )
94 HRESULT GetParent ( REFIID riid, void** ppParent ) ;
95
96 COM-INTERFACE: IDXGIDeviceSubObject IDXGIObject {3d3e0379-f9de-4d58-bb6c-18d62992f1a6}
97 HRESULT GetDevice ( REFIID riid, void** ppDevice ) ;
98
99 COM-INTERFACE: IDXGIResource IDXGIDeviceSubObject {035f3ab4-482e-4e50-b41f-8a7f8bd8960b}
100 HRESULT GetSharedHandle ( HANDLE* pSharedHandle )
101 HRESULT GetUsage ( DXGI_USAGE* pUsage )
102 HRESULT SetEvictionPriority ( UINT EvictionPriority )
103 HRESULT GetEvictionPriority ( UINT* pEvictionPriority ) ;
104
105 COM-INTERFACE: IDXGIKeyedMutex IDXGIDeviceSubObject {9d8e1289-d7b3-465f-8126-250e349af85d}
106 HRESULT AcquireSync ( UINT64 Key, DWORD dwMilliseconds )
107 HRESULT ReleaseSync ( UINT64 Key ) ;
108
109 CONSTANT: DXGI_MAP_READ 1
110 CONSTANT: DXGI_MAP_WRITE 2
111 CONSTANT: DXGI_MAP_DISCARD 4
112
113 COM-INTERFACE: IDXGISurface IDXGIDeviceSubObject {cafcb56c-6ac3-4889-bf47-9e23bbd260ec}
114 HRESULT GetDesc ( DXGI_SURFACE_DESC* pDesc )
115 HRESULT Map ( DXGI_MAPPED_RECT* pLockedRect, UINT MapFlags )
116 HRESULT Unmap ( ) ;
117
118 COM-INTERFACE: IDXGISurface1 IDXGISurface {4AE63092-6327-4c1b-80AE-BFE12EA32B86}
119 HRESULT GetDC ( BOOL Discard, HDC* phdc )
120 HRESULT ReleaseDC ( RECT* pDirtyRect ) ;
121
122 C-TYPE: IDXGIOutput 
123 COM-INTERFACE: IDXGIAdapter IDXGIObject {2411e7e1-12ac-4ccf-bd14-9798e8534dc0}
124 HRESULT EnumOutputs ( UINT Output, IDXGIOutput** ppOutput )
125 HRESULT GetDesc ( DXGI_ADAPTER_DESC* pDesc )
126 HRESULT CheckInterfaceSupport ( REFGUID InterfaceName, LARGE_INTEGER* pUMDVersion ) ;
127
128 CONSTANT: DXGI_ENUM_MODES_INTERLACED 1
129 CONSTANT: DXGI_ENUM_MODES_SCALING 2
130
131 COM-INTERFACE: IDXGIOutput IDXGIObject {ae02eedb-c735-4690-8d52-5a8dc20213aa}
132 HRESULT GetDesc ( DXGI_OUTPUT_DESC* pDesc )
133 HRESULT GetDisplayModeList ( DXGI_FORMAT EnumFormat, UINT Flags, UINT* pNumModes, DXGI_MODE_DESC* pDesc )
134 HRESULT FindClosestMatchingMode ( DXGI_MODE_DESC* pModeToMatch, DXGI_MODE_DESC* pClosestMatch, IUnknown* pConcernedDevice )
135 HRESULT WaitForVBlank ( )
136 HRESULT TakeOwnership ( IUnknown* pDevice, BOOL Exclusive )
137 void ReleaseOwnership ( )
138 HRESULT GetGammaControlCapabilities ( DXGI_GAMMA_CONTROL_CAPABILITIES* pGammaCaps )
139 HRESULT SetGammaControl ( DXGI_GAMMA_CONTROL* pArray )
140 HRESULT GetGammaControl ( DXGI_GAMMA_CONTROL* pArray )
141 HRESULT SetDisplaySurface ( IDXGISurface* pScanoutSurface )
142 HRESULT GetDisplaySurfaceData ( IDXGISurface* pDestination )
143 HRESULT GetFrameStatistics ( DXGI_FRAME_STATISTICS* pStats ) ;
144
145 CONSTANT: DXGI_MAX_SWAP_CHAIN_BUFFERS 16
146 CONSTANT: DXGI_PRESENT_TEST 1
147 CONSTANT: DXGI_PRESENT_DO_NOT_SEQUENCE 2
148 CONSTANT: DXGI_PRESENT_RESTART 4
149
150 COM-INTERFACE: IDXGISwapChain IDXGIDeviceSubObject {310d36a0-d2e7-4c0a-aa04-6a9d23b8886a}
151 HRESULT Present ( UINT SyncInterval, UINT Flags )
152 HRESULT GetBuffer ( UINT Buffer, REFIID riid, void** ppSurface )
153 HRESULT SetFullscreenState ( BOOL Fullscreen, IDXGIOutput* pTarget )
154 HRESULT GetFullscreenState ( BOOL* pFullscreen, IDXGIOutput** ppTarget )
155 HRESULT GetDesc ( DXGI_SWAP_CHAIN_DESC* pDesc )
156 HRESULT ResizeBuffers ( UINT BufferCount, UINT Width, UINT Height, DXGI_FORMAT NewFormat, UINT SwapChainFlags )
157 HRESULT ResizeTarget ( DXGI_MODE_DESC* pNewTargetParameters )
158 HRESULT GetContainingOutput ( IDXGIOutput** ppOutput )
159 HRESULT GetFrameStatistics ( DXGI_FRAME_STATISTICS* pStats )
160 HRESULT GetLastPresentCount ( UINT* pLastPresentCount ) ;
161
162 CONSTANT: DXGI_MWA_NO_WINDOW_CHANGES 1
163 CONSTANT: DXGI_MWA_NO_ALT_ENTER 2
164 CONSTANT: DXGI_MWA_NO_PRINT_SCREEN 4
165 CONSTANT: DXGI_MWA_VALID 7
166
167 COM-INTERFACE: IDXGIFactory IDXGIObject {7b7166ec-21c7-44ae-b21a-c9ae321ae369}
168 HRESULT EnumAdapters ( UINT Adapter, IDXGIAdapter** ppAdapter )
169 HRESULT MakeWindowAssociation ( HWND WindowHandle, UINT Flags )
170 HRESULT GetWindowAssociation ( HWND* pWindowHandle )
171 HRESULT CreateSwapChain ( IUnknown* pDevice, DXGI_SWAP_CHAIN_DESC* pDesc, IDXGISwapChain** ppSwapChain )
172 HRESULT CreateSoftwareAdapter ( HMODULE Module, IDXGIAdapter** ppAdapter ) ;
173
174 FUNCTION: HRESULT CreateDXGIFactory ( REFIID riid, void** ppFactory ) ;
175 FUNCTION: HRESULT CreateDXGIFactory1 ( REFIID riid, void** ppFactory ) ;
176
177 COM-INTERFACE: IDXGIDevice IDXGIObject {54ec77fa-1377-44e6-8c32-88fd5f44c84c}
178 HRESULT GetAdapter ( IDXGIAdapter** pAdapter )
179 HRESULT CreateSurface ( DXGI_SURFACE_DESC* pDesc, UINT NumSurfaces, DXGI_USAGE Usage, DXGI_SHARED_RESOURCE* pSharedResource, IDXGISurface** ppSurface )
180 HRESULT QueryResourceResidency ( IUnknown** ppResources, DXGI_RESIDENCY* pResidencyStatus, UINT NumResources )
181 HRESULT SetGPUThreadPriority ( INT Priority )
182 HRESULT GetGPUThreadPriority ( INT* pPriority ) ;
183
184 CONSTANT: DXGI_ADAPTER_FLAG_NONE 0
185 CONSTANT: DXGI_ADAPTER_FLAG_REMOTE 1
186 CONSTANT: DXGI_ADAPTER_FLAG_FORCE_DWORD 0xffffffff
187 TYPEDEF: int DXGI_ADAPTER_FLAG
188
189 STRUCT: DXGI_ADAPTER_DESC1
190 { Description WCHAR[128] }
191 { VendorId UINT }
192 { DeviceId UINT }
193 { SubSysId UINT }
194 { Revision UINT }
195 { DedicatedVideoMemory SIZE_T }
196 { DedicatedSystemMemory SIZE_T }
197 { SharedSystemMemory SIZE_T }
198 { AdapterLuid LUID }
199 { Flags UINT } ;
200
201 STRUCT: DXGI_DISPLAY_COLOR_SPACE
202 { PrimaryCoordinates FLOAT[8][2] }
203 { WhitePoints FLOAT[16][2] } ;
204
205 COM-INTERFACE: IDXGIAdapter1 IDXGIAdapter {29038f61-3839-4626-91fd-086879011a05}
206 HRESULT GetDesc1 ( DXGI_ADAPTER_DESC1* pDesc ) ;
207
208 COM-INTERFACE: IDXGIFactory1 IDXGIFactory {770aae78-f26f-4dba-a829-253c83d1b387}
209 HRESULT EnumAdapters1 ( UINT Adapter, IDXGIAdapter1** ppAdapter )
210 BOOL IsCurrent ( ) ;
211
212 COM-INTERFACE: IDXGIDevice1 IDXGIDevice {77db970f-6276-48ba-ba28-070143b4392c}
213 HRESULT SetMaximumFrameLatency ( UINT MaxLatency )
214 HRESULT GetMaximumFrameLatency ( UINT* pMaxLatency ) ;