CreateFlags Enumeration (Microsoft.DirectX.Direct3D)

Defines the flags to use when creating a device.


Visual Basic Public Enum CreateFlags
C# public enum CreateFlags
C++ public enum class CreateFlags
JScript public enum CreateFlags


Member Value Description
NoWindowChanges 2048 Indicates to the Microsoft Direct3D runtime not to alter the focus window in any way. Use with caution! The burden of supporting focus management events (ALT-TAB, and so on) falls on the application, and appropriate responses (switching display mode, and so on) should be coded.
DisableDriverManagementEx 1024 Specifies that resources be managed by Direct3D instead of the driver. Direct3D calls will fail for resource errors such as insufficient video memory.
AdapterGroupDevice 512 The application requests that the device drive all heads that the master adapter owns (this flag is illegal on nonmaster adapters). If the flag is set, the presentation parameters passed to Device should be an array of PresentParameters that contains exactly NumberOfAdaptersInGroup elements. The runtime assigns each element to each head in AdapterOrdinalInGroup numeric order.
DisableDriverManagement 256 Specifies that resources be managed by Direct3D instead of the driver. Direct3D calls will not fail for resource errors such as insufficient video memory.
MixedVertexProcessing 128 Specifies mixed vertex processing (both software and hardware).
HardwareVertexProcessing 64 Specifies hardware vertex processing.
SoftwareVertexProcessing 32 Specifies software vertex processing.
PureDevice 16 Specifies that Direct3D not support Get calls for anything that can be stored in a state block. Also instructs Direct3D to withhold emulation services for vertex processing, which means that if the device does not support vertex processing, the application can use only post-transformed vertices.
MultiThreaded 4 Indicates that the application requested multithread safety in Direct3D. This causes Direct3D to check its global critical section more frequently, which can degrade performance. Starting in the Microsoft DirectX 9.0 SDK Update (Summer 2003), this enumerated value is always specified unless the PresentParameters.ForceNoMultiThreadedFlag is set to true.
FpuPreserve 2 Indicates that the application needs either floating-point unit (FPU) exceptions or double-precision FPU exceptions enabled. By default, Direct3D uses single precision.

Because Direct3D sets the FPU state every time it is called, setting this flag reduces Direct3D performance.


This enumeration is used by the Device constructor. The HardwareVertexProcessing, MixedVertexProcessing, and SoftwareVertexProcessing constants are mutually exclusive. One of them must be specified during creation of a device.

Enumeration Information

Namespace Microsoft.DirectX.Direct3D
Assembly Microsoft.DirectX.Direct3D (microsoft.directx.direct3d.dll)
Strong Name Microsoft.DirectX.Direct3D,  Version=1.0.900.0,  Culture=neutral,  PublicKeyToken=d3231b57b74a1492

See Also