mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2024-11-21 16:46:41 -08:00
vkd3d: Add support for the ID3D12CommandList6 interface.
This commit is contained in:
parent
9ff5b2ce7a
commit
969cae8b67
Notes:
Henri Verbeet
2024-08-05 16:13:08 +02:00
Approved-by: Giovanni Mascellani (@giomasce) Approved-by: Henri Verbeet (@hverbeet) Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/975
@ -1942,9 +1942,9 @@ static void d3d12_command_signature_decref(struct d3d12_command_signature *signa
|
||||
}
|
||||
|
||||
/* ID3D12CommandList */
|
||||
static inline struct d3d12_command_list *impl_from_ID3D12GraphicsCommandList5(ID3D12GraphicsCommandList5 *iface)
|
||||
static inline struct d3d12_command_list *impl_from_ID3D12GraphicsCommandList6(ID3D12GraphicsCommandList6 *iface)
|
||||
{
|
||||
return CONTAINING_RECORD(iface, struct d3d12_command_list, ID3D12GraphicsCommandList5_iface);
|
||||
return CONTAINING_RECORD(iface, struct d3d12_command_list, ID3D12GraphicsCommandList6_iface);
|
||||
}
|
||||
|
||||
static void d3d12_command_list_invalidate_current_framebuffer(struct d3d12_command_list *list)
|
||||
@ -2289,12 +2289,13 @@ static void d3d12_command_list_track_resource_usage(struct d3d12_command_list *l
|
||||
}
|
||||
}
|
||||
|
||||
static HRESULT STDMETHODCALLTYPE d3d12_command_list_QueryInterface(ID3D12GraphicsCommandList5 *iface,
|
||||
static HRESULT STDMETHODCALLTYPE d3d12_command_list_QueryInterface(ID3D12GraphicsCommandList6 *iface,
|
||||
REFIID iid, void **object)
|
||||
{
|
||||
TRACE("iface %p, iid %s, object %p.\n", iface, debugstr_guid(iid), object);
|
||||
|
||||
if (IsEqualGUID(iid, &IID_ID3D12GraphicsCommandList5)
|
||||
if (IsEqualGUID(iid, &IID_ID3D12GraphicsCommandList6)
|
||||
|| IsEqualGUID(iid, &IID_ID3D12GraphicsCommandList5)
|
||||
|| IsEqualGUID(iid, &IID_ID3D12GraphicsCommandList4)
|
||||
|| IsEqualGUID(iid, &IID_ID3D12GraphicsCommandList3)
|
||||
|| IsEqualGUID(iid, &IID_ID3D12GraphicsCommandList2)
|
||||
@ -2305,7 +2306,7 @@ static HRESULT STDMETHODCALLTYPE d3d12_command_list_QueryInterface(ID3D12Graphic
|
||||
|| IsEqualGUID(iid, &IID_ID3D12Object)
|
||||
|| IsEqualGUID(iid, &IID_IUnknown))
|
||||
{
|
||||
ID3D12GraphicsCommandList5_AddRef(iface);
|
||||
ID3D12GraphicsCommandList6_AddRef(iface);
|
||||
*object = iface;
|
||||
return S_OK;
|
||||
}
|
||||
@ -2316,9 +2317,9 @@ static HRESULT STDMETHODCALLTYPE d3d12_command_list_QueryInterface(ID3D12Graphic
|
||||
return E_NOINTERFACE;
|
||||
}
|
||||
|
||||
static ULONG STDMETHODCALLTYPE d3d12_command_list_AddRef(ID3D12GraphicsCommandList5 *iface)
|
||||
static ULONG STDMETHODCALLTYPE d3d12_command_list_AddRef(ID3D12GraphicsCommandList6 *iface)
|
||||
{
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList5(iface);
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList6(iface);
|
||||
unsigned int refcount = vkd3d_atomic_increment_u32(&list->refcount);
|
||||
|
||||
TRACE("%p increasing refcount to %u.\n", list, refcount);
|
||||
@ -2331,9 +2332,9 @@ static void vkd3d_pipeline_bindings_cleanup(struct vkd3d_pipeline_bindings *bind
|
||||
vkd3d_free(bindings->vk_uav_counter_views);
|
||||
}
|
||||
|
||||
static ULONG STDMETHODCALLTYPE d3d12_command_list_Release(ID3D12GraphicsCommandList5 *iface)
|
||||
static ULONG STDMETHODCALLTYPE d3d12_command_list_Release(ID3D12GraphicsCommandList6 *iface)
|
||||
{
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList5(iface);
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList6(iface);
|
||||
unsigned int refcount = vkd3d_atomic_decrement_u32(&list->refcount);
|
||||
|
||||
TRACE("%p decreasing refcount to %u.\n", list, refcount);
|
||||
@ -2359,66 +2360,67 @@ static ULONG STDMETHODCALLTYPE d3d12_command_list_Release(ID3D12GraphicsCommandL
|
||||
return refcount;
|
||||
}
|
||||
|
||||
static HRESULT STDMETHODCALLTYPE d3d12_command_list_GetPrivateData(ID3D12GraphicsCommandList5 *iface,
|
||||
static HRESULT STDMETHODCALLTYPE d3d12_command_list_GetPrivateData(ID3D12GraphicsCommandList6 *iface,
|
||||
REFGUID guid, UINT *data_size, void *data)
|
||||
{
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList5(iface);
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList6(iface);
|
||||
|
||||
TRACE("iface %p, guid %s, data_size %p, data %p.\n", iface, debugstr_guid(guid), data_size, data);
|
||||
|
||||
return vkd3d_get_private_data(&list->private_store, guid, data_size, data);
|
||||
}
|
||||
|
||||
static HRESULT STDMETHODCALLTYPE d3d12_command_list_SetPrivateData(ID3D12GraphicsCommandList5 *iface,
|
||||
static HRESULT STDMETHODCALLTYPE d3d12_command_list_SetPrivateData(ID3D12GraphicsCommandList6 *iface,
|
||||
REFGUID guid, UINT data_size, const void *data)
|
||||
{
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList5(iface);
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList6(iface);
|
||||
|
||||
TRACE("iface %p, guid %s, data_size %u, data %p.\n", iface, debugstr_guid(guid), data_size, data);
|
||||
|
||||
return vkd3d_set_private_data(&list->private_store, guid, data_size, data);
|
||||
}
|
||||
|
||||
static HRESULT STDMETHODCALLTYPE d3d12_command_list_SetPrivateDataInterface(ID3D12GraphicsCommandList5 *iface,
|
||||
static HRESULT STDMETHODCALLTYPE d3d12_command_list_SetPrivateDataInterface(ID3D12GraphicsCommandList6 *iface,
|
||||
REFGUID guid, const IUnknown *data)
|
||||
{
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList5(iface);
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList6(iface);
|
||||
|
||||
TRACE("iface %p, guid %s, data %p.\n", iface, debugstr_guid(guid), data);
|
||||
|
||||
return vkd3d_set_private_data_interface(&list->private_store, guid, data);
|
||||
}
|
||||
|
||||
static HRESULT STDMETHODCALLTYPE d3d12_command_list_SetName(ID3D12GraphicsCommandList5 *iface, const WCHAR *name)
|
||||
static HRESULT STDMETHODCALLTYPE d3d12_command_list_SetName(ID3D12GraphicsCommandList6 *iface, const WCHAR *name)
|
||||
{
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList5(iface);
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList6(iface);
|
||||
|
||||
TRACE("iface %p, name %s.\n", iface, debugstr_w(name, list->device->wchar_size));
|
||||
|
||||
return name ? S_OK : E_INVALIDARG;
|
||||
}
|
||||
|
||||
static HRESULT STDMETHODCALLTYPE d3d12_command_list_GetDevice(ID3D12GraphicsCommandList5 *iface, REFIID iid, void **device)
|
||||
static HRESULT STDMETHODCALLTYPE d3d12_command_list_GetDevice(ID3D12GraphicsCommandList6 *iface,
|
||||
REFIID iid, void **device)
|
||||
{
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList5(iface);
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList6(iface);
|
||||
|
||||
TRACE("iface %p, iid %s, device %p.\n", iface, debugstr_guid(iid), device);
|
||||
|
||||
return d3d12_device_query_interface(list->device, iid, device);
|
||||
}
|
||||
|
||||
static D3D12_COMMAND_LIST_TYPE STDMETHODCALLTYPE d3d12_command_list_GetType(ID3D12GraphicsCommandList5 *iface)
|
||||
static D3D12_COMMAND_LIST_TYPE STDMETHODCALLTYPE d3d12_command_list_GetType(ID3D12GraphicsCommandList6 *iface)
|
||||
{
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList5(iface);
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList6(iface);
|
||||
|
||||
TRACE("iface %p.\n", iface);
|
||||
|
||||
return list->type;
|
||||
}
|
||||
|
||||
static HRESULT STDMETHODCALLTYPE d3d12_command_list_Close(ID3D12GraphicsCommandList5 *iface)
|
||||
static HRESULT STDMETHODCALLTYPE d3d12_command_list_Close(ID3D12GraphicsCommandList6 *iface)
|
||||
{
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList5(iface);
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList6(iface);
|
||||
const struct vkd3d_vk_device_procs *vk_procs;
|
||||
VkResult vr;
|
||||
|
||||
@ -2462,7 +2464,7 @@ static HRESULT STDMETHODCALLTYPE d3d12_command_list_Close(ID3D12GraphicsCommandL
|
||||
static void d3d12_command_list_reset_state(struct d3d12_command_list *list,
|
||||
ID3D12PipelineState *initial_pipeline_state)
|
||||
{
|
||||
ID3D12GraphicsCommandList5 *iface = &list->ID3D12GraphicsCommandList5_iface;
|
||||
ID3D12GraphicsCommandList6 *iface = &list->ID3D12GraphicsCommandList6_iface;
|
||||
|
||||
memset(list->strides, 0, sizeof(list->strides));
|
||||
list->primitive_topology = D3D_PRIMITIVE_TOPOLOGY_POINTLIST;
|
||||
@ -2498,14 +2500,14 @@ static void d3d12_command_list_reset_state(struct d3d12_command_list *list,
|
||||
|
||||
list->descriptor_heap_count = 0;
|
||||
|
||||
ID3D12GraphicsCommandList5_SetPipelineState(iface, initial_pipeline_state);
|
||||
ID3D12GraphicsCommandList6_SetPipelineState(iface, initial_pipeline_state);
|
||||
}
|
||||
|
||||
static HRESULT STDMETHODCALLTYPE d3d12_command_list_Reset(ID3D12GraphicsCommandList5 *iface,
|
||||
static HRESULT STDMETHODCALLTYPE d3d12_command_list_Reset(ID3D12GraphicsCommandList6 *iface,
|
||||
ID3D12CommandAllocator *allocator, ID3D12PipelineState *initial_pipeline_state)
|
||||
{
|
||||
struct d3d12_command_allocator *allocator_impl = unsafe_impl_from_ID3D12CommandAllocator(allocator);
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList5(iface);
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList6(iface);
|
||||
HRESULT hr;
|
||||
|
||||
TRACE("iface %p, allocator %p, initial_pipeline_state %p.\n",
|
||||
@ -2532,7 +2534,7 @@ static HRESULT STDMETHODCALLTYPE d3d12_command_list_Reset(ID3D12GraphicsCommandL
|
||||
return hr;
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_ClearState(ID3D12GraphicsCommandList5 *iface,
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_ClearState(ID3D12GraphicsCommandList6 *iface,
|
||||
ID3D12PipelineState *pipeline_state)
|
||||
{
|
||||
FIXME("iface %p, pipeline_state %p stub!\n", iface, pipeline_state);
|
||||
@ -3380,11 +3382,11 @@ static void d3d12_command_list_check_index_buffer_strip_cut_value(struct d3d12_c
|
||||
}
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_DrawInstanced(ID3D12GraphicsCommandList5 *iface,
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_DrawInstanced(ID3D12GraphicsCommandList6 *iface,
|
||||
UINT vertex_count_per_instance, UINT instance_count, UINT start_vertex_location,
|
||||
UINT start_instance_location)
|
||||
{
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList5(iface);
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList6(iface);
|
||||
const struct vkd3d_vk_device_procs *vk_procs;
|
||||
|
||||
TRACE("iface %p, vertex_count_per_instance %u, instance_count %u, "
|
||||
@ -3404,11 +3406,11 @@ static void STDMETHODCALLTYPE d3d12_command_list_DrawInstanced(ID3D12GraphicsCom
|
||||
instance_count, start_vertex_location, start_instance_location));
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_DrawIndexedInstanced(ID3D12GraphicsCommandList5 *iface,
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_DrawIndexedInstanced(ID3D12GraphicsCommandList6 *iface,
|
||||
UINT index_count_per_instance, UINT instance_count, UINT start_vertex_location,
|
||||
INT base_vertex_location, UINT start_instance_location)
|
||||
{
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList5(iface);
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList6(iface);
|
||||
const struct vkd3d_vk_device_procs *vk_procs;
|
||||
|
||||
TRACE("iface %p, index_count_per_instance %u, instance_count %u, start_vertex_location %u, "
|
||||
@ -3430,10 +3432,10 @@ static void STDMETHODCALLTYPE d3d12_command_list_DrawIndexedInstanced(ID3D12Grap
|
||||
instance_count, start_vertex_location, base_vertex_location, start_instance_location));
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_Dispatch(ID3D12GraphicsCommandList5 *iface,
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_Dispatch(ID3D12GraphicsCommandList6 *iface,
|
||||
UINT x, UINT y, UINT z)
|
||||
{
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList5(iface);
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList6(iface);
|
||||
const struct vkd3d_vk_device_procs *vk_procs;
|
||||
|
||||
TRACE("iface %p, x %u, y %u, z %u.\n", iface, x, y, z);
|
||||
@ -3449,10 +3451,10 @@ static void STDMETHODCALLTYPE d3d12_command_list_Dispatch(ID3D12GraphicsCommandL
|
||||
VK_CALL(vkCmdDispatch(list->vk_command_buffer, x, y, z));
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_CopyBufferRegion(ID3D12GraphicsCommandList5 *iface,
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_CopyBufferRegion(ID3D12GraphicsCommandList6 *iface,
|
||||
ID3D12Resource *dst, UINT64 dst_offset, ID3D12Resource *src, UINT64 src_offset, UINT64 byte_count)
|
||||
{
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList5(iface);
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList6(iface);
|
||||
struct d3d12_resource *dst_resource, *src_resource;
|
||||
const struct vkd3d_vk_device_procs *vk_procs;
|
||||
VkBufferCopy buffer_copy;
|
||||
@ -3734,11 +3736,11 @@ static bool validate_d3d12_box(const D3D12_BOX *box)
|
||||
&& box->back > box->front;
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_CopyTextureRegion(ID3D12GraphicsCommandList5 *iface,
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_CopyTextureRegion(ID3D12GraphicsCommandList6 *iface,
|
||||
const D3D12_TEXTURE_COPY_LOCATION *dst, UINT dst_x, UINT dst_y, UINT dst_z,
|
||||
const D3D12_TEXTURE_COPY_LOCATION *src, const D3D12_BOX *src_box)
|
||||
{
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList5(iface);
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList6(iface);
|
||||
struct d3d12_resource *dst_resource, *src_resource;
|
||||
const struct vkd3d_format *src_format, *dst_format;
|
||||
const struct vkd3d_vk_device_procs *vk_procs;
|
||||
@ -3859,10 +3861,10 @@ static void STDMETHODCALLTYPE d3d12_command_list_CopyTextureRegion(ID3D12Graphic
|
||||
}
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_CopyResource(ID3D12GraphicsCommandList5 *iface,
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_CopyResource(ID3D12GraphicsCommandList6 *iface,
|
||||
ID3D12Resource *dst, ID3D12Resource *src)
|
||||
{
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList5(iface);
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList6(iface);
|
||||
struct d3d12_resource *dst_resource, *src_resource;
|
||||
const struct vkd3d_format *dst_format, *src_format;
|
||||
const struct vkd3d_vk_device_procs *vk_procs;
|
||||
@ -3929,7 +3931,7 @@ static void STDMETHODCALLTYPE d3d12_command_list_CopyResource(ID3D12GraphicsComm
|
||||
}
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_CopyTiles(ID3D12GraphicsCommandList5 *iface,
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_CopyTiles(ID3D12GraphicsCommandList6 *iface,
|
||||
ID3D12Resource *tiled_resource, const D3D12_TILED_RESOURCE_COORDINATE *tile_region_start_coordinate,
|
||||
const D3D12_TILE_REGION_SIZE *tile_region_size, ID3D12Resource *buffer, UINT64 buffer_offset,
|
||||
D3D12_TILE_COPY_FLAGS flags)
|
||||
@ -3940,11 +3942,11 @@ static void STDMETHODCALLTYPE d3d12_command_list_CopyTiles(ID3D12GraphicsCommand
|
||||
buffer, buffer_offset, flags);
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_ResolveSubresource(ID3D12GraphicsCommandList5 *iface,
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_ResolveSubresource(ID3D12GraphicsCommandList6 *iface,
|
||||
ID3D12Resource *dst, UINT dst_sub_resource_idx,
|
||||
ID3D12Resource *src, UINT src_sub_resource_idx, DXGI_FORMAT format)
|
||||
{
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList5(iface);
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList6(iface);
|
||||
const struct vkd3d_format *src_format, *dst_format, *vk_format;
|
||||
struct d3d12_resource *dst_resource, *src_resource;
|
||||
const struct vkd3d_vk_device_procs *vk_procs;
|
||||
@ -4007,10 +4009,10 @@ static void STDMETHODCALLTYPE d3d12_command_list_ResolveSubresource(ID3D12Graphi
|
||||
VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL, 1, &vk_image_resolve));
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_IASetPrimitiveTopology(ID3D12GraphicsCommandList5 *iface,
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_IASetPrimitiveTopology(ID3D12GraphicsCommandList6 *iface,
|
||||
D3D12_PRIMITIVE_TOPOLOGY topology)
|
||||
{
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList5(iface);
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList6(iface);
|
||||
|
||||
TRACE("iface %p, topology %#x.\n", iface, topology);
|
||||
|
||||
@ -4021,11 +4023,11 @@ static void STDMETHODCALLTYPE d3d12_command_list_IASetPrimitiveTopology(ID3D12Gr
|
||||
d3d12_command_list_invalidate_current_pipeline(list);
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_RSSetViewports(ID3D12GraphicsCommandList5 *iface,
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_RSSetViewports(ID3D12GraphicsCommandList6 *iface,
|
||||
UINT viewport_count, const D3D12_VIEWPORT *viewports)
|
||||
{
|
||||
VkViewport vk_viewports[D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE];
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList5(iface);
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList6(iface);
|
||||
const struct vkd3d_vk_device_procs *vk_procs;
|
||||
unsigned int i;
|
||||
|
||||
@ -4059,10 +4061,10 @@ static void STDMETHODCALLTYPE d3d12_command_list_RSSetViewports(ID3D12GraphicsCo
|
||||
VK_CALL(vkCmdSetViewport(list->vk_command_buffer, 0, viewport_count, vk_viewports));
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_RSSetScissorRects(ID3D12GraphicsCommandList5 *iface,
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_RSSetScissorRects(ID3D12GraphicsCommandList6 *iface,
|
||||
UINT rect_count, const D3D12_RECT *rects)
|
||||
{
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList5(iface);
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList6(iface);
|
||||
VkRect2D vk_rects[D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE];
|
||||
const struct vkd3d_vk_device_procs *vk_procs;
|
||||
unsigned int i;
|
||||
@ -4087,10 +4089,10 @@ static void STDMETHODCALLTYPE d3d12_command_list_RSSetScissorRects(ID3D12Graphic
|
||||
VK_CALL(vkCmdSetScissor(list->vk_command_buffer, 0, rect_count, vk_rects));
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_OMSetBlendFactor(ID3D12GraphicsCommandList5 *iface,
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_OMSetBlendFactor(ID3D12GraphicsCommandList6 *iface,
|
||||
const FLOAT blend_factor[4])
|
||||
{
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList5(iface);
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList6(iface);
|
||||
const struct vkd3d_vk_device_procs *vk_procs;
|
||||
|
||||
TRACE("iface %p, blend_factor %p.\n", iface, blend_factor);
|
||||
@ -4099,10 +4101,10 @@ static void STDMETHODCALLTYPE d3d12_command_list_OMSetBlendFactor(ID3D12Graphics
|
||||
VK_CALL(vkCmdSetBlendConstants(list->vk_command_buffer, blend_factor));
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_OMSetStencilRef(ID3D12GraphicsCommandList5 *iface,
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_OMSetStencilRef(ID3D12GraphicsCommandList6 *iface,
|
||||
UINT stencil_ref)
|
||||
{
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList5(iface);
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList6(iface);
|
||||
const struct vkd3d_vk_device_procs *vk_procs;
|
||||
|
||||
TRACE("iface %p, stencil_ref %u.\n", iface, stencil_ref);
|
||||
@ -4111,11 +4113,11 @@ static void STDMETHODCALLTYPE d3d12_command_list_OMSetStencilRef(ID3D12GraphicsC
|
||||
VK_CALL(vkCmdSetStencilReference(list->vk_command_buffer, VK_STENCIL_FRONT_AND_BACK, stencil_ref));
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_SetPipelineState(ID3D12GraphicsCommandList5 *iface,
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_SetPipelineState(ID3D12GraphicsCommandList6 *iface,
|
||||
ID3D12PipelineState *pipeline_state)
|
||||
{
|
||||
struct d3d12_pipeline_state *state = unsafe_impl_from_ID3D12PipelineState(pipeline_state);
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList5(iface);
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList6(iface);
|
||||
|
||||
TRACE("iface %p, pipeline_state %p.\n", iface, pipeline_state);
|
||||
|
||||
@ -4166,10 +4168,10 @@ static unsigned int d3d12_find_ds_multiplanar_transition(const D3D12_RESOURCE_BA
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_ResourceBarrier(ID3D12GraphicsCommandList5 *iface,
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_ResourceBarrier(ID3D12GraphicsCommandList6 *iface,
|
||||
UINT barrier_count, const D3D12_RESOURCE_BARRIER *barriers)
|
||||
{
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList5(iface);
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList6(iface);
|
||||
bool have_aliasing_barriers = false, have_split_barriers = false;
|
||||
const struct vkd3d_vk_device_procs *vk_procs;
|
||||
const struct vkd3d_vulkan_info *vk_info;
|
||||
@ -4395,13 +4397,13 @@ static void STDMETHODCALLTYPE d3d12_command_list_ResourceBarrier(ID3D12GraphicsC
|
||||
WARN("Issuing split barrier(s) on D3D12_RESOURCE_BARRIER_FLAG_END_ONLY.\n");
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_ExecuteBundle(ID3D12GraphicsCommandList5 *iface,
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_ExecuteBundle(ID3D12GraphicsCommandList6 *iface,
|
||||
ID3D12GraphicsCommandList *command_list)
|
||||
{
|
||||
FIXME("iface %p, command_list %p stub!\n", iface, command_list);
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_SetDescriptorHeaps(ID3D12GraphicsCommandList5 *iface,
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_SetDescriptorHeaps(ID3D12GraphicsCommandList6 *iface,
|
||||
UINT heap_count, ID3D12DescriptorHeap *const *heaps)
|
||||
{
|
||||
TRACE("iface %p, heap_count %u, heaps %p.\n", iface, heap_count, heaps);
|
||||
@ -4427,10 +4429,10 @@ static void d3d12_command_list_set_root_signature(struct d3d12_command_list *lis
|
||||
d3d12_command_list_invalidate_root_parameters(list, bind_point);
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_SetComputeRootSignature(ID3D12GraphicsCommandList5 *iface,
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_SetComputeRootSignature(ID3D12GraphicsCommandList6 *iface,
|
||||
ID3D12RootSignature *root_signature)
|
||||
{
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList5(iface);
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList6(iface);
|
||||
|
||||
TRACE("iface %p, root_signature %p.\n", iface, root_signature);
|
||||
|
||||
@ -4438,10 +4440,10 @@ static void STDMETHODCALLTYPE d3d12_command_list_SetComputeRootSignature(ID3D12G
|
||||
unsafe_impl_from_ID3D12RootSignature(root_signature));
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_SetGraphicsRootSignature(ID3D12GraphicsCommandList5 *iface,
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_SetGraphicsRootSignature(ID3D12GraphicsCommandList6 *iface,
|
||||
ID3D12RootSignature *root_signature)
|
||||
{
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList5(iface);
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList6(iface);
|
||||
|
||||
TRACE("iface %p, root_signature %p.\n", iface, root_signature);
|
||||
|
||||
@ -4480,10 +4482,10 @@ static void d3d12_command_list_set_descriptor_table(struct d3d12_command_list *l
|
||||
bindings->descriptor_table_active_mask |= (uint64_t)1 << index;
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_SetComputeRootDescriptorTable(ID3D12GraphicsCommandList5 *iface,
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_SetComputeRootDescriptorTable(ID3D12GraphicsCommandList6 *iface,
|
||||
UINT root_parameter_index, D3D12_GPU_DESCRIPTOR_HANDLE base_descriptor)
|
||||
{
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList5(iface);
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList6(iface);
|
||||
|
||||
TRACE("iface %p, root_parameter_index %u, base_descriptor %s.\n",
|
||||
iface, root_parameter_index, debug_gpu_handle(base_descriptor));
|
||||
@ -4492,10 +4494,10 @@ static void STDMETHODCALLTYPE d3d12_command_list_SetComputeRootDescriptorTable(I
|
||||
root_parameter_index, base_descriptor);
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_SetGraphicsRootDescriptorTable(ID3D12GraphicsCommandList5 *iface,
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_SetGraphicsRootDescriptorTable(ID3D12GraphicsCommandList6 *iface,
|
||||
UINT root_parameter_index, D3D12_GPU_DESCRIPTOR_HANDLE base_descriptor)
|
||||
{
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList5(iface);
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList6(iface);
|
||||
|
||||
TRACE("iface %p, root_parameter_index %u, base_descriptor %s.\n",
|
||||
iface, root_parameter_index, debug_gpu_handle(base_descriptor));
|
||||
@ -4517,10 +4519,10 @@ static void d3d12_command_list_set_root_constants(struct d3d12_command_list *lis
|
||||
c->stage_flags, c->offset + offset * sizeof(uint32_t), count * sizeof(uint32_t), data));
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_SetComputeRoot32BitConstant(ID3D12GraphicsCommandList5 *iface,
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_SetComputeRoot32BitConstant(ID3D12GraphicsCommandList6 *iface,
|
||||
UINT root_parameter_index, UINT data, UINT dst_offset)
|
||||
{
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList5(iface);
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList6(iface);
|
||||
|
||||
TRACE("iface %p, root_parameter_index %u, data 0x%08x, dst_offset %u.\n",
|
||||
iface, root_parameter_index, data, dst_offset);
|
||||
@ -4529,10 +4531,10 @@ static void STDMETHODCALLTYPE d3d12_command_list_SetComputeRoot32BitConstant(ID3
|
||||
root_parameter_index, dst_offset, 1, &data);
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_SetGraphicsRoot32BitConstant(ID3D12GraphicsCommandList5 *iface,
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_SetGraphicsRoot32BitConstant(ID3D12GraphicsCommandList6 *iface,
|
||||
UINT root_parameter_index, UINT data, UINT dst_offset)
|
||||
{
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList5(iface);
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList6(iface);
|
||||
|
||||
TRACE("iface %p, root_parameter_index %u, data 0x%08x, dst_offset %u.\n",
|
||||
iface, root_parameter_index, data, dst_offset);
|
||||
@ -4541,10 +4543,10 @@ static void STDMETHODCALLTYPE d3d12_command_list_SetGraphicsRoot32BitConstant(ID
|
||||
root_parameter_index, dst_offset, 1, &data);
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_SetComputeRoot32BitConstants(ID3D12GraphicsCommandList5 *iface,
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_SetComputeRoot32BitConstants(ID3D12GraphicsCommandList6 *iface,
|
||||
UINT root_parameter_index, UINT constant_count, const void *data, UINT dst_offset)
|
||||
{
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList5(iface);
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList6(iface);
|
||||
|
||||
TRACE("iface %p, root_parameter_index %u, constant_count %u, data %p, dst_offset %u.\n",
|
||||
iface, root_parameter_index, constant_count, data, dst_offset);
|
||||
@ -4553,10 +4555,10 @@ static void STDMETHODCALLTYPE d3d12_command_list_SetComputeRoot32BitConstants(ID
|
||||
root_parameter_index, dst_offset, constant_count, data);
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_SetGraphicsRoot32BitConstants(ID3D12GraphicsCommandList5 *iface,
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_SetGraphicsRoot32BitConstants(ID3D12GraphicsCommandList6 *iface,
|
||||
UINT root_parameter_index, UINT constant_count, const void *data, UINT dst_offset)
|
||||
{
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList5(iface);
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList6(iface);
|
||||
|
||||
TRACE("iface %p, root_parameter_index %u, constant_count %u, data %p, dst_offset %u.\n",
|
||||
iface, root_parameter_index, constant_count, data, dst_offset);
|
||||
@ -4618,9 +4620,9 @@ static void d3d12_command_list_set_root_cbv(struct d3d12_command_list *list,
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_SetComputeRootConstantBufferView(
|
||||
ID3D12GraphicsCommandList5 *iface, UINT root_parameter_index, D3D12_GPU_VIRTUAL_ADDRESS address)
|
||||
ID3D12GraphicsCommandList6 *iface, UINT root_parameter_index, D3D12_GPU_VIRTUAL_ADDRESS address)
|
||||
{
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList5(iface);
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList6(iface);
|
||||
|
||||
TRACE("iface %p, root_parameter_index %u, address %#"PRIx64".\n",
|
||||
iface, root_parameter_index, address);
|
||||
@ -4629,9 +4631,9 @@ static void STDMETHODCALLTYPE d3d12_command_list_SetComputeRootConstantBufferVie
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_SetGraphicsRootConstantBufferView(
|
||||
ID3D12GraphicsCommandList5 *iface, UINT root_parameter_index, D3D12_GPU_VIRTUAL_ADDRESS address)
|
||||
ID3D12GraphicsCommandList6 *iface, UINT root_parameter_index, D3D12_GPU_VIRTUAL_ADDRESS address)
|
||||
{
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList5(iface);
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList6(iface);
|
||||
|
||||
TRACE("iface %p, root_parameter_index %u, address %#"PRIx64".\n",
|
||||
iface, root_parameter_index, address);
|
||||
@ -4690,9 +4692,9 @@ static void d3d12_command_list_set_root_descriptor(struct d3d12_command_list *li
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_SetComputeRootShaderResourceView(
|
||||
ID3D12GraphicsCommandList5 *iface, UINT root_parameter_index, D3D12_GPU_VIRTUAL_ADDRESS address)
|
||||
ID3D12GraphicsCommandList6 *iface, UINT root_parameter_index, D3D12_GPU_VIRTUAL_ADDRESS address)
|
||||
{
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList5(iface);
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList6(iface);
|
||||
|
||||
TRACE("iface %p, root_parameter_index %u, address %#"PRIx64".\n",
|
||||
iface, root_parameter_index, address);
|
||||
@ -4702,9 +4704,9 @@ static void STDMETHODCALLTYPE d3d12_command_list_SetComputeRootShaderResourceVie
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_SetGraphicsRootShaderResourceView(
|
||||
ID3D12GraphicsCommandList5 *iface, UINT root_parameter_index, D3D12_GPU_VIRTUAL_ADDRESS address)
|
||||
ID3D12GraphicsCommandList6 *iface, UINT root_parameter_index, D3D12_GPU_VIRTUAL_ADDRESS address)
|
||||
{
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList5(iface);
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList6(iface);
|
||||
|
||||
TRACE("iface %p, root_parameter_index %u, address %#"PRIx64".\n",
|
||||
iface, root_parameter_index, address);
|
||||
@ -4714,9 +4716,9 @@ static void STDMETHODCALLTYPE d3d12_command_list_SetGraphicsRootShaderResourceVi
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_SetComputeRootUnorderedAccessView(
|
||||
ID3D12GraphicsCommandList5 *iface, UINT root_parameter_index, D3D12_GPU_VIRTUAL_ADDRESS address)
|
||||
ID3D12GraphicsCommandList6 *iface, UINT root_parameter_index, D3D12_GPU_VIRTUAL_ADDRESS address)
|
||||
{
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList5(iface);
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList6(iface);
|
||||
|
||||
TRACE("iface %p, root_parameter_index %u, address %#"PRIx64".\n",
|
||||
iface, root_parameter_index, address);
|
||||
@ -4726,9 +4728,9 @@ static void STDMETHODCALLTYPE d3d12_command_list_SetComputeRootUnorderedAccessVi
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_SetGraphicsRootUnorderedAccessView(
|
||||
ID3D12GraphicsCommandList5 *iface, UINT root_parameter_index, D3D12_GPU_VIRTUAL_ADDRESS address)
|
||||
ID3D12GraphicsCommandList6 *iface, UINT root_parameter_index, D3D12_GPU_VIRTUAL_ADDRESS address)
|
||||
{
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList5(iface);
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList6(iface);
|
||||
|
||||
TRACE("iface %p, root_parameter_index %u, address %#"PRIx64".\n",
|
||||
iface, root_parameter_index, address);
|
||||
@ -4737,10 +4739,10 @@ static void STDMETHODCALLTYPE d3d12_command_list_SetGraphicsRootUnorderedAccessV
|
||||
root_parameter_index, address);
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_IASetIndexBuffer(ID3D12GraphicsCommandList5 *iface,
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_IASetIndexBuffer(ID3D12GraphicsCommandList6 *iface,
|
||||
const D3D12_INDEX_BUFFER_VIEW *view)
|
||||
{
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList5(iface);
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList6(iface);
|
||||
const struct vkd3d_vk_device_procs *vk_procs;
|
||||
struct d3d12_resource *resource;
|
||||
enum VkIndexType index_type;
|
||||
@ -4780,10 +4782,10 @@ static void STDMETHODCALLTYPE d3d12_command_list_IASetIndexBuffer(ID3D12Graphics
|
||||
view->BufferLocation - resource->gpu_address, index_type));
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_IASetVertexBuffers(ID3D12GraphicsCommandList5 *iface,
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_IASetVertexBuffers(ID3D12GraphicsCommandList6 *iface,
|
||||
UINT start_slot, UINT view_count, const D3D12_VERTEX_BUFFER_VIEW *views)
|
||||
{
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList5(iface);
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList6(iface);
|
||||
const struct vkd3d_null_resources *null_resources;
|
||||
struct vkd3d_gpu_va_allocator *gpu_va_allocator;
|
||||
VkDeviceSize offsets[ARRAY_SIZE(list->strides)];
|
||||
@ -4832,10 +4834,10 @@ static void STDMETHODCALLTYPE d3d12_command_list_IASetVertexBuffers(ID3D12Graphi
|
||||
d3d12_command_list_invalidate_current_pipeline(list);
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_SOSetTargets(ID3D12GraphicsCommandList5 *iface,
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_SOSetTargets(ID3D12GraphicsCommandList6 *iface,
|
||||
UINT start_slot, UINT view_count, const D3D12_STREAM_OUTPUT_BUFFER_VIEW *views)
|
||||
{
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList5(iface);
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList6(iface);
|
||||
VkDeviceSize offsets[ARRAY_SIZE(list->so_counter_buffers)];
|
||||
VkDeviceSize sizes[ARRAY_SIZE(list->so_counter_buffers)];
|
||||
VkBuffer buffers[ARRAY_SIZE(list->so_counter_buffers)];
|
||||
@ -4897,11 +4899,11 @@ static void STDMETHODCALLTYPE d3d12_command_list_SOSetTargets(ID3D12GraphicsComm
|
||||
VK_CALL(vkCmdBindTransformFeedbackBuffersEXT(list->vk_command_buffer, first, count, buffers, offsets, sizes));
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_OMSetRenderTargets(ID3D12GraphicsCommandList5 *iface,
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_OMSetRenderTargets(ID3D12GraphicsCommandList6 *iface,
|
||||
UINT render_target_descriptor_count, const D3D12_CPU_DESCRIPTOR_HANDLE *render_target_descriptors,
|
||||
BOOL single_descriptor_handle, const D3D12_CPU_DESCRIPTOR_HANDLE *depth_stencil_descriptor)
|
||||
{
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList5(iface);
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList6(iface);
|
||||
const struct d3d12_rtv_desc *rtv_desc;
|
||||
const struct d3d12_dsv_desc *dsv_desc;
|
||||
VkFormat prev_dsv_format;
|
||||
@ -5102,12 +5104,12 @@ static void d3d12_command_list_clear(struct d3d12_command_list *list,
|
||||
}
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_ClearDepthStencilView(ID3D12GraphicsCommandList5 *iface,
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_ClearDepthStencilView(ID3D12GraphicsCommandList6 *iface,
|
||||
D3D12_CPU_DESCRIPTOR_HANDLE dsv, D3D12_CLEAR_FLAGS flags, float depth, UINT8 stencil,
|
||||
UINT rect_count, const D3D12_RECT *rects)
|
||||
{
|
||||
const union VkClearValue clear_value = {.depthStencil = {depth, stencil}};
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList5(iface);
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList6(iface);
|
||||
const struct d3d12_dsv_desc *dsv_desc = d3d12_dsv_desc_from_cpu_handle(dsv);
|
||||
struct VkAttachmentDescription attachment_desc;
|
||||
struct VkAttachmentReference ds_reference;
|
||||
@ -5151,10 +5153,10 @@ static void STDMETHODCALLTYPE d3d12_command_list_ClearDepthStencilView(ID3D12Gra
|
||||
&clear_value, rect_count, rects);
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_ClearRenderTargetView(ID3D12GraphicsCommandList5 *iface,
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_ClearRenderTargetView(ID3D12GraphicsCommandList6 *iface,
|
||||
D3D12_CPU_DESCRIPTOR_HANDLE rtv, const FLOAT color[4], UINT rect_count, const D3D12_RECT *rects)
|
||||
{
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList5(iface);
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList6(iface);
|
||||
const struct d3d12_rtv_desc *rtv_desc = d3d12_rtv_desc_from_cpu_handle(rtv);
|
||||
struct VkAttachmentDescription attachment_desc;
|
||||
struct VkAttachmentReference color_reference;
|
||||
@ -5481,11 +5483,11 @@ static struct vkd3d_view *create_uint_view(struct d3d12_device *device, const st
|
||||
return uint_view;
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_ClearUnorderedAccessViewUint(ID3D12GraphicsCommandList5 *iface,
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_ClearUnorderedAccessViewUint(ID3D12GraphicsCommandList6 *iface,
|
||||
D3D12_GPU_DESCRIPTOR_HANDLE gpu_handle, D3D12_CPU_DESCRIPTOR_HANDLE cpu_handle, ID3D12Resource *resource,
|
||||
const UINT values[4], UINT rect_count, const D3D12_RECT *rects)
|
||||
{
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList5(iface);
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList6(iface);
|
||||
struct vkd3d_view *descriptor, *uint_view = NULL;
|
||||
struct d3d12_device *device = list->device;
|
||||
const struct vkd3d_resource_view *view;
|
||||
@ -5514,11 +5516,11 @@ static void STDMETHODCALLTYPE d3d12_command_list_ClearUnorderedAccessViewUint(ID
|
||||
vkd3d_view_decref(uint_view, device);
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_ClearUnorderedAccessViewFloat(ID3D12GraphicsCommandList5 *iface,
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_ClearUnorderedAccessViewFloat(ID3D12GraphicsCommandList6 *iface,
|
||||
D3D12_GPU_DESCRIPTOR_HANDLE gpu_handle, D3D12_CPU_DESCRIPTOR_HANDLE cpu_handle, ID3D12Resource *resource,
|
||||
const float values[4], UINT rect_count, const D3D12_RECT *rects)
|
||||
{
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList5(iface);
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList6(iface);
|
||||
struct vkd3d_view *descriptor, *uint_view = NULL;
|
||||
struct d3d12_device *device = list->device;
|
||||
const struct vkd3d_resource_view *view;
|
||||
@ -5547,16 +5549,16 @@ static void STDMETHODCALLTYPE d3d12_command_list_ClearUnorderedAccessViewFloat(I
|
||||
vkd3d_view_decref(uint_view, device);
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_DiscardResource(ID3D12GraphicsCommandList5 *iface,
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_DiscardResource(ID3D12GraphicsCommandList6 *iface,
|
||||
ID3D12Resource *resource, const D3D12_DISCARD_REGION *region)
|
||||
{
|
||||
FIXME_ONCE("iface %p, resource %p, region %p stub!\n", iface, resource, region);
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_BeginQuery(ID3D12GraphicsCommandList5 *iface,
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_BeginQuery(ID3D12GraphicsCommandList6 *iface,
|
||||
ID3D12QueryHeap *heap, D3D12_QUERY_TYPE type, UINT index)
|
||||
{
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList5(iface);
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList6(iface);
|
||||
struct d3d12_query_heap *query_heap = unsafe_impl_from_ID3D12QueryHeap(heap);
|
||||
const struct vkd3d_vk_device_procs *vk_procs;
|
||||
VkQueryControlFlags flags = 0;
|
||||
@ -5583,10 +5585,10 @@ static void STDMETHODCALLTYPE d3d12_command_list_BeginQuery(ID3D12GraphicsComman
|
||||
VK_CALL(vkCmdBeginQuery(list->vk_command_buffer, query_heap->vk_query_pool, index, flags));
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_EndQuery(ID3D12GraphicsCommandList5 *iface,
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_EndQuery(ID3D12GraphicsCommandList6 *iface,
|
||||
ID3D12QueryHeap *heap, D3D12_QUERY_TYPE type, UINT index)
|
||||
{
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList5(iface);
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList6(iface);
|
||||
struct d3d12_query_heap *query_heap = unsafe_impl_from_ID3D12QueryHeap(heap);
|
||||
const struct vkd3d_vk_device_procs *vk_procs;
|
||||
|
||||
@ -5628,12 +5630,12 @@ static size_t get_query_stride(D3D12_QUERY_TYPE type)
|
||||
return sizeof(uint64_t);
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_ResolveQueryData(ID3D12GraphicsCommandList5 *iface,
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_ResolveQueryData(ID3D12GraphicsCommandList6 *iface,
|
||||
ID3D12QueryHeap *heap, D3D12_QUERY_TYPE type, UINT start_index, UINT query_count,
|
||||
ID3D12Resource *dst_buffer, UINT64 aligned_dst_buffer_offset)
|
||||
{
|
||||
const struct d3d12_query_heap *query_heap = unsafe_impl_from_ID3D12QueryHeap(heap);
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList5(iface);
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList6(iface);
|
||||
struct d3d12_resource *buffer = unsafe_impl_from_ID3D12Resource(dst_buffer);
|
||||
const struct vkd3d_vk_device_procs *vk_procs;
|
||||
unsigned int i, first, count;
|
||||
@ -5709,10 +5711,10 @@ static void STDMETHODCALLTYPE d3d12_command_list_ResolveQueryData(ID3D12Graphics
|
||||
}
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_SetPredication(ID3D12GraphicsCommandList5 *iface,
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_SetPredication(ID3D12GraphicsCommandList6 *iface,
|
||||
ID3D12Resource *buffer, UINT64 aligned_buffer_offset, D3D12_PREDICATION_OP operation)
|
||||
{
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList5(iface);
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList6(iface);
|
||||
struct d3d12_resource *resource = unsafe_impl_from_ID3D12Resource(buffer);
|
||||
const struct vkd3d_vulkan_info *vk_info = &list->device->vk_info;
|
||||
const struct vkd3d_vk_device_procs *vk_procs;
|
||||
@ -5781,19 +5783,19 @@ static void STDMETHODCALLTYPE d3d12_command_list_SetPredication(ID3D12GraphicsCo
|
||||
}
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_SetMarker(ID3D12GraphicsCommandList5 *iface,
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_SetMarker(ID3D12GraphicsCommandList6 *iface,
|
||||
UINT metadata, const void *data, UINT size)
|
||||
{
|
||||
FIXME("iface %p, metadata %#x, data %p, size %u stub!\n", iface, metadata, data, size);
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_BeginEvent(ID3D12GraphicsCommandList5 *iface,
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_BeginEvent(ID3D12GraphicsCommandList6 *iface,
|
||||
UINT metadata, const void *data, UINT size)
|
||||
{
|
||||
FIXME("iface %p, metadata %#x, data %p, size %u stub!\n", iface, metadata, data, size);
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_EndEvent(ID3D12GraphicsCommandList5 *iface)
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_EndEvent(ID3D12GraphicsCommandList6 *iface)
|
||||
{
|
||||
FIXME("iface %p stub!\n", iface);
|
||||
}
|
||||
@ -5802,14 +5804,14 @@ STATIC_ASSERT(sizeof(VkDispatchIndirectCommand) == sizeof(D3D12_DISPATCH_ARGUMEN
|
||||
STATIC_ASSERT(sizeof(VkDrawIndexedIndirectCommand) == sizeof(D3D12_DRAW_INDEXED_ARGUMENTS));
|
||||
STATIC_ASSERT(sizeof(VkDrawIndirectCommand) == sizeof(D3D12_DRAW_ARGUMENTS));
|
||||
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_ExecuteIndirect(ID3D12GraphicsCommandList5 *iface,
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_ExecuteIndirect(ID3D12GraphicsCommandList6 *iface,
|
||||
ID3D12CommandSignature *command_signature, UINT max_command_count, ID3D12Resource *arg_buffer,
|
||||
UINT64 arg_buffer_offset, ID3D12Resource *count_buffer, UINT64 count_buffer_offset)
|
||||
{
|
||||
struct d3d12_command_signature *sig_impl = unsafe_impl_from_ID3D12CommandSignature(command_signature);
|
||||
struct d3d12_resource *count_impl = unsafe_impl_from_ID3D12Resource(count_buffer);
|
||||
struct d3d12_resource *arg_impl = unsafe_impl_from_ID3D12Resource(arg_buffer);
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList5(iface);
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList6(iface);
|
||||
const D3D12_COMMAND_SIGNATURE_DESC *signature_desc;
|
||||
const struct vkd3d_vk_device_procs *vk_procs;
|
||||
unsigned int i;
|
||||
@ -5908,7 +5910,7 @@ static void STDMETHODCALLTYPE d3d12_command_list_ExecuteIndirect(ID3D12GraphicsC
|
||||
d3d12_command_signature_decref(sig_impl);
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_AtomicCopyBufferUINT(ID3D12GraphicsCommandList5 *iface,
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_AtomicCopyBufferUINT(ID3D12GraphicsCommandList6 *iface,
|
||||
ID3D12Resource *dst_buffer, UINT64 dst_offset,
|
||||
ID3D12Resource *src_buffer, UINT64 src_offset,
|
||||
UINT dependent_resource_count, ID3D12Resource * const *dependent_resources,
|
||||
@ -5921,7 +5923,7 @@ static void STDMETHODCALLTYPE d3d12_command_list_AtomicCopyBufferUINT(ID3D12Grap
|
||||
dependent_resource_count, dependent_resources, dependent_sub_resource_ranges);
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_AtomicCopyBufferUINT64(ID3D12GraphicsCommandList5 *iface,
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_AtomicCopyBufferUINT64(ID3D12GraphicsCommandList6 *iface,
|
||||
ID3D12Resource *dst_buffer, UINT64 dst_offset,
|
||||
ID3D12Resource *src_buffer, UINT64 src_offset,
|
||||
UINT dependent_resource_count, ID3D12Resource * const *dependent_resources,
|
||||
@ -5934,20 +5936,20 @@ static void STDMETHODCALLTYPE d3d12_command_list_AtomicCopyBufferUINT64(ID3D12Gr
|
||||
dependent_resource_count, dependent_resources, dependent_sub_resource_ranges);
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_OMSetDepthBounds(ID3D12GraphicsCommandList5 *iface,
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_OMSetDepthBounds(ID3D12GraphicsCommandList6 *iface,
|
||||
FLOAT min, FLOAT max)
|
||||
{
|
||||
FIXME("iface %p, min %.8e, max %.8e stub!\n", iface, min, max);
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_SetSamplePositions(ID3D12GraphicsCommandList5 *iface,
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_SetSamplePositions(ID3D12GraphicsCommandList6 *iface,
|
||||
UINT sample_count, UINT pixel_count, D3D12_SAMPLE_POSITION *sample_positions)
|
||||
{
|
||||
FIXME("iface %p, sample_count %u, pixel_count %u, sample_positions %p stub!\n",
|
||||
iface, sample_count, pixel_count, sample_positions);
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_ResolveSubresourceRegion(ID3D12GraphicsCommandList5 *iface,
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_ResolveSubresourceRegion(ID3D12GraphicsCommandList6 *iface,
|
||||
ID3D12Resource *dst_resource, UINT dst_sub_resource_idx, UINT dst_x, UINT dst_y,
|
||||
ID3D12Resource *src_resource, UINT src_sub_resource_idx,
|
||||
D3D12_RECT *src_rect, DXGI_FORMAT format, D3D12_RESOLVE_MODE mode)
|
||||
@ -5959,16 +5961,16 @@ static void STDMETHODCALLTYPE d3d12_command_list_ResolveSubresourceRegion(ID3D12
|
||||
src_resource, src_sub_resource_idx, src_rect, format, mode);
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_SetViewInstanceMask(ID3D12GraphicsCommandList5 *iface, UINT mask)
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_SetViewInstanceMask(ID3D12GraphicsCommandList6 *iface, UINT mask)
|
||||
{
|
||||
FIXME("iface %p, mask %#x stub!\n", iface, mask);
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_WriteBufferImmediate(ID3D12GraphicsCommandList5 *iface,
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_WriteBufferImmediate(ID3D12GraphicsCommandList6 *iface,
|
||||
UINT count, const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *parameters,
|
||||
const D3D12_WRITEBUFFERIMMEDIATE_MODE *modes)
|
||||
{
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList5(iface);
|
||||
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList6(iface);
|
||||
struct d3d12_resource *resource;
|
||||
unsigned int i;
|
||||
|
||||
@ -5981,13 +5983,13 @@ static void STDMETHODCALLTYPE d3d12_command_list_WriteBufferImmediate(ID3D12Grap
|
||||
}
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_SetProtectedResourceSession(ID3D12GraphicsCommandList5 *iface,
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_SetProtectedResourceSession(ID3D12GraphicsCommandList6 *iface,
|
||||
ID3D12ProtectedResourceSession *protected_session)
|
||||
{
|
||||
FIXME("iface %p, protected_session %p stub!\n", iface, protected_session);
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_BeginRenderPass(ID3D12GraphicsCommandList5 *iface,
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_BeginRenderPass(ID3D12GraphicsCommandList6 *iface,
|
||||
UINT count, const D3D12_RENDER_PASS_RENDER_TARGET_DESC *render_targets,
|
||||
const D3D12_RENDER_PASS_DEPTH_STENCIL_DESC *depth_stencil, D3D12_RENDER_PASS_FLAGS flags)
|
||||
{
|
||||
@ -5995,74 +5997,78 @@ static void STDMETHODCALLTYPE d3d12_command_list_BeginRenderPass(ID3D12GraphicsC
|
||||
count, render_targets, depth_stencil, flags);
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_EndRenderPass(ID3D12GraphicsCommandList5 *iface)
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_EndRenderPass(ID3D12GraphicsCommandList6 *iface)
|
||||
{
|
||||
FIXME("iface %p stub!\n", iface);
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_InitializeMetaCommand(ID3D12GraphicsCommandList5 *iface,
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_InitializeMetaCommand(ID3D12GraphicsCommandList6 *iface,
|
||||
ID3D12MetaCommand *meta_command, const void *parameters_data, SIZE_T data_size_in_bytes)
|
||||
{
|
||||
FIXME("iface %p, meta_command %p, parameters_data %p, data_size_in_bytes %"PRIuPTR" stub!\n", iface,
|
||||
meta_command, parameters_data, (uintptr_t)data_size_in_bytes);
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_ExecuteMetaCommand(ID3D12GraphicsCommandList5 *iface,
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_ExecuteMetaCommand(ID3D12GraphicsCommandList6 *iface,
|
||||
ID3D12MetaCommand *meta_command, const void *parameters_data, SIZE_T data_size_in_bytes)
|
||||
{
|
||||
FIXME("iface %p, meta_command %p, parameters_data %p, data_size_in_bytes %"PRIuPTR" stub!\n", iface,
|
||||
meta_command, parameters_data, (uintptr_t)data_size_in_bytes);
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_BuildRaytracingAccelerationStructure(ID3D12GraphicsCommandList5 *iface,
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_BuildRaytracingAccelerationStructure(ID3D12GraphicsCommandList6 *iface,
|
||||
const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC *desc, UINT count,
|
||||
const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *postbuild_info_descs)
|
||||
{
|
||||
FIXME("iface %p, desc %p, count %u, postbuild_info_descs %p stub!\n", iface, desc, count, postbuild_info_descs);
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_EmitRaytracingAccelerationStructurePostbuildInfo(ID3D12GraphicsCommandList5 *iface,
|
||||
const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *desc,
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_EmitRaytracingAccelerationStructurePostbuildInfo(
|
||||
ID3D12GraphicsCommandList6 *iface, const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *desc,
|
||||
UINT structures_count, const D3D12_GPU_VIRTUAL_ADDRESS *src_structure_data)
|
||||
{
|
||||
FIXME("iface %p, desc %p, structures_count %u, src_structure_data %p stub!\n",
|
||||
iface, desc, structures_count, src_structure_data);
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_CopyRaytracingAccelerationStructure(ID3D12GraphicsCommandList5 *iface,
|
||||
D3D12_GPU_VIRTUAL_ADDRESS dst_structure_data,
|
||||
D3D12_GPU_VIRTUAL_ADDRESS src_structure_data,
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_CopyRaytracingAccelerationStructure(ID3D12GraphicsCommandList6 *iface,
|
||||
D3D12_GPU_VIRTUAL_ADDRESS dst_structure_data, D3D12_GPU_VIRTUAL_ADDRESS src_structure_data,
|
||||
D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE mode)
|
||||
{
|
||||
FIXME("iface %p, dst_structure_data %#"PRIx64", src_structure_data %#"PRIx64", mode %u stub!\n",
|
||||
iface, dst_structure_data, src_structure_data, mode);
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_SetPipelineState1(ID3D12GraphicsCommandList5 *iface,
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_SetPipelineState1(ID3D12GraphicsCommandList6 *iface,
|
||||
ID3D12StateObject *state_object)
|
||||
{
|
||||
FIXME("iface %p, state_object %p stub!\n", iface, state_object);
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_DispatchRays(ID3D12GraphicsCommandList5 *iface,
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_DispatchRays(ID3D12GraphicsCommandList6 *iface,
|
||||
const D3D12_DISPATCH_RAYS_DESC *desc)
|
||||
{
|
||||
FIXME("iface %p, desc %p stub!\n", iface, desc);
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_RSSetShadingRate(ID3D12GraphicsCommandList5 *iface,
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_RSSetShadingRate(ID3D12GraphicsCommandList6 *iface,
|
||||
D3D12_SHADING_RATE rate, const D3D12_SHADING_RATE_COMBINER *combiners)
|
||||
{
|
||||
FIXME("iface %p, rate %#x, combiners %p stub!\n", iface, rate, combiners);
|
||||
}
|
||||
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_RSSetShadingRateImage(ID3D12GraphicsCommandList5 *iface,
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_RSSetShadingRateImage(ID3D12GraphicsCommandList6 *iface,
|
||||
ID3D12Resource *rate_image)
|
||||
{
|
||||
FIXME("iface %p, rate_image %p stub!\n", iface, rate_image);
|
||||
}
|
||||
|
||||
static const struct ID3D12GraphicsCommandList5Vtbl d3d12_command_list_vtbl =
|
||||
static void STDMETHODCALLTYPE d3d12_command_list_DispatchMesh(ID3D12GraphicsCommandList6 *iface, UINT x, UINT y, UINT z)
|
||||
{
|
||||
FIXME("iface %p, x %u, y %u, z %u stub!\n", iface, x, y, z);
|
||||
}
|
||||
|
||||
static const struct ID3D12GraphicsCommandList6Vtbl d3d12_command_list_vtbl =
|
||||
{
|
||||
/* IUnknown methods */
|
||||
d3d12_command_list_QueryInterface,
|
||||
@ -6153,6 +6159,8 @@ static const struct ID3D12GraphicsCommandList5Vtbl d3d12_command_list_vtbl =
|
||||
/* ID3D12GraphicsCommandList5 methods */
|
||||
d3d12_command_list_RSSetShadingRate,
|
||||
d3d12_command_list_RSSetShadingRateImage,
|
||||
/* ID3D12GraphicsCommandList6 methods */
|
||||
d3d12_command_list_DispatchMesh,
|
||||
};
|
||||
|
||||
static struct d3d12_command_list *unsafe_impl_from_ID3D12CommandList(ID3D12CommandList *iface)
|
||||
@ -6160,7 +6168,7 @@ static struct d3d12_command_list *unsafe_impl_from_ID3D12CommandList(ID3D12Comma
|
||||
if (!iface)
|
||||
return NULL;
|
||||
VKD3D_ASSERT(iface->lpVtbl == (struct ID3D12CommandListVtbl *)&d3d12_command_list_vtbl);
|
||||
return CONTAINING_RECORD(iface, struct d3d12_command_list, ID3D12GraphicsCommandList5_iface);
|
||||
return CONTAINING_RECORD(iface, struct d3d12_command_list, ID3D12GraphicsCommandList6_iface);
|
||||
}
|
||||
|
||||
static HRESULT d3d12_command_list_init(struct d3d12_command_list *list, struct d3d12_device *device,
|
||||
@ -6169,7 +6177,7 @@ static HRESULT d3d12_command_list_init(struct d3d12_command_list *list, struct d
|
||||
{
|
||||
HRESULT hr;
|
||||
|
||||
list->ID3D12GraphicsCommandList5_iface.lpVtbl = &d3d12_command_list_vtbl;
|
||||
list->ID3D12GraphicsCommandList6_iface.lpVtbl = &d3d12_command_list_vtbl;
|
||||
list->refcount = 1;
|
||||
|
||||
list->type = type;
|
||||
|
@ -3119,8 +3119,8 @@ static HRESULT STDMETHODCALLTYPE d3d12_device_CreateCommandList(ID3D12Device9 *i
|
||||
initial_pipeline_state, &object)))
|
||||
return hr;
|
||||
|
||||
return return_interface(&object->ID3D12GraphicsCommandList5_iface,
|
||||
&IID_ID3D12GraphicsCommandList5, riid, command_list);
|
||||
return return_interface(&object->ID3D12GraphicsCommandList6_iface,
|
||||
&IID_ID3D12GraphicsCommandList6, riid, command_list);
|
||||
}
|
||||
|
||||
/* Direct3D feature levels restrict which formats can be optionally supported. */
|
||||
|
@ -1232,7 +1232,7 @@ enum vkd3d_pipeline_bind_point
|
||||
/* ID3D12CommandList */
|
||||
struct d3d12_command_list
|
||||
{
|
||||
ID3D12GraphicsCommandList5 ID3D12GraphicsCommandList5_iface;
|
||||
ID3D12GraphicsCommandList6 ID3D12GraphicsCommandList6_iface;
|
||||
unsigned int refcount;
|
||||
|
||||
D3D12_COMMAND_LIST_TYPE type;
|
||||
|
Loading…
Reference in New Issue
Block a user