D3D10_CREATE_DEVICE_FLAG列挙 (d3d10.h)

デバイス作成フラグ。

構文

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_PREVENT_ALTERING_LAYER_SETTINGS_FROM_REGISTRY = 0x80,
  D3D10_CREATE_DEVICE_STRICT_VALIDATION = 0x200,
  D3D10_CREATE_DEVICE_DEBUGGABLE = 0x400
} ;

定数

 
D3D10_CREATE_DEVICE_SINGLETHREADED
値: 0x1
アプリケーションが単一のスレッドから D3D10 のみを呼び出す場合は、このフラグを使用します。 このフラグを指定しない場合、D3D10 の既定の動作
は、複数のスレッドが内部状態を変更するのを防ぐために、各 API 呼び出し中にロックを入力することです。 このフラグを使用すると、次のことができますロックは取得されません。
パフォーマンスは若干向上しますが、D3D10 が複数のスレッドから呼び出されると未定義の動作が発生する可能性があります。
D3D10_CREATE_DEVICE_DEBUG
値: 0x2
デバッグ レイヤーをサポートするデバイスを作成します。
D3D10_CREATE_DEVICE_SWITCH_TO_REF
値: 0x4
デバイスのソフトウェア (REF) とハードウェア (HAL) の両方のバージョンを同時に作成します。これにより、アプリケーションは、
デバイスを参照してデバッグを有効にします。 詳細については、「 ID3D10SwitchToRef インターフェイス 」を参照してください。
D3D10_CREATE_DEVICE_PREVENT_INTERNAL_THREADING_OPTIMIZATIONS
値: 0x8
複数のスレッドが作成されないようにします。 このフラグが WARP デバイスで使用されている場合、WARP によって追加のスレッドは作成されません。
ラスタライズは呼び出し元スレッドで行われます。 このフラグは、一般的な使用には推奨されません。 「解説」を参照してください。
D3D10_CREATE_DEVICE_ALLOW_NULL_FROM_MAP
値: 0x10
Map の呼び出し中にメモリの枯渇時に例外をトリガーするのではなく 、NULL ポインターを返します。
このフラグがないと、メモリの枯渇時に例外が発生します。 Windows 7 でのみ有効です。
D3D10_CREATE_DEVICE_BGRA_SUPPORT
値: 0x20
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は、デバイスが D3D10CreateDevice1 で作成された場合にのみ関連します
または D3D10CreateDeviceAndSwapChain1 を使用して 、D3D10_FEATURE_LEVEL_10_0 または D3D10_FEATURE_LEVEL_10_1
機能レベルでは、デバイスが他の機能レベルで作成されると、フラグは無視されます。

アプリケーションで D3D10_CREATE_DEVICE_BGRA_SUPPORT が指定されていない場合でも、BGRA のサポートが存在する可能性があることに注意してください。
フラグは、BGRA サポートが利用できない場合にデバイスの作成が失敗するだけです。

D3D10_CREATE_DEVICE_BGRA_SUPPORTは、Windows 7、Windows Server 2008 R2、および更新された Windows Vista (KB971644) システムでのみ有効です。
D3D10_CREATE_DEVICE_PREVENT_ALTERING_LAYER_SETTINGS_FROM_REGISTRY
値: 0x80
Direct3D ランタイムが デバッグ レイヤーを有効にするレジストリ設定を無視します。 デバッグ レイヤーを有効にするには、DirectX SDK の一部として含まれていた DirectX コントロール パネルを使用します。 2010 年 6 月に DirectX SDK の最後のバージョンを出荷しました。 Microsoft ダウンロード センターからダウンロードできます。 このフラグは、エンド ユーザーが DirectX コントロール パネルを使用してアプリが Direct3D を使用する方法を監視できないようにするために、通常はリリース ビルドでのみアプリで設定できます。

メモまた、アプリでこのフラグを設定して、Visual Studio Ultimate 2012 などの Direct3D デバッグ ツールがアプリをフックしないようにすることもできます。

 

Windows 8.1: このフラグは、Windows 8.1 以降で実行Visual Studio 2013アプリをフックすることを防ぐわけではありません。 ただし、このフラグを使用すると、Windows 8 以前のバージョンで実行Visual Studio 2013がアプリをフックできなくなります。

Direct3D 11: この値は、Direct3D 11.1 まではサポートされていません。
D3D10_CREATE_DEVICE_STRICT_VALIDATION
値: 0x200
予約済み。 このフラグは現在サポートされていません。 使用しないでください。
D3D10_CREATE_DEVICE_DEBUGGABLE
値: 0x400
シェーダーのデバッグに使用できる情報をデバイスとドライバーに保持させます。 このフラグによる正確な影響は、ドライバーによって異なります。 このフラグを使用するには、D3D11_1SDKLayers.dll がインストールされている必要があります。それ以外の場合、デバイスの作成は失敗します。 作成されたデバイスでは 、デバッグ レイヤーがサポートされます。 D3D11_1SDKLayers.dll するには、Windows 8用 SDK をインストールする必要があります。

Direct3D 11: この値は、Direct3D 11.1 まではサポートされていません。

注釈

デバイス作成フラグは、 D3D10CreateDevice および D3D10CreateDeviceAndSwapChain によって使用されます。

アプリケーションは、特に複数の CPU コアを持つマシンでパフォーマンスを向上させるために、スレッドを動的に作成 (および破棄) する場合があります。 ただし、アプリケーションで余分なスレッドが作成されないようにする必要がある場合があります。 これは、デバッグを簡略化したり、コードをプロファイリングしたり、ツールを開発したりする場合に発生する可能性があります。 このような場合は、D3D10_CREATE_DEVICE_PREVENT_INTERNAL_THREADING_OPTIMIZATIONSを使用して、ランタイム ドライバーとビデオ ドライバーが、アプリケーションに干渉する可能性のある追加のスレッドを作成しないように要求します。

要件

要件
Header d3d10.h

こちらもご覧ください

コア列挙