57
57
{{- if .Constants}}
58
58
{{- range .Constants}}
59
59
{{- MComment .Doc 0}}
60
- #define WGPU_{{.Name | ConstantCase}} ({{.Value | CValue}})
60
+ #define WGPU_{{.Name | ConstantCase}}{{if $.ExtSuffix}}_{{$.ExtSuffix}}{{end}} ({{.Value | CValue}})
61
61
{{- end}}
62
62
{{ end}}
63
63
@@ -69,50 +69,50 @@ typedef uint32_t WGPUBool;
69
69
{{- if .Objects}}
70
70
{{- range .Objects}}
71
71
{{- if not .IsStruct}}
72
- typedef struct WGPU{{.Name | PascalCase}}Impl* WGPU{{.Name | PascalCase}} WGPU_OBJECT_ATTRIBUTE;
72
+ typedef struct WGPU{{.Name | PascalCase}}{{$.ExtSuffix}} Impl* WGPU{{.Name | PascalCase}}{{$.ExtSuffix }} WGPU_OBJECT_ATTRIBUTE;
73
73
{{- end}}
74
74
{{- end}}
75
75
{{ end}}
76
76
77
77
{{- if .Structs}}
78
78
// Structure forward declarations
79
79
{{- range .Structs}}
80
- struct WGPU{{.Name | PascalCase}};
80
+ struct WGPU{{.Name | PascalCase}}{{$.ExtSuffix}} ;
81
81
{{- end}}
82
82
{{ end}}
83
83
84
84
{{- range $enum := .Enums}}
85
85
{{- if .Extended}}
86
86
{{- range $entryIndex, $_ := .Entries}}
87
- __WGPU_EXTEND_ENUM(WGPU{{$enum.Name | PascalCase}}, WGPU{{$enum.Name | PascalCase}}_{{.Name | PascalCase}}, {{EnumValue $.EnumPrefix $enum $entryIndex}});
87
+ __WGPU_EXTEND_ENUM(WGPU{{$enum.Name | PascalCase}}, WGPU{{$enum.Name | PascalCase}}_{{.Name | PascalCase}}{{if $.ExtSuffix}}_{{$.ExtSuffix}}{{end}} , {{EnumValue $.EnumPrefix $enum $entryIndex}});
88
88
{{- end}}
89
89
{{- else}}
90
90
{{- MComment .Doc 0}}
91
- typedef enum WGPU{{.Name | PascalCase}} {
91
+ typedef enum WGPU{{.Name | PascalCase}}{{$.ExtSuffix}} {
92
92
{{- range $entryIndex, $_ := .Entries}}
93
93
{{- MComment .Doc 4}}
94
- WGPU{{$enum.Name | PascalCase}}_{{.Name | PascalCase}} = {{EnumValue $.EnumPrefix $enum $entryIndex}},
94
+ WGPU{{$enum.Name | PascalCase}}_{{.Name | PascalCase}}{{if $.ExtSuffix}}_{{$.ExtSuffix}}{{end}} = {{EnumValue $.EnumPrefix $enum $entryIndex}},
95
95
{{- end}}
96
- WGPU{{$enum.Name | PascalCase}}_Force32 = 0x7FFFFFFF
97
- } WGPU{{$enum.Name | PascalCase}} WGPU_ENUM_ATTRIBUTE;
96
+ WGPU{{$enum.Name | PascalCase}}_Force32{{if $.ExtSuffix}}_{{$.ExtSuffix}}{{end}} = 0x7FFFFFFF
97
+ } WGPU{{$enum.Name | PascalCase}}{{$.ExtSuffix}} WGPU_ENUM_ATTRIBUTE;
98
98
{{- end}}
99
99
{{ end}}
100
100
101
101
{{- range $bitflag := .Bitflags}}
102
102
{{- if .Extended}}
103
103
{{- range $entryIndex, $_ := .Entries}}
104
- __WGPU_EXTEND_ENUM(WGPU{{$bitflag.Name | PascalCase}}, WGPU{{$bitflag.Name | PascalCase}}_{{.Name | PascalCase}}, {{BitflagValue $bitflag $entryIndex}});
104
+ __WGPU_EXTEND_ENUM(WGPU{{$bitflag.Name | PascalCase}}, WGPU{{$bitflag.Name | PascalCase}}_{{.Name | PascalCase}}{{if $.ExtSuffix}}_{{$.ExtSuffix}}{{end}} , {{BitflagValue $bitflag $entryIndex}});
105
105
{{- end}}
106
106
{{- else}}
107
107
{{- MComment .Doc 0}}
108
- typedef enum WGPU{{.Name | PascalCase}} {
108
+ typedef enum WGPU{{.Name | PascalCase}}{{$.ExtSuffix}} {
109
109
{{- range $entryIndex, $_ := .Entries}}
110
110
{{- MComment .Doc 4}}
111
- WGPU{{$bitflag.Name | PascalCase}}_{{.Name | PascalCase}} = {{BitflagValue $bitflag $entryIndex}},
111
+ WGPU{{$bitflag.Name | PascalCase}}_{{.Name | PascalCase}}{{if $.ExtSuffix}}_{{$.ExtSuffix}}{{end}} = {{BitflagValue $bitflag $entryIndex}},
112
112
{{- end}}
113
- WGPU{{$bitflag.Name | PascalCase}}_Force32 = 0x7FFFFFFF
114
- } WGPU{{$bitflag.Name | PascalCase}} WGPU_ENUM_ATTRIBUTE;
115
- typedef WGPUFlags WGPU{{$bitflag.Name | PascalCase}}Flags WGPU_ENUM_ATTRIBUTE;
113
+ WGPU{{$bitflag.Name | PascalCase}}_Force32{{if $.ExtSuffix}}_{{$.ExtSuffix}}{{end}} = 0x7FFFFFFF
114
+ } WGPU{{$bitflag.Name | PascalCase}}{{$.ExtSuffix}} WGPU_ENUM_ATTRIBUTE;
115
+ typedef WGPUFlags WGPU{{$bitflag.Name | PascalCase}}Flags{{$.ExtSuffix}} WGPU_ENUM_ATTRIBUTE;
116
116
{{- end}}
117
117
{{ end}}
118
118
@@ -122,15 +122,15 @@ typedef void (*WGPUProc)(void) WGPU_FUNCTION_ATTRIBUTE;
122
122
123
123
{{- range .FunctionTypes}}
124
124
{{- MComment .Doc 0}}
125
- typedef {{FunctionReturns .}} (*WGPU{{.Name | PascalCase}})({{FunctionArgs . nil}}) WGPU_FUNCTION_ATTRIBUTE;
125
+ typedef {{FunctionReturns .}} (*WGPU{{.Name | PascalCase}}{{$.ExtSuffix}} )({{FunctionArgs . nil}}) WGPU_FUNCTION_ATTRIBUTE;
126
126
{{- end}}
127
127
128
128
{{- if .Objects}}
129
129
{{ range $object := .Objects}}
130
130
{{- range $method := .Methods}}
131
131
{{- if .ReturnsAsync}}
132
132
{{- MComment .Doc 0}}
133
- typedef void (*WGPU{{$object.Name | PascalCase}}{{$method.Name | PascalCase}}Callback)({{CallbackArgs .}}) WGPU_FUNCTION_ATTRIBUTE;
133
+ typedef void (*WGPU{{$object.Name | PascalCase}}{{$method.Name | PascalCase}}Callback{{$.ExtSuffix}} )({{CallbackArgs .}}) WGPU_FUNCTION_ATTRIBUTE;
134
134
{{- end}}
135
135
{{- end}}
136
136
{{- end}}
@@ -148,9 +148,9 @@ typedef struct WGPUChainedStructOut {
148
148
} WGPUChainedStructOut WGPU_STRUCTURE_ATTRIBUTE;
149
149
{{ end}}
150
150
151
- {{- range .Structs}}
151
+ {{- range $struct := .Structs}}
152
152
{{- MComment .Doc 0}}
153
- typedef struct WGPU{{.Name | PascalCase}} {
153
+ typedef struct WGPU{{.Name | PascalCase}}{{$.ExtSuffix}} {
154
154
{{- if eq .Type "base_in" }}
155
155
WGPUChainedStruct const * nextInChain;
156
156
{{- else if eq .Type "base_out" }}
@@ -160,17 +160,10 @@ typedef struct WGPU{{.Name | PascalCase}} {
160
160
{{- else if eq .Type "extension_out"}}
161
161
WGPUChainedStructOut chain;
162
162
{{- end}}
163
- {{- range .Members}}
164
- {{- if IsArray .Type}}
165
- size_t {{.Name | CamelCase | Singularize}}Count;
166
- {{- MComment .Doc 4}}
167
- {{ArrayType .Type .Pointer}} {{.Name | CamelCase}};
168
- {{- else}}
169
- {{- MComment .Doc 4}}
170
- {{if .Optional}}WGPU_NULLABLE {{end}}{{CType .Type .Pointer}} {{.Name | CamelCase}};
171
- {{- end}}
163
+ {{- range $memberIndex, $_ := .Members}}
164
+ {{ StructMember $struct $memberIndex}}
172
165
{{- end}}
173
- } WGPU{{.Name | PascalCase}} WGPU_STRUCTURE_ATTRIBUTE;
166
+ } WGPU{{.Name | PascalCase}}{{$.ExtSuffix}} WGPU_STRUCTURE_ATTRIBUTE;
174
167
{{ end}}{{"\n" -}}
175
168
176
169
#ifdef __cplusplus
@@ -181,7 +174,7 @@ extern "C" {
181
174
182
175
{{- range .Functions}}
183
176
{{- MComment .Doc 0}}
184
- typedef {{FunctionReturns .}} (*WGPUProc{{.Name | PascalCase}})({{FunctionArgs . nil}}) WGPU_FUNCTION_ATTRIBUTE;
177
+ typedef {{FunctionReturns .}} (*WGPUProc{{.Name | PascalCase}}{{$.ExtSuffix}} )({{FunctionArgs . nil}}) WGPU_FUNCTION_ATTRIBUTE;
185
178
{{- end}}
186
179
{{- if eq .Name "webgpu"}}
187
180
typedef WGPUProc (*WGPUProcGetProcAddress)(WGPUDevice device, char const * procName) WGPU_FUNCTION_ATTRIBUTE;
@@ -191,11 +184,11 @@ typedef WGPUProc (*WGPUProcGetProcAddress)(WGPUDevice device, char const * procN
191
184
// Procs of {{$object.Name | PascalCase}}
192
185
{{- range $object.Methods}}
193
186
{{- MComment .Doc 0}}
194
- typedef {{FunctionReturns .}} (*WGPUProc{{$object.Name | PascalCase}}{{.Name | PascalCase}})({{FunctionArgs . $object}}) WGPU_FUNCTION_ATTRIBUTE;
187
+ typedef {{FunctionReturns .}} (*WGPUProc{{$object.Name | PascalCase}}{{.Name | PascalCase}}{{$.ExtSuffix}} )({{FunctionArgs . $object}}) WGPU_FUNCTION_ATTRIBUTE;
195
188
{{- end}}
196
189
{{- if not (or .IsStruct .Extended)}}
197
- typedef void (*WGPUProc{{.Name | PascalCase}}Reference)(WGPU{{.Name | PascalCase}} {{.Name | CamelCase}}) WGPU_FUNCTION_ATTRIBUTE;
198
- typedef void (*WGPUProc{{.Name | PascalCase}}Release)(WGPU{{.Name | PascalCase}} {{.Name | CamelCase}}) WGPU_FUNCTION_ATTRIBUTE;
190
+ typedef void (*WGPUProc{{.Name | PascalCase}}Reference{{$.ExtSuffix}} )(WGPU{{.Name | PascalCase}} {{.Name | CamelCase}}) WGPU_FUNCTION_ATTRIBUTE;
191
+ typedef void (*WGPUProc{{.Name | PascalCase}}Release{{$.ExtSuffix}} )(WGPU{{.Name | PascalCase}} {{.Name | CamelCase}}) WGPU_FUNCTION_ATTRIBUTE;
199
192
{{- end}}
200
193
{{ end}}{{"\n" -}}
201
194
@@ -205,7 +198,7 @@ typedef void (*WGPUProc{{.Name | PascalCase}}Release)(WGPU{{.Name | PascalCase}}
205
198
206
199
{{- range .Functions}}
207
200
{{- MComment .Doc 0}}
208
- WGPU_EXPORT {{FunctionReturns .}} wgpu{{.Name | PascalCase}}({{FunctionArgs . nil}}) WGPU_FUNCTION_ATTRIBUTE;
201
+ WGPU_EXPORT {{FunctionReturns .}} wgpu{{.Name | PascalCase}}{{$.ExtSuffix}} ({{FunctionArgs . nil}}) WGPU_FUNCTION_ATTRIBUTE;
209
202
{{- end}}
210
203
{{- if eq .Name "webgpu"}}
211
204
WGPU_EXPORT WGPUProc wgpuGetProcAddress(WGPUDevice device, char const * procName) WGPU_FUNCTION_ATTRIBUTE;
@@ -215,11 +208,11 @@ WGPU_EXPORT WGPUProc wgpuGetProcAddress(WGPUDevice device, char const * procName
215
208
// Methods of {{$object.Name | PascalCase}}
216
209
{{- range $object.Methods}}
217
210
{{- MComment .Doc 0}}
218
- WGPU_EXPORT {{FunctionReturns .}} wgpu{{$object.Name | PascalCase}}{{.Name | PascalCase}}({{FunctionArgs . $object}}) WGPU_FUNCTION_ATTRIBUTE;
211
+ WGPU_EXPORT {{FunctionReturns .}} wgpu{{$object.Name | PascalCase}}{{.Name | PascalCase}}{{$.ExtSuffix}} ({{FunctionArgs . $object}}) WGPU_FUNCTION_ATTRIBUTE;
219
212
{{- end}}
220
213
{{- if not (or .IsStruct .Extended)}}
221
- WGPU_EXPORT void wgpu{{.Name | PascalCase}}Reference(WGPU{{.Name | PascalCase}} {{.Name | CamelCase}}) WGPU_FUNCTION_ATTRIBUTE;
222
- WGPU_EXPORT void wgpu{{.Name | PascalCase}}Release(WGPU{{.Name | PascalCase}} {{.Name | CamelCase}}) WGPU_FUNCTION_ATTRIBUTE;
214
+ WGPU_EXPORT void wgpu{{.Name | PascalCase}}Reference{{$.ExtSuffix}} (WGPU{{.Name | PascalCase}} {{.Name | CamelCase}}) WGPU_FUNCTION_ATTRIBUTE;
215
+ WGPU_EXPORT void wgpu{{.Name | PascalCase}}Release{{$.ExtSuffix}} (WGPU{{.Name | PascalCase}} {{.Name | CamelCase}}) WGPU_FUNCTION_ATTRIBUTE;
223
216
{{- end}}
224
217
{{ end}}{{"\n" -}}
225
218
0 commit comments