Update WGPUChainedStruct usage to match webgpu.h
In the webgpu-headers PR it was decided that in the C header
WGPUChainedStruct would be included as a member instead of members being
inlined.
See https://github.com/webgpu-native/webgpu-headers/pull/30
Bug: dawn:160
Change-Id: I8caf91f3106578077c80778621a632411da44423
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/15441
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
diff --git a/dawn.json b/dawn.json
index db94f4e..fccab43 100644
--- a/dawn.json
+++ b/dawn.json
@@ -650,7 +650,7 @@
},
"device lost callback": {
"category": "callback",
- "args" : [
+ "args": [
{"name": "message", "type": "char", "annotation": "const*"},
{"name": "userdata", "type": "void", "annotation": "*"}
]
diff --git a/generator/templates/dawn_native/wgpu_structs.cpp b/generator/templates/dawn_native/wgpu_structs.cpp
index bec3ebf..83f24ee 100644
--- a/generator/templates/dawn_native/wgpu_structs.cpp
+++ b/generator/templates/dawn_native/wgpu_structs.cpp
@@ -20,7 +20,7 @@
"sizeof mismatch for ChainedStruct");
static_assert(alignof(ChainedStruct) == alignof(WGPUChainedStruct),
"alignof mismatch for ChainedStruct");
- static_assert(offsetof(ChainedStruct, nextInChain) == offsetof(WGPUChainedStruct, nextInChain),
+ static_assert(offsetof(ChainedStruct, nextInChain) == offsetof(WGPUChainedStruct, next),
"offsetof mismatch for ChainedStruct::nextInChain");
static_assert(offsetof(ChainedStruct, sType) == offsetof(WGPUChainedStruct, sType),
"offsetof mismatch for ChainedStruct::sType");
diff --git a/generator/templates/webgpu.h b/generator/templates/webgpu.h
index 49e598c..52005ac 100644
--- a/generator/templates/webgpu.h
+++ b/generator/templates/webgpu.h
@@ -95,7 +95,7 @@
{% endfor %}
typedef struct WGPUChainedStruct {
- struct WGPUChainedStruct const * nextInChain;
+ struct WGPUChainedStruct const * next;
WGPUSType sType;
} WGPUChainedStruct;
@@ -105,8 +105,7 @@
WGPUChainedStruct const * nextInChain;
{% endif %}
{% if type.chained %}
- WGPUChainedStruct const * nextInChain;
- WGPUSType sType;
+ WGPUChainedStruct chain;
{% endif %}
{% for member in type.members %}
{{as_annotated_cType(member)}};
diff --git a/generator/templates/webgpu_cpp.cpp b/generator/templates/webgpu_cpp.cpp
index fcaac3e..7d22f64 100644
--- a/generator/templates/webgpu_cpp.cpp
+++ b/generator/templates/webgpu_cpp.cpp
@@ -46,7 +46,7 @@
"sizeof mismatch for ChainedStruct");
static_assert(alignof(ChainedStruct) == alignof(WGPUChainedStruct),
"alignof mismatch for ChainedStruct");
- static_assert(offsetof(ChainedStruct, nextInChain) == offsetof(WGPUChainedStruct, nextInChain),
+ static_assert(offsetof(ChainedStruct, nextInChain) == offsetof(WGPUChainedStruct, next),
"offsetof mismatch for ChainedStruct::nextInChain");
static_assert(offsetof(ChainedStruct, sType) == offsetof(WGPUChainedStruct, sType),
"offsetof mismatch for ChainedStruct::sType");