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 |