D3D10_CREATE_DEVICE_FLAG
デバイス作成フラグです。
typedef enum D3D10_CREATE_DEVICE_FLAG
{
D3D10_CREATE_DEVICE_SINGLETHREADED = 0x1,
D3D10_CREATE_DEVICE_DEBUG = 0x2,
D3D10_CREATE_DEVICE_SWITCH_TO_REF = 0x4,
D3D10_CREATE_DEVICE_PREVENT_INTERNAL_THREADING_OPTIMIZATIONS = 0x8,
D3D10_CREATE_DEVICE_ALLOW_NULL_FROM_MAP = 0x10,
D3D10_CREATE_DEVICE_BGRA_SUPPORT = 0x20,
D3D10_CREATE_DEVICE_STRICT_VALIDATION = 0x200,
} D3D10_CREATE_DEVICE_FLAG;
定数
- D3D10_CREATE_DEVICE_SINGLETHREADED
このフラグは、アプリケーションが D3D10 を単一のスレッドからのみ呼び出す場合に使用します。このフラグを指定しない場合、API 呼び出しのたびに D3D10 は既定でロック状態となり、複数のスレッドによる内部ステートの変更を防ぎます。このフラグを使用するとロックがかからないので、パフォーマンスが若干向上しますが、D3D10 を複数のスレッドから呼び出したときの動作が不定になります。 - D3D10_CREATE_DEVICE_DEBUG
デバッグ レイヤーをサポートするデバイスを作成します。 - D3D10_CREATE_DEVICE_SWITCH_TO_REF
ソフトウェア (REF) バージョンおよびハードウェア (HAL) バージョンの両方のデバイスを同時に作成します。これによって、アプリケーションはリファレンス デバイスに切り替えて、デバッグ処理を有効にすることができます。詳細については、「ID3D10SwitchToRef インターフェイス」を参照してください。 - D3D10_CREATE_DEVICE_PREVENT_INTERNAL_THREADING_OPTIMIZATIONS
複数のスレッドが作成されないようにします。WARP デバイスでこのフラグを使用すると、WARP ではそれ以上スレッドが作成されなくなるので、すべてのラスター化が呼び出し元スレッドで実行されます。このフラグは一般用途にはお勧めしません。「解説」を参照してください。 - D3D10_CREATE_DEVICE_ALLOW_NULL_FROM_MAP
Map の呼び出しでメモリー不足が生じたとき、例外を発生させる代わりに NULL ポインターを返します。このフラグを設定しないと、メモリー不足の際に例外が発生します。Winodws 7 でのみ有効です。 - D3D10_CREATE_DEVICE_BGRA_SUPPORT
BGRA がサポートされていない場合、デバイスの作成が失敗するようにします。
BGRA サポートにより、以下のフォーマットが有効になります。 - DXGI_FORMAT_B8G8R8A8_TYPELESS
- DXGI_FORMAT_B8G8R8A8_UNORM
- DXGI_FORMAT_B8G8R8A8_UNORM_SRGB
- DXGI_FORMAT_B8G8R8X8_TYPELESS
- DXGI_FORMAT_B8G8R8X8_UNORM
- DXGI_FORMAT_B8G8R8X8_UNORM_SRGB
D3D10_CREATE_DEVICE_BGRA_SUPPORT が関連するのは、機能レベルとして D3D10_FEATURE_LEVEL_10_0 または D3D10_FEATURE_LEVEL_10_1 を指定し、D3D10CreateDevice1 または D3D10CreateDeviceAndSwapChain1 を使用してデバイスを作成する場合のみです。これ以外の機能レベルでデバイスを作成する場合、このフラグは無視されます。 アプリケーションで D3D10_CREATE_DEVICE_BGRA_SUPPORT を指定していなくても、BGRA がサポートされていることがあります。このフラグは、BGRA がサポートされていない場合にデバイスが作成されないようにするだけです。 D3D10_CREATE_DEVICE_BGRA_SUPPORT は、Windows 7、Windows Server 2008 R2、および更新済みの Windows Vista (KB971644) の各システムでのみ有効です。 - D3D10_CREATE_DEVICE_STRICT_VALIDATION
予約済みです。Windows 7、Windows Server 2008 R2、および更新済みの Windows Vista (KB971644) の各システムでのみ有効です。
解説
デバイス作成フラグは D3D10CreateDevice および D3D10CreateDeviceAndSwapChain によって使用されます。
アプリケーションはスレッドを動的に作成 (および破棄) することにより、特に複数の CPU コアを搭載したコンピューターでパフォーマンスの向上を図ることができます。ただし、アプリケーションで過剰な数のスレッドを作成しないようにすることが必要な場合もあります。たとえば、デバッグの容易化、コードのプロファイル、ツールの開発が必要な場合です。このような場合は D3D10_CREATE_DEVICE_PREVENT_INTERNAL_THREADING_OPTIMIZATIONS を使用して、アプリケーションに影響を及ぼす可能性のある余分なスレッドがランタイムおよびビデオ ドライバーで作成されないように指定します。
要件
ヘッダー: D3D10.h 宣言
ライブラリ: D3D10.lib 内容