From b691c43c44ff180d10e7d4a9afc83b98551ff586 Mon Sep 17 00:00:00 2001 From: daoge_cmd <3523206925@qq.com> Date: Sun, 1 Mar 2026 12:16:08 +0800 Subject: Initial commit --- .../PS3/SPU_Tasks/PerlinNoise/PerlinNoise_SPU.cpp | 85 ++++++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 Minecraft.Client/PS3/SPU_Tasks/PerlinNoise/PerlinNoise_SPU.cpp (limited to 'Minecraft.Client/PS3/SPU_Tasks/PerlinNoise/PerlinNoise_SPU.cpp') diff --git a/Minecraft.Client/PS3/SPU_Tasks/PerlinNoise/PerlinNoise_SPU.cpp b/Minecraft.Client/PS3/SPU_Tasks/PerlinNoise/PerlinNoise_SPU.cpp new file mode 100644 index 00000000..fc5322b1 --- /dev/null +++ b/Minecraft.Client/PS3/SPU_Tasks/PerlinNoise/PerlinNoise_SPU.cpp @@ -0,0 +1,85 @@ + + + +#include "PerlinNoise_SPU.h" +#include "..\Common\DmaData.h" +#include + +int64_t lfloor(double v) +{ + int64_t i = (int64_t) v; + return v < i ? i - 1 : i; +} +// +// class PPUStoreArray +// { +// static const int sc_cacheSize = 1024; +// double m_localCache[sc_cacheSize]; +// double* m_pDataPPU; +// int m_cachePos; +// int m_ppuPos; +// +// public: +// PPUStoreArray(uintptr_t pDataPPU) { m_pDataPPU = (double*)pDataPPU; m_cachePos = 0; m_ppuPos = 0; flush();} +// +// void store(int val) +// { +// m_localCache[m_cachePos] = val; +// m_cachePos++; +// if(m_cachePos >= sc_cacheSize) +// flush(); +// } +// +// void flush() +// { +// if(m_cachePos > 0) +// { +// // dma the local cache back to PPU and start again +// // spu_print("DMAing %d bytes from 0x%08x(SPU) to 0x%08x(PPU)\n",(int)( m_cachePos*sizeof(int)), (int)m_localCache, (int)&m_pDataPPU[m_ppuPos]); +// DmaData_SPU::put(m_localCache, (uintptr_t)&m_pDataPPU[m_ppuPos], DmaData_SPU::roundUpDMASize(m_cachePos*sizeof(double))); +// m_ppuPos += m_cachePos; +// m_cachePos = 0; +// } +// for(int i=0;i