X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;ds=sidebyside;f=source%2Fglsl%2Ffinalize.cpp;h=3b0909ac2a90949733577e0e3a22dc0383cca445;hb=569772f5aba5380a48002cd73b8d33eb25fd4048;hp=94052432296e2dc1dc629e68ad4618b595f4d63d;hpb=36374b6a2a7f85d0b3bdc9f39fa4868ac7712180;p=libs%2Fgl.git diff --git a/source/glsl/finalize.cpp b/source/glsl/finalize.cpp index 94052432..3b0909ac 100644 --- a/source/glsl/finalize.cpp +++ b/source/glsl/finalize.cpp @@ -75,7 +75,12 @@ void LocationAllocator::apply(Module &module, const Features &f, bool a) for(VariableDeclaration *b: unbound_blocks) bind_uniform(b->layout, b->block_declaration->block_name, features.uniform_binding_range); for(VariableDeclaration *t: unbound_textures) - bind_uniform(t->layout, t->name, features.texture_binding_range); + { + const TypeDeclaration *base_type = get_ultimate_base_type(t->type_declaration); + unsigned range = (static_cast(base_type)->sampled ? + features.texture_binding_range : features.storage_texture_binding_range); + bind_uniform(t->layout, t->name, range); + } } void LocationAllocator::apply(Stage &stage)