- const char *src = static_cast<const char *>(data);
- copy(src, src+data_size, static_cast<char *>(staging));
+ stage_pixels(staging, data, wd*ht);
+}
+
+void VulkanTexture2D::fill_mipmap_blit(unsigned level, void *b)
+{
+ const Texture2D &self = *static_cast<const Texture2D *>(this);
+ VkImageBlit &blit = *static_cast<VkImageBlit *>(b);
+
+ auto src_size = self.get_level_size(level);
+ auto dst_size = self.get_level_size(level+1);
+
+ blit.srcOffsets[1] = { static_cast<int>(src_size.x), static_cast<int>(src_size.y), 1 };
+ blit.dstOffsets[1] = { static_cast<int>(dst_size.x), static_cast<int>(dst_size.y), 1 };