mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-12-18 01:15:39 +00:00
Create wire Client and Server classes with private impl
This creates proper Client and Server interfaces which will be necessary for adding additional features to the Wire for chrome integration Bug: dawn:103 Change-Id: I181e95079b0bac85c2c6152ad8066a94b80c8d28 Reviewed-on: https://dawn-review.googlesource.com/c/4002 Commit-Queue: Austin Eng <enga@chromium.org> Reviewed-by: Kai Ninomiya <kainino@chromium.org>
This commit is contained in:
committed by
Commit Bot service account
parent
62e83971ca
commit
e2c851372a
@@ -19,7 +19,8 @@
|
||||
#include "common/Math.h"
|
||||
#include "common/Platform.h"
|
||||
#include "dawn_native/DawnNative.h"
|
||||
#include "dawn_wire/Wire.h"
|
||||
#include "dawn_wire/WireClient.h"
|
||||
#include "dawn_wire/WireServer.h"
|
||||
#include "utils/BackendBinding.h"
|
||||
#include "utils/DawnHelpers.h"
|
||||
#include "utils/SystemUtils.h"
|
||||
@@ -192,13 +193,12 @@ void DawnTest::SetUp() {
|
||||
mC2sBuf = std::make_unique<utils::TerribleCommandBuffer>();
|
||||
mS2cBuf = std::make_unique<utils::TerribleCommandBuffer>();
|
||||
|
||||
mWireServer.reset(
|
||||
dawn_wire::NewServerCommandHandler(backendDevice, backendProcs, mS2cBuf.get()));
|
||||
mWireServer.reset(new dawn_wire::WireServer(backendDevice, backendProcs, mS2cBuf.get()));
|
||||
mC2sBuf->SetHandler(mWireServer.get());
|
||||
|
||||
dawnDevice clientDevice;
|
||||
dawnProcTable clientProcs;
|
||||
mWireClient.reset(dawn_wire::NewClientDevice(&clientProcs, &clientDevice, mC2sBuf.get()));
|
||||
mWireClient.reset(new dawn_wire::WireClient(mC2sBuf.get()));
|
||||
dawnDevice clientDevice = mWireClient->GetDevice();
|
||||
dawnProcTable clientProcs = mWireClient->GetProcs();
|
||||
mS2cBuf->SetHandler(mWireClient.get());
|
||||
|
||||
procs = clientProcs;
|
||||
|
||||
@@ -72,7 +72,8 @@ namespace detail {
|
||||
}
|
||||
|
||||
namespace dawn_wire {
|
||||
class CommandHandler;
|
||||
class WireClient;
|
||||
class WireServer;
|
||||
} // namespace dawn_wire
|
||||
|
||||
class DawnTest : public ::testing::TestWithParam<dawn_native::BackendType> {
|
||||
@@ -129,8 +130,8 @@ class DawnTest : public ::testing::TestWithParam<dawn_native::BackendType> {
|
||||
|
||||
private:
|
||||
// Things used to set up testing through the Wire.
|
||||
std::unique_ptr<dawn_wire::CommandHandler> mWireServer;
|
||||
std::unique_ptr<dawn_wire::CommandHandler> mWireClient;
|
||||
std::unique_ptr<dawn_wire::WireServer> mWireServer;
|
||||
std::unique_ptr<dawn_wire::WireClient> mWireClient;
|
||||
std::unique_ptr<utils::TerribleCommandBuffer> mC2sBuf;
|
||||
std::unique_ptr<utils::TerribleCommandBuffer> mS2cBuf;
|
||||
void FlushWire();
|
||||
|
||||
@@ -17,13 +17,13 @@
|
||||
|
||||
#include "common/Assert.h"
|
||||
#include "common/Constants.h"
|
||||
#include "dawn_wire/Wire.h"
|
||||
#include "dawn_wire/WireClient.h"
|
||||
#include "dawn_wire/WireServer.h"
|
||||
#include "utils/TerribleCommandBuffer.h"
|
||||
|
||||
#include <memory>
|
||||
|
||||
using namespace testing;
|
||||
using namespace dawn_wire;
|
||||
|
||||
// Definition of a "Lambda predicate matcher" for GMock to allow checking deep structures
|
||||
// are passed correctly by the wire.
|
||||
@@ -156,11 +156,12 @@ class WireTestsBase : public Test {
|
||||
mS2cBuf = std::make_unique<utils::TerribleCommandBuffer>();
|
||||
mC2sBuf = std::make_unique<utils::TerribleCommandBuffer>(mWireServer.get());
|
||||
|
||||
mWireServer.reset(NewServerCommandHandler(mockDevice, mockProcs, mS2cBuf.get()));
|
||||
mWireServer.reset(new dawn_wire::WireServer(mockDevice, mockProcs, mS2cBuf.get()));
|
||||
mC2sBuf->SetHandler(mWireServer.get());
|
||||
|
||||
dawnProcTable clientProcs;
|
||||
mWireClient.reset(NewClientDevice(&clientProcs, &device, mC2sBuf.get()));
|
||||
mWireClient.reset(new dawn_wire::WireClient(mC2sBuf.get()));
|
||||
dawnProcTable clientProcs = mWireClient->GetProcs();
|
||||
device = mWireClient->GetDevice();
|
||||
dawnSetProcs(&clientProcs);
|
||||
mS2cBuf->SetHandler(mWireClient.get());
|
||||
|
||||
@@ -197,8 +198,8 @@ class WireTestsBase : public Test {
|
||||
private:
|
||||
bool mIgnoreSetCallbackCalls = false;
|
||||
|
||||
std::unique_ptr<CommandHandler> mWireServer;
|
||||
std::unique_ptr<CommandHandler> mWireClient;
|
||||
std::unique_ptr<dawn_wire::WireServer> mWireServer;
|
||||
std::unique_ptr<dawn_wire::WireClient> mWireClient;
|
||||
std::unique_ptr<utils::TerribleCommandBuffer> mS2cBuf;
|
||||
std::unique_ptr<utils::TerribleCommandBuffer> mC2sBuf;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user