]> git.tdb.fi Git - libs/gl.git/blobdiff - source/glsl/spirv.cpp
Fix the type of a loop variable
[libs/gl.git] / source / glsl / spirv.cpp
index 1da748a64eb297f23f5f135aa3743af92eabbaea..edbdf6359eeb8d751690f9e5d45923f9bac32fd9 100644 (file)
@@ -132,20 +132,7 @@ const SpirVGenerator::BuiltinFunctionInfo SpirVGenerator::builtin_functions[] =
 };
 
 SpirVGenerator::SpirVGenerator():
-       stage(0),
-       current_function(0),
-       writer(content),
-       next_id(1),
-       r_expression_result_id(0),
-       constant_expression(false),
-       spec_constant(false),
-       reachable(false),
-       composite_access(false),
-       r_composite_base_id(0),
-       r_composite_base(0),
-       assignment_source_id(0),
-       loop_merge_block_id(0),
-       loop_continue_target_id(0)
+       writer(content)
 { }
 
 void SpirVGenerator::apply(Module &module)
@@ -583,7 +570,7 @@ void SpirVGenerator::generate_composite_access(TypeDeclaration &result_type)
                throw internal_error("assignment to temporary composite");
        else
        {
-               for(unsigned i: r_composite_chain)
+               for(unsigned &i: r_composite_chain)
                        for(auto j=constant_ids.begin(); (i>=0x400000 && j!=constant_ids.end()); ++j)
                                if(j->second==(i&0x3FFFFF))
                                        i = j->first.int_value;