+/**
+Contains information about various limits imposed by the graphics device.
+*/
+struct DeviceLimits
+{
+ unsigned max_clip_planes = 6;
+ unsigned max_vertex_attributes = 16;
+ unsigned max_texture_bindings = 16;
+ unsigned max_storage_texture_bindings = 8;
+ unsigned max_color_attachments = 8;
+ unsigned max_samples = 4;
+ unsigned max_uniform_bindings = 24;
+ unsigned uniform_buffer_alignment = 256;
+ float max_anisotropy = 1.0f;
+};
+
+/**
+Contains information about a graphics device.
+*/
+struct DeviceInfo
+{
+ GraphicsApi api;
+ Version api_version;
+ DeviceLimits limits;
+ SL::Features glsl_features;
+};
+