5 #include "flutter/testing/testing.h"
6 #include "gtest/gtest.h"
8 #include "flutter/display_list/geometry/dl_path_builder.h"
22 return std::vector<T>(
reinterpret_cast<T*
>(base_ptr),
23 reinterpret_cast<T*
>(base_ptr + range.
length));
27 auto tessellator16 = std::make_shared<Tessellator>(
false);
28 auto tessellator32 = std::make_shared<Tessellator>(
true);
31 GetContext()->GetResourceAllocator(), GetContext()->GetIdleWaiter(),
32 GetContext()->GetCapabilities()->GetMinimumUniformAlignment());
34 GetContext()->GetResourceAllocator(), GetContext()->GetIdleWaiter(),
35 GetContext()->GetCapabilities()->GetMinimumUniformAlignment());
37 auto path = flutter::DlPath::MakeRect(
Rect::MakeLTRB(0, 0, 10, 10));
39 auto vertex_buffer16 = tessellator16->TessellateConvex(
40 path, *data_host_buffer, *indexes_host_buffer, 1.0,
false,
false);
41 auto vertex_buffer32 = tessellator32->TessellateConvex(
42 path, *data_host_buffer, *indexes_host_buffer, 1.0,
false,
false);
44 const std::vector<Point> expected = {
45 {0, 0}, {10, 0}, {10, 10}, {0, 10}, {0, 0}};
46 const std::vector<uint16_t> expected_indices = {0, 1, 3, 2};
49 EXPECT_EQ(expected, CopyBufferView<Point>(vertex_buffer16.vertex_buffer));
50 EXPECT_EQ(expected_indices,
51 CopyBufferView<uint16_t>(vertex_buffer16.index_buffer));
54 EXPECT_EQ(expected, CopyBufferView<Point>(vertex_buffer32.vertex_buffer));
56 std::vector<uint32_t>(expected_indices.begin(), expected_indices.end()),
57 CopyBufferView<uint32_t>(vertex_buffer32.index_buffer));
virtual uint8_t * OnGetContents() const =0
static std::shared_ptr< HostBuffer > Create(const std::shared_ptr< Allocator > &allocator, const std::shared_ptr< const IdleWaiter > &idle_waiter, size_t minimum_uniform_alignment)
TEST_P(AiksTest, DrawAtlasNoColor)
INSTANTIATE_PLAYGROUND_SUITE(AiksTest)
std::vector< T > CopyBufferView(const BufferView &vertex_buffer)
const DeviceBuffer * GetBuffer() const
constexpr static TRect MakeLTRB(Type left, Type top, Type right, Type bottom)