vkd3d: Add ID3D12Device7 interface stubs.

This commit is contained in:
Conor McCarthy 2024-01-30 15:46:29 +10:00 committed by Alexandre Julliard
parent 76fbbe980a
commit 92e19a7da3
Notes: Alexandre Julliard 2024-02-01 23:07:43 +01:00
Approved-by: Henri Verbeet (@hverbeet)
Approved-by: Alexandre Julliard (@julliard)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/617
4 changed files with 149 additions and 127 deletions

View File

@ -2498,17 +2498,18 @@ static void vkd3d_desc_object_cache_cleanup(struct vkd3d_desc_object_cache *cach
} }
/* ID3D12Device */ /* ID3D12Device */
static inline struct d3d12_device *impl_from_ID3D12Device6(ID3D12Device6 *iface) static inline struct d3d12_device *impl_from_ID3D12Device7(ID3D12Device7 *iface)
{ {
return CONTAINING_RECORD(iface, struct d3d12_device, ID3D12Device6_iface); return CONTAINING_RECORD(iface, struct d3d12_device, ID3D12Device7_iface);
} }
static HRESULT STDMETHODCALLTYPE d3d12_device_QueryInterface(ID3D12Device6 *iface, static HRESULT STDMETHODCALLTYPE d3d12_device_QueryInterface(ID3D12Device7 *iface,
REFIID riid, void **object) REFIID riid, void **object)
{ {
TRACE("iface %p, riid %s, object %p.\n", iface, debugstr_guid(riid), object); TRACE("iface %p, riid %s, object %p.\n", iface, debugstr_guid(riid), object);
if (IsEqualGUID(riid, &IID_ID3D12Device6) if (IsEqualGUID(riid, &IID_ID3D12Device7)
|| IsEqualGUID(riid, &IID_ID3D12Device6)
|| IsEqualGUID(riid, &IID_ID3D12Device5) || IsEqualGUID(riid, &IID_ID3D12Device5)
|| IsEqualGUID(riid, &IID_ID3D12Device4) || IsEqualGUID(riid, &IID_ID3D12Device4)
|| IsEqualGUID(riid, &IID_ID3D12Device3) || IsEqualGUID(riid, &IID_ID3D12Device3)
@ -2529,9 +2530,9 @@ static HRESULT STDMETHODCALLTYPE d3d12_device_QueryInterface(ID3D12Device6 *ifac
return E_NOINTERFACE; return E_NOINTERFACE;
} }
static ULONG STDMETHODCALLTYPE d3d12_device_AddRef(ID3D12Device6 *iface) static ULONG STDMETHODCALLTYPE d3d12_device_AddRef(ID3D12Device7 *iface)
{ {
struct d3d12_device *device = impl_from_ID3D12Device6(iface); struct d3d12_device *device = impl_from_ID3D12Device7(iface);
unsigned int refcount = vkd3d_atomic_increment_u32(&device->refcount); unsigned int refcount = vkd3d_atomic_increment_u32(&device->refcount);
TRACE("%p increasing refcount to %u.\n", device, refcount); TRACE("%p increasing refcount to %u.\n", device, refcount);
@ -2561,9 +2562,9 @@ static HRESULT device_worker_stop(struct d3d12_device *device)
return S_OK; return S_OK;
} }
static ULONG STDMETHODCALLTYPE d3d12_device_Release(ID3D12Device6 *iface) static ULONG STDMETHODCALLTYPE d3d12_device_Release(ID3D12Device7 *iface)
{ {
struct d3d12_device *device = impl_from_ID3D12Device6(iface); struct d3d12_device *device = impl_from_ID3D12Device7(iface);
unsigned int refcount = vkd3d_atomic_decrement_u32(&device->refcount); unsigned int refcount = vkd3d_atomic_decrement_u32(&device->refcount);
TRACE("%p decreasing refcount to %u.\n", device, refcount); TRACE("%p decreasing refcount to %u.\n", device, refcount);
@ -2600,10 +2601,10 @@ static ULONG STDMETHODCALLTYPE d3d12_device_Release(ID3D12Device6 *iface)
return refcount; return refcount;
} }
static HRESULT STDMETHODCALLTYPE d3d12_device_GetPrivateData(ID3D12Device6 *iface, static HRESULT STDMETHODCALLTYPE d3d12_device_GetPrivateData(ID3D12Device7 *iface,
REFGUID guid, UINT *data_size, void *data) REFGUID guid, UINT *data_size, void *data)
{ {
struct d3d12_device *device = impl_from_ID3D12Device6(iface); struct d3d12_device *device = impl_from_ID3D12Device7(iface);
TRACE("iface %p, guid %s, data_size %p, data %p.\n", TRACE("iface %p, guid %s, data_size %p, data %p.\n",
iface, debugstr_guid(guid), data_size, data); iface, debugstr_guid(guid), data_size, data);
@ -2611,10 +2612,10 @@ static HRESULT STDMETHODCALLTYPE d3d12_device_GetPrivateData(ID3D12Device6 *ifac
return vkd3d_get_private_data(&device->private_store, guid, data_size, data); return vkd3d_get_private_data(&device->private_store, guid, data_size, data);
} }
static HRESULT STDMETHODCALLTYPE d3d12_device_SetPrivateData(ID3D12Device6 *iface, static HRESULT STDMETHODCALLTYPE d3d12_device_SetPrivateData(ID3D12Device7 *iface,
REFGUID guid, UINT data_size, const void *data) REFGUID guid, UINT data_size, const void *data)
{ {
struct d3d12_device *device = impl_from_ID3D12Device6(iface); struct d3d12_device *device = impl_from_ID3D12Device7(iface);
TRACE("iface %p, guid %s, data_size %u, data %p.\n", TRACE("iface %p, guid %s, data_size %u, data %p.\n",
iface, debugstr_guid(guid), data_size, data); iface, debugstr_guid(guid), data_size, data);
@ -2622,19 +2623,19 @@ static HRESULT STDMETHODCALLTYPE d3d12_device_SetPrivateData(ID3D12Device6 *ifac
return vkd3d_set_private_data(&device->private_store, guid, data_size, data); return vkd3d_set_private_data(&device->private_store, guid, data_size, data);
} }
static HRESULT STDMETHODCALLTYPE d3d12_device_SetPrivateDataInterface(ID3D12Device6 *iface, static HRESULT STDMETHODCALLTYPE d3d12_device_SetPrivateDataInterface(ID3D12Device7 *iface,
REFGUID guid, const IUnknown *data) REFGUID guid, const IUnknown *data)
{ {
struct d3d12_device *device = impl_from_ID3D12Device6(iface); struct d3d12_device *device = impl_from_ID3D12Device7(iface);
TRACE("iface %p, guid %s, data %p.\n", iface, debugstr_guid(guid), data); TRACE("iface %p, guid %s, data %p.\n", iface, debugstr_guid(guid), data);
return vkd3d_set_private_data_interface(&device->private_store, guid, data); return vkd3d_set_private_data_interface(&device->private_store, guid, data);
} }
static HRESULT STDMETHODCALLTYPE d3d12_device_SetName(ID3D12Device6 *iface, const WCHAR *name) static HRESULT STDMETHODCALLTYPE d3d12_device_SetName(ID3D12Device7 *iface, const WCHAR *name)
{ {
struct d3d12_device *device = impl_from_ID3D12Device6(iface); struct d3d12_device *device = impl_from_ID3D12Device7(iface);
TRACE("iface %p, name %s.\n", iface, debugstr_w(name, device->wchar_size)); TRACE("iface %p, name %s.\n", iface, debugstr_w(name, device->wchar_size));
@ -2642,17 +2643,17 @@ static HRESULT STDMETHODCALLTYPE d3d12_device_SetName(ID3D12Device6 *iface, cons
VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, name); VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, name);
} }
static UINT STDMETHODCALLTYPE d3d12_device_GetNodeCount(ID3D12Device6 *iface) static UINT STDMETHODCALLTYPE d3d12_device_GetNodeCount(ID3D12Device7 *iface)
{ {
TRACE("iface %p.\n", iface); TRACE("iface %p.\n", iface);
return 1; return 1;
} }
static HRESULT STDMETHODCALLTYPE d3d12_device_CreateCommandQueue(ID3D12Device6 *iface, static HRESULT STDMETHODCALLTYPE d3d12_device_CreateCommandQueue(ID3D12Device7 *iface,
const D3D12_COMMAND_QUEUE_DESC *desc, REFIID riid, void **command_queue) const D3D12_COMMAND_QUEUE_DESC *desc, REFIID riid, void **command_queue)
{ {
struct d3d12_device *device = impl_from_ID3D12Device6(iface); struct d3d12_device *device = impl_from_ID3D12Device7(iface);
struct d3d12_command_queue *object; struct d3d12_command_queue *object;
HRESULT hr; HRESULT hr;
@ -2666,10 +2667,10 @@ static HRESULT STDMETHODCALLTYPE d3d12_device_CreateCommandQueue(ID3D12Device6 *
riid, command_queue); riid, command_queue);
} }
static HRESULT STDMETHODCALLTYPE d3d12_device_CreateCommandAllocator(ID3D12Device6 *iface, static HRESULT STDMETHODCALLTYPE d3d12_device_CreateCommandAllocator(ID3D12Device7 *iface,
D3D12_COMMAND_LIST_TYPE type, REFIID riid, void **command_allocator) D3D12_COMMAND_LIST_TYPE type, REFIID riid, void **command_allocator)
{ {
struct d3d12_device *device = impl_from_ID3D12Device6(iface); struct d3d12_device *device = impl_from_ID3D12Device7(iface);
struct d3d12_command_allocator *object; struct d3d12_command_allocator *object;
HRESULT hr; HRESULT hr;
@ -2683,10 +2684,10 @@ static HRESULT STDMETHODCALLTYPE d3d12_device_CreateCommandAllocator(ID3D12Devic
riid, command_allocator); riid, command_allocator);
} }
static HRESULT STDMETHODCALLTYPE d3d12_device_CreateGraphicsPipelineState(ID3D12Device6 *iface, static HRESULT STDMETHODCALLTYPE d3d12_device_CreateGraphicsPipelineState(ID3D12Device7 *iface,
const D3D12_GRAPHICS_PIPELINE_STATE_DESC *desc, REFIID riid, void **pipeline_state) const D3D12_GRAPHICS_PIPELINE_STATE_DESC *desc, REFIID riid, void **pipeline_state)
{ {
struct d3d12_device *device = impl_from_ID3D12Device6(iface); struct d3d12_device *device = impl_from_ID3D12Device7(iface);
struct d3d12_pipeline_state *object; struct d3d12_pipeline_state *object;
HRESULT hr; HRESULT hr;
@ -2700,10 +2701,10 @@ static HRESULT STDMETHODCALLTYPE d3d12_device_CreateGraphicsPipelineState(ID3D12
&IID_ID3D12PipelineState, riid, pipeline_state); &IID_ID3D12PipelineState, riid, pipeline_state);
} }
static HRESULT STDMETHODCALLTYPE d3d12_device_CreateComputePipelineState(ID3D12Device6 *iface, static HRESULT STDMETHODCALLTYPE d3d12_device_CreateComputePipelineState(ID3D12Device7 *iface,
const D3D12_COMPUTE_PIPELINE_STATE_DESC *desc, REFIID riid, void **pipeline_state) const D3D12_COMPUTE_PIPELINE_STATE_DESC *desc, REFIID riid, void **pipeline_state)
{ {
struct d3d12_device *device = impl_from_ID3D12Device6(iface); struct d3d12_device *device = impl_from_ID3D12Device7(iface);
struct d3d12_pipeline_state *object; struct d3d12_pipeline_state *object;
HRESULT hr; HRESULT hr;
@ -2717,11 +2718,11 @@ static HRESULT STDMETHODCALLTYPE d3d12_device_CreateComputePipelineState(ID3D12D
&IID_ID3D12PipelineState, riid, pipeline_state); &IID_ID3D12PipelineState, riid, pipeline_state);
} }
static HRESULT STDMETHODCALLTYPE d3d12_device_CreateCommandList(ID3D12Device6 *iface, static HRESULT STDMETHODCALLTYPE d3d12_device_CreateCommandList(ID3D12Device7 *iface,
UINT node_mask, D3D12_COMMAND_LIST_TYPE type, ID3D12CommandAllocator *command_allocator, UINT node_mask, D3D12_COMMAND_LIST_TYPE type, ID3D12CommandAllocator *command_allocator,
ID3D12PipelineState *initial_pipeline_state, REFIID riid, void **command_list) ID3D12PipelineState *initial_pipeline_state, REFIID riid, void **command_list)
{ {
struct d3d12_device *device = impl_from_ID3D12Device6(iface); struct d3d12_device *device = impl_from_ID3D12Device7(iface);
struct d3d12_command_list *object; struct d3d12_command_list *object;
HRESULT hr; HRESULT hr;
@ -2844,10 +2845,10 @@ bool d3d12_device_is_uma(struct d3d12_device *device, bool *coherent)
return true; return true;
} }
static HRESULT STDMETHODCALLTYPE d3d12_device_CheckFeatureSupport(ID3D12Device6 *iface, static HRESULT STDMETHODCALLTYPE d3d12_device_CheckFeatureSupport(ID3D12Device7 *iface,
D3D12_FEATURE feature, void *feature_data, UINT feature_data_size) D3D12_FEATURE feature, void *feature_data, UINT feature_data_size)
{ {
struct d3d12_device *device = impl_from_ID3D12Device6(iface); struct d3d12_device *device = impl_from_ID3D12Device7(iface);
TRACE("iface %p, feature %#x, feature_data %p, feature_data_size %u.\n", TRACE("iface %p, feature %#x, feature_data %p, feature_data_size %u.\n",
iface, feature, feature_data, feature_data_size); iface, feature, feature_data, feature_data_size);
@ -3353,10 +3354,10 @@ static HRESULT STDMETHODCALLTYPE d3d12_device_CheckFeatureSupport(ID3D12Device6
} }
} }
static HRESULT STDMETHODCALLTYPE d3d12_device_CreateDescriptorHeap(ID3D12Device6 *iface, static HRESULT STDMETHODCALLTYPE d3d12_device_CreateDescriptorHeap(ID3D12Device7 *iface,
const D3D12_DESCRIPTOR_HEAP_DESC *desc, REFIID riid, void **descriptor_heap) const D3D12_DESCRIPTOR_HEAP_DESC *desc, REFIID riid, void **descriptor_heap)
{ {
struct d3d12_device *device = impl_from_ID3D12Device6(iface); struct d3d12_device *device = impl_from_ID3D12Device7(iface);
struct d3d12_descriptor_heap *object; struct d3d12_descriptor_heap *object;
HRESULT hr; HRESULT hr;
@ -3370,7 +3371,7 @@ static HRESULT STDMETHODCALLTYPE d3d12_device_CreateDescriptorHeap(ID3D12Device6
&IID_ID3D12DescriptorHeap, riid, descriptor_heap); &IID_ID3D12DescriptorHeap, riid, descriptor_heap);
} }
static UINT STDMETHODCALLTYPE d3d12_device_GetDescriptorHandleIncrementSize(ID3D12Device6 *iface, static UINT STDMETHODCALLTYPE d3d12_device_GetDescriptorHandleIncrementSize(ID3D12Device7 *iface,
D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type) D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type)
{ {
TRACE("iface %p, descriptor_heap_type %#x.\n", iface, descriptor_heap_type); TRACE("iface %p, descriptor_heap_type %#x.\n", iface, descriptor_heap_type);
@ -3393,11 +3394,11 @@ static UINT STDMETHODCALLTYPE d3d12_device_GetDescriptorHandleIncrementSize(ID3D
} }
} }
static HRESULT STDMETHODCALLTYPE d3d12_device_CreateRootSignature(ID3D12Device6 *iface, static HRESULT STDMETHODCALLTYPE d3d12_device_CreateRootSignature(ID3D12Device7 *iface,
UINT node_mask, const void *bytecode, SIZE_T bytecode_length, UINT node_mask, const void *bytecode, SIZE_T bytecode_length,
REFIID riid, void **root_signature) REFIID riid, void **root_signature)
{ {
struct d3d12_device *device = impl_from_ID3D12Device6(iface); struct d3d12_device *device = impl_from_ID3D12Device7(iface);
struct d3d12_root_signature *object; struct d3d12_root_signature *object;
HRESULT hr; HRESULT hr;
@ -3413,10 +3414,10 @@ static HRESULT STDMETHODCALLTYPE d3d12_device_CreateRootSignature(ID3D12Device6
&IID_ID3D12RootSignature, riid, root_signature); &IID_ID3D12RootSignature, riid, root_signature);
} }
static void STDMETHODCALLTYPE d3d12_device_CreateConstantBufferView(ID3D12Device6 *iface, static void STDMETHODCALLTYPE d3d12_device_CreateConstantBufferView(ID3D12Device7 *iface,
const D3D12_CONSTANT_BUFFER_VIEW_DESC *desc, D3D12_CPU_DESCRIPTOR_HANDLE descriptor) const D3D12_CONSTANT_BUFFER_VIEW_DESC *desc, D3D12_CPU_DESCRIPTOR_HANDLE descriptor)
{ {
struct d3d12_device *device = impl_from_ID3D12Device6(iface); struct d3d12_device *device = impl_from_ID3D12Device7(iface);
struct d3d12_desc tmp = {0}; struct d3d12_desc tmp = {0};
TRACE("iface %p, desc %p, descriptor %#lx.\n", iface, desc, descriptor.ptr); TRACE("iface %p, desc %p, descriptor %#lx.\n", iface, desc, descriptor.ptr);
@ -3425,11 +3426,11 @@ static void STDMETHODCALLTYPE d3d12_device_CreateConstantBufferView(ID3D12Device
d3d12_desc_write_atomic(d3d12_desc_from_cpu_handle(descriptor), &tmp, device); d3d12_desc_write_atomic(d3d12_desc_from_cpu_handle(descriptor), &tmp, device);
} }
static void STDMETHODCALLTYPE d3d12_device_CreateShaderResourceView(ID3D12Device6 *iface, static void STDMETHODCALLTYPE d3d12_device_CreateShaderResourceView(ID3D12Device7 *iface,
ID3D12Resource *resource, const D3D12_SHADER_RESOURCE_VIEW_DESC *desc, ID3D12Resource *resource, const D3D12_SHADER_RESOURCE_VIEW_DESC *desc,
D3D12_CPU_DESCRIPTOR_HANDLE descriptor) D3D12_CPU_DESCRIPTOR_HANDLE descriptor)
{ {
struct d3d12_device *device = impl_from_ID3D12Device6(iface); struct d3d12_device *device = impl_from_ID3D12Device7(iface);
struct d3d12_desc tmp = {0}; struct d3d12_desc tmp = {0};
TRACE("iface %p, resource %p, desc %p, descriptor %#lx.\n", TRACE("iface %p, resource %p, desc %p, descriptor %#lx.\n",
@ -3439,11 +3440,11 @@ static void STDMETHODCALLTYPE d3d12_device_CreateShaderResourceView(ID3D12Device
d3d12_desc_write_atomic(d3d12_desc_from_cpu_handle(descriptor), &tmp, device); d3d12_desc_write_atomic(d3d12_desc_from_cpu_handle(descriptor), &tmp, device);
} }
static void STDMETHODCALLTYPE d3d12_device_CreateUnorderedAccessView(ID3D12Device6 *iface, static void STDMETHODCALLTYPE d3d12_device_CreateUnorderedAccessView(ID3D12Device7 *iface,
ID3D12Resource *resource, ID3D12Resource *counter_resource, ID3D12Resource *resource, ID3D12Resource *counter_resource,
const D3D12_UNORDERED_ACCESS_VIEW_DESC *desc, D3D12_CPU_DESCRIPTOR_HANDLE descriptor) const D3D12_UNORDERED_ACCESS_VIEW_DESC *desc, D3D12_CPU_DESCRIPTOR_HANDLE descriptor)
{ {
struct d3d12_device *device = impl_from_ID3D12Device6(iface); struct d3d12_device *device = impl_from_ID3D12Device7(iface);
struct d3d12_desc tmp = {0}; struct d3d12_desc tmp = {0};
TRACE("iface %p, resource %p, counter_resource %p, desc %p, descriptor %#lx.\n", TRACE("iface %p, resource %p, counter_resource %p, desc %p, descriptor %#lx.\n",
@ -3454,7 +3455,7 @@ static void STDMETHODCALLTYPE d3d12_device_CreateUnorderedAccessView(ID3D12Devic
d3d12_desc_write_atomic(d3d12_desc_from_cpu_handle(descriptor), &tmp, device); d3d12_desc_write_atomic(d3d12_desc_from_cpu_handle(descriptor), &tmp, device);
} }
static void STDMETHODCALLTYPE d3d12_device_CreateRenderTargetView(ID3D12Device6 *iface, static void STDMETHODCALLTYPE d3d12_device_CreateRenderTargetView(ID3D12Device7 *iface,
ID3D12Resource *resource, const D3D12_RENDER_TARGET_VIEW_DESC *desc, ID3D12Resource *resource, const D3D12_RENDER_TARGET_VIEW_DESC *desc,
D3D12_CPU_DESCRIPTOR_HANDLE descriptor) D3D12_CPU_DESCRIPTOR_HANDLE descriptor)
{ {
@ -3462,10 +3463,10 @@ static void STDMETHODCALLTYPE d3d12_device_CreateRenderTargetView(ID3D12Device6
iface, resource, desc, descriptor.ptr); iface, resource, desc, descriptor.ptr);
d3d12_rtv_desc_create_rtv(d3d12_rtv_desc_from_cpu_handle(descriptor), d3d12_rtv_desc_create_rtv(d3d12_rtv_desc_from_cpu_handle(descriptor),
impl_from_ID3D12Device6(iface), unsafe_impl_from_ID3D12Resource(resource), desc); impl_from_ID3D12Device7(iface), unsafe_impl_from_ID3D12Resource(resource), desc);
} }
static void STDMETHODCALLTYPE d3d12_device_CreateDepthStencilView(ID3D12Device6 *iface, static void STDMETHODCALLTYPE d3d12_device_CreateDepthStencilView(ID3D12Device7 *iface,
ID3D12Resource *resource, const D3D12_DEPTH_STENCIL_VIEW_DESC *desc, ID3D12Resource *resource, const D3D12_DEPTH_STENCIL_VIEW_DESC *desc,
D3D12_CPU_DESCRIPTOR_HANDLE descriptor) D3D12_CPU_DESCRIPTOR_HANDLE descriptor)
{ {
@ -3473,13 +3474,13 @@ static void STDMETHODCALLTYPE d3d12_device_CreateDepthStencilView(ID3D12Device6
iface, resource, desc, descriptor.ptr); iface, resource, desc, descriptor.ptr);
d3d12_dsv_desc_create_dsv(d3d12_dsv_desc_from_cpu_handle(descriptor), d3d12_dsv_desc_create_dsv(d3d12_dsv_desc_from_cpu_handle(descriptor),
impl_from_ID3D12Device6(iface), unsafe_impl_from_ID3D12Resource(resource), desc); impl_from_ID3D12Device7(iface), unsafe_impl_from_ID3D12Resource(resource), desc);
} }
static void STDMETHODCALLTYPE d3d12_device_CreateSampler(ID3D12Device6 *iface, static void STDMETHODCALLTYPE d3d12_device_CreateSampler(ID3D12Device7 *iface,
const D3D12_SAMPLER_DESC *desc, D3D12_CPU_DESCRIPTOR_HANDLE descriptor) const D3D12_SAMPLER_DESC *desc, D3D12_CPU_DESCRIPTOR_HANDLE descriptor)
{ {
struct d3d12_device *device = impl_from_ID3D12Device6(iface); struct d3d12_device *device = impl_from_ID3D12Device7(iface);
struct d3d12_desc tmp = {0}; struct d3d12_desc tmp = {0};
TRACE("iface %p, desc %p, descriptor %#lx.\n", iface, desc, descriptor.ptr); TRACE("iface %p, desc %p, descriptor %#lx.\n", iface, desc, descriptor.ptr);
@ -3488,14 +3489,14 @@ static void STDMETHODCALLTYPE d3d12_device_CreateSampler(ID3D12Device6 *iface,
d3d12_desc_write_atomic(d3d12_desc_from_cpu_handle(descriptor), &tmp, device); d3d12_desc_write_atomic(d3d12_desc_from_cpu_handle(descriptor), &tmp, device);
} }
static void STDMETHODCALLTYPE d3d12_device_CopyDescriptors(ID3D12Device6 *iface, static void STDMETHODCALLTYPE d3d12_device_CopyDescriptors(ID3D12Device7 *iface,
UINT dst_descriptor_range_count, const D3D12_CPU_DESCRIPTOR_HANDLE *dst_descriptor_range_offsets, UINT dst_descriptor_range_count, const D3D12_CPU_DESCRIPTOR_HANDLE *dst_descriptor_range_offsets,
const UINT *dst_descriptor_range_sizes, const UINT *dst_descriptor_range_sizes,
UINT src_descriptor_range_count, const D3D12_CPU_DESCRIPTOR_HANDLE *src_descriptor_range_offsets, UINT src_descriptor_range_count, const D3D12_CPU_DESCRIPTOR_HANDLE *src_descriptor_range_offsets,
const UINT *src_descriptor_range_sizes, const UINT *src_descriptor_range_sizes,
D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type) D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type)
{ {
struct d3d12_device *device = impl_from_ID3D12Device6(iface); struct d3d12_device *device = impl_from_ID3D12Device7(iface);
unsigned int dst_range_idx, dst_idx, src_range_idx, src_idx; unsigned int dst_range_idx, dst_idx, src_range_idx, src_idx;
unsigned int dst_range_size, src_range_size; unsigned int dst_range_size, src_range_size;
struct d3d12_descriptor_heap *dst_heap; struct d3d12_descriptor_heap *dst_heap;
@ -3551,7 +3552,7 @@ static void STDMETHODCALLTYPE d3d12_device_CopyDescriptors(ID3D12Device6 *iface,
} }
} }
static void STDMETHODCALLTYPE d3d12_device_CopyDescriptorsSimple(ID3D12Device6 *iface, static void STDMETHODCALLTYPE d3d12_device_CopyDescriptorsSimple(ID3D12Device7 *iface,
UINT descriptor_count, const D3D12_CPU_DESCRIPTOR_HANDLE dst_descriptor_range_offset, UINT descriptor_count, const D3D12_CPU_DESCRIPTOR_HANDLE dst_descriptor_range_offset,
const D3D12_CPU_DESCRIPTOR_HANDLE src_descriptor_range_offset, const D3D12_CPU_DESCRIPTOR_HANDLE src_descriptor_range_offset,
D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type) D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type)
@ -3566,10 +3567,10 @@ static void STDMETHODCALLTYPE d3d12_device_CopyDescriptorsSimple(ID3D12Device6 *
} }
static D3D12_RESOURCE_ALLOCATION_INFO * STDMETHODCALLTYPE d3d12_device_GetResourceAllocationInfo( static D3D12_RESOURCE_ALLOCATION_INFO * STDMETHODCALLTYPE d3d12_device_GetResourceAllocationInfo(
ID3D12Device6 *iface, D3D12_RESOURCE_ALLOCATION_INFO *info, UINT visible_mask, ID3D12Device7 *iface, D3D12_RESOURCE_ALLOCATION_INFO *info, UINT visible_mask,
UINT count, const D3D12_RESOURCE_DESC *resource_descs) UINT count, const D3D12_RESOURCE_DESC *resource_descs)
{ {
struct d3d12_device *device = impl_from_ID3D12Device6(iface); struct d3d12_device *device = impl_from_ID3D12Device7(iface);
const D3D12_RESOURCE_DESC *desc; const D3D12_RESOURCE_DESC *desc;
uint64_t requested_alignment; uint64_t requested_alignment;
@ -3642,10 +3643,10 @@ invalid:
return info; return info;
} }
static D3D12_HEAP_PROPERTIES * STDMETHODCALLTYPE d3d12_device_GetCustomHeapProperties(ID3D12Device6 *iface, static D3D12_HEAP_PROPERTIES * STDMETHODCALLTYPE d3d12_device_GetCustomHeapProperties(ID3D12Device7 *iface,
D3D12_HEAP_PROPERTIES *heap_properties, UINT node_mask, D3D12_HEAP_TYPE heap_type) D3D12_HEAP_PROPERTIES *heap_properties, UINT node_mask, D3D12_HEAP_TYPE heap_type)
{ {
struct d3d12_device *device = impl_from_ID3D12Device6(iface); struct d3d12_device *device = impl_from_ID3D12Device7(iface);
bool coherent; bool coherent;
TRACE("iface %p, heap_properties %p, node_mask 0x%08x, heap_type %#x.\n", TRACE("iface %p, heap_properties %p, node_mask 0x%08x, heap_type %#x.\n",
@ -3685,12 +3686,12 @@ static D3D12_HEAP_PROPERTIES * STDMETHODCALLTYPE d3d12_device_GetCustomHeapPrope
return heap_properties; return heap_properties;
} }
static HRESULT STDMETHODCALLTYPE d3d12_device_CreateCommittedResource(ID3D12Device6 *iface, static HRESULT STDMETHODCALLTYPE d3d12_device_CreateCommittedResource(ID3D12Device7 *iface,
const D3D12_HEAP_PROPERTIES *heap_properties, D3D12_HEAP_FLAGS heap_flags, const D3D12_HEAP_PROPERTIES *heap_properties, D3D12_HEAP_FLAGS heap_flags,
const D3D12_RESOURCE_DESC *desc, D3D12_RESOURCE_STATES initial_state, const D3D12_RESOURCE_DESC *desc, D3D12_RESOURCE_STATES initial_state,
const D3D12_CLEAR_VALUE *optimized_clear_value, REFIID iid, void **resource) const D3D12_CLEAR_VALUE *optimized_clear_value, REFIID iid, void **resource)
{ {
struct d3d12_device *device = impl_from_ID3D12Device6(iface); struct d3d12_device *device = impl_from_ID3D12Device7(iface);
struct d3d12_resource *object; struct d3d12_resource *object;
HRESULT hr; HRESULT hr;
@ -3709,10 +3710,10 @@ static HRESULT STDMETHODCALLTYPE d3d12_device_CreateCommittedResource(ID3D12Devi
return return_interface(&object->ID3D12Resource1_iface, &IID_ID3D12Resource1, iid, resource); return return_interface(&object->ID3D12Resource1_iface, &IID_ID3D12Resource1, iid, resource);
} }
static HRESULT STDMETHODCALLTYPE d3d12_device_CreateHeap(ID3D12Device6 *iface, static HRESULT STDMETHODCALLTYPE d3d12_device_CreateHeap(ID3D12Device7 *iface,
const D3D12_HEAP_DESC *desc, REFIID iid, void **heap) const D3D12_HEAP_DESC *desc, REFIID iid, void **heap)
{ {
struct d3d12_device *device = impl_from_ID3D12Device6(iface); struct d3d12_device *device = impl_from_ID3D12Device7(iface);
struct d3d12_heap *object; struct d3d12_heap *object;
HRESULT hr; HRESULT hr;
@ -3728,12 +3729,12 @@ static HRESULT STDMETHODCALLTYPE d3d12_device_CreateHeap(ID3D12Device6 *iface,
return return_interface(&object->ID3D12Heap_iface, &IID_ID3D12Heap, iid, heap); return return_interface(&object->ID3D12Heap_iface, &IID_ID3D12Heap, iid, heap);
} }
static HRESULT STDMETHODCALLTYPE d3d12_device_CreatePlacedResource(ID3D12Device6 *iface, static HRESULT STDMETHODCALLTYPE d3d12_device_CreatePlacedResource(ID3D12Device7 *iface,
ID3D12Heap *heap, UINT64 heap_offset, ID3D12Heap *heap, UINT64 heap_offset,
const D3D12_RESOURCE_DESC *desc, D3D12_RESOURCE_STATES initial_state, const D3D12_RESOURCE_DESC *desc, D3D12_RESOURCE_STATES initial_state,
const D3D12_CLEAR_VALUE *optimized_clear_value, REFIID iid, void **resource) const D3D12_CLEAR_VALUE *optimized_clear_value, REFIID iid, void **resource)
{ {
struct d3d12_device *device = impl_from_ID3D12Device6(iface); struct d3d12_device *device = impl_from_ID3D12Device7(iface);
struct d3d12_heap *heap_object; struct d3d12_heap *heap_object;
struct d3d12_resource *object; struct d3d12_resource *object;
HRESULT hr; HRESULT hr;
@ -3752,11 +3753,11 @@ static HRESULT STDMETHODCALLTYPE d3d12_device_CreatePlacedResource(ID3D12Device6
return return_interface(&object->ID3D12Resource1_iface, &IID_ID3D12Resource1, iid, resource); return return_interface(&object->ID3D12Resource1_iface, &IID_ID3D12Resource1, iid, resource);
} }
static HRESULT STDMETHODCALLTYPE d3d12_device_CreateReservedResource(ID3D12Device6 *iface, static HRESULT STDMETHODCALLTYPE d3d12_device_CreateReservedResource(ID3D12Device7 *iface,
const D3D12_RESOURCE_DESC *desc, D3D12_RESOURCE_STATES initial_state, const D3D12_RESOURCE_DESC *desc, D3D12_RESOURCE_STATES initial_state,
const D3D12_CLEAR_VALUE *optimized_clear_value, REFIID iid, void **resource) const D3D12_CLEAR_VALUE *optimized_clear_value, REFIID iid, void **resource)
{ {
struct d3d12_device *device = impl_from_ID3D12Device6(iface); struct d3d12_device *device = impl_from_ID3D12Device7(iface);
struct d3d12_resource *object; struct d3d12_resource *object;
HRESULT hr; HRESULT hr;
@ -3770,11 +3771,11 @@ static HRESULT STDMETHODCALLTYPE d3d12_device_CreateReservedResource(ID3D12Devic
return return_interface(&object->ID3D12Resource1_iface, &IID_ID3D12Resource1, iid, resource); return return_interface(&object->ID3D12Resource1_iface, &IID_ID3D12Resource1, iid, resource);
} }
static HRESULT STDMETHODCALLTYPE d3d12_device_CreateSharedHandle(ID3D12Device6 *iface, static HRESULT STDMETHODCALLTYPE d3d12_device_CreateSharedHandle(ID3D12Device7 *iface,
ID3D12DeviceChild *object, const SECURITY_ATTRIBUTES *attributes, DWORD access, ID3D12DeviceChild *object, const SECURITY_ATTRIBUTES *attributes, DWORD access,
const WCHAR *name, HANDLE *handle) const WCHAR *name, HANDLE *handle)
{ {
struct d3d12_device *device = impl_from_ID3D12Device6(iface); struct d3d12_device *device = impl_from_ID3D12Device7(iface);
FIXME("iface %p, object %p, attributes %p, access %#x, name %s, handle %p stub!\n", FIXME("iface %p, object %p, attributes %p, access %#x, name %s, handle %p stub!\n",
iface, object, attributes, access, debugstr_w(name, device->wchar_size), handle); iface, object, attributes, access, debugstr_w(name, device->wchar_size), handle);
@ -3782,7 +3783,7 @@ static HRESULT STDMETHODCALLTYPE d3d12_device_CreateSharedHandle(ID3D12Device6 *
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT STDMETHODCALLTYPE d3d12_device_OpenSharedHandle(ID3D12Device6 *iface, static HRESULT STDMETHODCALLTYPE d3d12_device_OpenSharedHandle(ID3D12Device7 *iface,
HANDLE handle, REFIID riid, void **object) HANDLE handle, REFIID riid, void **object)
{ {
FIXME("iface %p, handle %p, riid %s, object %p stub!\n", FIXME("iface %p, handle %p, riid %s, object %p stub!\n",
@ -3791,10 +3792,10 @@ static HRESULT STDMETHODCALLTYPE d3d12_device_OpenSharedHandle(ID3D12Device6 *if
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT STDMETHODCALLTYPE d3d12_device_OpenSharedHandleByName(ID3D12Device6 *iface, static HRESULT STDMETHODCALLTYPE d3d12_device_OpenSharedHandleByName(ID3D12Device7 *iface,
const WCHAR *name, DWORD access, HANDLE *handle) const WCHAR *name, DWORD access, HANDLE *handle)
{ {
struct d3d12_device *device = impl_from_ID3D12Device6(iface); struct d3d12_device *device = impl_from_ID3D12Device7(iface);
FIXME("iface %p, name %s, access %#x, handle %p stub!\n", FIXME("iface %p, name %s, access %#x, handle %p stub!\n",
iface, debugstr_w(name, device->wchar_size), access, handle); iface, debugstr_w(name, device->wchar_size), access, handle);
@ -3802,7 +3803,7 @@ static HRESULT STDMETHODCALLTYPE d3d12_device_OpenSharedHandleByName(ID3D12Devic
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT STDMETHODCALLTYPE d3d12_device_MakeResident(ID3D12Device6 *iface, static HRESULT STDMETHODCALLTYPE d3d12_device_MakeResident(ID3D12Device7 *iface,
UINT object_count, ID3D12Pageable * const *objects) UINT object_count, ID3D12Pageable * const *objects)
{ {
ID3D12Fence *fence; ID3D12Fence *fence;
@ -3810,17 +3811,17 @@ static HRESULT STDMETHODCALLTYPE d3d12_device_MakeResident(ID3D12Device6 *iface,
TRACE("iface %p, object_count %u, objects %p.\n", iface, object_count, objects); TRACE("iface %p, object_count %u, objects %p.\n", iface, object_count, objects);
if (FAILED(hr = ID3D12Device6_CreateFence(iface, 0, 0, &IID_ID3D12Fence, (void **)&fence))) if (FAILED(hr = ID3D12Device7_CreateFence(iface, 0, 0, &IID_ID3D12Fence, (void **)&fence)))
return hr; return hr;
hr = ID3D12Device6_EnqueueMakeResident(iface, 0, object_count, objects, fence, 1); hr = ID3D12Device7_EnqueueMakeResident(iface, 0, object_count, objects, fence, 1);
if (SUCCEEDED(hr)) if (SUCCEEDED(hr))
ID3D12Fence_SetEventOnCompletion(fence, 1, NULL); ID3D12Fence_SetEventOnCompletion(fence, 1, NULL);
ID3D12Fence_Release(fence); ID3D12Fence_Release(fence);
return hr; return hr;
} }
static HRESULT STDMETHODCALLTYPE d3d12_device_Evict(ID3D12Device6 *iface, static HRESULT STDMETHODCALLTYPE d3d12_device_Evict(ID3D12Device7 *iface,
UINT object_count, ID3D12Pageable * const *objects) UINT object_count, ID3D12Pageable * const *objects)
{ {
FIXME_ONCE("iface %p, object_count %u, objects %p stub!\n", FIXME_ONCE("iface %p, object_count %u, objects %p stub!\n",
@ -3829,10 +3830,10 @@ static HRESULT STDMETHODCALLTYPE d3d12_device_Evict(ID3D12Device6 *iface,
return S_OK; return S_OK;
} }
static HRESULT STDMETHODCALLTYPE d3d12_device_CreateFence(ID3D12Device6 *iface, static HRESULT STDMETHODCALLTYPE d3d12_device_CreateFence(ID3D12Device7 *iface,
UINT64 initial_value, D3D12_FENCE_FLAGS flags, REFIID riid, void **fence) UINT64 initial_value, D3D12_FENCE_FLAGS flags, REFIID riid, void **fence)
{ {
struct d3d12_device *device = impl_from_ID3D12Device6(iface); struct d3d12_device *device = impl_from_ID3D12Device7(iface);
struct d3d12_fence *object; struct d3d12_fence *object;
HRESULT hr; HRESULT hr;
@ -3845,21 +3846,21 @@ static HRESULT STDMETHODCALLTYPE d3d12_device_CreateFence(ID3D12Device6 *iface,
return return_interface(&object->ID3D12Fence1_iface, &IID_ID3D12Fence1, riid, fence); return return_interface(&object->ID3D12Fence1_iface, &IID_ID3D12Fence1, riid, fence);
} }
static HRESULT STDMETHODCALLTYPE d3d12_device_GetDeviceRemovedReason(ID3D12Device6 *iface) static HRESULT STDMETHODCALLTYPE d3d12_device_GetDeviceRemovedReason(ID3D12Device7 *iface)
{ {
struct d3d12_device *device = impl_from_ID3D12Device6(iface); struct d3d12_device *device = impl_from_ID3D12Device7(iface);
TRACE("iface %p.\n", iface); TRACE("iface %p.\n", iface);
return device->removed_reason; return device->removed_reason;
} }
static void STDMETHODCALLTYPE d3d12_device_GetCopyableFootprints(ID3D12Device6 *iface, static void STDMETHODCALLTYPE d3d12_device_GetCopyableFootprints(ID3D12Device7 *iface,
const D3D12_RESOURCE_DESC *desc, UINT first_sub_resource, UINT sub_resource_count, const D3D12_RESOURCE_DESC *desc, UINT first_sub_resource, UINT sub_resource_count,
UINT64 base_offset, D3D12_PLACED_SUBRESOURCE_FOOTPRINT *layouts, UINT64 base_offset, D3D12_PLACED_SUBRESOURCE_FOOTPRINT *layouts,
UINT *row_counts, UINT64 *row_sizes, UINT64 *total_bytes) UINT *row_counts, UINT64 *row_sizes, UINT64 *total_bytes)
{ {
struct d3d12_device *device = impl_from_ID3D12Device6(iface); struct d3d12_device *device = impl_from_ID3D12Device7(iface);
unsigned int i, sub_resource_idx, miplevel_idx, row_count, row_size, row_pitch; unsigned int i, sub_resource_idx, miplevel_idx, row_count, row_size, row_pitch;
unsigned int width, height, depth, plane_count, sub_resources_per_plane; unsigned int width, height, depth, plane_count, sub_resources_per_plane;
@ -3939,10 +3940,10 @@ static void STDMETHODCALLTYPE d3d12_device_GetCopyableFootprints(ID3D12Device6 *
*total_bytes = total; *total_bytes = total;
} }
static HRESULT STDMETHODCALLTYPE d3d12_device_CreateQueryHeap(ID3D12Device6 *iface, static HRESULT STDMETHODCALLTYPE d3d12_device_CreateQueryHeap(ID3D12Device7 *iface,
const D3D12_QUERY_HEAP_DESC *desc, REFIID iid, void **heap) const D3D12_QUERY_HEAP_DESC *desc, REFIID iid, void **heap)
{ {
struct d3d12_device *device = impl_from_ID3D12Device6(iface); struct d3d12_device *device = impl_from_ID3D12Device7(iface);
struct d3d12_query_heap *object; struct d3d12_query_heap *object;
HRESULT hr; HRESULT hr;
@ -3955,18 +3956,18 @@ static HRESULT STDMETHODCALLTYPE d3d12_device_CreateQueryHeap(ID3D12Device6 *ifa
return return_interface(&object->ID3D12QueryHeap_iface, &IID_ID3D12QueryHeap, iid, heap); return return_interface(&object->ID3D12QueryHeap_iface, &IID_ID3D12QueryHeap, iid, heap);
} }
static HRESULT STDMETHODCALLTYPE d3d12_device_SetStablePowerState(ID3D12Device6 *iface, BOOL enable) static HRESULT STDMETHODCALLTYPE d3d12_device_SetStablePowerState(ID3D12Device7 *iface, BOOL enable)
{ {
FIXME("iface %p, enable %#x stub!\n", iface, enable); FIXME("iface %p, enable %#x stub!\n", iface, enable);
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT STDMETHODCALLTYPE d3d12_device_CreateCommandSignature(ID3D12Device6 *iface, static HRESULT STDMETHODCALLTYPE d3d12_device_CreateCommandSignature(ID3D12Device7 *iface,
const D3D12_COMMAND_SIGNATURE_DESC *desc, ID3D12RootSignature *root_signature, const D3D12_COMMAND_SIGNATURE_DESC *desc, ID3D12RootSignature *root_signature,
REFIID iid, void **command_signature) REFIID iid, void **command_signature)
{ {
struct d3d12_device *device = impl_from_ID3D12Device6(iface); struct d3d12_device *device = impl_from_ID3D12Device7(iface);
struct d3d12_command_signature *object; struct d3d12_command_signature *object;
HRESULT hr; HRESULT hr;
@ -3980,14 +3981,14 @@ static HRESULT STDMETHODCALLTYPE d3d12_device_CreateCommandSignature(ID3D12Devic
&IID_ID3D12CommandSignature, iid, command_signature); &IID_ID3D12CommandSignature, iid, command_signature);
} }
static void STDMETHODCALLTYPE d3d12_device_GetResourceTiling(ID3D12Device6 *iface, static void STDMETHODCALLTYPE d3d12_device_GetResourceTiling(ID3D12Device7 *iface,
ID3D12Resource *resource, UINT *total_tile_count, ID3D12Resource *resource, UINT *total_tile_count,
D3D12_PACKED_MIP_INFO *packed_mip_info, D3D12_TILE_SHAPE *standard_tile_shape, D3D12_PACKED_MIP_INFO *packed_mip_info, D3D12_TILE_SHAPE *standard_tile_shape,
UINT *sub_resource_tiling_count, UINT first_sub_resource_tiling, UINT *sub_resource_tiling_count, UINT first_sub_resource_tiling,
D3D12_SUBRESOURCE_TILING *sub_resource_tilings) D3D12_SUBRESOURCE_TILING *sub_resource_tilings)
{ {
const struct d3d12_resource *resource_impl = impl_from_ID3D12Resource(resource); const struct d3d12_resource *resource_impl = impl_from_ID3D12Resource(resource);
struct d3d12_device *device = impl_from_ID3D12Device6(iface); struct d3d12_device *device = impl_from_ID3D12Device7(iface);
TRACE("iface %p, resource %p, total_tile_count %p, packed_mip_info %p, " TRACE("iface %p, resource %p, total_tile_count %p, packed_mip_info %p, "
"standard_title_shape %p, sub_resource_tiling_count %p, " "standard_title_shape %p, sub_resource_tiling_count %p, "
@ -4000,9 +4001,9 @@ static void STDMETHODCALLTYPE d3d12_device_GetResourceTiling(ID3D12Device6 *ifac
sub_resource_tiling_count, first_sub_resource_tiling, sub_resource_tilings); sub_resource_tiling_count, first_sub_resource_tiling, sub_resource_tilings);
} }
static LUID * STDMETHODCALLTYPE d3d12_device_GetAdapterLuid(ID3D12Device6 *iface, LUID *luid) static LUID * STDMETHODCALLTYPE d3d12_device_GetAdapterLuid(ID3D12Device7 *iface, LUID *luid)
{ {
struct d3d12_device *device = impl_from_ID3D12Device6(iface); struct d3d12_device *device = impl_from_ID3D12Device7(iface);
TRACE("iface %p, luid %p.\n", iface, luid); TRACE("iface %p, luid %p.\n", iface, luid);
@ -4011,7 +4012,7 @@ static LUID * STDMETHODCALLTYPE d3d12_device_GetAdapterLuid(ID3D12Device6 *iface
return luid; return luid;
} }
static HRESULT STDMETHODCALLTYPE d3d12_device_CreatePipelineLibrary(ID3D12Device6 *iface, static HRESULT STDMETHODCALLTYPE d3d12_device_CreatePipelineLibrary(ID3D12Device7 *iface,
const void *blob, SIZE_T blob_size, REFIID iid, void **lib) const void *blob, SIZE_T blob_size, REFIID iid, void **lib)
{ {
FIXME("iface %p, blob %p, blob_size %lu, iid %s, lib %p stub!\n", iface, blob, blob_size, debugstr_guid(iid), lib); FIXME("iface %p, blob %p, blob_size %lu, iid %s, lib %p stub!\n", iface, blob, blob_size, debugstr_guid(iid), lib);
@ -4019,7 +4020,7 @@ static HRESULT STDMETHODCALLTYPE d3d12_device_CreatePipelineLibrary(ID3D12Device
return DXGI_ERROR_UNSUPPORTED; return DXGI_ERROR_UNSUPPORTED;
} }
static HRESULT STDMETHODCALLTYPE d3d12_device_SetEventOnMultipleFenceCompletion(ID3D12Device6 *iface, static HRESULT STDMETHODCALLTYPE d3d12_device_SetEventOnMultipleFenceCompletion(ID3D12Device7 *iface,
ID3D12Fence *const *fences, const UINT64 *values, UINT fence_count, ID3D12Fence *const *fences, const UINT64 *values, UINT fence_count,
D3D12_MULTIPLE_FENCE_WAIT_FLAGS flags, HANDLE event) D3D12_MULTIPLE_FENCE_WAIT_FLAGS flags, HANDLE event)
{ {
@ -4029,7 +4030,7 @@ static HRESULT STDMETHODCALLTYPE d3d12_device_SetEventOnMultipleFenceCompletion(
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT STDMETHODCALLTYPE d3d12_device_SetResidencyPriority(ID3D12Device6 *iface, static HRESULT STDMETHODCALLTYPE d3d12_device_SetResidencyPriority(ID3D12Device7 *iface,
UINT object_count, ID3D12Pageable *const *objects, const D3D12_RESIDENCY_PRIORITY *priorities) UINT object_count, ID3D12Pageable *const *objects, const D3D12_RESIDENCY_PRIORITY *priorities)
{ {
FIXME_ONCE("iface %p, object_count %u, objects %p, priorities %p stub!\n", iface, object_count, objects, priorities); FIXME_ONCE("iface %p, object_count %u, objects %p, priorities %p stub!\n", iface, object_count, objects, priorities);
@ -4037,10 +4038,10 @@ static HRESULT STDMETHODCALLTYPE d3d12_device_SetResidencyPriority(ID3D12Device6
return S_OK; return S_OK;
} }
static HRESULT STDMETHODCALLTYPE d3d12_device_CreatePipelineState(ID3D12Device6 *iface, static HRESULT STDMETHODCALLTYPE d3d12_device_CreatePipelineState(ID3D12Device7 *iface,
const D3D12_PIPELINE_STATE_STREAM_DESC *desc, REFIID iid, void **pipeline_state) const D3D12_PIPELINE_STATE_STREAM_DESC *desc, REFIID iid, void **pipeline_state)
{ {
struct d3d12_device *device = impl_from_ID3D12Device6(iface); struct d3d12_device *device = impl_from_ID3D12Device7(iface);
struct d3d12_pipeline_state *object; struct d3d12_pipeline_state *object;
HRESULT hr; HRESULT hr;
@ -4052,7 +4053,7 @@ static HRESULT STDMETHODCALLTYPE d3d12_device_CreatePipelineState(ID3D12Device6
return return_interface(&object->ID3D12PipelineState_iface, &IID_ID3D12PipelineState, iid, pipeline_state); return return_interface(&object->ID3D12PipelineState_iface, &IID_ID3D12PipelineState, iid, pipeline_state);
} }
static HRESULT STDMETHODCALLTYPE d3d12_device_OpenExistingHeapFromAddress(ID3D12Device6 *iface, static HRESULT STDMETHODCALLTYPE d3d12_device_OpenExistingHeapFromAddress(ID3D12Device7 *iface,
const void *address, REFIID iid, void **heap) const void *address, REFIID iid, void **heap)
{ {
FIXME("iface %p, address %p, iid %s, heap %p stub!\n", iface, address, debugstr_guid(iid), heap); FIXME("iface %p, address %p, iid %s, heap %p stub!\n", iface, address, debugstr_guid(iid), heap);
@ -4060,7 +4061,7 @@ static HRESULT STDMETHODCALLTYPE d3d12_device_OpenExistingHeapFromAddress(ID3D12
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT STDMETHODCALLTYPE d3d12_device_OpenExistingHeapFromFileMapping(ID3D12Device6 *iface, static HRESULT STDMETHODCALLTYPE d3d12_device_OpenExistingHeapFromFileMapping(ID3D12Device7 *iface,
HANDLE file_mapping, REFIID iid, void **heap) HANDLE file_mapping, REFIID iid, void **heap)
{ {
FIXME("iface %p, file_mapping %p, iid %s, heap %p stub!\n", iface, file_mapping, debugstr_guid(iid), heap); FIXME("iface %p, file_mapping %p, iid %s, heap %p stub!\n", iface, file_mapping, debugstr_guid(iid), heap);
@ -4068,7 +4069,7 @@ static HRESULT STDMETHODCALLTYPE d3d12_device_OpenExistingHeapFromFileMapping(ID
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT STDMETHODCALLTYPE d3d12_device_EnqueueMakeResident(ID3D12Device6 *iface, static HRESULT STDMETHODCALLTYPE d3d12_device_EnqueueMakeResident(ID3D12Device7 *iface,
D3D12_RESIDENCY_FLAGS flags, UINT num_objects, ID3D12Pageable *const *objects, D3D12_RESIDENCY_FLAGS flags, UINT num_objects, ID3D12Pageable *const *objects,
ID3D12Fence *fence, UINT64 fence_value) ID3D12Fence *fence, UINT64 fence_value)
{ {
@ -4079,7 +4080,7 @@ static HRESULT STDMETHODCALLTYPE d3d12_device_EnqueueMakeResident(ID3D12Device6
return S_OK; return S_OK;
} }
static HRESULT STDMETHODCALLTYPE d3d12_device_CreateCommandList1(ID3D12Device6 *iface, static HRESULT STDMETHODCALLTYPE d3d12_device_CreateCommandList1(ID3D12Device7 *iface,
UINT node_mask, D3D12_COMMAND_LIST_TYPE type, D3D12_COMMAND_LIST_FLAGS flags, UINT node_mask, D3D12_COMMAND_LIST_TYPE type, D3D12_COMMAND_LIST_FLAGS flags,
REFIID iid, void **command_list) REFIID iid, void **command_list)
{ {
@ -4089,7 +4090,7 @@ static HRESULT STDMETHODCALLTYPE d3d12_device_CreateCommandList1(ID3D12Device6 *
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT STDMETHODCALLTYPE d3d12_device_CreateProtectedResourceSession(ID3D12Device6 *iface, static HRESULT STDMETHODCALLTYPE d3d12_device_CreateProtectedResourceSession(ID3D12Device7 *iface,
const D3D12_PROTECTED_RESOURCE_SESSION_DESC *desc, REFIID iid, void **session) const D3D12_PROTECTED_RESOURCE_SESSION_DESC *desc, REFIID iid, void **session)
{ {
FIXME("iface %p, desc %p, iid %s, session %p stub!\n", iface, desc, debugstr_guid(iid), session); FIXME("iface %p, desc %p, iid %s, session %p stub!\n", iface, desc, debugstr_guid(iid), session);
@ -4097,13 +4098,13 @@ static HRESULT STDMETHODCALLTYPE d3d12_device_CreateProtectedResourceSession(ID3
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT STDMETHODCALLTYPE d3d12_device_CreateCommittedResource1(ID3D12Device6 *iface, static HRESULT STDMETHODCALLTYPE d3d12_device_CreateCommittedResource1(ID3D12Device7 *iface,
const D3D12_HEAP_PROPERTIES *heap_properties, D3D12_HEAP_FLAGS heap_flags, const D3D12_HEAP_PROPERTIES *heap_properties, D3D12_HEAP_FLAGS heap_flags,
const D3D12_RESOURCE_DESC *desc, D3D12_RESOURCE_STATES initial_state, const D3D12_RESOURCE_DESC *desc, D3D12_RESOURCE_STATES initial_state,
const D3D12_CLEAR_VALUE *optimized_clear_value, const D3D12_CLEAR_VALUE *optimized_clear_value,
ID3D12ProtectedResourceSession *protected_session, REFIID iid, void **resource) ID3D12ProtectedResourceSession *protected_session, REFIID iid, void **resource)
{ {
struct d3d12_device *device = impl_from_ID3D12Device6(iface); struct d3d12_device *device = impl_from_ID3D12Device7(iface);
struct d3d12_resource *object; struct d3d12_resource *object;
HRESULT hr; HRESULT hr;
@ -4122,11 +4123,11 @@ static HRESULT STDMETHODCALLTYPE d3d12_device_CreateCommittedResource1(ID3D12Dev
return return_interface(&object->ID3D12Resource1_iface, &IID_ID3D12Resource1, iid, resource); return return_interface(&object->ID3D12Resource1_iface, &IID_ID3D12Resource1, iid, resource);
} }
static HRESULT STDMETHODCALLTYPE d3d12_device_CreateHeap1(ID3D12Device6 *iface, static HRESULT STDMETHODCALLTYPE d3d12_device_CreateHeap1(ID3D12Device7 *iface,
const D3D12_HEAP_DESC *desc, ID3D12ProtectedResourceSession *protected_session, const D3D12_HEAP_DESC *desc, ID3D12ProtectedResourceSession *protected_session,
REFIID iid, void **heap) REFIID iid, void **heap)
{ {
struct d3d12_device *device = impl_from_ID3D12Device6(iface); struct d3d12_device *device = impl_from_ID3D12Device7(iface);
struct d3d12_heap *object; struct d3d12_heap *object;
HRESULT hr; HRESULT hr;
@ -4142,7 +4143,7 @@ static HRESULT STDMETHODCALLTYPE d3d12_device_CreateHeap1(ID3D12Device6 *iface,
return return_interface(&object->ID3D12Heap_iface, &IID_ID3D12Heap, iid, heap); return return_interface(&object->ID3D12Heap_iface, &IID_ID3D12Heap, iid, heap);
} }
static HRESULT STDMETHODCALLTYPE d3d12_device_CreateReservedResource1(ID3D12Device6 *iface, static HRESULT STDMETHODCALLTYPE d3d12_device_CreateReservedResource1(ID3D12Device7 *iface,
const D3D12_RESOURCE_DESC *desc, D3D12_RESOURCE_STATES initial_state, const D3D12_RESOURCE_DESC *desc, D3D12_RESOURCE_STATES initial_state,
const D3D12_CLEAR_VALUE *optimized_clear_value, const D3D12_CLEAR_VALUE *optimized_clear_value,
ID3D12ProtectedResourceSession *protected_session, REFIID iid, void **resource) ID3D12ProtectedResourceSession *protected_session, REFIID iid, void **resource)
@ -4156,7 +4157,7 @@ static HRESULT STDMETHODCALLTYPE d3d12_device_CreateReservedResource1(ID3D12Devi
} }
static D3D12_RESOURCE_ALLOCATION_INFO * STDMETHODCALLTYPE d3d12_device_GetResourceAllocationInfo1( static D3D12_RESOURCE_ALLOCATION_INFO * STDMETHODCALLTYPE d3d12_device_GetResourceAllocationInfo1(
ID3D12Device6 *iface, D3D12_RESOURCE_ALLOCATION_INFO *info, UINT visible_mask, ID3D12Device7 *iface, D3D12_RESOURCE_ALLOCATION_INFO *info, UINT visible_mask,
UINT count, const D3D12_RESOURCE_DESC *resource_descs, UINT count, const D3D12_RESOURCE_DESC *resource_descs,
D3D12_RESOURCE_ALLOCATION_INFO1 *info1) D3D12_RESOURCE_ALLOCATION_INFO1 *info1)
{ {
@ -4166,7 +4167,7 @@ static D3D12_RESOURCE_ALLOCATION_INFO * STDMETHODCALLTYPE d3d12_device_GetResour
return info; return info;
} }
static HRESULT STDMETHODCALLTYPE d3d12_device_CreateLifetimeTracker(ID3D12Device6 *iface, static HRESULT STDMETHODCALLTYPE d3d12_device_CreateLifetimeTracker(ID3D12Device7 *iface,
ID3D12LifetimeOwner *owner, REFIID iid, void **tracker) ID3D12LifetimeOwner *owner, REFIID iid, void **tracker)
{ {
FIXME("iface %p, owner %p, iid %s, tracker %p stub!\n", iface, owner, debugstr_guid(iid), tracker); FIXME("iface %p, owner %p, iid %s, tracker %p stub!\n", iface, owner, debugstr_guid(iid), tracker);
@ -4174,12 +4175,12 @@ static HRESULT STDMETHODCALLTYPE d3d12_device_CreateLifetimeTracker(ID3D12Device
return E_NOTIMPL; return E_NOTIMPL;
} }
static void STDMETHODCALLTYPE d3d12_device_RemoveDevice(ID3D12Device6 *iface) static void STDMETHODCALLTYPE d3d12_device_RemoveDevice(ID3D12Device7 *iface)
{ {
FIXME("iface %p stub!\n", iface); FIXME("iface %p stub!\n", iface);
} }
static HRESULT STDMETHODCALLTYPE d3d12_device_EnumerateMetaCommands(ID3D12Device6 *iface, static HRESULT STDMETHODCALLTYPE d3d12_device_EnumerateMetaCommands(ID3D12Device7 *iface,
UINT *num_meta_commands, D3D12_META_COMMAND_DESC *command_desc) UINT *num_meta_commands, D3D12_META_COMMAND_DESC *command_desc)
{ {
FIXME("iface %p, num_meta_commands %p, command_desc %p stub!\n", iface, FIXME("iface %p, num_meta_commands %p, command_desc %p stub!\n", iface,
@ -4188,7 +4189,7 @@ static HRESULT STDMETHODCALLTYPE d3d12_device_EnumerateMetaCommands(ID3D12Device
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT STDMETHODCALLTYPE d3d12_device_EnumerateMetaCommandParameters(ID3D12Device6 *iface, static HRESULT STDMETHODCALLTYPE d3d12_device_EnumerateMetaCommandParameters(ID3D12Device7 *iface,
REFGUID command_id, D3D12_META_COMMAND_PARAMETER_STAGE stage, REFGUID command_id, D3D12_META_COMMAND_PARAMETER_STAGE stage,
UINT *size_in_bytes, UINT *parameter_count, UINT *size_in_bytes, UINT *parameter_count,
D3D12_META_COMMAND_PARAMETER_DESC *parameter_desc) D3D12_META_COMMAND_PARAMETER_DESC *parameter_desc)
@ -4200,7 +4201,7 @@ static HRESULT STDMETHODCALLTYPE d3d12_device_EnumerateMetaCommandParameters(ID3
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT STDMETHODCALLTYPE d3d12_device_CreateMetaCommand(ID3D12Device6 *iface, static HRESULT STDMETHODCALLTYPE d3d12_device_CreateMetaCommand(ID3D12Device7 *iface,
REFGUID command_id, UINT node_mask, const void *parameters_data, REFGUID command_id, UINT node_mask, const void *parameters_data,
SIZE_T data_size_in_bytes, REFIID iid, void **meta_command) SIZE_T data_size_in_bytes, REFIID iid, void **meta_command)
{ {
@ -4212,7 +4213,7 @@ static HRESULT STDMETHODCALLTYPE d3d12_device_CreateMetaCommand(ID3D12Device6 *i
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT STDMETHODCALLTYPE d3d12_device_CreateStateObject(ID3D12Device6 *iface, static HRESULT STDMETHODCALLTYPE d3d12_device_CreateStateObject(ID3D12Device7 *iface,
const D3D12_STATE_OBJECT_DESC *desc, REFIID iid, void **state_object) const D3D12_STATE_OBJECT_DESC *desc, REFIID iid, void **state_object)
{ {
FIXME("iface %p, desc %p, iid %s, state_object %p stub!\n", iface, desc, debugstr_guid(iid), state_object); FIXME("iface %p, desc %p, iid %s, state_object %p stub!\n", iface, desc, debugstr_guid(iid), state_object);
@ -4220,14 +4221,14 @@ static HRESULT STDMETHODCALLTYPE d3d12_device_CreateStateObject(ID3D12Device6 *i
return E_NOTIMPL; return E_NOTIMPL;
} }
static void STDMETHODCALLTYPE d3d12_device_GetRaytracingAccelerationStructurePrebuildInfo(ID3D12Device6 *iface, static void STDMETHODCALLTYPE d3d12_device_GetRaytracingAccelerationStructurePrebuildInfo(ID3D12Device7 *iface,
const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS *desc, const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS *desc,
D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO *info) D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO *info)
{ {
FIXME("iface %p, desc %p, info %p stub!\n", iface, desc, info); FIXME("iface %p, desc %p, info %p stub!\n", iface, desc, info);
} }
static D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS STDMETHODCALLTYPE d3d12_device_CheckDriverMatchingIdentifier(ID3D12Device6 *iface, static D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS STDMETHODCALLTYPE d3d12_device_CheckDriverMatchingIdentifier(ID3D12Device7 *iface,
D3D12_SERIALIZED_DATA_TYPE data_type, const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER *identifier) D3D12_SERIALIZED_DATA_TYPE data_type, const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER *identifier)
{ {
FIXME("iface %p, data_type %u, identifier %p stub!\n", iface, data_type, identifier); FIXME("iface %p, data_type %u, identifier %p stub!\n", iface, data_type, identifier);
@ -4235,7 +4236,7 @@ static D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS STDMETHODCALLTYPE d3d12_device_Ch
return D3D12_DRIVER_MATCHING_IDENTIFIER_UNRECOGNIZED; return D3D12_DRIVER_MATCHING_IDENTIFIER_UNRECOGNIZED;
} }
static HRESULT STDMETHODCALLTYPE d3d12_device_SetBackgroundProcessingMode(ID3D12Device6 *iface, static HRESULT STDMETHODCALLTYPE d3d12_device_SetBackgroundProcessingMode(ID3D12Device7 *iface,
D3D12_BACKGROUND_PROCESSING_MODE mode, D3D12_MEASUREMENTS_ACTION action, HANDLE event, D3D12_BACKGROUND_PROCESSING_MODE mode, D3D12_MEASUREMENTS_ACTION action, HANDLE event,
BOOL *further_measurements_desired) BOOL *further_measurements_desired)
{ {
@ -4245,7 +4246,25 @@ static HRESULT STDMETHODCALLTYPE d3d12_device_SetBackgroundProcessingMode(ID3D12
return E_NOTIMPL; return E_NOTIMPL;
} }
static const struct ID3D12Device6Vtbl d3d12_device_vtbl = static HRESULT STDMETHODCALLTYPE d3d12_device_AddToStateObject(ID3D12Device7 *iface,
const D3D12_STATE_OBJECT_DESC *addition, ID3D12StateObject *state_object_to_grow_from,
REFIID riid, void **new_state_object)
{
FIXME("iface %p, addition %p, state_object_to_grow_from %p, riid %s, new_state_object %p stub!\n",
iface, addition, state_object_to_grow_from, debugstr_guid(riid), new_state_object);
return E_NOTIMPL;
}
static HRESULT STDMETHODCALLTYPE d3d12_device_CreateProtectedResourceSession1(ID3D12Device7 *iface,
const D3D12_PROTECTED_RESOURCE_SESSION_DESC1 *desc, REFIID riid, void **session)
{
FIXME("iface %p, desc %p, riid %s, session %p stub!\n", iface, desc, debugstr_guid(riid), session);
return E_NOTIMPL;
}
static const struct ID3D12Device7Vtbl d3d12_device_vtbl =
{ {
/* IUnknown methods */ /* IUnknown methods */
d3d12_device_QueryInterface, d3d12_device_QueryInterface,
@ -4322,14 +4341,17 @@ static const struct ID3D12Device6Vtbl d3d12_device_vtbl =
d3d12_device_CheckDriverMatchingIdentifier, d3d12_device_CheckDriverMatchingIdentifier,
/* ID3D12Device6 methods */ /* ID3D12Device6 methods */
d3d12_device_SetBackgroundProcessingMode, d3d12_device_SetBackgroundProcessingMode,
/* ID3D12Device7 methods */
d3d12_device_AddToStateObject,
d3d12_device_CreateProtectedResourceSession1,
}; };
struct d3d12_device *unsafe_impl_from_ID3D12Device6(ID3D12Device6 *iface) struct d3d12_device *unsafe_impl_from_ID3D12Device7(ID3D12Device7 *iface)
{ {
if (!iface) if (!iface)
return NULL; return NULL;
assert(iface->lpVtbl == &d3d12_device_vtbl); assert(iface->lpVtbl == &d3d12_device_vtbl);
return impl_from_ID3D12Device6(iface); return impl_from_ID3D12Device7(iface);
} }
static void *device_worker_main(void *arg) static void *device_worker_main(void *arg)
@ -4372,7 +4394,7 @@ static HRESULT d3d12_device_init(struct d3d12_device *device,
const struct vkd3d_vk_device_procs *vk_procs; const struct vkd3d_vk_device_procs *vk_procs;
HRESULT hr; HRESULT hr;
device->ID3D12Device6_iface.lpVtbl = &d3d12_device_vtbl; device->ID3D12Device7_iface.lpVtbl = &d3d12_device_vtbl;
device->refcount = 1; device->refcount = 1;
vkd3d_instance_incref(device->vkd3d_instance = instance); vkd3d_instance_incref(device->vkd3d_instance = instance);
@ -4620,28 +4642,28 @@ HRESULT vkd3d_join_thread(struct vkd3d_instance *instance, union vkd3d_thread_ha
IUnknown *vkd3d_get_device_parent(ID3D12Device *device) IUnknown *vkd3d_get_device_parent(ID3D12Device *device)
{ {
struct d3d12_device *d3d12_device = impl_from_ID3D12Device6((ID3D12Device6 *)device); struct d3d12_device *d3d12_device = impl_from_ID3D12Device7((ID3D12Device7 *)device);
return d3d12_device->parent; return d3d12_device->parent;
} }
VkDevice vkd3d_get_vk_device(ID3D12Device *device) VkDevice vkd3d_get_vk_device(ID3D12Device *device)
{ {
struct d3d12_device *d3d12_device = impl_from_ID3D12Device6((ID3D12Device6 *)device); struct d3d12_device *d3d12_device = impl_from_ID3D12Device7((ID3D12Device7 *)device);
return d3d12_device->vk_device; return d3d12_device->vk_device;
} }
VkPhysicalDevice vkd3d_get_vk_physical_device(ID3D12Device *device) VkPhysicalDevice vkd3d_get_vk_physical_device(ID3D12Device *device)
{ {
struct d3d12_device *d3d12_device = impl_from_ID3D12Device6((ID3D12Device6 *)device); struct d3d12_device *d3d12_device = impl_from_ID3D12Device7((ID3D12Device7 *)device);
return d3d12_device->vk_physical_device; return d3d12_device->vk_physical_device;
} }
struct vkd3d_instance *vkd3d_instance_from_device(ID3D12Device *device) struct vkd3d_instance *vkd3d_instance_from_device(ID3D12Device *device)
{ {
struct d3d12_device *d3d12_device = impl_from_ID3D12Device6((ID3D12Device6 *)device); struct d3d12_device *d3d12_device = impl_from_ID3D12Device7((ID3D12Device7 *)device);
return d3d12_device->vkd3d_instance; return d3d12_device->vkd3d_instance;
} }

View File

@ -2239,7 +2239,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_ID3D12Device6((ID3D12Device6 *)device); struct d3d12_device *d3d12_device = unsafe_impl_from_ID3D12Device7((ID3D12Device7 *)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->ID3D12Device6_iface); ID3D12Device_Release(&object->ID3D12Device7_iface);
return S_FALSE; return S_FALSE;
} }
return return_interface(&object->ID3D12Device6_iface, &IID_ID3D12Device, iid, device); return return_interface(&object->ID3D12Device7_iface, &IID_ID3D12Device, iid, device);
} }
/* ID3D12RootSignatureDeserializer */ /* ID3D12RootSignatureDeserializer */

View File

@ -1748,7 +1748,7 @@ struct vkd3d_desc_object_cache
/* ID3D12Device */ /* ID3D12Device */
struct d3d12_device struct d3d12_device
{ {
ID3D12Device6 ID3D12Device6_iface; ID3D12Device7 ID3D12Device7_iface;
unsigned int refcount; unsigned int refcount;
VkDevice vk_device; VkDevice vk_device;
@ -1823,29 +1823,29 @@ 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_ID3D12Device6(ID3D12Device6 *iface); struct d3d12_device *unsafe_impl_from_ID3D12Device7(ID3D12Device7 *iface);
HRESULT d3d12_device_add_descriptor_heap(struct d3d12_device *device, struct d3d12_descriptor_heap *heap); HRESULT d3d12_device_add_descriptor_heap(struct d3d12_device *device, struct d3d12_descriptor_heap *heap);
void d3d12_device_remove_descriptor_heap(struct d3d12_device *device, struct d3d12_descriptor_heap *heap); void d3d12_device_remove_descriptor_heap(struct d3d12_device *device, struct d3d12_descriptor_heap *heap);
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 ID3D12Device6_QueryInterface(&device->ID3D12Device6_iface, iid, object); return ID3D12Device7_QueryInterface(&device->ID3D12Device7_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 ID3D12Device6_AddRef(&device->ID3D12Device6_iface); return ID3D12Device7_AddRef(&device->ID3D12Device7_iface);
} }
static inline ULONG d3d12_device_release(struct d3d12_device *device) static inline ULONG d3d12_device_release(struct d3d12_device *device)
{ {
return ID3D12Device6_Release(&device->ID3D12Device6_iface); return ID3D12Device7_Release(&device->ID3D12Device7_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 ID3D12Device6_GetDescriptorHandleIncrementSize(&device->ID3D12Device6_iface, descriptor_type); return ID3D12Device7_GetDescriptorHandleIncrementSize(&device->ID3D12Device7_iface, descriptor_type);
} }
/* utils */ /* utils */