X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fglsl%2Ffeatures.h;h=e0d7dd77ceb3982ec6ed60bb543b26799cd9604e;hb=1a5dafe20e47c764f2914c341fb7b8f1fba59fb8;hp=8aee02caa64daf63bef8aa926bcb74c33fb50569;hpb=8e553af57b712051f47293c971671f4f6a939be2;p=libs%2Fgl.git diff --git a/source/glsl/features.h b/source/glsl/features.h index 8aee02ca..e0d7dd77 100644 --- a/source/glsl/features.h +++ b/source/glsl/features.h @@ -1,7 +1,7 @@ #ifndef MSP_GL_SL_FEATURES_H_ #define MSP_GL_SL_FEATURES_H_ -#include +#include namespace Msp { namespace GL { @@ -9,24 +9,22 @@ namespace SL { struct Features { - GLApi gl_api; + GraphicsApi target_api = OPENGL; 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; + 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; - Features(); - - static Features from_version(const Version &); - static Features latest(); + static Features from_api_version(GraphicsApi, const Version &); + static Features latest(GraphicsApi); }; } // namespace SL