Spaces:
Runtime error
Runtime error
// SPDX-License-Identifier: Apache-2.0 | |
namespace kp { | |
OpAlgoDispatch::~OpAlgoDispatch() | |
{ | |
KP_LOG_DEBUG("Kompute OpAlgoDispatch destructor started"); | |
if (this->mPushConstantsData) { | |
KP_LOG_DEBUG("Kompute freeing push constants data"); | |
free(this->mPushConstantsData); | |
} | |
} | |
void | |
OpAlgoDispatch::record(const vk::CommandBuffer& commandBuffer) | |
{ | |
KP_LOG_DEBUG("Kompute OpAlgoDispatch record called"); | |
// Barrier to ensure the data is finished writing to buffer memory | |
for (const std::shared_ptr<Tensor>& tensor : | |
this->mAlgorithm->getTensors()) { | |
tensor->recordPrimaryBufferMemoryBarrier( | |
commandBuffer, | |
vk::AccessFlagBits::eShaderWrite, | |
vk::AccessFlagBits::eShaderRead, | |
vk::PipelineStageFlagBits::eComputeShader, | |
vk::PipelineStageFlagBits::eComputeShader); | |
} | |
if (this->mPushConstantsSize) { | |
this->mAlgorithm->setPushConstants( | |
this->mPushConstantsData, | |
this->mPushConstantsSize, | |
this->mPushConstantsDataTypeMemorySize); | |
} | |
this->mAlgorithm->recordBindCore(commandBuffer); | |
this->mAlgorithm->recordBindPush(commandBuffer); | |
this->mAlgorithm->recordDispatch(commandBuffer); | |
} | |
void | |
OpAlgoDispatch::preEval(const vk::CommandBuffer& /*commandBuffer*/) | |
{ | |
KP_LOG_DEBUG("Kompute OpAlgoDispatch preEval called"); | |
} | |
void | |
OpAlgoDispatch::postEval(const vk::CommandBuffer& /*commandBuffer*/) | |
{ | |
KP_LOG_DEBUG("Kompute OpAlgoDispatch postSubmit called"); | |
} | |
} | |