mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-12-18 01:15:39 +00:00
Change buffer-related sizes/offsets to be uint64_t
Bug: dawn:121 Change-Id: I9d88e2b2b8eff4eda98d25ae0922bc07199a69c7 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/5720 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
952860bf9f
commit
cf52d711fb
@@ -345,8 +345,8 @@ void DawnTest::OnDeviceError(const char* message, DawnCallbackUserdata userdata)
|
||||
std::ostringstream& DawnTest::AddBufferExpectation(const char* file,
|
||||
int line,
|
||||
const dawn::Buffer& buffer,
|
||||
uint32_t offset,
|
||||
uint32_t size,
|
||||
uint64_t offset,
|
||||
uint64_t size,
|
||||
detail::Expectation* expectation) {
|
||||
auto readback = ReserveReadback(size);
|
||||
|
||||
@@ -440,7 +440,7 @@ void DawnTest::FlushWire() {
|
||||
}
|
||||
}
|
||||
|
||||
DawnTest::ReadbackReservation DawnTest::ReserveReadback(uint32_t readbackSize) {
|
||||
DawnTest::ReadbackReservation DawnTest::ReserveReadback(uint64_t readbackSize) {
|
||||
// For now create a new MapRead buffer for each readback
|
||||
// TODO(cwallez@chromium.org): eventually make bigger buffers and allocate linearly?
|
||||
dawn::BufferDescriptor descriptor;
|
||||
@@ -483,7 +483,7 @@ void DawnTest::MapSlotsSynchronously() {
|
||||
// static
|
||||
void DawnTest::SlotMapReadCallback(DawnBufferMapAsyncStatus status,
|
||||
const void* data,
|
||||
uint32_t,
|
||||
uint64_t,
|
||||
DawnCallbackUserdata userdata_) {
|
||||
DAWN_ASSERT(status == DAWN_BUFFER_MAP_ASYNC_STATUS_SUCCESS);
|
||||
|
||||
|
||||
@@ -143,8 +143,8 @@ class DawnTest : public ::testing::TestWithParam<dawn_native::BackendType> {
|
||||
std::ostringstream& AddBufferExpectation(const char* file,
|
||||
int line,
|
||||
const dawn::Buffer& buffer,
|
||||
uint32_t offset,
|
||||
uint32_t size,
|
||||
uint64_t offset,
|
||||
uint64_t size,
|
||||
detail::Expectation* expectation);
|
||||
std::ostringstream& AddTextureExpectation(const char* file,
|
||||
int line,
|
||||
@@ -178,7 +178,7 @@ class DawnTest : public ::testing::TestWithParam<dawn_native::BackendType> {
|
||||
// MapRead buffers used to get data for the expectations
|
||||
struct ReadbackSlot {
|
||||
dawn::Buffer buffer;
|
||||
uint32_t bufferSize;
|
||||
uint64_t bufferSize;
|
||||
const void* mappedData = nullptr;
|
||||
};
|
||||
std::vector<ReadbackSlot> mReadbackSlots;
|
||||
@@ -187,7 +187,7 @@ class DawnTest : public ::testing::TestWithParam<dawn_native::BackendType> {
|
||||
void MapSlotsSynchronously();
|
||||
static void SlotMapReadCallback(DawnBufferMapAsyncStatus status,
|
||||
const void* data,
|
||||
uint32_t dataLength,
|
||||
uint64_t dataLength,
|
||||
DawnCallbackUserdata userdata);
|
||||
size_t mNumPendingMapOperations = 0;
|
||||
|
||||
@@ -195,16 +195,16 @@ class DawnTest : public ::testing::TestWithParam<dawn_native::BackendType> {
|
||||
struct ReadbackReservation {
|
||||
dawn::Buffer buffer;
|
||||
size_t slot;
|
||||
uint32_t offset;
|
||||
uint64_t offset;
|
||||
};
|
||||
ReadbackReservation ReserveReadback(uint32_t readbackSize);
|
||||
ReadbackReservation ReserveReadback(uint64_t readbackSize);
|
||||
|
||||
struct DeferredExpectation {
|
||||
const char* file;
|
||||
int line;
|
||||
size_t readbackSlot;
|
||||
uint32_t readbackOffset;
|
||||
uint32_t size;
|
||||
uint64_t readbackOffset;
|
||||
uint64_t size;
|
||||
uint32_t rowBytes;
|
||||
uint32_t rowPitch;
|
||||
std::unique_ptr<detail::Expectation> expectation;
|
||||
|
||||
@@ -20,7 +20,7 @@ class BufferMapReadTests : public DawnTest {
|
||||
protected:
|
||||
static void MapReadCallback(DawnBufferMapAsyncStatus status,
|
||||
const void* data,
|
||||
uint32_t,
|
||||
uint64_t,
|
||||
DawnCallbackUserdata userdata) {
|
||||
ASSERT_EQ(DAWN_BUFFER_MAP_ASYNC_STATUS_SUCCESS, status);
|
||||
ASSERT_NE(nullptr, data);
|
||||
@@ -87,7 +87,7 @@ class BufferMapWriteTests : public DawnTest {
|
||||
protected:
|
||||
static void MapWriteCallback(DawnBufferMapAsyncStatus status,
|
||||
void* data,
|
||||
uint32_t,
|
||||
uint64_t,
|
||||
DawnCallbackUserdata userdata) {
|
||||
ASSERT_EQ(DAWN_BUFFER_MAP_ASYNC_STATUS_SUCCESS, status);
|
||||
ASSERT_NE(nullptr, data);
|
||||
@@ -171,7 +171,7 @@ TEST_P(BufferSetSubDataTests, SmallDataAtOffset) {
|
||||
descriptor.usage = dawn::BufferUsageBit::TransferSrc | dawn::BufferUsageBit::TransferDst;
|
||||
dawn::Buffer buffer = device.CreateBuffer(&descriptor);
|
||||
|
||||
constexpr uint32_t kOffset = 2000;
|
||||
constexpr uint64_t kOffset = 2000;
|
||||
uint32_t value = 0x01020304;
|
||||
buffer.SetSubData(kOffset, sizeof(value), reinterpret_cast<uint8_t*>(&value));
|
||||
|
||||
@@ -189,7 +189,7 @@ TEST_P(BufferSetSubDataTests, ManySetSubData) {
|
||||
// executing these commands in-flight. If this takes longer than ~2s, a device reset occurs and
|
||||
// fails the test. Since GPUs may or may not complete by then, this test must be disabled OR
|
||||
// modified to be well-below the timeout limit.
|
||||
constexpr uint32_t kSize = 4000 * 1000;
|
||||
constexpr uint64_t kSize = 4000 * 1000;
|
||||
constexpr uint32_t kElements = 500 * 500;
|
||||
dawn::BufferDescriptor descriptor;
|
||||
descriptor.size = kSize;
|
||||
@@ -207,7 +207,7 @@ TEST_P(BufferSetSubDataTests, ManySetSubData) {
|
||||
|
||||
// Test using SetSubData for lots of data
|
||||
TEST_P(BufferSetSubDataTests, LargeSetSubData) {
|
||||
constexpr uint32_t kSize = 4000 * 1000;
|
||||
constexpr uint64_t kSize = 4000 * 1000;
|
||||
constexpr uint32_t kElements = 1000 * 1000;
|
||||
dawn::BufferDescriptor descriptor;
|
||||
descriptor.size = kSize;
|
||||
|
||||
@@ -35,8 +35,8 @@ class CopyTests : public DawnTest {
|
||||
};
|
||||
|
||||
struct BufferSpec {
|
||||
uint32_t size;
|
||||
uint32_t offset;
|
||||
uint64_t size;
|
||||
uint64_t offset;
|
||||
uint32_t rowPitch;
|
||||
};
|
||||
|
||||
@@ -123,7 +123,7 @@ class CopyTests_T2B : public CopyTests {
|
||||
std::vector<RGBA8> emptyData(bufferSpec.size / kBytesPerTexel * textureSpec.arraySize);
|
||||
buffer.SetSubData(0, static_cast<uint32_t>(emptyData.size() * sizeof(RGBA8)), reinterpret_cast<const uint8_t*>(emptyData.data()));
|
||||
|
||||
uint32_t bufferOffset = bufferSpec.offset;
|
||||
uint64_t bufferOffset = bufferSpec.offset;
|
||||
for (uint32_t slice = 0; slice < textureSpec.arraySize; ++slice) {
|
||||
// Copy the region [(`x`, `y`), (`x + copyWidth, `y + copyWidth`)] from the `level` mip into the buffer at `offset + bufferSpec.size * slice` and `rowPitch`
|
||||
dawn::TextureCopyView textureCopyView = utils::CreateTextureCopyView(
|
||||
@@ -463,7 +463,7 @@ TEST_P(CopyTests_T2B, OffsetBufferAligned) {
|
||||
constexpr uint32_t kHeight = 128;
|
||||
for (unsigned int i = 0; i < 3; ++i) {
|
||||
BufferSpec bufferSpec = MinimumBufferSpec(kWidth, kHeight);
|
||||
uint32_t offset = 512 * i;
|
||||
uint64_t offset = 512 * i;
|
||||
bufferSpec.size += offset;
|
||||
bufferSpec.offset += offset;
|
||||
DoTest({ kWidth, kHeight, 0, 0, kWidth, kHeight, 0 }, bufferSpec);
|
||||
@@ -627,7 +627,7 @@ TEST_P(CopyTests_B2T, OffsetBufferAligned) {
|
||||
constexpr uint32_t kHeight = 128;
|
||||
for (unsigned int i = 0; i < 3; ++i) {
|
||||
BufferSpec bufferSpec = MinimumBufferSpec(kWidth, kHeight);
|
||||
uint32_t offset = 512 * i;
|
||||
uint64_t offset = 512 * i;
|
||||
bufferSpec.size += offset;
|
||||
bufferSpec.offset += offset;
|
||||
DoTest({ kWidth, kHeight, 0, 0, kWidth, kHeight, 0 }, bufferSpec);
|
||||
|
||||
@@ -70,7 +70,7 @@ class DestroyTest : public DawnTest {
|
||||
dawn::Buffer vertexBuffer;
|
||||
|
||||
dawn::CommandBuffer CreateTriangleCommandBuffer() {
|
||||
uint32_t zeroOffset = 0;
|
||||
uint64_t zeroOffset = 0;
|
||||
dawn::CommandEncoder encoder = device.CreateCommandEncoder();
|
||||
{
|
||||
dawn::RenderPassEncoder pass = encoder.BeginRenderPass(&renderPass.renderPassInfo);
|
||||
|
||||
@@ -80,7 +80,7 @@ class DrawIndexedTest : public DawnTest {
|
||||
void Test(uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex,
|
||||
uint32_t baseVertex, uint32_t firstInstance, RGBA8 bottomLeftExpected,
|
||||
RGBA8 topRightExpected) {
|
||||
uint32_t zeroOffset = 0;
|
||||
uint64_t zeroOffset = 0;
|
||||
dawn::CommandEncoder encoder = device.CreateCommandEncoder();
|
||||
{
|
||||
dawn::RenderPassEncoder pass = encoder.BeginRenderPass(
|
||||
|
||||
@@ -73,7 +73,7 @@ class DrawTest : public DawnTest {
|
||||
uint32_t firstInstance,
|
||||
RGBA8 bottomLeftExpected,
|
||||
RGBA8 topRightExpected) {
|
||||
uint32_t zeroOffset = 0;
|
||||
uint64_t zeroOffset = 0;
|
||||
dawn::CommandEncoder encoder = device.CreateCommandEncoder();
|
||||
{
|
||||
dawn::RenderPassEncoder pass = encoder.BeginRenderPass(&renderPass.renderPassInfo);
|
||||
|
||||
@@ -78,7 +78,7 @@ TEST_P(IndexFormatTest, Uint32) {
|
||||
1, 2, 3
|
||||
});
|
||||
|
||||
uint32_t zeroOffset = 0;
|
||||
uint64_t zeroOffset = 0;
|
||||
dawn::CommandEncoder encoder = device.CreateCommandEncoder();
|
||||
{
|
||||
dawn::RenderPassEncoder pass = encoder.BeginRenderPass(&renderPass.renderPassInfo);
|
||||
@@ -109,7 +109,7 @@ TEST_P(IndexFormatTest, Uint16) {
|
||||
1, 2, 0, 0, 0, 0
|
||||
});
|
||||
|
||||
uint32_t zeroOffset = 0;
|
||||
uint64_t zeroOffset = 0;
|
||||
dawn::CommandEncoder encoder = device.CreateCommandEncoder();
|
||||
{
|
||||
dawn::RenderPassEncoder pass = encoder.BeginRenderPass(&renderPass.renderPassInfo);
|
||||
@@ -153,7 +153,7 @@ TEST_P(IndexFormatTest, Uint32PrimitiveRestart) {
|
||||
0, 1, 2, 0xFFFFFFFFu, 3, 4, 2,
|
||||
});
|
||||
|
||||
uint32_t zeroOffset = 0;
|
||||
uint64_t zeroOffset = 0;
|
||||
dawn::CommandEncoder encoder = device.CreateCommandEncoder();
|
||||
{
|
||||
dawn::RenderPassEncoder pass = encoder.BeginRenderPass(&renderPass.renderPassInfo);
|
||||
@@ -189,7 +189,7 @@ TEST_P(IndexFormatTest, Uint16PrimitiveRestart) {
|
||||
0xFFFFu,
|
||||
});
|
||||
|
||||
uint32_t zeroOffset = 0;
|
||||
uint64_t zeroOffset = 0;
|
||||
dawn::CommandEncoder encoder = device.CreateCommandEncoder();
|
||||
{
|
||||
dawn::RenderPassEncoder pass = encoder.BeginRenderPass(&renderPass.renderPassInfo);
|
||||
@@ -228,7 +228,7 @@ TEST_P(IndexFormatTest, ChangePipelineAfterSetIndexBuffer) {
|
||||
1, 2, 3
|
||||
});
|
||||
|
||||
uint32_t zeroOffset = 0;
|
||||
uint64_t zeroOffset = 0;
|
||||
dawn::CommandEncoder encoder = device.CreateCommandEncoder();
|
||||
{
|
||||
dawn::RenderPassEncoder pass = encoder.BeginRenderPass(&renderPass.renderPassInfo);
|
||||
@@ -263,7 +263,7 @@ TEST_P(IndexFormatTest, DISABLED_SetIndexBufferBeforeSetPipeline) {
|
||||
0, 1, 2
|
||||
});
|
||||
|
||||
uint32_t zeroOffset = 0;
|
||||
uint64_t zeroOffset = 0;
|
||||
dawn::CommandEncoder encoder = device.CreateCommandEncoder();
|
||||
{
|
||||
dawn::RenderPassEncoder pass = encoder.BeginRenderPass(&renderPass.renderPassInfo);
|
||||
|
||||
@@ -134,13 +134,13 @@ class InputStateTest : public DawnTest {
|
||||
|
||||
struct InputSpec {
|
||||
uint32_t slot;
|
||||
uint32_t stride;
|
||||
uint64_t stride;
|
||||
InputStepMode step;
|
||||
};
|
||||
struct AttributeSpec {
|
||||
uint32_t location;
|
||||
uint32_t slot;
|
||||
uint32_t offset;
|
||||
uint64_t offset;
|
||||
VertexFormat format;
|
||||
};
|
||||
|
||||
@@ -187,7 +187,7 @@ class InputStateTest : public DawnTest {
|
||||
dawn::RenderPassEncoder pass = encoder.BeginRenderPass(&renderPass.renderPassInfo);
|
||||
pass.SetPipeline(pipeline);
|
||||
|
||||
uint32_t zeroOffset = 0;
|
||||
uint64_t zeroOffset = 0;
|
||||
for (const auto& buffer : vertexBuffers) {
|
||||
pass.SetVertexBuffers(buffer.location, 1, buffer.buffer, &zeroOffset);
|
||||
}
|
||||
@@ -422,7 +422,7 @@ TEST_P(InputStateTest, UnusedVertexSlot) {
|
||||
|
||||
dawn::RenderPassEncoder pass = encoder.BeginRenderPass(&renderPass.renderPassInfo);
|
||||
|
||||
uint32_t zeroOffset = 0;
|
||||
uint64_t zeroOffset = 0;
|
||||
pass.SetVertexBuffers(0, 1, &buffer, &zeroOffset);
|
||||
pass.SetVertexBuffers(1, 1, &buffer, &zeroOffset);
|
||||
|
||||
@@ -465,7 +465,7 @@ TEST_P(InputStateTest, MultiplePipelinesMixedInputState) {
|
||||
|
||||
dawn::RenderPassEncoder pass = encoder.BeginRenderPass(&renderPass.renderPassInfo);
|
||||
|
||||
uint32_t zeroOffset = 0;
|
||||
uint64_t zeroOffset = 0;
|
||||
pass.SetVertexBuffers(0, 1, &buffer, &zeroOffset);
|
||||
pass.SetVertexBuffers(1, 1, &buffer, &zeroOffset);
|
||||
|
||||
|
||||
@@ -193,7 +193,7 @@ class PrimitiveTopologyTest : public DawnTest {
|
||||
|
||||
dawn::RenderPipeline pipeline = device.CreateRenderPipeline(&descriptor);
|
||||
|
||||
static const uint32_t zeroOffset = 0;
|
||||
static const uint64_t zeroOffset = 0;
|
||||
dawn::CommandEncoder encoder = device.CreateCommandEncoder();
|
||||
{
|
||||
dawn::RenderPassEncoder pass = encoder.BeginRenderPass(
|
||||
|
||||
@@ -35,7 +35,7 @@ namespace {
|
||||
};
|
||||
|
||||
struct BufferSpec {
|
||||
uint32_t offset;
|
||||
uint64_t offset;
|
||||
uint32_t rowPitch;
|
||||
uint32_t imageHeight;
|
||||
};
|
||||
|
||||
@@ -25,14 +25,14 @@ class MockBufferMapReadCallback {
|
||||
MOCK_METHOD4(Call,
|
||||
void(DawnBufferMapAsyncStatus status,
|
||||
const uint32_t* ptr,
|
||||
uint32_t dataLength,
|
||||
uint64_t dataLength,
|
||||
DawnCallbackUserdata userdata));
|
||||
};
|
||||
|
||||
static std::unique_ptr<MockBufferMapReadCallback> mockBufferMapReadCallback;
|
||||
static void ToMockBufferMapReadCallback(DawnBufferMapAsyncStatus status,
|
||||
const void* ptr,
|
||||
uint32_t dataLength,
|
||||
uint64_t dataLength,
|
||||
DawnCallbackUserdata userdata) {
|
||||
// Assume the data is uint32_t to make writing matchers easier
|
||||
mockBufferMapReadCallback->Call(status, reinterpret_cast<const uint32_t*>(ptr), dataLength,
|
||||
@@ -44,14 +44,14 @@ class MockBufferMapWriteCallback {
|
||||
MOCK_METHOD4(Call,
|
||||
void(DawnBufferMapAsyncStatus status,
|
||||
uint32_t* ptr,
|
||||
uint32_t dataLength,
|
||||
uint64_t dataLength,
|
||||
DawnCallbackUserdata userdata));
|
||||
};
|
||||
|
||||
static std::unique_ptr<MockBufferMapWriteCallback> mockBufferMapWriteCallback;
|
||||
static void ToMockBufferMapWriteCallback(DawnBufferMapAsyncStatus status,
|
||||
void* ptr,
|
||||
uint32_t dataLength,
|
||||
uint64_t dataLength,
|
||||
DawnCallbackUserdata userdata) {
|
||||
// Assume the data is uint32_t to make writing matchers easier
|
||||
mockBufferMapWriteCallback->Call(status, reinterpret_cast<uint32_t*>(ptr), dataLength,
|
||||
@@ -60,21 +60,21 @@ static void ToMockBufferMapWriteCallback(DawnBufferMapAsyncStatus status,
|
||||
|
||||
class BufferValidationTest : public ValidationTest {
|
||||
protected:
|
||||
dawn::Buffer CreateMapReadBuffer(uint32_t size) {
|
||||
dawn::Buffer CreateMapReadBuffer(uint64_t size) {
|
||||
dawn::BufferDescriptor descriptor;
|
||||
descriptor.size = size;
|
||||
descriptor.usage = dawn::BufferUsageBit::MapRead;
|
||||
|
||||
return device.CreateBuffer(&descriptor);
|
||||
}
|
||||
dawn::Buffer CreateMapWriteBuffer(uint32_t size) {
|
||||
dawn::Buffer CreateMapWriteBuffer(uint64_t size) {
|
||||
dawn::BufferDescriptor descriptor;
|
||||
descriptor.size = size;
|
||||
descriptor.usage = dawn::BufferUsageBit::MapWrite;
|
||||
|
||||
return device.CreateBuffer(&descriptor);
|
||||
}
|
||||
dawn::Buffer CreateSetSubDataBuffer(uint32_t size) {
|
||||
dawn::Buffer CreateSetSubDataBuffer(uint64_t size) {
|
||||
dawn::BufferDescriptor descriptor;
|
||||
descriptor.size = size;
|
||||
descriptor.usage = dawn::BufferUsageBit::TransferDst;
|
||||
@@ -455,7 +455,7 @@ TEST_F(BufferValidationTest, SetSubDataOutOfBoundsOverflow) {
|
||||
|
||||
// An offset that when added to "2" would overflow to be zero and pass validation without
|
||||
// overflow checks.
|
||||
uint32_t offset = uint32_t(int32_t(0) - int32_t(2));
|
||||
uint64_t offset = uint64_t(int64_t(0) - int64_t(2));
|
||||
|
||||
ASSERT_DEVICE_ERROR(buf.SetSubData(offset, 2, foo));
|
||||
}
|
||||
@@ -492,7 +492,7 @@ TEST_F(BufferValidationTest, SetSubDataWithUnalignedOffset) {
|
||||
|
||||
dawn::Buffer buf = device.CreateBuffer(&descriptor);
|
||||
|
||||
uint32_t kOffset = 2999;
|
||||
uint64_t kOffset = 2999;
|
||||
uint32_t value = 0x01020304;
|
||||
ASSERT_DEVICE_ERROR(buf.SetSubData(kOffset, sizeof(value), reinterpret_cast<uint8_t*>(&value)));
|
||||
}
|
||||
|
||||
@@ -180,7 +180,7 @@ TEST_F(CommandBufferValidationTest, BufferWithMultipleReadUsage) {
|
||||
dawn::Buffer buffer = device.CreateBuffer(&bufferDescriptor);
|
||||
|
||||
// Use the buffer as both index and vertex in the same pass
|
||||
uint32_t zero = 0;
|
||||
uint64_t zero = 0;
|
||||
dawn::CommandEncoder encoder = device.CreateCommandEncoder();
|
||||
DummyRenderPass dummyRenderPass(device);
|
||||
dawn::RenderPassEncoder pass = encoder.BeginRenderPass(&dummyRenderPass);
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
|
||||
class CopyCommandTest : public ValidationTest {
|
||||
protected:
|
||||
dawn::Buffer CreateBuffer(uint32_t size, dawn::BufferUsageBit usage) {
|
||||
dawn::Buffer CreateBuffer(uint64_t size, dawn::BufferUsageBit usage) {
|
||||
dawn::BufferDescriptor descriptor;
|
||||
descriptor.size = size;
|
||||
descriptor.usage = usage;
|
||||
@@ -59,7 +59,7 @@ class CopyCommandTest : public ValidationTest {
|
||||
|
||||
void TestB2TCopy(utils::Expectation expectation,
|
||||
dawn::Buffer srcBuffer,
|
||||
uint32_t srcOffset,
|
||||
uint64_t srcOffset,
|
||||
uint32_t srcRowPitch,
|
||||
uint32_t srcImageHeight,
|
||||
dawn::Texture destTexture,
|
||||
@@ -84,7 +84,7 @@ class CopyCommandTest : public ValidationTest {
|
||||
uint32_t srcSlice,
|
||||
dawn::Origin3D srcOrigin,
|
||||
dawn::Buffer destBuffer,
|
||||
uint32_t destOffset,
|
||||
uint64_t destOffset,
|
||||
uint32_t destRowPitch,
|
||||
uint32_t destImageHeight,
|
||||
dawn::Extent3D extent3D) {
|
||||
@@ -228,7 +228,7 @@ TEST_F(CopyCommandTest_B2B, BuffersInErrorState) {
|
||||
errorBufferDescriptor.usage = dawn::BufferUsageBit::MapRead | dawn::BufferUsageBit::TransferSrc;
|
||||
ASSERT_DEVICE_ERROR(dawn::Buffer errorBuffer = device.CreateBuffer(&errorBufferDescriptor));
|
||||
|
||||
constexpr uint32_t bufferSize = 4;
|
||||
constexpr uint64_t bufferSize = 4;
|
||||
dawn::Buffer validBuffer = CreateBuffer(bufferSize, dawn::BufferUsageBit::TransferSrc);
|
||||
|
||||
{
|
||||
@@ -249,7 +249,7 @@ class CopyCommandTest_B2T : public CopyCommandTest {
|
||||
|
||||
// Test a successfull B2T copy
|
||||
TEST_F(CopyCommandTest_B2T, Success) {
|
||||
uint32_t bufferSize = BufferSizeForTextureCopy(4, 4, 1);
|
||||
uint64_t bufferSize = BufferSizeForTextureCopy(4, 4, 1);
|
||||
dawn::Buffer source = CreateBuffer(bufferSize, dawn::BufferUsageBit::TransferSrc);
|
||||
dawn::Texture destination = Create2DTexture(16, 16, 5, 1, dawn::TextureFormat::R8G8B8A8Unorm,
|
||||
dawn::TextureUsageBit::TransferDst);
|
||||
@@ -302,7 +302,7 @@ TEST_F(CopyCommandTest_B2T, Success) {
|
||||
|
||||
// Test OOB conditions on the buffer
|
||||
TEST_F(CopyCommandTest_B2T, OutOfBoundsOnBuffer) {
|
||||
uint32_t bufferSize = BufferSizeForTextureCopy(4, 4, 1);
|
||||
uint64_t bufferSize = BufferSizeForTextureCopy(4, 4, 1);
|
||||
dawn::Buffer source = CreateBuffer(bufferSize, dawn::BufferUsageBit::TransferSrc);
|
||||
dawn::Texture destination = Create2DTexture(16, 16, 5, 1, dawn::TextureFormat::R8G8B8A8Unorm,
|
||||
dawn::TextureUsageBit::TransferDst);
|
||||
@@ -333,7 +333,7 @@ TEST_F(CopyCommandTest_B2T, OutOfBoundsOnBuffer) {
|
||||
|
||||
// Test OOB conditions on the texture
|
||||
TEST_F(CopyCommandTest_B2T, OutOfBoundsOnTexture) {
|
||||
uint32_t bufferSize = BufferSizeForTextureCopy(4, 4, 1);
|
||||
uint64_t bufferSize = BufferSizeForTextureCopy(4, 4, 1);
|
||||
dawn::Buffer source = CreateBuffer(bufferSize, dawn::BufferUsageBit::TransferSrc);
|
||||
dawn::Texture destination = Create2DTexture(16, 16, 5, 2, dawn::TextureFormat::R8G8B8A8Unorm,
|
||||
dawn::TextureUsageBit::TransferDst);
|
||||
@@ -393,7 +393,7 @@ TEST_F(CopyCommandTest_B2T, IncorrectUsage) {
|
||||
}
|
||||
|
||||
TEST_F(CopyCommandTest_B2T, IncorrectRowPitch) {
|
||||
uint32_t bufferSize = BufferSizeForTextureCopy(128, 16, 1);
|
||||
uint64_t bufferSize = BufferSizeForTextureCopy(128, 16, 1);
|
||||
dawn::Buffer source = CreateBuffer(bufferSize, dawn::BufferUsageBit::TransferSrc);
|
||||
dawn::Texture destination = Create2DTexture(128, 16, 5, 1, dawn::TextureFormat::R8G8B8A8Unorm,
|
||||
dawn::TextureUsageBit::TransferDst);
|
||||
@@ -412,7 +412,7 @@ TEST_F(CopyCommandTest_B2T, IncorrectRowPitch) {
|
||||
}
|
||||
|
||||
TEST_F(CopyCommandTest_B2T, ImageHeightConstraint) {
|
||||
uint32_t bufferSize = BufferSizeForTextureCopy(5, 5, 1);
|
||||
uint64_t bufferSize = BufferSizeForTextureCopy(5, 5, 1);
|
||||
dawn::Buffer source = CreateBuffer(bufferSize, dawn::BufferUsageBit::TransferSrc);
|
||||
dawn::Texture destination = Create2DTexture(16, 16, 1, 1, dawn::TextureFormat::R8G8B8A8Unorm,
|
||||
dawn::TextureUsageBit::TransferDst);
|
||||
@@ -436,7 +436,7 @@ TEST_F(CopyCommandTest_B2T, ImageHeightConstraint) {
|
||||
|
||||
// Test B2T copies with incorrect buffer offset usage
|
||||
TEST_F(CopyCommandTest_B2T, IncorrectBufferOffset) {
|
||||
uint32_t bufferSize = BufferSizeForTextureCopy(4, 4, 1);
|
||||
uint64_t bufferSize = BufferSizeForTextureCopy(4, 4, 1);
|
||||
dawn::Buffer source = CreateBuffer(bufferSize, dawn::BufferUsageBit::TransferSrc);
|
||||
dawn::Texture destination = Create2DTexture(16, 16, 5, 1, dawn::TextureFormat::R8G8B8A8Unorm,
|
||||
dawn::TextureUsageBit::TransferDst);
|
||||
@@ -458,7 +458,7 @@ TEST_F(CopyCommandTest_B2T, IncorrectBufferOffset) {
|
||||
|
||||
// Test multisampled textures cannot be used in B2T copies.
|
||||
TEST_F(CopyCommandTest_B2T, CopyToMultisampledTexture) {
|
||||
uint32_t bufferSize = BufferSizeForTextureCopy(16, 16, 1);
|
||||
uint64_t bufferSize = BufferSizeForTextureCopy(16, 16, 1);
|
||||
dawn::Buffer source = CreateBuffer(bufferSize, dawn::BufferUsageBit::TransferSrc);
|
||||
dawn::Texture destination = Create2DTexture(2, 2, 1, 1, dawn::TextureFormat::R8G8B8A8Unorm,
|
||||
dawn::TextureUsageBit::TransferDst, 4);
|
||||
@@ -497,7 +497,7 @@ TEST_F(CopyCommandTest_B2T, BufferOrTextureInErrorState) {
|
||||
}
|
||||
|
||||
{
|
||||
uint32_t bufferSize = BufferSizeForTextureCopy(4, 4, 1);
|
||||
uint64_t bufferSize = BufferSizeForTextureCopy(4, 4, 1);
|
||||
dawn::Buffer source = CreateBuffer(bufferSize, dawn::BufferUsageBit::TransferSrc);
|
||||
|
||||
dawn::BufferCopyView bufferCopyView = utils::CreateBufferCopyView(source, 0, 0, 0);
|
||||
@@ -513,7 +513,7 @@ class CopyCommandTest_T2B : public CopyCommandTest {
|
||||
|
||||
// Test a successfull T2B copy
|
||||
TEST_F(CopyCommandTest_T2B, Success) {
|
||||
uint32_t bufferSize = BufferSizeForTextureCopy(4, 4, 1);
|
||||
uint64_t bufferSize = BufferSizeForTextureCopy(4, 4, 1);
|
||||
dawn::Texture source = Create2DTexture(16, 16, 5, 1, dawn::TextureFormat::R8G8B8A8Unorm,
|
||||
dawn::TextureUsageBit::TransferSrc);
|
||||
dawn::Buffer destination = CreateBuffer(bufferSize, dawn::BufferUsageBit::TransferDst);
|
||||
@@ -566,7 +566,7 @@ TEST_F(CopyCommandTest_T2B, Success) {
|
||||
|
||||
// Test OOB conditions on the texture
|
||||
TEST_F(CopyCommandTest_T2B, OutOfBoundsOnTexture) {
|
||||
uint32_t bufferSize = BufferSizeForTextureCopy(4, 4, 1);
|
||||
uint64_t bufferSize = BufferSizeForTextureCopy(4, 4, 1);
|
||||
dawn::Texture source = Create2DTexture(16, 16, 5, 1, dawn::TextureFormat::R8G8B8A8Unorm,
|
||||
dawn::TextureUsageBit::TransferSrc);
|
||||
dawn::Buffer destination = CreateBuffer(bufferSize, dawn::BufferUsageBit::TransferDst);
|
||||
@@ -590,7 +590,7 @@ TEST_F(CopyCommandTest_T2B, OutOfBoundsOnTexture) {
|
||||
|
||||
// Test OOB conditions on the buffer
|
||||
TEST_F(CopyCommandTest_T2B, OutOfBoundsOnBuffer) {
|
||||
uint32_t bufferSize = BufferSizeForTextureCopy(4, 4, 1);
|
||||
uint64_t bufferSize = BufferSizeForTextureCopy(4, 4, 1);
|
||||
dawn::Texture source = Create2DTexture(16, 16, 5, 1, dawn::TextureFormat::R8G8B8A8Unorm,
|
||||
dawn::TextureUsageBit::TransferSrc);
|
||||
dawn::Buffer destination = CreateBuffer(bufferSize, dawn::BufferUsageBit::TransferDst);
|
||||
@@ -620,7 +620,7 @@ TEST_F(CopyCommandTest_T2B, OutOfBoundsOnBuffer) {
|
||||
|
||||
// Test that we force Z=0 and Depth=1 on copies from to 2D textures
|
||||
TEST_F(CopyCommandTest_T2B, ZDepthConstraintFor2DTextures) {
|
||||
uint32_t bufferSize = BufferSizeForTextureCopy(4, 4, 1);
|
||||
uint64_t bufferSize = BufferSizeForTextureCopy(4, 4, 1);
|
||||
dawn::Texture source = Create2DTexture(16, 16, 5, 1, dawn::TextureFormat::R8G8B8A8Unorm,
|
||||
dawn::TextureUsageBit::TransferSrc);
|
||||
dawn::Buffer destination = CreateBuffer(bufferSize, dawn::BufferUsageBit::TransferDst);
|
||||
@@ -636,7 +636,7 @@ TEST_F(CopyCommandTest_T2B, ZDepthConstraintFor2DTextures) {
|
||||
|
||||
// Test T2B copies with incorrect buffer usage
|
||||
TEST_F(CopyCommandTest_T2B, IncorrectUsage) {
|
||||
uint32_t bufferSize = BufferSizeForTextureCopy(4, 4, 1);
|
||||
uint64_t bufferSize = BufferSizeForTextureCopy(4, 4, 1);
|
||||
dawn::Texture source = Create2DTexture(16, 16, 5, 1, dawn::TextureFormat::R8G8B8A8Unorm,
|
||||
dawn::TextureUsageBit::TransferSrc);
|
||||
dawn::Texture sampled = Create2DTexture(16, 16, 5, 1, dawn::TextureFormat::R8G8B8A8Unorm,
|
||||
@@ -653,7 +653,7 @@ TEST_F(CopyCommandTest_T2B, IncorrectUsage) {
|
||||
}
|
||||
|
||||
TEST_F(CopyCommandTest_T2B, IncorrectRowPitch) {
|
||||
uint32_t bufferSize = BufferSizeForTextureCopy(128, 16, 1);
|
||||
uint64_t bufferSize = BufferSizeForTextureCopy(128, 16, 1);
|
||||
dawn::Texture source = Create2DTexture(128, 16, 5, 1, dawn::TextureFormat::R8G8B8A8Unorm,
|
||||
dawn::TextureUsageBit::TransferDst);
|
||||
dawn::Buffer destination = CreateBuffer(bufferSize, dawn::BufferUsageBit::TransferSrc);
|
||||
@@ -672,7 +672,7 @@ TEST_F(CopyCommandTest_T2B, IncorrectRowPitch) {
|
||||
}
|
||||
|
||||
TEST_F(CopyCommandTest_T2B, ImageHeightConstraint) {
|
||||
uint32_t bufferSize = BufferSizeForTextureCopy(5, 5, 1);
|
||||
uint64_t bufferSize = BufferSizeForTextureCopy(5, 5, 1);
|
||||
dawn::Texture source = Create2DTexture(16, 16, 1, 1, dawn::TextureFormat::R8G8B8A8Unorm,
|
||||
dawn::TextureUsageBit::TransferSrc);
|
||||
dawn::Buffer destination = CreateBuffer(bufferSize, dawn::BufferUsageBit::TransferDst);
|
||||
@@ -696,7 +696,7 @@ TEST_F(CopyCommandTest_T2B, ImageHeightConstraint) {
|
||||
|
||||
// Test T2B copies with incorrect buffer offset usage
|
||||
TEST_F(CopyCommandTest_T2B, IncorrectBufferOffset) {
|
||||
uint32_t bufferSize = BufferSizeForTextureCopy(128, 16, 1);
|
||||
uint64_t bufferSize = BufferSizeForTextureCopy(128, 16, 1);
|
||||
dawn::Texture source = Create2DTexture(128, 16, 5, 1, dawn::TextureFormat::R8G8B8A8Unorm,
|
||||
dawn::TextureUsageBit::TransferSrc);
|
||||
dawn::Buffer destination = CreateBuffer(bufferSize, dawn::BufferUsageBit::TransferDst);
|
||||
@@ -718,7 +718,7 @@ TEST_F(CopyCommandTest_T2B, IncorrectBufferOffset) {
|
||||
TEST_F(CopyCommandTest_T2B, CopyFromMultisampledTexture) {
|
||||
dawn::Texture source = Create2DTexture(2, 2, 1, 1, dawn::TextureFormat::R8G8B8A8Unorm,
|
||||
dawn::TextureUsageBit::TransferSrc, 4);
|
||||
uint32_t bufferSize = BufferSizeForTextureCopy(16, 16, 1);
|
||||
uint64_t bufferSize = BufferSizeForTextureCopy(16, 16, 1);
|
||||
dawn::Buffer destination = CreateBuffer(bufferSize, dawn::BufferUsageBit::TransferDst);
|
||||
|
||||
TestT2BCopy(utils::Expectation::Failure, source, 0, 0, {0, 0, 0}, destination, 0, 256, 0,
|
||||
@@ -743,7 +743,7 @@ TEST_F(CopyCommandTest_T2B, BufferOrTextureInErrorState) {
|
||||
dawn::Extent3D extent3D = {1, 1, 1};
|
||||
|
||||
{
|
||||
uint32_t bufferSize = BufferSizeForTextureCopy(4, 4, 1);
|
||||
uint64_t bufferSize = BufferSizeForTextureCopy(4, 4, 1);
|
||||
dawn::Buffer source = CreateBuffer(bufferSize, dawn::BufferUsageBit::TransferSrc);
|
||||
|
||||
dawn::BufferCopyView bufferCopyView = utils::CreateBufferCopyView(source, 0, 0, 0);
|
||||
|
||||
@@ -23,7 +23,7 @@ class QueueSubmitValidationTest : public ValidationTest {
|
||||
|
||||
static void StoreTrueMapWriteCallback(DawnBufferMapAsyncStatus status,
|
||||
void*,
|
||||
uint32_t,
|
||||
uint64_t,
|
||||
DawnCallbackUserdata userdata) {
|
||||
bool* userdataPtr = reinterpret_cast<bool*>(static_cast<intptr_t>(userdata));
|
||||
*userdataPtr = true;
|
||||
|
||||
@@ -97,7 +97,7 @@ TEST_F(VertexBufferValidationTest, VertexInputsInheritedBetweenPipelines) {
|
||||
auto pipeline1 = MakeRenderPipeline(vsModule1, 1);
|
||||
|
||||
auto vertexBuffers = MakeVertexBuffers<2>();
|
||||
uint32_t offsets[] = { 0, 0 };
|
||||
uint64_t offsets[] = { 0, 0 };
|
||||
|
||||
// Check failure when vertex buffer is not set
|
||||
dawn::CommandEncoder encoder = device.CreateCommandEncoder();
|
||||
@@ -132,7 +132,7 @@ TEST_F(VertexBufferValidationTest, VertexInputsNotInheritedBetweenRendePasses) {
|
||||
auto pipeline1 = MakeRenderPipeline(vsModule1, 1);
|
||||
|
||||
auto vertexBuffers = MakeVertexBuffers<2>();
|
||||
uint32_t offsets[] = { 0, 0 };
|
||||
uint64_t offsets[] = { 0, 0 };
|
||||
|
||||
// Check success when vertex buffer is set for each render pass
|
||||
dawn::CommandEncoder encoder = device.CreateCommandEncoder();
|
||||
|
||||
@@ -25,14 +25,14 @@ namespace {
|
||||
MOCK_METHOD4(Call,
|
||||
void(DawnBufferMapAsyncStatus status,
|
||||
const uint32_t* ptr,
|
||||
uint32_t dataLength,
|
||||
uint64_t dataLength,
|
||||
DawnCallbackUserdata userdata));
|
||||
};
|
||||
|
||||
std::unique_ptr<StrictMock<MockBufferMapReadCallback>> mockBufferMapReadCallback;
|
||||
void ToMockBufferMapReadCallback(DawnBufferMapAsyncStatus status,
|
||||
const void* ptr,
|
||||
uint32_t dataLength,
|
||||
uint64_t dataLength,
|
||||
DawnCallbackUserdata userdata) {
|
||||
// Assume the data is uint32_t to make writing matchers easier
|
||||
mockBufferMapReadCallback->Call(status, static_cast<const uint32_t*>(ptr), dataLength,
|
||||
@@ -44,7 +44,7 @@ namespace {
|
||||
MOCK_METHOD4(Call,
|
||||
void(DawnBufferMapAsyncStatus status,
|
||||
uint32_t* ptr,
|
||||
uint32_t dataLength,
|
||||
uint64_t dataLength,
|
||||
DawnCallbackUserdata userdata));
|
||||
};
|
||||
|
||||
@@ -52,7 +52,7 @@ namespace {
|
||||
uint32_t* lastMapWritePointer = nullptr;
|
||||
void ToMockBufferMapWriteCallback(DawnBufferMapAsyncStatus status,
|
||||
void* ptr,
|
||||
uint32_t dataLength,
|
||||
uint64_t dataLength,
|
||||
DawnCallbackUserdata userdata) {
|
||||
// Assume the data is uint32_t to make writing matchers easier
|
||||
lastMapWritePointer = static_cast<uint32_t*>(ptr);
|
||||
|
||||
Reference in New Issue
Block a user