структура 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 и более поздних версиях.

Этот флаг представляет уровень объемного конвейера, который драйвер должен поддерживать для устройства отображения. Драйвер использует следующие константы и макросы для извлечения одного из значений из перечисления D3D11DDI_3DPIPELINELEVEL , которые представляют уровень трехмерного конвейера для поддержки. Значение в элементе Flags форматируется так же, как и элемент 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 (включая D3d10umddi.h)

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

CalcPrivateDeviceSize