D3D10_CREATE_DEVICE_FLAG
列挙型メンバー 9
| 名前 | 10進 | 16進 | 説明 |
|---|---|---|---|
| D3D10_CREATE_DEVICE_SINGLETHREADED | 1 | 0x1 | アプリケーションが単一のスレッドからのみ D3D10 を呼び出す場合は、このフラグを使用します。このフラグを指定しない場合、D3D10 の既定の動作では、複数のスレッドが内部状態を変更しないように、各 API 呼び出しごとにロックを取得します。このフラグを使用するとロックが取得されないため、パフォーマンスがわずかに向上する可能性がありますが、複数のスレッドから D3D10 を呼び出すと未定義の動作になるおそれがあります。 |
| D3D10_CREATE_DEVICE_DEBUG | 2 | 0x2 | デバッグ レイヤーをサポートするデバイスを作成します。 |
| D3D10_CREATE_DEVICE_SWITCH_TO_REF | 4 | 0x4 | デバイスのソフトウェア版 (REF) とハードウェア版 (HAL) を同時に作成します。これにより、アプリケーションはリファレンス デバイスに切り替えてデバッグを行えます。詳細については、ID3D10SwitchToRef Interface を参照してください。 |
| D3D10_CREATE_DEVICE_PREVENT_INTERNAL_THREADING_OPTIMIZATIONS | 8 | 0x8 | 複数のスレッドが作成されないようにします。このフラグを WARP デバイスで使用した場合、WARP は追加のスレッドを作成せず、すべてのラスタライズが呼び出し元のスレッドで実行されます。このフラグは一般的な用途には推奨されません。解説を参照してください。 |
| D3D10_CREATE_DEVICE_ALLOW_NULL_FROM_MAP | 16 | 0x10 | Map の呼び出し中にメモリが枯渇した場合、例外を発生させる代わりに NULL ポインターを返します。このフラグを指定しない場合、メモリ枯渇時には例外が発生します。Windows 7 でのみ有効です。 |
| D3D10_CREATE_DEVICE_BGRA_SUPPORT | 32 | 0x20 | BGRA のサポートが利用できない場合に、デバイスの作成を失敗させます。 BGRA のサポートにより、次の形式が使用できるようになります。
アプリケーションが D3D10_CREATE_DEVICE_BGRA_SUPPORT を指定していなくても、BGRA がサポートされている場合がある点に注意してください。このフラグは、BGRA のサポートが利用できない場合にデバイスの作成を失敗させるだけです。 D3D10_CREATE_DEVICE_BGRA_SUPPORT は、Windows 7、Windows Server 2008 R2、および更新プログラム (KB971644) が適用された Windows Vista のシステムでのみ有効です。 |
| D3D10_CREATE_DEVICE_PREVENT_ALTERING_LAYER_SETTINGS_FROM_REGISTRY | 128 | 0x80 | デバッグ レイヤーを有効にするレジストリ設定を、Direct3D ランタイムに無視させます。デバッグ レイヤーは、DirectX SDK に含まれていた DirectX コントロール パネルを使用して有効にできます。DirectX SDK の最終バージョンは 2010 年 6 月に出荷されており、Microsoft ダウンロード センターからダウンロードできます。このフラグをアプリで設定すると (通常はリリース ビルドのみ)、エンド ユーザーが DirectX コントロール パネルを使用してアプリによる Direct3D の使用状況を監視することを防止できます。 メモ このフラグをアプリで設定すると、Visual Studio Ultimate 2012 などの Direct3D デバッグ ツールがアプリにフックすることも防止できます。
Direct3D 11: この値は Direct3D 11.1 以降でのみサポートされます。 |
| D3D10_CREATE_DEVICE_STRICT_VALIDATION | 512 | 0x200 | 予約済みです。このフラグは現在サポートされていません。使用しないでください。 |
| D3D10_CREATE_DEVICE_DEBUGGABLE | 1024 | 0x400 | シェーダーのデバッグに使用できる情報を、デバイスとドライバーに保持させます。このフラグによる実際の影響はドライバーごとに異なります。このフラグを使用するには D3D11_1SDKLayers.dll がインストールされている必要があり、そうでない場合はデバイスの作成に失敗します。作成されたデバイスはデバッグ レイヤーをサポートします。D3D11_1SDKLayers.dll を入手するには、Windows 8 用の SDK をインストールする必要があります。 Direct3D 11: この値は Direct3D 11.1 以降でのみサポートされます。 |
公式ドキュメント
デバイス作成フラグです。
解説(Remarks)
デバイス作成フラグは、D3D10CreateDevice および D3D10CreateDeviceAndSwapChain で使用されます。
アプリケーションは、特に複数の CPU コアを備えたマシンでパフォーマンスを向上させるために、スレッドを動的に作成 (および破棄) することがあります。しかし、余分なスレッドが作成されないようにする必要がある場合もあります。これは、デバッグを簡略化したい場合、コードをプロファイリングする場合、ツールを開発する場合などに起こり得ます。このような場合には、D3D10_CREATE_DEVICE_PREVENT_INTERNAL_THREADING_OPTIMIZATIONS を使用して、アプリケーションの妨げとなる可能性のある追加スレッドをランタイムとビデオ ドライバーが作成しないよう要求します。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
各言語での定義
列挙メンバーの定義。HSP タブは #define global(値は16進)。
typedef enum D3D10_CREATE_DEVICE_FLAG : int {
D3D10_CREATE_DEVICE_SINGLETHREADED = 1,
D3D10_CREATE_DEVICE_DEBUG = 2,
D3D10_CREATE_DEVICE_SWITCH_TO_REF = 4,
D3D10_CREATE_DEVICE_PREVENT_INTERNAL_THREADING_OPTIMIZATIONS = 8,
D3D10_CREATE_DEVICE_ALLOW_NULL_FROM_MAP = 16,
D3D10_CREATE_DEVICE_BGRA_SUPPORT = 32,
D3D10_CREATE_DEVICE_PREVENT_ALTERING_LAYER_SETTINGS_FROM_REGISTRY = 128,
D3D10_CREATE_DEVICE_STRICT_VALIDATION = 512,
D3D10_CREATE_DEVICE_DEBUGGABLE = 1024
} D3D10_CREATE_DEVICE_FLAG;public enum D3D10_CREATE_DEVICE_FLAG : int
{
D3D10_CREATE_DEVICE_SINGLETHREADED = 1,
D3D10_CREATE_DEVICE_DEBUG = 2,
D3D10_CREATE_DEVICE_SWITCH_TO_REF = 4,
D3D10_CREATE_DEVICE_PREVENT_INTERNAL_THREADING_OPTIMIZATIONS = 8,
D3D10_CREATE_DEVICE_ALLOW_NULL_FROM_MAP = 16,
D3D10_CREATE_DEVICE_BGRA_SUPPORT = 32,
D3D10_CREATE_DEVICE_PREVENT_ALTERING_LAYER_SETTINGS_FROM_REGISTRY = 128,
D3D10_CREATE_DEVICE_STRICT_VALIDATION = 512,
D3D10_CREATE_DEVICE_DEBUGGABLE = 1024,
}Public Enum D3D10_CREATE_DEVICE_FLAG As Integer
D3D10_CREATE_DEVICE_SINGLETHREADED = 1
D3D10_CREATE_DEVICE_DEBUG = 2
D3D10_CREATE_DEVICE_SWITCH_TO_REF = 4
D3D10_CREATE_DEVICE_PREVENT_INTERNAL_THREADING_OPTIMIZATIONS = 8
D3D10_CREATE_DEVICE_ALLOW_NULL_FROM_MAP = 16
D3D10_CREATE_DEVICE_BGRA_SUPPORT = 32
D3D10_CREATE_DEVICE_PREVENT_ALTERING_LAYER_SETTINGS_FROM_REGISTRY = 128
D3D10_CREATE_DEVICE_STRICT_VALIDATION = 512
D3D10_CREATE_DEVICE_DEBUGGABLE = 1024
End Enumimport enum
class D3D10_CREATE_DEVICE_FLAG(enum.IntEnum):
D3D10_CREATE_DEVICE_SINGLETHREADED = 1
D3D10_CREATE_DEVICE_DEBUG = 2
D3D10_CREATE_DEVICE_SWITCH_TO_REF = 4
D3D10_CREATE_DEVICE_PREVENT_INTERNAL_THREADING_OPTIMIZATIONS = 8
D3D10_CREATE_DEVICE_ALLOW_NULL_FROM_MAP = 16
D3D10_CREATE_DEVICE_BGRA_SUPPORT = 32
D3D10_CREATE_DEVICE_PREVENT_ALTERING_LAYER_SETTINGS_FROM_REGISTRY = 128
D3D10_CREATE_DEVICE_STRICT_VALIDATION = 512
D3D10_CREATE_DEVICE_DEBUGGABLE = 1024// D3D10_CREATE_DEVICE_FLAG
pub const D3D10_CREATE_DEVICE_SINGLETHREADED: i32 = 1;
pub const D3D10_CREATE_DEVICE_DEBUG: i32 = 2;
pub const D3D10_CREATE_DEVICE_SWITCH_TO_REF: i32 = 4;
pub const D3D10_CREATE_DEVICE_PREVENT_INTERNAL_THREADING_OPTIMIZATIONS: i32 = 8;
pub const D3D10_CREATE_DEVICE_ALLOW_NULL_FROM_MAP: i32 = 16;
pub const D3D10_CREATE_DEVICE_BGRA_SUPPORT: i32 = 32;
pub const D3D10_CREATE_DEVICE_PREVENT_ALTERING_LAYER_SETTINGS_FROM_REGISTRY: i32 = 128;
pub const D3D10_CREATE_DEVICE_STRICT_VALIDATION: i32 = 512;
pub const D3D10_CREATE_DEVICE_DEBUGGABLE: i32 = 1024;// D3D10_CREATE_DEVICE_FLAG
const (
D3D10_CREATE_DEVICE_SINGLETHREADED int32 = 1
D3D10_CREATE_DEVICE_DEBUG int32 = 2
D3D10_CREATE_DEVICE_SWITCH_TO_REF int32 = 4
D3D10_CREATE_DEVICE_PREVENT_INTERNAL_THREADING_OPTIMIZATIONS int32 = 8
D3D10_CREATE_DEVICE_ALLOW_NULL_FROM_MAP int32 = 16
D3D10_CREATE_DEVICE_BGRA_SUPPORT int32 = 32
D3D10_CREATE_DEVICE_PREVENT_ALTERING_LAYER_SETTINGS_FROM_REGISTRY int32 = 128
D3D10_CREATE_DEVICE_STRICT_VALIDATION int32 = 512
D3D10_CREATE_DEVICE_DEBUGGABLE int32 = 1024
)const
D3D10_CREATE_DEVICE_SINGLETHREADED = 1;
D3D10_CREATE_DEVICE_DEBUG = 2;
D3D10_CREATE_DEVICE_SWITCH_TO_REF = 4;
D3D10_CREATE_DEVICE_PREVENT_INTERNAL_THREADING_OPTIMIZATIONS = 8;
D3D10_CREATE_DEVICE_ALLOW_NULL_FROM_MAP = 16;
D3D10_CREATE_DEVICE_BGRA_SUPPORT = 32;
D3D10_CREATE_DEVICE_PREVENT_ALTERING_LAYER_SETTINGS_FROM_REGISTRY = 128;
D3D10_CREATE_DEVICE_STRICT_VALIDATION = 512;
D3D10_CREATE_DEVICE_DEBUGGABLE = 1024;// D3D10_CREATE_DEVICE_FLAG
pub const D3D10_CREATE_DEVICE_SINGLETHREADED: i32 = 1;
pub const D3D10_CREATE_DEVICE_DEBUG: i32 = 2;
pub const D3D10_CREATE_DEVICE_SWITCH_TO_REF: i32 = 4;
pub const D3D10_CREATE_DEVICE_PREVENT_INTERNAL_THREADING_OPTIMIZATIONS: i32 = 8;
pub const D3D10_CREATE_DEVICE_ALLOW_NULL_FROM_MAP: i32 = 16;
pub const D3D10_CREATE_DEVICE_BGRA_SUPPORT: i32 = 32;
pub const D3D10_CREATE_DEVICE_PREVENT_ALTERING_LAYER_SETTINGS_FROM_REGISTRY: i32 = 128;
pub const D3D10_CREATE_DEVICE_STRICT_VALIDATION: i32 = 512;
pub const D3D10_CREATE_DEVICE_DEBUGGABLE: i32 = 1024;const
D3D10_CREATE_DEVICE_SINGLETHREADED* = 1
D3D10_CREATE_DEVICE_DEBUG* = 2
D3D10_CREATE_DEVICE_SWITCH_TO_REF* = 4
D3D10_CREATE_DEVICE_PREVENT_INTERNAL_THREADING_OPTIMIZATIONS* = 8
D3D10_CREATE_DEVICE_ALLOW_NULL_FROM_MAP* = 16
D3D10_CREATE_DEVICE_BGRA_SUPPORT* = 32
D3D10_CREATE_DEVICE_PREVENT_ALTERING_LAYER_SETTINGS_FROM_REGISTRY* = 128
D3D10_CREATE_DEVICE_STRICT_VALIDATION* = 512
D3D10_CREATE_DEVICE_DEBUGGABLE* = 1024enum D3D10_CREATE_DEVICE_FLAG : int {
D3D10_CREATE_DEVICE_SINGLETHREADED = 1,
D3D10_CREATE_DEVICE_DEBUG = 2,
D3D10_CREATE_DEVICE_SWITCH_TO_REF = 4,
D3D10_CREATE_DEVICE_PREVENT_INTERNAL_THREADING_OPTIMIZATIONS = 8,
D3D10_CREATE_DEVICE_ALLOW_NULL_FROM_MAP = 16,
D3D10_CREATE_DEVICE_BGRA_SUPPORT = 32,
D3D10_CREATE_DEVICE_PREVENT_ALTERING_LAYER_SETTINGS_FROM_REGISTRY = 128,
D3D10_CREATE_DEVICE_STRICT_VALIDATION = 512,
D3D10_CREATE_DEVICE_DEBUGGABLE = 1024,
}#define global D3D10_CREATE_DEVICE_SINGLETHREADED 0x1
#define global D3D10_CREATE_DEVICE_DEBUG 0x2
#define global D3D10_CREATE_DEVICE_SWITCH_TO_REF 0x4
#define global D3D10_CREATE_DEVICE_PREVENT_INTERNAL_THREADING_OPTIMIZATIONS 0x8
#define global D3D10_CREATE_DEVICE_ALLOW_NULL_FROM_MAP 0x10
#define global D3D10_CREATE_DEVICE_BGRA_SUPPORT 0x20
#define global D3D10_CREATE_DEVICE_PREVENT_ALTERING_LAYER_SETTINGS_FROM_REGISTRY 0x80
#define global D3D10_CREATE_DEVICE_STRICT_VALIDATION 0x200
#define global D3D10_CREATE_DEVICE_DEBUGGABLE 0x400