D3DDEVTYPE enumeration

Defines device types.

Syntax

typedef enum D3DDEVTYPE { 
  D3DDEVTYPE_HAL          = 1,
  D3DDEVTYPE_NULLREF      = 4,
  D3DDEVTYPE_REF          = 2,
  D3DDEVTYPE_SW           = 3,
  D3DDEVTYPE_FORCE_DWORD  = 0x7fffffff
} D3DDEVTYPE, *LPD3DDEVTYPE;

Constants

D3DDEVTYPE_HAL

Hardware rasterization. Shading is done with software, hardware, or mixed transform and lighting.

D3DDEVTYPE_NULLREF

Initialize Direct3D on a computer that has neither hardware nor reference rasterization available, and enable resources for 3D content creation. See Remarks.

D3DDEVTYPE_REF

Direct3D features are implemented in software; however, the reference rasterizer does make use of special CPU instructions whenever it can.

The reference device is installed by the Windows SDK 8.0 or later and is intended as an aid in debugging for development only.

D3DDEVTYPE_SW

A pluggable software device that has been registered with IDirect3D9::RegisterSoftwareDevice.

D3DDEVTYPE_FORCE_DWORD

Forces this enumeration to compile to 32 bits in size. Without this value, some compilers would allow this enumeration to compile to a size other than 32 bits. This value is not used.

Remarks

All methods of the IDirect3D9 interface that take a D3DDEVTYPE device type will fail if D3DDEVTYPE_NULLREF is specified. To use these methods, substitute D3DDEVTYPE_REF in the method call.

A D3DDEVTYPE_REF device should be created in D3DPOOL_SCRATCH memory, unless vertex and index buffers are required. To support vertex and index buffers, create the device in D3DPOOL_SYSTEMMEM memory.

If D3dref9.dll is installed, Direct3D will use the reference rasterizer to create a D3DDEVTYPE_REF device type, even if D3DDEVTYPE_NULLREF is specified. If D3dref9.dll is not available and D3DDEVTYPE_NULLREF is specified, Direct3D will neither render nor present the scene.

Requirements

Requirement Value
Header
D3D9Types.h

See also

Direct3D Enumerations

IDirect3D9::CheckDeviceFormat

IDirect3D9::CheckDeviceMultiSampleType

IDirect3D9::CheckDeviceType

IDirect3D9::CreateDevice

IDirect3D9::GetDeviceCaps

D3DDEVICE_CREATION_PARAMETERS