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);
static const uint8_t buffer[]