bug-14715: DrawIndirect fix
This patch contains fixes to structure layout for draws.
These structures are accessed by HW and must be in a specific order.
This change also includes reordering of the parameters for
vkCmdDraw and vkCmdDrawIndexed.
diff --git a/demos/cube.c b/demos/cube.c
index aba5348..35a2865 100644
--- a/demos/cube.c
+++ b/demos/cube.c
@@ -572,7 +572,7 @@
vkCmdSetStencilWriteMask(cmd_buf, VK_STENCIL_FACE_FRONT_BIT | VK_STENCIL_FACE_BACK_BIT, 0xff);
vkCmdSetStencilReference(cmd_buf, VK_STENCIL_FACE_FRONT_BIT | VK_STENCIL_FACE_BACK_BIT, 0);
- vkCmdDraw(cmd_buf, 0, 12 * 3, 0, 1);
+ vkCmdDraw(cmd_buf, 12 * 3, 1, 0, 0);
vkCmdEndRenderPass(cmd_buf);
err = vkEndCommandBuffer(cmd_buf);
diff --git a/demos/tri.c b/demos/tri.c
index f64c824..f3749cb 100644
--- a/demos/tri.c
+++ b/demos/tri.c
@@ -418,7 +418,7 @@
VkDeviceSize offsets[1] = {0};
vkCmdBindVertexBuffers(demo->draw_cmd, VERTEX_BUFFER_BIND_ID, 1, &demo->vertices.buf, offsets);
- vkCmdDraw(demo->draw_cmd, 0, 3, 0, 1);
+ vkCmdDraw(demo->draw_cmd, 3, 1, 0, 0);
vkCmdEndRenderPass(demo->draw_cmd);
err = vkEndCommandBuffer(demo->draw_cmd);