2017-01-30 04:22:19 +01:00
|
|
|
// Copyright 2017 Citra Emulator Project
|
|
|
|
// Licensed under GPLv2 or any later version
|
|
|
|
// Refer to the license.txt file included.
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
2023-06-24 00:59:18 +02:00
|
|
|
#include <span>
|
|
|
|
|
2017-01-30 04:22:19 +01:00
|
|
|
#include "common/common_types.h"
|
|
|
|
#include "common/vector_math.h"
|
2023-12-28 11:46:57 +01:00
|
|
|
#include "video_core/pica/regs_texturing.h"
|
2017-01-30 04:22:19 +01:00
|
|
|
|
2023-06-24 00:59:18 +02:00
|
|
|
namespace SwRenderer {
|
2017-01-30 04:22:19 +01:00
|
|
|
|
2023-06-24 00:59:18 +02:00
|
|
|
int GetWrappedTexCoord(Pica::TexturingRegs::TextureConfig::WrapMode mode, s32 val, u32 size);
|
2017-01-30 04:22:19 +01:00
|
|
|
|
2023-06-24 00:59:18 +02:00
|
|
|
Common::Vec3<u8> GetColorModifier(Pica::TexturingRegs::TevStageConfig::ColorModifier factor,
|
2019-02-27 04:38:34 +01:00
|
|
|
const Common::Vec4<u8>& values);
|
2017-01-30 04:22:19 +01:00
|
|
|
|
2023-06-24 00:59:18 +02:00
|
|
|
u8 GetAlphaModifier(Pica::TexturingRegs::TevStageConfig::AlphaModifier factor,
|
2019-02-27 04:38:34 +01:00
|
|
|
const Common::Vec4<u8>& values);
|
2017-01-30 04:22:19 +01:00
|
|
|
|
2023-06-24 00:59:18 +02:00
|
|
|
Common::Vec3<u8> ColorCombine(Pica::TexturingRegs::TevStageConfig::Operation op,
|
|
|
|
std::span<const Common::Vec3<u8>, 3> input);
|
2017-01-30 04:22:19 +01:00
|
|
|
|
2023-06-24 00:59:18 +02:00
|
|
|
u8 AlphaCombine(Pica::TexturingRegs::TevStageConfig::Operation op, const std::array<u8, 3>& input);
|
2017-01-30 04:22:19 +01:00
|
|
|
|
2023-06-24 00:59:18 +02:00
|
|
|
} // namespace SwRenderer
|