Add missing ToBackend implementation for Adapter
BUG=dawn:29
Change-Id: I00926dd201c7a8f24d769078540c75c25f210515
Reviewed-on: https://dawn-review.googlesource.com/c/3842
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
diff --git a/src/dawn_native/Forward.h b/src/dawn_native/Forward.h
index 05b3f80..5373f66 100644
--- a/src/dawn_native/Forward.h
+++ b/src/dawn_native/Forward.h
@@ -19,6 +19,7 @@
namespace dawn_native {
+ class AdapterBase;
class BindGroupBase;
class BindGroupBuilder;
class BindGroupLayoutBase;
@@ -32,6 +33,7 @@
class FenceBase;
class InputStateBase;
class InputStateBuilder;
+ class InstanceBase;
class PipelineLayoutBase;
class PipelineLayoutBuilder;
class QueueBase;
diff --git a/src/dawn_native/ToBackend.h b/src/dawn_native/ToBackend.h
index 94391f3..585a40d 100644
--- a/src/dawn_native/ToBackend.h
+++ b/src/dawn_native/ToBackend.h
@@ -24,6 +24,11 @@
struct ToBackendTraits;
template <typename BackendTraits>
+ struct ToBackendTraits<AdapterBase, BackendTraits> {
+ using BackendType = typename BackendTraits::AdapterType;
+ };
+
+ template <typename BackendTraits>
struct ToBackendTraits<BindGroupBase, BackendTraits> {
using BackendType = typename BackendTraits::BindGroupType;
};
diff --git a/src/dawn_native/d3d12/Forward.h b/src/dawn_native/d3d12/Forward.h
index 49d1375..d4fa333 100644
--- a/src/dawn_native/d3d12/Forward.h
+++ b/src/dawn_native/d3d12/Forward.h
@@ -19,6 +19,7 @@
namespace dawn_native { namespace d3d12 {
+ class Adapter;
class BindGroup;
class BindGroupLayout;
class Buffer;
@@ -37,6 +38,7 @@
class TextureView;
struct D3D12BackendTraits {
+ using AdapterType = Adapter;
using BindGroupType = BindGroup;
using BindGroupLayoutType = BindGroupLayout;
using BufferType = Buffer;
diff --git a/src/dawn_native/metal/Forward.h b/src/dawn_native/metal/Forward.h
index 599a797..df8b1d0 100644
--- a/src/dawn_native/metal/Forward.h
+++ b/src/dawn_native/metal/Forward.h
@@ -25,6 +25,7 @@
namespace dawn_native { namespace metal {
+ class Adapter;
using BindGroup = BindGroupBase;
using BindGroupLayout = BindGroupLayoutBase;
class Buffer;
@@ -44,6 +45,7 @@
class TextureView;
struct MetalBackendTraits {
+ using AdapterType = Adapter;
using BindGroupType = BindGroup;
using BindGroupLayoutType = BindGroupLayout;
using BufferType = Buffer;
diff --git a/src/dawn_native/null/DeviceNull.h b/src/dawn_native/null/DeviceNull.h
index 563d31d..dd5029a 100644
--- a/src/dawn_native/null/DeviceNull.h
+++ b/src/dawn_native/null/DeviceNull.h
@@ -35,6 +35,7 @@
namespace dawn_native { namespace null {
+ class Adapter;
using BindGroup = BindGroupBase;
using BindGroupLayout = BindGroupLayoutBase;
class Buffer;
@@ -53,6 +54,7 @@
using TextureView = TextureViewBase;
struct NullBackendTraits {
+ using AdapterType = Adapter;
using BindGroupType = BindGroup;
using BindGroupLayoutType = BindGroupLayout;
using BufferType = Buffer;
diff --git a/src/dawn_native/opengl/Forward.h b/src/dawn_native/opengl/Forward.h
index 49c381c..486bb13 100644
--- a/src/dawn_native/opengl/Forward.h
+++ b/src/dawn_native/opengl/Forward.h
@@ -25,6 +25,7 @@
namespace dawn_native { namespace opengl {
+ class Adapter;
using BindGroup = BindGroupBase;
using BindGroupLayout = BindGroupLayoutBase;
class Buffer;
@@ -44,6 +45,7 @@
class TextureView;
struct OpenGLBackendTraits {
+ using AdapterType = Adapter;
using BindGroupType = BindGroup;
using BindGroupLayoutType = BindGroupLayout;
using BufferType = Buffer;
diff --git a/src/dawn_native/vulkan/Forward.h b/src/dawn_native/vulkan/Forward.h
index 36b35ce..aade94e 100644
--- a/src/dawn_native/vulkan/Forward.h
+++ b/src/dawn_native/vulkan/Forward.h
@@ -19,6 +19,7 @@
namespace dawn_native { namespace vulkan {
+ class Adapter;
class BindGroup;
class BindGroupLayout;
class Buffer;
@@ -37,6 +38,7 @@
class TextureView;
struct VulkanBackendTraits {
+ using AdapterType = Adapter;
using BindGroupType = BindGroup;
using BindGroupLayoutType = BindGroupLayout;
using BufferType = Buffer;