Răsfoiți Sursa

video_core: vk_blit_screen: Rotate viewport for Android landscape.

bunnei 3 ani în urmă
părinte
comite
18527a8c42
1 a modificat fișierele cu 8 adăugiri și 0 ștergeri
  1. 8 0
      src/video_core/renderer_vulkan/vk_blit_screen.cpp

+ 8 - 0
src/video_core/renderer_vulkan/vk_blit_screen.cpp

@@ -76,10 +76,18 @@ struct ScreenRectVertex {
 
 constexpr std::array<f32, 4 * 4> MakeOrthographicMatrix(f32 width, f32 height) {
     // clang-format off
+#ifdef ANDROID
+    // Android renders in portrait, so rotate the matrix.
+    return { 0.f,          2.f / width, 0.f, 0.f,
+            -2.f / height, 0.f,         0.f, 0.f,
+             0.f,          0.f,         1.f, 0.f,
+             1.f,         -1.f,         0.f, 1.f};
+#else
     return { 2.f / width, 0.f,          0.f, 0.f,
              0.f,         2.f / height, 0.f, 0.f,
              0.f,         0.f,          1.f, 0.f,
             -1.f,        -1.f,          0.f, 1.f};
+#endif // ANDROID
     // clang-format on
 }