Compartir a través de


estructura D3D10_1DDI_DEVICEFUNCS (d3d10umddi.h)

La estructura de D3D10_1DDI_DEVICEFUNCS contiene funciones que un controlador de pantalla en modo de usuario optimizado para el runtime de Microsoft Direct3D versión 10.1 puede implementar para representar primitivos de gráficos y procesar cambios de estado.

Sintaxis

typedef struct D3D10_1DDI_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;
  PFND3D10_1DDI_RELOCATEDEVICEFUNCS                     pfnRelocateDeviceFuncs;
  PFND3D10DDI_CALCPRIVATERESOURCESIZE                   pfnCalcPrivateResourceSize;
  PFND3D10DDI_CALCPRIVATEOPENEDRESOURCESIZE             pfnCalcPrivateOpenedResourceSize;
  PFND3D10DDI_CREATERESOURCE                            pfnCreateResource;
  PFND3D10DDI_OPENRESOURCE                              pfnOpenResource;
  PFND3D10DDI_DESTROYRESOURCE                           pfnDestroyResource;
  PFND3D10_1DDI_CALCPRIVATESHADERRESOURCEVIEWSIZE       pfnCalcPrivateShaderResourceViewSize;
  PFND3D10_1DDI_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;
  PFND3D10_1DDI_CALCPRIVATEBLENDSTATESIZE               pfnCalcPrivateBlendStateSize;
  PFND3D10_1DDI_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_RESOURCECOPY                              pfnResourceConvert;
  PFND3D10DDI_RESOURCECOPYREGION                        pfnResourceConvertRegion;
  PFND3D10DDI_RESETPRIMITIVEID                          pfnResetPrimitiveID;
  PFND3D10DDI_SETVERTEXPIPELINEOUTPUT                   pfnSetVertexPipelineOutput;
} D3D10_1DDI_DEVICEFUNCS;

Miembros

pfnDefaultConstantBufferUpdateSubresourceUP

Puntero a la función DefaultConstantBufferUpdateSubresourceUP del controlador.

pfnVsSetConstantBuffers

Puntero a la función VsSetConstantBuffers del controlador.

pfnPsSetShaderResources

Puntero a la función PsSetShaderResources del controlador.

pfnPsSetShader

Puntero a la función PsSetShader del controlador.

pfnPsSetSamplers

Puntero a la función PsSetSamplers del controlador.

pfnVsSetShader

Puntero a la función VsSetShader del controlador.

pfnDrawIndexed

Puntero a la función DrawIndexed del controlador.

pfnDraw

Puntero a la función Draw del controlador.

pfnDynamicIABufferMapNoOverwrite

Puntero a la función ResourceMap del controlador. Para obtener más información sobre si implementar una función DynamicIABufferMapNoOverwrite independiente o apuntar a ResourceMap multipropósito, vea la sección Comentarios de ResourceMap.

pfnDynamicIABufferUnmap

Puntero a la función ResourceUnmap del controlador. Para obtener más información sobre si implementar una función DynamicIABufferUnmap independiente o apuntar a ResourceUnmap multipropósito, vea la sección Comentarios de ResourceMap.

pfnDynamicConstantBufferMapDiscard

Puntero a la función ResourceMap del controlador. Para obtener más información sobre si implementar una función DynamicConstantBufferMapDiscard independiente o apuntar a ResourceMap multipropósito, vea la sección Comentarios de ResourceMap.

pfnDynamicIABufferMapDiscard

Puntero a la función ResourceMap del controlador. Para obtener más información sobre si implementar una función DynamicIABufferMapDiscard independiente o apuntar a ResourceMap multipropósito, vea la sección Comentarios de ResourceMap.

pfnDynamicConstantBufferUnmap

Puntero a la función ResourceUnmap del controlador. Para obtener más información sobre si implementar una función DynamicConstantBufferUnmap independiente o apuntar a ResourceUnmap multipropósito, vea la sección Comentarios de ResourceMap.

pfnPsSetConstantBuffers

Puntero a la función PsSetConstantBuffers del controlador.

pfnIaSetInputLayout

Puntero a la función IaSetInputLayout del controlador.

pfnIaSetVertexBuffers

Puntero a la función IaSetVertexBuffers del controlador.

pfnIaSetIndexBuffer

Puntero a la función IaSetIndexBuffer del controlador.

pfnDrawIndexedInstanced

Puntero a la función DrawIndexedInstanced del controlador.

pfnDrawInstanced

Puntero a la función DrawInstanced del controlador.

pfnDynamicResourceMapDiscard

Puntero a la función ResourceMap del controlador. Para obtener más información sobre si implementar una función DynamicResourceMapDiscard independiente o apuntar a ResourceMap multipropósito, vea la sección Comentarios de ResourceMap.

pfnDynamicResourceUnmap

