Compare commits

..

5 Commits

Author SHA1 Message Date
Théo Arrouye
6966211e07 Give Library header DockPanel explicit height (#5160) 2023-06-01 17:40:44 +02:00
ExE Boss
57524a4c8a Add issue template for missing shader instructions (#5048)
* Add issue template for missing shader instructions

* fixup! Add issue template for missing shader instructions

* Update .github/ISSUE_TEMPLATE/missing_shader_instruction.yml

---------

Co-authored-by: Ac_K <Acoustik666@gmail.com>
2023-06-01 17:32:38 +02:00
TSRBerry
f4539c49d8 [Logger] Add print with stacktrace method (#5129)
* Add print with stacktrace method

* Adjust logging namespaces

* Add static keyword to DynamicObjectFormatter
2023-06-01 13:47:53 +00:00
dependabot[bot]
12c62fdbc2 nuget: bump DynamicData from 7.13.8 to 7.14.2 (#5148)
Bumps [DynamicData](https://github.com/reactiveui/DynamicData) from 7.13.8 to 7.14.2.
- [Release notes](https://github.com/reactiveui/DynamicData/releases)
- [Changelog](https://github.com/reactivemarbles/DynamicData/blob/main/ReleaseNotes.md)
- [Commits](https://github.com/reactiveui/DynamicData/compare/7.13.8...7.14.2)

---
updated-dependencies:
- dependency-name: DynamicData
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-01 13:35:04 +00:00
TSRBerry
e3c6be5e29 Only run one workflow for a PR at a time (#5137) 2023-06-01 09:42:49 +02:00
16 changed files with 69 additions and 20 deletions

View File

@@ -0,0 +1,19 @@
name: Missing Shader Instruction
description: Shader Instruction is missing in Ryujinx.
title: "[GPU]"
labels: [gpu, not-implemented]
body:
- type: textarea
id: instruction
attributes:
label: Shader instruction
description: What shader instruction is missing?
validations:
required: true
- type: textarea
id: required
attributes:
label: Required by
description: Add links to the [compatibility list page(s)](https://github.com/Ryujinx/Ryujinx-Games-List/issues) of the game(s) that require this instruction.
validations:
required: true

View File

@@ -18,6 +18,10 @@ on:
- '*.yml'
- 'README.md'
concurrency:
group: pr-checks-${{ github.event.number }}
cancel-in-progress: true
env:
POWERSHELL_TELEMETRY_OPTOUT: 1
DOTNET_CLI_TELEMETRY_OPTOUT: 1

View File

@@ -13,7 +13,7 @@
<PackageVersion Include="CommandLineParser" Version="2.9.1" />
<PackageVersion Include="Concentus" Version="1.1.7" />
<PackageVersion Include="DiscordRichPresence" Version="1.1.3.18" />
<PackageVersion Include="DynamicData" Version="7.13.8" />
<PackageVersion Include="DynamicData" Version="7.14.2" />
<PackageVersion Include="FluentAvaloniaUI" Version="1.4.5" />
<PackageVersion Include="GtkSharp.Dependencies" Version="1.1.1" />
<PackageVersion Include="GtkSharp.Dependencies.osx" Version="0.0.5" />

View File

@@ -16,6 +16,7 @@
</Design.DataContext>
<DockPanel
Margin="0,0,0,5"
Height="35"
HorizontalAlignment="Stretch">
<Button
Width="40"

View File

@@ -1,6 +1,7 @@
using System.Text;
using System.Diagnostics;
using System.Text;
namespace Ryujinx.Common.Logging
namespace Ryujinx.Common.Logging.Formatters
{
internal class DefaultLogFormatter : ILogFormatter
{
@@ -27,6 +28,14 @@ namespace Ryujinx.Common.Logging
if (args.Data is not null)
{
if (args.Data is StackTrace trace)
{
sb.Append('\n');
sb.Append(trace);
return sb.ToString();
}
sb.Append(' ');
DynamicObjectFormatter.Format(sb, args.Data);
}
@@ -39,4 +48,4 @@ namespace Ryujinx.Common.Logging
}
}
}
}
}

View File

@@ -3,9 +3,9 @@ using System;
using System.Reflection;
using System.Text;
namespace Ryujinx.Common.Logging
namespace Ryujinx.Common.Logging.Formatters
{
internal class DynamicObjectFormatter
internal static class DynamicObjectFormatter
{
private static readonly ObjectPool<StringBuilder> StringBuilderPool = SharedPools.Default<StringBuilder>();
@@ -17,7 +17,7 @@ namespace Ryujinx.Common.Logging
}
StringBuilder sb = StringBuilderPool.Allocate();
try
{
Format(sb, dynamicObject);

View File

@@ -1,7 +1,7 @@
namespace Ryujinx.Common.Logging
namespace Ryujinx.Common.Logging.Formatters
{
interface ILogFormatter
{
string Format(LogEventArgs args);
}
}
}

View File

@@ -1,4 +1,5 @@
using System;
using Ryujinx.Common.Logging.Formatters;
using System;
using System.Text.Json.Serialization;
namespace Ryujinx.Common.Logging

View File

@@ -1,3 +1,4 @@
using Ryujinx.Common.Logging.Targets;
using Ryujinx.Common.SystemInterop;
using System;
using System.Collections.Generic;
@@ -55,6 +56,16 @@ namespace Ryujinx.Common.Logging
}
}
[StackTraceHidden]
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void PrintStack(LogClass logClass, string message, [CallerMemberName] string caller = "")
{
if (m_EnabledClasses[(int)logClass])
{
Updated?.Invoke(null, new LogEventArgs(Level, m_Time.Elapsed, Thread.CurrentThread.Name, FormatMessage(logClass, caller, message), new StackTrace(true)));
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void PrintStub(LogClass logClass, string message = "", [CallerMemberName] string caller = "")
{
@@ -122,7 +133,7 @@ namespace Ryujinx.Common.Logging
AsyncLogTargetOverflowAction.Discard));
Notice = new Log(LogLevel.Notice);
// Enable important log levels before configuration is loaded
Error = new Log(LogLevel.Error);
Warning = new Log(LogLevel.Warning);
@@ -221,4 +232,4 @@ namespace Ryujinx.Common.Logging
m_EnabledClasses[(int)logClass] = enabled;
}
}
}
}

View File

@@ -2,7 +2,7 @@
using System.Collections.Concurrent;
using System.Threading;
namespace Ryujinx.Common.Logging
namespace Ryujinx.Common.Logging.Targets
{
public enum AsyncLogTargetOverflowAction
{

View File

@@ -1,6 +1,7 @@
using System;
using Ryujinx.Common.Logging.Formatters;
using System;
namespace Ryujinx.Common.Logging
namespace Ryujinx.Common.Logging.Targets
{
public class ConsoleLogTarget : ILogTarget
{
@@ -38,4 +39,4 @@ namespace Ryujinx.Common.Logging
Console.ResetColor();
}
}
}
}

View File

@@ -1,8 +1,9 @@
using System;
using Ryujinx.Common.Logging.Formatters;
using System;
using System.IO;
using System.Linq;
namespace Ryujinx.Common.Logging
namespace Ryujinx.Common.Logging.Targets
{
public class FileLogTarget : ILogTarget
{

View File

@@ -1,6 +1,6 @@
using System;
namespace Ryujinx.Common.Logging
namespace Ryujinx.Common.Logging.Targets
{
public interface ILogTarget : IDisposable
{

View File

@@ -1,7 +1,7 @@
using Ryujinx.Common.Utilities;
using System.IO;
namespace Ryujinx.Common.Logging
namespace Ryujinx.Common.Logging.Targets
{
public class JsonLogTarget : ILogTarget
{

View File

@@ -9,6 +9,7 @@ using Ryujinx.Common.Configuration.Hid.Controller;
using Ryujinx.Common.Configuration.Hid.Controller.Motion;
using Ryujinx.Common.Configuration.Hid.Keyboard;
using Ryujinx.Common.Logging;
using Ryujinx.Common.Logging.Targets;
using Ryujinx.Common.SystemInterop;
using Ryujinx.Common.Utilities;
using Ryujinx.Cpu;

View File

@@ -1,5 +1,6 @@
using Ryujinx.Common;
using Ryujinx.Common.Logging;
using Ryujinx.Common.Logging.Targets;
using System;
namespace Ryujinx.Ui.Common.Configuration