]> git.tdb.fi Git - libs/gl.git/blob - source/glsl/features.h
Remove support for array size specialization from the engine as well
[libs/gl.git] / source / glsl / features.h
1 #ifndef MSP_GL_SL_FEATURES_H_
2 #define MSP_GL_SL_FEATURES_H_
3
4 #include <msp/gl/backend.h>
5
6 namespace Msp {
7 namespace GL {
8 namespace SL {
9
10 struct Features
11 {
12         GraphicsApi target_api = OPENGL;
13         Version glsl_version;
14         bool arb_enhanced_layouts = false;
15         bool arb_explicit_attrib_location = false;
16         bool arb_explicit_uniform_location = false;
17         bool arb_gpu_shader5 = false;
18         bool arb_separate_shader_objects = false;
19         bool arb_uniform_buffer_object = false;
20         bool ext_gpu_shader4 = false;
21         bool ext_texture_array = false;
22         unsigned constant_id_range = 0x80000000U;
23         unsigned uniform_binding_range = 24;
24         unsigned texture_binding_range = 16;
25
26         static Features from_opengl_version(const Version &);
27         static Features opengl_latest();
28 };
29
30 } // namespace SL
31 } // namespace GL
32 } // namespace Msp
33
34 #endif