INTERFACE ID3D12Device (d3d12.h)
Représente une carte virtuelle ; il est utilisé pour créer des allocateurs de commandes, des listes de commandes, des files d’attente de commandes, des clôtures, des ressources, des objets d’état de pipeline, des tas, des signatures racines, des échantillonneurs et de nombreux affichages de ressources.
Héritage
L’interface ID3D12Device hérite d’ID3D12Object. ID3D12Device a également les types de membres suivants :
Méthodes
L’interface ID3D12Device utilise ces méthodes.
ID3D12Device ::CheckFeatureSupport Obtient des informations sur les fonctionnalités prises en charge par le pilote graphique actuel. (ID3D12Device.CheckFeatureSupport) |
ID3D12Device ::CopyDescriptors Copie les descripteurs d’une source vers une destination. (ID3D12Device.CopyDescriptors) |
ID3D12Device ::CopyDescriptorsSimple Copie les descripteurs d’une source vers une destination. (ID3D12Device.CopyDescriptorsSimple) |
ID3D12Device ::CreateCommandAllocator Crée un objet d’allocateur de commande. |
ID3D12Device ::CreateCommandList Crée une liste de commandes. |
ID3D12Device ::CreateCommandQueue Crée une file d’attente de commandes. |
ID3D12Device ::CreateCommandSignature Cette méthode crée une signature de commande. |
ID3D12Device ::CreateCommittedResource Crée à la fois une ressource et un tas implicite, de sorte que le tas soit suffisamment grand pour contenir la ressource entière, et que la ressource soit mappée au tas. |
ID3D12Device ::CreateComputePipelineState Crée un objet d’état de pipeline de calcul. |
ID3D12Device ::CreateConstantBufferView Crée une vue de mémoire tampon constante pour accéder aux données de ressources. |
ID3D12Device ::CreateDepthStencilView Crée une vue profondeur-gabarit pour accéder aux données de ressource. |
ID3D12Device ::CreateDescriptorHeap Crée un objet tas de descripteur. |
ID3D12Device ::CreateFence Crée un objet de clôture. (ID3D12Device.CreateFence) |
ID3D12Device ::CreateGraphicsPipelineState Crée un objet d’état de pipeline graphique. |
ID3D12Device ::CreateHeap Crée un tas qui peut être utilisé avec des ressources placées et des ressources réservées. |
ID3D12Device ::CreatePlacedResource Crée une ressource qui est placée dans un tas spécifique. Les ressources placées sont les objets de ressources les plus légers disponibles et sont les plus rapides à créer et à détruire. |
ID3D12Device ::CreateQueryHeap Crée un tas de requête. Un tas de requêtes contient un tableau de requêtes. |
ID3D12Device ::CreateRenderTargetView Crée une vue de cible de rendu pour accéder aux données de ressource. (ID3D12Device.CreateRenderTargetView) |
ID3D12Device ::CreateReservedResource Crée une ressource qui est réservée et qui n’est pas encore mappée aux pages d’un tas. |
ID3D12Device ::CreateRootSignature Crée une disposition de signature racine. |
ID3D12Device ::CreateSampler Créez un objet sampler qui encapsule les informations d’échantillonnage pour une texture. |
ID3D12Device ::CreateShaderResourceView Crée une vue nuanceur-ressource pour accéder aux données d’une ressource. (ID3D12Device.CreateShaderResourceView) |
ID3D12Device ::CreateSharedHandle Crée un handle partagé sur un tas, une ressource ou un objet de clôture. |
ID3D12Device ::CreateUnorderedAccessView Crée une vue pour un accès non ordonné. |
ID3D12Device ::Evict Active la sortie de page des données, ce qui empêche l’accès GPU de ces données. |
ID3D12Device ::GetAdapterLuid Obtient un identificateur local unique pour l’appareil actuel (adaptateur). |
ID3D12Device ::GetCopyableFootprints Obtient une disposition de ressource qui peut être copiée. Aide l’application à remplir D3D12_PLACED_SUBRESOURCE_FOOTPRINT et D3D12_SUBRESOURCE_FOOTPRINT lors de la sous-allocation d’espace dans les tas de chargement. |
ID3D12Device ::GetDescriptorHandleIncrementSize Obtient la taille de l’incrément de handle pour le type donné de tas de descripteur. Cette valeur est généralement utilisée pour incrémenter un handle dans un tableau de descripteur d’une quantité correcte. |
ID3D12Device ::GetDeviceRemovedReason Obtient la raison pour laquelle l’appareil a été supprimé. |
ID3D12Device ::GetNodeCount Indique le nombre d’adaptateurs physiques (nœuds) associés à cet appareil. |
ID3D12Device ::GetResourceTiling Obtient des informations sur la façon dont une ressource en mosaïque est divisée en vignettes. (ID3D12Device.GetResourceTiling) |
ID3D12Device ::MakeResident Rend les objets résidant pour l’appareil. |
ID3D12Device ::OpenSharedHandle Ouvre un handle pour les ressources partagées, les tas partagés et les clôtures partagées, en utilisant HANDLE et REFIID. |
ID3D12Device ::OpenSharedHandleByName Ouvre un handle pour les ressources partagées, les tas partagés et les clôtures partagées, à l’aide du nom et de l’accès. |
ID3D12Device ::SetStablePowerState Aide au moment du développement pour certains types de profilage et de prototypage expérimental. |
Remarques
Utilisez D3D12CreateDevice pour créer un appareil.
Pour Windows 10 Anniversaire, certaines fonctionnalités supplémentaires sont disponibles via ID3D12Device1.
Exemples
L’exemple D3D1211on12 utilise ID3D12Device comme suit :
Déclarations de fichier d’en-tête.
// Pipeline objects.
D3D12_VIEWPORT m_viewport;
ComPtr<IDXGISwapChain3> m_swapChain;
ComPtr<ID3D12Device> m_device;
ComPtr<ID3D12Resource> m_renderTargets[FrameCount];
ComPtr<ID3D12Resource> m_depthStencil;
ComPtr<ID3D12CommandAllocator> m_commandAllocator;
ComPtr<ID3D12GraphicsCommandList> m_commandList;
ComPtr<ID3D12CommandQueue> m_commandQueue;
ComPtr<ID3D12RootSignature >m_rootSignature;
ComPtr<ID3D12DescriptorHeap> m_rtvHeap;
ComPtr<ID3D12DescriptorHeap> m_cbvSrvHeap;
ComPtr<ID3D12DescriptorHeap> m_dsvHeap;
ComPtr<ID3D12DescriptorHeap> m_samplerHeap;
ComPtr<ID3D12PipelineState> m_pipelineState1;
ComPtr<ID3D12PipelineState> m_pipelineState2;
D3D12_RECT m_scissorRect;
Vérification des fonctionnalités prises en charge.
inline UINT8 D3D12GetFormatPlaneCount(
_In_ ID3D12Device* pDevice,
DXGI_FORMAT Format
)
{
D3D12_FEATURE_DATA_FORMAT_INFO formatInfo = {Format};
if (FAILED(pDevice->CheckFeatureSupport(D3D12_FEATURE_FORMAT_INFO, &formatInfo, sizeof(formatInfo))))
{
return 0;
}
return formatInfo.PlaneCount;
}
Reportez-vous à l’exemple de code dans la référence D3D12.
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Windows |
En-tête | d3d12.h |