Puntero a la función ResourceUnmap del controlador. Para obtener más información sobre si implementar una función DynamicResourceUnmap independiente o apuntar a ResourceUnmap multipropósito, vea la sección Comentarios de ResourceMap.

pfnGsSetConstantBuffers

Puntero a la función GsSetConstantBuffers del controlador.

pfnGsSetShader

Puntero a la función GsSetShader del controlador.

pfnIaSetTopology

Puntero a la función IaSetTopology del controlador.

pfnStagingResourceMap

Puntero a la función ResourceMap del controlador. Para obtener más información sobre si implementar una función StagingResourceMap independiente o apuntar a ResourceMap multipropósito, vea la sección Comentarios de ResourceMap.

pfnStagingResourceUnmap

Puntero a la función ResourceUnmap del controlador. Para obtener más información sobre si implementar una función StagingResourceUnmap independiente o apuntar a ResourceUnmap multipropósito, vea la sección Comentarios de ResourceMap.

pfnVsSetShaderResources

Puntero a la función VsSetShaderResources del controlador.

pfnVsSetSamplers

Puntero a la función VsSetSamplers del controlador.

pfnGsSetShaderResources

Puntero a la función GsSetShaderResources del controlador.

pfnGsSetSamplers

Puntero a la función GsSetSamplers del controlador.

pfnSetRenderTargets

Puntero a la función SetRenderTargets del controlador.

pfnShaderResourceViewReadAfterWriteHazard

Puntero a la función ShaderResourceViewReadAfterWriteHazard del controlador.

pfnResourceReadAfterWriteHazard

Puntero a la función ResourceReadAfterWriteHazard del controlador.

pfnSetBlendState

Puntero a la función SetBlendState del controlador.

pfnSetDepthStencilState

Puntero a la función SetDepthStencilState del controlador.

pfnSetRasterizerState

Puntero a la función SetRasterizerState del controlador.

pfnQueryEnd

Puntero a la función QueryEnd del controlador.

pfnQueryBegin

Puntero a la función QueryBegin del controlador.

pfnResourceCopyRegion

Puntero a la función ResourceCopyRegion del controlador.

pfnResourceUpdateSubresourceUP

Puntero a la función ResourceUpdateSubresourceUP del controlador.

pfnSoSetTargets

Puntero a la función SoSetTargets del controlador.

pfnDrawAuto

Puntero a la función DrawAuto del controlador.

pfnSetViewports

Puntero a la función SetViewports del controlador.

pfnSetScissorRects

Puntero a la función SetScissorRects del controlador.

pfnClearRenderTargetView

Puntero a la función ClearRenderTargetView del controlador.

pfnClearDepthStencilView

Puntero a la función ClearDepthStencilView del controlador.

pfnSetPredication

Puntero a la función SetPredication del controlador.

pfnQueryGetData

Puntero a la función QueryGetData del controlador.

pfnFlush

Puntero a la función Flush(D3D10) del controlador.

pfnGenMips

Puntero a la función GenMips del controlador.

pfnResourceCopy

Puntero a la función ResourceCopy del controlador.

pfnResourceResolveSubresource

Puntero a la función ResourceResolveSubresource del controlador.

pfnResourceMap

Puntero a la función ResourceMap del controlador.

pfnResourceUnmap

Puntero a la función ResourceUnmap del controlador.

pfnResourceIsStagingBusy

Puntero a la función ResourceIsStagingBusy del controlador.

pfnRelocateDeviceFuncs

Puntero a la función RelocateDeviceFuncs(D3D10_1) del controlador.

pfnCalcPrivateResourceSize

Puntero a la función CalcPrivateResourceSize del controlador.

pfnCalcPrivateOpenedResourceSize

Puntero a la función CalcPrivateOpenedResourceSize del controlador.

pfnCreateResource

Puntero a la función CreateResource(D3D10) del controlador.

pfnOpenResource

Puntero a la función OpenResource(D3D10) del controlador.

pfnDestroyResource

Puntero a la función DestroyResource(D3D10) del controlador.

pfnCalcPrivateShaderResourceViewSize

Puntero a la función CalcPrivateShaderResourceViewSize(D3D10_1) del controlador.

pfnCreateShaderResourceView

Puntero a la función CreateShaderResourceView(D3D10_1) del controlador.

pfnDestroyShaderResourceView

Puntero a la función DestroyShaderResourceView del controlador.

pfnCalcPrivateRenderTargetViewSize

Puntero a la función CalcPrivateRenderTargetViewSize del controlador.

pfnCreateRenderTargetView

Puntero a la función CreateRenderTargetView del controlador.

pfnDestroyRenderTargetView

Puntero a la función DestroyRenderTargetView del controlador.

pfnCalcPrivateDepthStencilViewSize

Puntero a la función CalcPrivateDepthStencilViewSize del controlador.

pfnCreateDepthStencilView

Puntero a la función CreateDepthStencilView del controlador.

