Skip to content

Commit 43f1aa7

Browse files
committed
Autogenerate compile tests for INIT macros
1 parent a55c3c6 commit 43f1aa7

4 files changed

Lines changed: 101 additions & 113 deletions

File tree

Makefile

Lines changed: 9 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -19,43 +19,22 @@ gen: schema.json webgpu.yml tests/extensions/extension.yml
1919
-yaml tests/extensions/extension.yml \
2020
-out-json tests/extensions/extension.json \
2121
-out-header tests/extensions/webgpu_extension.h
22+
# Generate a test for each INIT macro defined in the header
23+
perl -ne 'print if s/^#define (WGPU_\w+_INIT) _wgpu_MAKE_INIT_STRUCT\((WGPU\w+),.*/{ \2 x = \1; }/' webgpu.h > tests/compile/init_tests_autogen.inl
24+
# Assert that that worked (e.g. in case we change the generator and the regex stops matching)
25+
[ "$$(wc -l < tests/compile/init_tests_autogen.inl)" -ge 89 ]
2226

23-
# Regenerate files (to validate schema) then autoformat YAML
27+
# Regenerate files (to validate schema in case something is broken) then autoformat YAML
2428
fix: gen
2529
go run ./fix -yaml webgpu.yml
2630
go run ./fix -yaml tests/extensions/extension.yml
2731

