mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-12-18 17:35:30 +00:00
D3D12: Stage BindGroups on CPU descriptor heaps.
Instead of directly populating GPU heaps, pre-encoded BindGroups are staged on CPU heaps then copied over to the GPU. Non-shader visible allocators are stored on the BGL, which hands out fixed-size chunks to simplify memory managment. To enable memory re-use, CPU allocations are tied to the lifetime of BindGroup objects. BUG=dawn:155 Change-Id: I402e6686c96f7450a077c627c8499600979e426c Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/18100 Commit-Queue: Bryan Bernhart <bryan.bernhart@intel.com> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
This commit is contained in:
committed by
Commit Bot service account
parent
c00163ba09
commit
2479860e4b
@@ -82,7 +82,7 @@ TEST(Math, AlignPtr) {
|
||||
|
||||
ASSERT_GE(aligned - unaligned, 0);
|
||||
ASSERT_LT(static_cast<size_t>(aligned - unaligned), kTestAlignment);
|
||||
ASSERT_EQ(reinterpret_cast<uintptr_t>(aligned) & (kTestAlignment -1), 0u);
|
||||
ASSERT_EQ(reinterpret_cast<uintptr_t>(aligned) & (kTestAlignment - 1), 0u);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -191,3 +191,21 @@ TEST(Math, SRGBToLinear) {
|
||||
|
||||
ASSERT_FLOAT_EQ(SRGBToLinear(0.5f), 0.21404114f);
|
||||
}
|
||||
|
||||
// Tests for RoundUp
|
||||
TEST(Math, RoundUp) {
|
||||
ASSERT_EQ(RoundUp(2, 2), 2u);
|
||||
ASSERT_EQ(RoundUp(2, 4), 4u);
|
||||
ASSERT_EQ(RoundUp(6, 2), 6u);
|
||||
ASSERT_EQ(RoundUp(8, 4), 8u);
|
||||
ASSERT_EQ(RoundUp(12, 6), 12u);
|
||||
|
||||
ASSERT_EQ(RoundUp(3, 3), 3u);
|
||||
ASSERT_EQ(RoundUp(3, 5), 5u);
|
||||
ASSERT_EQ(RoundUp(5, 3), 6u);
|
||||
ASSERT_EQ(RoundUp(9, 5), 10u);
|
||||
|
||||
// Test extrema
|
||||
ASSERT_EQ(RoundUp(0x7FFFFFFFFFFFFFFFull, 0x8000000000000000ull), 0x8000000000000000ull);
|
||||
ASSERT_EQ(RoundUp(1, 1), 1u);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user