• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1//* Copyright 2020 The Dawn Authors
2//*
3//* Licensed under the Apache License, Version 2.0 (the "License");
4//* you may not use this file except in compliance with the License.
5//* You may obtain a copy of the License at
6//*
7//*     http://www.apache.org/licenses/LICENSE-2.0
8//*
9//* Unless required by applicable law or agreed to in writing, software
10//* distributed under the License is distributed on an "AS IS" BASIS,
11//* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12//* See the License for the specific language governing permissions and
13//* limitations under the License.
14//*
15//*
16//* This generator is used to produce part of Emscripten's struct_info.json,
17//* which is a list of struct fields that it uses to generate field offset
18//* information for its own code generators.
19//* https://github.com/emscripten-core/emscripten/blob/master/src/struct_info.json
20//*
21    {
22        "file": "webgpu/webgpu.h",
23        "defines": [],
24        "structs": {
25            "WGPUChainedStruct": [
26                "next",
27                "sType"
28            ],
29            {% for type in by_category["structure"] %}
30                "{{as_cType(type.name)}}": [
31                    {% if type.chained %}
32                        "chain"
33                    {%- elif type.extensible %}
34                        "nextInChain"
35                    {%- endif %}
36                    {% for member in type.members -%}
37                        {%- if (type.chained or type.extensible) or not loop.first -%}
38                            ,
39                        {% endif %}
40                        "{{as_varName(member.name)}}"
41                    {%- endfor %}
42
43                ]
44                {%- if not loop.last -%}
45                    ,
46                {% endif %}
47            {% endfor %}
48
49        }
50    }
51