diff --git a/Doxyfile b/Doxyfile index 728050856484c09c072b16c96116fabe2125917f..05d73d3cd7cf3ed9322481cfbee1597a488305b6 100644 --- a/Doxyfile +++ b/Doxyfile @@ -2159,6 +2159,10 @@ DOCBOOK_OUTPUT = docbook GENERATE_AUTOGEN_DEF = NO +#--------------------------------------------------------------------------- +# Configuration options related to Sqlite3 output +#--------------------------------------------------------------------------- + #--------------------------------------------------------------------------- # Configuration options related to the Perl module output #--------------------------------------------------------------------------- @@ -2345,7 +2349,7 @@ HIDE_UNDOC_RELATIONS = YES # set to NO # The default value is: NO. -HAVE_DOT = YES +HAVE_DOT = NO # The DOT_NUM_THREADS specifies the number of dot invocations doxygen is allowed # to run in parallel. When set to 0 doxygen will base this on the number of @@ -2487,7 +2491,7 @@ INCLUDED_BY_GRAPH = YES # The default value is: NO. # This tag requires that the tag HAVE_DOT is set to YES. -CALL_GRAPH = YES +CALL_GRAPH = NO # If the CALLER_GRAPH tag is set to YES then doxygen will generate a caller # dependency graph for every global function or class method. @@ -2499,7 +2503,7 @@ CALL_GRAPH = YES # The default value is: NO. # This tag requires that the tag HAVE_DOT is set to YES. -CALLER_GRAPH = YES +CALLER_GRAPH = NO # If the GRAPHICAL_HIERARCHY tag is set to YES then doxygen will graphical # hierarchy of all classes instead of a textual one. diff --git a/include/vkcv/DescriptorConfig.hpp b/include/vkcv/DescriptorConfig.hpp index 038489d1518eae53458ff6305433d0164667e52b..1d116e69f0887128d32bfb07824464f6e2da89bb 100644 --- a/include/vkcv/DescriptorConfig.hpp +++ b/include/vkcv/DescriptorConfig.hpp @@ -14,6 +14,9 @@ namespace vkcv { + /** + * @brief Enum class to specify the type of a descriptor set binding. + */ enum class DescriptorType { UNIFORM_BUFFER, STORAGE_BUFFER, diff --git a/include/vkcv/DescriptorWrites.hpp b/include/vkcv/DescriptorWrites.hpp index 4bdbee4a3ae559e5f4b7f57a1daf6276e6c59e3c..b8468bfdfd4cd20e59742f410ff8716be4e910fa 100644 --- a/include/vkcv/DescriptorWrites.hpp +++ b/include/vkcv/DescriptorWrites.hpp @@ -11,6 +11,9 @@ namespace vkcv { + /** + * @brief Structure to store details writing a sampled image to a descriptor set. + */ struct SampledImageDescriptorWrite { uint32_t binding; ImageHandle image; @@ -18,13 +21,19 @@ namespace vkcv { bool useGeneralLayout; uint32_t arrayIndex; }; - + + /** + * @brief Structure to store details writing a storage image to a descriptor set. + */ struct StorageImageDescriptorWrite { uint32_t binding; ImageHandle image; uint32_t mipLevel; }; - + + /** + * @brief Structure to store details writing a buffer to a descriptor set. + */ struct BufferDescriptorWrite { uint32_t binding; BufferHandle buffer; @@ -32,12 +41,19 @@ namespace vkcv { uint32_t offset; uint32_t size; }; - + + /** + * @brief Structure to store details writing a sampler to a descriptor set. + */ struct SamplerDescriptorWrite { uint32_t binding; SamplerHandle sampler; }; + /** + * @brief Structure to store details writing an acceleration structure to + * a descriptor set. + */ struct AccelerationDescriptorWrite { uint32_t binding; }; diff --git a/include/vkcv/DrawcallRecording.hpp b/include/vkcv/DrawcallRecording.hpp index 244508b4c4c2677f608573275b32a25fef435951..8cdaaa9b9a4779d10554a393195c68f142cb894e 100644 --- a/include/vkcv/DrawcallRecording.hpp +++ b/include/vkcv/DrawcallRecording.hpp @@ -23,7 +23,11 @@ namespace vkcv { vk::Buffer buffer; }; - enum class IndexBitCount{ + /** + * @brief Enum class to specify the size of indexes. + */ + enum class IndexBitCount { + Bit8, Bit16, Bit32 }; diff --git a/include/vkcv/Handles.hpp b/include/vkcv/Handles.hpp index bfe2ac26f5def4c4a0bf8a52ca2c8052382889f1..dea1793871a320016cf7c0da3f3877fc66a6f616 100644 --- a/include/vkcv/Handles.hpp +++ b/include/vkcv/Handles.hpp @@ -12,10 +12,13 @@ namespace vkcv { + /** + * @brief Function to be called when a handles resources can be destroyed. + */ typedef typename event_function<uint64_t>::type HandleDestroyFunction; /** - * Class for general memory management via handles. + * @brief Class for general memory management via handles. */ class Handle { friend std::ostream& operator << (std::ostream& out, const Handle& handle); diff --git a/include/vkcv/ShaderStage.hpp b/include/vkcv/ShaderStage.hpp index b964c63fa93e4c9483affa091a2b2aadcd16f903..39b250e80be79cbb0f39261e69ab0d80a71d4f31 100644 --- a/include/vkcv/ShaderStage.hpp +++ b/include/vkcv/ShaderStage.hpp @@ -9,6 +9,9 @@ namespace vkcv { + /** + * @brief Enum class to specify the stage of a shader. + */ enum class ShaderStage : VkShaderStageFlags { VERTEX = static_cast<VkShaderStageFlags>(vk::ShaderStageFlagBits::eVertex), TESS_CONTROL = static_cast<VkShaderStageFlags>(vk::ShaderStageFlagBits::eTessellationControl), diff --git a/include/vkcv/SyncResources.hpp b/include/vkcv/SyncResources.hpp index 9a2de30f92da73c02ec59e56d6afd4e8f29c90cd..1683855b6b4f9046b0af5fb2df65f3bca895da2a 100644 --- a/include/vkcv/SyncResources.hpp +++ b/include/vkcv/SyncResources.hpp @@ -9,10 +9,14 @@ namespace vkcv { + /** + * @brief Structure to store vulkan resources for presenting + * with a pipeline. + */ struct SyncResources { - vk::Semaphore renderFinished; - vk::Semaphore swapchainImageAcquired; - vk::Fence presentFinished; + vk::Semaphore renderFinished; + vk::Semaphore swapchainImageAcquired; + vk::Fence presentFinished; }; /** diff --git a/include/vkcv/VertexLayout.hpp b/include/vkcv/VertexLayout.hpp index 588e898e89925afe52f60fda705cddff8ce5a6bd..b375aaf6cb8dd98d8b6dad738af47210a7038410 100644 --- a/include/vkcv/VertexLayout.hpp +++ b/include/vkcv/VertexLayout.hpp @@ -12,6 +12,9 @@ namespace vkcv { + /** + * @brief Enum class to specify the format of vertex attributes. + */ enum class VertexAttachmentFormat{ FLOAT, FLOAT2, @@ -23,6 +26,13 @@ namespace vkcv { INT4 }; + /** + * @brief Returns the size in bytes of a vertex with a + * given vertex format. + * + * @param[in] format Vertex format + * @return Size in bytes + */ uint32_t getFormatSize(VertexAttachmentFormat format); struct VertexAttachment{ diff --git a/src/vkcv/Core.cpp b/src/vkcv/Core.cpp index 42e96b515c8844fed9c2e0d5ca0d326ca64bdf9c..417157ab37bcded7deca5c092fd96a828a4de7e6 100644 --- a/src/vkcv/Core.cpp +++ b/src/vkcv/Core.cpp @@ -271,11 +271,15 @@ namespace vkcv vk::IndexType getIndexType(IndexBitCount indexByteCount){ switch (indexByteCount) { - case IndexBitCount::Bit16: return vk::IndexType::eUint16; - case IndexBitCount::Bit32: return vk::IndexType::eUint32; - default: - vkcv_log(LogLevel::ERROR, "unknown Enum"); + case IndexBitCount::Bit8: + return vk::IndexType::eUint8EXT; + case IndexBitCount::Bit16: return vk::IndexType::eUint16; + case IndexBitCount::Bit32: + return vk::IndexType::eUint32; + default: + vkcv_log(LogLevel::ERROR, "unknown Enum"); + return vk::IndexType::eNoneKHR; } } diff --git a/src/vkcv/VertexLayout.cpp b/src/vkcv/VertexLayout.cpp index 0edced571502bbaf0e89ff6d45d338ca38b229ca..5298dd4117cd61c7b3ce7e6f4aa0ed0ad2855f68 100644 --- a/src/vkcv/VertexLayout.cpp +++ b/src/vkcv/VertexLayout.cpp @@ -6,6 +6,7 @@ #include "vkcv/Logger.hpp" namespace vkcv { + uint32_t getFormatSize(VertexAttachmentFormat format) { switch (format) { case VertexAttachmentFormat::FLOAT: