added support for flat and noperspective modifiers in SPIR-V
Bug: skia:
Change-Id: I41f90464377be5de6813d6011b7e53dbac9230b6
Reviewed-on: https://skia-review.googlesource.com/26345
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
diff --git a/src/sksl/SkSLSPIRVCodeGenerator.cpp b/src/sksl/SkSLSPIRVCodeGenerator.cpp
index 1f8f224..d367df9 100644
--- a/src/sksl/SkSLSPIRVCodeGenerator.cpp
+++ b/src/sksl/SkSLSPIRVCodeGenerator.cpp
@@ -2932,6 +2932,13 @@
fCurrentBlock = 0;
}
this->writeLayout(var->fModifiers.fLayout, id);
+ if (var->fModifiers.fFlags & Modifiers::kFlat_Flag) {
+ this->writeInstruction(SpvOpDecorate, id, SpvDecorationFlat, fDecorationBuffer);
+ }
+ if (var->fModifiers.fFlags & Modifiers::kNoPerspective_Flag) {
+ this->writeInstruction(SpvOpDecorate, id, SpvDecorationNoPerspective,
+ fDecorationBuffer);
+ }
}
}