This sandbox is dedicated for my personal study about how the Microsoft DirectX Graphics Infrastructure (DXGI) works.
DXGI is used by the following DirectX versions:
- DirectX 10
- DirectX 11
- DirectX 12
Study blog can be found here: https://hitbybits.blogspot.com/
Version | Header | Minimum Windows Platform | Version Improvements |
---|---|---|---|
1.0 | dxgi.h | Windows Vista | The base version. |
1.1 | dxgi.h | Windows Vista (SP2) | - Support for synchronized shared surfaces - Support for high color - Support for maximum frame latency control - Support for adapter enumeration ordering - Support for BGRA |
1.2 | dxgi1_2.h | Windows 7 (Platform Update) | - Support for stereo swap chain - Support for flip-model swap chain - Support for desktop duplication - Support for 16 bpp formats - Support for debugging APIs - Optimization of the use of video memory - Optimization for presentations |
1.3 | dxgi1_3.h | Windows 8.1 | - Support for DXGI adapter memory trim - Support for multi-plane overlays - Support for overlapping and scaled swap chains - Support for selecting backbuffer subregion for swap chain - Support for lower-latency swap chain presentation |
1.4 | dxgi1_4.h | Windows 10 | - Support for cheaper adapter enumeration - Support for video memory budget tracking - Support for invariant backbuffer identity - Support for alternate frame rendering (AFR) - Fullscreen state no longer owns the display |
1.5 | dxgi1_5.h | Windows 10 | - Support for Hich Dynamic Range (HDR) - Support for Wide Color Gamut (WCG) - Support for flexible and performant output duplication - Support for offering and reclaiming resources |
1.6 | dxgi1_6.h | Windows 10 | - Support for listening adapter enumeration change events - Support for adapter enumeration ordering prefence - Support for checking adapter synchronization object features - Support for detecting HDR display detection |
Interface Name | Since | Description |
---|---|---|
IUnknown | 1.0 | The root interface for all COM interfaces. |
IDXGISwapChainMedia | 1.3 | Represents an access to request a seamless change to specific refresh rate. |
IDXGIFactoryMedia | 1.3 | Represents an access to build and DirectComposition surface swap chains. |
IDXGIObject | 1.0 | The base interface for most DXGI objects. |
IDXGIDecodeSwapChain | 1.3 | Represents a swap chain used to show video data on DirectComposition surface. |
IDXGIDisplayControl | 1.2 | Represents stereoscopic 3D display behavior and status. |
IDXGIFactory | 1.0 | A factory object used to build DXGI objects. |
IDXGIAdapter | 1.0 | Represents a display subsystem containing GPUs, DACs and video memory. |
IDXGIDevice | 1.0 | Represents an abstraction of an DXGI object that produce image data. |
IDXGIDeviceSubObject | 1.0 | An abstraction for all objects that are tied to a DXGI device. |
IDXGIOutput | 1.0 | Represents an adapter output such as monitor or television. |
IDXGIOutputDuplication | 1.2 | Represents an access to acquire and manipulate duplicated desktop images. |
IDXGISurface | 1.0 | Represents an 2D image-data section in memory. |
IDXGIKeyedMutex | 1.1 | Represents a mutex used to synchronized access to a shared resource. |
IDXGISwapChain | 1.0 | Represents a swap chain for presenting surfaces to an output. |
IDXGIResource | 1.0 | Represents a shareable resource within a memory. |
Some interfaces have extension(s) where the name has been suffixed with an extension index (e.g. IDXGIAdapter3).