Compartir a través de


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

Consulte también

ID3D11On12Device