1#ifndef ae2fVK_AnnSlpPool_h
3#if __ae2f_MACRO_GENERATED
4#define ae2fVK_AnnSlpPool_h
7#if !ae2f_MAC_BUILD || !__ae2f_MACRO_GENERATED
12#include <ae2fVK/Ann/Slp.h>
13#include <ae2fVK/Ann/SlpPool.auto.h>
16
17
18
19
20
22 ae2fVK_AnnSlpCreatDescPool_t v_descpool,
38 (v_descpool).m_U0.m_vkdescpoolcreatinfo
39 , (v_descpool).m_U0.m_vkdescpoolsz
53 assert(!
"__ae2fVK_AnnSlpCreatDescPoolVerbose_imp has failed (Vulkan)");
57 assert(!
"__ae2fVK_AnnSlpCreatDescPoolVerbose_imp has failed.");
60 assert(!
"__ae2fVK_AnnSlpCreatDescPoolVerbose_imp went null.");
65ae2f_MAC() _ae2fVK_AnnSlpDescPoolMk_imp(
66 ae2fVK_AnnSlpCreatDescPool_t v_descpool,
67 ae2fVK_AnnSlpDescPool r_pool,
72 const VkDescriptorPoolCreateFlagBits i_vkdescpoolcreatflags,
73 const uint32_t i_vkmaxdescsets
81 , i_vkdescpoolcreatflags
82 , VK_DESCRIPTOR_TYPE_STORAGE_BUFFER
88ae2f_MAC() _ae2fVK_AnnSlpDescPoolClean_imp(
89 const ae2fVK_AnnSlp i_slp,
93 vkDestroyDescriptorPool(
96 , (i_slp).m_vkalloccalls
101#define COMMANDONRECORDING
105
106
107ae2f_MAC(COMMANDONRECORDING,) _ae2fVK_AnnSlpDescPoolCmdMk_imp(
108 ae2fVK_AnnSlpDescPoolCmdMk_t v_cmdmk,
112 ae2fVK_AnnSlp iv_slp,
113 const ae2fVK_AnnSlpDescPool i_pool,
132 assert((iv_slp).m_vkres == VK_SUCCESS &&
"(iv_slp)'s state is bad.");
136 (v_cmdmk).m_u0.m_vkdescsetallocinfo.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO;
138 (v_cmdmk).m_u0.m_vkdescsetallocinfo.descriptorPool
139 = (i_pool).m_vkdescpool;
141 (v_cmdmk).m_u0.m_vkdescsetallocinfo.descriptorSetCount
144 (v_cmdmk).m_u0.m_vkdescsetallocinfo.pSetLayouts
147 (v_cmdmk).m_u0.m_vkdescsetallocinfo.pNext = NULL;
149 assert((iv_slp).m_vkdev);
150 assert((v_cmdmk).m_u0.m_vkdescsetallocinfo.pSetLayouts);
152 assert((v_cmdmk).m_u0.m_vkdescsetallocinfo.descriptorPool);
155 if (((iv_slp).m_vkres = vkAllocateDescriptorSets(
157 , &(v_cmdmk).m_u0.m_vkdescsetallocinfo
158 , &(
r_cmd).m_vkdescset
161 assert((
r_cmd).m_vkdescset);
162 assert(!
"vkAllocateDescriptorSets has failed.");
167 assert(!
"vkAllocateDescriptorSets went NULL.");
172 (v_cmdmk).m_u0.m_vkdescwrdescinfo.m_buf[0]
173 .buffer = (iv_slp).m_vkglobbuf;
176 (v_cmdmk).m_u0.m_vkdescwrdescinfo.m_buf[0]
180 (v_cmdmk).m_u0.m_vkdescwrdescinfo.m_buf[0]
183 (v_cmdmk).m_u0.m_vkdescwrdescinfo.m_buf[1]
184 .buffer = (iv_slp).m_vklocbuf;
187 (v_cmdmk).m_u0.m_vkdescwrdescinfo.m_buf[1]
191 (v_cmdmk).m_u0.m_vkdescwrdescinfo.m_buf[1]
195 (v_cmdmk).m_u0.m_vkdescwrdescinfo.m_wrset
196 .sType = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET;
198 (v_cmdmk).m_u0.m_vkdescwrdescinfo.m_wrset
201 (v_cmdmk).m_u0.m_vkdescwrdescinfo.m_wrset
203 (v_cmdmk).m_u0.m_vkdescwrdescinfo.m_wrset
204 .dstArrayElement = 0;
206 (v_cmdmk).m_u0.m_vkdescwrdescinfo.m_wrset
207 .descriptorType = VK_DESCRIPTOR_TYPE_STORAGE_BUFFER;
209 (v_cmdmk).m_u0.m_vkdescwrdescinfo.m_wrset
212 (v_cmdmk).m_u0.m_vkdescwrdescinfo.m_wrset
213 .pBufferInfo = (v_cmdmk).m_u0.m_vkdescwrdescinfo.m_buf;
215 (v_cmdmk).m_u0.m_vkdescwrdescinfo.m_wrset.pNext = NULL;
216 (v_cmdmk).m_u0.m_vkdescwrdescinfo.m_wrset.pImageInfo = NULL;
218 vkUpdateDescriptorSets(
221 , &(v_cmdmk).m_u0.m_vkdescwrdescinfo.m_wrset
226 (v_cmdmk).m_u0.m_vkcmdbufbeginfo.sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO;
227 (v_cmdmk).m_u0.m_vkcmdbufbeginfo.pInheritanceInfo = NULL;
228 (v_cmdmk).m_u0.m_vkcmdbufbeginfo.flags = VK_DESCRIPTOR_TYPE_STORAGE_BUFFER;
229 (v_cmdmk).m_u0.m_vkcmdbufbeginfo.pNext = NULL;
231 if(((iv_slp).m_vkres = vkBeginCommandBuffer(
233 , &(v_cmdmk).m_u0.m_vkcmdbufbeginfo
236 assert(!
"vkBeginCommandBuffer has failed.");
242 , VK_PIPELINE_BIND_POINT_COMPUTE
243 , (iv_slp).m_vkpipeline[
i_pipe]
246 vkCmdBindDescriptorSets(
248 , VK_PIPELINE_BIND_POINT_COMPUTE
252 , &(
r_cmd).m_vkdescset
259 if(((iv_slp).m_vkres = vkEndCommandBuffer(
i_vkcmdbuf)) != VK_SUCCESS) {
260 assert(!
"vkEndCommandBuffer has failed.");
265 if(((iv_slp).m_vkres != VK_SUCCESS))
268ae2f_MAC() _ae2fVK_AnnSlpDescPoolCmdClean_imp(
269 ae2fVK_AnnSlp iv_slp,
270 const ae2fVK_AnnSlpDescPool i_pool,
271 const ae2fVK_AnnSlpDescPoolCmd
i_cmd
274 if(((iv_slp).m_vkres = vkFreeDescriptorSets(
276 , (i_pool).m_vkdescpool
278 , &(
i_cmd).m_vkdescset
280 assert(!
"vkFreeDescriptorSets has failed.");
283ae2f_MAC() _ae2fVK_AnnSlpDescPoolCmdMkPredict_imp(
284 ae2fVK_AnnSlpDescPoolCmdMk_t v_cmdmk,
286 ae2fVK_AnnSlp iv_slp,
288 const ae2fVK_AnnSlpDescPool i_pool,
290 ae2fVK_AnnSlpDescPoolCmd r_cmd,
292 const VkCommandBuffer i_vkcmdbuf
301 , VK_SHADER_STAGE_COMPUTE_BIT
304 , &(iv_slp).m_slp.m_Slp[0].m_inc
309 , (iv_slp).m_slp.m_Slp[0].m_outc
310 , (iv_slp).m_slp.m_Slp[0].m_inc
336ae2f_MAC() _ae2fVK_AnnSlpDescPoolCmdMkTrain_imp(
337 ae2fVK_AnnSlpDescPoolCmdMk_t v_cmdmk,
339 ae2fVK_AnnSlp iv_slp,
341 const ae2fVK_AnnSlpDescPool i_pool,
343 ae2fVK_AnnSlpDescPoolCmd r_cmd,
345 const VkCommandBuffer i_vkcmdbuf
354 , VK_SHADER_STAGE_COMPUTE_BIT
357 , &(iv_slp).m_slp.m_learningrate
363 , VK_SHADER_STAGE_COMPUTE_BIT
366 , &(iv_slp).m_slp.m_learningrate_bias
371 , (iv_slp).m_slp.m_Slp[0].m_outc
372 , (iv_slp).m_slp.m_Slp[0].m_inc
387 ,
sizeof(
ae2f_float_t) * ((iv_slp).m_slp.m_Slp[0].m_outc)
#define ae2f_CastMerge(...)
simply merge all text inside the round bracket, counting them as a single text block.
#define unless(...)
Invokes when condition is false.
@ ae2fVK_eAnnSlpDescLayouts_kPredict
@ ae2fVK_eAnnSlpDescLayouts_kTrain
#define __ae2fVK_AnnSlpOutOff(i_inp, i_out)
@ ae2fVK_eAnnSlpPipeLayouts_kTrain
@ ae2fVK_eAnnSlpPipeLayouts_kPredict
#define __ae2fVK_AnnSlpGlobSz(i_inp, i_out)
#define __ae2fVK_AnnSlpOutSz(i_inp, i_out)
@ ae2fVK_eAnnSlpPipes_kTrain
@ ae2fVK_eAnnSlpPipes_kPredict
#define __ae2fVK_AnnSlpDescPoolMkGeneric_imp(v_descpool, r_pool, r_reterr, iv_slp, i_vkdescpoolcreatflags, i_vkdesctype, i_vkdescpoolsz_count, i_vkmaxdescsets)
#define __ae2fVK_AnnSlpDescPoolCmdMk_imp(COMMANDONRECORDING, v_cmdmk, r_cmd, iv_slp, i_pool, iv_err, i_desccount, i_offglob, i_szglob, i_offloc, i_szloc, i_desclayout, i_pipe, i_pipelayout, i_vkcmdbuf)
ae2fVK_AnnSlpDescPoolCmd r_cmd
ae2fVK_AnnSlpDescPoolCmd ae2fVK_AnnSlp const ae2fVK_AnnSlpDescPool ae2f_err_t iv_err
ae2fVK_AnnSlpDescPool ae2f_err_t ae2fVK_AnnSlp const VkDescriptorPoolCreateFlagBits const VkDescriptorType i_vkdesctype
ae2fVK_AnnSlpDescPool ae2f_err_t ae2fVK_AnnSlp const VkDescriptorPoolCreateFlagBits const VkDescriptorType const uint32_t i_vkdescpoolsz_count
ae2fVK_AnnSlpDescPoolCmd ae2fVK_AnnSlp const ae2fVK_AnnSlpDescPool ae2f_err_t const uint32_t const VkDeviceSize const VkDeviceSize const VkDeviceSize const VkDeviceSize const ae2fVK_eAnnSlpDescLayouts i_desclayout
const ae2fVK_AnnSlpDescPool i_pool
const ae2fVK_AnnSlpDescPool const ae2fVK_AnnSlpDescPoolCmd i_cmd
ae2fVK_AnnSlpDescPoolCmd ae2fVK_AnnSlp const ae2fVK_AnnSlpDescPool ae2f_err_t const uint32_t const VkDeviceSize const VkDeviceSize const VkDeviceSize const VkDeviceSize const ae2fVK_eAnnSlpDescLayouts const ae2fVK_eAnnSlpPipes i_pipe
ae2fVK_AnnSlpDescPool ae2f_err_t ae2fVK_AnnSlp const VkDescriptorPoolCreateFlagBits i_vkdescpoolcreatflags
ae2fVK_AnnSlpDescPoolCmd ae2fVK_AnnSlp const ae2fVK_AnnSlpDescPool ae2f_err_t const uint32_t const VkDeviceSize const VkDeviceSize i_szglob
ae2fVK_AnnSlpDescPool ae2f_err_t ae2fVK_AnnSlp iv_slp
ae2fVK_AnnSlpDescPoolCmd ae2fVK_AnnSlp const ae2fVK_AnnSlpDescPool ae2f_err_t const uint32_t const VkDeviceSize const VkDeviceSize const VkDeviceSize const VkDeviceSize const ae2fVK_eAnnSlpDescLayouts const ae2fVK_eAnnSlpPipes const ae2fVK_eAnnSlpPipeLayouts i_pipelayout
ae2fVK_AnnSlpDescPoolCmd ae2fVK_AnnSlp const ae2fVK_AnnSlpDescPool ae2f_err_t const uint32_t const VkDeviceSize const VkDeviceSize const VkDeviceSize const VkDeviceSize i_szloc
ae2fVK_AnnSlpDescPoolCmd ae2fVK_AnnSlp const ae2fVK_AnnSlpDescPool ae2f_err_t const uint32_t const VkDeviceSize i_offglob
ae2fVK_AnnSlpDescPool r_pool
ae2fVK_AnnSlpDescPool ae2f_err_t r_reterr
ae2fVK_AnnSlpDescPoolCmd ae2fVK_AnnSlp const ae2fVK_AnnSlpDescPool ae2f_err_t const uint32_t const VkDeviceSize const VkDeviceSize const VkDeviceSize const VkDeviceSize const ae2fVK_eAnnSlpDescLayouts const ae2fVK_eAnnSlpPipes const ae2fVK_eAnnSlpPipeLayouts const VkCommandBuffer i_vkcmdbuf
ae2fVK_AnnSlpDescPool ae2f_err_t ae2fVK_AnnSlp const VkDescriptorPoolCreateFlagBits const VkDescriptorType const uint32_t const uint32_t i_vkmaxdescsets
ae2fVK_AnnSlpDescPoolCmd ae2fVK_AnnSlp const ae2fVK_AnnSlpDescPool ae2f_err_t const uint32_t i_desccount
ae2fVK_AnnSlpDescPoolCmd ae2fVK_AnnSlp const ae2fVK_AnnSlpDescPool ae2f_err_t const uint32_t const VkDeviceSize const VkDeviceSize const VkDeviceSize i_offloc
#define COMMANDONRECORDING
#define ae2f_errGlob_OK
The Operation you've wanted went successful.
#define ae2f_errGlob_ALLOC_FAILED
stdlib allocating functions (malloc, calloc, realloc) has been failed.
#define ae2f_errGlob_NFOUND
Found some errors, but not by parameters. The operation has failed.
uint8_t ae2f_err_t
Informs that this number represents the error.
#define ae2f_errGlob_PTR_IS_NULL
Failed to refer the pointer either l-value inside the function.
#define __ae2fVK_AnnSlpCreatDescPoolVerbose_imp(v_vkdescpoolcreatinfo, v_vkdescpoolsz, r_vkdescpool, r_reterr, r_vkres, i_vkdev, i_vkptrAlloc, i_vkdescpoolcreatflags, i_vkdesctype, i_vkdescpoolsz_count, i_vkmaxdescsets)
#define __ae2f_MACRO_GENERATED
#define ae2f_MAC()
delta to delta