структура D3D11DDIARG_CREATEDEFERREDCONTEXT (d3d10umddi.h)
Структура D3D11DDIARG_CREATEDEFERREDCONTEXT описывает отложенный контекст для создания.
Синтаксис
typedef struct D3D11DDIARG_CREATEDEFERREDCONTEXT {
union {
#if ...
[in/out] D3D11DDI_DEVICEFUNCS *p11ContextFuncs;
#else
[in/out] struct D3D11DDI_DEVICEFUNCS *p11ContextFuncs;
#endif
#if ...
[in/out] D3D11_1DDI_DEVICEFUNCS *p11_1ContextFuncs;
#else
[in/out] struct D3D11_1DDI_DEVICEFUNCS *p11_1ContextFuncs;
#endif
#if ...
[in/out] D3DWDDM1_3DDI_DEVICEFUNCS *pWDDM1_3ContextFuncs;
#else
[in/out] struct D3DWDDM1_3DDI_DEVICEFUNCS *pWDDM1_3ContextFuncs;
#endif
#if ...
[in/out] D3DWDDM2_0DDI_DEVICEFUNCS *pWDDM2_0ContextFuncs;
#else
[in/out] struct D3DWDDM2_0DDI_DEVICEFUNCS *pWDDM2_0ContextFuncs;
#endif
#if ...
D3DWDDM2_1DDI_DEVICEFUNCS *pWDDM2_1ContextFuncs;
#else
struct D3DWDDM2_1DDI_DEVICEFUNCS *pWDDM2_1ContextFuncs;
#endif
#if ...
D3DWDDM2_2DDI_DEVICEFUNCS *pWDDM2_2ContextFuncs;
#else
struct D3DWDDM2_2DDI_DEVICEFUNCS *pWDDM2_2ContextFuncs;
#endif
#if ...
D3DWDDM2_6DDI_DEVICEFUNCS *pWDDM2_6ContextFuncs;
#else
struct D3DWDDM2_6DDI_DEVICEFUNCS *pWDDM2_6ContextFuncs;
#endif
};
[in] D3D10DDI_HDEVICE hDrvContext;
[in] D3D10DDI_HRTCORELAYER hRTCoreLayer;
union {
[in] const D3D11DDI_CORELAYER_DEVICECALLBACKS *p11UMCallbacks;
const D3DWDDM2_0DDI_CORELAYER_DEVICECALLBACKS *pWDDM2_0UMCallbacks;
const D3DWDDM2_2DDI_CORELAYER_DEVICECALLBACKS *pWDDM2_2UMCallbacks;
const D3DWDDM2_6DDI_CORELAYER_DEVICECALLBACKS *pWDDM2_6UMCallbacks;
};
[in] UINT Flags;
} D3D11DDIARG_CREATEDEFERREDCONTEXT;
Члены
[in/out] p11ContextFuncs
Указатель на структуру D3D11DDI_DEVICEFUNCS , которую драйвер отображения пользовательского режима заполняет таблицей своих функций для отложенного контекста. Среда выполнения Direct3D использует эти функции для взаимодействия с драйвером отображения пользовательского режима.
Список функций, которые не используются для отложенных контекстов, см. в разделе Исключение функций DDI для отложенных контекстов.
[in/out] p11_1ContextFuncs
Указатель на структуру D3D11_1DDI_DEVICEFUNCS , которую драйвер отображения пользовательского режима заполняет таблицей своих функций для отложенного контекста. Среда выполнения Direct3D использует эти функции для взаимодействия с драйвером отображения пользовательского режима.
Поддерживается начиная с Windows 8.
[in/out] pWDDM1_3ContextFuncs
Указатель на структуру D3DWDDM1_3DDI_DEVICEFUNCS , которую драйвер отображения пользовательского режима заполняет таблицей своих функций для отложенного контекста. Среда выполнения Direct3D использует эти функции для взаимодействия с драйвером отображения пользовательского режима.
Поддерживается начиная с Windows 8.1.
[in/out] pWDDM2_0ContextFuncs
Указатель на D3DWDDM2_0DDI_DEVICEFUNCS структуру, в которую драйвер отображения пользовательского режима заполняет таблицу функций устройств для WDDM 2.0. Среда выполнения Direct3D использует эти функции для взаимодействия с драйвером отображения пользовательского режима.
pWDDM2_1ContextFuncs
Указатель на структуру D3DWDDM2_1DDI_DEVICEFUNCS , в которую драйвер отображения пользовательского режима заполняет таблицу функций устройств для WDDM 2.1. Среда выполнения Direct3D использует эти функции для взаимодействия с драйвером отображения пользовательского режима.
pWDDM2_2ContextFuncs
Указатель на структуру D3DWDDM2_2DDI_DEVICEFUNCS , в которую драйвер отображения пользовательского режима заполняет таблицу функций устройств для WDDM 2.2. Среда выполнения Direct3D использует эти функции для взаимодействия с драйвером отображения пользовательского режима.
pWDDM2_6ContextFuncs
Указатель на структуру D3DWDDM2_6DDI_DEVICEFUNCS , в которую драйвер отображения пользовательского режима заполняет таблицу функций устройств для WDDM 2.6. Среда выполнения Direct3D использует эти функции для взаимодействия с драйвером отображения пользовательского режима.
[in] hDrvContext
Дескриптор контекста драйвера для хранилища частных дескрипторов драйвера.
[in] hRTCoreLayer
Дескриптор, который драйвер должен использовать при вызове обратно в среду выполнения Direct3D для доступа к основным функциям Direct3D 11 (то есть, когда драйвер вызывает функции, которые указывает член p11UMCallbacks ).
[in] p11UMCallbacks
Указатель на структуру D3D11DDI_CORELAYER_DEVICECALLBACKS , содержащую таблицу функций до WDDM 2.0 функций обратного вызова среды выполнения Direct3D 11, которые драйвер может использовать для доступа к основным функциям среды выполнения в пользовательском режиме.
pWDDM2_0UMCallbacks
Указатель на структуру D3DWDDM2_0DDI_CORELAYER_DEVICECALLBACKS , содержащую таблицу функций WDDM 2.0 функций обратного вызова устройств уровня ядра Direct3D 11, которые драйвер может использовать для доступа к основным функциям среды выполнения в пользовательском режиме.
pWDDM2_2UMCallbacks
Указатель на структуру D3DWDDM2_2DDI_CORELAYER_DEVICECALLBACKS , содержащую таблицу функций WDDM 2.2 функций обратного вызова устройств уровня ядра Direct3D 11, которые драйвер может использовать для доступа к основным функциям среды выполнения в пользовательском режиме.
pWDDM2_6UMCallbacks
Указатель на структуру D3DWDDM2_6DDI_CORELAYER_DEVICECALLBACKS , содержащую таблицу функций WDDM 2.6 функций обратного вызова устройств уровня ядра Direct3D 11, которые драйвер может использовать для доступа к основным функциям среды выполнения пользовательского режима.
[in] Flags
Допустимые побитовые ЗНАЧЕНИЯ или флага D3D10DDI_CREATEDEVICE_FLAG_XXX, определяющие способ создания устройства отрисовки. Среда выполнения Direct3D поддерживает следующие флаги:
Flag | Значение |
---|---|
D3D10DDI_CREATEDEVICE_FLAG_DISABLE_EXTRA_THREAD_CREATION (0x1) | Если этот параметр задан, драйвер отображения пользовательского режима не должен запускать несколько потоков одновременно при обработке вызовов своих функций из среды выполнения Direct3D. Драйвер обычно может запускать и запускать несколько потоков для ускорения обработки операций, если не задано D3D10DDI_CREATEDEVICE_FLAG_DISABLE_EXTRA_THREAD_CREATION. |
D3D11DDI_CREATEDEVICE_FLAG_SINGLETHREADED (0x10) | Этот флаг сообщает драйверу отображения пользовательского режима, что приложение является однопоточным. Среда выполнения Direct3D версии 11 позволяет нескольким потокам приложений входить в драйвер, если драйвер разрешает этот режим работы. Однако не все приложения могут запускать несколько потоков. Если этот флаг установлен, драйвер не будет ожидать, что несколько потоков будут входить в него и выполняться одновременно. Драйвер может избежать синхронизации при наличии этого флага. |
Флаг, заданный в маске 0xE элемента Flags | Этот флаг представляет уровень трехмерного конвейера, который драйвер должен поддерживать для устройства отображения. Драйвер использует следующие константы и макросы для извлечения одного из значений из перечисления 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 7 |
Верхняя часть | d3d10umddi.h (включая D3d10umddi.h) |
См. также раздел
D3D11DDI_3DPIPELINESUPPORT_CAPS