1 #include <msp/gl/extensions/arb_enhanced_layouts.h>
2 #include <msp/gl/extensions/arb_explicit_attrib_location.h>
3 #include <msp/gl/extensions/arb_explicit_uniform_location.h>
4 #include <msp/gl/extensions/arb_gpu_shader5.h>
5 #include <msp/gl/extensions/arb_separate_shader_objects.h>
6 #include <msp/gl/extensions/arb_uniform_buffer_object.h>
7 #include <msp/gl/extensions/ext_gpu_shader4.h>
8 #include <msp/gl/extensions/ext_texture_array.h>
17 arb_enhanced_layouts(false),
18 arb_explicit_attrib_location(false),
19 arb_explicit_uniform_location(false),
20 arb_gpu_shader5(false),
21 arb_separate_shader_objects(false),
22 arb_uniform_buffer_object(false),
23 ext_gpu_shader4(false),
24 ext_texture_array(false),
25 max_constant_id(0x7FFFFFFF)
28 Features Features::from_context()
31 features.gl_api = get_gl_api();
32 features.glsl_version = get_glsl_version();
33 features.arb_enhanced_layouts = ARB_enhanced_layouts;
34 features.arb_explicit_attrib_location = ARB_explicit_attrib_location;
35 features.arb_explicit_uniform_location = ARB_explicit_uniform_location;
36 features.arb_gpu_shader5 = ARB_gpu_shader5;
37 features.arb_separate_shader_objects = ARB_separate_shader_objects;
38 features.arb_uniform_buffer_object = ARB_uniform_buffer_object;
39 features.ext_gpu_shader4 = EXT_gpu_shader4;
40 features.ext_texture_array = EXT_texture_array;
44 Features Features::all()
47 features.gl_api = OPENGL;
48 features.glsl_version = Version(4, 60);
49 features.arb_enhanced_layouts = true;
50 features.arb_explicit_attrib_location = true;
51 features.arb_explicit_uniform_location = true;
52 features.arb_gpu_shader5 = true;
53 features.arb_separate_shader_objects = true;
54 features.arb_uniform_buffer_object = true;
55 features.ext_gpu_shader4 = true;
56 features.ext_texture_array = true;