Browse Source

vulkan: implement instanced draw

niki 3 years ago
parent
commit
a544d51c22
1 changed files with 6 additions and 1 deletions
  1. 6 1
      src/modules/graphics/vulkan/Graphics.cpp

+ 6 - 1
src/modules/graphics/vulkan/Graphics.cpp

@@ -1218,7 +1218,12 @@ namespace love {
 
 							VkVertexInputBindingDescription bindingDescription{};
 							bindingDescription.binding = bufferBinding;
-							bindingDescription.inputRate = VK_VERTEX_INPUT_RATE_VERTEX;
+							if (vertexAttributes.instanceBits & (1u << bufferBinding)) {
+								bindingDescription.inputRate = VK_VERTEX_INPUT_RATE_INSTANCE;
+							}
+							else {
+								bindingDescription.inputRate = VK_VERTEX_INPUT_RATE_VERTEX;
+							}
 							bindingDescription.stride = vertexAttributes.bufferLayouts[bufferBinding].stride;
 							bindingDescriptions.push_back(bindingDescription);