mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-12-10 14:08:04 +00:00
Add dawn_wire entrypoints to inject texture in the wire
This allows reserving a texture ID in the client and injecting textures in the wire, so that the WebGPU control channel can create WebGPU textures backed by SharedImages in Chromium. BUG=941543 Change-Id: I1efcfe3dce024bb2d3592f22225407a97b641c1f Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/5820 Commit-Queue: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Austin Eng <enga@chromium.org>
This commit is contained in:
committed by
Commit Bot service account
parent
e821ed6781
commit
339bd9d447
@@ -25,6 +25,12 @@ namespace dawn_wire {
|
||||
class Client;
|
||||
}
|
||||
|
||||
struct ReservedTexture {
|
||||
DawnTexture texture;
|
||||
uint32_t id;
|
||||
uint32_t generation;
|
||||
};
|
||||
|
||||
class DAWN_WIRE_EXPORT WireClient : public CommandHandler {
|
||||
public:
|
||||
WireClient(CommandSerializer* serializer);
|
||||
@@ -34,6 +40,8 @@ namespace dawn_wire {
|
||||
DawnProcTable GetProcs() const;
|
||||
const char* HandleCommands(const char* commands, size_t size) override final;
|
||||
|
||||
ReservedTexture ReserveTexture(DawnDevice device);
|
||||
|
||||
private:
|
||||
std::unique_ptr<client::Client> mImpl;
|
||||
};
|
||||
|
||||
@@ -32,6 +32,8 @@ namespace dawn_wire {
|
||||
|
||||
const char* HandleCommands(const char* commands, size_t size) override final;
|
||||
|
||||
bool InjectTexture(DawnTexture texture, uint32_t id, uint32_t generation);
|
||||
|
||||
private:
|
||||
std::unique_ptr<server::Server> mImpl;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user