LCOV - code coverage report
Current view: top level - src - OpAlgoDispatch.cpp (source / functions) Hit Total Coverage
Test: lcov.info Lines: 23 23 100.0 %
Date: 2024-01-20 13:42:20 Functions: 5 5 100.0 %

          Line data    Source code
       1             : // SPDX-License-Identifier: Apache-2.0
       2             : 
       3             : #include "kompute/operations/OpAlgoDispatch.hpp"
       4             : 
       5             : namespace kp {
       6             : 
       7          88 : OpAlgoDispatch::~OpAlgoDispatch()
       8             : {
       9          92 :     KP_LOG_DEBUG("Kompute OpAlgoDispatch destructor started");
      10             : 
      11          46 :     if (this->mPushConstantsData) {
      12          22 :         KP_LOG_DEBUG("Kompute freeing push constants data");
      13          11 :         free(this->mPushConstantsData);
      14             :     }
      15          88 : }
      16             : 
      17             : void
      18          47 : OpAlgoDispatch::record(const vk::CommandBuffer& commandBuffer)
      19             : {
      20          94 :     KP_LOG_DEBUG("Kompute OpAlgoDispatch record called");
      21             : 
      22             :     // Barrier to ensure the data is finished writing to buffer memory
      23          47 :     for (const std::shared_ptr<Tensor>& tensor :
      24         187 :          this->mAlgorithm->getTensors()) {
      25          93 :         tensor->recordPrimaryBufferMemoryBarrier(
      26             :           commandBuffer,
      27             :           vk::AccessFlagBits::eTransferWrite,
      28             :           vk::AccessFlagBits::eShaderRead,
      29             :           vk::PipelineStageFlagBits::eTransfer,
      30             :           vk::PipelineStageFlagBits::eComputeShader);
      31             :     }
      32             : 
      33          47 :     if (this->mPushConstantsSize) {
      34          11 :         this->mAlgorithm->setPushConstants(
      35             :           this->mPushConstantsData,
      36             :           this->mPushConstantsSize,
      37             :           this->mPushConstantsDataTypeMemorySize);
      38             :     }
      39             : 
      40          46 :     this->mAlgorithm->recordBindCore(commandBuffer);
      41          46 :     this->mAlgorithm->recordBindPush(commandBuffer);
      42          46 :     this->mAlgorithm->recordDispatch(commandBuffer);
      43          46 : }
      44             : 
      45             : void
      46         253 : OpAlgoDispatch::preEval(const vk::CommandBuffer& /*commandBuffer*/)
      47             : {
      48         506 :     KP_LOG_DEBUG("Kompute OpAlgoDispatch preEval called");
      49         253 : }
      50             : 
      51             : void
      52         251 : OpAlgoDispatch::postEval(const vk::CommandBuffer& /*commandBuffer*/)
      53             : {
      54         502 :     KP_LOG_DEBUG("Kompute OpAlgoDispatch postSubmit called");
      55         251 : }
      56             : 
      57             : }

Generated by: LCOV version 1.14