mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-04-13 05:43:18 -07:00
libs/vkd3d: Implement d3d12_device_GetAdapterLuid().
Signed-off-by: Józef Kucia <jkucia@codeweavers.com> Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
committed by
Alexandre Julliard
parent
c9c6caae98
commit
4cd36fc553
@ -2052,7 +2052,11 @@ static void STDMETHODCALLTYPE d3d12_device_GetResourceTiling(ID3D12Device *iface
|
||||
|
||||
static LUID * STDMETHODCALLTYPE d3d12_device_GetAdapterLuid(ID3D12Device *iface, LUID *luid)
|
||||
{
|
||||
FIXME("iface %p, luid %p stub!\n", iface, luid);
|
||||
struct d3d12_device *device = impl_from_ID3D12Device(iface);
|
||||
|
||||
TRACE("iface %p, luid %p.\n", iface, luid);
|
||||
|
||||
*luid = device->adapter_luid;
|
||||
|
||||
return luid;
|
||||
}
|
||||
@ -2117,7 +2121,7 @@ struct d3d12_device *unsafe_impl_from_ID3D12Device(ID3D12Device *iface)
|
||||
}
|
||||
|
||||
static HRESULT d3d12_device_init(struct d3d12_device *device,
|
||||
struct vkd3d_instance *instance, VkPhysicalDevice vk_physical_device)
|
||||
struct vkd3d_instance *instance, const struct vkd3d_device_create_info *create_info)
|
||||
{
|
||||
HRESULT hr;
|
||||
|
||||
@ -2131,7 +2135,9 @@ static HRESULT d3d12_device_init(struct d3d12_device *device,
|
||||
device->join_thread = instance->join_thread;
|
||||
device->wchar_size = instance->wchar_size;
|
||||
|
||||
if (FAILED(hr = vkd3d_create_vk_device(device, vk_physical_device)))
|
||||
device->adapter_luid = create_info->adapter_luid;
|
||||
|
||||
if (FAILED(hr = vkd3d_create_vk_device(device, create_info->vk_physical_device)))
|
||||
{
|
||||
vkd3d_instance_decref(device->vkd3d_instance);
|
||||
return hr;
|
||||
@ -2163,7 +2169,7 @@ static HRESULT d3d12_device_init(struct d3d12_device *device,
|
||||
}
|
||||
|
||||
HRESULT d3d12_device_create(struct vkd3d_instance *instance,
|
||||
VkPhysicalDevice vk_physical_device, struct d3d12_device **device)
|
||||
const struct vkd3d_device_create_info *create_info, struct d3d12_device **device)
|
||||
{
|
||||
struct d3d12_device *object;
|
||||
HRESULT hr;
|
||||
@ -2171,7 +2177,7 @@ HRESULT d3d12_device_create(struct vkd3d_instance *instance,
|
||||
if (!(object = vkd3d_malloc(sizeof(*object))))
|
||||
return E_OUTOFMEMORY;
|
||||
|
||||
if (FAILED(hr = d3d12_device_init(object, instance, vk_physical_device)))
|
||||
if (FAILED(hr = d3d12_device_init(object, instance, create_info)))
|
||||
{
|
||||
vkd3d_free(object);
|
||||
return hr;
|
||||
|
@ -20,13 +20,13 @@
|
||||
#include "vkd3d_private.h"
|
||||
|
||||
HRESULT vkd3d_create_device(const struct vkd3d_device_create_info *create_info,
|
||||
REFIID riid, void **device)
|
||||
REFIID iid, void **device)
|
||||
{
|
||||
struct vkd3d_instance *instance;
|
||||
struct d3d12_device *object;
|
||||
HRESULT hr;
|
||||
|
||||
TRACE("create_info %p, riid %s, device %p.\n", create_info, debugstr_guid(riid), device);
|
||||
TRACE("create_info %p, iid %s, device %p.\n", create_info, debugstr_guid(iid), device);
|
||||
|
||||
if (!create_info || !device)
|
||||
return E_INVALIDARG;
|
||||
@ -64,13 +64,13 @@ HRESULT vkd3d_create_device(const struct vkd3d_device_create_info *create_info,
|
||||
return E_FAIL;
|
||||
}
|
||||
|
||||
hr = d3d12_device_create(instance, create_info->vk_physical_device, &object);
|
||||
hr = d3d12_device_create(instance, create_info, &object);
|
||||
vkd3d_instance_decref(instance);
|
||||
if (FAILED(hr))
|
||||
return hr;
|
||||
|
||||
return return_interface((IUnknown *)&object->ID3D12Device_iface, &IID_ID3D12Device,
|
||||
riid, device);
|
||||
iid, device);
|
||||
}
|
||||
|
||||
/* ID3D12RootSignatureDeserializer */
|
||||
|
@ -665,10 +665,12 @@ struct d3d12_device
|
||||
|
||||
vkd3d_create_thread_pfn create_thread;
|
||||
vkd3d_join_thread_pfn join_thread;
|
||||
|
||||
LUID adapter_luid;
|
||||
};
|
||||
|
||||
HRESULT d3d12_device_create(struct vkd3d_instance *instance,
|
||||
VkPhysicalDevice vk_physical_device, struct d3d12_device **device) DECLSPEC_HIDDEN;
|
||||
const struct vkd3d_device_create_info *create_info, struct d3d12_device **device) DECLSPEC_HIDDEN;
|
||||
struct d3d12_device *unsafe_impl_from_ID3D12Device(ID3D12Device *iface) DECLSPEC_HIDDEN;
|
||||
|
||||
HRESULT vkd3d_create_buffer(struct d3d12_device *device,
|
||||
|
Reference in New Issue
Block a user