diff --git a/src/dawn_native/opengl/DeviceGL.cpp b/src/dawn_native/opengl/DeviceGL.cpp
index 137525a..2d27e00 100644
--- a/src/dawn_native/opengl/DeviceGL.cpp
+++ b/src/dawn_native/opengl/DeviceGL.cpp
@@ -54,7 +54,7 @@
         return new BindGroup(builder);
     }
     ResultOrError<BindGroupLayoutBase*> Device::CreateBindGroupLayoutImpl(
-        const dawn::BindGroupLayoutDescriptor* descriptor) {
+        const BindGroupLayoutDescriptor* descriptor) {
         return new BindGroupLayout(this, descriptor);
     }
     BlendStateBase* Device::CreateBlendState(BlendStateBuilder* builder) {
@@ -79,7 +79,7 @@
         return new InputState(builder);
     }
     ResultOrError<PipelineLayoutBase*> Device::CreatePipelineLayoutImpl(
-        const dawn::PipelineLayoutDescriptor* descriptor) {
+        const PipelineLayoutDescriptor* descriptor) {
         return new PipelineLayout(this, descriptor);
     }
     ResultOrError<QueueBase*> Device::CreateQueueImpl() {
@@ -92,8 +92,7 @@
     RenderPipelineBase* Device::CreateRenderPipeline(RenderPipelineBuilder* builder) {
         return new RenderPipeline(builder);
     }
-    ResultOrError<SamplerBase*> Device::CreateSamplerImpl(
-        const dawn::SamplerDescriptor* descriptor) {
+    ResultOrError<SamplerBase*> Device::CreateSamplerImpl(const SamplerDescriptor* descriptor) {
         return new Sampler(this, descriptor);
     }
     ShaderModuleBase* Device::CreateShaderModule(ShaderModuleBuilder* builder) {
diff --git a/src/dawn_native/opengl/DeviceGL.h b/src/dawn_native/opengl/DeviceGL.h
index 862b22e..e77a240 100644
--- a/src/dawn_native/opengl/DeviceGL.h
+++ b/src/dawn_native/opengl/DeviceGL.h
@@ -15,7 +15,7 @@
 #ifndef DAWNNATIVE_OPENGL_DEVICEGL_H_
 #define DAWNNATIVE_OPENGL_DEVICEGL_H_
 
-#include "dawn/dawncpp.h"
+#include "dawn_native/dawn_platform.h"
 
 #include "common/Platform.h"
 #include "dawn_native/Device.h"
@@ -52,12 +52,11 @@
 
       private:
         ResultOrError<BindGroupLayoutBase*> CreateBindGroupLayoutImpl(
-            const dawn::BindGroupLayoutDescriptor* descriptor) override;
+            const BindGroupLayoutDescriptor* descriptor) override;
         ResultOrError<PipelineLayoutBase*> CreatePipelineLayoutImpl(
-            const dawn::PipelineLayoutDescriptor* descriptor) override;
+            const PipelineLayoutDescriptor* descriptor) override;
         ResultOrError<QueueBase*> CreateQueueImpl() override;
-        ResultOrError<SamplerBase*> CreateSamplerImpl(
-            const dawn::SamplerDescriptor* descriptor) override;
+        ResultOrError<SamplerBase*> CreateSamplerImpl(const SamplerDescriptor* descriptor) override;
     };
 
 }}  // namespace dawn_native::opengl
diff --git a/src/dawn_native/opengl/PersistentPipelineStateGL.h b/src/dawn_native/opengl/PersistentPipelineStateGL.h
index c67f2a5..3519e2a 100644
--- a/src/dawn_native/opengl/PersistentPipelineStateGL.h
+++ b/src/dawn_native/opengl/PersistentPipelineStateGL.h
@@ -15,7 +15,7 @@
 #ifndef DAWNNATIVE_OPENGL_PERSISTENTPIPELINESTATEGL_H_
 #define DAWNNATIVE_OPENGL_PERSISTENTPIPELINESTATEGL_H_
 
-#include "dawn/dawncpp.h"
+#include "dawn_native/dawn_platform.h"
 
 #include "glad/glad.h"
 
diff --git a/src/dawn_native/opengl/PipelineLayoutGL.cpp b/src/dawn_native/opengl/PipelineLayoutGL.cpp
index 4f5c5a4..8f2cdaa 100644
--- a/src/dawn_native/opengl/PipelineLayoutGL.cpp
+++ b/src/dawn_native/opengl/PipelineLayoutGL.cpp
@@ -20,7 +20,7 @@
 
 namespace dawn_native { namespace opengl {
 
-    PipelineLayout::PipelineLayout(Device* device, const dawn::PipelineLayoutDescriptor* descriptor)
+    PipelineLayout::PipelineLayout(Device* device, const PipelineLayoutDescriptor* descriptor)
         : PipelineLayoutBase(device, descriptor) {
         GLuint uboIndex = 0;
         GLuint samplerIndex = 0;
diff --git a/src/dawn_native/opengl/PipelineLayoutGL.h b/src/dawn_native/opengl/PipelineLayoutGL.h
index e824e3f..abf6acf 100644
--- a/src/dawn_native/opengl/PipelineLayoutGL.h
+++ b/src/dawn_native/opengl/PipelineLayoutGL.h
@@ -25,7 +25,7 @@
 
     class PipelineLayout : public PipelineLayoutBase {
       public:
-        PipelineLayout(Device* device, const dawn::PipelineLayoutDescriptor* descriptor);
+        PipelineLayout(Device* device, const PipelineLayoutDescriptor* descriptor);
 
         using BindingIndexInfo =
             std::array<std::array<GLuint, kMaxBindingsPerGroup>, kMaxBindGroups>;
diff --git a/src/dawn_native/opengl/SamplerGL.cpp b/src/dawn_native/opengl/SamplerGL.cpp
index d8ee7a4..ebf4757 100644
--- a/src/dawn_native/opengl/SamplerGL.cpp
+++ b/src/dawn_native/opengl/SamplerGL.cpp
@@ -71,7 +71,7 @@
 
     }  // namespace
 
-    Sampler::Sampler(Device* device, const dawn::SamplerDescriptor* descriptor)
+    Sampler::Sampler(Device* device, const SamplerDescriptor* descriptor)
         : SamplerBase(device, descriptor) {
         glGenSamplers(1, &mHandle);
         glSamplerParameteri(mHandle, GL_TEXTURE_MAG_FILTER, MagFilterMode(descriptor->magFilter));
diff --git a/src/dawn_native/opengl/SamplerGL.h b/src/dawn_native/opengl/SamplerGL.h
index a94f239..3e6e84c 100644
--- a/src/dawn_native/opengl/SamplerGL.h
+++ b/src/dawn_native/opengl/SamplerGL.h
@@ -25,7 +25,7 @@
 
     class Sampler : public SamplerBase {
       public:
-        Sampler(Device* device, const dawn::SamplerDescriptor* descriptor);
+        Sampler(Device* device, const SamplerDescriptor* descriptor);
 
         GLuint GetHandle() const;
 
