Flutter Engine
 
Loading...
Searching...
No Matches
compute_playground_test.h
Go to the documentation of this file.
1// Copyright 2013 The Flutter Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef FLUTTER_IMPELLER_PLAYGROUND_COMPUTE_PLAYGROUND_TEST_H_
6#define FLUTTER_IMPELLER_PLAYGROUND_COMPUTE_PLAYGROUND_TEST_H_
7
8#include <memory>
9
14
15namespace impeller {
16
18 : public Playground,
19 public ::testing::TestWithParam<PlaygroundBackend> {
20 public:
22
24
25 void SetUp() override;
26
27 void TearDown() override;
28
29 // |Playground|
30 std::unique_ptr<fml::Mapping> OpenAssetAsMapping(
31 std::string asset_name) const override;
32
33 // |Playground|
34 std::string GetWindowTitle() const override;
35
36 template <typename T>
37 std::shared_ptr<DeviceBuffer> CreateHostVisibleDeviceBuffer(
38 const std::shared_ptr<Context>& context,
39 const std::string& label) {
42 desc.size = sizeof(T);
43 auto buffer = context->GetResourceAllocator()->CreateBuffer(desc);
44 buffer->SetLabel(label);
45 return buffer;
46 }
47
48 private:
49 fml::TimeDelta start_time_;
50
52
53 ComputePlaygroundTest& operator=(const ComputePlaygroundTest&) = delete;
54};
55
56#define INSTANTIATE_COMPUTE_SUITE(playground) \
57 INSTANTIATE_TEST_SUITE_P( \
58 Compute, playground, \
59 ::testing::Values(PlaygroundBackend::kMetal, \
60 PlaygroundBackend::kVulkan), \
61 [](const ::testing::TestParamInfo<ComputePlaygroundTest::ParamType>& \
62 info) { return PlaygroundBackendToString(info.param); });
63
64} // namespace impeller
65
66#endif // FLUTTER_IMPELLER_PLAYGROUND_COMPUTE_PLAYGROUND_TEST_H_
std::shared_ptr< DeviceBuffer > CreateHostVisibleDeviceBuffer(const std::shared_ptr< Context > &context, const std::string &label)
std::string GetWindowTitle() const override
std::unique_ptr< fml::Mapping > OpenAssetAsMapping(std::string asset_name) const override