swrasterizer/proctex: Take regs and state by const reference

Avoids unnecessarily copying 512 bytes and 3584 bytes upon every
invocation.
This commit is contained in:
Lioncash 2020-04-18 22:10:55 -04:00
parent 82b55b763c
commit e2533e8edb
2 changed files with 3 additions and 3 deletions

View file

@ -45,7 +45,7 @@ static float NoiseRand2D(unsigned int x, unsigned int y) {
return -1.0f + v2 * 2.0f / 15.0f;
}
static float NoiseCoef(float u, float v, TexturingRegs regs, State::ProcTex state) {
static float NoiseCoef(float u, float v, const TexturingRegs& regs, const State::ProcTex& state) {
const float freq_u = float16::FromRaw(regs.proctex_noise_frequency.u).ToFloat32();
const float freq_v = float16::FromRaw(regs.proctex_noise_frequency.v).ToFloat32();
const float phase_u = float16::FromRaw(regs.proctex_noise_u.phase).ToFloat32();
@ -154,7 +154,7 @@ static float CombineAndMap(float u, float v, ProcTexCombiner combiner,
return LookupLUT(map_table, f);
}
Common::Vec4<u8> ProcTex(float u, float v, TexturingRegs regs, State::ProcTex state) {
Common::Vec4<u8> ProcTex(float u, float v, const TexturingRegs& regs, const State::ProcTex& state) {
u = std::abs(u);
v = std::abs(v);

View file

@ -9,6 +9,6 @@
namespace Pica::Rasterizer {
/// Generates procedural texture color for the given coordinates
Common::Vec4<u8> ProcTex(float u, float v, TexturingRegs regs, State::ProcTex state);
Common::Vec4<u8> ProcTex(float u, float v, const TexturingRegs& regs, const State::ProcTex& state);
} // namespace Pica::Rasterizer