X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fglsl%2Ffeatures.h;h=5877746596bda5d2f37dea7cf9bab039f6cf1eba;hb=9978e2f62777795bf478b301aadffdd0ee8cbd41;hp=f8be0131462d1aded0bc16dc29b857e9a6131d92;hpb=1401e69c17d06034af53f6e55e735be065b75c7b;p=libs%2Fgl.git diff --git a/source/glsl/features.h b/source/glsl/features.h index f8be0131..58777465 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,25 +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_context(); - static Features from_version(const Version &); - static Features latest(); + static Features from_opengl_version(const Version &); + static Features opengl_latest(); }; } // namespace SL