Fix typos
This commit is contained in:
parent
10c74182ba
commit
53bd0826e9
30 changed files with 82 additions and 82 deletions
|
@ -245,7 +245,7 @@ namespace ChocolArm64.Decoders
|
||||||
private static bool IsAarch32Branch(OpCode64 opCode)
|
private static bool IsAarch32Branch(OpCode64 opCode)
|
||||||
{
|
{
|
||||||
//Note: On ARM32, most ALU operations can write to R15 (PC),
|
//Note: On ARM32, most ALU operations can write to R15 (PC),
|
||||||
//so we must consider such operations as a branch in potential aswell.
|
//so we must consider such operations as a branch in potential as well.
|
||||||
if (opCode is IOpCode32Alu opAlu && opAlu.Rd == RegisterAlias.Aarch32Pc)
|
if (opCode is IOpCode32Alu opAlu && opAlu.Rd == RegisterAlias.Aarch32Pc)
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -10,7 +10,7 @@ namespace ChocolArm64.Decoders
|
||||||
{
|
{
|
||||||
uint pc = GetPc();
|
uint pc = GetPc();
|
||||||
|
|
||||||
//When the codition is never, the instruction is BLX to Thumb mode.
|
//When the condition is never, the instruction is BLX to Thumb mode.
|
||||||
if (Cond != Condition.Nv)
|
if (Cond != Condition.Nv)
|
||||||
{
|
{
|
||||||
pc &= ~3u;
|
pc &= ~3u;
|
||||||
|
|
|
@ -229,7 +229,7 @@ namespace ChocolArm64.Instructions
|
||||||
|
|
||||||
context.Emit(OpCodes.Br, lblEnd);
|
context.Emit(OpCodes.Br, lblEnd);
|
||||||
|
|
||||||
//Address check passsed.
|
//Address check passed.
|
||||||
context.MarkLabel(lblEx);
|
context.MarkLabel(lblEx);
|
||||||
|
|
||||||
context.EmitLdarg(TranslatedSub.MemoryArgIdx);
|
context.EmitLdarg(TranslatedSub.MemoryArgIdx);
|
||||||
|
|
|
@ -140,7 +140,7 @@ namespace Ryujinx.Audio.SoundIo
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Attempers to get a <see cref="SoundIoAudioTrack"/> from the pool
|
/// Attempts to get a <see cref="SoundIoAudioTrack"/> from the pool
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="track">The track retrieved from the pool</param>
|
/// <param name="track">The track retrieved from the pool</param>
|
||||||
/// <returns>True if retrieve was successful</returns>
|
/// <returns>True if retrieve was successful</returns>
|
||||||
|
|
|
@ -104,9 +104,9 @@ namespace Ryujinx.Graphics
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
int sumissionMode = (word >> 29) & 7;
|
int submissionMode = (word >> 29) & 7;
|
||||||
|
|
||||||
switch (sumissionMode)
|
switch (submissionMode)
|
||||||
{
|
{
|
||||||
case 1:
|
case 1:
|
||||||
//Incrementing.
|
//Incrementing.
|
||||||
|
|
|
@ -46,7 +46,7 @@ namespace Ryujinx.Graphics.Gal
|
||||||
|
|
||||||
instruction = word0 | (ulong)word1 << 32;
|
instruction = word0 | (ulong)word1 << 32;
|
||||||
|
|
||||||
//Zero instructions (other kind of NOP) stop immediatly,
|
//Zero instructions (other kind of NOP) stop immediately,
|
||||||
//this is to avoid two rows of zeroes
|
//this is to avoid two rows of zeroes
|
||||||
if (instruction == 0)
|
if (instruction == 0)
|
||||||
{
|
{
|
||||||
|
@ -59,7 +59,7 @@ namespace Ryujinx.Graphics.Gal
|
||||||
offset += 8;
|
offset += 8;
|
||||||
}
|
}
|
||||||
|
|
||||||
//Align to meet nvdisasm requeriments
|
//Align to meet nvdisasm requirements
|
||||||
while (offset % 0x20 != 0)
|
while (offset % 0x20 != 0)
|
||||||
{
|
{
|
||||||
fullWriter.Write(0);
|
fullWriter.Write(0);
|
||||||
|
|
|
@ -171,7 +171,7 @@ namespace Ryujinx.Graphics.Graphics3d
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
//Move result and use as Method Address, then fetch and send paramter.
|
//Move result and use as Method Address, then fetch and send parameter.
|
||||||
case AssignmentOperation.MoveAndSetMaddrThenFetchAndSend:
|
case AssignmentOperation.MoveAndSetMaddrThenFetchAndSend:
|
||||||
{
|
{
|
||||||
SetDstGpr(result);
|
SetDstGpr(result);
|
||||||
|
|
|
@ -204,7 +204,7 @@ namespace Ryujinx.Graphics.Graphics3d
|
||||||
dstBlitX + dstBlitW,
|
dstBlitX + dstBlitW,
|
||||||
dstBlitY + dstBlitH);
|
dstBlitY + dstBlitH);
|
||||||
|
|
||||||
//Do a guest side copy aswell. This is necessary when
|
//Do a guest side copy as well. This is necessary when
|
||||||
//the texture is modified by the guest, however it doesn't
|
//the texture is modified by the guest, however it doesn't
|
||||||
//work when resources that the gpu can write to are copied,
|
//work when resources that the gpu can write to are copied,
|
||||||
//like framebuffers.
|
//like framebuffers.
|
||||||
|
|
|
@ -18,7 +18,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Glsl
|
||||||
|
|
||||||
private int _level;
|
private int _level;
|
||||||
|
|
||||||
private string _identation;
|
private string _indentation;
|
||||||
|
|
||||||
public CodeGenContext(ShaderConfig config)
|
public CodeGenContext(ShaderConfig config)
|
||||||
{
|
{
|
||||||
|
@ -39,7 +39,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Glsl
|
||||||
|
|
||||||
public void AppendLine(string str)
|
public void AppendLine(string str)
|
||||||
{
|
{
|
||||||
_sb.AppendLine(_identation + str);
|
_sb.AppendLine(_indentation + str);
|
||||||
}
|
}
|
||||||
|
|
||||||
public string GetCode()
|
public string GetCode()
|
||||||
|
@ -53,7 +53,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Glsl
|
||||||
|
|
||||||
_level++;
|
_level++;
|
||||||
|
|
||||||
UpdateIdentation();
|
UpdateIndentation();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void LeaveScope(string suffix = "")
|
public void LeaveScope(string suffix = "")
|
||||||
|
@ -65,26 +65,26 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Glsl
|
||||||
|
|
||||||
_level--;
|
_level--;
|
||||||
|
|
||||||
UpdateIdentation();
|
UpdateIndentation();
|
||||||
|
|
||||||
AppendLine("}" + suffix);
|
AppendLine("}" + suffix);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void UpdateIdentation()
|
private void UpdateIndentation()
|
||||||
{
|
{
|
||||||
_identation = GetIdentation(_level);
|
_indentation = GetIndentation(_level);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static string GetIdentation(int level)
|
private static string GetIndentation(int level)
|
||||||
{
|
{
|
||||||
string identation = string.Empty;
|
string indentation = string.Empty;
|
||||||
|
|
||||||
for (int index = 0; index < level; index++)
|
for (int index = 0; index < level; index++)
|
||||||
{
|
{
|
||||||
identation += Tab;
|
indentation += Tab;
|
||||||
}
|
}
|
||||||
|
|
||||||
return identation;
|
return indentation;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -9,7 +9,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Glsl.Instructions
|
||||||
OpUnary = Op | 1,
|
OpUnary = Op | 1,
|
||||||
OpBinary = Op | 2,
|
OpBinary = Op | 2,
|
||||||
OpTernary = Op | 3,
|
OpTernary = Op | 3,
|
||||||
OpBinaryCom = OpBinary | Comutative,
|
OpBinaryCom = OpBinary | Commutative,
|
||||||
|
|
||||||
CallNullary = Call | 0,
|
CallNullary = Call | 0,
|
||||||
CallUnary = Call | 1,
|
CallUnary = Call | 1,
|
||||||
|
@ -17,10 +17,10 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Glsl.Instructions
|
||||||
CallTernary = Call | 3,
|
CallTernary = Call | 3,
|
||||||
CallQuaternary = Call | 4,
|
CallQuaternary = Call | 4,
|
||||||
|
|
||||||
Comutative = 1 << 8,
|
Commutative = 1 << 8,
|
||||||
Op = 1 << 9,
|
Op = 1 << 9,
|
||||||
Call = 1 << 10,
|
Call = 1 << 10,
|
||||||
Special = 1 << 11,
|
Special = 1 << 11,
|
||||||
|
|
||||||
ArityMask = 0xff
|
ArityMask = 0xff
|
||||||
}
|
}
|
||||||
|
|
|
@ -146,7 +146,7 @@ namespace Ryujinx.Graphics.Shader.StructuredIr
|
||||||
{
|
{
|
||||||
AddNode(gotoTempAsg);
|
AddNode(gotoTempAsg);
|
||||||
|
|
||||||
//For block 0, we don't need to add the extra "reset" at the beggining,
|
//For block 0, we don't need to add the extra "reset" at the beginning,
|
||||||
//because it is already the first node to be executed on the shader,
|
//because it is already the first node to be executed on the shader,
|
||||||
//so it is reset to false by the "local" assignment anyway.
|
//so it is reset to false by the "local" assignment anyway.
|
||||||
if (block.Index != 0)
|
if (block.Index != 0)
|
||||||
|
|
|
@ -14,7 +14,7 @@ namespace Ryujinx.Graphics.Shader.Translation.Optimizations
|
||||||
{
|
{
|
||||||
case Instruction.Add:
|
case Instruction.Add:
|
||||||
case Instruction.BitwiseExclusiveOr:
|
case Instruction.BitwiseExclusiveOr:
|
||||||
TryEliminateBinaryOpComutative(operation, 0);
|
TryEliminateBinaryOpCommutative(operation, 0);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case Instruction.BitwiseAnd:
|
case Instruction.BitwiseAnd:
|
||||||
|
@ -34,7 +34,7 @@ namespace Ryujinx.Graphics.Shader.Translation.Optimizations
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case Instruction.Multiply:
|
case Instruction.Multiply:
|
||||||
TryEliminateBinaryOpComutative(operation, 1);
|
TryEliminateBinaryOpCommutative(operation, 1);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case Instruction.ShiftLeft:
|
case Instruction.ShiftLeft:
|
||||||
|
@ -101,7 +101,7 @@ namespace Ryujinx.Graphics.Shader.Translation.Optimizations
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void TryEliminateBinaryOpComutative(Operation operation, int comparand)
|
private static void TryEliminateBinaryOpCommutative(Operation operation, int comparand)
|
||||||
{
|
{
|
||||||
Operand x = operation.GetSource(0);
|
Operand x = operation.GetSource(0);
|
||||||
Operand y = operation.GetSource(1);
|
Operand y = operation.GetSource(1);
|
||||||
|
|
|
@ -2909,7 +2909,7 @@ namespace Ryujinx.HLE.HOS.Diagnostics.Demangler
|
||||||
}
|
}
|
||||||
} while (!ConsumeIf("E"));
|
} while (!ConsumeIf("E"));
|
||||||
}
|
}
|
||||||
// ::= sr <unresolved-type> [tempate-args] <base-unresolved-name> # T::x / decltype(p)::x
|
// ::= sr <unresolved-type> [template-args] <base-unresolved-name> # T::x / decltype(p)::x
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
result = ParseUnresolvedType();
|
result = ParseUnresolvedType();
|
||||||
|
|
|
@ -1980,9 +1980,9 @@ namespace Ryujinx.HLE.HOS.Kernel.Memory
|
||||||
|
|
||||||
for (int unit = MappingUnitSizes.Length - 1; unit >= 0 && va == 0; unit--)
|
for (int unit = MappingUnitSizes.Length - 1; unit >= 0 && va == 0; unit--)
|
||||||
{
|
{
|
||||||
int alignemnt = MappingUnitSizes[unit];
|
int alignment = MappingUnitSizes[unit];
|
||||||
|
|
||||||
va = AllocateVa(AliasRegionStart, regionPagesCount, neededPagesCount, alignemnt);
|
va = AllocateVa(AliasRegionStart, regionPagesCount, neededPagesCount, alignment);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (va == 0)
|
if (va == 0)
|
||||||
|
@ -2451,7 +2451,7 @@ namespace Ryujinx.HLE.HOS.Kernel.Memory
|
||||||
|
|
||||||
newNode.Value.SetState(newPermission, newState, newAttribute);
|
newNode.Value.SetState(newPermission, newState, newAttribute);
|
||||||
|
|
||||||
MergeEqualStateNeighbours(newNode);
|
MergeEqualStateNeighbors(newNode);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (currEndAddr - 1 >= endAddr - 1)
|
if (currEndAddr - 1 >= endAddr - 1)
|
||||||
|
@ -2472,7 +2472,7 @@ namespace Ryujinx.HLE.HOS.Kernel.Memory
|
||||||
MemoryPermission permission = MemoryPermission.None,
|
MemoryPermission permission = MemoryPermission.None,
|
||||||
MemoryAttribute attribute = MemoryAttribute.None)
|
MemoryAttribute attribute = MemoryAttribute.None)
|
||||||
{
|
{
|
||||||
//Inserts new block at the list, replacing and spliting
|
//Inserts new block at the list, replacing and splitting
|
||||||
//existing blocks as needed.
|
//existing blocks as needed.
|
||||||
int oldCount = _blocks.Count;
|
int oldCount = _blocks.Count;
|
||||||
|
|
||||||
|
@ -2505,7 +2505,7 @@ namespace Ryujinx.HLE.HOS.Kernel.Memory
|
||||||
|
|
||||||
newNode.Value.SetState(permission, state, attribute);
|
newNode.Value.SetState(permission, state, attribute);
|
||||||
|
|
||||||
MergeEqualStateNeighbours(newNode);
|
MergeEqualStateNeighbors(newNode);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (currEndAddr - 1 >= endAddr - 1)
|
if (currEndAddr - 1 >= endAddr - 1)
|
||||||
|
@ -2537,7 +2537,7 @@ namespace Ryujinx.HLE.HOS.Kernel.Memory
|
||||||
BlockMutator blockMutate,
|
BlockMutator blockMutate,
|
||||||
MemoryPermission permission = MemoryPermission.None)
|
MemoryPermission permission = MemoryPermission.None)
|
||||||
{
|
{
|
||||||
//Inserts new block at the list, replacing and spliting
|
//Inserts new block at the list, replacing and splitting
|
||||||
//existing blocks as needed, then calling the callback
|
//existing blocks as needed, then calling the callback
|
||||||
//function on the new block.
|
//function on the new block.
|
||||||
int oldCount = _blocks.Count;
|
int oldCount = _blocks.Count;
|
||||||
|
@ -2573,7 +2573,7 @@ namespace Ryujinx.HLE.HOS.Kernel.Memory
|
||||||
|
|
||||||
blockMutate(newBlock, permission);
|
blockMutate(newBlock, permission);
|
||||||
|
|
||||||
MergeEqualStateNeighbours(newNode);
|
MergeEqualStateNeighbors(newNode);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (currEndAddr - 1 >= endAddr - 1)
|
if (currEndAddr - 1 >= endAddr - 1)
|
||||||
|
@ -2587,7 +2587,7 @@ namespace Ryujinx.HLE.HOS.Kernel.Memory
|
||||||
_blockAllocator.Count += _blocks.Count - oldCount;
|
_blockAllocator.Count += _blocks.Count - oldCount;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void MergeEqualStateNeighbours(LinkedListNode<KMemoryBlock> node)
|
private void MergeEqualStateNeighbors(LinkedListNode<KMemoryBlock> node)
|
||||||
{
|
{
|
||||||
KMemoryBlock block = node.Value;
|
KMemoryBlock block = node.Value;
|
||||||
|
|
||||||
|
|
|
@ -173,7 +173,7 @@ namespace Ryujinx.HLE.HOS.Kernel.Threading
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
//All candiates are already selected, choose the best one
|
//All candidates are already selected, choose the best one
|
||||||
//(the first one that doesn't make the source core idle if moved).
|
//(the first one that doesn't make the source core idle if moved).
|
||||||
for (int index = 0; index < srcCoresHighestPrioThreadsCount; index++)
|
for (int index = 0; index < srcCoresHighestPrioThreadsCount; index++)
|
||||||
{
|
{
|
||||||
|
|
|
@ -40,7 +40,7 @@ namespace Ryujinx.HLE.HOS.SystemState
|
||||||
|
|
||||||
internal string ActiveAudioOutput { get; private set; }
|
internal string ActiveAudioOutput { get; private set; }
|
||||||
|
|
||||||
public bool DiscordIntergrationEnabled { get; set; }
|
public bool DiscordIntegrationEnabled { get; set; }
|
||||||
|
|
||||||
public bool DockedMode { get; set; }
|
public bool DockedMode { get; set; }
|
||||||
|
|
||||||
|
|
|
@ -19,7 +19,7 @@ namespace Ryujinx.HLE.Input
|
||||||
device.Memory.FillWithZeros(hidPosition, Horizon.HidSize);
|
device.Memory.FillWithZeros(hidPosition, Horizon.HidSize);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void InitilizePrimaryController(HidControllerType controllerType)
|
public void InitializePrimaryController(HidControllerType controllerType)
|
||||||
{
|
{
|
||||||
HidControllerId controllerId = controllerType == HidControllerType.Handheld ?
|
HidControllerId controllerId = controllerType == HidControllerType.Handheld ?
|
||||||
HidControllerId.ControllerHandheld : HidControllerId.ControllerPlayer1;
|
HidControllerId.ControllerHandheld : HidControllerId.ControllerPlayer1;
|
||||||
|
@ -39,7 +39,7 @@ namespace Ryujinx.HLE.Input
|
||||||
PrimaryController.Connect(controllerId);
|
PrimaryController.Connect(controllerId);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void InitilizeKeyboard()
|
public void InitializeKeyboard()
|
||||||
{
|
{
|
||||||
_device.Memory.FillWithZeros(HidPosition + HidKeyboardOffset, HidKeyboardSize);
|
_device.Memory.FillWithZeros(HidPosition + HidKeyboardOffset, HidKeyboardSize);
|
||||||
}
|
}
|
||||||
|
|
|
@ -34,7 +34,7 @@ namespace Ryujinx.HLE.Loaders.Compression
|
||||||
int encCount = (token >> 0) & 0xf;
|
int encCount = (token >> 0) & 0xf;
|
||||||
int litCount = (token >> 4) & 0xf;
|
int litCount = (token >> 4) & 0xf;
|
||||||
|
|
||||||
//Copy literal chunck
|
//Copy literal chunk
|
||||||
litCount = GetLength(litCount);
|
litCount = GetLength(litCount);
|
||||||
|
|
||||||
Buffer.BlockCopy(cmp, cmpPos, dec, decPos, litCount);
|
Buffer.BlockCopy(cmp, cmpPos, dec, decPos, litCount);
|
||||||
|
@ -47,7 +47,7 @@ namespace Ryujinx.HLE.Loaders.Compression
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
//Copy compressed chunck
|
//Copy compressed chunk
|
||||||
int back = cmp[cmpPos++] << 0 |
|
int back = cmp[cmpPos++] << 0 |
|
||||||
cmp[cmpPos++] << 8;
|
cmp[cmpPos++] << 8;
|
||||||
|
|
||||||
|
|
|
@ -15,11 +15,11 @@ namespace Ryujinx.HLE.Loaders.Npdm
|
||||||
|
|
||||||
BinaryReader reader = new BinaryReader(stream);
|
BinaryReader reader = new BinaryReader(stream);
|
||||||
|
|
||||||
int byteReaded = 0;
|
int bytesRead = 0;
|
||||||
|
|
||||||
Dictionary<string, bool> services = new Dictionary<string, bool>();
|
Dictionary<string, bool> services = new Dictionary<string, bool>();
|
||||||
|
|
||||||
while (byteReaded != size)
|
while (bytesRead != size)
|
||||||
{
|
{
|
||||||
byte controlByte = reader.ReadByte();
|
byte controlByte = reader.ReadByte();
|
||||||
|
|
||||||
|
@ -33,7 +33,7 @@ namespace Ryujinx.HLE.Loaders.Npdm
|
||||||
|
|
||||||
services[Encoding.ASCII.GetString(reader.ReadBytes(length))] = registerAllowed;
|
services[Encoding.ASCII.GetString(reader.ReadBytes(length))] = registerAllowed;
|
||||||
|
|
||||||
byteReaded += length + 1;
|
bytesRead += length + 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
Services = new ReadOnlyDictionary<string, bool>(services);
|
Services = new ReadOnlyDictionary<string, bool>(services);
|
||||||
|
|
|
@ -37,7 +37,7 @@ namespace Ryujinx.HLE.Utilities
|
||||||
|
|
||||||
public static byte[] HexToBytes(string hexString)
|
public static byte[] HexToBytes(string hexString)
|
||||||
{
|
{
|
||||||
//Ignore last charactor if HexLength % 2 != 0.
|
//Ignore last character if HexLength % 2 != 0.
|
||||||
int bytesInHex = hexString.Length / 2;
|
int bytesInHex = hexString.Length / 2;
|
||||||
|
|
||||||
byte[] output = new byte[bytesInHex];
|
byte[] output = new byte[bytesInHex];
|
||||||
|
|
|
@ -80,7 +80,7 @@ namespace Ryujinx.Profiler
|
||||||
Monitor.Exit(_timerQueueClearLock);
|
Monitor.Exit(_timerQueueClearLock);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Only sleep if queue was sucessfully cleared
|
// Only sleep if queue was successfully cleared
|
||||||
if (queueCleared)
|
if (queueCleared)
|
||||||
{
|
{
|
||||||
Thread.Sleep(5);
|
Thread.Sleep(5);
|
||||||
|
@ -206,9 +206,9 @@ namespace Ryujinx.Profiler
|
||||||
return (_timingFlagAverages, _timingFlagLastDelta);
|
return (_timingFlagAverages, _timingFlagLastDelta);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void RegisterFlagReciever(Action<TimingFlag> reciever)
|
public void RegisterFlagReceiver(Action<TimingFlag> receiver)
|
||||||
{
|
{
|
||||||
_timingFlagCallback = reciever;
|
_timingFlagCallback = receiver;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Dispose()
|
public void Dispose()
|
||||||
|
|
|
@ -17,7 +17,7 @@ namespace Ryujinx.Profiler
|
||||||
private static ProfilerSettings _settings;
|
private static ProfilerSettings _settings;
|
||||||
|
|
||||||
[Conditional("USE_PROFILING")]
|
[Conditional("USE_PROFILING")]
|
||||||
public static void Initalize()
|
public static void Initialize()
|
||||||
{
|
{
|
||||||
var config = ProfilerConfiguration.Load(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "ProfilerConfig.jsonc"));
|
var config = ProfilerConfiguration.Load(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "ProfilerConfig.jsonc"));
|
||||||
|
|
||||||
|
@ -70,11 +70,11 @@ namespace Ryujinx.Profiler
|
||||||
}
|
}
|
||||||
|
|
||||||
[Conditional("USE_PROFILING")]
|
[Conditional("USE_PROFILING")]
|
||||||
public static void RegisterFlagReciever(Action<TimingFlag> reciever)
|
public static void RegisterFlagReceiver(Action<TimingFlag> receiver)
|
||||||
{
|
{
|
||||||
if (!ProfilingEnabled())
|
if (!ProfilingEnabled())
|
||||||
return;
|
return;
|
||||||
_profileInstance.RegisterFlagReciever(reciever);
|
_profileInstance.RegisterFlagReceiver(receiver);
|
||||||
}
|
}
|
||||||
|
|
||||||
[Conditional("USE_PROFILING")]
|
[Conditional("USE_PROFILING")]
|
||||||
|
|
|
@ -98,7 +98,7 @@ namespace Ryujinx.Profiler.UI
|
||||||
private readonly object _profileDataLock = new object();
|
private readonly object _profileDataLock = new object();
|
||||||
|
|
||||||
public ProfileWindow()
|
public ProfileWindow()
|
||||||
// Graphigs mode enables 2xAA
|
// Graphics mode enables 2xAA
|
||||||
: base(1280, 720, new GraphicsMode(new ColorFormat(8, 8, 8, 8), 1, 1, 2))
|
: base(1280, 720, new GraphicsMode(new ColorFormat(8, 8, 8, 8), 1, 1, 2))
|
||||||
{
|
{
|
||||||
Title = "Profiler";
|
Title = "Profiler";
|
||||||
|
@ -108,7 +108,7 @@ namespace Ryujinx.Profiler.UI
|
||||||
if (Profile.UpdateRate <= 0)
|
if (Profile.UpdateRate <= 0)
|
||||||
{
|
{
|
||||||
// Perform step regardless of flag type
|
// Perform step regardless of flag type
|
||||||
Profile.RegisterFlagReciever((t) =>
|
Profile.RegisterFlagReceiver((t) =>
|
||||||
{
|
{
|
||||||
if (!_paused)
|
if (!_paused)
|
||||||
{
|
{
|
||||||
|
@ -146,7 +146,7 @@ namespace Ryujinx.Profiler.UI
|
||||||
{
|
{
|
||||||
GL.ClearColor(Color.Black);
|
GL.ClearColor(Color.Black);
|
||||||
_fontService = new FontService();
|
_fontService = new FontService();
|
||||||
_fontService.InitalizeTextures();
|
_fontService.InitializeTextures();
|
||||||
_fontService.UpdateScreenHeight(Height);
|
_fontService.UpdateScreenHeight(Height);
|
||||||
|
|
||||||
_buttons = new ProfileButton[(int)ButtonIndex.Count];
|
_buttons = new ProfileButton[(int)ButtonIndex.Count];
|
||||||
|
|
|
@ -7,8 +7,8 @@ namespace Ryujinx.Profiler.UI
|
||||||
{
|
{
|
||||||
public partial class ProfileWindow
|
public partial class ProfileWindow
|
||||||
{
|
{
|
||||||
// Colour index equal to timing flag type as int
|
// Color index equal to timing flag type as int
|
||||||
private Color[] _timingFlagColours = new[]
|
private Color[] _timingFlagColors = new[]
|
||||||
{
|
{
|
||||||
new Color(150, 25, 25, 50), // FrameSwap = 0
|
new Color(150, 25, 25, 50), // FrameSwap = 0
|
||||||
new Color(25, 25, 150, 50), // SystemFrame = 1
|
new Color(25, 25, 150, 50), // SystemFrame = 1
|
||||||
|
@ -62,7 +62,7 @@ namespace Ryujinx.Profiler.UI
|
||||||
if (prevType != timingFlag.FlagType)
|
if (prevType != timingFlag.FlagType)
|
||||||
{
|
{
|
||||||
prevType = timingFlag.FlagType;
|
prevType = timingFlag.FlagType;
|
||||||
GL.Color4(_timingFlagColours[(int)prevType]);
|
GL.Color4(_timingFlagColors[(int)prevType]);
|
||||||
}
|
}
|
||||||
|
|
||||||
int x = (int)(graphRight - ((graphPositionTicks - timingFlag.Timestamp) / timeWidthTicks) * width);
|
int x = (int)(graphRight - ((graphPositionTicks - timingFlag.Timestamp) / timeWidthTicks) * width);
|
||||||
|
|
|
@ -48,7 +48,7 @@ namespace Ryujinx.Profiler.UI.SharpFontHelpers
|
||||||
throw new Exception($"Profiler exception. Required font Courier New or Arial not installed to {fontFolder}");
|
throw new Exception($"Profiler exception. Required font Courier New or Arial not installed to {fontFolder}");
|
||||||
}
|
}
|
||||||
|
|
||||||
public void InitalizeTextures()
|
public void InitializeTextures()
|
||||||
{
|
{
|
||||||
// Create and init some vars
|
// Create and init some vars
|
||||||
uint[] rawCharacterSheet = new uint[SheetWidth * SheetHeight];
|
uint[] rawCharacterSheet = new uint[SheetWidth * SheetHeight];
|
||||||
|
@ -217,7 +217,7 @@ namespace Ryujinx.Profiler.UI.SharpFontHelpers
|
||||||
lineOffset = 0;
|
lineOffset = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Update lineoffset
|
// Update lineOffset
|
||||||
if (lineOffset < height)
|
if (lineOffset < height)
|
||||||
{
|
{
|
||||||
lineOffset = height + 1;
|
lineOffset = height + 1;
|
||||||
|
|
|
@ -17,7 +17,7 @@ namespace Ryujinx.Tests.Unicorn
|
||||||
UC_ERR_WRITE_PROT, // Quit emulation due to UC_MEM_WRITE_PROT violation: uc_emu_start()
|
UC_ERR_WRITE_PROT, // Quit emulation due to UC_MEM_WRITE_PROT violation: uc_emu_start()
|
||||||
UC_ERR_READ_PROT, // Quit emulation due to UC_MEM_READ_PROT violation: uc_emu_start()
|
UC_ERR_READ_PROT, // Quit emulation due to UC_MEM_READ_PROT violation: uc_emu_start()
|
||||||
UC_ERR_FETCH_PROT, // Quit emulation due to UC_MEM_FETCH_PROT violation: uc_emu_start()
|
UC_ERR_FETCH_PROT, // Quit emulation due to UC_MEM_FETCH_PROT violation: uc_emu_start()
|
||||||
UC_ERR_ARG, // Inavalid argument provided to uc_xxx function (See specific function API)
|
UC_ERR_ARG, // Invalid argument provided to uc_xxx function (See specific function API)
|
||||||
UC_ERR_READ_UNALIGNED, // Unaligned read
|
UC_ERR_READ_UNALIGNED, // Unaligned read
|
||||||
UC_ERR_WRITE_UNALIGNED, // Unaligned write
|
UC_ERR_WRITE_UNALIGNED, // Unaligned write
|
||||||
UC_ERR_FETCH_UNALIGNED, // Unaligned fetch
|
UC_ERR_FETCH_UNALIGNED, // Unaligned fetch
|
||||||
|
|
|
@ -4,19 +4,19 @@
|
||||||
// Dump shaders in local directory (e.g. `C:\ShaderDumps`)
|
// Dump shaders in local directory (e.g. `C:\ShaderDumps`)
|
||||||
"graphics_shaders_dump_path": "",
|
"graphics_shaders_dump_path": "",
|
||||||
|
|
||||||
// Enable print debug logs
|
// Enable printing debug logs
|
||||||
"logging_enable_debug": false,
|
"logging_enable_debug": false,
|
||||||
|
|
||||||
// Enable print stubbed calls logs
|
// Enable printing stubbed calls logs
|
||||||
"logging_enable_stub": true,
|
"logging_enable_stub": true,
|
||||||
|
|
||||||
// Enable print informations logs
|
// Enable printing information logs
|
||||||
"logging_enable_info": true,
|
"logging_enable_info": true,
|
||||||
|
|
||||||
// Enable print warning logs
|
// Enable printing warning logs
|
||||||
"logging_enable_warn": true,
|
"logging_enable_warn": true,
|
||||||
|
|
||||||
// Enable print error logs
|
// Enable printing error logs
|
||||||
"logging_enable_error": true,
|
"logging_enable_error": true,
|
||||||
|
|
||||||
// Enable printing guest logs
|
// Enable printing guest logs
|
||||||
|
@ -38,8 +38,8 @@
|
||||||
// Enable or disable Docked Mode
|
// Enable or disable Docked Mode
|
||||||
"docked_mode": false,
|
"docked_mode": false,
|
||||||
|
|
||||||
// Enable or disable Discord Rich Presense
|
// Enable or disable Discord Rich Presence
|
||||||
"enable_discord_intergration": true,
|
"enable_discord_integration": true,
|
||||||
|
|
||||||
// Enable or disable Game Vsync
|
// Enable or disable Game Vsync
|
||||||
"enable_vsync": true,
|
"enable_vsync": true,
|
||||||
|
|
|
@ -83,9 +83,9 @@ namespace Ryujinx
|
||||||
public bool DockedMode { get; private set; }
|
public bool DockedMode { get; private set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Enables or disables Discord Rich Presense
|
/// Enables or disables Discord Rich Presence
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public bool EnableDiscordIntergration { get; private set; }
|
public bool EnableDiscordIntegration { get; private set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Enables or disables Vertical Sync
|
/// Enables or disables Vertical Sync
|
||||||
|
@ -220,7 +220,7 @@ namespace Ryujinx
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
device.System.State.DiscordIntergrationEnabled = Instance.EnableDiscordIntergration;
|
device.System.State.DiscordIntegrationEnabled = Instance.EnableDiscordIntegration;
|
||||||
|
|
||||||
device.EnableDeviceVsync = Instance.EnableVsync;
|
device.EnableDeviceVsync = Instance.EnableVsync;
|
||||||
|
|
||||||
|
@ -254,8 +254,8 @@ namespace Ryujinx
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
device.Hid.InitilizePrimaryController(Instance.ControllerType);
|
device.Hid.InitializePrimaryController(Instance.ControllerType);
|
||||||
device.Hid.InitilizeKeyboard();
|
device.Hid.InitializeKeyboard();
|
||||||
}
|
}
|
||||||
|
|
||||||
private class ConfigurationEnumFormatter<T> : IJsonFormatter<T>
|
private class ConfigurationEnumFormatter<T> : IJsonFormatter<T>
|
||||||
|
|
|
@ -32,12 +32,12 @@ namespace Ryujinx
|
||||||
Configuration.Load(Path.Combine(ApplicationDirectory, "Config.jsonc"));
|
Configuration.Load(Path.Combine(ApplicationDirectory, "Config.jsonc"));
|
||||||
Configuration.Configure(device);
|
Configuration.Configure(device);
|
||||||
|
|
||||||
Profile.Initalize();
|
Profile.Initialize();
|
||||||
|
|
||||||
AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;
|
AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;
|
||||||
AppDomain.CurrentDomain.ProcessExit += CurrentDomain_ProcessExit;
|
AppDomain.CurrentDomain.ProcessExit += CurrentDomain_ProcessExit;
|
||||||
|
|
||||||
if (device.System.State.DiscordIntergrationEnabled == true)
|
if (device.System.State.DiscordIntegrationEnabled == true)
|
||||||
{
|
{
|
||||||
DiscordClient = new DiscordRpcClient("568815339807309834");
|
DiscordClient = new DiscordRpcClient("568815339807309834");
|
||||||
DiscordPresence = new RichPresence
|
DiscordPresence = new RichPresence
|
||||||
|
@ -108,7 +108,7 @@ namespace Ryujinx
|
||||||
Logger.PrintWarning(LogClass.Application, "Please specify the folder with the NSOs/IStorage or a NSO/NRO.");
|
Logger.PrintWarning(LogClass.Application, "Please specify the folder with the NSOs/IStorage or a NSO/NRO.");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (device.System.State.DiscordIntergrationEnabled == true)
|
if (device.System.State.DiscordIntegrationEnabled == true)
|
||||||
{
|
{
|
||||||
if (File.ReadAllLines(Path.Combine(ApplicationDirectory, "RPsupported.dat")).Contains(device.System.TitleID))
|
if (File.ReadAllLines(Path.Combine(ApplicationDirectory, "RPsupported.dat")).Contains(device.System.TitleID))
|
||||||
{
|
{
|
||||||
|
|
|
@ -393,11 +393,11 @@
|
||||||
false
|
false
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"enable_discord_intergration": {
|
"enable_discord_integration": {
|
||||||
"$id": "#/properties/enable_discord_intergration",
|
"$id": "#/properties/enable_discord_integration",
|
||||||
"type": "boolean",
|
"type": "boolean",
|
||||||
"title": "Enable Discord Rich Presense",
|
"title": "Enable Discord Rich Presence",
|
||||||
"description": "Enable or disable Discord Rich Presense",
|
"description": "Enable or disable Discord Rich Presence",
|
||||||
"default": true,
|
"default": true,
|
||||||
"examples": [
|
"examples": [
|
||||||
true,
|
true,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue