DXGI
Encyclopedia
DirectX Graphics Infrastructure (DXGI) is a user-mode component of Windows Vista
and above which provides a mapping between particular graphics APIs such as Direct3D
10.0 and above (known in DXGI parlance as producers) and the graphics kernel, which in turn interfaces with the user-mode Windows Display Driver Model
driver. DXGI provides objects to handle tasks such as enumerating graphics adapters and monitors, enumerating display modes, choosing buffer formats, sharing resources between processes (such as between applications and the Desktop Window Manager
), and presenting rendered frames to a window or monitor for display.
Both Direct3D
10 and OpenGL
applications in Windows Vista work through DXGI.
DXGI 1.1 supports Direct3D 11 and WDDM 1.1 interfaces, and was released with Windows 7 and Windows Vista Platform Update.
DXGI 1.2 supports Direct3D 11.1 and WDDM 1.2; it was released with Windows 8
Developer Preview.
Additionally, the producer must provide certain objects that implement various DXGI interfaces, including the following:
Windows Vista
Windows Vista is an operating system released in several variations developed by Microsoft for use on personal computers, including home and business desktops, laptops, tablet PCs, and media center PCs...
and above which provides a mapping between particular graphics APIs such as Direct3D
Direct3D
Direct3D is part of Microsoft's DirectX application programming interface . Direct3D is available for Microsoft Windows operating systems , and for other platforms through the open source software Wine. It is the base for the graphics API on the Xbox and Xbox 360 console systems...
10.0 and above (known in DXGI parlance as producers) and the graphics kernel, which in turn interfaces with the user-mode Windows Display Driver Model
Windows Display Driver Model
Windows Display Driver Model is the graphic driver architecture for video card drivers running Microsoft Windows versions beginning with Windows Vista....
driver. DXGI provides objects to handle tasks such as enumerating graphics adapters and monitors, enumerating display modes, choosing buffer formats, sharing resources between processes (such as between applications and the Desktop Window Manager
Desktop Window Manager
Desktop Window Manager is the window manager in Windows Vista and Windows 7 that enables the Windows Aero graphical user interface and visual theme. The Desktop Window Manager requires video cards supporting DirectX 9.0 and Shader Model 2.0. DWM is not included with Windows Vista Starter edition...
), and presenting rendered frames to a window or monitor for display.
Both Direct3D
Direct3D
Direct3D is part of Microsoft's DirectX application programming interface . Direct3D is available for Microsoft Windows operating systems , and for other platforms through the open source software Wine. It is the base for the graphics API on the Xbox and Xbox 360 console systems...
10 and OpenGL
OpenGL
OpenGL is a standard specification defining a cross-language, cross-platform API for writing applications that produce 2D and 3D computer graphics. The interface consists of over 250 different function calls which can be used to draw complex three-dimensional scenes from simple primitives. OpenGL...
applications in Windows Vista work through DXGI.
DXGI 1.1 supports Direct3D 11 and WDDM 1.1 interfaces, and was released with Windows 7 and Windows Vista Platform Update.
DXGI 1.2 supports Direct3D 11.1 and WDDM 1.2; it was released with Windows 8
Windows 8
Windows 8 is the codename for the next version of the Microsoft Windows computer operating system following Windows 7. It has many changes from previous versions. In particular it adds support for ARM microprocessors in addition to the previously supported x86 microprocessors from Intel and AMD...
Developer Preview.
DXGI Object Model
DXGI provides the following objects:- Factory, which implements the IDXGIFactory interface, and provides methods for enumerating hardware adapters, creating software adapters, creating swap chains, attaching a focus window.
- Adapter, which implements the IDXGIAdapter interface, and provides methods for enumerating outputs
- Output, which implements the IDXGIOutput interface, and provides methods for managing properties of a monitor, such as its gamma ramp.
- Swap chain, which implements the IDXGISwapChain interface, and provides methods for managing the presentation and animation of rendered frames.
Additionally, the producer must provide certain objects that implement various DXGI interfaces, including the following:
- Device, which implements the IDXGIDevice interface. This interface is implemented by the producer's device object, such as a Direct3D 10 device.
- Resource, which implements the IDXGIResource interface. This interface is implemented by resources such as textures.