5 #include "flutter/testing/testing.h"
19 static_assert(
sizeof(Length2) == 2u);
23 for (
size_t i = 0; i < 12500; i++) {
24 auto view = buffer->Emplace(Length2{});
26 ASSERT_EQ(view.range,
Range(i *
sizeof(Length2), 2u));
34 static_assert(
sizeof(Length2) == 2);
35 struct alignas(16) Align16 {
38 static_assert(
alignof(Align16) == 16);
39 static_assert(
sizeof(Align16) == 16);
45 auto view = buffer->Emplace(Length2{});
47 ASSERT_EQ(view.range,
Range(0u, 2u));
51 auto view = buffer->Emplace(Align16{});
53 ASSERT_EQ(view.range.offset, 16u);
54 ASSERT_EQ(view.range.length, 16u);
57 auto view = buffer->Emplace(Length2{});
59 ASSERT_EQ(view.range,
Range(32u, 2u));
63 auto view = buffer->Emplace(Align16{});
65 ASSERT_EQ(view.range.offset, 48u);
66 ASSERT_EQ(view.range.length, 16u);
73 EXPECT_EQ(buffer->GetStateForTest().current_buffer, 0u);
74 EXPECT_EQ(buffer->GetStateForTest().current_frame, 0u);
75 EXPECT_EQ(buffer->GetStateForTest().total_buffer_count, 1u);
81 EXPECT_EQ(buffer->GetStateForTest().current_frame, 0u);
84 EXPECT_EQ(buffer->GetStateForTest().current_frame, 1u);
87 EXPECT_EQ(buffer->GetStateForTest().current_frame, 2u);
90 EXPECT_EQ(buffer->GetStateForTest().current_frame, 0u);
94 EmplacingLargerThanBlockSizeCreatesOneOffBufferCallback) {
99 auto buffer_view = buffer->Emplace(1024000 + 10, 0, [](uint8_t* data) {});
101 EXPECT_EQ(buffer->GetStateForTest().current_buffer, 0u);
102 EXPECT_EQ(buffer->GetStateForTest().current_frame, 0u);
103 EXPECT_EQ(buffer->GetStateForTest().total_buffer_count, 1u);
111 auto buffer_view = buffer->Emplace(
nullptr, 1024000 + 10, 0);
113 EXPECT_EQ(buffer->GetStateForTest().current_buffer, 0u);
114 EXPECT_EQ(buffer->GetStateForTest().current_frame, 0u);
115 EXPECT_EQ(buffer->GetStateForTest().total_buffer_count, 1u);
122 auto buffer_view_a = buffer->Emplace(1020000, 0, [](uint8_t* data) {});
123 auto buffer_view_b = buffer->Emplace(1020000, 0, [](uint8_t* data) {});
125 EXPECT_EQ(buffer->GetStateForTest().current_buffer, 1u);
126 EXPECT_EQ(buffer->GetStateForTest().total_buffer_count, 2u);
127 EXPECT_EQ(buffer->GetStateForTest().current_frame, 0u);
130 for (
auto i = 0; i < 3; i++) {
134 EXPECT_EQ(buffer->GetStateForTest().current_buffer, 0u);
135 EXPECT_EQ(buffer->GetStateForTest().total_buffer_count, 2u);
136 EXPECT_EQ(buffer->GetStateForTest().current_frame, 0u);
140 for (
auto i = 0; i < 3; i++) {
144 EXPECT_EQ(buffer->GetStateForTest().current_buffer, 0u);
145 EXPECT_EQ(buffer->GetStateForTest().total_buffer_count, 1u);
146 EXPECT_EQ(buffer->GetStateForTest().current_frame, 0u);
152 BufferView view = buffer->Emplace(std::array<char, 21>());
155 view = buffer->Emplace(64, 16, [](uint8_t*) {});