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
10
#include "
flutter/fml/time/time_delta.h
"
11
#include "
flutter/testing/testing.h
"
12
#include "
impeller/core/device_buffer.h
"
13
#include "
impeller/playground/playground.h
"
14
15
namespace
impeller
{
16
17
class
ComputePlaygroundTest
18
:
public
Playground
,
19
public
::testing::TestWithParam<PlaygroundBackend> {
20
public
:
21
ComputePlaygroundTest
();
22
23
virtual
~ComputePlaygroundTest
();
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) {
40
DeviceBufferDescriptor
desc;
41
desc.
storage_mode
=
StorageMode::kHostVisible
;
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
51
ComputePlaygroundTest
(
const
ComputePlaygroundTest
&) =
delete
;
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_
fml::TimeDelta
Definition
time_delta.h:29
impeller::ComputePlaygroundTest
Definition
compute_playground_test.h:19
impeller::ComputePlaygroundTest::CreateHostVisibleDeviceBuffer
std::shared_ptr< DeviceBuffer > CreateHostVisibleDeviceBuffer(const std::shared_ptr< Context > &context, const std::string &label)
Definition
compute_playground_test.h:37
impeller::ComputePlaygroundTest::TearDown
void TearDown() override
Definition
compute_playground_test.cc:34
impeller::ComputePlaygroundTest::ComputePlaygroundTest
ComputePlaygroundTest()
Definition
compute_playground_test.cc:12
impeller::ComputePlaygroundTest::~ComputePlaygroundTest
virtual ~ComputePlaygroundTest()
impeller::ComputePlaygroundTest::GetWindowTitle
std::string GetWindowTitle() const override
Definition
compute_playground_test.cc:51
impeller::ComputePlaygroundTest::OpenAssetAsMapping
std::unique_ptr< fml::Mapping > OpenAssetAsMapping(std::string asset_name) const override
Definition
compute_playground_test.cc:39
impeller::ComputePlaygroundTest::SetUp
void SetUp() override
Definition
compute_playground_test.cc:17
impeller::Playground
Definition
playground.h:48
device_buffer.h
impeller
Definition
texture.h:16
impeller::StorageMode::kHostVisible
@ kHostVisible
playground.h
impeller::DeviceBufferDescriptor
Definition
device_buffer_descriptor.h:14
impeller::DeviceBufferDescriptor::storage_mode
StorageMode storage_mode
Definition
device_buffer_descriptor.h:15
impeller::DeviceBufferDescriptor::size
size_t size
Definition
device_buffer_descriptor.h:16
testing.h
time_delta.h
impeller
playground
compute_playground_test.h
Generated on Thu Nov 6 2025 16:11:23 for Flutter Engine by
1.9.8