xref: /aosp_15_r20/external/mesa3d/src/gallium/frontends/nine/swapchain9ex.h (revision 6104692788411f58d303aa86923a9ff6ecaded22)
1 /*
2  * Copyright 2011 Joakim Sindholt <[email protected]>
3  * SPDX-License-Identifier: MIT
4  */
5 
6 #ifndef _NINE_SWAPCHAIN9EX_H_
7 #define _NINE_SWAPCHAIN9EX_H_
8 
9 #include "swapchain9.h"
10 
11 struct NineSwapChain9Ex
12 {
13     struct NineSwapChain9 base;
14 };
15 static inline struct NineSwapChain9Ex *
NineSwapChain9Ex(void * data)16 NineSwapChain9Ex( void *data )
17 {
18     return (struct NineSwapChain9Ex *)data;
19 }
20 
21 HRESULT
22 NineSwapChain9Ex_new( struct NineDevice9 *pDevice,
23                       BOOL implicit,
24                       ID3DPresent *pPresent,
25                       D3DPRESENT_PARAMETERS *pPresentationParameters,
26                       struct d3dadapter9_context *pCTX,
27                       HWND hFocusWindow,
28                       D3DDISPLAYMODEEX *mode,
29                       struct NineSwapChain9Ex **ppOut );
30 
31 HRESULT NINE_WINAPI
32 NineSwapChain9Ex_GetLastPresentCount( struct NineSwapChain9Ex *This,
33                                       UINT *pLastPresentCount );
34 
35 HRESULT NINE_WINAPI
36 NineSwapChain9Ex_GetPresentStats( struct NineSwapChain9Ex *This,
37                                   D3DPRESENTSTATS *pPresentationStatistics );
38 
39 HRESULT NINE_WINAPI
40 NineSwapChain9Ex_GetDisplayModeEx( struct NineSwapChain9Ex *This,
41                                    D3DDISPLAYMODEEX *pMode,
42                                    D3DDISPLAYROTATION *pRotation );
43 
44 #endif /* _NINE_SWAPCHAIN9EX_H_ */
45