mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-21 05:09:34 -06:00
JitArm64: Use enum class for LogicalImm size parameter
This should prevent issues like the one fixed in the previous commit from happening again.
This commit is contained in:
@ -82,8 +82,8 @@ std::pair<Arm64Gen::ARM64Reg, u32> VertexLoaderARM64::GetVertexAddr(CPArray arra
|
||||
if (array == CPArray::Position)
|
||||
{
|
||||
EOR(scratch2_reg, scratch1_reg,
|
||||
attribute == VertexComponentFormat::Index8 ? LogicalImm(0xFF, 32) :
|
||||
LogicalImm(0xFFFF, 32));
|
||||
attribute == VertexComponentFormat::Index8 ? LogicalImm(0xFF, GPRSize::B32) :
|
||||
LogicalImm(0xFFFF, GPRSize::B32));
|
||||
m_skip_vertex = CBZ(scratch2_reg);
|
||||
}
|
||||
|
||||
@ -202,7 +202,7 @@ void VertexLoaderARM64::ReadColor(VertexComponentFormat attribute, ColorFormat f
|
||||
LDUR(scratch2_reg, reg, offset);
|
||||
|
||||
if (format != ColorFormat::RGBA8888)
|
||||
ORR(scratch2_reg, scratch2_reg, LogicalImm(0xFF000000, 32));
|
||||
ORR(scratch2_reg, scratch2_reg, LogicalImm(0xFF000000, GPRSize::B32));
|
||||
STR(IndexType::Unsigned, scratch2_reg, dst_reg, m_dst_ofs);
|
||||
load_bytes = format == ColorFormat::RGB888 ? 3 : 4;
|
||||
break;
|
||||
@ -215,7 +215,7 @@ void VertexLoaderARM64::ReadColor(VertexComponentFormat attribute, ColorFormat f
|
||||
REV16(scratch3_reg, scratch3_reg);
|
||||
|
||||
// B
|
||||
AND(scratch2_reg, scratch3_reg, LogicalImm(0x1F, 32));
|
||||
AND(scratch2_reg, scratch3_reg, LogicalImm(0x1F, GPRSize::B32));
|
||||
ORR(scratch2_reg, ARM64Reg::WSP, scratch2_reg, ArithOption(scratch2_reg, ShiftType::LSL, 3));
|
||||
ORR(scratch2_reg, scratch2_reg, scratch2_reg, ArithOption(scratch2_reg, ShiftType::LSR, 5));
|
||||
ORR(scratch1_reg, ARM64Reg::WSP, scratch2_reg, ArithOption(scratch2_reg, ShiftType::LSL, 16));
|
||||
@ -232,7 +232,7 @@ void VertexLoaderARM64::ReadColor(VertexComponentFormat attribute, ColorFormat f
|
||||
ORR(scratch1_reg, scratch1_reg, scratch2_reg, ArithOption(scratch2_reg, ShiftType::LSR, 2));
|
||||
|
||||
// A
|
||||
ORR(scratch1_reg, scratch1_reg, LogicalImm(0xFF000000, 32));
|
||||
ORR(scratch1_reg, scratch1_reg, LogicalImm(0xFF000000, GPRSize::B32));
|
||||
|
||||
STR(IndexType::Unsigned, scratch1_reg, dst_reg, m_dst_ofs);
|
||||
load_bytes = 2;
|
||||
@ -248,7 +248,7 @@ void VertexLoaderARM64::ReadColor(VertexComponentFormat attribute, ColorFormat f
|
||||
UBFM(scratch1_reg, scratch3_reg, 4, 7);
|
||||
|
||||
// G
|
||||
AND(scratch2_reg, scratch3_reg, LogicalImm(0xF, 32));
|
||||
AND(scratch2_reg, scratch3_reg, LogicalImm(0xF, GPRSize::B32));
|
||||
ORR(scratch1_reg, scratch1_reg, scratch2_reg, ArithOption(scratch2_reg, ShiftType::LSL, 8));
|
||||
|
||||
// B
|
||||
@ -356,7 +356,7 @@ void VertexLoaderARM64::GenerateVertexLoader()
|
||||
if (m_VtxDesc.low.PosMatIdx)
|
||||
{
|
||||
LDRB(IndexType::Unsigned, scratch1_reg, src_reg, m_src_ofs);
|
||||
AND(scratch1_reg, scratch1_reg, LogicalImm(0x3F, 32));
|
||||
AND(scratch1_reg, scratch1_reg, LogicalImm(0x3F, GPRSize::B32));
|
||||
STR(IndexType::Unsigned, scratch1_reg, dst_reg, m_dst_ofs);
|
||||
|
||||
// Z-Freeze
|
||||
|
Reference in New Issue
Block a user