One function for computing rt-adjust uniform once flip is determined.
Add some comments explaining why different APIs flip the way they do.
Remove flip from Metal code generator and reverse the way flipping
occurs in Metal backend.
Change-Id: Ibec71e8d96c66d4b34b5ce6417056674090f979c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/413236
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
diff --git a/src/sksl/codegen/SkSLMetalCodeGenerator.cpp b/src/sksl/codegen/SkSLMetalCodeGenerator.cpp
index 91a0e41..c818374 100644
--- a/src/sksl/codegen/SkSLMetalCodeGenerator.cpp
+++ b/src/sksl/codegen/SkSLMetalCodeGenerator.cpp
@@ -2031,12 +2031,10 @@
void MetalCodeGenerator::writeReturnStatementFromMain() {
// main functions in Metal return a magic _out parameter that doesn't exist in SkSL.
switch (fProgram.fConfig->fKind) {
+ case ProgramKind::kVertex:
case ProgramKind::kFragment:
this->write("return _out;");
break;
- case ProgramKind::kVertex:
- this->write("return (_out.sk_Position.y = -_out.sk_Position.y, _out);");
- break;
default:
SkDEBUGFAIL("unsupported kind of program");
}