• Home
  • Raw
  • Download

Lines Matching refs:SpvId

59         virtual SpvId getPointer() = 0;
61 virtual SpvId load(OutputStream& out) = 0;
63 virtual void store(SpvId value, OutputStream& out) = 0;
99 SpvId nextId();
101 SpvId getType(const Type& type);
103 SpvId getType(const Type& type, const MemoryLayout& layout);
105 SpvId getImageType(const Type& type);
107 SpvId getFunctionType(const FunctionDeclaration& function);
109 SpvId getPointerType(const Type& type, SpvStorageClass_ storageClass);
111 SpvId getPointerType(const Type& type, const MemoryLayout& layout,
114 void writePrecisionModifier(const Modifiers& modifiers, SpvId id);
116 std::vector<SpvId> getAccessChain(const Expression& expr, OutputStream& out);
118 void writeLayout(const Layout& layout, SpvId target);
120 void writeLayout(const Layout& layout, SpvId target, int member);
122 void writeStruct(const Type& type, const MemoryLayout& layout, SpvId resultId);
126 SpvId writeInterfaceBlock(const InterfaceBlock& intf);
128 SpvId writeFunctionStart(const FunctionDeclaration& f, OutputStream& out);
130 SpvId writeFunctionDeclaration(const FunctionDeclaration& f, OutputStream& out);
132 SpvId writeFunction(const FunctionDefinition& f, OutputStream& out);
138 SpvId writeVariableReference(const VariableReference& ref, OutputStream& out);
142 SpvId writeExpression(const Expression& expr, OutputStream& out);
144 SpvId writeIntrinsicCall(const FunctionCall& c, OutputStream& out);
146 SpvId writeFunctionCall(const FunctionCall& c, OutputStream& out);
148 SpvId writeSpecialIntrinsic(const FunctionCall& c, SpecialIntrinsic kind, OutputStream& out);
150 SpvId writeConstantVector(const Constructor& c);
152 SpvId writeFloatConstructor(const Constructor& c, OutputStream& out);
154 SpvId writeIntConstructor(const Constructor& c, OutputStream& out);
156 SpvId writeUIntConstructor(const Constructor& c, OutputStream& out);
162 void writeUniformScaleMatrix(SpvId id, SpvId diagonal, const Type& type, OutputStream& out);
169 void writeMatrixCopy(SpvId id, SpvId src, const Type& srcType, const Type& dstType,
172 SpvId writeMatrixConstructor(const Constructor& c, OutputStream& out);
174 SpvId writeVectorConstructor(const Constructor& c, OutputStream& out);
176 SpvId writeConstructor(const Constructor& c, OutputStream& out);
178 SpvId writeFieldAccess(const FieldAccess& f, OutputStream& out);
180 SpvId writeSwizzle(const Swizzle& swizzle, OutputStream& out);
188 SpvId foldToBool(SpvId id, const Type& operandType, OutputStream& out);
190 SpvId writeMatrixComparison(const Type& operandType, SpvId lhs, SpvId rhs, SpvOp_ floatOperator,
193 SpvId writeBinaryOperation(const Type& resultType, const Type& operandType, SpvId lhs,
194 SpvId rhs, SpvOp_ ifFloat, SpvOp_ ifInt, SpvOp_ ifUInt,
197 SpvId writeBinaryOperation(const BinaryExpression& expr, SpvOp_ ifFloat, SpvOp_ ifInt,
200 SpvId writeBinaryExpression(const BinaryExpression& b, OutputStream& out);
202 SpvId writeTernaryExpression(const TernaryExpression& t, OutputStream& out);
204 SpvId writeIndexExpression(const IndexExpression& expr, OutputStream& out);
206 SpvId writeLogicalAnd(const BinaryExpression& b, OutputStream& out);
208 SpvId writeLogicalOr(const BinaryExpression& o, OutputStream& out);
210 SpvId writePrefixExpression(const PrefixExpression& p, OutputStream& out);
212 SpvId writePostfixExpression(const PostfixExpression& p, OutputStream& out);
214 SpvId writeBoolLiteral(const BoolLiteral& b);
216 SpvId writeIntLiteral(const IntLiteral& i);
218 SpvId writeFloatLiteral(const FloatLiteral& f);
244 void writeLabel(SpvId id, OutputStream& out);
282 SpvId fIdCount;
283 SpvId fGLSLExtendedInstructions;
286 std::unordered_map<const FunctionDeclaration*, SpvId> fFunctionMap;
287 std::unordered_map<const Variable*, SpvId> fVariableMap;
289 std::unordered_map<String, SpvId> fImageTypeMap;
290 std::unordered_map<String, SpvId> fTypeMap;
300 SpvId fBoolTrue;
301 SpvId fBoolFalse;
302 std::unordered_map<int64_t, SpvId> fIntConstants;
303 std::unordered_map<uint64_t, SpvId> fUIntConstants;
304 std::unordered_map<float, SpvId> fFloatConstants;
305 std::unordered_map<double, SpvId> fDoubleConstants;
308 SpvId fCurrentBlock;
309 std::stack<SpvId> fBreakTarget;
310 std::stack<SpvId> fContinueTarget;
311 SpvId fRTHeightStructId = (SpvId) -1;
312 SpvId fRTHeightFieldIndex = (SpvId) -1;