]> git.tdb.fi Git - libs/gl.git/blobdiff - source/glsl/features.h
Make backend idenfication more generic
[libs/gl.git] / source / glsl / features.h
index 8f7a3e7c342eb69d12856c93f1f9af6ae017aaf4..ca74d38abd3d2a2927420589f21af83ac21ea5b6 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,17 +9,24 @@ namespace SL {
 
 struct Features
 {
-       GLApi gl_api;
+       GraphicsApi target_api;
        Version glsl_version;
+       bool arb_enhanced_layouts;
        bool arb_explicit_attrib_location;
+       bool arb_explicit_uniform_location;
        bool arb_gpu_shader5;
+       bool arb_separate_shader_objects;
        bool arb_uniform_buffer_object;
        bool ext_gpu_shader4;
        bool ext_texture_array;
+       unsigned constant_id_range;
+       unsigned uniform_binding_range;
+       unsigned texture_binding_range;
 
        Features();
 
-       static Features from_context();
+       static Features from_version(const Version &);
+       static Features latest();
 };
 
 } // namespace SL