Bagikan melalui


METODE ID3D11On12Device::ReleaseWrappedResources (d3d11on12.h)

Merilis sumber daya D3D11 yang dibungkus untuk D3D 11on12.

Sintaks

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

Parameter

[in] ppResources

Jenis: ID3D11Resource*

Menentukan penunjuk ke sekumpulan sumber daya D3D11, yang ditentukan oleh ID3D11Resource.

NumResources

Jenis: UINT

Hitungan jumlah sumber daya.

Mengembalikan nilai

Tidak ada

Keterangan

Panggil metode ini sebelum memanggil Flush, untuk menyisipkan penghalang sumber daya ke status "keluar" yang sesuai, dan untuk menandai bahwa mereka kemudian diharapkan berada dalam status "dalam". Jika tidak ada daftar sumber daya yang disediakan, semua sumber daya yang dibungkus akan ditransisikan. Sumber daya ini akan ditandai sebagai "tidak diperoleh" dalam pelacakan bahaya hingga ID3D11On12Device::AcquireWrappedResources dipanggil.

Sumber daya mutex bertanda kunci tidak dapat disediakan untuk metode ini; gunakan IDXGIKeyedMutex::ReleaseSync sebagai gantinya.

Contoh

Render teks melalui D3D12 menggunakan D2D melalui perangkat 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();
}

Lihat Contoh Kode dalam Referensi D3D12.

Persyaratan

   
Target Platform Windows
Header d3d11on12.h
Pustaka D3D11.lib
DLL D3D11.dll

Lihat juga

ID3D11On12Device