diff --git a/src/vulkan/runtime/vk_command_buffer.c b/src/vulkan/runtime/vk_command_buffer.c index 2eef386ff5a..65a0c624451 100644 --- a/src/vulkan/runtime/vk_command_buffer.c +++ b/src/vulkan/runtime/vk_command_buffer.c @@ -154,3 +154,24 @@ vk_common_CmdBindVertexBuffers(VkCommandBuffer commandBuffer, disp->CmdBindVertexBuffers2(commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, NULL, NULL); } + +VKAPI_ATTR void VKAPI_CALL +vk_common_CmdDispatch(VkCommandBuffer commandBuffer, + uint32_t groupCountX, + uint32_t groupCountY, + uint32_t groupCountZ) +{ + VK_FROM_HANDLE(vk_command_buffer, cmd_buffer, commandBuffer); + const struct vk_device_dispatch_table *disp = + &cmd_buffer->base.device->dispatch_table; + + disp->CmdDispatchBase(commandBuffer, 0, 0, 0, + groupCountX, groupCountY, groupCountZ); +} + +VKAPI_ATTR void VKAPI_CALL +vk_common_CmdSetDeviceMask(VkCommandBuffer commandBuffer, uint32_t deviceMask) +{ + /* Nothing to do here since we only support a single device */ + assert(deviceMask == 0x1); +} diff --git a/src/vulkan/runtime/vk_device.c b/src/vulkan/runtime/vk_device.c index 2cb54da0c3f..3964be097e3 100644 --- a/src/vulkan/runtime/vk_device.c +++ b/src/vulkan/runtime/vk_device.c @@ -422,6 +422,21 @@ vk_common_GetDeviceQueue2(VkDevice _device, *pQueue = VK_NULL_HANDLE; } +VKAPI_ATTR void VKAPI_CALL +vk_common_GetDeviceGroupPeerMemoryFeatures( + VkDevice device, + uint32_t heapIndex, + uint32_t localDeviceIndex, + uint32_t remoteDeviceIndex, + VkPeerMemoryFeatureFlags *pPeerMemoryFeatures) +{ + assert(localDeviceIndex == 0 && remoteDeviceIndex == 0); + *pPeerMemoryFeatures = VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT | + VK_PEER_MEMORY_FEATURE_COPY_DST_BIT | + VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT | + VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT; +} + VKAPI_ATTR void VKAPI_CALL vk_common_GetBufferMemoryRequirements(VkDevice _device, VkBuffer buffer,