перечисление 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
Возвращает указатель 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


D3D10_CREATE_DEVICE_BGRA_SUPPORT актуально только при создании устройства с D3D10CreateDevice1
или D3D10CreateDeviceAndSwapChain1 с помощью D3D10_FEATURE_LEVEL_10_0 или D3D10_FEATURE_LEVEL_10_1
Уровни функций. Флаг будет игнорироваться при создании устройства с другими уровнями функций.

Обратите внимание, что поддержка BGRA может присутствовать, даже если приложение не указало D3D10_CREATE_DEVICE_BGRA_SUPPORT.
Флаг просто приводит к сбою создания устройства, если поддержка 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. Последняя версия пакета SDK Для DirectX была отправлена в июне 2010 г. Его можно скачать в Центре загрузки Майкрософт. Этот флаг можно установить в приложении(обычно только в сборках выпусков), чтобы запретить конечным пользователям использовать панель управления 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 для Windows 8.

Direct3D 11: Это значение не поддерживается до Версии Direct3D 11.1.

Комментарии

Флаги создания устройств используются D3D10CreateDevice и D3D10CreateDeviceAndSwapChain.

Приложение может динамически создавать (и уничтожать) потоки для повышения производительности, особенно на компьютере с несколькими ядрами ЦП. Однако могут возникать случаи, когда приложению необходимо запретить создание дополнительных потоков. Это может произойти, если требуется упростить отладку, профилировать код или разработать, например, средство. В таких случаях используйте D3D10_CREATE_DEVICE_PREVENT_INTERNAL_THREADING_OPTIMIZATIONS, чтобы запросить, чтобы среда выполнения и видеодрайвор не создавали никаких дополнительных потоков, которые могут мешать работе приложения.

Требования

Требование Значение
Заголовок d3d10.h

См. также раздел

Перечисления core