mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-12-16 00:17:03 +00:00
Revert "Special-case GetDefaultQueue in the wire"
This reverts commit f93791ab62.
Reason for revert: breaks gl_tests on roll.
Original change's description:
> Special-case GetDefaultQueue in the wire
>
> This makes it so calling GetDefaultQueue always returns the same
> object. It required updating various WireTests to account for the
> additional wire calls.
>
> Bug: dawn:22
>
> Change-Id: I8c74374b7c732b8bb7d0490bbc740dee0d2dface
> Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/19726
> Commit-Queue: Corentin Wallez <cwallez@chromium.org>
> Reviewed-by: Austin Eng <enga@chromium.org>
> Reviewed-by: Kai Ninomiya <kainino@chromium.org>
TBR=cwallez@chromium.org,kainino@chromium.org,enga@chromium.org
# Not skipping CQ checks because original CL landed > 1 day ago.
Bug: dawn:22
Change-Id: Id2f051b1d4be64a6e16ee8bbe998d72028660334
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/19980
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
This commit is contained in:
committed by
Commit Bot service account
parent
98334dfdf7
commit
5e088591ca
@@ -25,7 +25,7 @@ class QueueTests : public DawnTest {};
|
||||
TEST_P(QueueTests, GetDefaultQueueSameObject) {
|
||||
wgpu::Queue q1 = device.GetDefaultQueue();
|
||||
wgpu::Queue q2 = device.GetDefaultQueue();
|
||||
EXPECT_EQ(q1.Get(), q2.Get());
|
||||
EXPECT_EQ(q1.Get() == q2.Get(), !UsesWire());
|
||||
}
|
||||
|
||||
DAWN_INSTANTIATE_TEST(QueueTests,
|
||||
|
||||
@@ -232,6 +232,11 @@ TEST_F(WireArgumentTests, ObjectsAsPointerArgument) {
|
||||
.WillOnce(Return(apiCmdBufs[i]));
|
||||
}
|
||||
|
||||
// Create queue
|
||||
WGPUQueue queue = wgpuDeviceGetDefaultQueue(device);
|
||||
WGPUQueue apiQueue = api.GetNewQueue();
|
||||
EXPECT_CALL(api, DeviceGetDefaultQueue(apiDevice)).WillOnce(Return(apiQueue));
|
||||
|
||||
// Submit command buffer and check we got a call with both API-side command buffers
|
||||
wgpuQueueSubmit(queue, 2, cmdBufs);
|
||||
|
||||
|
||||
@@ -43,6 +43,12 @@ class WireFenceTests : public WireTest {
|
||||
mockFenceOnCompletionCallback =
|
||||
std::make_unique<StrictMock<MockFenceOnCompletionCallback>>();
|
||||
|
||||
{
|
||||
queue = wgpuDeviceGetDefaultQueue(device);
|
||||
apiQueue = api.GetNewQueue();
|
||||
EXPECT_CALL(api, DeviceGetDefaultQueue(apiDevice)).WillOnce(Return(apiQueue));
|
||||
FlushClient();
|
||||
}
|
||||
{
|
||||
WGPUFenceDescriptor descriptor = {};
|
||||
descriptor.initialValue = 1;
|
||||
@@ -83,6 +89,9 @@ class WireFenceTests : public WireTest {
|
||||
// A successfully created fence
|
||||
WGPUFence fence;
|
||||
WGPUFence apiFence;
|
||||
|
||||
WGPUQueue queue;
|
||||
WGPUQueue apiQueue;
|
||||
};
|
||||
|
||||
// Check that signaling a fence succeeds
|
||||
@@ -218,8 +227,7 @@ TEST_F(WireFenceTests, DestroyBeforeOnCompletionEnd) {
|
||||
}
|
||||
|
||||
// Test that signaling a fence on a wrong queue is invalid
|
||||
// DISABLED until we have support for multiple queues.
|
||||
TEST_F(WireFenceTests, DISABLED_SignalWrongQueue) {
|
||||
TEST_F(WireFenceTests, SignalWrongQueue) {
|
||||
WGPUQueue queue2 = wgpuDeviceGetDefaultQueue(device);
|
||||
WGPUQueue apiQueue2 = api.GetNewQueue();
|
||||
EXPECT_CALL(api, DeviceGetDefaultQueue(apiDevice)).WillOnce(Return(apiQueue2));
|
||||
@@ -232,8 +240,7 @@ TEST_F(WireFenceTests, DISABLED_SignalWrongQueue) {
|
||||
}
|
||||
|
||||
// Test that signaling a fence on a wrong queue does not update fence signaled value
|
||||
// DISABLED until we have support for multiple queues.
|
||||
TEST_F(WireFenceTests, DISABLED_SignalWrongQueueDoesNotUpdateValue) {
|
||||
TEST_F(WireFenceTests, SignalWrongQueueDoesNotUpdateValue) {
|
||||
WGPUQueue queue2 = wgpuDeviceGetDefaultQueue(device);
|
||||
WGPUQueue apiQueue2 = api.GetNewQueue();
|
||||
EXPECT_CALL(api, DeviceGetDefaultQueue(apiDevice)).WillOnce(Return(apiQueue2));
|
||||
|
||||
@@ -69,12 +69,6 @@ class WireMultipleDeviceTests : public testing::Test {
|
||||
mS2cBuf->SetHandler(mWireClient.get());
|
||||
|
||||
mClientDevice = mWireClient->GetDevice();
|
||||
|
||||
// The GetDefaultQueue is done on WireClient startup so we expect it now.
|
||||
mClientQueue = wgpuDeviceGetDefaultQueue(mClientDevice);
|
||||
mServerQueue = mApi.GetNewQueue();
|
||||
EXPECT_CALL(mApi, DeviceGetDefaultQueue(mServerDevice)).WillOnce(Return(mServerQueue));
|
||||
FlushClient();
|
||||
}
|
||||
|
||||
~WireHolder() {
|
||||
@@ -103,14 +97,6 @@ class WireMultipleDeviceTests : public testing::Test {
|
||||
return mServerDevice;
|
||||
}
|
||||
|
||||
WGPUQueue ClientQueue() {
|
||||
return mClientQueue;
|
||||
}
|
||||
|
||||
WGPUQueue ServerQueue() {
|
||||
return mServerQueue;
|
||||
}
|
||||
|
||||
private:
|
||||
testing::StrictMock<MockProcTable> mApi;
|
||||
std::unique_ptr<dawn_wire::WireServer> mWireServer;
|
||||
@@ -119,8 +105,6 @@ class WireMultipleDeviceTests : public testing::Test {
|
||||
std::unique_ptr<utils::TerribleCommandBuffer> mC2sBuf;
|
||||
WGPUDevice mServerDevice;
|
||||
WGPUDevice mClientDevice;
|
||||
WGPUQueue mServerQueue;
|
||||
WGPUQueue mClientQueue;
|
||||
};
|
||||
|
||||
void ExpectInjectedError(WireHolder* wire) {
|
||||
@@ -150,12 +134,20 @@ TEST_F(WireMultipleDeviceTests, ValidatesSameDevice) {
|
||||
WireHolder wireA;
|
||||
WireHolder wireB;
|
||||
|
||||
// Create the fence
|
||||
// Create the objects
|
||||
WGPUQueue queueA = wgpuDeviceGetDefaultQueue(wireA.ClientDevice());
|
||||
WGPUQueue queueB = wgpuDeviceGetDefaultQueue(wireB.ClientDevice());
|
||||
|
||||
WGPUFenceDescriptor desc = {};
|
||||
WGPUFence fenceA = wgpuQueueCreateFence(wireA.ClientQueue(), &desc);
|
||||
WGPUFence fenceA = wgpuQueueCreateFence(queueA, &desc);
|
||||
|
||||
// Flush on wire B. We should see the queue created.
|
||||
EXPECT_CALL(*wireB.Api(), DeviceGetDefaultQueue(wireB.ServerDevice()))
|
||||
.WillOnce(Return(wireB.Api()->GetNewQueue()));
|
||||
wireB.FlushClient();
|
||||
|
||||
// Signal with a fence from a different wire.
|
||||
wgpuQueueSignal(wireB.ClientQueue(), fenceA, 1u);
|
||||
wgpuQueueSignal(queueB, fenceA, 1u);
|
||||
|
||||
// We should inject an error into the server.
|
||||
ExpectInjectedError(&wireB);
|
||||
|
||||
@@ -70,12 +70,6 @@ void WireTest::SetUp() {
|
||||
dawnProcSetProcs(&clientProcs);
|
||||
|
||||
apiDevice = mockDevice;
|
||||
|
||||
// The GetDefaultQueue is done on WireClient startup so we expect it now.
|
||||
queue = wgpuDeviceGetDefaultQueue(device);
|
||||
apiQueue = api.GetNewQueue();
|
||||
EXPECT_CALL(api, DeviceGetDefaultQueue(apiDevice)).WillOnce(Return(apiQueue));
|
||||
FlushClient();
|
||||
}
|
||||
|
||||
void WireTest::TearDown() {
|
||||
@@ -110,7 +104,6 @@ dawn_wire::WireClient* WireTest::GetWireClient() {
|
||||
}
|
||||
|
||||
void WireTest::DeleteServer() {
|
||||
EXPECT_CALL(api, QueueRelease(apiQueue)).Times(1);
|
||||
mWireServer = nullptr;
|
||||
}
|
||||
|
||||
|
||||
@@ -123,9 +123,7 @@ class WireTest : public testing::Test {
|
||||
|
||||
testing::StrictMock<MockProcTable> api;
|
||||
WGPUDevice apiDevice;
|
||||
WGPUQueue apiQueue;
|
||||
WGPUDevice device;
|
||||
WGPUQueue queue;
|
||||
|
||||
dawn_wire::WireServer* GetWireServer();
|
||||
dawn_wire::WireClient* GetWireClient();
|
||||
|
||||
Reference in New Issue
Block a user