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 |