// Licensed under the Apache License, Version 2.0
// <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0 > or the MIT license
// <LICENSE-MIT or http://opensource.org/licenses/MIT >, at your option.
// All files in the project carrying such notice may not be copied, modified, or distributed
// except according to those terms.
//! Mappings for the contents of dxgi1_5.h
use ctypes::c_void;
use shared::basetsd::UINT16;
use shared::dxgi::IDXGIResource;
use shared::dxgi1_2::{DXGI_OFFER_RESOURCE_PRIORITY, IDXGIOutputDuplication};
use shared::dxgi1_3::{IDXGIDevice3, IDXGIDevice3Vtbl};
use shared::dxgi1_4::{
IDXGIFactory4, IDXGIFactory4Vtbl, IDXGIOutput4, IDXGIOutput4Vtbl, IDXGISwapChain3,
IDXGISwapChain3Vtbl,
};
use shared::dxgiformat::DXGI_FORMAT;
use shared::minwindef::UINT;
use um::unknwnbase::IUnknown;
use um::winnt::HRESULT;
RIDL!{
#[ uuid(
0 x80a07424,
0 xab52,
0 x42eb,
0 x83,
0 x3c,
0 x0c,
0 x42,
0 xfd,
0 x28,
0 x2d,
0 x98)]
interface IDXGIOutput5(IDXGIOutput5Vtbl): IDXGIOutput4(IDXGIOutput4Vtbl) {
fn DuplicateOutput1(
pDevice: *
mut IUnknown,
Flags: UINT,
SupportedFormatsCount: UINT,
pSupportedFormats: *
const DXGI_FORMAT,
ppOutputDuplication: *
mut *
mut IDXGIOutputDuplication,
)-> HRESULT,
}}
ENUM !{
enum DXGI_HDR_METADATA_TYPE {
DXGI_HDR_METADATA_TYPE_NONE =
0 ,
DXGI_HDR_METADATA_TYPE_HDR10 =
1 ,
}}
STRUCT !{
struct DXGI_HDR_METADATA_HDR10 {
RedPrimary: [UINT16;
2 ],
GreenPrimary: [UINT16;
2 ],
BluePrimary: [UINT16;
2 ],
WhitePoint: [UINT16;
2 ],
MaxMasteringLuminance: UINT,
MinMasteringLuminance: UINT,
MaxContentLightLevel: UINT16,
MaxFrameAverageLightLevel: UINT16,
}}
RIDL!{
#[ uuid(
0 x3d585d5a,
0 xbd4a,
0 x489e,
0 xb1,
0 xf4,
0 x3d,
0 xbc,
0 xb6,
0 x45,
0 x2f,
0 xfb)]
interface IDXGISwapChain4(IDXGISwapChain4Vtbl): IDXGISwapChain3(IDXGISwapChain3Vtb
l) {
fn SetHDRMetaData(
Type : DXGI_HDR_METADATA_TYPE,
Size: UINT,
pMetaData: *mut c_void,
)-> HRESULT,
}}
ENUM !{enum DXGI_OFFER_RESOURCE_FLAGS {
DXGI_OFFER_RESOURCE_FLAG_ALLOW_DECOMMIT = 0 x1,
}}
ENUM !{enum DXGI_RECLAIM_RESOURCE_RESULTS {
DXGI_RECLAIM_RESOURCE_RESULT_OK = 0 ,
DXGI_RECLAIM_RESOURCE_RESULT_DISCARDED = 1 ,
DXGI_RECLAIM_RESOURCE_RESULT_NOT_COMMITTED = 2 ,
}}
RIDL!{#[ uuid(0 x95b4f95f, 0 xd8da, 0 x4ca4, 0 x9e, 0 xe6, 0 x3b, 0 x76, 0 xd5, 0 x96, 0 x8a, 0 x10)]
interface IDXGIDevice4(IDXGIDevice4Vtbl): IDXGIDevice3(IDXGIDevice3Vtbl) {
fn OfferResources1(
NumResources: UINT,
ppResources: *mut *mut IDXGIResource,
Priority: DXGI_OFFER_RESOURCE_PRIORITY,
Flags: UINT,
) -> HRESULT,
fn ReclaimResources1(
NumResources: UINT,
ppResources: *mut *mut IDXGIResource,
pResults: *mut DXGI_RECLAIM_RESOURCE_RESULTS,
) -> HRESULT,
}}
ENUM !{enum DXGI_FEATURE {
DXGI_FEATURE_PRESENT_ALLOW_TEARING = 0 ,
}}
RIDL!{#[ uuid(0 x7632e1f5, 0 xee65, 0 x4dca, 0 x87, 0 xfd, 0 x84, 0 xcd, 0 x75, 0 xf8, 0 x83, 0 x8d)]
interface IDXGIFactory5(IDXGIFactory5Vtbl): IDXGIFactory4(IDXGIFactory4Vtbl) {
fn CheckFeatureSupport(
Feature: DXGI_FEATURE,
pFeatureSupportData: *mut c_void,
FeatureSupportDataSize: UINT,
) -> HRESULT,
}}
DEFINE_GUID!{IID_IDXGIOutput5,
0 x80A07424, 0 xAB52, 0 x42EB, 0 x83, 0 x3C, 0 x0C, 0 x42, 0 xFD, 0 x28, 0 x2D, 0 x98}
DEFINE_GUID!{IID_IDXGISwapChain4,
0 x3D585D5A, 0 xBD4A, 0 x489E, 0 xB1, 0 xF4, 0 x3D, 0 xBC, 0 xB6, 0 x45, 0 x2F, 0 xFB}
DEFINE_GUID!{IID_IDXGIDevice4,
0 x95B4F95F, 0 xD8DA, 0 x4CA4, 0 x9E, 0 xE6, 0 x3B, 0 x76, 0 xD5, 0 x96, 0 x8A, 0 x10}
DEFINE_GUID!{IID_IDXGIFactory5,
0 x7632e1f5, 0 xee65, 0 x4dca, 0 x87, 0 xfd, 0 x84, 0 xcd, 0 x75, 0 xf8, 0 x83, 0 x8d}
Messung V0.5 in Prozent C=94 H=100 G=96
¤ Dauer der Verarbeitung: 0.12 Sekunden
(vorverarbeitet am 2026-06-21)
¤
*© Formatika GbR, Deutschland