X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Fglsl%2Fgenerate.cpp;fp=source%2Fglsl%2Fgenerate.cpp;h=d4623a7fd85064acf8eb0860c9e9dae149e2798c;hp=563609918ae216f28178dca421be4c627175f1b5;hb=d8bdf61007978e2c3670a22a58e2f105e8347537;hpb=d4b8a3f67c1f7184124bf95caee7e36ae8d6c82a diff --git a/source/glsl/generate.cpp b/source/glsl/generate.cpp index 56360991..d4623a7f 100644 --- a/source/glsl/generate.cpp +++ b/source/glsl/generate.cpp @@ -182,7 +182,7 @@ void TypeResolver::visit(InterfaceBlock &iface) StructDeclaration *strct = new StructDeclaration; strct->source = INTERNAL_SOURCE; - strct->name = format("_%s_%s", iface.interface, iface.name); + strct->name = format("_%s_%s", iface.interface, iface.block_name); strct->members.body.splice(strct->members.body.begin(), iface.members->body); stage->content.body.insert(type_insert_point, strct); stage->types.insert(make_pair(strct->name, strct)); @@ -488,7 +488,7 @@ void VariableResolver::visit(InterfaceBlock &iface) { /* Block names can be reused in different interfaces. Prefix the name with the first character of the interface to avoid conflicts. */ - stage->interface_blocks.insert(make_pair(iface.interface+iface.name, &iface)); + stage->interface_blocks.insert(make_pair(iface.interface+iface.block_name, &iface)); if(!iface.instance_name.empty()) stage->interface_blocks.insert(make_pair("_"+iface.instance_name, &iface)); @@ -1345,12 +1345,12 @@ VariableDeclaration *InterfaceGenerator::generate_interface(VariableDeclaration InterfaceBlock *InterfaceGenerator::generate_interface(InterfaceBlock &out_block) { - if(stage->interface_blocks.count("in"+out_block.name)) + if(stage->interface_blocks.count("in"+out_block.block_name)) return 0; InterfaceBlock *in_block = new InterfaceBlock; in_block->interface = "in"; - in_block->name = out_block.name; + in_block->block_name = out_block.block_name; in_block->members = new Block; in_block->instance_name = out_block.instance_name; if(stage->type==Stage::GEOMETRY) @@ -1371,7 +1371,7 @@ InterfaceBlock *InterfaceGenerator::generate_interface(InterfaceBlock &out_block } iface_target_block->body.insert(iface_insert_point, in_block); - stage->interface_blocks.insert(make_pair("in"+in_block->name, in_block)); + stage->interface_blocks.insert(make_pair("in"+in_block->block_name, in_block)); if(!in_block->instance_name.empty()) stage->interface_blocks.insert(make_pair("_"+in_block->instance_name, in_block)); @@ -1502,7 +1502,7 @@ void InterfaceGenerator::visit(InterfaceBlock &iface) if(!iface.linked_block && stage->previous) { const map &prev_blocks = stage->previous->interface_blocks; - map::const_iterator i = prev_blocks.find("out"+iface.name); + map::const_iterator i = prev_blocks.find("out"+iface.block_name); if(i!=prev_blocks.end()) { iface.linked_block = i->second;