struct WGPULimits {
struct WGPUChainedStruct* nextInChain;
unsigned int maxTextureDimension1D;
unsigned int maxTextureDimension2D;
unsigned int maxTextureDimension3D;
unsigned int maxTextureArrayLayers;
unsigned int maxBindGroups;
unsigned int maxBindGroupsPlusVertexBuffers;
unsigned int maxBindingsPerBindGroup;
unsigned int maxDynamicUniformBuffersPerPipelineLayout;
unsigned int maxDynamicStorageBuffersPerPipelineLayout;
unsigned int maxSampledTexturesPerShaderStage;
unsigned int maxSamplersPerShaderStage;
unsigned int maxStorageBuffersPerShaderStage;
unsigned int maxStorageTexturesPerShaderStage;
unsigned int maxUniformBuffersPerShaderStage;
unsigned long maxUniformBufferBindingSize;
unsigned long maxStorageBufferBindingSize;
unsigned int minUniformBufferOffsetAlignment;
unsigned int minStorageBufferOffsetAlignment;
unsigned int maxVertexBuffers;
unsigned long maxBufferSize;
unsigned int maxVertexAttributes;
unsigned int maxVertexBufferArrayStride;
unsigned int maxInterStageShaderVariables;
unsigned int maxColorAttachments;
unsigned int maxColorAttachmentBytesPerSample;
unsigned int maxComputeWorkgroupStorageSize;
unsigned int maxComputeInvocationsPerWorkgroup;
unsigned int maxComputeWorkgroupSizeX;
unsigned int maxComputeWorkgroupSizeY;
unsigned int maxComputeWorkgroupSizeZ;
unsigned int maxComputeWorkgroupsPerDimension;
unsigned int maxImmediateSize;
}