2832
# Verify that generation and autoformat are up to date (used for pull request checks)
2933
gen-check: fix gen
30-
@git diff --quiet -- webgpu.h || { \
31-
echo "error: The re-generated header from yml doesn't match the checked-in version"; \
32-
git diff -- webgpu.h; \
33-
exit 1; \
34-
}
35-
@git diff --quiet -- webgpu.json || { \
36-
echo "error: The re-translated webgpu.json from webgpu.yml doesn't match the checked-in version"; \
37-
git diff -- webgpu.json; \
38-
exit 1; \
39-
}
40-
@git diff --quiet -- webgpu.yml || { \
41-
echo "error: Please re-run 'make fix' to format the yml"; \
42-
git diff -- webgpu.yml; \
43-
exit 1; \
44-
}
45-
@git diff --quiet -- tests/extensions/webgpu_extension.h || { \
46-
echo "error: The re-generated extension header from yml doesn't match the checked-in version"; \
47-
git diff -- tests/extensions/webgpu_extension.h; \
48-
exit 1; \
49-
}
50-
@git diff --quiet -- tests/extensions/webgpu_extension.json || { \
51-
echo "error: The re-translated extension json from yml doesn't match the checked-in version"; \
52-
git diff -- tests/extensions/webgpu_extension.json; \
53-
exit 1; \
54-
}
55-
@git diff --quiet -- tests/extensions/extension.yml || { \
56-
echo "error: Please re-run 'make fix' to format the extension yml"; \
57-
git diff -- tests/extensions/extension.yml; \
58-
exit 1; \
34+
@git diff --quiet || { \
35+
echo "error: Some generated files have not been updated. Run 'make gen fix' or apply the changes manually:" \
36+
git diff; \
37+
exit 1; \
5938
}
6039

6140
doc: webgpu.h Doxyfile

tests/compile/Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ CLANG_WARNINGS = -Werror -Weverything \
3030
GCC_WARNINGS = -Werror -Wall -Wextra \
3131
-Wno-unused-variable -Wno-unused-but-set-variable
3232

33-
main-c.out: main.c main.inl ../../webgpu.h Makefile
33+
main-c.out: main.c main.inl init_tests_autogen.inl ../../webgpu.h Makefile
3434
# Compile as C
3535
clang -o $@ $< -std=c99 $(CLANG_WARNINGS)
3636
gcc -o $@ $< -std=c99 $(GCC_WARNINGS)
@@ -42,7 +42,7 @@ main-c.out: main.c main.inl ../../webgpu.h Makefile
4242
clang -o $@ $< -std=c2x $(CLANG_WARNINGS)
4343
gcc -o $@ $< -std=c2x $(GCC_WARNINGS)
4444

45-
main-cpp.out: main.cpp main.inl ../../webgpu.h Makefile
45+
main-cpp.out: main.cpp main.inl init_tests_autogen.inl ../../webgpu.h Makefile
4646
# Compile as C++
4747
clang++ -o $@ $< -std=c++98 $(CLANG_WARNINGS) -Wno-c++11-long-long
4848
g++ -o $@ $< -std=c++98 $(GCC_WARNINGS)
Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
{ WGPUStringView x = WGPU_STRING_VIEW_INIT; }
2+
{ WGPUBufferMapCallbackInfo x = WGPU_BUFFER_MAP_CALLBACK_INFO_INIT; }
3+
{ WGPUCompilationInfoCallbackInfo x = WGPU_COMPILATION_INFO_CALLBACK_INFO_INIT; }
4+
{ WGPUCreateComputePipelineAsyncCallbackInfo x = WGPU_CREATE_COMPUTE_PIPELINE_ASYNC_CALLBACK_INFO_INIT; }
5+
{ WGPUCreateRenderPipelineAsyncCallbackInfo x = WGPU_CREATE_RENDER_PIPELINE_ASYNC_CALLBACK_INFO_INIT; }
6+
{ WGPUDeviceLostCallbackInfo x = WGPU_DEVICE_LOST_CALLBACK_INFO_INIT; }
7+
{ WGPUPopErrorScopeCallbackInfo x = WGPU_POP_ERROR_SCOPE_CALLBACK_INFO_INIT; }
8+
{ WGPUQueueWorkDoneCallbackInfo x = WGPU_QUEUE_WORK_DONE_CALLBACK_INFO_INIT; }
9+
{ WGPURequestAdapterCallbackInfo x = WGPU_REQUEST_ADAPTER_CALLBACK_INFO_INIT; }
10+
{ WGPURequestDeviceCallbackInfo x = WGPU_REQUEST_DEVICE_CALLBACK_INFO_INIT; }
11+
{ WGPUUncapturedErrorCallbackInfo x = WGPU_UNCAPTURED_ERROR_CALLBACK_INFO_INIT; }
12+
{ WGPUAdapterInfo x = WGPU_ADAPTER_INFO_INIT; }
13+
{ WGPUBlendComponent x = WGPU_BLEND_COMPONENT_INIT; }
14+
{ WGPUBufferBindingLayout x = WGPU_BUFFER_BINDING_LAYOUT_INIT; }
15+
{ WGPUBufferDescriptor x = WGPU_BUFFER_DESCRIPTOR_INIT; }
16+
{ WGPUColor x = WGPU_COLOR_INIT; }
17+
{ WGPUCommandBufferDescriptor x = WGPU_COMMAND_BUFFER_DESCRIPTOR_INIT; }
18+
{ WGPUCommandEncoderDescriptor x = WGPU_COMMAND_ENCODER_DESCRIPTOR_INIT; }
19+
{ WGPUCompilationMessage x = WGPU_COMPILATION_MESSAGE_INIT; }
20+
{ WGPUConstantEntry x = WGPU_CONSTANT_ENTRY_INIT; }
21+
{ WGPUExtent3D x = WGPU_EXTENT_3D_INIT; }
22+
{ WGPUExternalTextureBindingEntry x = WGPU_EXTERNAL_TEXTURE_BINDING_ENTRY_INIT; }
23+
{ WGPUExternalTextureBindingLayout x = WGPU_EXTERNAL_TEXTURE_BINDING_LAYOUT_INIT; }
24+
{ WGPUFuture x = WGPU_FUTURE_INIT; }
25+
{ WGPUInstanceLimits x = WGPU_INSTANCE_LIMITS_INIT; }
26+
{ WGPULimits x = WGPU_LIMITS_INIT; }
27+
{ WGPUMultisampleState x = WGPU_MULTISAMPLE_STATE_INIT; }
28+
{ WGPUOrigin3D x = WGPU_ORIGIN_3D_INIT; }
29+
{ WGPUPassTimestampWrites x = WGPU_PASS_TIMESTAMP_WRITES_INIT; }
30+
{ WGPUPipelineLayoutDescriptor x = WGPU_PIPELINE_LAYOUT_DESCRIPTOR_INIT; }
31+
{ WGPUPrimitiveState x = WGPU_PRIMITIVE_STATE_INIT; }
32+
{ WGPUQuerySetDescriptor x = WGPU_QUERY_SET_DESCRIPTOR_INIT; }
33+
{ WGPUQueueDescriptor x = WGPU_QUEUE_DESCRIPTOR_INIT; }
34+
{ WGPURenderBundleDescriptor x = WGPU_RENDER_BUNDLE_DESCRIPTOR_INIT; }
35+
{ WGPURenderBundleEncoderDescriptor x = WGPU_RENDER_BUNDLE_ENCODER_DESCRIPTOR_INIT; }
36+
{ WGPURenderPassDepthStencilAttachment x = WGPU_RENDER_PASS_DEPTH_STENCIL_ATTACHMENT_INIT; }
37+
{ WGPURenderPassMaxDrawCount x = WGPU_RENDER_PASS_MAX_DRAW_COUNT_INIT; }
38+
{ WGPURequestAdapterWebXROptions x = WGPU_REQUEST_ADAPTER_WEBXR_OPTIONS_INIT; }
39+
{ WGPUSamplerBindingLayout x = WGPU_SAMPLER_BINDING_LAYOUT_INIT; }
40+
{ WGPUSamplerDescriptor x = WGPU_SAMPLER_DESCRIPTOR_INIT; }
41+
{ WGPUShaderSourceSPIRV x = WGPU_SHADER_SOURCE_SPIRV_INIT; }
42+
{ WGPUShaderSourceWGSL x = WGPU_SHADER_SOURCE_WGSL_INIT; }
43+
{ WGPUStencilFaceState x = WGPU_STENCIL_FACE_STATE_INIT; }
44+
{ WGPUStorageTextureBindingLayout x = WGPU_STORAGE_TEXTURE_BINDING_LAYOUT_INIT; }
45+
{ WGPUSupportedFeatures x = WGPU_SUPPORTED_FEATURES_INIT; }
46+
{ WGPUSupportedInstanceFeatures x = WGPU_SUPPORTED_INSTANCE_FEATURES_INIT; }
47+
{ WGPUSupportedWGSLLanguageFeatures x = WGPU_SUPPORTED_WGSL_LANGUAGE_FEATURES_INIT; }
48+
{ WGPUSurfaceCapabilities x = WGPU_SURFACE_CAPABILITIES_INIT; }
49+
{ WGPUSurfaceColorManagement x = WGPU_SURFACE_COLOR_MANAGEMENT_INIT; }
50+
{ WGPUSurfaceConfiguration x = WGPU_SURFACE_CONFIGURATION_INIT; }
51+
{ WGPUSurfaceSourceAndroidNativeWindow x = WGPU_SURFACE_SOURCE_ANDROID_NATIVE_WINDOW_INIT; }
52+
{ WGPUSurfaceSourceMetalLayer x = WGPU_SURFACE_SOURCE_METAL_LAYER_INIT; }
53+
{ WGPUSurfaceSourceWaylandSurface x = WGPU_SURFACE_SOURCE_WAYLAND_SURFACE_INIT; }
54+
{ WGPUSurfaceSourceWindowsHWND x = WGPU_SURFACE_SOURCE_WINDOWS_HWND_INIT; }
55+
{ WGPUSurfaceSourceXCBWindow x = WGPU_SURFACE_SOURCE_XCB_WINDOW_INIT; }
56+
{ WGPUSurfaceSourceXlibWindow x = WGPU_SURFACE_SOURCE_XLIB_WINDOW_INIT; }
57+
{ WGPUSurfaceTexture x = WGPU_SURFACE_TEXTURE_INIT; }
58+
{ WGPUTexelCopyBufferLayout x = WGPU_TEXEL_COPY_BUFFER_LAYOUT_INIT; }
59+
{ WGPUTextureBindingLayout x = WGPU_TEXTURE_BINDING_LAYOUT_INIT; }
60+
{ WGPUTextureComponentSwizzle x = WGPU_TEXTURE_COMPONENT_SWIZZLE_INIT; }
61+
{ WGPUTextureViewDescriptor x = WGPU_TEXTURE_VIEW_DESCRIPTOR_INIT; }
62+
{ WGPUVertexAttribute x = WGPU_VERTEX_ATTRIBUTE_INIT; }
63+
{ WGPUBindGroupEntry x = WGPU_BIND_GROUP_ENTRY_INIT; }
64+
{ WGPUBindGroupLayoutEntry x = WGPU_BIND_GROUP_LAYOUT_ENTRY_INIT; }
65+
{ WGPUBlendState x = WGPU_BLEND_STATE_INIT; }
66+
{ WGPUCompilationInfo x = WGPU_COMPILATION_INFO_INIT; }
67+
{ WGPUComputePassDescriptor x = WGPU_COMPUTE_PASS_DESCRIPTOR_INIT; }
68+
{ WGPUComputeState x = WGPU_COMPUTE_STATE_INIT; }
69+
{ WGPUDepthStencilState x = WGPU_DEPTH_STENCIL_STATE_INIT; }
70+
{ WGPUDeviceDescriptor x = WGPU_DEVICE_DESCRIPTOR_INIT; }
71+
{ WGPUFutureWaitInfo x = WGPU_FUTURE_WAIT_INFO_INIT; }
72+
{ WGPUInstanceDescriptor x = WGPU_INSTANCE_DESCRIPTOR_INIT; }
73+
{ WGPURenderPassColorAttachment x = WGPU_RENDER_PASS_COLOR_ATTACHMENT_INIT; }
74+
{ WGPURequestAdapterOptions x = WGPU_REQUEST_ADAPTER_OPTIONS_INIT; }
75+
{ WGPUShaderModuleDescriptor x = WGPU_SHADER_MODULE_DESCRIPTOR_INIT; }
76+
{ WGPUSurfaceDescriptor x = WGPU_SURFACE_DESCRIPTOR_INIT; }
77+
{ WGPUTexelCopyBufferInfo x = WGPU_TEXEL_COPY_BUFFER_INFO_INIT; }
78+
{ WGPUTexelCopyTextureInfo x = WGPU_TEXEL_COPY_TEXTURE_INFO_INIT; }
79+
{ WGPUTextureComponentSwizzleDescriptor x = WGPU_TEXTURE_COMPONENT_SWIZZLE_DESCRIPTOR_INIT; }
80+
{ WGPUTextureDescriptor x = WGPU_TEXTURE_DESCRIPTOR_INIT; }
81+
{ WGPUVertexBufferLayout x = WGPU_VERTEX_BUFFER_LAYOUT_INIT; }
82+
{ WGPUBindGroupDescriptor x = WGPU_BIND_GROUP_DESCRIPTOR_INIT; }
83+
{ WGPUBindGroupLayoutDescriptor x = WGPU_BIND_GROUP_LAYOUT_DESCRIPTOR_INIT; }
84+
{ WGPUColorTargetState x = WGPU_COLOR_TARGET_STATE_INIT; }
85+
{ WGPUComputePipelineDescriptor x = WGPU_COMPUTE_PIPELINE_DESCRIPTOR_INIT; }
86+
{ WGPURenderPassDescriptor x = WGPU_RENDER_PASS_DESCRIPTOR_INIT; }
87+
{ WGPUVertexState x = WGPU_VERTEX_STATE_INIT; }
88+
{ WGPUFragmentState x = WGPU_FRAGMENT_STATE_INIT; }
89+
{ WGPURenderPipelineDescriptor x = WGPU_RENDER_PIPELINE_DESCRIPTOR_INIT; }

tests/compile/main.inl

Lines changed: 1 addition & 81 deletions
Original file line numberDiff line numberDiff line change
@@ -64,85 +64,5 @@ int main(void) {
6464
}
6565

6666
// Check that generated initializers are valid
67-
// TODO: Would be nice to autogenerate this so we don't forget to test any new structs.
68-
{ WGPUBufferMapCallbackInfo x = WGPU_BUFFER_MAP_CALLBACK_INFO_INIT; }
69-
{ WGPUCompilationInfoCallbackInfo x = WGPU_COMPILATION_INFO_CALLBACK_INFO_INIT; }
70-
{ WGPUCreateComputePipelineAsyncCallbackInfo x = WGPU_CREATE_COMPUTE_PIPELINE_ASYNC_CALLBACK_INFO_INIT; }
71-
{ WGPUCreateRenderPipelineAsyncCallbackInfo x = WGPU_CREATE_RENDER_PIPELINE_ASYNC_CALLBACK_INFO_INIT; }
72-
{ WGPUDeviceLostCallbackInfo x = WGPU_DEVICE_LOST_CALLBACK_INFO_INIT; }
73-
{ WGPUPopErrorScopeCallbackInfo x = WGPU_POP_ERROR_SCOPE_CALLBACK_INFO_INIT; }
74-
{ WGPUQueueWorkDoneCallbackInfo x = WGPU_QUEUE_WORK_DONE_CALLBACK_INFO_INIT; }
75-
{ WGPURequestAdapterCallbackInfo x = WGPU_REQUEST_ADAPTER_CALLBACK_INFO_INIT; }
76-
{ WGPURequestDeviceCallbackInfo x = WGPU_REQUEST_DEVICE_CALLBACK_INFO_INIT; }
77-
{ WGPUUncapturedErrorCallbackInfo x = WGPU_UNCAPTURED_ERROR_CALLBACK_INFO_INIT; }
78-
{ WGPUAdapterInfo x = WGPU_ADAPTER_INFO_INIT; }
79-
{ WGPUBindGroupEntry x = WGPU_BIND_GROUP_ENTRY_INIT; }
80-
{ WGPUBlendComponent x = WGPU_BLEND_COMPONENT_INIT; }
81-
{ WGPUBufferBindingLayout x = WGPU_BUFFER_BINDING_LAYOUT_INIT; }
82-
{ WGPUBufferDescriptor x = WGPU_BUFFER_DESCRIPTOR_INIT; }
83-
{ WGPUColor x = WGPU_COLOR_INIT; }
84-
{ WGPUCommandBufferDescriptor x = WGPU_COMMAND_BUFFER_DESCRIPTOR_INIT; }
85-
{ WGPUCommandEncoderDescriptor x = WGPU_COMMAND_ENCODER_DESCRIPTOR_INIT; }
86-
{ WGPUCompilationMessage x = WGPU_COMPILATION_MESSAGE_INIT; }
87-
{ WGPUConstantEntry x = WGPU_CONSTANT_ENTRY_INIT; }
88-
{ WGPUFuture x = WGPU_FUTURE_INIT; }
89-
{ WGPUInstanceLimits x = WGPU_INSTANCE_LIMITS_INIT; }
90-
{ WGPULimits x = WGPU_LIMITS_INIT; }
91-
{ WGPUMultisampleState x = WGPU_MULTISAMPLE_STATE_INIT; }
92-
{ WGPUPassTimestampWrites x = WGPU_PASS_TIMESTAMP_WRITES_INIT; }
93-
{ WGPUPipelineLayoutDescriptor x = WGPU_PIPELINE_LAYOUT_DESCRIPTOR_INIT; }
94-
{ WGPUPrimitiveState x = WGPU_PRIMITIVE_STATE_INIT; }
95-
{ WGPUQuerySetDescriptor x = WGPU_QUERY_SET_DESCRIPTOR_INIT; }
96-
{ WGPUQueueDescriptor x = WGPU_QUEUE_DESCRIPTOR_INIT; }
97-
{ WGPURenderBundleDescriptor x = WGPU_RENDER_BUNDLE_DESCRIPTOR_INIT; }
98-
{ WGPURenderBundleEncoderDescriptor x = WGPU_RENDER_BUNDLE_ENCODER_DESCRIPTOR_INIT; }
99-
{ WGPURenderPassDepthStencilAttachment x = WGPU_RENDER_PASS_DEPTH_STENCIL_ATTACHMENT_INIT; }
100-
{ WGPURenderPassMaxDrawCount x = WGPU_RENDER_PASS_MAX_DRAW_COUNT_INIT; }
101-
{ WGPURequestAdapterOptions x = WGPU_REQUEST_ADAPTER_OPTIONS_INIT; }
102-
{ WGPUSamplerBindingLayout x = WGPU_SAMPLER_BINDING_LAYOUT_INIT; }
103-
{ WGPUSamplerDescriptor x = WGPU_SAMPLER_DESCRIPTOR_INIT; }
104-
{ WGPUShaderModuleDescriptor x = WGPU_SHADER_MODULE_DESCRIPTOR_INIT; }
105-
{ WGPUShaderSourceSPIRV x = WGPU_SHADER_SOURCE_SPIRV_INIT; }
106-
{ WGPUShaderSourceWGSL x = WGPU_SHADER_SOURCE_WGSL_INIT; }
107-
{ WGPUStencilFaceState x = WGPU_STENCIL_FACE_STATE_INIT; }
108-
{ WGPUStorageTextureBindingLayout x = WGPU_STORAGE_TEXTURE_BINDING_LAYOUT_INIT; }
109-
{ WGPUSupportedFeatures x = WGPU_SUPPORTED_FEATURES_INIT; }
110-
{ WGPUSupportedInstanceFeatures x = WGPU_SUPPORTED_INSTANCE_FEATURES_INIT; }
111-
{ WGPUSupportedWGSLLanguageFeatures x = WGPU_SUPPORTED_WGSL_LANGUAGE_FEATURES_INIT; }
112-
{ WGPUSurfaceCapabilities x = WGPU_SURFACE_CAPABILITIES_INIT; }
113-
{ WGPUSurfaceConfiguration x = WGPU_SURFACE_CONFIGURATION_INIT; }
114-
{ WGPUSurfaceDescriptor x = WGPU_SURFACE_DESCRIPTOR_INIT; }
115-
{ WGPUSurfaceSourceAndroidNativeWindow x = WGPU_SURFACE_SOURCE_ANDROID_NATIVE_WINDOW_INIT; }
116-
{ WGPUSurfaceSourceMetalLayer x = WGPU_SURFACE_SOURCE_METAL_LAYER_INIT; }
117-
{ WGPUSurfaceSourceWaylandSurface x = WGPU_SURFACE_SOURCE_WAYLAND_SURFACE_INIT; }
118-
{ WGPUSurfaceSourceWindowsHWND x = WGPU_SURFACE_SOURCE_WINDOWS_HWND_INIT; }
119-
{ WGPUSurfaceSourceXCBWindow x = WGPU_SURFACE_SOURCE_XCB_WINDOW_INIT; }
120-
{ WGPUSurfaceSourceXlibWindow x = WGPU_SURFACE_SOURCE_XLIB_WINDOW_INIT; }
121-
{ WGPUSurfaceTexture x = WGPU_SURFACE_TEXTURE_INIT; }
122-
{ WGPUTexelCopyBufferLayout x = WGPU_TEXEL_COPY_BUFFER_LAYOUT_INIT; }
123-
{ WGPUTextureBindingLayout x = WGPU_TEXTURE_BINDING_LAYOUT_INIT; }
124-
{ WGPUTextureViewDescriptor x = WGPU_TEXTURE_VIEW_DESCRIPTOR_INIT; }
125-
{ WGPUVertexAttribute x = WGPU_VERTEX_ATTRIBUTE_INIT; }
126-
{ WGPUBindGroupDescriptor x = WGPU_BIND_GROUP_DESCRIPTOR_INIT; }
127-
{ WGPUBindGroupLayoutEntry x = WGPU_BIND_GROUP_LAYOUT_ENTRY_INIT; }
128-
{ WGPUBlendState x = WGPU_BLEND_STATE_INIT; }
129-
{ WGPUCompilationInfo x = WGPU_COMPILATION_INFO_INIT; }
130-
{ WGPUComputePassDescriptor x = WGPU_COMPUTE_PASS_DESCRIPTOR_INIT; }
131-
{ WGPUComputeState x = WGPU_COMPUTE_STATE_INIT; }
132-
{ WGPUDepthStencilState x = WGPU_DEPTH_STENCIL_STATE_INIT; }
133-
{ WGPUDeviceDescriptor x = WGPU_DEVICE_DESCRIPTOR_INIT; }
134-
{ WGPUFutureWaitInfo x = WGPU_FUTURE_WAIT_INFO_INIT; }
135-
{ WGPUInstanceDescriptor x = WGPU_INSTANCE_DESCRIPTOR_INIT; }
136-
{ WGPURenderPassColorAttachment x = WGPU_RENDER_PASS_COLOR_ATTACHMENT_INIT; }
137-
{ WGPUTexelCopyBufferInfo x = WGPU_TEXEL_COPY_BUFFER_INFO_INIT; }
138-
{ WGPUTexelCopyTextureInfo x = WGPU_TEXEL_COPY_TEXTURE_INFO_INIT; }
139-
{ WGPUTextureDescriptor x = WGPU_TEXTURE_DESCRIPTOR_INIT; }
140-
{ WGPUVertexBufferLayout x = WGPU_VERTEX_BUFFER_LAYOUT_INIT; }
141-
{ WGPUBindGroupLayoutDescriptor x = WGPU_BIND_GROUP_LAYOUT_DESCRIPTOR_INIT; }
142-
{ WGPUColorTargetState x = WGPU_COLOR_TARGET_STATE_INIT; }
143-
{ WGPUComputePipelineDescriptor x = WGPU_COMPUTE_PIPELINE_DESCRIPTOR_INIT; }
144-
{ WGPURenderPassDescriptor x = WGPU_RENDER_PASS_DESCRIPTOR_INIT; }
145-
{ WGPUVertexState x = WGPU_VERTEX_STATE_INIT; }
146-
{ WGPUFragmentState x = WGPU_FRAGMENT_STATE_INIT; }
147-
{ WGPURenderPipelineDescriptor x = WGPU_RENDER_PIPELINE_DESCRIPTOR_INIT; }
67+
#include "./init_tests_autogen.inl"
14868
}

0 commit comments

Comments
 (0)