структура D3D10DDIARG_CALCPRIVATEDEVICESIZE (d3d10umddi.h)
Структура D3D10DDIARG_CALCPRIVATEDEVICESIZE описывает параметры, используемые драйвером отображения пользовательского режима для вычисления размера блока памяти, который драйвер должен хранить часто доступ к данным.
Синтаксис
typedef struct D3D10DDIARG_CALCPRIVATEDEVICESIZE {
[in] UINT Interface;
[in] UINT Version;
[in] UINT Flags;
} D3D10DDIARG_CALCPRIVATEDEVICESIZE;
Члены
[in] Interface
Версия интерфейса Microsoft Direct3D. Высокий 16 бит хранит основной номер выпуска (например, 10, 11 и т. д.); низкие 16 бит хранят дополнительный номер выпуска (например, 0, 1, 2 и т. д.). Дополнительный номер выпуска будет увеличен при выпуске изменения интерфейса.
[in] Version
Число, которое драйвер может использовать для определения времени создания среды выполнения Direct3D. Высокий 16 бит представляет номер сборки; Низкий 16 бит представляет номер редакции.
Драйвер необходим только для наблюдения за высокими 16 битами. Драйвер должен убедиться, что версия сборки среды выполнения, передаваемая в ней, больше или равно текущей версии сборки драйвера. Драйвер должен вернуть ошибку из функции CalcPrivateDeviceSize, если переданная в версии сборки несовместима.
[in] Flags
Допустимый битовый ИЛИ значения флага, определяющие, как создать устройство отрисовки. Среда выполнения Direct3D поддерживает следующие флаги:
D3D10DDI_CREATEDEVICE_FLAG_DISABLE_EXTRA_THREAD_CREATION (0x1)
Если этот флаг задан, драйвер отображения в пользовательском режиме не должен одновременно запускать несколько потоков при обработке вызовов функций из среды выполнения Direct3D. Драйвер обычно может запускать и запускать несколько потоков для обработки операций быстрее, если флаг D3D10DDI_CREATEDEVICE_FLAG_DISABLE_EXTRA_THREAD_CREATION не задан.
D3D11DDI_CREATEDEVICE_FLAG_SINGLETHREADED (0x10)
Поддерживается в Windows 7 и более поздних версиях.
Этот флаг сообщает драйверу отображения пользовательского режима, что приложение является одним потоком. Среда выполнения Direct3D версии 11 позволяет нескольким потокам приложений ввести драйвер, если драйвер разрешает этот режим работы. Однако не все приложения могут запускать несколько потоков. Если этот флаг задан, драйвер не ожидает ввода нескольких потоков и одновременного выполнения. Драйвер может избежать синхронизации, если этот флаг установлен.
Флаг, заданный в маске 0xE элемента Flags
Поддерживается в Windows 7 и более поздних версиях.
Этот флаг представляет уровень 3-D конвейера, который драйвер должен поддерживать для устройства отображения. Драйвер использует следующую константу и макросы для извлечения одного из значений из перечисления D3D11DDI_3DPIPELINELEVEL, представляющих уровень конвейера 3-D для поддержки. Значение элемента флагов форматируется как элемент caps структуры D3D11DDI_3DPIPELINESUPPORT_CAPS.
#define D3D11DDI_CREATEDEVICE_FLAG_3DPIPELINESUPPORT_SHIFT (0x1)
#define D3D11DDI_CREATEDEVICE_FLAG_3DPIPELINESUPPORT_MASK (0x7 << D3D11DDI_CREATEDEVICE_FLAG_3DPIPELINESUPPORT_SHIFT)
#define D3D11DDI_EXTRACT_3DPIPELINELEVEL_FROM_FLAGS( Flags ) \
((D3D11DDI_3DPIPELINELEVEL)(((Flags) & D3D11DDI_CREATEDEVICE_FLAG_3DPIPELINESUPPORT_MASK) >> \
D3D11DDI_CREATEDEVICE_FLAG_3DPIPELINESUPPORT_SHIFT))
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Доступно в Windows Vista и более поздних версиях операционных систем Windows. |
заголовка | d3d10umddi.h (include D3d10umddi.h) |