Jelajahi Sumber

fixed_pipeline_state: Use regular for loop instead of ranges for perf

MSVC generates better code for it.
ReinUsesLisp 5 tahun lalu
induk
melakukan
46bd362d0d
1 mengubah file dengan 3 tambahan dan 2 penghapusan
  1. 3 2
      src/video_core/renderer_vulkan/fixed_pipeline_state.cpp

+ 3 - 2
src/video_core/renderer_vulkan/fixed_pipeline_state.cpp

@@ -84,9 +84,10 @@ void FixedPipelineState::Refresh(Tegra::Engines::Maxwell3D& maxwell3d,
     early_z.Assign(regs.force_early_fragment_tests != 0 ? 1 : 0);
     depth_enabled.Assign(regs.zeta_enable != 0 ? 1 : 0);
     depth_format.Assign(static_cast<u32>(regs.zeta.format));
-    std::ranges::transform(regs.rt, color_formats.begin(),
-                           [](const auto& rt) { return static_cast<u8>(rt.format); });
 
+    for (size_t i = 0; i < regs.rt.size(); ++i) {
+        color_formats[i] = static_cast<u8>(regs.rt[i].format);
+    }
     alpha_test_ref = Common::BitCast<u32>(regs.alpha_test_ref);
     point_size = Common::BitCast<u32>(regs.point_size);