]> git.tdb.fi Git - libs/gl.git/blobdiff - source/glsl/features.h
Use default member initializers for simple types
[libs/gl.git] / source / glsl / features.h
index b65a61e2fc8c0690a2e380ca690755c09b47bcba..14cc2b3743ed61cae347c62d90470f3fac9ad3c4 100644 (file)
@@ -1,7 +1,7 @@
 #ifndef MSP_GL_SL_FEATURES_H_
 #define MSP_GL_SL_FEATURES_H_
 
-#include <msp/gl/extension.h>
+#include <msp/gl/backend.h>
 
 namespace Msp {
 namespace GL {
@@ -9,19 +9,22 @@ namespace SL {
 
 struct Features
 {
-       GLApi gl_api;
+       GraphicsApi target_api = OPENGL;
        Version glsl_version;
-       bool arb_explicit_attrib_location;
-       bool arb_gpu_shader5;
-       bool arb_uniform_buffer_object;
-       bool ext_gpu_shader4;
-       bool ext_texture_array;
-       unsigned max_constant_id;
+       bool arb_enhanced_layouts = false;
+       bool arb_explicit_attrib_location = false;
+       bool arb_explicit_uniform_location = false;
+       bool arb_gpu_shader5 = false;
+       bool arb_separate_shader_objects = false;
+       bool arb_uniform_buffer_object = false;
+       bool ext_gpu_shader4 = false;
+       bool ext_texture_array = false;
+       unsigned constant_id_range = 0x80000000U;
+       unsigned uniform_binding_range = 84;
+       unsigned texture_binding_range = 96;
 
-       Features();
-
-       static Features from_context();
-       static Features all();
+       static Features from_version(const Version &);
+       static Features latest();
 };
 
 } // namespace SL