]> git.tdb.fi Git - libs/gl.git/blobdiff - source/glsl/features.h
Check the flat qualifier from the correct member
[libs/gl.git] / source / glsl / features.h
index 8f7a3e7c342eb69d12856c93f1f9af6ae017aaf4..28cefd0b411661af1a0c6f88b96918a5bc6e0ad0 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,23 @@ 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;
+       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 = 24;
+       unsigned texture_binding_range = 16;
+       unsigned storage_texture_binding_range = 8;
 
-       Features();
-
-       static Features from_context();
+       static Features from_api_version(GraphicsApi, const Version &);
+       static Features latest(GraphicsApi);
 };
 
 } // namespace SL