Add EmitVertex and EndPrimitive

This commit is contained in:
ReinUsesLisp 2019-10-31 20:23:57 -03:00
parent b4eeadfd9b
commit 3067893923
2 changed files with 14 additions and 0 deletions

View File

@ -358,6 +358,12 @@ public:
/// Make an intermediate object whose value is undefined. /// Make an intermediate object whose value is undefined.
Id OpUndef(Id result_type); Id OpUndef(Id result_type);
/// Emits the current values of all output variables to the current output primitive.
Id OpEmitVertex();
/// Finish the current primitive and start a new one. No vertex is emitted.
Id OpEndPrimitive();
// Logical // Logical
/// Result is true if any component of Vector is true, otherwise result is false. /// Result is true if any component of Vector is true, otherwise result is false.

View File

@ -14,4 +14,12 @@ Id Module::OpUndef(Id result_type) {
return AddCode(std::make_unique<Op>(spv::Op::OpUndef, bound++, result_type)); return AddCode(std::make_unique<Op>(spv::Op::OpUndef, bound++, result_type));
} }
Id Module::OpEmitVertex() {
return AddCode(std::make_unique<Op>(spv::Op::OpEmitVertex));
}
Id Module::OpEndPrimitive() {
return AddCode(std::make_unique<Op>(spv::Op::OpEndPrimitive));
}
} // namespace Sirit } // namespace Sirit