Método ID3D11On12Device::ReleaseWrappedResources (d3d11on12.h)
Libera los recursos D3D11 que se ajustaron para D3D 11on12.
Sintaxis
void ReleaseWrappedResources(
[in] ID3D11Resource * const *ppResources,
UINT NumResources
);
Parámetros
[in] ppResources
Tipo: ID3D11Resource*
Especifica un puntero a un conjunto de recursos D3D11, definido por ID3D11Resource.
NumResources
Tipo: UINT
Recuento del número de recursos.
Valor devuelto
None
Observaciones
Llame a este método antes de llamar a Flush, para insertar barreras de recursos en el estado "out" adecuado y para marcar que deben estar en el estado "en". Si no se proporciona ninguna lista de recursos, se pasan todos los recursos ajustados. Estos recursos se marcarán como "no adquiridos" en el seguimiento de riesgos hasta que se llame a ID3D11On12Device::AcquireWrappedResources .
Los recursos de exclusión mutua con clave no se pueden proporcionar a este método; use IDXGIKeyedMutex::ReleaseSync en su lugar.
Ejemplos
Representar texto sobre D3D12 mediante D2D a través del dispositivo 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();
}
Consulte el código de ejemplo en la referencia D3D12.
Requisitos
Plataforma de destino | Windows |
Encabezado | d3d11on12.h |
Library | D3D11.lib |
Archivo DLL | D3D11.dll |