]> git.tdb.fi Git - libs/gl.git/blob - source/core/deviceinfo.h
Remove obsolete includes
[libs/gl.git] / source / core / deviceinfo.h
1 #ifndef MSP_GL_DEVICEINFO_H_
2 #define MSP_GL_DEVICEINFO_H_
3
4 #include "glsl/features.h"
5
6 namespace Msp {
7 namespace GL {
8
9 /**
10 Contains information about various limits imposed by the graphics device.
11 */
12 struct Limits
13 {
14         unsigned max_clip_planes = 6;
15         unsigned max_vertex_attributes = 16;
16         unsigned max_texture_bindings = 16;
17         unsigned max_color_attachments = 8;
18         unsigned max_samples = 4;
19         unsigned max_uniform_bindings = 24;
20         unsigned uniform_buffer_alignment = 256;
21         float max_anisotropy = 1.0f;
22
23         Limits();
24 };
25
26 /**
27 Contains information about a graphics device.
28 */
29 struct DeviceInfo
30 {
31         Limits limits;
32         SL::Features glsl_features;
33
34         DeviceInfo();
35
36         /** Returns information for the device currently in use. */
37         static const DeviceInfo &get_global();
38 };
39
40 } // namespace GL
41 } // namespace Msp
42
43 #endif