bind buf memory
authorEleni Maria Stea <estea@igalia.com>
Sun, 11 Mar 2018 20:23:06 +0000 (22:23 +0200)
committerEleni Maria Stea <estea@igalia.com>
Sun, 11 Mar 2018 20:23:06 +0000 (22:23 +0200)
src/vulkan/mesh-vk.cc
src/vulkan/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;
        }
 
index 4a23211..261ba74 100644 (file)
@@ -41,7 +41,6 @@ static VkSemaphore psema;
 
 
 /* static variables */
-static VkDeviceMemory gpu_mem; // to be replaced when I fix the allocator
 static Vec4 clear_color(1, 0.1, 0.1, 1.0);
 
 /* static functions */