Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Этот раздел относится только к Windows 7 и более поздним версиям, а также к windows Server 2008 R2 и более поздним версиям операционной системы Windows.
Когда среда выполнения Microsoft Direct3D вызывает функцию CreateDeferredContext драйвера в пользовательском режиме для создания отложенного контекста, драйвер предоставляет функции, которые среда выполнения может вызывать для этого отложенного контекста. Драйвер заполняет элементы структуры D3D11DDI_DEVICEFUNCS, на которую указывает элемент p11ContextFuncs в структуре D3D11DDIARG_CREATEDEFERREDCONTEXT. Драйвер предоставляет только подмножество функций для отложенного контекста, аналогично тому, как для непосредственного контекста.
Драйвер исключает множество функций для отложенных контекстов, задав следующие члены D3D11DDI_DEVICEFUNCS или D3D11_1DDI_DEVICEFUNCS значение NULL:
typedef struct D3D11DDI_DEVICEFUNCS {
...
PFND3D10DDI_RESOURCEMAP pfnStagingResourceMap;
PFND3D10DDI_RESOURCEUNMAP pfnStagingResourceUnmap;
PFND3D10DDI_QUERYGETDATA pfnQueryGetData;
PFND3D10DDI_FLUSH pfnFlush;
PFND3D10DDI_RESOURCEMAP pfnResourceMap;
PFND3D10DDI_RESOURCEUNMAP pfnResourceUnmap;
PFND3D10DDI_RESOURCEISSTAGINGBUSY pfnResourceIsStagingBusy;
PFND3D11DDI_CALCPRIVATERESOURCESIZE pfnCalcPrivateResourceSize;
PFND3D10DDI_CALCPRIVATEOPENEDRESOURCESIZE pfnCalcPrivateOpenedResourceSize;
PFND3D10DDI_OPENRESOURCE fnOpenResource;
PFND3D11DDI_CALCPRIVATESHADERRESOURCEVIEWSIZE pfnCalcPrivateShaderResourceViewSize;
PFND3D10DDI_CALCPRIVATERENDERTARGETVIEWSIZE pfnCalcPrivateRenderTargetViewSize;
PFND3D11DDI_CALCPRIVATEDEPTHSTENCILVIEWSIZE pfnCalcPrivateDepthStencilViewSize;
PFND3D10DDI_CALCPRIVATEELEMENTLAYOUTSIZE pfnCalcPrivateElementLayoutSize;
PFND3D10_1DDI_CALCPRIVATEBLENDSTATESIZE pfnCalcPrivateBlendStateSize;
PFND3D10DDI_CALCPRIVATEDEPTHSTENCILSTATESIZE pfnCalcPrivateDepthStencilStateSize;
PFND3D10DDI_CALCPRIVATERASTERIZERSTATESIZE pfnCalcPrivateRasterizerStateSize;
PFND3D10DDI_CALCPRIVATESHADERSIZE pfnCalcPrivateShaderSize;
PFND3D11DDI_CALCPRIVATEGEOMETRYSHADERWITHSTREAMOUTPUT pfnCalcPrivateGeometryShaderWithStreamOutput;
PFND3D10DDI_CALCPRIVATESAMPLERSIZE pfnCalcPrivateSamplerSize;
PFND3D10DDI_CALCPRIVATEQUERYSIZE pfnCalcPrivateQuerySize;
PFND3D10DDI_CHECKFORMATSUPPORT pfnCheckFormatSupport;
PFND3D10DDI_CHECKMULTISAMPLEQUALITYLEVELS pfnCheckMultisampleQualityLevels;
PFND3D10DDI_CHECKCOUNTERINFO pfnCheckCounterInfo;
PFND3D10DDI_CHECKCOUNTER pfnCheckCounter;
PFND3D11DDI_CHECKDEFERREDCONTEXTHANDLESIZES pfnCheckDeferredContextHandleSizes;
PFND3D11DDI_CALCDEFERREDCONTEXTHANDLESIZE pfnCalcDeferredContextHandleSize;
PFND3D11DDI_CALCPRIVATEDEFERREDCONTEXTSIZE pfnCalcPrivateDeferredContextSize;
PFND3D11DDI_CREATEDEFERREDCONTEXT pfnCreateDeferredContext;
PFND3D11DDI_CALCPRIVATECOMMANDLISTSIZE pfnCalcPrivateCommandListSize;
PFND3D11DDI_CALCPRIVATETESSELLATIONSHADERSIZE pfnCalcPrivateTessellationShaderSize;
PFND3D11DDI_CALCPRIVATEUNORDEREDACCESSVIEWSIZE pfnCalcPrivateUnorderedAccessViewSize;
PFND3D11DDI_SETRESOURCEMINLOD pfnSetResourceMinLOD;
} D3D11DDI_DEVICEFUNCS;
typedef struct D3D11_1DDI_DEVICEFUNCS {
...
PFND3D10DDI_RESOURCEMAP pfnStagingResourceMap;
PFND3D10DDI_RESOURCEUNMAP pfnStagingResourceUnmap;
PFND3D10DDI_QUERYGETDATA pfnQueryGetData;
PFND3D11_1DDI_FLUSH pfnFlush;
PFND3D10DDI_RESOURCEMAP pfnResourceMap;
PFND3D10DDI_RESOURCEUNMAP pfnResourceUnmap;
PFND3D10DDI_RESOURCEISSTAGINGBUSY pfnResourceIsStagingBusy;
PFND3D11DDI_CALCPRIVATERESOURCESIZE pfnCalcPrivateResourceSize;
PFND3D10DDI_CALCPRIVATEOPENEDRESOURCESIZE pfnCalcPrivateOpenedResourceSize;
PFND3D10DDI_OPENRESOURCE fnOpenResource;
PFND3D11DDI_CALCPRIVATESHADERRESOURCEVIEWSIZE pfnCalcPrivateShaderResourceViewSize;
PFND3D10DDI_CALCPRIVATERENDERTARGETVIEWSIZE pfnCalcPrivateRenderTargetViewSize;
PFND3D11DDI_CALCPRIVATEDEPTHSTENCILVIEWSIZE pfnCalcPrivateDepthStencilViewSize;
PFND3D10DDI_CALCPRIVATEELEMENTLAYOUTSIZE pfnCalcPrivateElementLayoutSize;
PFND3D11_1DDI_CALCPRIVATEBLENDSTATESIZE pfnCalcPrivateBlendStateSize;
PFND3D10DDI_CALCPRIVATEDEPTHSTENCILSTATESIZE pfnCalcPrivateDepthStencilStateSize;
PFND3D11_1DDI_CALCPRIVATERASTERIZERSTATESIZE pfnCalcPrivateRasterizerStateSize;
PFND3D11_1DDI_CALCPRIVATESHADERSIZE pfnCalcPrivateShaderSize;
PFND3D11_1DDI_CALCPRIVATEGEOMETRYSHADERWITHSTREAMOUTPUT pfnCalcPrivateGeometryShaderWithStreamOutput;
PFND3D10DDI_CALCPRIVATESAMPLERSIZE pfnCalcPrivateSamplerSize;
PFND3D10DDI_CALCPRIVATEQUERYSIZE pfnCalcPrivateQuerySize;
PFND3D10DDI_CHECKFORMATSUPPORT pfnCheckFormatSupport;
PFND3D10DDI_CHECKMULTISAMPLEQUALITYLEVELS pfnCheckMultisampleQualityLevels;
PFND3D10DDI_CHECKCOUNTERINFO pfnCheckCounterInfo;
PFND3D10DDI_CHECKCOUNTER pfnCheckCounter;
PFND3D11DDI_CHECKDEFERREDCONTEXTHANDLESIZES pfnCheckDeferredContextHandleSizes;
PFND3D11DDI_CALCDEFERREDCONTEXTHANDLESIZE pfnCalcDeferredContextHandleSize;
PFND3D11DDI_CALCPRIVATEDEFERREDCONTEXTSIZE pfnCalcPrivateDeferredContextSize;
PFND3D11DDI_CREATEDEFERREDCONTEXT pfnCreateDeferredContext;
PFND3D11DDI_CALCPRIVATECOMMANDLISTSIZE pfnCalcPrivateCommandListSize;
PFND3D11_1DDI_CALCPRIVATETESSELLATIONSHADERSIZE pfnCalcPrivateTessellationShaderSize;
PFND3D11DDI_CALCPRIVATEUNORDEREDACCESSVIEWSIZE pfnCalcPrivateUnorderedAccessViewSize;
PFND3D11DDI_SETRESOURCEMINLOD pfnSetResourceMinLOD;
} D3D11DDI_DEVICEFUNCS;