ID3D11On12Device::ReleaseWrappedResources, méthode (d3d11on12.h)
Libère les ressources D3D11 qui ont été encapsulées pour D3D 11on12.
Syntaxe
void ReleaseWrappedResources(
[in] ID3D11Resource * const *ppResources,
UINT NumResources
);
Paramètres
[in] ppResources
Type : ID3D11Resource*
Spécifie un pointeur vers un ensemble de ressources D3D11, défini par ID3D11Resource.
NumResources
Type : UINT
Nombre de ressources.
Valeur de retour
None
Notes
Appelez cette méthode avant d’appeler Flush, pour insérer des barrières de ressources à l’état « out » approprié et pour marquer qu’elles doivent ensuite être censées être à l’état « in ». Si aucune liste de ressources n’est fournie, toutes les ressources encapsulées sont transitionées. Ces ressources seront marquées comme « non acquises » dans le suivi des risques jusqu’à l’appel de ID3D11On12Device::AcquireWrappedResources .
Les ressources mutex à clé ne peuvent pas être fournies à cette méthode ; utilisez IDXGIKeyedMutex::ReleaseSync à la place.
Exemples
Restituer le texte sur D3D12 à l’aide de D2D via l’appareil 11On12.
// Render text over D3D12 using D2D via the 11On12 device.
void D3D1211on12::RenderUI()
{
D2D1_SIZE_F rtSize = m_d2dRenderTargets[m_frameIndex]->GetSize();
D2D1_RECT_F textRect = D2D1::RectF(0, 0, rtSize.width, rtSize.height);
static const WCHAR text[] = L"11On12";
// Acquire our wrapped render target resource for the current back buffer.
m_d3d11On12Device->AcquireWrappedResources(m_wrappedBackBuffers[m_frameIndex].GetAddressOf(), 1);
// Render text directly to the back buffer.
m_d2dDeviceContext->SetTarget(m_d2dRenderTargets[m_frameIndex].Get());
m_d2dDeviceContext->BeginDraw();
m_d2dDeviceContext->SetTransform(D2D1::Matrix3x2F::Identity());
m_d2dDeviceContext->DrawTextW(
text,
_countof(text) - 1,
m_textFormat.Get(),
&textRect,
m_textBrush.Get()
);
ThrowIfFailed(m_d2dDeviceContext->EndDraw());
// Release our wrapped render target resource. Releasing
// transitions the back buffer resource to the state specified
// as the OutState when the wrapped resource was created.
m_d3d11On12Device->ReleaseWrappedResources(m_wrappedBackBuffers[m_frameIndex].GetAddressOf(), 1);
// Flush to submit the 11 command list to the shared command queue.
m_d3d11DeviceContext->Flush();
}
Reportez-vous à l’exemple de code dans la référence D3D12.
Spécifications
Plateforme cible | Windows |
En-tête | d3d11on12.h |
Bibliothèque | D3D11.lib |
DLL | D3D11.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