mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-12-14 15:46:28 +00:00
Add offset and size to Get[Const]MappedRange.
Bug: dawn:445 Change-Id: I73758d95e61d1fbe69f328907a6170a1b27d785b Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/24983 Commit-Queue: Kai Ninomiya <kainino@chromium.org> Reviewed-by: Kai Ninomiya <kainino@chromium.org>
This commit is contained in:
committed by
Commit Bot service account
parent
4b7ca6bf96
commit
f6e7044697
@@ -382,7 +382,7 @@ TEST_P(BufferMappingTests, MapRead_NonZeroOffset) {
|
||||
queue.WriteBuffer(buffer, 0, &myData, sizeof(myData));
|
||||
|
||||
MapAsyncAndWait(buffer, wgpu::MapMode::Read, 4, 4);
|
||||
ASSERT_EQ(myData[1], *static_cast<const uint32_t*>(buffer.GetConstMappedRange()));
|
||||
ASSERT_EQ(myData[1], *static_cast<const uint32_t*>(buffer.GetConstMappedRange(4)));
|
||||
buffer.Unmap();
|
||||
}
|
||||
|
||||
@@ -451,7 +451,7 @@ TEST_P(BufferMappingTests, MapWrite_NonZeroOffset) {
|
||||
|
||||
uint32_t myData = 2934875;
|
||||
MapAsyncAndWait(buffer, wgpu::MapMode::Write, 4, 4);
|
||||
memcpy(buffer.GetMappedRange(), &myData, sizeof(myData));
|
||||
memcpy(buffer.GetMappedRange(4), &myData, sizeof(myData));
|
||||
buffer.Unmap();
|
||||
|
||||
EXPECT_BUFFER_U32_EQ(myData, buffer, 4);
|
||||
@@ -518,7 +518,7 @@ TEST_P(BufferMappingTests, OffsetNotUpdatedOnError) {
|
||||
}
|
||||
|
||||
// mMapOffset has not been updated so it should still be 4, which is data[1]
|
||||
ASSERT_EQ(0, memcmp(buffer.GetConstMappedRange(), &data[1], sizeof(uint32_t)));
|
||||
ASSERT_EQ(0, memcmp(buffer.GetConstMappedRange(4), &data[1], sizeof(uint32_t)));
|
||||
}
|
||||
|
||||
DAWN_INSTANTIATE_TEST(BufferMappingTests,
|
||||
|
||||
@@ -252,6 +252,46 @@ TEST_F(BufferValidationTest, MapAsync_OffsetSizeAlignment) {
|
||||
}
|
||||
}
|
||||
|
||||
// Test map async with an invalid offset and size OOB checks
|
||||
TEST_F(BufferValidationTest, MapAsync_OffsetSizeOOB) {
|
||||
// Valid case: full buffer is ok.
|
||||
{
|
||||
wgpu::Buffer buffer = CreateMapReadBuffer(8);
|
||||
buffer.MapAsync(wgpu::MapMode::Read, 0, 8, nullptr, nullptr);
|
||||
}
|
||||
|
||||
// Valid case: range in the middle of the buffer is ok.
|
||||
{
|
||||
wgpu::Buffer buffer = CreateMapReadBuffer(12);
|
||||
buffer.MapAsync(wgpu::MapMode::Read, 4, 4, nullptr, nullptr);
|
||||
}
|
||||
|
||||
// Valid case: empty range at the end of the buffer is ok.
|
||||
{
|
||||
wgpu::Buffer buffer = CreateMapReadBuffer(8);
|
||||
buffer.MapAsync(wgpu::MapMode::Read, 8, 0, nullptr, nullptr);
|
||||
}
|
||||
|
||||
// Error case, offset is larger than the buffer size (even if size is 0).
|
||||
{
|
||||
wgpu::Buffer buffer = CreateMapReadBuffer(8);
|
||||
AssertMapAsyncError(buffer, wgpu::MapMode::Read, 12, 0);
|
||||
}
|
||||
|
||||
// Error case, offset + size is larger than the buffer
|
||||
{
|
||||
wgpu::Buffer buffer = CreateMapReadBuffer(12);
|
||||
AssertMapAsyncError(buffer, wgpu::MapMode::Read, 8, 8);
|
||||
}
|
||||
|
||||
// Error case, offset + size is larger than the buffer, overflow case.
|
||||
{
|
||||
wgpu::Buffer buffer = CreateMapReadBuffer(12);
|
||||
AssertMapAsyncError(buffer, wgpu::MapMode::Read, 4,
|
||||
std::numeric_limits<size_t>::max() & ~size_t(3));
|
||||
}
|
||||
}
|
||||
|
||||
// Test map async with a buffer that has the wrong usage
|
||||
TEST_F(BufferValidationTest, MapAsync_WrongUsage) {
|
||||
{
|
||||
@@ -1051,7 +1091,7 @@ TEST_F(BufferValidationTest, UnmapUnmappedBuffer) {
|
||||
}
|
||||
|
||||
// Test that it is invalid to call GetMappedRange on an unmapped buffer.
|
||||
TEST_F(BufferValidationTest, GetMappedRangeOnUnmappedBuffer) {
|
||||
TEST_F(BufferValidationTest, GetMappedRange_OnUnmappedBuffer) {
|
||||
// Unmapped at creation case.
|
||||
{
|
||||
wgpu::BufferDescriptor desc;
|
||||
@@ -1138,7 +1178,7 @@ TEST_F(BufferValidationTest, GetMappedRangeOnUnmappedBuffer) {
|
||||
}
|
||||
|
||||
// Test that it is invalid to call GetMappedRange on a destroyed buffer.
|
||||
TEST_F(BufferValidationTest, GetMappedRangeOnDestroyedBuffer) {
|
||||
TEST_F(BufferValidationTest, GetMappedRange_OnDestroyedBuffer) {
|
||||
// Destroyed after creation case.
|
||||
{
|
||||
wgpu::BufferDescriptor desc;
|
||||
@@ -1225,8 +1265,8 @@ TEST_F(BufferValidationTest, GetMappedRangeOnDestroyedBuffer) {
|
||||
}
|
||||
}
|
||||
|
||||
// Test that it is invalid to call GetMappedRange on a buffer afterMapReadAsync
|
||||
TEST_F(BufferValidationTest, GetMappedRangeOnMappedForReading) {
|
||||
// Test that it is invalid to call GetMappedRange on a buffer after MapReadAsync
|
||||
TEST_F(BufferValidationTest, GetMappedRange_OnMappedForReading) {
|
||||
{
|
||||
wgpu::Buffer buf = CreateMapReadBuffer(4);
|
||||
|
||||
@@ -1251,7 +1291,7 @@ TEST_F(BufferValidationTest, GetMappedRangeOnMappedForReading) {
|
||||
}
|
||||
|
||||
// Test valid cases to call GetMappedRange on a buffer.
|
||||
TEST_F(BufferValidationTest, GetMappedRangeValidCases) {
|
||||
TEST_F(BufferValidationTest, GetMappedRange_ValidBufferStateCases) {
|
||||
// GetMappedRange after CreateBufferMapped case.
|
||||
{
|
||||
wgpu::CreateBufferMappedResult result = CreateBufferMapped(4, wgpu::BufferUsage::CopySrc);
|
||||
@@ -1303,7 +1343,7 @@ TEST_F(BufferValidationTest, GetMappedRangeValidCases) {
|
||||
}
|
||||
|
||||
// Test valid cases to call GetMappedRange on an error buffer.
|
||||
TEST_F(BufferValidationTest, GetMappedRangeOnErrorBuffer) {
|
||||
TEST_F(BufferValidationTest, GetMappedRange_OnErrorBuffer) {
|
||||
wgpu::BufferDescriptor desc;
|
||||
desc.size = 4;
|
||||
desc.usage = wgpu::BufferUsage::Storage | wgpu::BufferUsage::MapRead;
|
||||
@@ -1377,3 +1417,62 @@ TEST_F(BufferValidationTest, GetMappedRangeOnErrorBuffer) {
|
||||
ASSERT_EQ(buffer.GetConstMappedRange(), buffer.GetMappedRange());
|
||||
}
|
||||
}
|
||||
|
||||
// Test validation of the GetMappedRange parameters
|
||||
TEST_F(BufferValidationTest, GetMappedRange_OffsetSizeOOB) {
|
||||
// Valid case: full range is ok
|
||||
{
|
||||
wgpu::Buffer buffer = CreateMapWriteBuffer(8);
|
||||
buffer.MapAsync(wgpu::MapMode::Write, 0, 8, nullptr, nullptr);
|
||||
EXPECT_NE(buffer.GetMappedRange(0, 8), nullptr);
|
||||
}
|
||||
|
||||
// Valid case: full range is ok with defaulted MapAsync size
|
||||
{
|
||||
wgpu::Buffer buffer = CreateMapWriteBuffer(8);
|
||||
buffer.MapAsync(wgpu::MapMode::Write, 0, 0, nullptr, nullptr);
|
||||
EXPECT_NE(buffer.GetMappedRange(0, 8), nullptr);
|
||||
}
|
||||
|
||||
// Valid case: empty range at the end is ok
|
||||
{
|
||||
wgpu::Buffer buffer = CreateMapWriteBuffer(8);
|
||||
buffer.MapAsync(wgpu::MapMode::Write, 0, 8, nullptr, nullptr);
|
||||
EXPECT_NE(buffer.GetMappedRange(8, 0), nullptr);
|
||||
}
|
||||
|
||||
// Valid case: range in the middle is ok.
|
||||
{
|
||||
wgpu::Buffer buffer = CreateMapWriteBuffer(12);
|
||||
buffer.MapAsync(wgpu::MapMode::Write, 0, 12, nullptr, nullptr);
|
||||
EXPECT_NE(buffer.GetMappedRange(4, 4), nullptr);
|
||||
}
|
||||
|
||||
// Error case: offset is larger than the mapped range (even with size = 0)
|
||||
{
|
||||
wgpu::Buffer buffer = CreateMapWriteBuffer(8);
|
||||
buffer.MapAsync(wgpu::MapMode::Write, 0, 8, nullptr, nullptr);
|
||||
EXPECT_EQ(buffer.GetMappedRange(9, 0), nullptr);
|
||||
}
|
||||
|
||||
// Error case: offset + size is larger than the mapped range
|
||||
{
|
||||
wgpu::Buffer buffer = CreateMapWriteBuffer(12);
|
||||
buffer.MapAsync(wgpu::MapMode::Write, 0, 12, nullptr, nullptr);
|
||||
EXPECT_EQ(buffer.GetMappedRange(8, 5), nullptr);
|
||||
}
|
||||
|
||||
// Error case: offset + size is larger than the mapped range, overflow case
|
||||
{
|
||||
wgpu::Buffer buffer = CreateMapWriteBuffer(12);
|
||||
buffer.MapAsync(wgpu::MapMode::Write, 0, 12, nullptr, nullptr);
|
||||
EXPECT_EQ(buffer.GetMappedRange(8, std::numeric_limits<size_t>::max()), nullptr);
|
||||
}
|
||||
|
||||
// Error case: offset is before the start of the range
|
||||
{
|
||||
wgpu::Buffer buffer = CreateMapWriteBuffer(12);
|
||||
buffer.MapAsync(wgpu::MapMode::Write, 4, 4, nullptr, nullptr);
|
||||
EXPECT_EQ(buffer.GetMappedRange(3, 4), nullptr);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -128,7 +128,8 @@ TEST_F(WireBufferMappingTests, MappingForReadSuccessBuffer) {
|
||||
EXPECT_CALL(api, OnBufferMapAsyncCallback(apiBuffer, _, _)).WillOnce(InvokeWithoutArgs([&]() {
|
||||
api.CallMapAsyncCallback(apiBuffer, WGPUBufferMapAsyncStatus_Success);
|
||||
}));
|
||||
EXPECT_CALL(api, BufferGetConstMappedRange(apiBuffer)).WillOnce(Return(&bufferContent));
|
||||
EXPECT_CALL(api, BufferGetConstMappedRange(apiBuffer, 0, kBufferSize))
|
||||
.WillOnce(Return(&bufferContent));
|
||||
|
||||
FlushClient();
|
||||
|
||||
@@ -171,7 +172,8 @@ TEST_F(WireBufferMappingTests, DestroyBeforeReadRequestEnd) {
|
||||
EXPECT_CALL(api, OnBufferMapAsyncCallback(apiBuffer, _, _)).WillOnce(InvokeWithoutArgs([&]() {
|
||||
api.CallMapAsyncCallback(apiBuffer, WGPUBufferMapAsyncStatus_Success);
|
||||
}));
|
||||
EXPECT_CALL(api, BufferGetConstMappedRange(apiBuffer)).WillOnce(Return(&bufferContent));
|
||||
EXPECT_CALL(api, BufferGetConstMappedRange(apiBuffer, 0, kBufferSize))
|
||||
.WillOnce(Return(&bufferContent));
|
||||
|
||||
// Destroy before the client gets the success, so the callback is called with unknown.
|
||||
EXPECT_CALL(*mockBufferMapReadCallback, Call(WGPUBufferMapAsyncStatus_Unknown, nullptr, 0, _))
|
||||
@@ -192,7 +194,8 @@ TEST_F(WireBufferMappingTests, UnmapCalledTooEarlyForRead) {
|
||||
EXPECT_CALL(api, OnBufferMapAsyncCallback(apiBuffer, _, _)).WillOnce(InvokeWithoutArgs([&]() {
|
||||
api.CallMapAsyncCallback(apiBuffer, WGPUBufferMapAsyncStatus_Success);
|
||||
}));
|
||||
EXPECT_CALL(api, BufferGetConstMappedRange(apiBuffer)).WillOnce(Return(&bufferContent));
|
||||
EXPECT_CALL(api, BufferGetConstMappedRange(apiBuffer, 0, kBufferSize))
|
||||
.WillOnce(Return(&bufferContent));
|
||||
|
||||
FlushClient();
|
||||
|
||||
@@ -214,7 +217,8 @@ TEST_F(WireBufferMappingTests, MappingForReadingErrorWhileAlreadyMappedGetsNullp
|
||||
EXPECT_CALL(api, OnBufferMapAsyncCallback(apiBuffer, _, _)).WillOnce(InvokeWithoutArgs([&]() {
|
||||
api.CallMapAsyncCallback(apiBuffer, WGPUBufferMapAsyncStatus_Success);
|
||||
}));
|
||||
EXPECT_CALL(api, BufferGetConstMappedRange(apiBuffer)).WillOnce(Return(&bufferContent));
|
||||
EXPECT_CALL(api, BufferGetConstMappedRange(apiBuffer, 0, kBufferSize))
|
||||
.WillOnce(Return(&bufferContent));
|
||||
|
||||
FlushClient();
|
||||
|
||||
@@ -246,7 +250,8 @@ TEST_F(WireBufferMappingTests, UnmapInsideMapReadCallback) {
|
||||
EXPECT_CALL(api, OnBufferMapAsyncCallback(apiBuffer, _, _)).WillOnce(InvokeWithoutArgs([&]() {
|
||||
api.CallMapAsyncCallback(apiBuffer, WGPUBufferMapAsyncStatus_Success);
|
||||
}));
|
||||
EXPECT_CALL(api, BufferGetConstMappedRange(apiBuffer)).WillOnce(Return(&bufferContent));
|
||||
EXPECT_CALL(api, BufferGetConstMappedRange(apiBuffer, 0, kBufferSize))
|
||||
.WillOnce(Return(&bufferContent));
|
||||
|
||||
FlushClient();
|
||||
|
||||
@@ -270,7 +275,8 @@ TEST_F(WireBufferMappingTests, DestroyInsideMapReadCallback) {
|
||||
EXPECT_CALL(api, OnBufferMapAsyncCallback(apiBuffer, _, _)).WillOnce(InvokeWithoutArgs([&]() {
|
||||
api.CallMapAsyncCallback(apiBuffer, WGPUBufferMapAsyncStatus_Success);
|
||||
}));
|
||||
EXPECT_CALL(api, BufferGetConstMappedRange(apiBuffer)).WillOnce(Return(&bufferContent));
|
||||
EXPECT_CALL(api, BufferGetConstMappedRange(apiBuffer, 0, kBufferSize))
|
||||
.WillOnce(Return(&bufferContent));
|
||||
|
||||
FlushClient();
|
||||
|
||||
@@ -298,7 +304,8 @@ TEST_F(WireBufferMappingTests, MappingForWriteSuccessBuffer) {
|
||||
EXPECT_CALL(api, OnBufferMapAsyncCallback(apiBuffer, _, _)).WillOnce(InvokeWithoutArgs([&]() {
|
||||
api.CallMapAsyncCallback(apiBuffer, WGPUBufferMapAsyncStatus_Success);
|
||||
}));
|
||||
EXPECT_CALL(api, BufferGetMappedRange(apiBuffer)).WillOnce(Return(&serverBufferContent));
|
||||
EXPECT_CALL(api, BufferGetMappedRange(apiBuffer, 0, kBufferSize))
|
||||
.WillOnce(Return(&serverBufferContent));
|
||||
|
||||
FlushClient();
|
||||
|
||||
@@ -348,7 +355,8 @@ TEST_F(WireBufferMappingTests, DestroyBeforeWriteRequestEnd) {
|
||||
EXPECT_CALL(api, OnBufferMapAsyncCallback(apiBuffer, _, _)).WillOnce(InvokeWithoutArgs([&]() {
|
||||
api.CallMapAsyncCallback(apiBuffer, WGPUBufferMapAsyncStatus_Success);
|
||||
}));
|
||||
EXPECT_CALL(api, BufferGetMappedRange(apiBuffer)).WillOnce(Return(&bufferContent));
|
||||
EXPECT_CALL(api, BufferGetMappedRange(apiBuffer, 0, kBufferSize))
|
||||
.WillOnce(Return(&bufferContent));
|
||||
|
||||
// Destroy before the client gets the success, so the callback is called with unknown.
|
||||
EXPECT_CALL(*mockBufferMapWriteCallback, Call(WGPUBufferMapAsyncStatus_Unknown, nullptr, 0, _))
|
||||
@@ -369,7 +377,8 @@ TEST_F(WireBufferMappingTests, UnmapCalledTooEarlyForWrite) {
|
||||
EXPECT_CALL(api, OnBufferMapAsyncCallback(apiBuffer, _, _)).WillOnce(InvokeWithoutArgs([&]() {
|
||||
api.CallMapAsyncCallback(apiBuffer, WGPUBufferMapAsyncStatus_Success);
|
||||
}));
|
||||
EXPECT_CALL(api, BufferGetMappedRange(apiBuffer)).WillOnce(Return(&bufferContent));
|
||||
EXPECT_CALL(api, BufferGetMappedRange(apiBuffer, 0, kBufferSize))
|
||||
.WillOnce(Return(&bufferContent));
|
||||
|
||||
FlushClient();
|
||||
|
||||
@@ -392,7 +401,8 @@ TEST_F(WireBufferMappingTests, MappingForWritingErrorWhileAlreadyMappedGetsNullp
|
||||
EXPECT_CALL(api, OnBufferMapAsyncCallback(apiBuffer, _, _)).WillOnce(InvokeWithoutArgs([&]() {
|
||||
api.CallMapAsyncCallback(apiBuffer, WGPUBufferMapAsyncStatus_Success);
|
||||
}));
|
||||
EXPECT_CALL(api, BufferGetMappedRange(apiBuffer)).WillOnce(Return(&bufferContent));
|
||||
EXPECT_CALL(api, BufferGetMappedRange(apiBuffer, 0, kBufferSize))
|
||||
.WillOnce(Return(&bufferContent));
|
||||
|
||||
FlushClient();
|
||||
|
||||
@@ -425,7 +435,8 @@ TEST_F(WireBufferMappingTests, UnmapInsideMapWriteCallback) {
|
||||
EXPECT_CALL(api, OnBufferMapAsyncCallback(apiBuffer, _, _)).WillOnce(InvokeWithoutArgs([&]() {
|
||||
api.CallMapAsyncCallback(apiBuffer, WGPUBufferMapAsyncStatus_Success);
|
||||
}));
|
||||
EXPECT_CALL(api, BufferGetMappedRange(apiBuffer)).WillOnce(Return(&bufferContent));
|
||||
EXPECT_CALL(api, BufferGetMappedRange(apiBuffer, 0, kBufferSize))
|
||||
.WillOnce(Return(&bufferContent));
|
||||
|
||||
FlushClient();
|
||||
|
||||
@@ -450,7 +461,8 @@ TEST_F(WireBufferMappingTests, DestroyInsideMapWriteCallback) {
|
||||
EXPECT_CALL(api, OnBufferMapAsyncCallback(apiBuffer, _, _)).WillOnce(InvokeWithoutArgs([&]() {
|
||||
api.CallMapAsyncCallback(apiBuffer, WGPUBufferMapAsyncStatus_Success);
|
||||
}));
|
||||
EXPECT_CALL(api, BufferGetMappedRange(apiBuffer)).WillOnce(Return(&bufferContent));
|
||||
EXPECT_CALL(api, BufferGetMappedRange(apiBuffer, 0, kBufferSize))
|
||||
.WillOnce(Return(&bufferContent));
|
||||
|
||||
FlushClient();
|
||||
|
||||
@@ -548,7 +560,8 @@ TEST_F(WireBufferMappingTests, CreateBufferMappedThenMapSuccess) {
|
||||
EXPECT_CALL(api, OnBufferMapAsyncCallback(apiBuffer, _, _)).WillOnce(InvokeWithoutArgs([&]() {
|
||||
api.CallMapAsyncCallback(apiBuffer, WGPUBufferMapAsyncStatus_Success);
|
||||
}));
|
||||
EXPECT_CALL(api, BufferGetMappedRange(apiBuffer)).WillOnce(Return(&apiBufferData));
|
||||
EXPECT_CALL(api, BufferGetMappedRange(apiBuffer, 0, kBufferSize))
|
||||
.WillOnce(Return(&apiBufferData));
|
||||
|
||||
FlushClient();
|
||||
|
||||
|
||||
@@ -143,7 +143,7 @@ class WireMemoryTransferServiceTests : public WireTest {
|
||||
|
||||
std::pair<WGPUBuffer, WGPUBuffer> CreateBuffer() {
|
||||
WGPUBufferDescriptor descriptor = {};
|
||||
descriptor.size = sizeof(mBufferContent);
|
||||
descriptor.size = kBufferSize;
|
||||
|
||||
WGPUBuffer apiBuffer = api.GetNewBuffer();
|
||||
WGPUBuffer buffer = wgpuDeviceCreateBuffer(device, &descriptor);
|
||||
@@ -349,6 +349,8 @@ class WireMemoryTransferServiceTests : public WireTest {
|
||||
// Represents the buffer contents for the test.
|
||||
static uint32_t mBufferContent;
|
||||
|
||||
static constexpr size_t kBufferSize = sizeof(mBufferContent);
|
||||
|
||||
// The client's zero-initialized buffer for writing.
|
||||
uint32_t mMappedBufferContent = 0;
|
||||
|
||||
@@ -389,7 +391,8 @@ TEST_F(WireMemoryTransferServiceTests, BufferMapReadSuccess) {
|
||||
EXPECT_CALL(api, OnBufferMapAsyncCallback(apiBuffer, _, _)).WillOnce(InvokeWithoutArgs([&]() {
|
||||
api.CallMapAsyncCallback(apiBuffer, WGPUBufferMapAsyncStatus_Success);
|
||||
}));
|
||||
EXPECT_CALL(api, BufferGetConstMappedRange(apiBuffer)).WillOnce(Return(&mBufferContent));
|
||||
EXPECT_CALL(api, BufferGetConstMappedRange(apiBuffer, 0, kBufferSize))
|
||||
.WillOnce(Return(&mBufferContent));
|
||||
|
||||
FlushClient();
|
||||
|
||||
@@ -521,7 +524,8 @@ TEST_F(WireMemoryTransferServiceTests, BufferMapReadDeserializeInitialDataFailur
|
||||
EXPECT_CALL(api, OnBufferMapAsyncCallback(apiBuffer, _, _)).WillOnce(InvokeWithoutArgs([&]() {
|
||||
api.CallMapAsyncCallback(apiBuffer, WGPUBufferMapAsyncStatus_Success);
|
||||
}));
|
||||
EXPECT_CALL(api, BufferGetConstMappedRange(apiBuffer)).WillOnce(Return(&mBufferContent));
|
||||
EXPECT_CALL(api, BufferGetConstMappedRange(apiBuffer, 0, kBufferSize))
|
||||
.WillOnce(Return(&mBufferContent));
|
||||
|
||||
FlushClient();
|
||||
|
||||
@@ -565,7 +569,8 @@ TEST_F(WireMemoryTransferServiceTests, BufferMapReadDestroyBeforeUnmap) {
|
||||
EXPECT_CALL(api, OnBufferMapAsyncCallback(apiBuffer, _, _)).WillOnce(InvokeWithoutArgs([&]() {
|
||||
api.CallMapAsyncCallback(apiBuffer, WGPUBufferMapAsyncStatus_Success);
|
||||
}));
|
||||
EXPECT_CALL(api, BufferGetConstMappedRange(apiBuffer)).WillOnce(Return(&mBufferContent));
|
||||
EXPECT_CALL(api, BufferGetConstMappedRange(apiBuffer, 0, kBufferSize))
|
||||
.WillOnce(Return(&mBufferContent));
|
||||
|
||||
FlushClient();
|
||||
|
||||
@@ -616,7 +621,8 @@ TEST_F(WireMemoryTransferServiceTests, BufferMapWriteSuccess) {
|
||||
EXPECT_CALL(api, OnBufferMapAsyncCallback(apiBuffer, _, _)).WillOnce(InvokeWithoutArgs([&]() {
|
||||
api.CallMapAsyncCallback(apiBuffer, WGPUBufferMapAsyncStatus_Success);
|
||||
}));
|
||||
EXPECT_CALL(api, BufferGetMappedRange(apiBuffer)).WillOnce(Return(&mMappedBufferContent));
|
||||
EXPECT_CALL(api, BufferGetMappedRange(apiBuffer, 0, kBufferSize))
|
||||
.WillOnce(Return(&mMappedBufferContent));
|
||||
|
||||
FlushClient();
|
||||
|
||||
@@ -755,7 +761,8 @@ TEST_F(WireMemoryTransferServiceTests, BufferMapWriteHandleOpenFailure) {
|
||||
EXPECT_CALL(api, OnBufferMapAsyncCallback(apiBuffer, _, _)).WillOnce(InvokeWithoutArgs([&]() {
|
||||
api.CallMapAsyncCallback(apiBuffer, WGPUBufferMapAsyncStatus_Success);
|
||||
}));
|
||||
EXPECT_CALL(api, BufferGetMappedRange(apiBuffer)).WillOnce(Return(&mMappedBufferContent));
|
||||
EXPECT_CALL(api, BufferGetMappedRange(apiBuffer, 0, kBufferSize))
|
||||
.WillOnce(Return(&mMappedBufferContent));
|
||||
|
||||
FlushClient();
|
||||
|
||||
@@ -795,7 +802,8 @@ TEST_F(WireMemoryTransferServiceTests, BufferMapWriteDeserializeFlushFailure) {
|
||||
EXPECT_CALL(api, OnBufferMapAsyncCallback(apiBuffer, _, _)).WillOnce(InvokeWithoutArgs([&]() {
|
||||
api.CallMapAsyncCallback(apiBuffer, WGPUBufferMapAsyncStatus_Success);
|
||||
}));
|
||||
EXPECT_CALL(api, BufferGetMappedRange(apiBuffer)).WillOnce(Return(&mMappedBufferContent));
|
||||
EXPECT_CALL(api, BufferGetMappedRange(apiBuffer, 0, kBufferSize))
|
||||
.WillOnce(Return(&mMappedBufferContent));
|
||||
|
||||
FlushClient();
|
||||
|
||||
@@ -846,7 +854,8 @@ TEST_F(WireMemoryTransferServiceTests, BufferMapWriteDestroyBeforeUnmap) {
|
||||
EXPECT_CALL(api, OnBufferMapAsyncCallback(apiBuffer, _, _)).WillOnce(InvokeWithoutArgs([&]() {
|
||||
api.CallMapAsyncCallback(apiBuffer, WGPUBufferMapAsyncStatus_Success);
|
||||
}));
|
||||
EXPECT_CALL(api, BufferGetMappedRange(apiBuffer)).WillOnce(Return(&mMappedBufferContent));
|
||||
EXPECT_CALL(api, BufferGetMappedRange(apiBuffer, 0, kBufferSize))
|
||||
.WillOnce(Return(&mMappedBufferContent));
|
||||
|
||||
FlushClient();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user