D3D10_CREATE_DEVICE_FLAG列舉 (d3d10.h)

裝置建立旗標。

Syntax

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
傳回 NULL 指標,而不是在叫用至 Map 期間觸發記憶體耗盡的例外狀況。
如果沒有此旗標,記憶體耗盡時將會引發例外狀況。 僅適用於 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


只有在使用 D3D10CreateDevice1 建立裝置時,D3D10_CREATE_DEVICE_BGRA_SUPPORT才相關
D3D10 使用 D3D10_FEATURE_LEVEL_10_0 或 D3D10_FEATURE_LEVEL_10_1 建立D3DeviceAndSwapChain1
功能層級,當裝置與其他功能層級一起建立時,將會忽略旗標。

請注意,即使應用程式未指定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。

注意您也可以在應用程式中設定此旗標,以防止 Direct3D 偵錯工具,例如 Visual Studio Ultimate 2012,無法連結您的應用程式。

 

Windows 8.1:此旗標不會防止 Visual Studio 2013 及更新版本在 Windows 8.1 和更新版本上執行,而無法連結您的應用程式。 但是,此旗標仍會防止 Visual Studio 2013 及更新版本在 Windows 8 和更早版本上執行,而無法連結您的應用程式。

Direct3D 11: 在 Direct3D 11.1 之前,不支援此值。
D3D10_CREATE_DEVICE_STRICT_VALIDATION
值: 0x200
保留的。 目前不支援此旗標。 請勿使用。
D3D10_CREATE_DEVICE_DEBUGGABLE
值: 0x400
讓裝置和驅動程式保留可用於著色器偵錯的資訊。 此旗標的確切影響會因驅動程序而異。 若要使用此旗標,您必須安裝 D3D11_1SDKLayers.dll;否則,裝置建立會失敗。 建立的裝置支援 偵錯層。 若要取得 D3D11_1SDKLayers.dll,您必須安裝 SDK for Windows 8。

Direct3D 11: 在 Direct3D 11.1 之前,不支援此值。

備註

D3D10CreateDeviceD3D10CreateDeviceAndSwapChain 會使用裝置建立旗標。

應用程式可能會動態建立 (並終結) 線程,以改善效能,特別是在具有多個 CPU 核心的電腦上。 不過,在某些情況下,當應用程式需要防止建立額外的線程時。 當您想要簡化偵錯、分析程式代碼或開發工具時,就會發生這種情況。 在這些情況下,請使用 D3D10_CREATE_DEVICE_PREVENT_INTERNAL_THREADING_OPTIMIZATIONS 要求運行時間和視訊驅動程式不會建立任何其他可能會干擾應用程式的線程。

規格需求

需求
標頭 d3d10.h

另請參閱

核心列舉