| 204 | } |
| 205 | |
| 206 | void Image::create_vk_image(vkb::core::DeviceC &device, VkImageViewType image_view_type, VkImageCreateFlags flags) |
| 207 | { |
| 208 | assert(!vk_image && !vk_image_view && "Vulkan image already constructed"); |
| 209 | |
| 210 | vk_image = std::make_unique<core::Image>(device, |
| 211 | get_extent(), |
| 212 | format, |
| 213 | VK_IMAGE_USAGE_SAMPLED_BIT | VK_IMAGE_USAGE_TRANSFER_DST_BIT, |
| 214 | VMA_MEMORY_USAGE_GPU_ONLY, |
| 215 | VK_SAMPLE_COUNT_1_BIT, |
| 216 | to_u32(mipmaps.size()), |
| 217 | layers, |
| 218 | VK_IMAGE_TILING_OPTIMAL, |
| 219 | flags); |
| 220 | vk_image->set_debug_name(get_name()); |
| 221 | |
| 222 | vk_image_view = std::make_unique<core::ImageView>(*vk_image, image_view_type); |
| 223 | vk_image_view->set_debug_name("View on " + get_name()); |
| 224 | } |
| 225 | |
| 226 | const core::Image &Image::get_vk_image() const |
| 227 | { |
no test coverage detected