Lines Matching full:variable
21 * \brief Variable manager.
96 ValueEntry::ValueEntry(const Variable *variable) : m_variable(variable), m_valueRange(variable->get… in ValueEntry() argument
106 …for (vector<Variable *>::iterator i = m_declaredVariables.begin(); i != m_declaredVariables.end();… in ~VariableScope()
109 for (vector<Variable *>::iterator i = m_liveVariables.begin(); i != m_liveVariables.end(); i++) in ~VariableScope()
113 Variable *VariableScope::allocate(const VariableType &type, Variable::Storage storage, const char *… in allocate()
115 Variable *variable = new Variable(type, storage, name); in allocate() local
118 m_liveVariables.push_back(variable); in allocate()
119 return variable; in allocate()
123 delete variable; in allocate()
128 void VariableScope::declare(Variable *variable) in declare() argument
130 m_declaredVariables.push_back(variable); in declare()
131 removeLive(variable); in declare()
134 void VariableScope::removeLive(const Variable *variable) in removeLive() argument
136 …vector<Variable *>::iterator pos = std::find(m_liveVariables.begin(), m_liveVariables.end(), varia… in removeLive()
159 ValueEntry *ValueScope::allocate(const Variable *variable) in allocate() argument
161 ValueEntry *entry = new ValueEntry(variable); in allocate()
177 CompareEntryVariable(const Variable *variable) : m_variable(variable) in CompareEntryVariable() argument
187 const Variable *m_variable;
195 ValueEntry *ValueScope::findEntry(const Variable *variable) const in findEntry()
198 std::find(m_entries.begin(), m_entries.end(), CompareEntryVariable(variable)); in findEntry()
202 void ValueScope::setValue(const Variable *variable, ConstValueRangeAccess value) in setValue() argument
204 ValueEntry *entry = findEntry(variable); in setValue()
212 void ValueScope::removeValue(const Variable *variable) in removeValue() argument
214 …y *>::iterator pos = std::find(m_entries.begin(), m_entries.end(), CompareEntryVariable(variable)); in removeValue()
236 Variable *VariableManager::allocate(const VariableType &type) in allocate()
238 return allocate(type, Variable::STORAGE_LOCAL, m_nameAllocator.allocate().c_str()); in allocate()
241 Variable *VariableManager::allocate(const VariableType &type, Variable::Storage storage, const char… in allocate()
248 Variable *variable = varScope.allocate(type, Variable::STORAGE_LOCAL, name); in allocate() local
251 ValueEntry *valueEntry = valueScope.allocate(variable); in allocate()
259 setStorage(variable, storage); in allocate()
261 return variable; in allocate()
264 void VariableManager::setStorage(Variable *variable, Variable::Storage storage) in setStorage() argument
266 int numScalars = variable->getType().getScalarSize(); in setStorage()
269 if (variable->getStorage() == Variable::STORAGE_SHADER_IN) in setStorage()
274 else if (variable->getStorage() == Variable::STORAGE_UNIFORM) in setStorage()
278 if (storage == Variable::STORAGE_SHADER_IN) in setStorage()
283 else if (storage == Variable::STORAGE_UNIFORM) in setStorage()
286 variable->setStorage(storage); in setStorage()
289 bool VariableManager::canDeclareInCurrentScope(const Variable *variable) const in canDeclareInCurrentScope()
291 const vector<Variable *> &curLiveVars = getCurVariableScope().getLiveVariables(); in canDeclareInCurrentScope()
292 return std::find(curLiveVars.begin(), curLiveVars.end(), variable) != curLiveVars.end(); in canDeclareInCurrentScope()
295 const vector<Variable *> &VariableManager::getLiveVariables(void) const in getLiveVariables()
300 void VariableManager::declareVariable(Variable *variable) in declareVariable() argument
304 std::find(m_entryCache.begin(), m_entryCache.end(), CompareEntryVariable(variable)); in declareVariable()
308 DE_ASSERT(std::find(m_entryCache.begin(), m_entryCache.end(), CompareEntryVariable(variable)) == in declareVariable()
316 scope->removeValue(variable); in declareVariable()
320 getCurVariableScope().declare(variable); in declareVariable()
323 const ValueEntry *VariableManager::getValue(const Variable *variable) const in getValue()
326 std::find(m_entryCache.begin(), m_entryCache.end(), CompareEntryVariable(variable)); in getValue()
330 void VariableManager::removeValueFromCurrentScope(const Variable *variable) in removeValueFromCurrentScope() argument
334 std::find(m_entryCache.begin(), m_entryCache.end(), CompareEntryVariable(variable)); in removeValueFromCurrentScope()
339 getCurValueScope().removeValue(variable); in removeValueFromCurrentScope()
342 const ValueEntry *VariableManager::getParentValue(const Variable *variable) const in getParentValue()
351 ValueEntry *entry = scope->findEntry(variable); in getParentValue()
360 void VariableManager::setValue(const Variable *variable, ConstValueRangeAccess value) in setValue() argument
364 if (!curScope.findEntry(variable)) in setValue()
367 ValueEntry *newEntry = curScope.allocate(variable); in setValue()
369 std::find(m_entryCache.begin(), m_entryCache.end(), CompareEntryVariable(variable)); in setValue()
377 curScope.setValue(variable, value); in setValue()
411 vector<Variable *> &curLiveVars = curScope.getLiveVariables(); in popVariableScope()
412 vector<Variable *> &parenLiveVars = parentScope.getLiveVariables(); in popVariableScope()
416 Variable *liveVar = curLiveVars.back(); in popVariableScope()
450 map<const Variable *, const ValueEntry *> oldValues; in popValueScope()
457 set<const Variable *> addedVars; in popValueScope()
470 const Variable *var = entry->getVariable(); in popValueScope()
499 addedVars.insert(var); // Record as cached variable. in popValueScope()
508 const Variable *var = oldEntry->getVariable(); in popValueScope()