Home | History | Annotate | Download | only in randomshaders

Lines Matching refs:scope

248 	// Allocate in current scope
310 // Remove from scope stack.
313 ValueScope* scope = *stackIter;
314 scope->removeValue(variable);
317 // Declare in current scope.
334 // Remove from current scope \note May not exist in there.
341 return DE_NULL; // Only single value scope
345 const ValueScope* scope = *i;
346 ValueEntry* entry = scope->findEntry(variable);
387 void VariableManager::pushVariableScope (VariableScope& scope)
389 // Expects emtpy scope
390 DE_ASSERT(scope.getDeclaredVariables().size() == 0);
391 DE_ASSERT(scope.getLiveVariables().size() == 0);
393 m_variableScopeStack.push_back(&scope);
400 // Migrate live variables to parent scope.
401 // Variables allocated in child scopes can be declared in any parent scope but not the other way around.
416 // All variables should be either migrated to parent or declared (in case of root scope).
422 void VariableManager::pushValueScope (ValueScope& scope)
424 // Value scope should be empty
425 DE_ASSERT(scope.getValues().size() == 0);
427 m_valueScopeStack.push_back(&scope);
434 // Pop scope and clear cache.
455 const ValueScope* scope = *scopeIter;
456 const vector<ValueEntry*>& valueEntries = scope->getValues();
464 continue; // Already in cache, set deeper in scope stack.
472 // Build new intersected value and store into current scope.
482 // Add entry from top scope to cache.
492 // Copy entries from popped scope that don't yet exist in the stack.