56 static_assert(
sizeof(Length2) == 2);
57 struct alignas(16) Align16 {
60 static_assert(
alignof(Align16) == 16);
61 static_assert(
sizeof(Align16) == 16);
64 GetContext()->GetIdleWaiter(), 256);
70 ASSERT_EQ(
view.GetRange(),
Range(0u, 2u));
76 ASSERT_EQ(
view.GetRange().offset, 16u);
77 ASSERT_EQ(
view.GetRange().length, 16u);
82 ASSERT_EQ(
view.GetRange(),
Range(32u, 2u));
88 ASSERT_EQ(
view.GetRange().offset, 48u);
89 ASSERT_EQ(
view.GetRange().length, 16u);
95 GetContext()->GetIdleWaiter(), 256);
97 EXPECT_EQ(
buffer->GetStateForTest().current_buffer, 0u);
98 EXPECT_EQ(
buffer->GetStateForTest().current_frame, 0u);
99 EXPECT_EQ(
buffer->GetStateForTest().total_buffer_count, 1u);
104 GetContext()->GetIdleWaiter(), 256);
106 EXPECT_EQ(
buffer->GetStateForTest().current_frame, 0u);
109 EXPECT_EQ(
buffer->GetStateForTest().current_frame, 1u);
112 EXPECT_EQ(
buffer->GetStateForTest().current_frame, 2u);
115 EXPECT_EQ(
buffer->GetStateForTest().current_frame, 3u);
118 EXPECT_EQ(
buffer->GetStateForTest().current_frame, 0u);
122 EmplacingLargerThanBlockSizeCreatesOneOffBufferCallback) {
124 GetContext()->GetIdleWaiter(), 256);
130 EXPECT_EQ(
buffer->GetStateForTest().current_buffer, 0u);
131 EXPECT_EQ(
buffer->GetStateForTest().current_frame, 0u);
132 EXPECT_EQ(
buffer->GetStateForTest().total_buffer_count, 1u);
137 GetContext()->GetIdleWaiter(), 256);
143 EXPECT_EQ(
buffer->GetStateForTest().current_buffer, 0u);
144 EXPECT_EQ(
buffer->GetStateForTest().current_frame, 0u);
145 EXPECT_EQ(
buffer->GetStateForTest().total_buffer_count, 1u);
150 GetContext()->GetIdleWaiter(), 256);
153 auto buffer_view_a =
buffer->Emplace(1020000, 0, [](uint8_t*
data) {});
154 auto buffer_view_b =
buffer->Emplace(1020000, 0, [](uint8_t*
data) {});
156 EXPECT_EQ(
buffer->GetStateForTest().current_buffer, 1u);
157 EXPECT_EQ(
buffer->GetStateForTest().total_buffer_count, 2u);
158 EXPECT_EQ(
buffer->GetStateForTest().current_frame, 0u);
161 for (
auto i = 0;
i < 4;
i++) {
165 EXPECT_EQ(
buffer->GetStateForTest().current_buffer, 0u);
166 EXPECT_EQ(
buffer->GetStateForTest().total_buffer_count, 2u);
167 EXPECT_EQ(
buffer->GetStateForTest().current_frame, 0u);
171 for (
auto i = 0;
i < 4;
i++) {
175 EXPECT_EQ(
buffer->GetStateForTest().current_buffer, 0u);
176 EXPECT_EQ(
buffer->GetStateForTest().total_buffer_count, 1u);
177 EXPECT_EQ(
buffer->GetStateForTest().current_frame, 0u);
182 GetContext()->GetIdleWaiter(), 256);
185 EXPECT_EQ(
view.GetRange(),
Range(0, 21));
187 view =
buffer->Emplace(64, 16, [](uint8_t*) {});
188 EXPECT_EQ(
view.GetRange(),
Range(32, 64));
A lightweight object that describes the attributes of a texture that can then used an allocator to cr...