Explorar o código

fixed_pipeline_state: Use regular for loop instead of ranges for perf

MSVC generates better code for it.
ReinUsesLisp %!s(int64=5) %!d(string=hai) anos
pai
achega
46bd362d0d
Modificáronse 1 ficheiros con 3 adicións e 2 borrados
  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);