bind buf memory
[demo] / src / vulkan / mesh-vk.cc
index 494389b..729e24c 100644 (file)
@@ -91,20 +91,43 @@ bool MeshVK::update_vertex_data()
        /* write the buffers */
 
        if(!vku_write_memory(vk_vertices->mem_pool, vsz, (void*)vertices.data())) {
-               fprintf(stderr, "Failed to write the vertices on GPU.\n");
+               fprintf(stderr, "Failed to write the vertices to GPU.\n");
                return false;
        }
+       if(vkBindBufferMemory(vk_device, vk_vertices->buf, vk_vertices->mem_pool,
+                               0) != VK_SUCCESS) {
+               fprintf(stderr, "Failed to bind the vertex buffer memory\n");
+               return false;
+       }
+
        if(!vku_write_memory(vk_normals->mem_pool, nsz, (void*)normals.data())) {
-               fprintf(stderr, "Failed to write the normalson GPU.\n");
+               fprintf(stderr, "Failed to write the normals to GPU.\n");
                return false;
        }
+       if(vkBindBufferMemory(vk_device, vk_normals->buf, vk_normals->mem_pool, 0)
+                       != VK_SUCCESS) {
+               fprintf(stderr, "Failed to bind the normal buffer memory\n");
+               return false;
+       }
+
        if(!vku_write_memory(vk_tex_coords->mem_pool, tsz,
                                (void*)tex_coords.data())) {
-               fprintf(stderr, "Failed to write the texture coordinates on GPU.\n");
+               fprintf(stderr, "Failed to write the texture coordinates to GPU.\n");
                return false;
        }
+       if(vkBindBufferMemory(vk_device, vk_tex_coords->buf,
+                               vk_tex_coords->mem_pool, 0) != VK_SUCCESS) {
+               fprintf(stderr, "Failed to bind the tex coordinates buffer memory.\n");
+               return false;
+       }
+
        if(!vku_write_memory(vk_indices->mem_pool, isz, (void*)indices.data())) {
-               fprintf(stderr, "Failed to write the indices on GPU.\n");
+               fprintf(stderr, "Failed to write the indices to GPU.\n");
+               return false;
+       }
+       if(vkBindBufferMemory(vk_device, vk_indices->buf, vk_indices->mem_pool, 0)
+                       != VK_SUCCESS) {
+               fprintf(stderr, "Failed to bind the index buffer memory.\n");
                return false;
        }