venus: add support for VK_EXT_multi_draw

Test:
./deqp-vk -n dEQP-VK.draw.*multi_draw*

Test run totals:
  Passed:        11520/11520 (100.0%)
  Failed:        0/11520 (0.0%)
  Not supported: 0/11520 (0.0%)
  Warnings:      0/11520 (0.0%)
  Waived:        0/11520 (0.0%)

Signed-off-by: Juston Li <justonli@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18304>
This commit is contained in:
Juston Li
2022-08-23 13:22:10 -07:00
committed by Marge Bot
parent 99378c8873
commit a6e6ffb703
3 changed files with 41 additions and 0 deletions
+32
View File
@@ -1775,3 +1775,35 @@ vn_CmdEndConditionalRenderingEXT(VkCommandBuffer commandBuffer)
{
VN_CMD_ENQUEUE(vkCmdEndConditionalRenderingEXT, commandBuffer);
}
void
vn_CmdDrawMultiEXT(VkCommandBuffer commandBuffer,
uint32_t drawCount,
const VkMultiDrawInfoEXT *pVertexInfo,
uint32_t instanceCount,
uint32_t firstInstance,
uint32_t stride)
{
VN_CMD_ENQUEUE(vkCmdDrawMultiEXT, commandBuffer, drawCount, pVertexInfo,
instanceCount, firstInstance, stride);
vn_cmd_count_draw_and_submit_on_batch_limit(
vn_command_buffer_from_handle(commandBuffer));
}
void
vn_CmdDrawMultiIndexedEXT(VkCommandBuffer commandBuffer,
uint32_t drawCount,
const VkMultiDrawIndexedInfoEXT *pIndexInfo,
uint32_t instanceCount,
uint32_t firstInstance,
uint32_t stride,
const int32_t *pVertexOffset)
{
VN_CMD_ENQUEUE(vkCmdDrawMultiIndexedEXT, commandBuffer, drawCount,
pIndexInfo, instanceCount, firstInstance, stride,
pVertexOffset);
vn_cmd_count_draw_and_submit_on_batch_limit(
vn_command_buffer_from_handle(commandBuffer));
}