123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140 |
- /*
- * Copyright 2017 Ihsan Akmal
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
- */
- import "dxgi1_3.idl";
- typedef enum DXGI_SWAP_CHAIN_COLOR_SPACE_SUPPORT_FLAG
- {
- DXGI_SWAP_CHAIN_COLOR_SPACE_SUPPORT_FLAG_PRESENT = 0x1,
- DXGI_SWAP_CHAIN_COLOR_SPACE_SUPPORT_FLAG_OVERLAY_PRESENT = 0x2,
- } DXGI_SWAP_CHAIN_COLOR_SPACE_SUPPORT_FLAG;
- typedef enum DXGI_OVERLAY_COLOR_SPACE_SUPPORT_FLAG
- {
- DXGI_OVERLAY_COLOR_SPACE_SUPPORT_FLAG_PRESENT = 0x1,
- } DXGI_OVERLAY_COLOR_SPACE_SUPPORT_FLAG;
- typedef enum DXGI_MEMORY_SEGMENT_GROUP
- {
- DXGI_MEMORY_SEGMENT_GROUP_LOCAL = 0x0,
- DXGI_MEMORY_SEGMENT_GROUP_NON_LOCAL = 0x1,
- } DXGI_MEMORY_SEGMENT_GROUP;
- typedef struct DXGI_QUERY_VIDEO_MEMORY_INFO
- {
- UINT64 Budget;
- UINT64 CurrentUsage;
- UINT64 AvailableForReservation;
- UINT64 CurrentReservation;
- } DXGI_QUERY_VIDEO_MEMORY_INFO;
- [
- object,
- uuid(94d99bdb-f1f8-4ab0-b236-7da0170edab1),
- local,
- pointer_default(unique)
- ]
- interface IDXGISwapChain3 : IDXGISwapChain2
- {
- UINT GetCurrentBackBufferIndex();
- HRESULT CheckColorSpaceSupport(
- [in] DXGI_COLOR_SPACE_TYPE colour_space,
- [out] UINT *colour_space_support
- );
- HRESULT SetColorSpace1(
- [in] DXGI_COLOR_SPACE_TYPE colour_space
- );
- HRESULT ResizeBuffers1(
- [in] UINT buffer_count,
- [in] UINT width,
- [in] UINT height,
- [in] DXGI_FORMAT format,
- [in] UINT flags,
- [in] const UINT *node_mask,
- [in] IUnknown *const *present_queue
- );
- }
- [
- object,
- uuid(dc7dca35-2196-414d-9F53-617884032a60),
- local,
- pointer_default(unique)
- ]
- interface IDXGIOutput4 : IDXGIOutput3
- {
- HRESULT CheckOverlayColorSpaceSupport(
- [in] DXGI_FORMAT format,
- [in] DXGI_COLOR_SPACE_TYPE colour_space,
- [in] IUnknown *device,
- [out] UINT *flags
- );
- }
- [
- object,
- uuid(1bc6ea02-ef36-464f-bf0c-21ca39e5168a),
- local,
- pointer_default(unique)
- ]
- interface IDXGIFactory4 : IDXGIFactory3
- {
- HRESULT EnumAdapterByLuid(
- [in] LUID luid,
- [in] REFIID iid,
- [out] void **adapter
- );
- HRESULT EnumWarpAdapter(
- [in] REFIID iid,
- [out] void **adapter
- );
- }
- [
- object,
- uuid(645967a4-1392-4310-a798-8053ce3e93fd),
- local,
- pointer_default(unique)
- ]
- interface IDXGIAdapter3 : IDXGIAdapter2
- {
- HRESULT RegisterHardwareContentProtectionTeardownStatusEvent(
- [in] HANDLE event,
- [out] DWORD *cookie
- );
- void UnregisterHardwareContentProtectionTeardownStatus(
- [in] DWORD cookie
- );
- HRESULT QueryVideoMemoryInfo(
- [in] UINT node_index,
- [in] DXGI_MEMORY_SEGMENT_GROUP segment_group,
- [out] DXGI_QUERY_VIDEO_MEMORY_INFO *memory_info
- );
- HRESULT SetVideoMemoryReservation(
- [in] UINT node_index,
- [in] DXGI_MEMORY_SEGMENT_GROUP segment_group,
- [in] UINT64 reservation
- );
- HRESULT RegisterVideoMemoryBudgetChangeNotificationEvent(
- [in] HANDLE event,
- [out] DWORD *cookie
- );
- void UnregisterVideoMemoryBudgetChangeNotification(
- [in] DWORD cookie
- );
- }
|