Share via


Método ID3D11On12Device::ReleaseWrappedResources (d3d11on12.h)

Libera recursos D3D11 que foram encapsulados para D3D 11on12.

Sintaxe

void ReleaseWrappedResources(
  [in] ID3D11Resource * const *ppResources,
       UINT           NumResources
);

Parâmetros

[in] ppResources

Tipo: ID3D11Resource*

Especifica um ponteiro para um conjunto de recursos D3D11, definido por ID3D11Resource.

NumResources

Tipo: UINT

Contagem do número de recursos.

Valor retornado

Nenhum

Comentários

Chame esse método antes de chamar Flush, para inserir barreiras de recursos ao estado "out" apropriado e para marcar que eles devem estar no estado "in". Se nenhuma lista de recursos for fornecida, todos os recursos encapsulados serão transferidos. Esses recursos serão marcados como "não adquiridos" no acompanhamento de riscos até que ID3D11On12Device::AcquireWrappedResources seja chamado.

Os recursos mutex com chave não podem ser fornecidos a esse método; use IDXGIKeyedMutex::ReleaseSync .

Exemplos

Renderize texto sobre D3D12 usando D2D por meio do 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 o código de exemplo na referência D3D12.

Requisitos

   
Plataforma de Destino Windows
Cabeçalho d3d11on12.h
Biblioteca D3D11.lib
DLL D3D11.dll

Confira também

ID3D11On12Device