Loader::Loader() { char line[256]; char tag[256]; /* Special case for GLES emulation */ if (checkGlesEmulationStatus() == 0) { LOGD("Emulator without GPU support detected. Fallback to software renderer."); gConfig.add( entry_t(0, 0, "android") ); return; } /* Otherwise, use egl.cfg */ FILE* cfg = fopen("/system/lib/egl/egl.cfg", "r"); if (cfg == NULL) { // default config LOGD("egl.cfg not found, using default config"); gConfig.add( entry_t(0, 0, "android") ); } else { while (fgets(line, 256, cfg)) { int dpy; int impl; if (sscanf(line, "%u %u %s", &dpy, &impl, tag) == 3) { //LOGD(">>> %u %u %s", dpy, impl, tag); gConfig.add( entry_t(dpy, impl, tag) ); } } fclose(cfg); } }
void VariableHolder::SetLocal(Type<name_t>::const_ref _name, Type<elem_t>::const_ref _elem) { DATA->names.insert(entry_t(_name, _elem)); }
void VariableHolder::AppendArgument(Type<name_t>::const_ref _name, Type<elem_t>::const_ref _elem) { ins_pair_t ins_r = DATA->args.insert(entry_t(_name, _elem)); SINASSERT(ins_r.second /* node inserted == true */); DATA->args_ordered.push_back(Entry(ins_r.first->first, ins_r.first->second)); }