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), 17 }} 18 STRUCT!{struct DXGI_RGB { 19 Red: f32, 20 Green: f32, 21 Blue: f32, 22 }} 23 pub type DXGI_RGBA = ::D3DCOLORVALUE; 24 STRUCT!{nodebug struct DXGI_GAMMA_CONTROL { 25 Scale: DXGI_RGB, 26 Offset: DXGI_RGB, 27 GammaCurve: [DXGI_RGB; 1025], 28 }} 29 STRUCT!{nodebug struct DXGI_GAMMA_CONTROL_CAPABILITIES { 30 ScaleAndOffsetSupported: ::BOOL, 31 MaxConvertedValue: f32, 32 MinConvertedValue: f32, 33 NumGammaControlPoints: ::UINT, 34 ControlPointPositions: [f32; 1025], 35 }} 36 STRUCT!{struct DXGI_RATIONAL { 37 Numerator: ::UINT, 38 Denominator: ::UINT, 39 }} 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, 45 }} 46 ENUM!{enum DXGI_MODE_SCALING { 47 DXGI_MODE_SCALING_UNSPECIFIED, 48 DXGI_MODE_SCALING_CENTERED, 49 DXGI_MODE_SCALING_STRETCHED, 50 }} 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, 57 }} 58 STRUCT!{struct DXGI_MODE_DESC { 59 Width: ::UINT, 60 Height: ::UINT, 61 RefreshRate: DXGI_RATIONAL, 62 Format: ::DXGI_FORMAT, 63 ScanlineOrdering: DXGI_MODE_SCANLINE_ORDER, 64 Scaling: DXGI_MODE_SCALING, 65 }} 66 STRUCT!{struct DXGI_SAMPLE_DESC { 67 Count: ::UINT, 68 Quality: ::UINT, 69 }} 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, 84 }} 85 pub const DXGI_CENTER_MULTISAMPLE_QUALITY_PATTERN: ::UINT = 0xfffffffe; 86 pub const DXGI_STANDARD_MULTISAMPLE_QUALITY_PATTERN: ::UINT = 0xffffffff; 87