- query_uniforms();
- query_attributes();
- apply_bindings(transient);
- }
- else if(mod.get_format()==Module::SPIR_V)
- {
- collect_uniforms(static_cast<const SpirVModule &>(mod), transient.spec_values);
- collect_attributes(static_cast<const SpirVModule &>(mod));
+ const SpirVModule &spirv_mod = *static_cast<const SpirVModule *>(final_module);
+ collect_uniforms(spirv_mod);
+ collect_attributes(spirv_mod);
+ collect_builtins(spirv_mod);
+
+ for(const SpirVModule::EntryPoint &e: spirv_mod.get_entry_points())
+ if(e.stage==SpirVModule::COMPUTE)
+ reflect_data.compute_wg_size = e.compute_local_size;