Merge pull request #14289 from Sintendo/typos

Fix various typos and spelling mistakes
This commit is contained in:
JMC47
2026-01-17 19:10:50 -05:00
committed by GitHub
101 changed files with 245 additions and 243 deletions

View File

@@ -844,7 +844,7 @@ void GekkoIRPlugin::EvalTerminalAbs(Terminal type, const AssemblerToken& tok)
case Terminal::NumLabFwd:
m_owner->EmitErrorHere(
fmt::format("Forward label references not supported in fully resolved expressons"));
fmt::format("Forward label references not supported in fully resolved expressions"));
break;
case Terminal::NumLabBwd:

View File

@@ -7,7 +7,7 @@
// UniqueBuffer<T> and SharedBuffer<T> are a lighter alternative to std::vector<T>.
// The main benefit is that elements are not value-initialized like in vector.
// That can be quite a bit of unecessary overhead when allocating a large buffer.
// That can be quite a bit of unnecessary overhead when allocating a large buffer.
namespace Common
{

View File

@@ -314,7 +314,7 @@ bool CaseInsensitiveContains(std::string_view haystack, std::string_view needle)
// 'std::less'-like comparison function object type for case-insensitive strings.
struct CaseInsensitiveLess
{
using is_transparent = void; // Allow heterogenous lookup.
using is_transparent = void; // Allow heterogeneous lookup.
bool operator()(std::string_view a, std::string_view b) const;
};

View File

@@ -57,7 +57,7 @@ public:
explicit DSPAssembler(const AssemblerSettings& settings);
~DSPAssembler();
// line_numbers is optional (and not yet implemented). It'll receieve a list of ints,
// line_numbers is optional (and not yet implemented). It'll receive a list of ints,
// one for each word of code, indicating the source assembler code line number it came from.
// If returns false, call GetErrorString to get some text to present to the user.

View File

@@ -108,7 +108,7 @@ std::string DSPDisassembler::DisassembleParameters(const DSPOPCTemplate& opc, u1
if (opc.params[j].mask == 0x003f)
{
// Left and right shifts function essentially as a single shift by a 7-bit signed value,
// but are split into two intructions for clarity.
// but are split into two instructions for clarity.
buf += fmt::format("#{}", (val & 0x20) != 0 ? (int(val) - 64) : int(val));
}
else

View File

@@ -16,7 +16,7 @@ using namespace Gen;
namespace DSP::JIT::x64
{
// Ordered in order of prefered use.
// Ordered in order of preferred use.
// Not all of these are actually available
constexpr std::array<X64Reg, 15> s_allocation_order = {
{R8, R9, R10, R11, R12, R13, R14, R15, RSI, RDI, RBX, RCX, RDX, RAX, RBP}};

View File

@@ -98,7 +98,7 @@ struct BranchWatchSelectionValueType
BranchWatchCollection::value_type* collection_ptr;
bool is_virtual;
bool condition;
// This is moreso a GUI thing, but it works best in the Core code for multiple reasons.
// This is more so a GUI thing, but it works best in the Core code for multiple reasons.
Inspection inspection;
};

View File

@@ -263,7 +263,7 @@ HitType CodeTrace::TraceLogic(const TraceOutput& current_instr, bool first_hit)
if (!match_reg0 && !match_reg123 && !mem_hit)
return HitType::SKIP;
// Checks if the intstruction is a type that needs special handling.
// Checks if the instruction is a type that needs special handling.
const auto CompareInstruction = [](std::string_view instruction, const auto& type_compare) {
return std::ranges::any_of(
type_compare, [&instruction](std::string_view s) { return instruction.starts_with(s); });

View File

@@ -42,7 +42,7 @@ struct FileHeader
u32 flags;
u64 texMemOffset;
u32 texMemSize;
// These are for overriden RAM sizes. Otherwise the FIFO Player
// These are for overridden RAM sizes. Otherwise the FIFO Player
// will crash and burn with mismatched settings. See PR #8722.
u32 mem1_size;
u32 mem2_size;
@@ -136,7 +136,7 @@ bool FifoDataFile::Save(const std::string& filename)
FileHeader header;
header.fileId = FILE_ID;
header.file_version = VERSION_NUMBER;
// Maintain backwards compatability so long as the RAM sizes aren't overridden.
// Maintain backwards compatibility so long as the RAM sizes aren't overridden.
if (Config::Get(Config::MAIN_RAM_OVERRIDE_ENABLE))
header.min_loader_version = MIN_LOADER_VERSION_FOR_RAM_OVERRIDE;
else

View File

@@ -315,7 +315,7 @@ void FifoPlayer::SetFileLoadedCallback(CallbackFunc callback)
{
m_FileLoadedCb = std::move(callback);
// Trigger the callback immediatly if the file is already loaded.
// Trigger the callback immediately if the file is already loaded.
if (GetFile() != nullptr)
{
m_FileLoadedCb();

View File

@@ -103,7 +103,7 @@ void PatchFixedFunctions(Core::System& system)
// Not part of the binary itself, but either we or Gecko OS might insert
// this, and it doesn't clear the icache properly.
Patch(system, Gecko::ENTRY_POINT, "GeckoCodehandler");
// This has to always be installed even if cheats are not enabled because of the possiblity of
// This has to always be installed even if cheats are not enabled because of the possibility of
// loading a savestate where PC is inside the code handler while cheats are disabled.
Patch(system, Gecko::HLE_TRAMPOLINE_ADDRESS, "GeckoHandlerReturnTrampoline");
}

View File

@@ -32,7 +32,7 @@ struct Accessors
virtual u8 ReadU8(const Core::CPUThreadGuard& guard, u32 address) const = 0;
virtual void WriteU8(const Core::CPUThreadGuard& guard, u32 address, u8 value) = 0;
// overrideable naive implementations of below are defined
// overridable naive implementations of below are defined
virtual u16 ReadU16(const Core::CPUThreadGuard& guard, u32 address) const;
virtual void WriteU16(const Core::CPUThreadGuard& guard, u32 address, u16 value);
virtual u32 ReadU32(const Core::CPUThreadGuard& guard, u32 address) const;

View File

@@ -31,7 +31,7 @@ constexpr u32 MAIL_INPUT_NEXT_SAMPLES = 0x0222;
// "send the samples for the internal buffer to the external buffer"
constexpr u32 MAIN_SEND_SAMPLES = 0x0666;
// "special: to dump the IROM Datas (remember disable others functions from the interrupt vector to
// use) (CMBH+0x8000) countain the address of IROM" (not used)
// use) (CMBH+0x8000) contains the address of IROM" (not used)
constexpr u32 MAIL_ROM_DUMP_WORD = 0x0777;
// "Used for test" (not used)
constexpr u32 MAIL_TEST = 0x0888;

View File

@@ -103,7 +103,7 @@ private:
u32 flags;
// internal addr counter
u32 start_addr;
// end voice physical pointer (bytes without alignament, but remember it reads in blocks of 32
// end voice physical pointer (bytes without alignment, but remember it reads in blocks of 32
// bytes (use padding to the end))
u32 end_addr;
// freq operation
@@ -116,7 +116,7 @@ private:
u16 volume_l, volume_r;
// initial voice2 physical pointer (bytes aligned 32 bytes) (to do a ring)
u32 start_addr2;
// end voice2 physical pointer (bytes without alignament, but remember it reads in blocks of 32
// end voice2 physical pointer (bytes without alignment, but remember it reads in blocks of 32
// bytes (use padding to the end))
u32 end_addr2;
// volume (from 0 to 256) for voice 2

View File

@@ -95,7 +95,7 @@ void GBAUCode::HandleMail(u32 mail)
{
PrepareBootUCode(mail);
// The GBA ucode ignores the first 3 mails (mram_dest_addr, mram_size, mram_dram_addr)
// but we currently don't handle that (they're read when they shoudln't be, but DSP HLE doesn't
// but we currently don't handle that (they're read when they shouldn't be, but DSP HLE doesn't
// implement them so it's fine).
return;
}
@@ -106,7 +106,7 @@ void GBAUCode::HandleMail(u32 mail)
{
if (mail == REQUEST_MAIL)
{
INFO_LOG_FMT(DSPHLE, "GBAUCode - Recieved request mail");
INFO_LOG_FMT(DSPHLE, "GBAUCode - Received request mail");
m_mail_state = MailState::WaitingForAddress;
}
else

View File

@@ -52,7 +52,7 @@ constexpr double LONG_SEEK_VELOCITY_INVERSE = 4.5; // inverse: s/m
// In practice this yields good-enough numbers as a more exact formula
// involving the integral over a polar equation (too complex to describe here)
// or the approximation of a DVD as a set of concentric circles (which is a
// better approximation, but makes futher derivations more complicated than
// better approximation, but makes further derivations more complicated than
// they need to be).
//
// From the area approximation, we end up with this formula:

View File

@@ -113,7 +113,7 @@ bool CEXIETHERNET::XLinkNetworkInterface::SendFrame(const u8* frame, u32 size)
m_bba_failure_notified = true;
}
// Return true because this isnt an error dolphin needs to handle
// Return true because this isn't an error dolphin needs to handle
return true;
}
@@ -160,7 +160,7 @@ void CEXIETHERNET::XLinkNetworkInterface::ReadThreadHandler(
ERROR_LOG_FMT(SP1, "Failed to read from BBA, err={}", bytes_read);
}
// Make sure *anything* was recieved before going any further
// Make sure *anything* was received before going any further
if (bytes_read < 1)
continue;
@@ -193,7 +193,7 @@ void CEXIETHERNET::XLinkNetworkInterface::ReadThreadHandler(
}
}
}
// Otherwise we recieved control data or junk
// Otherwise we received control data or junk
else
{
const std::string control_msg(self->m_in_frame, self->m_in_frame + bytes_read);

View File

@@ -165,10 +165,10 @@ std::pair<GCMemcardErrorCode, std::optional<GCMemcard>> GCMemcard::Open(std::str
//
// This rule only applies for errors within a single block! That is, invalid checksums for both
// types, and free block mismatch for the BATs. Once two valid blocks have been selected but it
// later turns out they do not match eachother (eg. claimed block count of a file in the directory
// does not match the actual block count arrived at by following BAT), the card will be treated as
// corrupted, even if perhaps a different combination of the two blocks would result in a valid
// memory card.
// later turns out they do not match each other (eg. claimed block count of a file in the
// directory does not match the actual block count arrived at by following BAT), the card will be
// treated as corrupted, even if perhaps a different combination of the two blocks would result in
// a valid memory card.
// can return invalid checksum, data in unused area
GCMemcardErrorCode dir_block_0_error_code = card.m_directory_blocks[0].CheckForErrors();
@@ -821,7 +821,7 @@ GCMemcardRemoveFileRetVal GCMemcard::RemoveFile(u8 index) // index in the direc
// TODO: Deleting a file via the GC BIOS sometimes leaves behind an extra updated directory block
// here that has an empty file with the filename "Broken File000" where the actual deleted file
// was. Determine when exactly this happens and if this is neccessary for anything.
// was. Determine when exactly this happens and if this is necessary for anything.
memset(reinterpret_cast<u8*>(&UpdatedDir.m_dir_entries[index]), 0xFF, DENTRY_SIZE);
UpdatedDir.m_update_counter = UpdatedDir.m_update_counter + 1;

View File

@@ -177,7 +177,7 @@ struct HeaderData
// 4 bytes at 0x001c: VI DTV status register value (u16 from 0xCC00206E)
u32 m_dtv_status;
// 2 bytes at 0x0020: 0 if formated in slot A, 1 if formated in slot B
// 2 bytes at 0x0020: 0 if formatted in slot A, 1 if formatted in slot B
Common::BigEndianValue<u16> m_device_id;
// 2 bytes at 0x0022: Size of memcard in Mbits

View File

@@ -575,7 +575,7 @@ s32 GCMemcardDirectory::DirectoryWrite(u32 dest_address, u32 length, const u8* s
// first 58 bytes should always be 0xff
// needed to update the update ctr, checksums
// could check for writes to the 6 important bytes but doubtful that it improves performance
// noticably
// noticeably
memcpy((u8*)(dest) + offset, src_address, length);
SyncSaves();
}

View File

@@ -263,7 +263,7 @@ ReadHandlingMethod<T>* ReadToLarger(Mapping* mmio, u32 larger_addr, u32 shift)
});
}
// Inplementation of the ReadHandler and WriteHandler class. There is a lot of
// Implementation of the ReadHandler and WriteHandler class. There is a lot of
// redundant code between these two classes but trying to abstract it away
// brings more trouble than it fixes.
template <typename T>

