Lines Matching refs:var
1206 // if we need a temporary var to store this argument, this is the value to store in the var
1821 static SpvStorageClass_ get_storage_class(const Variable& var,
1823 const Modifiers& modifiers = var.modifiers();
1836 if (var.type().typeKind() == Type::TypeKind::kSampler ||
1837 var.type().typeKind() == Type::TypeKind::kSeparateSampler ||
1838 var.type().typeKind() == Type::TypeKind::kTexture) {
1849 const Variable& var = *expr.as<VariableReference>().variable();
1850 if (var.storage() != Variable::Storage::kGlobal) {
1853 return get_storage_class(var, SpvStorageClassPrivate);
2010 int SPIRVCodeGenerator::findUniformFieldIndex(const Variable& var) const {
2011 auto iter = fTopLevelUniformMap.find(&var);
2021 const Variable& var = *expr.as<VariableReference>().variable();
2022 int uniformIdx = this->findUniformFieldIndex(var);
2033 SpvId typeId = this->getType(type, this->memoryLayoutForVariable(var));
2034 auto entry = fVariableMap.find(&var);
2780 SpvId var = this->nextId(nullptr);
2782 var, SpvStorageClassFunction, fVariableBuffer);
2789 this->writeInstruction(SpvOpStore, var, this->writeExpression(*t.ifTrue(), out), out);
2792 this->writeInstruction(SpvOpStore, var, this->writeExpression(*t.ifFalse(), out), out);
2796 this->writeInstruction(SpvOpLoad, this->getType(type), result, var, out);
3083 bool SPIRVCodeGenerator::isDead(const Variable& var) const {
3086 if (fSPIRVBonusVariables.count(&var)) {
3089 ProgramUsage::VariableCounts counts = fProgram.usage()->get(var);
3095 return !(var.modifiers().fFlags &
3100 const Variable& var = varDecl.var();
3101 if (var.modifiers().fLayout.fBuiltin == SK_FRAGCOLOR_BUILTIN &&
3106 if (var.modifiers().fLayout.fBuiltin == SK_SECONDARYFRAGCOLOR_BUILTIN) {
3109 if (this->isDead(var)) {
3112 SpvStorageClass_ storageClass = get_storage_class(var, SpvStorageClassPrivate);
3118 const Type& type = var.type();
3119 Layout layout = var.modifiers().fLayout;
3124 fVariableMap[&var] = id;
3127 this->writeInstruction(SpvOpName, id, var.name(), fNameBuffer);
3136 if (var.modifiers().fFlags & Modifiers::kFlat_Flag) {
3139 if (var.modifiers().fFlags & Modifiers::kNoPerspective_Flag) {
3146 const Variable& var = varDecl.var();
3147 SpvId id = this->nextId(&var.type());
3148 fVariableMap[&var] = id;
3149 SpvId type = this->getPointerType(var.type(), SpvStorageClassFunction);
3151 this->writeInstruction(SpvOpName, id, var.name(), fNameBuffer);
3438 const Variable* var = &topLevelUniform->var();
3439 fTopLevelUniformMap[var] = (int)fields.size();
3440 fields.emplace_back(var->modifiers(), var->name(), &var->type());
3599 const Variable* var = entry.first;
3600 if (var->storage() == Variable::Storage::kGlobal &&
3601 (var->modifiers().fFlags & (Modifiers::kIn_Flag | Modifiers::kOut_Flag)) &&
3602 !this->isDead(*var)) {
3624 for (int var : interfaceVars) {
3625 this->writeWord(var, out);