Exemple #1
0
D3D12GSRender::~D3D12GSRender()
{
	wait_for_command_queue(m_device.Get(), m_command_queue.Get());

	m_texture_cache.unprotect_all();

	m_dummy_texture->Release();
	m_convert_pso->Release();
	m_convert_root_signature->Release();
	m_per_frame_storage[0].release();
	m_per_frame_storage[1].release();
	m_output_scaling_pass.release();

	release_d2d_structures();
}
Exemple #2
0
D3D12GSRender::~D3D12GSRender()
{
	if (!m_device)
	{
		//Initialization must have failed
		return;
	}

	wait_for_command_queue(m_device.Get(), m_command_queue.Get());

	m_texture_cache.unprotect_all();

	m_dummy_texture->Release();
	m_per_frame_storage[0].release();
	m_per_frame_storage[1].release();
	m_output_scaling_pass.release();

	release_d2d_structures();
}
Exemple #3
0
D3D12GSRender::~D3D12GSRender()
{
	wait_for_command_queue(m_device.Get(), m_commandQueueGraphic.Get());

	m_textureCache.unprotect_all();

	gfxHandler = [this](u32) { return false; };
	m_constantsData.release();
	m_vertexIndexData.release();
	m_textureUploadData.release();
	m_UAVHeap.m_heap->Release();
	m_readbackResources.m_heap->Release();
	m_texturesRTTs.clear();
	m_dummyTexture->Release();
	m_convertPSO->Release();
	m_convertRootSignature->Release();
	m_perFrameStorage[0].release();
	m_perFrameStorage[1].release();
	m_outputScalingPass.Release();

	release_d2d_structures();
}