123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133 |
- /*
- * 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_4.idl";
- typedef enum DXGI_OUTDUPL_FLAG
- {
- DXGI_OUTDUPL_COMPOSITED_UI_CAPTURE_ONLY = 0x1,
- } DXGI_OUTDUPL_FLAG;
- typedef enum DXGI_HDR_METADATA_TYPE
- {
- DXGI_HDR_METADATA_TYPE_NONE = 0x0,
- DXGI_HDR_METADATA_TYPE_HDR10 = 0x1,
- DXGI_HDR_METADATA_TYPE_HDR10PLUS = 0x2,
- } DXGI_HDR_METADATA_TYPE;
- typedef enum _DXGI_OFFER_RESOURCE_FLAGS
- {
- DXGI_OFFER_RESOURCE_FLAG_ALLOW_DECOMMIT = 0x1,
- } DXGI_OFFER_RESOURCE_FLAGS;
- typedef enum _DXGI_RECLAIM_RESOURCE_RESULTS
- {
- DXGI_RECLAIM_RESOURCE_RESULT_OK = 0x0,
- DXGI_RECLAIM_RESOURCE_RESULT_DISCARDED = 0x1,
- DXGI_RECLAIM_RESOURCE_RESULT_NOT_COMMITTED = 0x2,
- } DXGI_RECLAIM_RESOURCE_RESULTS;
- typedef enum DXGI_FEATURE
- {
- DXGI_FEATURE_PRESENT_ALLOW_TEARING = 0x0,
- } DXGI_FEATURE;
- typedef struct DXGI_HDR_METADATA_HDR10
- {
- UINT16 RedPrimary[2];
- UINT16 GreenPrimary[2];
- UINT16 BluePrimary[2];
- UINT16 WhitePoint[2];
- UINT MaxMasteringLuminance;
- UINT MinMasteringLuminance;
- UINT16 MaxContentLightLevel;
- UINT16 MaxFrameAverageLightLevel;
- } DXGI_HDR_METADATA_HDR10;
- typedef struct DXGI_HDR_METADATA_HDR10PLUS
- {
- BYTE Data[72];
- } DXGI_HDR_METADATA_HDR10PLUS;
- [
- object,
- uuid(80a07424-ab52-42eb-833c-0c42fd282d98),
- local,
- pointer_default(unique)
- ]
- interface IDXGIOutput5 : IDXGIOutput4
- {
- HRESULT DuplicateOutput1(
- [in] IUnknown *device,
- [in] UINT flags,
- [in] UINT format_count,
- [in] const DXGI_FORMAT *formats,
- [out] IDXGIOutputDuplication **duplication
- );
- }
- [
- object,
- uuid(3d585d5a-bd4a-489e-b1f4-3dbcb6452ffb),
- local,
- pointer_default(unique)
- ]
- interface IDXGISwapChain4 : IDXGISwapChain3
- {
- HRESULT SetHDRMetaData(
- [in] DXGI_HDR_METADATA_TYPE type,
- [in] UINT size,
- [in] void *metadata
- );
- }
- [
- object,
- uuid(95b4f95f-d8da-4ca4-9ee6-3b76d5968a10),
- local,
- pointer_default(unique)
- ]
- interface IDXGIDevice4 : IDXGIDevice3
- {
- HRESULT OfferResources1(
- [in] UINT resource_count,
- [in] IDXGIResource *const *resources,
- [in] DXGI_OFFER_RESOURCE_PRIORITY priority,
- [in] UINT flags
- );
- HRESULT ReclaimResources1(
- [in] UINT resource_count,
- [in] IDXGIResource *const *resources,
- [out] DXGI_RECLAIM_RESOURCE_RESULTS *results
- );
- }
- [
- object,
- uuid(7632e1f5-ee65-4dca-87fd-84cd75f8838d),
- local,
- pointer_default(unique)
- ]
- interface IDXGIFactory5 : IDXGIFactory4
- {
- HRESULT CheckFeatureSupport(
- DXGI_FEATURE feature,
- [in, out] void *support_data,
- UINT support_data_size
- );
- }
|