Win32 API 日本語リファレンス
ホームGraphics.Direct3D10 › D3D10_CREATE_DEVICE_FLAG

D3D10_CREATE_DEVICE_FLAG

列挙型
基底型i4

メンバー 9

名前10進16進説明
D3D10_CREATE_DEVICE_SINGLETHREADED10x1アプリケーションが単一のスレッドからのみ D3D10 を呼び出す場合は、このフラグを使用します。このフラグを指定しない場合、D3D10 の既定の動作では、複数のスレッドが内部状態を変更しないように、各 API 呼び出しごとにロックを取得します。このフラグを使用するとロックが取得されないため、パフォーマンスがわずかに向上する可能性がありますが、複数のスレッドから D3D10 を呼び出すと未定義の動作になるおそれがあります。
D3D10_CREATE_DEVICE_DEBUG20x2デバッグ レイヤーをサポートするデバイスを作成します。
D3D10_CREATE_DEVICE_SWITCH_TO_REF40x4デバイスのソフトウェア版 (REF) とハードウェア版 (HAL) を同時に作成します。これにより、アプリケーションはリファレンス デバイスに切り替えてデバッグを行えます。詳細については、ID3D10SwitchToRef Interface を参照してください。
D3D10_CREATE_DEVICE_PREVENT_INTERNAL_THREADING_OPTIMIZATIONS80x8複数のスレッドが作成されないようにします。このフラグを WARP デバイスで使用した場合、WARP は追加のスレッドを作成せず、すべてのラスタライズが呼び出し元のスレッドで実行されます。このフラグは一般的な用途には推奨されません。解説を参照してください。
D3D10_CREATE_DEVICE_ALLOW_NULL_FROM_MAP160x10Map の呼び出し中にメモリが枯渇した場合、例外を発生させる代わりに NULL ポインターを返します。このフラグを指定しない場合、メモリ枯渇時には例外が発生します。Windows 7 でのみ有効です。
D3D10_CREATE_DEVICE_BGRA_SUPPORT320x20

BGRA のサポートが利用できない場合に、デバイスの作成を失敗させます。

BGRA のサポートにより、次の形式が使用できるようになります。

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、および更新プログラム (KB971644) が適用された Windows Vista のシステムでのみ有効です。

D3D10_CREATE_DEVICE_PREVENT_ALTERING_LAYER_SETTINGS_FROM_REGISTRY1280x80

デバッグ レイヤーを有効にするレジストリ設定を、Direct3D ランタイムに無視させます。デバッグ レイヤーは、DirectX SDK に含まれていた DirectX コントロール パネルを使用して有効にできます。DirectX SDK の最終バージョンは 2010 年 6 月に出荷されており、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_VALIDATION5120x200予約済みです。このフラグは現在サポートされていません。使用しないでください。
D3D10_CREATE_DEVICE_DEBUGGABLE10240x400

シェーダーのデバッグに使用できる情報を、デバイスとドライバーに保持させます。このフラグによる実際の影響はドライバーごとに異なります。このフラグを使用するには 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 の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
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 Enum
import 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* = 1024
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,
}
#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