1 // Copyright © 2015; Connor Hilarides
2 // Licensed under the MIT License <LICENSE.md>
3 //! Mappings for the contents of dxgitype.h
4 pub const DXGI_CPU_ACCESS_NONE
: ::DWORD
= 0;
5 pub const DXGI_CPU_ACCESS_DYNAMIC
: ::DWORD
= 1;
6 pub const DXGI_CPU_ACCESS_READ_WRITE
: ::DWORD
= 2;
7 pub const DXGI_CPU_ACCESS_SCRATCH
: ::DWORD
= 3;
8 pub const DXGI_CPU_ACCESS_FIELD
: ::DWORD
= 15;
9 FLAGS
!{enum DXGI_USAGE
{
10 DXGI_USAGE_SHADER_INPUT
= 1 << (0 + 4),
11 DXGI_USAGE_RENDER_TARGET_OUTPUT
= 1 << (1 + 4),
12 DXGI_USAGE_BACK_BUFFER
= 1 << (2 + 4),
13 DXGI_USAGE_SHARED
= 1 << (3 + 4),
14 DXGI_USAGE_READ_ONLY
= 1 << (4 + 4),
15 DXGI_USAGE_DISCARD_ON_PRESENT
= 1 << (5 + 4),
16 DXGI_USAGE_UNORDERED_ACCESS
= 1 << (6 + 4),
18 STRUCT
!{struct DXGI_RGB
{
23 pub type DXGI_RGBA
= ::D3DCOLORVALUE
;
24 STRUCT
!{nodebug
struct DXGI_GAMMA_CONTROL
{
27 GammaCurve
: [DXGI_RGB
; 1025],
29 STRUCT
!{nodebug
struct DXGI_GAMMA_CONTROL_CAPABILITIES
{
30 ScaleAndOffsetSupported
: ::BOOL
,
31 MaxConvertedValue
: f32,
32 MinConvertedValue
: f32,
33 NumGammaControlPoints
: ::UINT
,
34 ControlPointPositions
: [f32; 1025],
36 STRUCT
!{struct DXGI_RATIONAL
{
40 ENUM
!{enum DXGI_MODE_SCANLINE_ORDER
{
41 DXGI_MODE_SCANLINE_ORDER_UNSPECIFIED
,
42 DXGI_MODE_SCANLINE_ORDER_PROGRESSIVE
,
43 DXGI_MODE_SCANLINE_ORDER_UPPER_FIELD_FIRST
,
44 DXGI_MODE_SCANLINE_ORDER_LOWER_FIELD_FIRST
,
46 ENUM
!{enum DXGI_MODE_SCALING
{
47 DXGI_MODE_SCALING_UNSPECIFIED
,
48 DXGI_MODE_SCALING_CENTERED
,
49 DXGI_MODE_SCALING_STRETCHED
,
51 ENUM
!{enum DXGI_MODE_ROTATION
{
52 DXGI_MODE_ROTATION_UNSPECIFIED
,
53 DXGI_MODE_ROTATION_IDENTITY
,
54 DXGI_MODE_ROTATION_ROTATE90
,
55 DXGI_MODE_ROTATION_ROTATE180
,
56 DXGI_MODE_ROTATION_ROTATE270
,
58 STRUCT
!{struct DXGI_MODE_DESC
{
61 RefreshRate
: DXGI_RATIONAL
,
62 Format
: ::DXGI_FORMAT
,
63 ScanlineOrdering
: DXGI_MODE_SCANLINE_ORDER
,
64 Scaling
: DXGI_MODE_SCALING
,
66 STRUCT
!{struct DXGI_SAMPLE_DESC
{
70 ENUM
!{enum DXGI_COLOR_SPACE_TYPE
{
71 DXGI_COLOR_SPACE_RGB_FULL_G22_NONE_P709
= 0x0,
72 DXGI_COLOR_SPACE_RGB_FULL_G10_NONE_P709
= 0x1,
73 DXGI_COLOR_SPACE_RGB_STUDIO_G22_NONE_P709
= 0x2,
74 DXGI_COLOR_SPACE_RGB_STUDIO_G22_NONE_P2020
= 0x3,
75 DXGI_COLOR_SPACE_RESERVED
= 0x4,
76 DXGI_COLOR_SPACE_YCBCR_FULL_G22_NONE_P709_X601
= 0x5,
77 DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_LEFT_P601
= 0x6,
78 DXGI_COLOR_SPACE_YCBCR_FULL_G22_LEFT_P601
= 0x7,
79 DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_LEFT_P709
= 0x8,
80 DXGI_COLOR_SPACE_YCBCR_FULL_G22_LEFT_P709
= 0x9,
81 DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_LEFT_P2020
= 0xA,
82 DXGI_COLOR_SPACE_YCBCR_FULL_G22_LEFT_P2020
= 0xB,
83 DXGI_COLOR_SPACE_CUSTOM
= 0xFFFFFFFF,
85 pub const DXGI_CENTER_MULTISAMPLE_QUALITY_PATTERN
: ::UINT
= 0xfffffffe;
86 pub const DXGI_STANDARD_MULTISAMPLE_QUALITY_PATTERN
: ::UINT
= 0xffffffff;