структура D3D10DDI_DEVICEFUNCS (d3d10umddi.h)
Структура D3D10DDI_DEVICEFUNCS содержит функции, которые драйвер отображения пользовательского режима может реализовать для отрисовки графических примитивов и изменения состояния обработки.
Синтаксис
typedef struct D3D10DDI_DEVICEFUNCS {
PFND3D10DDI_RESOURCEUPDATESUBRESOURCEUP pfnDefaultConstantBufferUpdateSubresourceUP;
PFND3D10DDI_SETCONSTANTBUFFERS pfnVsSetConstantBuffers;
PFND3D10DDI_SETSHADERRESOURCES pfnPsSetShaderResources;
PFND3D10DDI_SETSHADER pfnPsSetShader;
PFND3D10DDI_SETSAMPLERS pfnPsSetSamplers;
PFND3D10DDI_SETSHADER pfnVsSetShader;
PFND3D10DDI_DRAWINDEXED pfnDrawIndexed;
PFND3D10DDI_DRAW pfnDraw;
PFND3D10DDI_RESOURCEMAP pfnDynamicIABufferMapNoOverwrite;
PFND3D10DDI_RESOURCEUNMAP pfnDynamicIABufferUnmap;
PFND3D10DDI_RESOURCEMAP pfnDynamicConstantBufferMapDiscard;
PFND3D10DDI_RESOURCEMAP pfnDynamicIABufferMapDiscard;
PFND3D10DDI_RESOURCEUNMAP pfnDynamicConstantBufferUnmap;
PFND3D10DDI_SETCONSTANTBUFFERS pfnPsSetConstantBuffers;
PFND3D10DDI_SETINPUTLAYOUT pfnIaSetInputLayout;
PFND3D10DDI_IA_SETVERTEXBUFFERS pfnIaSetVertexBuffers;
PFND3D10DDI_IA_SETINDEXBUFFER pfnIaSetIndexBuffer;
PFND3D10DDI_DRAWINDEXEDINSTANCED pfnDrawIndexedInstanced;
PFND3D10DDI_DRAWINSTANCED pfnDrawInstanced;
PFND3D10DDI_RESOURCEMAP pfnDynamicResourceMapDiscard;
PFND3D10DDI_RESOURCEUNMAP pfnDynamicResourceUnmap;
PFND3D10DDI_SETCONSTANTBUFFERS pfnGsSetConstantBuffers;
PFND3D10DDI_SETSHADER pfnGsSetShader;
PFND3D10DDI_IA_SETTOPOLOGY pfnIaSetTopology;
PFND3D10DDI_RESOURCEMAP pfnStagingResourceMap;
PFND3D10DDI_RESOURCEUNMAP pfnStagingResourceUnmap;
PFND3D10DDI_SETSHADERRESOURCES pfnVsSetShaderResources;
PFND3D10DDI_SETSAMPLERS pfnVsSetSamplers;
PFND3D10DDI_SETSHADERRESOURCES pfnGsSetShaderResources;
PFND3D10DDI_SETSAMPLERS pfnGsSetSamplers;
PFND3D10DDI_SETRENDERTARGETS pfnSetRenderTargets;
PFND3D10DDI_SHADERRESOURCEVIEWREADAFTERWRITEHAZARD pfnShaderResourceViewReadAfterWriteHazard;
PFND3D10DDI_RESOURCEREADAFTERWRITEHAZARD pfnResourceReadAfterWriteHazard;
PFND3D10DDI_SETBLENDSTATE pfnSetBlendState;
PFND3D10DDI_SETDEPTHSTENCILSTATE pfnSetDepthStencilState;
PFND3D10DDI_SETRASTERIZERSTATE pfnSetRasterizerState;
PFND3D10DDI_QUERYEND pfnQueryEnd;
PFND3D10DDI_QUERYBEGIN pfnQueryBegin;
PFND3D10DDI_RESOURCECOPYREGION pfnResourceCopyRegion;
PFND3D10DDI_RESOURCEUPDATESUBRESOURCEUP pfnResourceUpdateSubresourceUP;
PFND3D10DDI_SO_SETTARGETS pfnSoSetTargets;
PFND3D10DDI_DRAWAUTO pfnDrawAuto;
PFND3D10DDI_SETVIEWPORTS pfnSetViewports;
PFND3D10DDI_SETSCISSORRECTS pfnSetScissorRects;
PFND3D10DDI_CLEARRENDERTARGETVIEW pfnClearRenderTargetView;
PFND3D10DDI_CLEARDEPTHSTENCILVIEW pfnClearDepthStencilView;
PFND3D10DDI_SETPREDICATION pfnSetPredication;
PFND3D10DDI_QUERYGETDATA pfnQueryGetData;
PFND3D10DDI_FLUSH pfnFlush;
PFND3D10DDI_GENMIPS pfnGenMips;
PFND3D10DDI_RESOURCECOPY pfnResourceCopy;
PFND3D10DDI_RESOURCERESOLVESUBRESOURCE pfnResourceResolveSubresource;
PFND3D10DDI_RESOURCEMAP pfnResourceMap;
PFND3D10DDI_RESOURCEUNMAP pfnResourceUnmap;
PFND3D10DDI_RESOURCEISSTAGINGBUSY pfnResourceIsStagingBusy;
PFND3D10DDI_RELOCATEDEVICEFUNCS pfnRelocateDeviceFuncs;
PFND3D10DDI_CALCPRIVATERESOURCESIZE pfnCalcPrivateResourceSize;
PFND3D10DDI_CALCPRIVATEOPENEDRESOURCESIZE pfnCalcPrivateOpenedResourceSize;
PFND3D10DDI_CREATERESOURCE pfnCreateResource;
PFND3D10DDI_OPENRESOURCE pfnOpenResource;
PFND3D10DDI_DESTROYRESOURCE pfnDestroyResource;
PFND3D10DDI_CALCPRIVATESHADERRESOURCEVIEWSIZE pfnCalcPrivateShaderResourceViewSize;
PFND3D10DDI_CREATESHADERRESOURCEVIEW pfnCreateShaderResourceView;
PFND3D10DDI_DESTROYSHADERRESOURCEVIEW pfnDestroyShaderResourceView;
PFND3D10DDI_CALCPRIVATERENDERTARGETVIEWSIZE pfnCalcPrivateRenderTargetViewSize;
PFND3D10DDI_CREATERENDERTARGETVIEW pfnCreateRenderTargetView;
PFND3D10DDI_DESTROYRENDERTARGETVIEW pfnDestroyRenderTargetView;
PFND3D10DDI_CALCPRIVATEDEPTHSTENCILVIEWSIZE pfnCalcPrivateDepthStencilViewSize;
PFND3D10DDI_CREATEDEPTHSTENCILVIEW pfnCreateDepthStencilView;
PFND3D10DDI_DESTROYDEPTHSTENCILVIEW pfnDestroyDepthStencilView;
PFND3D10DDI_CALCPRIVATEELEMENTLAYOUTSIZE pfnCalcPrivateElementLayoutSize;
PFND3D10DDI_CREATEELEMENTLAYOUT pfnCreateElementLayout;
PFND3D10DDI_DESTROYELEMENTLAYOUT pfnDestroyElementLayout;
PFND3D10DDI_CALCPRIVATEBLENDSTATESIZE pfnCalcPrivateBlendStateSize;
PFND3D10DDI_CREATEBLENDSTATE pfnCreateBlendState;
PFND3D10DDI_DESTROYBLENDSTATE pfnDestroyBlendState;
PFND3D10DDI_CALCPRIVATEDEPTHSTENCILSTATESIZE pfnCalcPrivateDepthStencilStateSize;
PFND3D10DDI_CREATEDEPTHSTENCILSTATE pfnCreateDepthStencilState;
PFND3D10DDI_DESTROYDEPTHSTENCILSTATE pfnDestroyDepthStencilState;
PFND3D10DDI_CALCPRIVATERASTERIZERSTATESIZE pfnCalcPrivateRasterizerStateSize;
PFND3D10DDI_CREATERASTERIZERSTATE pfnCreateRasterizerState;
PFND3D10DDI_DESTROYRASTERIZERSTATE pfnDestroyRasterizerState;
PFND3D10DDI_CALCPRIVATESHADERSIZE pfnCalcPrivateShaderSize;
PFND3D10DDI_CREATEVERTEXSHADER pfnCreateVertexShader;
PFND3D10DDI_CREATEGEOMETRYSHADER pfnCreateGeometryShader;
PFND3D10DDI_CREATEPIXELSHADER pfnCreatePixelShader;
PFND3D10DDI_CALCPRIVATEGEOMETRYSHADERWITHSTREAMOUTPUT pfnCalcPrivateGeometryShaderWithStreamOutput;
PFND3D10DDI_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT pfnCreateGeometryShaderWithStreamOutput;
PFND3D10DDI_DESTROYSHADER pfnDestroyShader;
PFND3D10DDI_CALCPRIVATESAMPLERSIZE pfnCalcPrivateSamplerSize;
PFND3D10DDI_CREATESAMPLER pfnCreateSampler;
PFND3D10DDI_DESTROYSAMPLER pfnDestroySampler;
PFND3D10DDI_CALCPRIVATEQUERYSIZE pfnCalcPrivateQuerySize;
PFND3D10DDI_CREATEQUERY pfnCreateQuery;
PFND3D10DDI_DESTROYQUERY pfnDestroyQuery;
PFND3D10DDI_CHECKFORMATSUPPORT pfnCheckFormatSupport;
PFND3D10DDI_CHECKMULTISAMPLEQUALITYLEVELS pfnCheckMultisampleQualityLevels;
PFND3D10DDI_CHECKCOUNTERINFO pfnCheckCounterInfo;
PFND3D10DDI_CHECKCOUNTER pfnCheckCounter;
PFND3D10DDI_DESTROYDEVICE pfnDestroyDevice;
PFND3D10DDI_SETTEXTFILTERSIZE pfnSetTextFilterSize;
PFND3D10DDI_RESETPRIMITIVEID pfnResetPrimitiveID;
PFND3D10DDI_SETVERTEXPIPELINEOUTPUT pfnSetVertexPipelineOutput;
} D3D10DDI_DEVICEFUNCS;
Члены
pfnDefaultConstantBufferUpdateSubresourceUP
Указатель на функцию DefaultConstantBufferUpdateSubresourceUP драйвера.
pfnVsSetConstantBuffers
Указатель на функцию VsSetConstantBuffers драйвера.
pfnPsSetShaderResources
Указатель на функцию PsSetShaderResources драйвера.
pfnPsSetShader
Указатель на функцию PsSetShader драйвера.
pfnPsSetSamplers
Указатель на функцию PsSetSamplers драйвера.
pfnVsSetShader
Указатель на функцию VsSetShader драйвера.
pfnDrawIndexed
Указатель на функцию DrawIndexed драйвера.
pfnDraw
Указатель на функцию Draw драйвера.
pfnDynamicIABufferMapNoOverwrite
Указатель на функцию ResourceMap драйвера. Дополнительные сведения о том, следует ли реализовать отдельную функцию DynamicIABufferMapNoOverwrite или указывать на многоцелевую карту ResourceMap, см. в разделе Примечания resourceMap.
pfnDynamicIABufferUnmap
Указатель на функцию ResourceUnmap драйвера. Дополнительные сведения о том, следует ли реализовать отдельную функцию DynamicIABufferUnmap или указать на многоцелевой ResourceUnmap, см. в разделе Примечания статьи ResourceMap.
pfnDynamicConstantBufferMapDiscard
Указатель на функцию ResourceMap драйвера. Дополнительные сведения о том, следует ли реализовать отдельную функцию DynamicConstantBufferMapDiscard или указывать на многоцелевую карту ResourceMap, см. в разделе Примечания resourceMap.
pfnDynamicIABufferMapDiscard
Указатель на функцию ResourceMap драйвера. Дополнительные сведения о том, следует ли реализовать отдельную функцию DynamicIABufferMapDiscard или указывать на многоцелевую карту ResourceMap, см. в разделе Примечания статьи ResourceMap.
pfnDynamicConstantBufferUnmap
Указатель на функцию ResourceUnmap драйвера. Дополнительные сведения о том, следует ли реализовать отдельную функцию DynamicConstantBufferUnmap или указать на многоцелевой ResourceUnmap, см. в разделе Примечания статьи ResourceMap.
pfnPsSetConstantBuffers
Указатель на функцию PsSetConstantBuffers драйвера.
pfnIaSetInputLayout
Указатель на функцию IaSetInputLayout драйвера.
pfnIaSetVertexBuffers
Указатель на функцию IaSetVertexBuffers драйвера.
pfnIaSetIndexBuffer
Указатель на функцию IaSetIndexBuffer драйвера.
pfnDrawIndexedInstanced
Указатель на функцию DrawIndexedInstanced драйвера.
pfnDrawInstanced
Указатель на функцию DrawInstanced драйвера.
pfnDynamicResourceMapDiscard
Указатель на функцию ResourceMap драйвера. Дополнительные сведения о том, следует ли реализовать отдельную функцию DynamicResourceMapDiscard или указать на многоцелевую карту ResourceMap, см. в разделе Примечания resourceMap.
pfnDynamicResourceUnmap
Указатель на функцию ResourceUnmap драйвера. Дополнительные сведения о том, следует ли реализовать отдельную функцию DynamicResourceUnmap или указывать на многоцелевую функцию ResourceUnmap, см. в разделе Примечания resourceUnmap.
pfnGsSetConstantBuffers
Указатель на функцию GsSetConstantBuffers драйвера.
pfnGsSetShader
Указатель на функцию GsSetShader драйвера.
pfnIaSetTopology
Указатель на функцию IaSetTopology драйвера.
pfnStagingResourceMap
Указатель на функцию ResourceMap драйвера. Дополнительные сведения о том, следует ли реализовать отдельную функцию StagingResourceMap или указать на многоцелевую карту ResourceMap, см. в разделе Примечания статьи ResourceMap.
pfnStagingResourceUnmap
Указатель на функцию ResourceUnmap драйвера. Дополнительные сведения о том, следует ли реализовать отдельную функцию StagingResourceUnmap или указать на многоцелевую функцию ResourceUnmap, см. в разделе Примечания resourceMap.
pfnVsSetShaderResources
Указатель на функцию VsSetShaderResources драйвера.
pfnVsSetSamplers
Указатель на функцию VsSetSamplers драйвера.
pfnGsSetShaderResources
Указатель на функцию GsSetShaderResources драйвера.
pfnGsSetSamplers
Указатель на функцию GsSetSamplers драйвера.
pfnSetRenderTargets
Указатель на функцию SetRenderTargets драйвера.
pfnShaderResourceViewReadAfterWriteHazard
Указатель на функцию ShaderResourceViewReadAfterWriteHazard драйвера.
pfnResourceReadAfterWriteHazard
Указатель на функцию ResourceReadAfterWriteHazard драйвера.
pfnSetBlendState
Указатель на функцию SetBlendState драйвера.
pfnSetDepthStencilState
Указатель на функцию SetDepthStencilState драйвера.
pfnSetRasterizerState
Указатель на функцию SetRasterizerState драйвера.
pfnQueryEnd
Указатель на функцию QueryEnd драйвера.
pfnQueryBegin
Указатель на функцию QueryBegin драйвера.
pfnResourceCopyRegion
Указатель на функцию ResourceCopyRegion драйвера.
pfnResourceUpdateSubresourceUP
Указатель на функцию ResourceUpdateSubresourceUP драйвера.
pfnSoSetTargets
Указатель на функцию SoSetTargets драйвера.
pfnDrawAuto
Указатель на функцию DrawAuto драйвера.
pfnSetViewports
Указатель на функцию SetViewports драйвера.
pfnSetScissorRects
Указатель на функцию SetScissorRects драйвера.
pfnClearRenderTargetView
Указатель на функцию ClearRenderTargetView драйвера.
pfnClearDepthStencilView
Указатель на функцию ClearDepthStencilView драйвера.
pfnSetPredication
Указатель на функцию SetPredication драйвера.
pfnQueryGetData
Указатель на функцию QueryGetData драйвера.
pfnFlush
Указатель на функцию Flush(D3D10) драйвера.
pfnGenMips
Указатель на функцию GenMips драйвера.
pfnResourceCopy
Указатель на функцию ResourceCopy драйвера.
pfnResourceResolveSubresource
Указатель на функцию ResourceResolveSubresource драйвера.
pfnResourceMap
Указатель на функцию ResourceMap драйвера.
pfnResourceUnmap
Указатель на функцию ResourceUnmap драйвера.
pfnResourceIsStagingBusy
Указатель на функцию ResourceIsStagingBusy драйвера.
pfnRelocateDeviceFuncs
Указатель на функцию RelocateDeviceFuncs драйвера.
pfnCalcPrivateResourceSize
Указатель на функцию CalcPrivateResourceSize драйвера.
pfnCalcPrivateOpenedResourceSize
Указатель на функцию CalcPrivateOpenedResourceSize драйвера.
pfnCreateResource
Указатель на функцию CreateResource(D3D10) драйвера.
pfnOpenResource
Указатель на функцию OpenResource(D3D10) драйвера.
pfnDestroyResource
Указатель на функцию DestroyResource(D3D10) драйвера.
pfnCalcPrivateShaderResourceViewSize
Указатель на функцию CalcPrivateShaderResourceViewSize драйвера.
pfnCreateShaderResourceView
Указатель на функцию CreateShaderResourceView драйвера.
pfnDestroyShaderResourceView
Указатель на функцию DestroyShaderResourceView драйвера.
pfnCalcPrivateRenderTargetViewSize
Указатель на функцию CalcPrivateRenderTargetViewSize драйвера.
pfnCreateRenderTargetView
Указатель на функцию CreateRenderTargetView драйвера.
pfnDestroyRenderTargetView
Указатель на функцию DestroyRenderTargetView драйвера.
pfnCalcPrivateDepthStencilViewSize
Указатель на функцию CalcPrivateDepthStencilViewSize драйвера.
pfnCreateDepthStencilView
Указатель на функцию CreateDepthStencilView драйвера.
pfnDestroyDepthStencilView
Указатель на функцию DestroyDepthStencilView драйвера.
pfnCalcPrivateElementLayoutSize
Указатель на функцию CalcPrivateElementLayoutSize драйвера.
pfnCreateElementLayout
Указатель на функцию CreateElementLayout драйвера.
pfnDestroyElementLayout
Указатель на функцию DestroyElementLayout драйвера.
pfnCalcPrivateBlendStateSize
Указатель на функцию CalcPrivateBlendStateSize драйвера.
pfnCreateBlendState
Указатель на функцию CreateBlendState драйвера.
pfnDestroyBlendState
Указатель на функцию DestroyBlendState драйвера.
pfnCalcPrivateDepthStencilStateSize
Указатель на функцию CalcPrivateDepthStencilStateSize драйвера.
pfnCreateDepthStencilState
Указатель на функцию CreateDepthStencilState драйвера.
pfnDestroyDepthStencilState
Указатель на функцию DestroyDepthStencilState драйвера.
pfnCalcPrivateRasterizerStateSize
Указатель на функцию CalcPrivateRasterizerStateSize драйвера.
pfnCreateRasterizerState
Указатель на функцию CreateRasterizerState драйвера.
pfnDestroyRasterizerState
Указатель на функцию DestroyRasterizerState драйвера.
pfnCalcPrivateShaderSize
Указатель на функцию CalcPrivateShaderSize драйвера.
pfnCreateVertexShader
Указатель на функцию CreateVertexShader(D3D10) драйвера.
pfnCreateGeometryShader
Указатель на функцию CreateGeometryShader драйвера.
pfnCreatePixelShader
Указатель на функцию CreatePixelShader(D3D10) драйвера.
pfnCalcPrivateGeometryShaderWithStreamOutput
Указатель на функцию CalcPrivateGeometryShaderWithStreamOutput драйвера.
pfnCreateGeometryShaderWithStreamOutput
Указатель на функцию CreateGeometryShaderWithStreamOutput драйвера.
pfnDestroyShader
Указатель на функцию DestroyShader драйвера.
pfnCalcPrivateSamplerSize
Указатель на функцию CalcPrivateSamplerSize драйвера.
pfnCreateSampler
Указатель на функцию CreateSampler драйвера.
pfnDestroySampler
Указатель на функцию DestroySampler драйвера.
pfnCalcPrivateQuerySize
Указатель на функцию CalcPrivateQuerySize драйвера.
pfnCreateQuery
Указатель на функцию CreateQuery(D3D10) драйвера.
pfnDestroyQuery
Указатель на функцию DestroyQuery(D3D10) драйвера.
pfnCheckFormatSupport
Указатель на функцию CheckFormatSupport драйвера.
pfnCheckMultisampleQualityLevels
Указатель на функцию CheckMultisampleQualityLevels драйвера.
pfnCheckCounterInfo
Указатель на функцию CheckCounterInfo драйвера.
pfnCheckCounter
Указатель на функцию CheckCounter драйвера.
pfnDestroyDevice
Указатель на функцию DestroyDevice(D3D10) драйвера.
pfnSetTextFilterSize
Указатель на функцию SetTextFilterSize драйвера.
pfnResetPrimitiveID
pfnSetVertexPipelineOutput
Комментарии
Порядок функций драйвера отображения в пользовательском режиме (т. е. порядок членов структуры D3D10DDI_DEVICEFUNCS) находится в порядке уменьшения приоритета (в отношении производительности).
Драйвер отображения пользовательского режима может использовать разные имена для этих функций, так как адрес таблицы функций (эта структура) является общим для среды выполнения Direct3D 10 и драйвера посредством вызова функции CreateDevice(D3D10) драйвера.
Члены pfnResetPrimitiveID и pfnSetVertexPipelineOutput (не показаны здесь) и их типы данных зарезервированы для системного использования и не должны использоваться в драйвере.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Доступно в Windows Vista и более поздних версиях операционных систем Windows. |
Верхняя часть | d3d10umddi.h (включая D3d10umddi.h) |