vkd3d: Implement ID3D12Device1 with stubs.

This commit is contained in:
Conor McCarthy 2023-07-17 16:42:48 +10:00 committed by Alexandre Julliard
parent 8f8c89fb87
commit f3baf55d97
Notes: Alexandre Julliard 2023-08-23 22:51:06 +02:00
Approved-by: Giovanni Mascellani (@giomasce)
Approved-by: Henri Verbeet (@hverbeet)
Approved-by: Alexandre Julliard (@julliard)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/279
5 changed files with 132 additions and 100 deletions

View File

@ -64,6 +64,7 @@ typedef int HRESULT;
# define DXGI_ERROR_NOT_FOUND _HRESULT_TYPEDEF_(0x887a0002) # define DXGI_ERROR_NOT_FOUND _HRESULT_TYPEDEF_(0x887a0002)
# define DXGI_ERROR_MORE_DATA _HRESULT_TYPEDEF_(0x887a0003) # define DXGI_ERROR_MORE_DATA _HRESULT_TYPEDEF_(0x887a0003)
# define DXGI_ERROR_UNSUPPORTED _HRESULT_TYPEDEF_(0x887a0004)
# define D3DERR_INVALIDCALL _HRESULT_TYPEDEF_(0x8876086c) # define D3DERR_INVALIDCALL _HRESULT_TYPEDEF_(0x8876086c)

File diff suppressed because it is too large Load Diff

View File

@ -2220,7 +2220,7 @@ HRESULT d3d12_reserved_resource_create(struct d3d12_device *device,
HRESULT vkd3d_create_image_resource(ID3D12Device *device, HRESULT vkd3d_create_image_resource(ID3D12Device *device,
const struct vkd3d_image_resource_create_info *create_info, ID3D12Resource **resource) const struct vkd3d_image_resource_create_info *create_info, ID3D12Resource **resource)
{ {
struct d3d12_device *d3d12_device = unsafe_impl_from_ID3D12Device(device); struct d3d12_device *d3d12_device = unsafe_impl_from_ID3D12Device1((ID3D12Device1 *)device);
struct d3d12_resource *object; struct d3d12_resource *object;
HRESULT hr; HRESULT hr;

View File

@ -71,11 +71,11 @@ HRESULT vkd3d_create_device(const struct vkd3d_device_create_info *create_info,
if (!device) if (!device)
{ {
ID3D12Device_Release(&object->ID3D12Device_iface); ID3D12Device_Release(&object->ID3D12Device1_iface);
return S_FALSE; return S_FALSE;
} }
return return_interface(&object->ID3D12Device_iface, &IID_ID3D12Device, iid, device); return return_interface(&object->ID3D12Device1_iface, &IID_ID3D12Device, iid, device);
} }
/* ID3D12RootSignatureDeserializer */ /* ID3D12RootSignatureDeserializer */

View File

@ -1709,7 +1709,7 @@ struct vkd3d_desc_object_cache
/* ID3D12Device */ /* ID3D12Device */
struct d3d12_device struct d3d12_device
{ {
ID3D12Device ID3D12Device_iface; ID3D12Device1 ID3D12Device1_iface;
LONG refcount; LONG refcount;
VkDevice vk_device; VkDevice vk_device;
@ -1775,27 +1775,27 @@ struct vkd3d_queue *d3d12_device_get_vkd3d_queue(struct d3d12_device *device, D3
bool d3d12_device_is_uma(struct d3d12_device *device, bool *coherent); bool d3d12_device_is_uma(struct d3d12_device *device, bool *coherent);
void d3d12_device_mark_as_removed(struct d3d12_device *device, HRESULT reason, void d3d12_device_mark_as_removed(struct d3d12_device *device, HRESULT reason,
const char *message, ...) VKD3D_PRINTF_FUNC(3, 4); const char *message, ...) VKD3D_PRINTF_FUNC(3, 4);
struct d3d12_device *unsafe_impl_from_ID3D12Device(ID3D12Device *iface); struct d3d12_device *unsafe_impl_from_ID3D12Device1(ID3D12Device1 *iface);
static inline HRESULT d3d12_device_query_interface(struct d3d12_device *device, REFIID iid, void **object) static inline HRESULT d3d12_device_query_interface(struct d3d12_device *device, REFIID iid, void **object)
{ {
return ID3D12Device_QueryInterface(&device->ID3D12Device_iface, iid, object); return ID3D12Device1_QueryInterface(&device->ID3D12Device1_iface, iid, object);
} }
static inline ULONG d3d12_device_add_ref(struct d3d12_device *device) static inline ULONG d3d12_device_add_ref(struct d3d12_device *device)
{ {
return ID3D12Device_AddRef(&device->ID3D12Device_iface); return ID3D12Device1_AddRef(&device->ID3D12Device1_iface);
} }
static inline ULONG d3d12_device_release(struct d3d12_device *device) static inline ULONG d3d12_device_release(struct d3d12_device *device)
{ {
return ID3D12Device_Release(&device->ID3D12Device_iface); return ID3D12Device1_Release(&device->ID3D12Device1_iface);
} }
static inline unsigned int d3d12_device_get_descriptor_handle_increment_size(struct d3d12_device *device, static inline unsigned int d3d12_device_get_descriptor_handle_increment_size(struct d3d12_device *device,
D3D12_DESCRIPTOR_HEAP_TYPE descriptor_type) D3D12_DESCRIPTOR_HEAP_TYPE descriptor_type)
{ {
return ID3D12Device_GetDescriptorHandleIncrementSize(&device->ID3D12Device_iface, descriptor_type); return ID3D12Device1_GetDescriptorHandleIncrementSize(&device->ID3D12Device1_iface, descriptor_type);
} }
/* utils */ /* utils */