X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Fcore%2Fdeviceinfo.h;h=a95841197a9c604585ec82aed8b039cbff25438e;hp=6f20854409a52439031546993ba14b1ae3b58ec3;hb=959efbf61663efd7879070ce0447e02c8a447ce0;hpb=009918e76dda88b0cb68fdaa20c63d6e952af260 diff --git a/source/core/deviceinfo.h b/source/core/deviceinfo.h index 6f208544..a9584119 100644 --- a/source/core/deviceinfo.h +++ b/source/core/deviceinfo.h @@ -1,28 +1,39 @@ #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(); + /** Returns information for the device currently in use. */ static const DeviceInfo &get_global(); };