Change usage requirements for Buffer::SetSubData to require TransferDst

instead of MapWrite bit
This commit is contained in:
Austin Eng
2017-06-12 17:33:44 -04:00
committed by Austin Eng
parent 5c92537418
commit 39c901d3dc
9 changed files with 21 additions and 21 deletions

View File

@@ -69,8 +69,8 @@ namespace backend {
return;
}
if (!(currentUsage & nxt::BufferUsageBit::MapWrite)) {
device->HandleError("Buffer needs the map write usage bit");
if (!(currentUsage & nxt::BufferUsageBit::TransferDst)) {
device->HandleError("Buffer needs the transfer dst usage bit");
return;
}

View File

@@ -116,7 +116,7 @@ namespace null {
Buffer::Buffer(BufferBuilder* builder)
: BufferBase(builder) {
if (GetAllowedUsage() & (nxt::BufferUsageBit::MapRead | nxt::BufferUsageBit::MapWrite)) {
if (GetAllowedUsage() & (nxt::BufferUsageBit::TransferDst | nxt::BufferUsageBit::MapRead | nxt::BufferUsageBit::MapWrite)) {
backingData = std::unique_ptr<char[]>(new char[GetSize()]);
}
}

View File

@@ -41,8 +41,8 @@ class BufferValidationTest : public ValidationTest {
nxt::Buffer CreateSetSubDataBuffer(uint32_t size) {
return device.CreateBufferBuilder()
.SetSize(size)
.SetAllowedUsage(nxt::BufferUsageBit::MapWrite)
.SetInitialUsage(nxt::BufferUsageBit::MapWrite)
.SetAllowedUsage(nxt::BufferUsageBit::TransferDst)
.SetInitialUsage(nxt::BufferUsageBit::TransferDst)
.GetResult();
}
@@ -275,7 +275,7 @@ TEST_F(BufferValidationTest, SetSubDataOutOfBounds) {
TEST_F(BufferValidationTest, SetSubDataWrongUsage) {
nxt::Buffer buf = device.CreateBufferBuilder()
.SetSize(4)
.SetAllowedUsage(nxt::BufferUsageBit::MapWrite | nxt::BufferUsageBit::Vertex)
.SetAllowedUsage(nxt::BufferUsageBit::TransferDst | nxt::BufferUsageBit::Vertex)
.SetInitialUsage(nxt::BufferUsageBit::Vertex)
.GetResult();