pfnDestroyDepthStencilView

Puntero a la función DestroyDepthStencilView del controlador.

pfnCalcPrivateElementLayoutSize

Puntero a la función CalcPrivateElementLayoutSize del controlador.

pfnCreateElementLayout

Puntero a la función CreateElementLayout del controlador.

pfnDestroyElementLayout

Puntero a la función DestroyElementLayout del controlador.

pfnCalcPrivateBlendStateSize

Puntero a la función CalcPrivateBlendStateSize(D3D10_1) del controlador.

pfnCreateBlendState

Puntero a la función CreateBlendState(D3D10_1) del controlador.

pfnDestroyBlendState

Puntero a la función DestroyBlendState del controlador.

pfnCalcPrivateDepthStencilStateSize

Puntero a la función CalcPrivateDepthStencilStateSize del controlador.

pfnCreateDepthStencilState

Puntero a la función CreateDepthStencilState del controlador.

pfnDestroyDepthStencilState

Puntero a la función DestroyDepthStencilState del controlador.

pfnCalcPrivateRasterizerStateSize

Puntero a la función CalcPrivateRasterizerStateSize del controlador.

pfnCreateRasterizerState

Puntero a la función CreateRasterizerState del controlador.

pfnDestroyRasterizerState

Puntero a la función DestroyRasterizerState del controlador.

pfnCalcPrivateShaderSize

Puntero a la función CalcPrivateShaderSize del controlador.

pfnCreateVertexShader

Puntero a la función CreateVertexShader(D3D10) del controlador.

pfnCreateGeometryShader

Puntero a la función CreateGeometryShader del controlador.

pfnCreatePixelShader

Puntero a la función CreatePixelShader(D3D10) del controlador.

pfnCalcPrivateGeometryShaderWithStreamOutput

Puntero a la función CalcPrivateGeometryShaderWithStreamOutput del controlador.

pfnCreateGeometryShaderWithStreamOutput

Puntero a la función CreateGeometryShaderWithStreamOutput del controlador.

pfnDestroyShader

Puntero a la función DestroyShader del controlador.

pfnCalcPrivateSamplerSize

Puntero a la función CalcPrivateSamplerSize del controlador.

pfnCreateSampler

Puntero a la función CreateSampler del controlador.

pfnDestroySampler

Puntero a la función DestroySampler del controlador.

pfnCalcPrivateQuerySize

Puntero a la función CalcPrivateQuerySize del controlador.

pfnCreateQuery

Puntero a la función CreateQuery(D3D10) del controlador.

pfnDestroyQuery

Puntero a la función DestroyQuery(D3D10) del controlador.

pfnCheckFormatSupport

Puntero a la función CheckFormatSupport del controlador.

pfnCheckMultisampleQualityLevels

Puntero a la función CheckMultisampleQualityLevels del controlador.

pfnCheckCounterInfo

Puntero a la función CheckCounterInfo del controlador.

pfnCheckCounter

Puntero a la función CheckCounter del controlador.

pfnDestroyDevice

Puntero a la función DestroyDevice(D3D10) del controlador.

pfnSetTextFilterSize

Puntero a la función SetTextFilterSize del controlador.

pfnResourceConvert

Puntero a la función ResourceCopy del controlador. Para obtener más información sobre si implementar una función ResourceConvert independiente o apuntar a ResourceCopy multipropósito, consulte la sección Comentarios de ResourceCopy.

pfnResourceConvertRegion

Puntero a la función ResourceCopyRegion del controlador. Para obtener más información sobre si implementar una función ResourceConvertRegion independiente o apuntar a ResourceCopyRegion multipropósito, consulte la sección Comentarios de ResourceCopyRegion.

pfnResetPrimitiveID

pfnSetVertexPipelineOutput

Comentarios

El orden de las funciones del controlador de visualización en modo de usuario (es decir, el orden de los miembros de la estructura D3D10_1DDI_DEVICEFUNCS) está disminuyendo el orden de prioridad (en lo que respecta al rendimiento).

El controlador de pantalla en modo de usuario puede usar nombres diferentes para estas funciones porque la dirección de la tabla de funciones (esta estructura) se comparte entre el entorno de ejecución de Direct3D 10.1 y el controlador a través de la llamada a la función CreateDevice(D3D10) del controlador.

Los miembros pfnResetPrimitiveID y pfnSetVertexPipelineOutput (no se muestran aquí) y sus tipos de datos están reservados para uso del sistema y no deben usarse en el controlador.

Requisitos

Requisito Value
Cliente mínimo compatible D3D10_1DDI_DEVICEFUNCS se admite en Windows Vista con Service Pack 1 (SP1) y versiones posteriores y Windows Server 2008 y versiones posteriores.
Encabezado d3d10umddi.h (incluya D3d10umddi.h)

Consulte también

CreateDevice(D3D10)

D3D10DDIARG_CREATEDEVICE