ID3D12Device::CreateQueryHeap, méthode (d3d12.h)
Crée un tas de requête. Un tas de requêtes contient un tableau de requêtes.
Syntaxe
HRESULT CreateQueryHeap(
[in] const D3D12_QUERY_HEAP_DESC *pDesc,
REFIID riid,
[out, optional] void **ppvHeap
);
Paramètres
[in] pDesc
Type : const D3D12_QUERY_HEAP_DESC*
Spécifie le tas de requête dans une structure D3D12_QUERY_HEAP_DESC .
riid
Type : REFIID
Spécifie un REFIID qui identifie de manière unique le tas.
[out, optional] ppvHeap
Type : void**
Spécifie un pointeur vers le tas, qui sera retourné une fois la méthode terminée. ppvHeap peut être NULL pour activer les tests de capacité. Lorsque ppvHeap a la valeur NULL, aucun objet n’est créé et S_FALSE est retourné lorsque pDesc est valide.
Valeur retournée
Type : HRESULT
Cette méthode retourne l’un des codes de retour Direct3D 12.
Notes
Pour plus d’informations, consultez Requêtes .
Exemples
L’exemple D3D12PredicationQueries utilise ID3D12Device::CreateQueryHeap comme suit :
Créez un tas de requête et une mémoire tampon de résultats de requête.
// Pipeline objects.
D3D12_VIEWPORT m_viewport;
D3D12_RECT m_scissorRect;
ComPtr<IDXGISwapChain3> m_swapChain;
ComPtr<ID3D12Device> m_device;
ComPtr<ID3D12Resource> m_renderTargets[FrameCount];
ComPtr<ID3D12CommandAllocator> m_commandAllocators[FrameCount];
ComPtr<ID3D12CommandQueue> m_commandQueue;
ComPtr<ID3D12RootSignature> m_rootSignature;
ComPtr<ID3D12DescriptorHeap> m_rtvHeap;
ComPtr<ID3D12DescriptorHeap> m_cbvHeap;
ComPtr<ID3D12DescriptorHeap> m_dsvHeap;
ComPtr<ID3D12QueryHeap> m_queryHeap;
UINT m_rtvDescriptorSize;
UINT m_cbvSrvDescriptorSize;
UINT m_frameIndex;
// Synchronization objects.
ComPtr<ID3D12Fence> m_fence;
UINT64 m_fenceValues[FrameCount];
HANDLE m_fenceEvent;
// Asset objects.
ComPtr<ID3D12PipelineState> m_pipelineState;
ComPtr<ID3D12PipelineState> m_queryState;
ComPtr<ID3D12GraphicsCommandList> m_commandList;
ComPtr<ID3D12Resource> m_vertexBuffer;
ComPtr<ID3D12Resource> m_constantBuffer;
ComPtr<ID3D12Resource> m_depthStencil;
ComPtr<ID3D12Resource> m_queryResult;
D3D12_VERTEX_BUFFER_VIEW m_vertexBufferView;
// Describe and create a heap for occlusion queries.
D3D12_QUERY_HEAP_DESC queryHeapDesc = {};
queryHeapDesc.Count = 1;
queryHeapDesc.Type = D3D12_QUERY_HEAP_TYPE_OCCLUSION;
ThrowIfFailed(m_device->CreateQueryHeap(&queryHeapDesc, IID_PPV_ARGS(&m_queryHeap)));
Reportez-vous à l’exemple de code dans la référence D3D12.
Spécifications
Plateforme cible | Windows |
En-tête | d3d12.h |
Bibliothèque | D3D12.lib |
DLL | D3D12.dll |
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour