1
0
Fork 0

Pica: Fix a bug in the register definitions, relating to texture wrapping.

This commit is contained in:
Tony Wasserka 2015-01-01 19:59:11 +01:00
parent aaf30ca4ee
commit 8bd7a896ea
2 changed files with 2 additions and 2 deletions

View File

@ -131,7 +131,7 @@ struct Regs {
union { union {
BitField< 8, 2, WrapMode> wrap_s; BitField< 8, 2, WrapMode> wrap_s;
BitField<11, 2, WrapMode> wrap_t; BitField<12, 2, WrapMode> wrap_t;
}; };
INSERT_PADDING_WORDS(0x1); INSERT_PADDING_WORDS(0x1);

View File

@ -243,7 +243,7 @@ static void ProcessTriangleInternal(const VertexShader::OutputVertex& v0,
int s = (int)(uv[i].u() * float24::FromFloat32(static_cast<float>(texture.config.width))).ToFloat32(); int s = (int)(uv[i].u() * float24::FromFloat32(static_cast<float>(texture.config.width))).ToFloat32();
int t = (int)(uv[i].v() * float24::FromFloat32(static_cast<float>(texture.config.height))).ToFloat32(); int t = (int)(uv[i].v() * float24::FromFloat32(static_cast<float>(texture.config.height))).ToFloat32();
auto GetWrappedTexCoord = [](Regs::TextureConfig::WrapMode mode, int val, unsigned size) { static auto GetWrappedTexCoord = [](Regs::TextureConfig::WrapMode mode, int val, unsigned size) {
switch (mode) { switch (mode) {
case Regs::TextureConfig::ClampToEdge: case Regs::TextureConfig::ClampToEdge:
val = std::max(val, 0); val = std::max(val, 0);