Browse Source

Vulkan: All validation errors are fixed! vkQueueSubmit fails though

Panagiotis Christopoulos Charitos 9 years ago
parent
commit
6e52a46016
2 changed files with 7 additions and 2 deletions
  1. 3 0
      src/anki/gr/vulkan/BufferImpl.cpp
  2. 4 2
      src/anki/resource/Mesh.cpp

+ 3 - 0
src/anki/gr/vulkan/BufferImpl.cpp

@@ -33,6 +33,9 @@ Error BufferImpl::init(
 	ANKI_ASSERT(size > 0);
 	ANKI_ASSERT(size > 0);
 	ANKI_ASSERT(usage != BufferUsageBit::NONE);
 	ANKI_ASSERT(usage != BufferUsageBit::NONE);
 
 
+	// Align the size to satisfy fill buffer
+	alignRoundUp(4, size);
+
 	// Create the buffer
 	// Create the buffer
 	VkBufferCreateInfo ci = {};
 	VkBufferCreateInfo ci = {};
 	ci.sType = VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO;
 	ci.sType = VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO;

+ 4 - 2
src/anki/resource/Mesh.cpp

@@ -185,11 +185,13 @@ Error Mesh::load(const ResourceFilename& filename)
 	GrManager& gr = getManager().getGrManager();
 	GrManager& gr = getManager().getGrManager();
 
 
 	m_vertBuff = gr.newInstance<Buffer>(loader.getVertexDataSize(),
 	m_vertBuff = gr.newInstance<Buffer>(loader.getVertexDataSize(),
-		BufferUsageBit::VERTEX | BufferUsageBit::BUFFER_UPLOAD_DESTINATION,
+		BufferUsageBit::VERTEX | BufferUsageBit::BUFFER_UPLOAD_DESTINATION
+			| BufferUsageBit::FILL,
 		BufferMapAccessBit::NONE);
 		BufferMapAccessBit::NONE);
 
 
 	m_indicesBuff = gr.newInstance<Buffer>(loader.getIndexDataSize(),
 	m_indicesBuff = gr.newInstance<Buffer>(loader.getIndexDataSize(),
-		BufferUsageBit::INDEX | BufferUsageBit::BUFFER_UPLOAD_DESTINATION,
+		BufferUsageBit::INDEX | BufferUsageBit::BUFFER_UPLOAD_DESTINATION
+			| BufferUsageBit::FILL,
 		BufferMapAccessBit::NONE);
 		BufferMapAccessBit::NONE);
 
 
 	// Clear them
 	// Clear them