View File

@@ -169,7 +169,7 @@ private:
// MMIO block ID.
//
// Each array contains NUM_MMIOS / sizeof (AccessType) because larger
// access types mean less possible adresses (assuming aligned only
// access types mean less possible addresses (assuming aligned only
// accesses).
template <typename Unit>
struct HandlerArray

View File

@@ -99,7 +99,7 @@ int CSIDevice_GCController::RunBuffer(u8* buffer, int request_length)
}
// GameID packet, no response needed, nothing to do
// On real hardware, this is used to configure the BlueRetro controler
// On real hardware, this is used to configure the BlueRetro controller
// adapter, while licensed accessories ignore this command.
case EBufferCommands::CMD_SET_GAME_ID:
{

View File

@@ -77,7 +77,7 @@ DataResponse CSIDevice_GCSteeringWheel::GetData(u32& hi, u32& low)
GCPadStatus::MAIN_STICK_CENTER_Y - pad_status.stickY);
// We must double these values because we are mapping half of a stick range to a 0..255 value.
// We're only getting half the precison we could potentially have,
// We're only getting half the precision we could potentially have,
// but we'll have to redesign our GameCube controller input to fix that.
// All 8 bits (Accelerate)

View File

@@ -36,7 +36,7 @@ private:
KeyArray MapKeys(const KeyboardStatus& key_status) const;
// Internal counter synchonizing GC and keyboard
// Internal counter synchronizing GC and keyboard
u8 m_counter = 0;
};
} // namespace SerialInterface

View File

@@ -491,7 +491,7 @@ float VideoInterfaceManager::GetAspectRatio() const
// but it's only 4:3 if the picture fill the entire active area.
// All games configure VideoInterface to add padding in both the horizontal and vertical
// directions and most games also do a slight horizontal scale.
// This means that XFB never fills the entire active area and is therefor almost never 4:3
// This means that XFB never fills the entire active area and is therefore almost never 4:3
// To work out the correct aspect ratio of the XFB, we need to know how VideoInterface's
// currently configured active area compares to the active area of a stock PAL or NTSC
@@ -980,7 +980,7 @@ void VideoInterfaceManager::Update(u64 ticks)
m_ticks_last_line_start = ticks;
}
// TODO: Findout why skipping interrupts acts as a frameskip
// TODO: Find out why skipping interrupts acts as a frameskip
if (core_timing.GetVISkip())
return;

View File

@@ -203,7 +203,7 @@ union UVIFBInfoRegister
// POFF only seems to exist in the top reg. XOFF, unknown.
u32 XOFF : 4; // Horizontal Offset of the left-most pixel within the first word of the fetched
// picture
u32 POFF : 1; // Page offest: 1: fb address is (address>>5)
u32 POFF : 1; // Page offset: 1: fb address is (address>>5)
u32 CLRPOFF : 3; // ? setting bit 31 clears POFF
};
};

View File

@@ -67,7 +67,7 @@ Common::Quaternion ComplementaryFilter(const Common::Quaternion& gyroscope,
const auto cos_angle = normalized_accel.Dot(gyro_vec);
// If gyro to accel angle difference is betwen 0 and 180 degrees we make an adjustment.
// If gyro to accel angle difference is between 0 and 180 degrees we make an adjustment.
const auto abs_cos_angle = std::abs(cos_angle);
if (abs_cos_angle > 0 && abs_cos_angle < 1)
{

View File

@@ -305,7 +305,7 @@ void Wiimote::HandleWriteData(const OutputReportWriteData& wd)
auto const bytes_written = m_i2c_bus.BusWrite(wd.slave_address, (u8)address, wd.size, wd.data);
if (bytes_written != wd.size)
{
// A real wiimote gives error 7 for failed write to i2c bus (mainly a non-existant slave)
// A real wiimote gives error 7 for failed write to i2c bus (mainly a non-existent slave)
error_code = ErrorCode::Nack;
}
}
@@ -463,7 +463,7 @@ bool Wiimote::ProcessReadDataRequest()
// error code 8
// The real Wiimote generate an error for the first
// request to 0x1770 if we dont't replicate that the game will never
// request to 0x1770 if we don't replicate that the game will never
// read the calibration data at the beginning of Eeprom.
error_code = ErrorCode::InvalidAddress;
}

View File

@@ -499,7 +499,7 @@ EncryptionKey KeyGen::GenerateFromExtensionKeyData(const ExtKeyData& ext_key) co
}
// Retail games never hit this path but some homebrew fills encryption key with 0x00.
// Real extensions seem to then use entirely differnet "sboxes" for table generation.
// Real extensions seem to then use entirely different "sboxes" for table generation.
WARN_LOG_FMT(WIIMOTE, "Extension key gen did not match any idx. Generating fallback tables.");
return GenerateFallbackTables(rand, key);
}

View File

