]> git.tdb.fi Git - libs/gl.git/blobdiff - source/core/deviceinfo.h
Remove obsolete includes
[libs/gl.git] / source / core / deviceinfo.h
index 1eb120ff2ec509921ed2dfa84fbcbce92393953d..a95841197a9c604585ec82aed8b039cbff25438e 100644 (file)
@@ -1,22 +1,40 @@
 #ifndef MSP_GL_DEVICEINFO_H_
 #define MSP_GL_DEVICEINFO_H_
 
+#include "glsl/features.h"
+
 namespace Msp {
 namespace GL {
 
+/**
+Contains information about various limits imposed by the graphics device.
+*/
 struct Limits
 {
-       unsigned max_vertex_attributes;
-       unsigned max_texture_bindings;
-       unsigned max_uniform_bindings;
-       unsigned max_clip_planes;
-       unsigned max_samples;
-       unsigned uniform_buffer_alignment;
-       unsigned max_color_attachments;
+       unsigned max_clip_planes = 6;
+       unsigned max_vertex_attributes = 16;
+       unsigned max_texture_bindings = 16;
+       unsigned max_color_attachments = 8;
+       unsigned max_samples = 4;
+       unsigned max_uniform_bindings = 24;
+       unsigned uniform_buffer_alignment = 256;
+       float max_anisotropy = 1.0f;
 
        Limits();
+};
+
+/**
+Contains information about a graphics device.
+*/
+struct DeviceInfo
+{
+       Limits limits;
+       SL::Features glsl_features;
+
+       DeviceInfo();
 
-       static const Limits &get_global();
+       /** Returns information for the device currently in use. */
+       static const DeviceInfo &get_global();
 };
 
 } // namespace GL