MCPcopy Create free account
hub / github.com/KhronosGroup/Vulkan-Hpp / ImageData

Method ImageData

samples/utils/utils.cpp:750–781  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

748 }
749
750 ImageData::ImageData( vk::PhysicalDevice const & physicalDevice,
751 vk::Device const & device,
752 vk::Format format_,
753 vk::Extent2D const & extent,
754 vk::ImageTiling tiling,
755 vk::ImageUsageFlags usage,
756 vk::ImageLayout initialLayout,
757 vk::MemoryPropertyFlags memoryProperties,
758 vk::ImageAspectFlags aspectMask )
759 : format( format_ )
760 {
761 vk::ImageCreateInfo imageCreateInfo( vk::ImageCreateFlags(),
762 vk::ImageType::e2D,
763 format,
764 vk::Extent3D( extent, 1 ),
765 1,
766 1,
767 vk::SampleCountFlagBits::e1,
768 tiling,
769 usage | vk::ImageUsageFlagBits::eSampled,
770 vk::SharingMode::eExclusive,
771 {},
772 initialLayout );
773 image = device.createImage( imageCreateInfo );
774
775 deviceMemory = vk::su::allocateDeviceMemory( device, physicalDevice.getMemoryProperties(), device.getImageMemoryRequirements( image ), memoryProperties );
776
777 device.bindImageMemory( image, deviceMemory, 0 );
778
779 vk::ImageViewCreateInfo imageViewCreateInfo( {}, image, vk::ImageViewType::e2D, format, {}, { aspectMask, 0, 1, 0, 1 } );
780 imageView = device.createImageView( imageViewCreateInfo );
781 }
782
783 SurfaceData::SurfaceData( vk::Instance const & instance, std::string const & windowName, vk::Extent2D const & extent_ )
784 : extent( extent_ ), window( vk::su::createWindow( windowName, extent ) )

Callers

nothing calls this directly

Calls 1

allocateDeviceMemoryFunction · 0.70

Tested by

no test coverage detected