diff options
| author | Courtney Goeltzenleuchter <courtney@LunarG.com> | 2015-09-23 12:31:50 -0600 |
|---|---|---|
| committer | Courtney Goeltzenleuchter <courtney@LunarG.com> | 2015-09-23 18:15:15 -0600 |
| commit | 332a36706fff1c44e72b8fce6bda3431856639d9 (patch) | |
| tree | 17a7a132b71a1c02c5b0e28adabf5f8da5dbeba0 /include | |
| parent | 5ae2eb9bfe5e0afad85e6f3410ad66c89aefee72 (diff) | |
| download | usermoji-332a36706fff1c44e72b8fce6bda3431856639d9.tar.xz | |
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.
Diffstat (limited to 'include')
| -rw-r--r-- | include/vulkan.h | 34 |
1 files changed, 17 insertions, 17 deletions
diff --git a/include/vulkan.h b/include/vulkan.h index 8be2b4f3..03bcefea 100644 --- a/include/vulkan.h +++ b/include/vulkan.h @@ -2013,11 +2013,6 @@ typedef struct { uint32_t stencil; } VkClearDepthStencilValue; -typedef union { - VkClearColorValue color; - VkClearDepthStencilValue depthStencil; -} VkClearValue; - typedef struct { VkOffset3D offset; VkExtent3D extent; @@ -2031,6 +2026,11 @@ typedef struct { VkExtent3D extent; } VkImageResolve; +typedef union { + VkClearColorValue color; + VkClearDepthStencilValue depthStencil; +} VkClearValue; + typedef struct { VkStructureType sType; const void* pNext; @@ -2060,18 +2060,18 @@ typedef struct { } VkDispatchIndirectCmd; typedef struct { - uint32_t firstIndex; uint32_t indexCount; + uint32_t instanceCount; + uint32_t firstIndex; int32_t vertexOffset; uint32_t firstInstance; - uint32_t instanceCount; } VkDrawIndexedIndirectCmd; typedef struct { - uint32_t firstVertex; uint32_t vertexCount; - uint32_t firstInstance; uint32_t instanceCount; + uint32_t firstVertex; + uint32_t firstInstance; } VkDrawIndirectCmd; typedef struct { @@ -2208,8 +2208,8 @@ typedef void (VKAPI *PFN_vkCmdSetStencilReference)(VkCmdBuffer cmdBuffer, VkSten typedef void (VKAPI *PFN_vkCmdBindDescriptorSets)(VkCmdBuffer cmdBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t firstSet, uint32_t setCount, const VkDescriptorSet* pDescriptorSets, uint32_t dynamicOffsetCount, const uint32_t* pDynamicOffsets); typedef void (VKAPI *PFN_vkCmdBindIndexBuffer)(VkCmdBuffer cmdBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType); typedef void (VKAPI *PFN_vkCmdBindVertexBuffers)(VkCmdBuffer cmdBuffer, uint32_t startBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets); -typedef void (VKAPI *PFN_vkCmdDraw)(VkCmdBuffer cmdBuffer, uint32_t firstVertex, uint32_t vertexCount, uint32_t firstInstance, uint32_t instanceCount); -typedef void (VKAPI *PFN_vkCmdDrawIndexed)(VkCmdBuffer cmdBuffer, uint32_t firstIndex, uint32_t indexCount, int32_t vertexOffset, uint32_t firstInstance, uint32_t instanceCount); +typedef void (VKAPI *PFN_vkCmdDraw)(VkCmdBuffer cmdBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance); +typedef void (VKAPI *PFN_vkCmdDrawIndexed)(VkCmdBuffer cmdBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance); typedef void (VKAPI *PFN_vkCmdDrawIndirect)(VkCmdBuffer cmdBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t count, uint32_t stride); typedef void (VKAPI *PFN_vkCmdDrawIndexedIndirect)(VkCmdBuffer cmdBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t count, uint32_t stride); typedef void (VKAPI *PFN_vkCmdDispatch)(VkCmdBuffer cmdBuffer, uint32_t x, uint32_t y, uint32_t z); @@ -2806,18 +2806,18 @@ void VKAPI vkCmdBindVertexBuffers( void VKAPI vkCmdDraw( VkCmdBuffer cmdBuffer, - uint32_t firstVertex, uint32_t vertexCount, - uint32_t firstInstance, - uint32_t instanceCount); + uint32_t instanceCount, + uint32_t firstVertex, + uint32_t firstInstance); void VKAPI vkCmdDrawIndexed( VkCmdBuffer cmdBuffer, - uint32_t firstIndex, uint32_t indexCount, + uint32_t instanceCount, + uint32_t firstIndex, int32_t vertexOffset, - uint32_t firstInstance, - uint32_t instanceCount); + uint32_t firstInstance); void VKAPI vkCmdDrawIndirect( VkCmdBuffer cmdBuffer, |
