From 3e1217d631747a591992f04093af9c09f9b1d56a Mon Sep 17 00:00:00 2001 From: CamilleLaVey Date: Sun, 11 Jan 2026 01:40:03 -0400 Subject: [PATCH] [video_core, dma] Added _mm_prefetcg for Windows builds --- src/video_core/dma_pusher.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/video_core/dma_pusher.cpp b/src/video_core/dma_pusher.cpp index e54cbf9d1d..19f8d32ebb 100644 --- a/src/video_core/dma_pusher.cpp +++ b/src/video_core/dma_pusher.cpp @@ -14,6 +14,10 @@ #include "video_core/rasterizer_interface.h" #include "video_core/texture_cache/util.h" +#ifdef _MSC_VER +#include +#endif + namespace Tegra { constexpr u32 MacroRegistersStart = 0xE00; @@ -113,7 +117,11 @@ void DmaPusher::ProcessCommands(std::span commands) { for (std::size_t index = 0; index < total_commands;) { const std::size_t prefetch_index = index + BATCH_SIZE; if (prefetch_index < total_commands) { +#ifdef _MSC_VER + _mm_prefetch(reinterpret_cast(&commands[prefetch_index]), _MM_HINT_T0); +#else __builtin_prefetch(&commands[prefetch_index], 0, 1); +#endif } const CommandHeader& command_header = commands[index];