перечисление 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 включает следующие форматы.
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 |