Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
VkCV Framework
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package Registry
Model registry
Operate
Terraform modules
Monitor
Service Desk
Analyze
Contributor analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Vulkan2021
VkCV Framework
Commits
6640083a
Commit
6640083a
authored
3 years ago
by
Alexander Gauggel
Browse files
Options
Downloads
Patches
Plain Diff
[
#96
] Add some core function doxygen comments
parent
7d2bea42
No related branches found
No related tags found
1 merge request
!97
Resolve "Dokumentation vervollständigen"
Pipeline
#27504
passed
3 years ago
Stage: build
Stage: deploy
Changes
1
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
include/vkcv/Core.hpp
+80
-4
80 additions, 4 deletions
include/vkcv/Core.hpp
with
80 additions
and
4 deletions
include/vkcv/Core.hpp
+
80
−
4
View file @
6640083a
...
...
@@ -307,13 +307,30 @@ namespace vkcv
// TODO: existsDescriptorSetLayout function that checks and returns fitting layout upon existence.
/** TODO:
* @param setDescriptions
* @return
*/
/**
* @brief Creates a new descriptor set
*
* @param layoutHandle Handle to the layout that the descriptor set will use
* @return Handle that represents the descriptor set
*/
[[
nodiscard
]]
DescriptorSetHandle
createDescriptorSet
(
const
DescriptorSetLayoutHandle
&
layoutHandle
);
/**
* @brief Writes resources bindings to a descriptor set
*
* @param handle Handle of the descriptor set
* @param writes Struct containing the resource bindings to be written
* must be compatible with the descriptor set's layout
*/
void
writeDescriptorSet
(
DescriptorSetHandle
handle
,
const
DescriptorWrites
&
writes
);
/**
* @brief Returns information about a descriptor set
*
* @param handle Handle of the descriptor set
* @return Struct containing the descriptor set's vulkan handle, layout handle and descriptor pool index
*/
DescriptorSet
getDescriptorSet
(
const
DescriptorSetHandle
handle
)
const
;
...
...
@@ -322,6 +339,17 @@ namespace vkcv
*/
bool
beginFrame
(
uint32_t
&
width
,
uint32_t
&
height
,
const
WindowHandle
&
windowHandle
);
/**
* @brief Records drawcalls to a command stream
*
* @param cmdStreamHandle Handle of the command stream that the drawcalls are recorded into
* @param renderpassHandle Handle of the renderpass that is used for the drawcalls
* @param pipelineHandle Handle of the pipeline that is used for the drawcalls
* @param pushConstants Push constants that are used for the drawcalls, ignored if constant size is set to 0
* @param drawcalls Information about each drawcall, consisting of mesh handle, descriptor set bindings and instance count
* @param renderTargets Image handles that are used as render targets
* @param windowHandle Window handle that is used to retrieve the corresponding swapchain
*/
void
recordDrawcallsToCmdStream
(
const
CommandStreamHandle
&
cmdStreamHandle
,
const
PassHandle
&
renderpassHandle
,
...
...
@@ -331,6 +359,17 @@ namespace vkcv
const
std
::
vector
<
ImageHandle
>
&
renderTargets
,
const
WindowHandle
&
windowHandle
);
/**
* @brief Records mesh shader drawcalls to a command stream
*
* @param cmdStreamHandle Handle of the command stream that the drawcalls are recorded into
* @param renderpassHandle Handle of the renderpass that is used for the drawcalls
* @param pipelineHandle Handle of the pipeline that is used for the drawcalls
* @param pushConstantData Push constants that are used for the drawcalls, ignored if constant size is set to 0
* @param drawcalls Information about each drawcall, consisting of descriptor set bindings and task shader dispatch count
* @param renderTargets Image handles that are used as render targets
* @param windowHandle Window handle that is used to retrieve the corresponding swapchain
*/
void
recordMeshShaderDrawcalls
(
const
CommandStreamHandle
&
cmdStreamHandle
,
const
PassHandle
&
renderpassHandle
,
...
...
@@ -340,6 +379,15 @@ namespace vkcv
const
std
::
vector
<
ImageHandle
>&
renderTargets
,
const
WindowHandle
&
windowHandle
);
/**
* @brief Record a compute shader dispatch into a command stream
*
* @param cmdStream Handle of the command stream that the dispatch is recorded into
* @param computePipeline Handle of the pipeline that is used for the dispatch
* @param dispatchCount How many work groups are dispatched
* @param descriptorSetUsages Descriptor set bindings of the dispatch
* @param pushConstants Push constant data for the dispatch
*/
void
recordComputeDispatchToCmdStream
(
CommandStreamHandle
cmdStream
,
ComputePipelineHandle
computePipeline
,
...
...
@@ -347,12 +395,34 @@ namespace vkcv
const
std
::
vector
<
DescriptorSetUsage
>
&
descriptorSetUsages
,
const
PushConstants
&
pushConstants
);
/**
* @brief Record the start of a debug label into a command stream.
* Debug labels are displayed in GPU debuggers, such as RenderDoc
*
* @param cmdStream Handle of the command stream that the label start is recorded into
* @param label Label name, which is displayed in a debugger
* @param color Display color for the label in a debugger
*/
void
recordBeginDebugLabel
(
const
CommandStreamHandle
&
cmdStream
,
const
std
::
string
&
label
,
const
std
::
array
<
float
,
4
>&
color
);
/**
* @brief Record the end of a debug label into a command stream
* @param cmdStream Handle of the command stream that the label end is recorded into
*/
void
recordEndDebugLabel
(
const
CommandStreamHandle
&
cmdStream
);
/**
* @brief Record an indirect compute shader dispatch into a command stream
*
* @param cmdStream Handle of the command stream that the indirect dispatch is recorded into
* @param computePipeline Handle of the pipeline that is used for the indirect dispatch
* @param buffer GPU Buffer from which the dispatch counts are read
* @param bufferArgOffset Offset into the GPU Buffer from where the dispatch counts are read
* @param descriptorSetUsages Descriptor set bindings of the indirect dispatch
* @param pushConstants Push constant data for the indirect dispatch
*/
void
recordComputeIndirectDispatchToCmdStream
(
const
CommandStreamHandle
cmdStream
,
const
ComputePipelineHandle
computePipeline
,
...
...
@@ -380,6 +450,12 @@ namespace vkcv
const
RecordCommandFunction
&
record
,
const
FinishCommandFunction
&
finish
);
/**
* @brief Create a new command stream
*
* @param queueType The type of queue to which the command stream will be submitted to
* @return Handle which represents the command stream
*/
CommandStreamHandle
createCommandStream
(
QueueType
queueType
);
void
recordCommandsToStream
(
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment