Browse Source

[video_core, dma] Added _mm_prefetcg for Windows builds

pull/3322/head
CamilleLaVey 3 weeks ago
committed by crueter
parent
commit
3e1217d631
  1. 8
      src/video_core/dma_pusher.cpp

8
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 <intrin.h>
#endif
namespace Tegra {
constexpr u32 MacroRegistersStart = 0xE00;
@ -113,7 +117,11 @@ void DmaPusher::ProcessCommands(std::span<const CommandHeader> 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<const char*>(&commands[prefetch_index]), _MM_HINT_T0);
#else
__builtin_prefetch(&commands[prefetch_index], 0, 1);
#endif
}
const CommandHeader& command_header = commands[index];

Loading…
Cancel
Save