@@ -163,7 +163,7 @@ void Drums::Update(const DesiredExtensionState& target_state)
velocity = desired_state.softness;
// A drum-pad hit causes the relevent bit to be triggered for the next 10 frames.
// A drum-pad hit causes the relevant bit to be triggered for the next 10 frames.
constexpr u8 HIT_FRAME_COUNT = 10;
m_pad_remaining_frames[i] = HIT_FRAME_COUNT;
@@ -178,7 +178,7 @@ void Drums::Update(const DesiredExtensionState& target_state)
drum_data.velocity4 = velocity >> 4;
// Figure out which drum-pad bits to send.
// Note: Relevent bits are not set until after velocity data has been sent.
// Note: Relevant bits are not set until after velocity data has been sent.
// My drums never exposed simultaneous hits. One pad bit was always sent before the other.
for (std::size_t i = 0; i != drum_pad_bitmasks.size(); ++i)
{

View File

@@ -31,7 +31,7 @@ enum ExtensionNumber : u8
class ExtensionPort
{
public:
// The real wiimote reads extension data from i2c slave 0x52 addres 0x00:
// The real wiimote reads extension data from i2c slave 0x52 address 0x00:
static constexpr u8 REPORT_I2C_SLAVE = 0x52;
static constexpr u8 REPORT_I2C_ADDR = 0x00;

View File

@@ -629,7 +629,7 @@ static std::vector<WiimoteScannerWindows::EnumeratedWiimoteInterface> GetAllWiim
const auto parent_inst = GetInst(hid_iface).and_then(GetParentInst);
// This provies a proper name like "Nintendo RVL-CNT-01" or "Nintendo RVL-WBC-01".
// This provides a proper name like "Nintendo RVL-CNT-01" or "Nintendo RVL-WBC-01".
const auto bluetooth_name = parent_inst.and_then(GetBluetoothName);
DEBUG_LOG_FMT(WIIMOTE, " BluetoothName: {}", bluetooth_name.value_or("<error>"));

View File

@@ -182,7 +182,8 @@ int WiimoteHidapi::IORead(u8* buf)
{
int timeout = 200; // ms
int result = hid_read_timeout(m_handle, buf + 1, MAX_PAYLOAD - 1, timeout);
// TODO: If and once we use hidapi across plaforms, change our internal API to clean up this mess.
// TODO: If and once we use hidapi across platforms, change our internal API to clean up this
// mess.
if (result == -1)
{
ERROR_LOG_FMT(WIIMOTE, "Failed to read from {}.", m_device_path);

View File

@@ -388,7 +388,7 @@ static std::optional<DefaultInterface> GetSystemDefaultInterface()
const u32 prefix_length = GetNetworkPrefixLength();
const u32 netmask = (1 << prefix_length) - 1;
const u32 gateway = GetNetworkGateway();
// this isnt fully correct, but this will make calls to get the routing table at least return the
// this isn't fully correct, but this will make calls to get the routing table at least return the
// gateway
if (routing_table.empty())
routing_table = {{0, 0, 0, gateway}};
@@ -433,7 +433,7 @@ static std::optional<DefaultInterface> GetSystemDefaultInterface()
if (iface->ifa_addr && iface->ifa_addr->sa_family == AF_INET &&
get_addr(iface->ifa_addr).s_addr == default_interface_address->s_addr)
{
// this isnt fully correct, but this will make calls to get the routing table at least return
// this isn't fully correct, but this will make calls to get the routing table at least return
// the gateway
if (routing_table.empty())
routing_table = {{0, {}, {}, get_addr(iface->ifa_dstaddr)}};

View File

@@ -1394,7 +1394,7 @@ Type NormalizeSkylanderType(Type type)
case Type::Trap:
case Type::Vehicle:
case Type::Unknown:
// until these get seperate data logic (except unknown and item since items don't save data and
// until these get separate data logic (except unknown and item since items don't save data and
// unknown is unknown)
return Type::Unknown;
}

View File

@@ -139,7 +139,7 @@ constexpr std::array<u8, 256> s_key_codes_azerty{
0x55, // Multiply
0x57, // Add
0x00, // Separator
0x56, // Substract
0x56, // Subtract
0x63, // Decimal
0x54, // Divide
// F1 -> F12

View File

@@ -67,7 +67,7 @@ public:
void AddFromStrings(const TBreakPointsStr& bp_strings);
bool IsAddressBreakPoint(u32 address) const;
bool IsBreakPointEnable(u32 adresss) const;
bool IsBreakPointEnable(u32 address) const;
// Get the breakpoint in this address (for most purposes)
const TBreakPoint* GetBreakpoint(u32 address) const;
// Get the breakpoint in this address (ignore temporary breakpoint, e.g. for editing purposes)

View File

@@ -2,7 +2,7 @@
// SPDX-License-Identifier: GPL-2.0-or-later
// TODO(ector): Tons of pshufb optimization of the loads/stores, for SSSE3+, possibly SSE4, only.
// Should give a very noticable speed boost to paired single heavy code.
// Should give a very noticeable speed boost to paired single heavy code.
#include "Core/PowerPC/Jit64/Jit.h"

View File

@@ -595,7 +595,7 @@ void Jit64::crXXX(UGeckoInstruction inst)
JITDISABLE(bJITSystemRegistersOff);
DEBUG_ASSERT_MSG(DYNA_REC, inst.OPCD == 19, "Invalid crXXX");
// TODO(merry): Futher optimizations can be performed here. For example,
// TODO(merry): Further optimizations can be performed here. For example,
// instead of extracting each CR field bit then setting it, the operation
// could be performed on the internal format directly instead and the
// relevant bit result can be masked out.

View File

@@ -81,7 +81,7 @@ void CommonAsmRoutines::GenConvertDoubleToSingle()
PAND(XMM0, MConst(double_bottom_bits));
PSRLQ(XMM0, 29);
// OR them togther
// OR them together
POR(XMM0, R(XMM1));
MOVD_xmm(R(RSCRATCH), XMM0);
}

View File

@@ -129,7 +129,7 @@ static void EFB_Write(u32 data, u32 addr)
if (addr & 0x00800000)
{
// It's possible to do a z-tested write to EFB by writing a 64bit value to this address range.
// Not much is known, but let's at least get some loging.
// Not much is known, but let's at least get some logging.
ERROR_LOG_FMT(MEMMAP, "Unimplemented Z+Color EFB write. {:08x} @ {:#010x}", data, addr);
}
else if (addr & 0x00400000)

View File

@@ -48,7 +48,7 @@ struct ContentFile
typedef std::shared_ptr<std::vector<u8>> ContentMemory;
// Content chunk that loads data from a DirectoryBlobReader.
// Intented for representing a partition within a disc.
// Intended for representing a partition within a disc.
struct ContentPartition
{
// Offset from the start of the partition for the first byte represented by this chunk.

View File

@@ -244,7 +244,7 @@ bool NANDImporter::ExtractCertificates()
if (search_result.empty())
{
ERROR_LOG_FMT(DISCIO, "ExtractCertificates: Could not find offset for certficate '{}'",
ERROR_LOG_FMT(DISCIO, "ExtractCertificates: Could not find offset for certificate '{}'",
certificate.filename);
return false;
}

View File

@@ -1792,7 +1792,7 @@ WIARVZFileReader<RVZ>::Convert(BlobReader* infile, const VolumeDisc* infile_volu
// Compared to WIA, RVZ adds an extra member to the GroupEntry struct. This added data usually
// compresses well, so we'll assume the compression ratio for RVZ GroupEntries is 9 / 16 or
// better. This constant is somehwat arbitrarily chosen, but no games were found that get a
// better. This constant is somewhat arbitrarily chosen, but no games were found that get a
// worse compression ratio than that. There are some games that get a worse ratio than 1 / 2,
// such as Metroid: Other M (PAL) with the default settings.
if (RVZ && compression_type > WIARVZCompressionType::Purge)

View File

@@ -821,7 +821,7 @@ static void PaintStateIndicator(QPainter& painter, const QRect& region, ControlS
QRect meter_region = region;
meter_region.setWidth(region.width() * std::clamp(state, 0.0, 1.0));
// Create a temporary indicator object to retreive color constants.
// Create a temporary indicator object to retrieve color constants.
MappingIndicator indicator;
// Normal text.

View File

@@ -676,7 +676,7 @@ void CodeViewWidget::OnContextMenu()
auto* note = m_ppc_symbol_db.GetNoteFromAddr(addr);
note_edit_action->setEnabled(note != nullptr);
// A note cannot be added ontop of the starting address of another note.
// A note cannot be added on top of the starting address of another note.
if (note != nullptr && note->address == addr)
note_add_action->setEnabled(false);

View File

@@ -984,7 +984,7 @@ void MemoryViewWidget::ToggleHighlights(bool enabled)
}
else
{
// Treated as being interchangable with Qt::transparent.
// Treated as being interchangeable with Qt::transparent.
m_highlight_color.setAlpha(0);
// Immediately remove highlights when paused.
@@ -1220,7 +1220,7 @@ void MemoryViewWidget::OnContextMenu(const QPoint& pos)
auto* note = m_ppc_symbol_db.GetNoteFromAddr(addr);
note_edit_action->setEnabled(note != nullptr);
// A note cannot be added ontop of the starting address of another note.
// A note cannot be added on top of the starting address of another note.
if (note != nullptr && note->address == addr)
note_add_action->setEnabled(false);

View File

@@ -31,7 +31,7 @@ enum class RegisterType
int_mask, // ???
int_cause, // ???
dsisr, // Defines the cause of data / alignment exceptions
dar, // Data adress register
dar, // Data address register
pt_hashmask // ???
};

View File

@@ -162,7 +162,7 @@ void ResourcePackManager::RepopulateTable()
SelectionChanged();
}
// Revert the indicies as to be more intuitive for users
// Revert the indices as to be more intuitive for users
int ResourcePackManager::GetResourcePackIndex(QTableWidgetItem* item) const
{
return m_table_widget->rowCount() - 1 - item->row();

View File

@@ -18,7 +18,7 @@ public:
void Hide();
signals:
void Search(const QString& serach);
void Search(const QString& search);
private:
void CreateWidgets();

View File

@@ -414,7 +414,7 @@ void Settings::SetStyleType(StyleType type)
{
GetQSettings().setValue(QStringLiteral("userstyle/styletype"), static_cast<int>(type));
// also set the old setting so that the config is correctly intepreted by older Dolphin builds
// also set the old setting so that the config is correctly interpreted by older Dolphin builds
GetQSettings().setValue(QStringLiteral("userstyle/enabled"), type == StyleType::User);
}

View File

@@ -89,7 +89,7 @@ void AudioPane::CreateWidgets()
const QFontMetrics font_metrics{font()};
const int label_width = font_metrics.boundingRect(GetVolumeLabelText(100)).width();
// Ensure the label is at least as wide as the QGroupBox title.
// This prevents [-Volume] title uglyness on Windows.
// This prevents [-Volume] title ugliness on Windows.
const int title_width = font_metrics.boundingRect(volume_box->title()).width();
m_volume_indicator->setFixedWidth(std::max(label_width, title_width));

View File

@@ -131,7 +131,7 @@ void InterfacePane::CreateUI()
m_combobox_language = MakeLanguageComboBox();
combobox_layout->addRow(tr("&Language:"), m_combobox_language);
// List avalable themes
// List available themes
auto theme_paths =
Common::DoFileSearch({File::GetUserPath(D_THEMES_IDX), File::GetSysDirectory() + THEMES_DIR});
std::vector<std::string> theme_names;

View File

@@ -198,7 +198,7 @@ TASSpinBox* TASInputWindow::CreateSliderValuePair(
}
// The shortcut_widget argument needs to specify the container widget that will be hidden/shown.
// This is done to avoid ambigous shortcuts
// This is done to avoid ambiguous shortcuts
TASSpinBox* TASInputWindow::CreateSliderValuePair(QBoxLayout* layout, int default_, int max,
QKeySequence shortcut_key_sequence,
Qt::Orientation orientation,

View File

@@ -130,11 +130,11 @@ Lexer::Lexer(std::string expr_) : expr(std::move(expr_))
it = expr.begin();
}
Token Lexer::GetDelimitedToken(TokenType type, char delimeter)
Token Lexer::GetDelimitedToken(TokenType type, char delimiter)
{
const std::string value = FetchCharsWhile([&](char c) { return c != delimeter && c != '\n'; });
const std::string value = FetchCharsWhile([&](char c) { return c != delimiter && c != '\n'; });
if (it == expr.end() || *it != delimeter)
if (it == expr.end() || *it != delimiter)
return Token(TOK_INVALID);
++it;
@@ -639,7 +639,8 @@ private:
// right-hand child. Its intended use is for supporting old-style barewords expressions.
// Note that if you have a keyboard device as default device and the expression is a single digit
// number, this will usually resolve in a numerical key instead of a numerical value.
// Though if this expression belongs to NumericSetting, it will likely be simplifed back to a value.
// Though if this expression belongs to NumericSetting, it will likely be simplified back to a
// value.
class CoalesceExpression : public Expression
{
public:

View File

@@ -96,7 +96,7 @@ private:
}
std::string FetchWordChars();
Token GetDelimitedToken(TokenType type, char delimeter);
Token GetDelimitedToken(TokenType type, char delimiter);
Token GetDelimitedLiteral();
Token GetVariable();
Token GetFullyQualifiedControl();

View File

@@ -28,7 +28,7 @@ Force::Force(const std::string& name_) : ReshapableInput(name_, name_, GroupType
{_trans("Distance"),
// i18n: The symbol/abbreviation for centimeters.
_trans("cm"),
// i18n: Refering to emulated wii remote swing movement.
// i18n: Referring to emulated wii remote swing movement.
_trans("Distance of travel from neutral position.")},
50, 1, 100);
@@ -42,7 +42,7 @@ Force::Force(const std::string& name_) : ReshapableInput(name_, name_, GroupType
{_trans("Speed"),
// i18n: The symbol/abbreviation for meters per second.
_trans("m/s"),
// i18n: Refering to emulated wii remote swing movement.
// i18n: Referring to emulated wii remote swing movement.
_trans("Peak velocity of outward swing movements.")},
16, 1, 40);
@@ -51,7 +51,7 @@ Force::Force(const std::string& name_) : ReshapableInput(name_, name_, GroupType
{_trans("Return Speed"),
// i18n: The symbol/abbreviation for meters per second.
_trans("m/s"),
// i18n: Refering to emulated wii remote swing movement.
// i18n: Referring to emulated wii remote swing movement.
_trans("Peak velocity of movements to neutral position.")},
2, 1, 40);
@@ -59,7 +59,7 @@ Force::Force(const std::string& name_) : ReshapableInput(name_, name_, GroupType
{_trans("Angle"),
// i18n: The symbol/abbreviation for degrees (unit of angular measure).
_trans("°"),
// i18n: Refering to emulated wii remote swing movement.
// i18n: Referring to emulated wii remote swing movement.
_trans("Rotation applied at extremities of swing.")},
90, 1, 180);
}
@@ -141,7 +141,7 @@ Shake::Shake(const std::string& name_, ControlState default_intensity_scale)
{_trans("Intensity"),
// i18n: The symbol/abbreviation for centimeters.
_trans("cm"),
// i18n: Refering to emulated wii remote movement.
// i18n: Referring to emulated wii remote movement.
_trans("Total travel distance.")},
10 * default_intensity_scale, -50, 50);
@@ -151,7 +151,7 @@ Shake::Shake(const std::string& name_, ControlState default_intensity_scale)
{_trans("Frequency"),
// i18n: The symbol/abbreviation for hertz (cycles per second).
_trans("Hz"),
// i18n: Refering to emulated wii remote movement.
// i18n: Referring to emulated wii remote movement.
_trans("Number of shakes per second.")},
6, 1, 20);
}

View File

@@ -34,7 +34,7 @@ std::optional<double> GetRayLineIntersection(Common::DVec2 ray, Common::DVec2 po
const auto dot = diff.Dot({-ray.y, ray.x});
if (std::abs(dot) < 0.00001)
{
// Both points are on top of eachother.
// Both points are on top of each other.
return std::nullopt;
}
@@ -169,7 +169,7 @@ ControlState ReshapableInput::GetCalibrationDataRadiusAtAngle(const CalibrationD
GetPointFromAngleAndLength(sample1_angle, data[sample1_index]),
GetPointFromAngleAndLength(sample2_angle, data[sample2_index]));
// Intersection has no value when points are on top of eachother.
// Intersection has no value when points are on top of each other.
return intersection.value_or(data[sample1_index]);
}

View File

@@ -240,7 +240,7 @@ struct Message
std::optional<ToMsgType> CheckAndCastTo()
{
const u32 crc32_in_header = m_message.header.crc32;
// zero out the crc32 in the packet once we got it since that's whats needed for calculation
// zero out the crc32 in the packet once we got it since that's what's needed for calculation
m_message.header.crc32 = 0;
const u32 crc32_calculated =
Common::ComputeCRC32(reinterpret_cast<const u8*>(&m_message), sizeof(ToMsgType));

View File

@@ -328,7 +328,7 @@ private:
if (m_switch == WGI::GameControllerSwitchPosition::Center)
return 0.0;
// All of the "inbetween" states (e.g. Up-Right) are one-off from the four cardinal
// All of the "in between" states (e.g. Up-Right) are one-off from the four cardinal
// directions. This tests that the current switch state value is within 1 of the desired
// state.
const auto direction_diff = std::abs(static_cast<int32_t>(m_switch) - m_direction);

View File

@@ -737,7 +737,7 @@ void Device::ProcessExtensionID(u8 id_0, u8 id_4, u8 id_5)
}
else
{
// This is a normal occurance before extension initialization.
// This is a normal occurrence before extension initialization.
DEBUG_LOG_FMT(WIIMOTE, "WiiRemote: Unknown extension: {} {} {}.", id_0, id_4, id_5);
m_extension_id = ExtensionID::Unsupported;
}
@@ -1328,7 +1328,7 @@ void Device::IRState::ProcessData(const DataReportManipulator& manipulator)
if (points.Count() >= 2)
{
const auto variance = points.PopulationVariance();
// Adjusts Y coorinate to match horizontal FOV.
// Adjusts Y coordinate to match horizontal FOV.
const auto separation =
Common::Vec2(std::sqrt(variance.x), std::sqrt(variance.y)) /
Common::Vec2(WiimoteEmu::CameraLogic::CAMERA_RES_X,

View File

@@ -634,7 +634,7 @@ static bool CheckDeviceAccess(libusb_device* device)
}
else if (ret != 0) // 0: kernel driver is not active, but otherwise no error.
{
// Neither 0 nor 1 means an error occured.
// Neither 0 nor 1 means an error occurred.
ERROR_LOG_FMT(CONTROLLERINTERFACE, "libusb_kernel_driver_active failed: {}",
LibusbUtils::ErrorWrap(ret));
}

View File

@@ -274,7 +274,7 @@ void UpdateDiscordPresence(int party_size, SecretType type, const std::string& s
std::string secret_final;
if (type != SecretType::Empty)
{
// Declearing party_id or secret_final here will deallocate the variable before passing the
// Declaring party_id or secret_final here will deallocate the variable before passing the
// values over to Discord_UpdatePresence.
const size_t secret_length = secret.length();

View File

@@ -289,7 +289,7 @@ std::optional<std::string> NetPlaySession::DecryptID(std::string_view password)
if (password.empty())
return {};
// If the length of an encrypted session id is not divisble by two, it's invalid
// If the length of an encrypted session id is not divisible by two, it's invalid
if (server_id.empty() || server_id.size() % 2 != 0)
return {};

View File

@@ -107,7 +107,7 @@ void XRRConfiguration::Update()
}
fullMode = 0;
// Get the resolution setings for fullscreen mode
// Get the resolution settings for fullscreen mode
unsigned int fullWidth, fullHeight;
char* output_name = nullptr;
char auxFlag = '\0';

View File

@@ -331,7 +331,7 @@ bool BackupFile(const std::string& path)
LogToFile("Backing up existing %s to .bak.\n", path.c_str());
if (!File::Rename(path, backup_path))
{
LogToFile("Cound not rename %s to %s for backup.\n", path.c_str(), backup_path.c_str());
LogToFile("Could not rename %s to %s for backup.\n", path.c_str(), backup_path.c_str());
return false;
}
return true;

View File

@@ -43,7 +43,7 @@ public:
void TransitionToState(D3D12_RESOURCE_STATES state) const;
// Destoys the resource backing this texture. The resource must not be in use by the GPU.
// Destroys the resource backing this texture. The resource must not be in use by the GPU.
void DestroyResource();
private:

View File

@@ -316,7 +316,7 @@ bool SwapChain::ChangeSurface(void* native_handle)
{
DestroySwapChain();
m_wsi.render_surface = native_handle;
// We only keep the swap chain settings (HDR/Stereo) that had successfully applied beofre
// We only keep the swap chain settings (HDR/Stereo) that had successfully applied before
return CreateSwapChain(m_stereo, m_hdr);
}

View File

@@ -891,7 +891,7 @@ void Metal::StateTracker::PrepareCompute()
{
m_dirty_textures &= ~pipe->GetTextures();
// Since there's two sets of textures, it's likely there'll be a few in each
// Check each set separately to avoid doing too many unneccessary bindings
// Check each set separately to avoid doing too many unnecessary bindings
constexpr u32 lo_mask = (1 << VideoCommon::MAX_COMPUTE_SHADER_SAMPLERS) - 1;
if (u32 lo = dirty & lo_mask)
{

View File

@@ -274,7 +274,7 @@ bool PopulateConfig(GLContext* m_main_gl_context)
if (!GLExtensions::Supports("GL_ARB_sampler_objects"))
{
// Our sampler cache uses this extension. It could easyly be workaround and it's by far the
// Our sampler cache uses this extension. It could easily be workaround and it's by far the
// highest requirement, but it seems that no driver lacks support for it.
PanicAlertFmtT("GPU: OGL ERROR: Need GL_ARB_sampler_objects.\n"
"GPU: Does your video card support OpenGL 3.3?");

View File

@@ -133,7 +133,7 @@ bool VideoBackend::FillBackendInfo(GLContext* context)
g_backend_info.bSupportsPipelineCacheData = false;
g_backend_info.bSupportsLodBiasInSampler = true;
g_backend_info.bSupportsPartialMultisampleResolve = true;
// Unneccessary since OGL doesn't use pipelines
// Unnecessary since OGL doesn't use pipelines
g_backend_info.bSupportsDynamicVertexLoader = false;
// TODO: There is a bug here, if texel buffers or SSBOs/atomics are not supported the graphics

View File

@@ -42,7 +42,7 @@ StreamBuffer::~StreamBuffer()
* The next three functions are to create/delete/use the OpenGL synchronization.
* ARB_sync (OpenGL 3.2) is used and required.
*
* To reduce overhead, the complete buffer is splitted up into SYNC_POINTS chunks.
* To reduce overhead, the complete buffer is split up into SYNC_POINTS chunks.
* For each of this chunks, there is a fence which checks if this chunk is still in use.
*
* As our API allows to alloc more memory then it has to use, we have to catch how much is already

View File

@@ -129,7 +129,7 @@ void SWGfx::SetScissorRect(const MathUtil::Rectangle<int>& rc)
{
// BPFunctions calls SetScissorRect with the "best" scissor rect whenever the viewport or scissor
// changes. However, the software renderer is actually able to use multiple scissor rects (which
// is necessary in a few renderering edge cases, such as with Major Minor's Majestic March).
// is necessary in a few rendering edge cases, such as with Major Minor's Majestic March).
// Thus, we use this as a signal to update the list of scissor rects, but ignore the parameter.
Rasterizer::ScissorChanged();
}

View File

@@ -42,7 +42,7 @@ public:
// Fence "counters" are used to track which commands have been completed by the GPU.
// If the last completed fence counter is greater or equal to N, it means that the work
// associated counter N has been completed by the GPU. The value of N to associate with
// commands can be retreived by calling GetCurrentFenceCounter().
// commands can be retrieved by calling GetCurrentFenceCounter().
u64 GetCompletedFenceCounter() const { return m_completed_fence_counter; }
// Gets the fence that will be signaled when the currently executing command buffer is

View File

@@ -66,7 +66,7 @@ public:
void SetViewport(const VkViewport& viewport);
void SetScissor(const VkRect2D& scissor);
// Binds all dirty state to the commmand buffer.
// Binds all dirty state to the command buffer.
// If this returns false, you should not issue the draw.
bool Bind();

View File

@@ -60,7 +60,7 @@ struct RasterSurfaceShaderData
// These shader properties describe the input that the
// shader expects to expose. The key is text
// expected to be in the shader code and the propery
// expected to be in the shader code and the property
// describes various details about the input
std::vector<ShaderProperty> uniform_properties;
std::string vertex_source;

View File

@@ -20,7 +20,7 @@ struct TextureSamplerValue
// If 'Asset' is used, the sampler is pulled
// directly from the asset properties
// If 'TextureHash' is chosen, the sampler is pulled
// from the game with the cooresponding texture hash
// from the game with the corresponding texture hash
enum class SamplerOrigin
{
Asset,

View File

@@ -153,7 +153,7 @@ bool CPUCull::AreAllVerticesCulled(VertexLoaderBase* loader, OpcodeDecoder::Prim
Common::AllocateAlignedMemory(new_size * sizeof(TransformedVertex), 32)));
}
// transform functions need the projection matrix to tranform to clip space
// transform functions need the projection matrix to transform to clip space
auto& system = Core::System::GetInstance();
system.GetVertexShaderManager().SetProjectionMatrix(system.GetXFStateManager());

View File

@@ -325,7 +325,7 @@ enum Bug
// BUG: Some driver and Apple Silicon GPU combinations have problems with fragment discard when
// early depth test is enabled. Discarded fragments may appear corrupted (Super Mario Sunshine,
// Sonic Adventure 2: Battle, Phantasy Star Online Epsiodes 1 & 2, etc).
// Sonic Adventure 2: Battle, Phantasy Star Online Episodes 1 & 2, etc).
// Affected devices: Apple Silicon GPUs of Apple family 4 and newer.
// Started version: -1
// Ended version: -1

View File

@@ -18,7 +18,7 @@ void GeometryShaderManager::Init()
{
constants = {};
// Init any intial constants which aren't zero when bpmem is zero.
// Init any initial constants which aren't zero when bpmem is zero.
SetViewportChanged();
SetProjectionChanged();

View File

@@ -16,7 +16,7 @@ void PixelShaderManager::Init()
{
constants = {};
// Init any intial constants which aren't zero when bpmem is zero.
// Init any initial constants which aren't zero when bpmem is zero.
m_fog_range_adjusted_changed = true;
m_viewport_changed = false;
@@ -51,9 +51,9 @@ void PixelShaderManager::Init()
constants.konst[10][component] = 0;
constants.konst[11][component] = 0;
// Annoyingly, alpha reads zero values for the .rgb colors (offically
// Annoyingly, alpha reads zero values for the .rgb colors (officially
// defined as invalid)
// If it wasn't for this, we could just use one of the first 3 colunms
// If it wasn't for this, we could just use one of the first 3 columns
// instead of
// wasting an entire 4th column just for alpha.
if (component == 3)

View File

@@ -908,7 +908,7 @@ void PostProcessing::FillUniformBuffer(const MathUtil::Rectangle<int>& src,
g_ActiveConfig.color_correction.fSDRDisplayCustomGamma;
// scRGB (RGBA16F) expects linear values as opposed to sRGB gamma
builtin_uniforms.linear_space_output = m_framebuffer_format == AbstractTextureFormat::RGBA16F;
// Implies ouput values can be beyond the 0-1 range
// Implies output values can be beyond the 0-1 range
builtin_uniforms.hdr_output = m_framebuffer_format == AbstractTextureFormat::RGBA16F;
builtin_uniforms.hdr_paper_white_nits = g_ActiveConfig.color_correction.fHDRPaperWhiteNits;
// A value of 1 1 1 usually matches 80 nits in HDR

View File

@@ -628,7 +628,7 @@ std::tuple<float, float> Presenter::ApplyStandardAspectCrop(float width, float h
// For the custom (relative) case, we want to crop from the native aspect ratio
// to the specific target one, as they likely have a small difference
case AspectMode::Custom:
// There should be no cropping needed in the custom strech case,
// There should be no cropping needed in the custom stretch case,
// as output should always exactly match the target aspect ratio
case AspectMode::CustomStretch:
expected_aspect = g_ActiveConfig.GetCustomAspectRatio();

View File

@@ -76,7 +76,7 @@ static DstBlendFactor RemoveDstAlphaUsage(DstBlendFactor factor)
}
// We separate the blending parameter for rgb and alpha. For blending
// the alpha component, CLR and ALPHA are indentical. So just always
// the alpha component, CLR and ALPHA are identical. So just always
// use ALPHA as this makes it easier for the backends to use the second
// alpha value of dual source blending.
static DstBlendFactor RemoveSrcColorUsage(DstBlendFactor factor)

View File

@@ -569,7 +569,7 @@ void TextureCacheBase::DoSaveState(PointerWrap& p)
auto ShouldSaveEntry = [](const RcTcacheEntry& entry) {
// We skip non-copies as they can be decoded from RAM when the state is loaded.
// Storing them would duplicate data in the save state file, adding to decompression time.
// We also need to store invalidated entires, as they can't be restored from RAM.
// We also need to store invalidated entries, as they can't be restored from RAM.
return entry->IsCopy() || entry->invalidated;
};
auto AddCacheEntryToMap = [&entry_map, &entries_to_save](const RcTcacheEntry& entry) -> u32 {
@@ -1257,7 +1257,7 @@ TCacheEntry* TextureCacheBase::LoadImpl(const TextureInfo& texture_info, bool fo
// If the TMEM configuration is such that this texture is more or less guaranteed to still
// be in TMEM, then we know we can reuse the old entry without even hashing the memory
//
// It's possible this texture has already been overwritten in emulated memory and therfore
// It's possible this texture has already been overwritten in emulated memory and therefore
// invalidated from our texture cache, but we want to use it anyway to approximate the
// result of the game using an overwritten texture cached in TMEM.
//
@@ -2471,7 +2471,7 @@ void TextureCacheBase::CopyRenderTargetToTexture(
if (OpcodeDecoder::g_record_fifo_data)
{
// Mark the memory behind this efb copy as dynamicly generated for the Fifo log
// Mark the memory behind this efb copy as dynamically generated for the Fifo log
u32 address = dstAddr;
for (u32 i = 0; i < num_blocks_y; i++)
{
@@ -2690,7 +2690,7 @@ TextureCacheBase::FindMatchingTextureFromPool(const TextureConfig& config)
// Find a texture from the pool that does not have a frameCount of FRAMECOUNT_INVALID.
// This prevents a texture from being used twice in a single frame with different data,
// which potentially means that a driver has to maintain two copies of the texture anyway.
// Render-target textures are fine through, as they have to be generated in a seperated pass.
// Render-target textures are fine through, as they have to be generated in a separate pass.
// As non-render-target textures are usually static, this should not matter much.
auto range = m_texture_pool.equal_range(config);
auto matching_iter = std::find_if(range.first, range.second, [](const auto& iter) {

View File

@@ -1006,7 +1006,7 @@ static void TexDecoder_DecodeImpl_RGBA8_SSSE3(u32* dst, const u8* src, int width
TextureFormat texformat, const u8* tlut,
TLUTFormat tlutfmt, int Wsteps4, int Wsteps8)
{
// xsacha optimized with SSSE3 instrinsics
// xsacha optimized with SSSE3 intrinsics
// Produces a ~30% speed improvement over SSE2 implementation
for (int y = 0; y < height; y += 4)
{
@@ -1212,7 +1212,7 @@ static void TexDecoder_DecodeImpl_CMPR(u32* dst, const u8* src, int width, int h
int cmp1 = _mm_extract_epi16(cmprgb0rgb1, 4);
// green:
// NOTE: We start with the larger number of bits (6) firts for G and shift the mask down
// NOTE: We start with the larger number of bits (6) first for G and shift the mask down
// 1 bit to get a 5-bit mask later for R and B components.
// low6mask == _mm_set_epi32(0x0000FC00, 0x0000FC00, 0x0000FC00, 0x0000FC00)
const __m128i low6mask = _mm_slli_epi32(_mm_srli_epi32(allFFs128, 24 + 2), 8 + 2);

View File

@@ -557,7 +557,7 @@ ShaderCode GenPixelShader(APIType api_type, const ShaderHostConfig& host_config,
out.Write("}}\n"
"\n");
// Since the fixed-point texture coodinate variables aren't global, we need to pass
// Since the fixed-point texture coordinate variables aren't global, we need to pass
// them to the select function. This applies to all backends.
if (numTexgen > 0)
{

View File

@@ -439,7 +439,7 @@ float3 load_input_float3_rawtex(uint vtx_offset, uint attr_offset) {{
// There are two different ways to do this, when the depth range is oversized, we process
// the depth range in the vertex shader, if not we let the host driver handle it.
//
// Adjust z for the depth range. We're using an equation which incorperates a depth inversion,
// Adjust z for the depth range. We're using an equation which incorporates a depth inversion,
// so we can map the console -1..0 range to the 0..1 range used in the depth buffer.
// We have to handle the depth range in the vertex shader instead of after the perspective
// divide, because some games will use a depth range larger than what is allowed by the
@@ -451,7 +451,7 @@ float3 load_input_float3_rawtex(uint vtx_offset, uint attr_offset) {{
if (!host_config.backend_clip_control)
{
// If the graphics API doesn't support a depth range of 0..1, then we need to map z to
// the -1..1 range. Unfortunately we have to use a substraction, which is a lossy floating-point
// the -1..1 range. Unfortunately we have to use a subtraction, which is a lossy floating-point
// operation that can introduce a round-trip error.
out.Write("o.pos.z = o.pos.z * 2.0 - o.pos.w;\n");
}

View File

@@ -965,7 +965,7 @@ void VertexManagerBase::OnDraw()
void VertexManagerBase::OnCPUEFBAccess()
{
// Check this isn't another access without any draws inbetween.
// Check this isn't another access without any draws in between.
if (!m_cpu_accesses_this_frame.empty() && m_cpu_accesses_this_frame.back() == m_draw_counter)
return;

View File

@@ -792,7 +792,7 @@ ShaderCode GenerateVertexShaderCode(APIType api_type, const ShaderHostConfig& ho
// There are two different ways to do this, when the depth range is oversized, we process
// the depth range in the vertex shader, if not we let the host driver handle it.
//
// Adjust z for the depth range. We're using an equation which incorperates a depth inversion,
// Adjust z for the depth range. We're using an equation which incorporates a depth inversion,
// so we can map the console -1..0 range to the 0..1 range used in the depth buffer.
// We have to handle the depth range in the vertex shader instead of after the perspective
// divide, because some games will use a depth range larger than what is allowed by the
@@ -804,7 +804,7 @@ ShaderCode GenerateVertexShaderCode(APIType api_type, const ShaderHostConfig& ho
if (!host_config.backend_clip_control)
{
// If the graphics API doesn't support a depth range of 0..1, then we need to map z to
// the -1..1 range. Unfortunately we have to use a substraction, which is a lossy floating-point
// the -1..1 range. Unfortunately we have to use a subtraction, which is a lossy floating-point
// operation that can introduce a round-trip error.
out.Write("o.pos.z = o.pos.z * 2.0 - o.pos.w;\n");
}

View File

@@ -4,7 +4,7 @@
// IMPORTANT: UI etc should modify g_Config. Graphics code should read g_ActiveConfig.
// The reason for this is to get rid of race conditions etc when the configuration
// changes in the middle of a frame. This is done by copying g_Config to g_ActiveConfig
// at the start of every frame. Noone should ever change members of g_ActiveConfig
// at the start of every frame. No one should ever change members of g_ActiveConfig
// directly.
#pragma once

View File

@@ -236,7 +236,7 @@ dma_copy:
si @DMBL, #0xfeeb
si @DIRQ, #0x0001
; wait for the CPU to recieve our response before we execute the next op
; wait for the CPU to receive our response before we execute the next op
call 0x8078
andi $ac0.m, #0x7fff
lrs $ac1.m, @CMBL

View File

@@ -2,7 +2,7 @@
# Instead of having one PCH per module, dolphin has one PCH shared between all modules.
# So we need to implement PCH manually, rather than using the PCH support built into cmake
# linking against this interface libary will cause targets to enable PCH
# linking against this interface library will cause targets to enable PCH
add_library(use_pch INTERFACE)
# Uncomment this return to disable PCH

View File

@@ -2258,7 +2258,7 @@ TEST(Assembler, InvalidNumericLabels)
res = Assemble(forward_directive, 0);
EXPECT_TRUE(IsFailure(res) &&
GetFailure(res).message ==
"Forward label references not supported in fully resolved expressons")
"Forward label references not supported in fully resolved expressions")
<< GetFailure(res).message;
res = Assemble(missing_backward_directive, 0);
EXPECT_TRUE(IsFailure(res) && GetFailure(res).message == "No numeric label '0' found above here")

View File

@@ -32,7 +32,7 @@ TEST(BusyLoopTest, MultiThreaded)
{
// We normally have to call Wakeup to assure the Event is triggered.
// But this check is for an internal feature of the BlockingLoop.
// It's implemented to fall back to a busy loop regulary.
// It's implemented to fall back to a busy loop regularly.
// If we're in the busy loop, the payload (and so the Event) is called all the time.
// loop.Wakeup();
e.Wait();

View File

@@ -48,6 +48,6 @@ TEST(WorkQueueThread, Simple)
worker.Push(2);
worker.WaitForCompletion();
// Still running after cancelation.
// Still running after cancellation.
EXPECT_EQ(x, 2);
}

View File

@@ -42,7 +42,7 @@ SR: equ 0x13
PRODL: equ 0x14
PRODM: equ 0x15
PRODH: equ 0x16
PRODM2: equ 0x17
PRODM2: equ 0x17
AXL0: equ 0x18
AXL1: equ 0x19
@@ -88,7 +88,7 @@ NUM_SAMPLES: equ 1024 ; 1024 stereo samples 16 bits
/**************************************************************/
/* SOUND CHANNEL REGS */
/**************************************************************/
MEM_REG2: equ 0x0
MEM_VECTH: equ MEM_REG2
MEM_VECTL: equ MEM_REG2+1
@@ -108,10 +108,10 @@ DELAYL_SND: equ MEM_REG+3 // Delay samples Low word
CHAN_REGS: equ MEM_REG+4 // specific regs for the channel
FLAGSH_SMP: equ CHAN_REGS+0 // countain number of bytes for step (1-> Mono 8 bits, 2-> Stereo 8 bits and Mono 16 bits, 4-> Stereo 16 bits)
FLAGSH_SMP: equ CHAN_REGS+0 // contains number of bytes for step (1-> Mono 8 bits, 2-> Stereo 8 bits and Mono 16 bits, 4-> Stereo 16 bits)
FLAGSL_SMP: equ CHAN_REGS+1 // 0->Mono 8 bits, 1->Stereo 8 bits, 2->Mono 16 bits 3 -> Stereo 16 bits
ADDRH_SMP: equ CHAN_REGS+2 // start address
ADDRH_SMP: equ CHAN_REGS+2 // start address
ADDRL_SMP: equ CHAN_REGS+3
ADDREH_SMP: equ CHAN_REGS+4 // end address
@@ -156,7 +156,7 @@ data_end: equ MEM_SAMP+0x20
MEM_SND: equ data_end ; it need 2048 words (4096 bytes)
/*** START CODE ***/
@@ -175,16 +175,16 @@ MEM_SND: equ data_end ; it need 2048 words (4096 bytes)
lri $CONFIG, #0xff
lri $SR,#0
s16
clr15
m0
s16
clr15
m0
/**************************************************************/
/* main */
/**************************************************************/
main:
// send init token to CPU
si @DMBH, #0xdcd1
@@ -195,7 +195,7 @@ recv_cmd:
// check if previous mail is received from the CPU
call wait_for_dsp_mail
// wait a mail from CPU
call wait_for_cpu_mail
@@ -206,7 +206,7 @@ recv_cmd:
lri $ACM0,#0xcdd1
cmp
jz sys_command
clr $ACC1
lrs $ACM1, @CMBL
@@ -217,7 +217,7 @@ recv_cmd:
jz input_samples2
cmpi $ACM1, #0x123 // get the address of the voice datas buffer (CHANNEL DATAS)
jz get_data_addr
jz get_data_addr
cmpi $ACM1, #0x222 // process the voice mixing the samples internally
jz input_next_samples
@@ -226,14 +226,14 @@ recv_cmd:
jz send_samples
cmpi $ACM1, #0x777 // special: to dump the IROM Datas (remember disable others functions from the interrupt vector to use)
jz rom_dump_word // (CMBH+0x8000) countain the address of IROM
jz rom_dump_word // (CMBH+0x8000) contains the address of IROM
cmpi $ACM1, #0x888 // Used for test
jz polla_loca
jz polla_loca
cmpi $ACM1, #0x999
jz task_terminate
si @DMBL, #0x0004 // return 0 as ignore command
si @DIRQ, #0x1 // set the interrupt
jmp recv_cmd
@@ -242,19 +242,19 @@ task_terminate:
si @DMBL, #0x0003
si @DIRQ, #0x1
jmp recv_cmd
sys_command:
clr $ACC1
lrs $ACM1, @CMBL
cmpi $ACM1,#0x0001
jz run_nexttask
cmpi $ACM1,#0x0002
jz 0x8000
jmp recv_cmd
run_nexttask:
s16
call wait_for_cpu_mail
@@ -283,7 +283,7 @@ run_nexttask:
lrs $27,@CMBL
sbclr #0x05
sbclr #0x06
jmp 0x80b5
jmp 0x80b5
halt
/**************************************************************************************************************************************/
@@ -296,7 +296,7 @@ send_samples:
lri $AXL0, #NUM_SAMPLES*4 ; len
lr $ACM0, @ADDRH_SND
lr $ACL0, @ADDRL_SND
call do_dma
si @DMBL, #0x0004
si @DIRQ, #0x1 // set the interrupt
@@ -310,10 +310,10 @@ get_data_addr:
lrs $ACM0, @CMBH
lr $ACL0, @CMBL
sr @MEM_VECTH, $ACM0
sr @MEM_VECTL, $ACL0
si @DIRQ, #0x0 // clear the interrupt
jmp recv_cmd
@@ -326,7 +326,7 @@ input_samples:
lr $ACM0, @MEM_VECTH
lr $ACL0, @MEM_VECTL
lris $AXL0, #0x0004
lris $AXL0, #0x0004
sr @RETURN, $AXL0
si @DIRQ, #0x0000
@@ -363,7 +363,7 @@ input_samples2:
lr $ACM0, @MEM_VECTH
lr $ACL0, @MEM_VECTL
lris $AXL0, #0x0004
lris $AXL0, #0x0004
sr @RETURN, $AXL0
si @DIRQ, #0x0000
@@ -381,7 +381,7 @@ input_samples2:
lri $AR0, #MEM_SND
lris $AXL1, #DMA_TO_DSP;
lri $AXL0, #NUM_SAMPLES*4; len
call do_dma
jmp start_main
@@ -390,12 +390,12 @@ input_samples2:
// process the voice mixing the samples internally
input_next_samples:
clr $ACC0
lr $ACM0, @MEM_VECTH
lr $ACL0, @MEM_VECTL
lris $AXL0, #0x0004
lris $AXL0, #0x0004
sr @RETURN, $AXL0
si @DIRQ, #0x0000
@@ -408,10 +408,10 @@ input_next_samples:
call do_dma
/**************************************************************************************************************************************/
// mixing and control pitch to create 1024 Stereo Samples at 16 bits from here
// mixing and control pitch to create 1024 Stereo Samples at 16 bits from here
start_main:
lri $R08, #48000
// load the previous samples used
@@ -426,29 +426,29 @@ start_main:
addi $ACM1, #sample_selector
mrr $AR3, $ACM1
ilrr $ACM1, @$AR3
mrr $AR3, $ACM1 // AR3 countain the jump loaded from sample selector
mrr $AR3, $ACM1 // AR3 contains the jump loaded from sample selector
clr $ACC0
// test for channel paused
lr $ACM0, @FLAGSL_SMP
andcf $ACM0, #0x20
lr $ACM0, @FLAGSL_SMP
andcf $ACM0, #0x20
jlz end_main
// load the sample address
lr $ACM0, @ADDRH_SMP
lr $ACL0, @ADDRL_SMP
// test if ADDR_SMP & ADDR2H_SMP are zero
tst $ACC0
jnz do_not_change1
// set return as "change of buffer"
lris $AXL0, #0x0004
lris $AXL0, #0x0004
sr @RETURN, $AXL0
// change to buffer 2 if it is possible
@@ -464,10 +464,10 @@ do_not_change1:
// backup the external sample address
mrr $IX2, $ACM0
mrr $IX3, $ACL0
// load the counter pitch
@@ -500,7 +500,7 @@ do_not_change1:
tst $ACC0
jz no_delay
// samples left and right to 0
// samples left and right to 0
lris $AXH0, #0
lris $AXH1, #0
@@ -510,7 +510,7 @@ do_not_change1:
mrr $ACM1, $AXL0
l_delay:
iar $AR1 // skip two samples
iar $AR1
iar $AR1
decm $ACM1
jz exit_delay1 // exit1 if samples to be processed == 0
@@ -522,14 +522,14 @@ l_delay:
exit_delay1:
decm $ACM0
sr @DELAYH_SND, $ACH0
sr @DELAYL_SND, $ACM0
lris $AXL0,#0 ; exit from loop
jmp no_delay
jmp no_delay
exit_delay2:
@@ -551,9 +551,9 @@ no_delay:
R"(
/* bucle de generacion de samples */
// load the sample buffer with address aligned to 32 bytes blocks (first time)
si @DSCR, #DMA_TO_DSP // very important!: load_smp_addr_align and jump_load_smp_addr need fix this DMA Register (I gain some cycles so)
// load_smp_addr_align input: $IX2:$IX3
@@ -564,25 +564,25 @@ no_delay:
lr $IX0, @LEFT_VOLUME
lr $IX1, @RIGHT_VOLUME
// test the freq value
clr $ACC0
lr $ACH0, @FREQH_SMP
lr $ACM0, @FREQL_SMP
clr $ACC1
;lri $ACM1,#48000
mrr $ACM1, $R08
cmp
// select the output of the routine to process stereo-mono 8/16bits samples
lri $AR0, #get_sample // fast method <=48000
// if number is greater freq>48000 fix different routine
ifg
// select the output of the routine to process stereo-mono 8/16bits samples
lri $AR0, #get_sample // fast method <=48000
// if number is greater freq>48000 fix different routine
ifg
lri $AR0, #get_sample2 // slow method >48000
// loops for samples to be processed
@@ -594,12 +594,12 @@ no_delay:
// Mix right sample section
lrr $ACL0, @$AR1 // load in ACL0 the right sample from the internal buffer
lrr $ACL0, @$AR1 // load in ACL0 the right sample from the internal buffer
movax $ACC1, $AXL1 // big trick :) load the current sample <<16 and sign extended
asl $ACC0,#24 // convert sample from buffer to 24 bit number with sign extended (ACH0:ACM0)
asr $ACC0,#-8
add $ACC0,$ACC1 // current_sample+buffer sample
cmpi $ACM0,#32767 // limit to 32767
@@ -613,20 +613,20 @@ right_skip:
cmpi $ACM0,#-32768 // limit to -32768
ifle
lri $ACM0, #-32768
right_skip2:
right_skip2:
srri @$AR1, $ACM0 // store the right sample mixed to the internal buffer and increment AR1
// Mix left sample section
lrr $ACL0, @$AR1 // load in ACL0 the left sample from the internal buffer
lrr $ACL0, @$AR1 // load in ACL0 the left sample from the internal buffer
movax $ACC1, $AXL0 // big trick :) load the current sample <<16 and sign extended
asl $ACC0, #24 // convert sample from buffer to 24 bit number with sign extended (ACH0:ACM0)
asr $ACC0, #-8
add $ACC0, $ACC1 // current_sample+buffer sample
cmpi $ACM0,#32767 // limit to 32767
@@ -640,11 +640,11 @@ left_skip:
cmpi $ACM0,#-32768 // limit to -32768
ifle
lri $ACM0, #-32768
left_skip2:
left_skip2:
srri @$AR1, $ACM0 // store the left sample mixed to the internal buffer and increment AR1
// adds the counter with the voice frequency and test if it >=48000 to get the next sample
clr $ACC1
@@ -653,7 +653,7 @@ left_skip2:
clr $ACC0
lr $ACH0, @FREQH_SMP
lr $ACM0, @FREQL_SMP
add $ACC1,$ACC0
clr $ACC0
//lri $ACM0,#48000
@@ -663,7 +663,7 @@ left_skip2:
jrnc $AR0 //get_sample or get_sample2 method
sr @COUNTERH_SMP, $ACH1
sr @COUNTERH_SMP, $ACH1
sr @COUNTERL_SMP, $ACM1
jmp loop_end
@@ -700,8 +700,8 @@ get_sample2: // slow method
cmp
jle get_sample2
sr @COUNTERH_SMP, $ACH1
sr @COUNTERH_SMP, $ACH1
sr @COUNTERL_SMP, $ACM1
mrr $ACM0, $IX2 // load ADDRH_SMP
@@ -721,14 +721,14 @@ get_sample2: // slow method
// load samples from dma, return $ar2 with the addr to get the samples and return using $ar0 to the routine to process 8-16bits Mono/Stereo
jmp jump_load_smp_addr
jmp jump_load_smp_addr
// get a new sample for freq <= 48000 Hz
get_sample: // fast method
sub $ACC1,$ACC0 // restore the counter
sr @COUNTERH_SMP, $ACH1
sr @COUNTERH_SMP, $ACH1
sr @COUNTERL_SMP, $ACM1
// restore the external sample buffer address
@@ -739,7 +739,7 @@ get_sample: // fast method
lr $AXL1, @FLAGSH_SMP // add the step to get the next samples
addaxl $ACC0, $AXL1
clr $ACC1
mrr $ACM1, $r0a // load ADDREH_SMP
mrr $ACL1, $r0b // load ADDREL_SMP
@@ -756,21 +756,21 @@ get_sample: // fast method
// load samples from dma, return $ar2 with the addr and return using $ar0 to the routine to process 8-16bits Mono/Stereo or addr_get_sample_again
jmp jump_load_smp_addr
jmp jump_load_smp_addr
sample_selector:
cw mono_8bits
cw mono_16bits
cw stereo_8bits
cw stereo_16bits
cw mono_8bits
cw mono_16bits
cw stereo_8bits
cw stereo_16bits
get_new_buffer:
// set return as "change of buffer": it need to change the sample address
lris $AXL0, #0x0004
lris $AXL0, #0x0004
sr @RETURN, $AXL0
call change_buffer // load add from addr2
// addr is 0 ? go to zero_samples and exit
@@ -785,9 +785,9 @@ get_new_buffer:
// jump_load_smp_addr: $IX2:$IX3
// load samples from dma, return $ar2 with the addr to get the samples and return using $ar0 to the routine to process 8-16bits Mono/Stereo
jmp jump_load_smp_addr
jmp jump_load_smp_addr
// set to 0 the current samples
// set to 0 the current samples
zero_samples:
@@ -796,7 +796,7 @@ zero_samples:
jmp out_samp
mono_8bits:
// 8 bits mono
mrr $ACM1, $IX3
lrri $ACL0, @$AR2
@@ -810,7 +810,7 @@ mono_8bits:
mrr $AXH0,$ACL0
jmp out_samp
stereo_8bits:
stereo_8bits:
// 8 bits stereo
@@ -838,8 +838,8 @@ stereo_16bits:
lrri $AXH1, @$AR2
lrri $AXH0, @$AR2
out_samp:
out_samp:
// multiply sample x volume
// LEFT_VOLUME
@@ -860,7 +860,7 @@ loop_end:
nop
end_process:
// load the sample address
clr $ACC0
@@ -872,7 +872,7 @@ end_process:
// set return as "change of buffer"
lris $AXL0, #0x0004
lris $AXL0, #0x0004
sr @RETURN, $AXL0
// change to buffer 2 if it is possible
@@ -880,13 +880,13 @@ end_process:
call change_buffer
save_datas_end:
sr @ADDRH_SMP, $IX2
sr @ADDRL_SMP, $IX3
sr @SMP_R, $AXH0
sr @SMP_R, $AXH0
sr @SMP_L, $AXH1
end_main:
end_main:
// program DMA to send the CHANNEL DATAS changed
@@ -909,35 +909,35 @@ end_main:
jmp recv_cmd
change_buffer:
clr $ACC0
lr $ACM0, @LEFT_VOLUME2
lr $ACL0, @RIGHT_VOLUME2
sr @LEFT_VOLUME, $ACM0
sr @LEFT_VOLUME, $ACM0
sr @RIGHT_VOLUME, $ACL0
mrr $IX0, $ACM0
mrr $IX0, $ACM0
mrr $IX1, $ACL0
lr $ACM0, @ADDR2EH_SMP
lr $ACL0, @ADDR2EL_SMP
sr @ADDREH_SMP, $ACM0
sr @ADDREH_SMP, $ACM0
sr @ADDREL_SMP, $ACL0
mrr $r0a, $ACM0
mrr $r0b, $ACL0
lr $ACM0, @ADDR2H_SMP
lr $ACL0, @ADDR2L_SMP
sr @ADDRH_SMP, $ACM0
sr @ADDRH_SMP, $ACM0
sr @ADDRL_SMP, $ACL0
sr @BACKUPH_SMP, $ACM0
sr @BACKUPH_SMP, $ACM0
sr @BACKUPL_SMP, $ACL0
mrr $IX2, $ACM0
mrr $IX3, $ACL0
lr $ACM1, @FLAGSL_SMP
andcf $ACM1, #0x4
retlz
sr @ADDR2H_SMP, $ACH0
sr @ADDR2L_SMP, $ACH0
sr @ADDR2EH_SMP, $ACH0
@@ -1007,7 +1007,7 @@ jump_load_smp_addr:
asr $ACC0, #-1
andi $ACM0, #0xf
jz jump_load_smp_dma
addi $ACM0, #MEM_SAMP
mrr $AR2, $ACM0
jmpr $AR3
@@ -1024,10 +1024,10 @@ wait_dma2:
lrs $ACM0, @DSCR
andcf $ACM0, #0x4
jlz wait_dma2
lri $AR2, #MEM_SAMP
jmpr $AR3
// exception table
exception0: // RESET
@@ -1038,7 +1038,7 @@ exception1: // STACK OVERFLOW
exception2:
rti
exception3:
rti
@@ -1047,21 +1047,21 @@ exception4:
exception5: // ACCELERATOR ADDRESS OVERFLOW
rti
exception6:
rti
exception7:
rti
// routine to read a word of the IROM space
// routine to read a word of the IROM space
rom_dump_word:
clr $ACC0
lr $ACM0, @CMBH
ori $ACM0, #0x8000
ori $ACM0, #0x8000
mrr $AR0, $ACM0
clr $ACC0
ilrr $ACM0, @$AR0
@@ -1076,7 +1076,7 @@ polla_loca:
clr $ACC0
lri $acm0, #0x0
andf $acm0,#0x1
sr @DMBH, $sr
sr @DMBL, $acm0
;si @DIRQ, #0x1 // set the interrupt

View File

@@ -53,7 +53,7 @@
pathmap replaces path prefixes of source files with a hardcoded value, assisting with keeping output
files uniform even if actually built from different locations. The mapped path doesn't really need full
drive prefix, but it keeps things human readable. Note the trailing "\" is actually to be escaped by a
preceeding "\" in the expanded variable.
preceding "\" in the expanded variable.
-->
<AdditionalOptions>/pathmap:"$(DolphinRootDir)\"=d:\ %(AdditionalOptions)</AdditionalOptions>
<AdditionalOptions>/pathmap:"$(WindowsSdkDir)\"=w:\ %(AdditionalOptions)</AdditionalOptions>

View File

@@ -18,7 +18,7 @@
<Lib>
<!--
Clear the output path so projects referencing this one don't try to drag
in a nonexistant .lib file.
in a nonexistent .lib file.
-->
<OutputFile />
</Lib>
@@ -33,4 +33,4 @@
</PropertyGroup>
</Target>
<!--End .lib hacks-->
</Project>
</Project>

Some files were not shown because too many files have changed in this diff Show More