Use the correct C structure when converting 'out' extensible structures.
Change-Id: Ie0c9386c933253a47bf38d042c93a7cc520cea84
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/216714
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Auto-Submit: Jim Blackler <jimblackler@google.com>
Commit-Queue: Jim Blackler <jimblackler@google.com>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
diff --git a/generator/templates/art/structures.cpp b/generator/templates/art/structures.cpp
index 2848018..3aa57b9 100644
--- a/generator/templates/art/structures.cpp
+++ b/generator/templates/art/structures.cpp
@@ -139,9 +139,10 @@
{%- for structure in chain_children[structure.name.get()] %}
jobject {{ structure.name.camelCase() }} = nullptr;
{% endfor %}
+ {% set ChainedStruct = "WGPUChainedStructOut" if structure.extensible == "out" else "WGPUChainedStruct" %}
//* Walk the chain to find and convert (recursively) all child structures.
{%- if chain_children[structure.name.get()] %}
- for (const WGPUChainedStruct* child = input->nextInChain;
+ for (const {{ChainedStruct}}* child = input->nextInChain;
child != nullptr; child = child->next) {
switch (child->sType) {
{% for structure in chain_children[structure.name.get()] %}