Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/ValveSoftware/vkd3d.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilip Rebohle <philip.rebohle@tu-dortmund.de>2021-11-19 16:38:04 +0300
committerHans-Kristian Arntzen <post@arntzen-software.no>2021-11-19 16:57:51 +0300
commit9185edb42a3219113e86e3a48f84ce271ac65b17 (patch)
tree10d1896a7e75624e468be451279b37cf757a2e50
parentb03c1fcb5f5543c37bfee70efb0c7478d12a2062 (diff)
vkd3d: Implement ID3D12GraphicsCommandList6.
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
-rw-r--r--libs/vkd3d/bundle.c99
-rw-r--r--libs/vkd3d/command.c10
-rw-r--r--libs/vkd3d/command_list_profiled.h9
-rw-r--r--libs/vkd3d/vkd3d_private.h2
4 files changed, 79 insertions, 41 deletions
diff --git a/libs/vkd3d/bundle.c b/libs/vkd3d/bundle.c
index 7834e737..48df4b63 100644
--- a/libs/vkd3d/bundle.c
+++ b/libs/vkd3d/bundle.c
@@ -261,12 +261,13 @@ static HRESULT STDMETHODCALLTYPE d3d12_bundle_QueryInterface(d3d12_command_list_
|| IsEqualGUID(iid, &IID_ID3D12GraphicsCommandList3)
|| IsEqualGUID(iid, &IID_ID3D12GraphicsCommandList4)
|| IsEqualGUID(iid, &IID_ID3D12GraphicsCommandList5)
+ || IsEqualGUID(iid, &IID_ID3D12GraphicsCommandList6)
|| IsEqualGUID(iid, &IID_ID3D12CommandList)
|| IsEqualGUID(iid, &IID_ID3D12DeviceChild)
|| IsEqualGUID(iid, &IID_ID3D12Object)
|| IsEqualGUID(iid, &IID_IUnknown))
{
- ID3D12GraphicsCommandList5_AddRef(iface);
+ ID3D12GraphicsCommandList6_AddRef(iface);
*object = iface;
return S_OK;
}
@@ -429,7 +430,7 @@ static void d3d12_bundle_exec_draw_instanced(d3d12_command_list_iface *list, con
{
const struct d3d12_draw_instanced_command *args = args_v;
- ID3D12GraphicsCommandList5_DrawInstanced(list, args->vertex_count,
+ ID3D12GraphicsCommandList6_DrawInstanced(list, args->vertex_count,
args->instance_count, args->first_vertex, args->first_instance);
}
@@ -466,7 +467,7 @@ static void d3d12_bundle_exec_draw_indexed_instanced(d3d12_command_list_iface *l
{
const struct d3d12_draw_indexed_instanced_command *args = args_v;
- ID3D12GraphicsCommandList5_DrawIndexedInstanced(list, args->index_count,
+ ID3D12GraphicsCommandList6_DrawIndexedInstanced(list, args->index_count,
args->instance_count, args->first_index, args->vertex_offset,
args->first_instance);
}
@@ -501,7 +502,7 @@ static void d3d12_bundle_exec_dispatch(d3d12_command_list_iface *list, const voi
{
const struct d3d12_dispatch_command *args = args_v;
- ID3D12GraphicsCommandList5_Dispatch(list, args->x, args->y, args->z);
+ ID3D12GraphicsCommandList6_Dispatch(list, args->x, args->y, args->z);
}
static void STDMETHODCALLTYPE d3d12_bundle_Dispatch(d3d12_command_list_iface *iface,
@@ -569,7 +570,7 @@ static void d3d12_bundle_exec_ia_set_primitive_topology(d3d12_command_list_iface
{
const struct d3d12_ia_set_primitive_topology_command *args = args_v;
- ID3D12GraphicsCommandList5_IASetPrimitiveTopology(list, args->topology);
+ ID3D12GraphicsCommandList6_IASetPrimitiveTopology(list, args->topology);
}
static void STDMETHODCALLTYPE d3d12_bundle_IASetPrimitiveTopology(d3d12_command_list_iface *iface,
@@ -606,7 +607,7 @@ static void d3d12_bundle_exec_om_set_blend_factor(d3d12_command_list_iface *list
{
const struct d3d12_om_set_blend_factor_command *args = args_v;
- ID3D12GraphicsCommandList5_OMSetBlendFactor(list, args->blend_factor);
+ ID3D12GraphicsCommandList6_OMSetBlendFactor(list, args->blend_factor);
}
static void STDMETHODCALLTYPE d3d12_bundle_OMSetBlendFactor(d3d12_command_list_iface *iface,
@@ -634,7 +635,7 @@ static void d3d12_bundle_exec_om_set_stencil_ref(d3d12_command_list_iface *list,
{
const struct d3d12_om_set_stencil_ref_command *args = args_v;
- ID3D12GraphicsCommandList5_OMSetStencilRef(list, args->stencil_ref);
+ ID3D12GraphicsCommandList6_OMSetStencilRef(list, args->stencil_ref);
}
static void STDMETHODCALLTYPE d3d12_bundle_OMSetStencilRef(d3d12_command_list_iface *iface,
@@ -659,7 +660,7 @@ static void d3d12_bundle_exec_set_pipeline_state(d3d12_command_list_iface *list,
{
const struct d3d12_set_pipeline_state_command *args = args_v;
- ID3D12GraphicsCommandList5_SetPipelineState(list, args->pipeline_state);
+ ID3D12GraphicsCommandList6_SetPipelineState(list, args->pipeline_state);
}
static void STDMETHODCALLTYPE d3d12_bundle_SetPipelineState(d3d12_command_list_iface *iface,
@@ -703,7 +704,7 @@ static void d3d12_bundle_exec_set_compute_root_signature(d3d12_command_list_ifac
{
const struct d3d12_set_root_signature_command *args = args_v;
- ID3D12GraphicsCommandList5_SetComputeRootSignature(list, args->root_signature);
+ ID3D12GraphicsCommandList6_SetComputeRootSignature(list, args->root_signature);
}
static void STDMETHODCALLTYPE d3d12_bundle_SetComputeRootSignature(d3d12_command_list_iface *iface,
@@ -722,7 +723,7 @@ static void d3d12_bundle_exec_set_graphics_root_signature(d3d12_command_list_ifa
{
const struct d3d12_set_root_signature_command *args = args_v;
- ID3D12GraphicsCommandList5_SetGraphicsRootSignature(list, args->root_signature);
+ ID3D12GraphicsCommandList6_SetGraphicsRootSignature(list, args->root_signature);
}
static void STDMETHODCALLTYPE d3d12_bundle_SetGraphicsRootSignature(d3d12_command_list_iface *iface,
@@ -748,7 +749,7 @@ static void d3d12_bundle_exec_set_compute_root_descriptor_table(d3d12_command_li
{
const struct d3d12_set_root_descriptor_table_command *args = args_v;
- ID3D12GraphicsCommandList5_SetComputeRootDescriptorTable(list, args->parameter_index, args->base_descriptor);
+ ID3D12GraphicsCommandList6_SetComputeRootDescriptorTable(list, args->parameter_index, args->base_descriptor);
}
static void STDMETHODCALLTYPE d3d12_bundle_SetComputeRootDescriptorTable(d3d12_command_list_iface *iface,
@@ -769,7 +770,7 @@ static void d3d12_bundle_exec_set_graphics_root_descriptor_table(d3d12_command_l
{
const struct d3d12_set_root_descriptor_table_command *args = args_v;
- ID3D12GraphicsCommandList5_SetGraphicsRootDescriptorTable(list, args->parameter_index, args->base_descriptor);
+ ID3D12GraphicsCommandList6_SetGraphicsRootDescriptorTable(list, args->parameter_index, args->base_descriptor);
}
static void STDMETHODCALLTYPE d3d12_bundle_SetGraphicsRootDescriptorTable(d3d12_command_list_iface *iface,
@@ -798,7 +799,7 @@ static void d3d12_bundle_exec_set_compute_root_32bit_constant(d3d12_command_list
{
const struct d3d12_set_root_32bit_constant_command *args = args_v;
- ID3D12GraphicsCommandList5_SetComputeRoot32BitConstant(list, args->parameter_index, args->data, args->offset);
+ ID3D12GraphicsCommandList6_SetComputeRoot32BitConstant(list, args->parameter_index, args->data, args->offset);
}
static void STDMETHODCALLTYPE d3d12_bundle_SetComputeRoot32BitConstant(d3d12_command_list_iface *iface,
@@ -820,7 +821,7 @@ static void d3d12_bundle_exec_set_graphics_root_32bit_constant(d3d12_command_lis
{
const struct d3d12_set_root_32bit_constant_command *args = args_v;
- ID3D12GraphicsCommandList5_SetGraphicsRoot32BitConstant(list, args->parameter_index, args->data, args->offset);
+ ID3D12GraphicsCommandList6_SetGraphicsRoot32BitConstant(list, args->parameter_index, args->data, args->offset);
}
static void STDMETHODCALLTYPE d3d12_bundle_SetGraphicsRoot32BitConstant(d3d12_command_list_iface *iface,
@@ -851,7 +852,7 @@ static void d3d12_bundle_exec_set_compute_root_32bit_constants(d3d12_command_lis
{
const struct d3d12_set_root_32bit_constants_command *args = args_v;
- ID3D12GraphicsCommandList5_SetComputeRoot32BitConstants(list, args->parameter_index,
+ ID3D12GraphicsCommandList6_SetComputeRoot32BitConstants(list, args->parameter_index,
args->constant_count, args->data, args->offset);
}
@@ -879,7 +880,7 @@ static void d3d12_bundle_exec_set_graphics_root_32bit_constants(d3d12_command_li
{
const struct d3d12_set_root_32bit_constants_command *args = args_v;
- ID3D12GraphicsCommandList5_SetGraphicsRoot32BitConstants(list, args->parameter_index,
+ ID3D12GraphicsCommandList6_SetGraphicsRoot32BitConstants(list, args->parameter_index,
args->constant_count, args->data, args->offset);
}
@@ -914,7 +915,7 @@ static void d3d12_bundle_exec_set_compute_root_cbv(d3d12_command_list_iface *lis
{
const struct d3d12_set_root_descriptor_command *args = args_v;
- ID3D12GraphicsCommandList5_SetComputeRootConstantBufferView(list, args->parameter_index, args->address);
+ ID3D12GraphicsCommandList6_SetComputeRootConstantBufferView(list, args->parameter_index, args->address);
}
static void STDMETHODCALLTYPE d3d12_bundle_SetComputeRootConstantBufferView(
@@ -935,7 +936,7 @@ static void d3d12_bundle_exec_set_graphics_root_cbv(d3d12_command_list_iface *li
{
const struct d3d12_set_root_descriptor_command *args = args_v;
- ID3D12GraphicsCommandList5_SetGraphicsRootConstantBufferView(list, args->parameter_index, args->address);
+ ID3D12GraphicsCommandList6_SetGraphicsRootConstantBufferView(list, args->parameter_index, args->address);
}
static void STDMETHODCALLTYPE d3d12_bundle_SetGraphicsRootConstantBufferView(
@@ -956,7 +957,7 @@ static void d3d12_bundle_exec_set_compute_root_srv(d3d12_command_list_iface *lis
{
const struct d3d12_set_root_descriptor_command *args = args_v;
- ID3D12GraphicsCommandList5_SetComputeRootShaderResourceView(list, args->parameter_index, args->address);
+ ID3D12GraphicsCommandList6_SetComputeRootShaderResourceView(list, args->parameter_index, args->address);
}
static void STDMETHODCALLTYPE d3d12_bundle_SetComputeRootShaderResourceView(
@@ -977,7 +978,7 @@ static void d3d12_bundle_exec_set_graphics_root_srv(d3d12_command_list_iface *li
{
const struct d3d12_set_root_descriptor_command *args = args_v;
- ID3D12GraphicsCommandList5_SetGraphicsRootShaderResourceView(list, args->parameter_index, args->address);
+ ID3D12GraphicsCommandList6_SetGraphicsRootShaderResourceView(list, args->parameter_index, args->address);
}
static void STDMETHODCALLTYPE d3d12_bundle_SetGraphicsRootShaderResourceView(
@@ -998,7 +999,7 @@ static void d3d12_bundle_exec_set_compute_root_uav(d3d12_command_list_iface *lis
{
const struct d3d12_set_root_descriptor_command *args = args_v;
- ID3D12GraphicsCommandList5_SetComputeRootUnorderedAccessView(list, args->parameter_index, args->address);
+ ID3D12GraphicsCommandList6_SetComputeRootUnorderedAccessView(list, args->parameter_index, args->address);
}
static void STDMETHODCALLTYPE d3d12_bundle_SetComputeRootUnorderedAccessView(
@@ -1019,7 +1020,7 @@ static void d3d12_bundle_exec_set_graphics_root_uav(d3d12_command_list_iface *li
{
const struct d3d12_set_root_descriptor_command *args = args_v;
- ID3D12GraphicsCommandList5_SetGraphicsRootUnorderedAccessView(list, args->parameter_index, args->address);
+ ID3D12GraphicsCommandList6_SetGraphicsRootUnorderedAccessView(list, args->parameter_index, args->address);
}
static void STDMETHODCALLTYPE d3d12_bundle_SetGraphicsRootUnorderedAccessView(
@@ -1044,14 +1045,14 @@ struct d3d12_ia_set_index_buffer_command
static void d3d12_bundle_exec_ia_set_index_buffer_null(d3d12_command_list_iface *list, const void *args_v)
{
- ID3D12GraphicsCommandList5_IASetIndexBuffer(list, NULL);
+ ID3D12GraphicsCommandList6_IASetIndexBuffer(list, NULL);
}
static void d3d12_bundle_exec_ia_set_index_buffer(d3d12_command_list_iface *list, const void *args_v)
{
const struct d3d12_ia_set_index_buffer_command *args = args_v;
- ID3D12GraphicsCommandList5_IASetIndexBuffer(list, &args->view);
+ ID3D12GraphicsCommandList6_IASetIndexBuffer(list, &args->view);
}
static void STDMETHODCALLTYPE d3d12_bundle_IASetIndexBuffer(d3d12_command_list_iface *iface,
@@ -1201,7 +1202,7 @@ static void d3d12_bundle_exec_set_marker(d3d12_command_list_iface *list, const v
{
const struct d3d12_debug_marker_command *args = args_v;
- ID3D12GraphicsCommandList5_SetMarker(list, args->metadata, args->data, args->data_size);
+ ID3D12GraphicsCommandList6_SetMarker(list, args->metadata, args->data, args->data_size);
}
static void STDMETHODCALLTYPE d3d12_bundle_SetMarker(d3d12_command_list_iface *iface,
@@ -1222,7 +1223,7 @@ static void d3d12_bundle_exec_begin_event(d3d12_command_list_iface *list, const
{
const struct d3d12_debug_marker_command *args = args_v;
- ID3D12GraphicsCommandList5_BeginEvent(list, args->metadata, args->data, args->data_size);
+ ID3D12GraphicsCommandList6_BeginEvent(list, args->metadata, args->data, args->data_size);
}
static void STDMETHODCALLTYPE d3d12_bundle_BeginEvent(d3d12_command_list_iface *iface,
@@ -1241,7 +1242,7 @@ static void STDMETHODCALLTYPE d3d12_bundle_BeginEvent(d3d12_command_list_iface *
static void d3d12_bundle_exec_end_event(d3d12_command_list_iface *list, const void *args_v)
{
- ID3D12GraphicsCommandList5_EndEvent(list);
+ ID3D12GraphicsCommandList6_EndEvent(list);
}
static void STDMETHODCALLTYPE d3d12_bundle_EndEvent(d3d12_command_list_iface *iface)
@@ -1268,7 +1269,7 @@ static void d3d12_bundle_exec_execute_indirect(d3d12_command_list_iface *list, c
{
const struct d3d12_execute_indirect_command *args = args_v;
- ID3D12GraphicsCommandList5_ExecuteIndirect(list, args->signature, args->max_count,
+ ID3D12GraphicsCommandList6_ExecuteIndirect(list, args->signature, args->max_count,
args->arg_buffer, args->arg_offset, args->count_buffer, args->count_offset);
}
@@ -1330,7 +1331,7 @@ static void d3d12_bundle_exec_om_set_depth_bounds(d3d12_command_list_iface *list
{
const struct d3d12_om_set_depth_bounds_command *args = args_v;
- ID3D12GraphicsCommandList5_OMSetDepthBounds(list, args->min, args->max);
+ ID3D12GraphicsCommandList6_OMSetDepthBounds(list, args->min, args->max);
}
static void STDMETHODCALLTYPE d3d12_bundle_OMSetDepthBounds(d3d12_command_list_iface *iface,
@@ -1359,7 +1360,7 @@ static void d3d12_bundle_exec_set_sample_positions(d3d12_command_list_iface *lis
const struct d3d12_set_sample_positions_command *args = args_v;
/* The sample position array is non-const but does not get written to */
- ID3D12GraphicsCommandList5_SetSamplePositions(list, args->sample_count,
+ ID3D12GraphicsCommandList6_SetSamplePositions(list, args->sample_count,
args->pixel_count, (D3D12_SAMPLE_POSITION*)args->positions);
}
@@ -1402,7 +1403,7 @@ static void d3d12_bundle_exec_set_view_instance_mask(d3d12_command_list_iface *l
{
const struct d3d12_set_view_instance_mask_command *args = args_v;
- ID3D12GraphicsCommandList5_SetViewInstanceMask(list, args->mask);
+ ID3D12GraphicsCommandList6_SetViewInstanceMask(list, args->mask);
}
static void STDMETHODCALLTYPE d3d12_bundle_SetViewInstanceMask(d3d12_command_list_iface *iface, UINT mask)
@@ -1428,7 +1429,7 @@ static void d3d12_bundle_exec_write_buffer_immediate(d3d12_command_list_iface *l
{
const struct d3d12_write_buffer_immediate_command *args = args_v;
- ID3D12GraphicsCommandList5_WriteBufferImmediate(list, args->count, args->parameters, args->modes);
+ ID3D12GraphicsCommandList6_WriteBufferImmediate(list, args->count, args->parameters, args->modes);
}
static void STDMETHODCALLTYPE d3d12_bundle_WriteBufferImmediate(d3d12_command_list_iface *iface,
@@ -1524,7 +1525,7 @@ static void d3d12_bundle_exec_set_pipeline_state1(d3d12_command_list_iface *list
{
const struct d3d12_set_pipeline_state1_command *args = args_v;
- ID3D12GraphicsCommandList5_SetPipelineState1(list, args->state_object);
+ ID3D12GraphicsCommandList6_SetPipelineState1(list, args->state_object);
}
static void STDMETHODCALLTYPE d3d12_bundle_SetPipelineState1(d3d12_command_list_iface *iface,
@@ -1549,7 +1550,7 @@ static void d3d12_bundle_exec_dispatch_rays(d3d12_command_list_iface *list, cons
{
const struct d3d12_dispatch_rays_command *args = args_v;
- ID3D12GraphicsCommandList5_DispatchRays(list, &args->desc);
+ ID3D12GraphicsCommandList6_DispatchRays(list, &args->desc);
}
static void STDMETHODCALLTYPE d3d12_bundle_DispatchRays(d3d12_command_list_iface *iface,
@@ -1575,14 +1576,14 @@ static void d3d12_bundle_exec_rs_set_shading_rate(d3d12_command_list_iface *list
{
const struct d3d12_rs_set_shading_rate_command *args = args_v;
- ID3D12GraphicsCommandList5_RSSetShadingRate(list, args->base, args->combiners);
+ ID3D12GraphicsCommandList6_RSSetShadingRate(list, args->base, args->combiners);
}
static void d3d12_bundle_exec_rs_set_shading_rate_base(d3d12_command_list_iface *list, const void *args_v)
{
const struct d3d12_rs_set_shading_rate_command *args = args_v;
- ID3D12GraphicsCommandList5_RSSetShadingRate(list, args->base, NULL);
+ ID3D12GraphicsCommandList6_RSSetShadingRate(list, args->base, NULL);
}
static void STDMETHODCALLTYPE d3d12_bundle_RSSetShadingRate(d3d12_command_list_iface *iface,
@@ -1612,7 +1613,7 @@ static void d3d12_bundle_exec_rs_set_shading_rate_image(d3d12_command_list_iface
{
const struct d3d12_rs_set_shading_rate_image_command *args = args_v;
- ID3D12GraphicsCommandList5_RSSetShadingRateImage(list, args->image);
+ ID3D12GraphicsCommandList6_RSSetShadingRateImage(list, args->image);
}
static void STDMETHODCALLTYPE d3d12_bundle_RSSetShadingRateImage(d3d12_command_list_iface *iface,
@@ -1627,7 +1628,27 @@ static void STDMETHODCALLTYPE d3d12_bundle_RSSetShadingRateImage(d3d12_command_l
args->image = image;
}
-static CONST_VTBL struct ID3D12GraphicsCommandList5Vtbl d3d12_bundle_vtbl =
+static void d3d12_bundle_exec_dispatch_mesh(d3d12_command_list_iface *list, const void *args_v)
+{
+ const struct d3d12_dispatch_command *args = args_v;
+
+ ID3D12GraphicsCommandList6_DispatchMesh(list, args->x, args->y, args->z);
+}
+
+static void STDMETHODCALLTYPE d3d12_bundle_DispatchMesh(d3d12_command_list_iface *iface, UINT x, UINT y, UINT z)
+{
+ struct d3d12_bundle *bundle = impl_from_ID3D12GraphicsCommandList(iface);
+ struct d3d12_dispatch_command *args;
+
+ TRACE("iface %p, x %u, y %u, z %u.\n", iface, x, y, z);
+
+ args = d3d12_bundle_add_command(bundle, &d3d12_bundle_exec_dispatch_mesh, sizeof(*args));
+ args->x = x;
+ args->y = y;
+ args->z = z;
+}
+
+static CONST_VTBL struct ID3D12GraphicsCommandList6Vtbl d3d12_bundle_vtbl =
{
/* IUnknown methods */
d3d12_bundle_QueryInterface,
@@ -1718,6 +1739,8 @@ static CONST_VTBL struct ID3D12GraphicsCommandList5Vtbl d3d12_bundle_vtbl =
/* ID3D12GraphicsCommandList5 methods */
d3d12_bundle_RSSetShadingRate,
d3d12_bundle_RSSetShadingRateImage,
+ /* ID3D12GraphicsCommandList6 methods */
+ d3d12_bundle_DispatchMesh,
};
HRESULT d3d12_bundle_create(struct d3d12_device *device,
diff --git a/libs/vkd3d/command.c b/libs/vkd3d/command.c
index be0f608d..47ee1a55 100644
--- a/libs/vkd3d/command.c
+++ b/libs/vkd3d/command.c
@@ -3860,6 +3860,7 @@ HRESULT STDMETHODCALLTYPE d3d12_command_list_QueryInterface(d3d12_command_list_i
|| IsEqualGUID(iid, &IID_ID3D12GraphicsCommandList3)
|| IsEqualGUID(iid, &IID_ID3D12GraphicsCommandList4)
|| IsEqualGUID(iid, &IID_ID3D12GraphicsCommandList5)
+ || IsEqualGUID(iid, &IID_ID3D12GraphicsCommandList6)
|| IsEqualGUID(iid, &IID_ID3D12CommandList)
|| IsEqualGUID(iid, &IID_ID3D12DeviceChild)
|| IsEqualGUID(iid, &IID_ID3D12Object)
@@ -9541,7 +9542,12 @@ static void STDMETHODCALLTYPE d3d12_command_list_RSSetShadingRateImage(d3d12_com
list->vrs_image = vrs_image;
}
-static CONST_VTBL struct ID3D12GraphicsCommandList5Vtbl d3d12_command_list_vtbl =
+static void STDMETHODCALLTYPE d3d12_command_list_DispatchMesh(d3d12_command_list_iface *iface, UINT x, UINT y, UINT z)
+{
+ FIXME("iface %p, x %u, y %u, z %u stub!", iface, x, y, z);
+}
+
+static CONST_VTBL struct ID3D12GraphicsCommandList6Vtbl d3d12_command_list_vtbl =
{
/* IUnknown methods */
d3d12_command_list_QueryInterface,
@@ -9632,6 +9638,8 @@ static CONST_VTBL struct ID3D12GraphicsCommandList5Vtbl d3d12_command_list_vtbl
/* ID3D12GraphicsCommandList5 methods */
d3d12_command_list_RSSetShadingRate,
d3d12_command_list_RSSetShadingRateImage,
+ /* ID3D12GraphicsCommandList6 methods */
+ d3d12_command_list_DispatchMesh,
};
#ifdef VKD3D_ENABLE_PROFILING
diff --git a/libs/vkd3d/command_list_profiled.h b/libs/vkd3d/command_list_profiled.h
index 9b519d97..3d74b15f 100644
--- a/libs/vkd3d/command_list_profiled.h
+++ b/libs/vkd3d/command_list_profiled.h
@@ -459,7 +459,12 @@ static void STDMETHODCALLTYPE d3d12_command_list_RSSetShadingRateImage_profiled(
COMMAND_LIST_PROFILED_CALL(RSSetShadingRateImage, iface, image);
}
-static CONST_VTBL struct ID3D12GraphicsCommandList5Vtbl d3d12_command_list_vtbl_profiled =
+static void STDMETHODCALLTYPE d3d12_command_list_DispatchMesh_profiled(d3d12_command_list_iface *iface, UINT x, UINT y, UINT z)
+{
+ COMMAND_LIST_PROFILED_CALL(DispatchMesh, iface, x, y, z);
+}
+
+static CONST_VTBL struct ID3D12GraphicsCommandList6Vtbl d3d12_command_list_vtbl_profiled =
{
/* IUnknown methods */
d3d12_command_list_QueryInterface,
@@ -550,6 +555,8 @@ static CONST_VTBL struct ID3D12GraphicsCommandList5Vtbl d3d12_command_list_vtbl_
/* ID3D12GraphicsCommandList5 methods */
d3d12_command_list_RSSetShadingRate_profiled,
d3d12_command_list_RSSetShadingRateImage_profiled,
+ /* ID3D12GraphicsCommandList6 methods */
+ d3d12_command_list_DispatchMesh_profiled,
};
#endif
diff --git a/libs/vkd3d/vkd3d_private.h b/libs/vkd3d/vkd3d_private.h
index e31d7fe2..d89dce38 100644
--- a/libs/vkd3d/vkd3d_private.h
+++ b/libs/vkd3d/vkd3d_private.h
@@ -1822,7 +1822,7 @@ struct vkd3d_dynamic_state
};
/* ID3D12CommandList */
-typedef ID3D12GraphicsCommandList5 d3d12_command_list_iface;
+typedef ID3D12GraphicsCommandList6 d3d12_command_list_iface;
enum vkd3d_initial_transition_type
{