mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-12-16 08:27:05 +00:00
Implement CreateBufferMapped in dawn_native for MAP_WRITE buffers only.
This is the first command to return a struct. This patch also updates the code generator to support structure return values. Bug: dawn:7 Change-Id: Ie8acec895c0ec88429672138ffc900032fbbc447 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/4780 Reviewed-by: Kai Ninomiya <kainino@chromium.org> Commit-Queue: Austin Eng <enga@chromium.org>
This commit is contained in:
committed by
Commit Bot service account
parent
0195dbf908
commit
740995c0b1
@@ -82,6 +82,15 @@ class BufferValidationTest : public ValidationTest {
|
||||
return device.CreateBuffer(&descriptor);
|
||||
}
|
||||
|
||||
dawn::CreateBufferMappedResult CreateBufferMapped(uint64_t size,
|
||||
dawn::BufferUsageBit usage) {
|
||||
dawn::BufferDescriptor descriptor;
|
||||
descriptor.size = size;
|
||||
descriptor.usage = usage;
|
||||
|
||||
return device.CreateBufferMapped(&descriptor);
|
||||
}
|
||||
|
||||
dawn::Queue queue;
|
||||
|
||||
private:
|
||||
@@ -183,6 +192,14 @@ TEST_F(BufferValidationTest, MapWriteSuccess) {
|
||||
buf.Unmap();
|
||||
}
|
||||
|
||||
// Test the success case for CreateBufferMapped
|
||||
TEST_F(BufferValidationTest, CreateBufferMappedSuccess) {
|
||||
dawn::CreateBufferMappedResult result = CreateBufferMapped(4, dawn::BufferUsageBit::MapWrite);
|
||||
ASSERT_NE(result.data, nullptr);
|
||||
ASSERT_EQ(result.dataLength, 4u);
|
||||
result.buffer.Unmap();
|
||||
}
|
||||
|
||||
// Test map reading a buffer with wrong current usage
|
||||
TEST_F(BufferValidationTest, MapReadWrongUsage) {
|
||||
dawn::BufferDescriptor descriptor;
|
||||
|
||||
Reference in New Issue
Block a user