From b48f6de49faeceba3c90bfd821ac4301541afc1b Mon Sep 17 00:00:00 2001 From: Alexander Gauggel <agauggel@uni-koblenz.de> Date: Thu, 30 Sep 2021 11:45:22 +0200 Subject: [PATCH] [#96] Comment public Image functions --- include/vkcv/Image.hpp | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/include/vkcv/Image.hpp b/include/vkcv/Image.hpp index 3fca76f7..a21c4f5b 100644 --- a/include/vkcv/Image.hpp +++ b/include/vkcv/Image.hpp @@ -18,28 +18,69 @@ namespace vkcv { class Image { friend class Core; public: + + /** + * @return Vulkan format of the image + */ [[nodiscard]] vk::Format getFormat() const; + /** + * @return Width of the image + */ [[nodiscard]] uint32_t getWidth() const; + /** + * @return Height of the image + */ [[nodiscard]] uint32_t getHeight() const; + /** + * @return Depth of the image + */ [[nodiscard]] uint32_t getDepth() const; + /** + * @return Handle of the image to be used with the #Core + */ [[nodiscard]] const vkcv::ImageHandle& getHandle() const; + /** + * @return Number of mip levels of the image + */ [[nodiscard]] uint32_t getMipCount() const; + /** + * @brief Switch the image layout, returns after operation is finished + * + * @param newLayout Layout that image is switched to + */ void switchLayout(vk::ImageLayout newLayout); + /** + * @brief Fill the image with data + * + * @param data Pointer to the source data + * @param size Lower limit of the data size to copy in bytes, + * the actual number of copied bytes is min(size, imageDataSize) + */ void fill(const void* data, size_t size = SIZE_MAX); + + /** + * @brief Generates the entire mip chain from mip 0, returns after operation is finished + */ void generateMipChainImmediate(); + + /** + * @brief Record mip chain generation to command stream, mip 0 is used as source + * + * @param cmdStream Command stream that the commands are recorded into + */ void recordMipChainGeneration(const vkcv::CommandStreamHandle& cmdStream); private: // TODO: const qualifier removed, very hacky!!! -- GitLab