X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Fglsl%2Ffeatures.h;h=14cc2b3743ed61cae347c62d90470f3fac9ad3c4;hp=b65a61e2fc8c0690a2e380ca690755c09b47bcba;hb=38712d8ecc57d043a2419ffbaeeb57f7a6586f14;hpb=c1b42fd479c5ca4cbab258ee0fa5c7cac319f928 diff --git a/source/glsl/features.h b/source/glsl/features.h index b65a61e2..14cc2b37 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,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