D3DCREATE
Microsoft DirectX 9.0 SDK Update (October 2004)

D3DCREATE


A combination of one or more flags that control the device create behavior.

#defineDescription
D3DCREATE_ADAPTERGROUP_DEVICEApplication asks the device to drive all the heads that this master adapter owns. The flag is illegal on nonmaster adapters. If this flag is set, the presentation parameters passed to IDirect3D9::CreateDevice should point to an array of D3DPRESENT_PARAMETERS. The number of elements in D3DPRESENT_PARAMETERS should equal the number of adapters defined by the NumberOfAdaptersInGroup member of the D3DCAPS9 structure. The Microsoft DirectX runtime will assign each element to each head in the numerical order specified by the AdapterOrdinalInGroup member of D3DCAPS9.
D3DCREATE_DISABLE_DRIVER_MANAGEMENTMicrosoft Direct3D will manage resources instead of the driver. Direct3D calls will not fail for resource errors such as insufficient video memory.
D3DCREATE_DISABLE_DRIVER_MANAGEMENT_EXLike D3DCREATE_DISABLE_DRIVER_MANAGEMENT, Direct3D will manage resources instead of the driver. Unlike D3DCREATE_DISABLE_DRIVER_MANAGEMENT, D3DCREATE_DISABLE_DRIVER_MANAGEMENT_EX will return errors for conditions such as insufficient video memory.
D3DCREATE_FPU_PRESERVEIndicates that the application needs either double-precision floating-point unit (FPU) or FPU exceptions enabled. Direct3D sets the FPU state each time it is called.

By default, the pipeline uses single precision. Be sure to use this flag to get double precision. Setting the flag will reduce Direct3D performance.

D3DCREATE_HARDWARE_VERTEXPROCESSINGSpecifies hardware vertex processing.
D3DCREATE_MIXED_VERTEXPROCESSINGSpecifies mixed (both software and hardware) vertex processing.
D3DCREATE_MULTITHREADEDIndicates that the application requests Direct3D to be multithread safe. This makes a Direct3D thread take ownership of its global critical section World Wide Web link more frequently, which can degrade performance.
D3DCREATE_NOWINDOWCHANGESIndicates that Direct3D must not alter the focus window in any way.
Warning  If this flag is set, the application must fully support all focus management events, such as ALT+TAB and mouse click events.
D3DCREATE_PUREDEVICESpecifies that Direct3D does not support Get* calls for anything that can be stored in state blocks. It also tells Direct3D not to provide any emulation services for vertex processing. This means that if the device does not support vertex processing, then the application can use only post-transformed vertices.
D3DCREATE_SOFTWARE_VERTEXPROCESSINGSpecifies software vertex processing.

D3DCREATE_HARDWARE_VERTEXPROCESSING, D3DCREATE_MIXED_VERTEXPROCESSING, and D3DCREATE_SOFTWARE_VERTEXPROCESSING are mutually exclusive flags. At least one of these vertex processing flags must be specified when calling IDirect3D9::CreateDevice.

Constant Information

Headerd3d9.h
Minimum operating systemWindows 98


© 2004 Microsoft Corporation. All rights reserved.
Feedback? Please provide us with your comments on this topic.
For more help, visit the DirectX Developer Center.