1 /* 2 * Copyright (c) Meta Platforms, Inc. and affiliates. 3 * All rights reserved. 4 * 5 * This source code is licensed under the BSD-style license found in the 6 * LICENSE file in the root directory of this source tree. 7 */ 8 9 #pragma once 10 11 #include <executorch/backends/vulkan/runtime/api/api.h> 12 #include <executorch/backends/vulkan/runtime/graph/ComputeGraph.h> 13 14 #include <executorch/backends/vulkan/runtime/graph/containers/Value.h> 15 16 #include <executorch/backends/vulkan/runtime/graph/ops/ExecuteNode.h> 17 18 namespace vkcompute { 19 20 /* 21 * Represents a tensor blit execution op in a ML model. 22 */ 23 class BlitNode final : public ExecuteNode { 24 friend class ComputeGraph; 25 26 public: 27 explicit BlitNode( 28 ComputeGraph& graph, 29 ValueRef src, 30 ValueRef dst, 31 /*const vkapi::ScalarType& dtype,*/ 32 const ResizeFunction& resize_fn = nullptr, 33 const std::vector<ValueRef>& resize_args = {}); 34 35 ~BlitNode() override = default; 36 37 void encode(ComputeGraph* graph) override; 38 39 protected: 40 ValueRef src_; 41 ValueRef dst_; 42 // const vkapi::ScalarType &dtype_; 43 }; 44 45 } // namespace vkcompute 46