ID3D11On12Device::ReleaseWrappedResources-Methode (d3d11on12.h)
Gibt D3D11-Ressourcen frei, die für D3D 11on12 umschlossen wurden.
Syntax
void ReleaseWrappedResources(
[in] ID3D11Resource * const *ppResources,
UINT NumResources
);
Parameter
[in] ppResources
Typ: ID3D11Resource*
Gibt einen Zeiger auf eine Gruppe von D3D11-Ressourcen an, definiert durch ID3D11Resource.
NumResources
Typ: UINT
Anzahl der Ressourcen.
Rückgabewert
Keine
Bemerkungen
Rufen Sie diese Methode vor dem Aufrufen von Flush auf, um Ressourcenbarrieren in den entsprechenden "Out"-Zustand einzufügen und zu markieren, dass sie dann den Zustand "in" aufweisen sollen. Wenn keine Ressourcenliste bereitgestellt wird, werden alle umschlossenen Ressourcen übergehen. Diese Ressourcen werden in der Gefahrenverfolgung als "nicht erworben" gekennzeichnet, bis ID3D11On12Device::AcquireWrappedResources aufgerufen wird.
Schlüsselierte Mutex-Ressourcen können für diese Methode nicht bereitgestellt werden. verwenden Sie stattdessen IDXGIKeyedMutex::ReleaseSync .
Beispiele
Rendern von Text über D3D12 mithilfe von D2D über das 11On12-Gerät.
// 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();
}
Weitere Informationen finden Sie im Beispielcode in der D3D12-Referenz.
Anforderungen
Zielplattform | Windows |
Kopfzeile | d3d11on12.h |
Bibliothek | D3D11.lib |
DLL | D3D11.dll |