mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2024-11-21 16:46:41 -08:00
vkd3d: Return valid node masks in external resource heap properties.
Hitman 2 calls GetHeapProperties() for each swapchain buffer and checks if the creation node mask is 1. If not then it fails to store the resource pointers for later rendering. Signed-off-by: Conor McCarthy <cmccarthy@codeweavers.com> Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
5366d405e9
commit
e783784cac
@ -1522,6 +1522,8 @@ static HRESULT STDMETHODCALLTYPE d3d12_resource_GetHeapProperties(ID3D12Resource
|
|||||||
{
|
{
|
||||||
memset(heap_properties, 0, sizeof(*heap_properties));
|
memset(heap_properties, 0, sizeof(*heap_properties));
|
||||||
heap_properties->Type = D3D12_HEAP_TYPE_DEFAULT;
|
heap_properties->Type = D3D12_HEAP_TYPE_DEFAULT;
|
||||||
|
heap_properties->CreationNodeMask = 1;
|
||||||
|
heap_properties->VisibleNodeMask = 1;
|
||||||
}
|
}
|
||||||
if (flags)
|
if (flags)
|
||||||
*flags = D3D12_HEAP_FLAG_NONE;
|
*flags = D3D12_HEAP_FLAG_NONE;
|
||||||
|
@ -907,8 +907,8 @@ static void test_external_resource_map(void)
|
|||||||
"Got unexpected CPU page property %#x.\n", heap_properties.CPUPageProperty);
|
"Got unexpected CPU page property %#x.\n", heap_properties.CPUPageProperty);
|
||||||
ok(heap_properties.MemoryPoolPreference == D3D12_MEMORY_POOL_UNKNOWN,
|
ok(heap_properties.MemoryPoolPreference == D3D12_MEMORY_POOL_UNKNOWN,
|
||||||
"Got unexpected memory pool preference %#x.\n", heap_properties.MemoryPoolPreference);
|
"Got unexpected memory pool preference %#x.\n", heap_properties.MemoryPoolPreference);
|
||||||
todo ok(!!heap_properties.CreationNodeMask, "Got unexpected node mask %#x.\n", heap_properties.CreationNodeMask);
|
ok(!!heap_properties.CreationNodeMask, "Got unexpected node mask %#x.\n", heap_properties.CreationNodeMask);
|
||||||
todo ok(!!heap_properties.VisibleNodeMask, "Got unexpected node mask %#x.\n", heap_properties.VisibleNodeMask);
|
ok(!!heap_properties.VisibleNodeMask, "Got unexpected node mask %#x.\n", heap_properties.VisibleNodeMask);
|
||||||
|
|
||||||
ID3D12Resource_Release(vk_resource);
|
ID3D12Resource_Release(vk_resource);
|
||||||
vk_device = vkd3d_get_vk_device(device);
|
vk_device = vkd3d_get_vk_device(device);
|
||||||
|
Loading…
Reference in New Issue
Block a user