X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fbackends%2Fopengl%2Fdevice_backend.cpp;h=0fcbe07212ccb93783af6e473a7177783d9b98b2;hb=HEAD;hp=35c0ca5c244d71573979171a1d2de85b2ccad55d;hpb=5d9ecb00aea134fa082a0fa6b9c82c643a884a32;p=libs%2Fgl.git diff --git a/source/backends/opengl/device_backend.cpp b/source/backends/opengl/device_backend.cpp index 35c0ca5c..0fcbe072 100644 --- a/source/backends/opengl/device_backend.cpp +++ b/source/backends/opengl/device_backend.cpp @@ -3,6 +3,7 @@ #include #include #include +#include #include #include #include @@ -62,6 +63,8 @@ void OpenGLDevice::fill_info() glGetIntegerv(GL_MAX_VERTEX_ATTRIBS, reinterpret_cast(&lim.max_vertex_attributes)); glGetIntegerv(GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS, reinterpret_cast(&lim.max_texture_bindings)); } + if(ARB_shader_image_load_store) + glGetIntegerv(GL_MAX_IMAGE_UNITS, reinterpret_cast(&lim.max_storage_texture_bindings)); if(EXT_framebuffer_object) glGetIntegerv(GL_MAX_COLOR_ATTACHMENTS, reinterpret_cast(&lim.max_color_attachments)); if(EXT_framebuffer_multisample) @@ -87,6 +90,11 @@ void OpenGLDevice::fill_info() feat.ext_texture_array = EXT_texture_array; feat.uniform_binding_range = lim.max_uniform_bindings; feat.texture_binding_range = lim.max_texture_bindings; + feat.storage_texture_binding_range = lim.max_storage_texture_bindings; + + state.bound_tex_targets.resize(lim.max_texture_bindings); + state.bound_storage_textures.resize(lim.max_storage_texture_bindings); + state.bound_uniform_blocks.resize(lim.max_uniform_bindings); } } // namespace GL