27 id<MTLCommandBuffer> buffer_ = nil;
28 id<MTLComputeCommandEncoder> encoder_ = nil;
33 std::array<uint32_t, 3> workgroup_size_ = {0u, 0u, 0u};
34 bool is_valid_ =
false;
35 bool has_label_ =
false;
38 id<MTLCommandBuffer> buffer);
41 bool IsValid()
const override;
44 fml::Status Compute(std::array<uint32_t, 3> workgroup_count)
override;
47 void SetCommandLabel(std::string_view label)
override;
50 void OnSetLabel(
const std::string& label)
override;
68 std::shared_ptr<const Texture>
texture,
72 bool EncodeCommands()
const override;
75 void AddBufferMemoryBarrier()
override;
78 void AddTextureMemoryBarrier()
override;