Skip to content

Commit e68f5a4

Browse files
add implicit suffix & namespaces
1 parent f67cc42 commit e68f5a4

File tree

5 files changed

+157
-107
lines changed

5 files changed

+157
-107
lines changed

gen/cheader.tmpl

Lines changed: 29 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@
5757
{{- if .Constants}}
5858
{{- range .Constants}}
5959
{{- MComment .Doc 0}}
60-
#define WGPU_{{.Name | ConstantCase}} ({{.Value | CValue}})
60+
#define WGPU_{{.Name | ConstantCase}}{{if $.ExtSuffix}}_{{$.ExtSuffix}}{{end}} ({{.Value | CValue}})
6161
{{- end}}
6262
{{ end}}
6363

@@ -69,50 +69,50 @@ typedef uint32_t WGPUBool;
6969
{{- if .Objects}}
7070
{{- range .Objects}}
7171
{{- 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;
7373
{{- end}}
7474
{{- end}}
7575
{{ end}}
7676

7777
{{- if .Structs}}
7878
// Structure forward declarations
7979
{{- range .Structs}}
80-
struct WGPU{{.Name | PascalCase}};
80+
struct WGPU{{.Name | PascalCase}}{{$.ExtSuffix}};
8181
{{- end}}
8282
{{ end}}
8383

8484
{{- range $enum := .Enums}}
8585
{{- if .Extended}}
8686
{{- 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}});
8888
{{- end}}
8989
{{- else}}
9090
{{- MComment .Doc 0}}
91-
typedef enum WGPU{{.Name | PascalCase}} {
91+
typedef enum WGPU{{.Name | PascalCase}}{{$.ExtSuffix}} {
9292
{{- range $entryIndex, $_ := .Entries}}
9393
{{- 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}},
9595
{{- 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;
9898
{{- end}}
9999
{{ end}}
100100

101101
{{- range $bitflag := .Bitflags}}
102102
{{- if .Extended}}
103103
{{- 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}});
105105
{{- end}}
106106
{{- else}}
107107
{{- MComment .Doc 0}}
108-
typedef enum WGPU{{.Name | PascalCase}} {
108+
typedef enum WGPU{{.Name | PascalCase}}{{$.ExtSuffix}} {
109109
{{- range $entryIndex, $_ := .Entries}}
110110
{{- 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}},
112112
{{- 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;
116116
{{- end}}
117117
{{ end}}
118118

@@ -122,15 +122,15 @@ typedef void (*WGPUProc)(void) WGPU_FUNCTION_ATTRIBUTE;
122122

123123
{{- range .FunctionTypes}}
124124
{{- 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;
126126
{{- end}}
127127

128128
{{- if .Objects}}
129129
{{ range $object := .Objects}}
130130
{{- range $method := .Methods}}
131131
{{- if .ReturnsAsync}}
132132
{{- 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;
134134
{{- end}}
135135
{{- end}}
136136
{{- end}}
@@ -148,9 +148,9 @@ typedef struct WGPUChainedStructOut {
148148
} WGPUChainedStructOut WGPU_STRUCTURE_ATTRIBUTE;
149149
{{ end}}
150150

151-
{{- range .Structs}}
151+
{{- range $struct := .Structs}}
152152
{{- MComment .Doc 0}}
153-
typedef struct WGPU{{.Name | PascalCase}} {
153+
typedef struct WGPU{{.Name | PascalCase}}{{$.ExtSuffix}} {
154154
{{- if eq .Type "base_in" }}
155155
WGPUChainedStruct const * nextInChain;
156156
{{- else if eq .Type "base_out" }}
@@ -160,17 +160,10 @@ typedef struct WGPU{{.Name | PascalCase}} {
160160
{{- else if eq .Type "extension_out"}}
161161
WGPUChainedStructOut chain;
162162
{{- 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}}
172165
{{- end}}
173-
} WGPU{{.Name | PascalCase}} WGPU_STRUCTURE_ATTRIBUTE;
166+
} WGPU{{.Name | PascalCase}}{{$.ExtSuffix}} WGPU_STRUCTURE_ATTRIBUTE;
174167
{{ end}}{{"\n" -}}
175168

176169
#ifdef __cplusplus
@@ -181,7 +174,7 @@ extern "C" {
181174

182175
{{- range .Functions}}
183176
{{- 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;
185178
{{- end}}
186179
{{- if eq .Name "webgpu"}}
187180
typedef WGPUProc (*WGPUProcGetProcAddress)(WGPUDevice device, char const * procName) WGPU_FUNCTION_ATTRIBUTE;
@@ -191,11 +184,11 @@ typedef WGPUProc (*WGPUProcGetProcAddress)(WGPUDevice device, char const * procN
191184
// Procs of {{$object.Name | PascalCase}}
192185
{{- range $object.Methods}}
193186
{{- 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;
195188
{{- end}}
196189
{{- 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;
199192
{{- end}}
200193
{{ end}}{{"\n" -}}
201194

@@ -205,7 +198,7 @@ typedef void (*WGPUProc{{.Name | PascalCase}}Release)(WGPU{{.Name | PascalCase}}
205198

206199
{{- range .Functions}}
207200
{{- 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;
209202
{{- end}}
210203
{{- if eq .Name "webgpu"}}
211204
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
215208
// Methods of {{$object.Name | PascalCase}}
216209
{{- range $object.Methods}}
217210
{{- 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;
219212
{{- end}}
220213
{{- 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;
223216
{{- end}}
224217
{{ end}}{{"\n" -}}
225218

0 commit comments

Comments
 (0)