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 |