From 726de8c46ab10f1b0684fe14bca1ca96ba6d2832 Mon Sep 17 00:00:00 2001 From: ReinUsesLisp Date: Sun, 19 Aug 2018 22:25:26 -0300 Subject: [PATCH 01/24] Rendertarget attachments, texture and image changes (#358) * Add multiple color outputs for fragment shaders * Add registers and gal enums * Use textures for framebuffers and split color and zeta framebuffers * Abstract texture and framebuffer targets as an image * Share images between framebuffers and textures * Unstub formats * Add some formats * Disable multiple attachments * Cache framebuffer attachments * Handle format types * Add some rendertarget formats * Code cleanup * Fixup half float types * Address feedback * Disable multiple attachments in shaders * Add A4B4G4R4 image format * Add reversed section for image enums --- Ryujinx.Graphics/Gal/GalFrameBufferFormat.cs | 68 +++ .../Gal/{GalTexture.cs => GalImage.cs} | 16 +- Ryujinx.Graphics/Gal/GalImageFormat.cs | 204 +++++++ Ryujinx.Graphics/Gal/GalTextureFormat.cs | 1 + Ryujinx.Graphics/Gal/GalTextureType.cs | 13 + Ryujinx.Graphics/Gal/GalZetaFormat.cs | 16 + Ryujinx.Graphics/Gal/IGalFrameBuffer.cs | 9 +- Ryujinx.Graphics/Gal/IGalRasterizer.cs | 1 + Ryujinx.Graphics/Gal/IGalTexture.cs | 6 +- Ryujinx.Graphics/Gal/ImageFormatConverter.cs | 263 +++++++++ Ryujinx.Graphics/Gal/OpenGL/ImageHandler.cs | 124 ++++ Ryujinx.Graphics/Gal/OpenGL/OGLConstBuffer.cs | 6 +- .../Gal/OpenGL/OGLEnumConverter.cs | 77 ++- Ryujinx.Graphics/Gal/OpenGL/OGLFrameBuffer.cs | 528 ++++++++++-------- Ryujinx.Graphics/Gal/OpenGL/OGLRasterizer.cs | 19 +- Ryujinx.Graphics/Gal/OpenGL/OGLRenderer.cs | 6 +- Ryujinx.Graphics/Gal/OpenGL/OGLTexture.cs | 181 +++--- Ryujinx.Graphics/Gal/Shader/GlslDecl.cs | 7 +- Ryujinx.Graphics/Gal/Shader/GlslDecompiler.cs | 11 +- Ryujinx.HLE/Gpu/Engines/NvGpuEngine2d.cs | 4 - Ryujinx.HLE/Gpu/Engines/NvGpuEngine3d.cs | 71 ++- Ryujinx.HLE/Gpu/Engines/NvGpuEngine3dReg.cs | 8 + Ryujinx.HLE/Gpu/Texture/TextureFactory.cs | 11 +- Ryujinx.HLE/Gpu/Texture/TextureHelper.cs | 150 +++-- Ryujinx.HLE/Gpu/Texture/TextureReader.cs | 1 + 25 files changed, 1360 insertions(+), 441 deletions(-) create mode 100644 Ryujinx.Graphics/Gal/GalFrameBufferFormat.cs rename Ryujinx.Graphics/Gal/{GalTexture.cs => GalImage.cs} (61%) create mode 100644 Ryujinx.Graphics/Gal/GalImageFormat.cs create mode 100644 Ryujinx.Graphics/Gal/GalTextureType.cs create mode 100644 Ryujinx.Graphics/Gal/GalZetaFormat.cs create mode 100644 Ryujinx.Graphics/Gal/ImageFormatConverter.cs create mode 100644 Ryujinx.Graphics/Gal/OpenGL/ImageHandler.cs diff --git a/Ryujinx.Graphics/Gal/GalFrameBufferFormat.cs b/Ryujinx.Graphics/Gal/GalFrameBufferFormat.cs new file mode 100644 index 000000000..3180aeff9 --- /dev/null +++ b/Ryujinx.Graphics/Gal/GalFrameBufferFormat.cs @@ -0,0 +1,68 @@ +namespace Ryujinx.Graphics.Gal +{ + public enum GalFrameBufferFormat + { + Bitmap = 0x1c, + Unknown1D = 0x1d, + RGBA32Float = 0xc0, + RGBA32Sint = 0xc1, + RGBA32Uint = 0xc2, + RGBX32Float = 0xc3, + RGBX32Sint = 0xc4, + RGBX32Uint = 0xc5, + RGBA16Unorm = 0xc6, + RGBA16Snorm = 0xc7, + RGBA16Sint = 0xc8, + RGBA16Uint = 0xc9, + RGBA16Float = 0xca, + RG32Float = 0xcb, + RG32Sint = 0xcc, + RG32Uint = 0xcd, + RGBX16Float = 0xce, + BGRA8Unorm = 0xcf, + BGRA8Srgb = 0xd0, + RGB10A2Unorm = 0xd1, + RGB10A2Uint = 0xd2, + RGBA8Unorm = 0xd5, + RGBA8Srgb = 0xd6, + RGBA8Snorm = 0xd7, + RGBA8Sint = 0xd8, + RGBA8Uint = 0xd9, + RG16Unorm = 0xda, + RG16Snorm = 0xdb, + RG16Sint = 0xdc, + RG16Uint = 0xdd, + RG16Float = 0xde, + BGR10A2Unorm = 0xdf, + R11G11B10Float = 0xe0, + R32Sint = 0xe3, + R32Uint = 0xe4, + R32Float = 0xe5, + BGRX8Unorm = 0xe6, + BGRX8Srgb = 0xe7, + B5G6R5Unorm = 0xe8, + BGR5A1Unorm = 0xe9, + RG8Unorm = 0xea, + RG8Snorm = 0xeb, + RG8Sint = 0xec, + RG8Uint = 0xed, + R16Unorm = 0xee, + R16Snorm = 0xef, + R16Sint = 0xf0, + R16Uint = 0xf1, + R16Float = 0xf2, + R8Unorm = 0xf3, + R8Snorm = 0xf4, + R8Sint = 0xf5, + R8Uint = 0xf6, + A8Unorm = 0xf7, + BGR5X1Unorm = 0xf8, + RGBX8Unorm = 0xf9, + RGBX8Srgb = 0xfa, + BGR5X1UnormUnknownFB = 0xfb, + BGR5X1UnormUnknownFC = 0xfc, + BGRX8UnormUnknownFD = 0xfd, + BGRX8UnormUnknownFE = 0xfe, + Y32UintUnknownFF = 0xff + } +} \ No newline at end of file diff --git a/Ryujinx.Graphics/Gal/GalTexture.cs b/Ryujinx.Graphics/Gal/GalImage.cs similarity index 61% rename from Ryujinx.Graphics/Gal/GalTexture.cs rename to Ryujinx.Graphics/Gal/GalImage.cs index 2c1be65b2..dc6f02e04 100644 --- a/Ryujinx.Graphics/Gal/GalTexture.cs +++ b/Ryujinx.Graphics/Gal/GalImage.cs @@ -1,25 +1,25 @@ namespace Ryujinx.Graphics.Gal { - public struct GalTexture + public struct GalImage { public int Width; public int Height; - public GalTextureFormat Format; + public GalImageFormat Format; public GalTextureSource XSource; public GalTextureSource YSource; public GalTextureSource ZSource; public GalTextureSource WSource; - public GalTexture( + public GalImage( int Width, int Height, - GalTextureFormat Format, - GalTextureSource XSource, - GalTextureSource YSource, - GalTextureSource ZSource, - GalTextureSource WSource) + GalImageFormat Format, + GalTextureSource XSource = GalTextureSource.Red, + GalTextureSource YSource = GalTextureSource.Green, + GalTextureSource ZSource = GalTextureSource.Blue, + GalTextureSource WSource = GalTextureSource.Alpha) { this.Width = Width; this.Height = Height; diff --git a/Ryujinx.Graphics/Gal/GalImageFormat.cs b/Ryujinx.Graphics/Gal/GalImageFormat.cs new file mode 100644 index 000000000..4e84067bb --- /dev/null +++ b/Ryujinx.Graphics/Gal/GalImageFormat.cs @@ -0,0 +1,204 @@ +namespace Ryujinx.Graphics.Gal +{ + //These are Vulkan-based enumerations, do not take them as Tegra values + public enum GalImageFormat + { + Undefined = 0, + + R4G4_UNORM_PACK8 = 1, + R4G4B4A4_UNORM_PACK16 = 2, + B4G4R4A4_UNORM_PACK16 = 3, + R5G6B5_UNORM_PACK16 = 4, + B5G6R5_UNORM_PACK16 = 5, + R5G5B5A1_UNORM_PACK16 = 6, + B5G5R5A1_UNORM_PACK16 = 7, + A1R5G5B5_UNORM_PACK16 = 8, + R8_UNORM = 9, + R8_SNORM = 10, + R8_USCALED = 11, + R8_SSCALED = 12, + R8_UINT = 13, + R8_SINT = 14, + R8_SRGB = 15, + R8G8_UNORM = 16, + R8G8_SNORM = 17, + R8G8_USCALED = 18, + R8G8_SSCALED = 19, + R8G8_UINT = 20, + R8G8_SINT = 21, + R8G8_SRGB = 22, + R8G8B8_UNORM = 23, + R8G8B8_SNORM = 24, + R8G8B8_USCALED = 25, + R8G8B8_SSCALED = 26, + R8G8B8_UINT = 27, + R8G8B8_SINT = 28, + R8G8B8_SRGB = 29, + B8G8R8_UNORM = 30, + B8G8R8_SNORM = 31, + B8G8R8_USCALED = 32, + B8G8R8_SSCALED = 33, + B8G8R8_UINT = 34, + B8G8R8_SINT = 35, + B8G8R8_SRGB = 36, + R8G8B8A8_UNORM = 37, + R8G8B8A8_SNORM = 38, + R8G8B8A8_USCALED = 39, + R8G8B8A8_SSCALED = 40, + R8G8B8A8_UINT = 41, + R8G8B8A8_SINT = 42, + R8G8B8A8_SRGB = 43, + B8G8R8A8_UNORM = 44, + B8G8R8A8_SNORM = 45, + B8G8R8A8_USCALED = 46, + B8G8R8A8_SSCALED = 47, + B8G8R8A8_UINT = 48, + B8G8R8A8_SINT = 49, + B8G8R8A8_SRGB = 50, + A8B8G8R8_UNORM_PACK32 = 51, + A8B8G8R8_SNORM_PACK32 = 52, + A8B8G8R8_USCALED_PACK32 = 53, + A8B8G8R8_SSCALED_PACK32 = 54, + A8B8G8R8_UINT_PACK32 = 55, + A8B8G8R8_SINT_PACK32 = 56, + A8B8G8R8_SRGB_PACK32 = 57, + A2R10G10B10_UNORM_PACK32 = 58, + A2R10G10B10_SNORM_PACK32 = 59, + A2R10G10B10_USCALED_PACK32 = 60, + A2R10G10B10_SSCALED_PACK32 = 61, + A2R10G10B10_UINT_PACK32 = 62, + A2R10G10B10_SINT_PACK32 = 63, + A2B10G10R10_UNORM_PACK32 = 64, + A2B10G10R10_SNORM_PACK32 = 65, + A2B10G10R10_USCALED_PACK32 = 66, + A2B10G10R10_SSCALED_PACK32 = 67, + A2B10G10R10_UINT_PACK32 = 68, + A2B10G10R10_SINT_PACK32 = 69, + R16_UNORM = 70, + R16_SNORM = 71, + R16_USCALED = 72, + R16_SSCALED = 73, + R16_UINT = 74, + R16_SINT = 75, + R16_SFLOAT = 76, + R16G16_UNORM = 77, + R16G16_SNORM = 78, + R16G16_USCALED = 79, + R16G16_SSCALED = 80, + R16G16_UINT = 81, + R16G16_SINT = 82, + R16G16_SFLOAT = 83, + R16G16B16_UNORM = 84, + R16G16B16_SNORM = 85, + R16G16B16_USCALED = 86, + R16G16B16_SSCALED = 87, + R16G16B16_UINT = 88, + R16G16B16_SINT = 89, + R16G16B16_SFLOAT = 90, + R16G16B16A16_UNORM = 91, + R16G16B16A16_SNORM = 92, + R16G16B16A16_USCALED = 93, + R16G16B16A16_SSCALED = 94, + R16G16B16A16_UINT = 95, + R16G16B16A16_SINT = 96, + R16G16B16A16_SFLOAT = 97, + R32_UINT = 98, + R32_SINT = 99, + R32_SFLOAT = 100, + R32G32_UINT = 101, + R32G32_SINT = 102, + R32G32_SFLOAT = 103, + R32G32B32_UINT = 104, + R32G32B32_SINT = 105, + R32G32B32_SFLOAT = 106, + R32G32B32A32_UINT = 107, + R32G32B32A32_SINT = 108, + R32G32B32A32_SFLOAT = 109, + R64_UINT = 110, + R64_SINT = 111, + R64_SFLOAT = 112, + R64G64_UINT = 113, + R64G64_SINT = 114, + R64G64_SFLOAT = 115, + R64G64B64_UINT = 116, + R64G64B64_SINT = 117, + R64G64B64_SFLOAT = 118, + R64G64B64A64_UINT = 119, + R64G64B64A64_SINT = 120, + R64G64B64A64_SFLOAT = 121, + B10G11R11_UFLOAT_PACK32 = 122, + E5B9G9R9_UFLOAT_PACK32 = 123, + D16_UNORM = 124, + X8_D24_UNORM_PACK32 = 125, + D32_SFLOAT = 126, + S8_UINT = 127, + D16_UNORM_S8_UINT = 128, + D24_UNORM_S8_UINT = 129, + D32_SFLOAT_S8_UINT = 130, + BC1_RGB_UNORM_BLOCK = 131, + BC1_RGB_SRGB_BLOCK = 132, + BC1_RGBA_UNORM_BLOCK = 133, + BC1_RGBA_SRGB_BLOCK = 134, + BC2_UNORM_BLOCK = 135, + BC2_SRGB_BLOCK = 136, + BC3_UNORM_BLOCK = 137, + BC3_SRGB_BLOCK = 138, + BC4_UNORM_BLOCK = 139, + BC4_SNORM_BLOCK = 140, + BC5_UNORM_BLOCK = 141, + BC5_SNORM_BLOCK = 142, + BC6H_UFLOAT_BLOCK = 143, + BC6H_SFLOAT_BLOCK = 144, + BC7_UNORM_BLOCK = 145, + BC7_SRGB_BLOCK = 146, + ETC2_R8G8B8_UNORM_BLOCK = 147, + ETC2_R8G8B8_SRGB_BLOCK = 148, + ETC2_R8G8B8A1_UNORM_BLOCK = 149, + ETC2_R8G8B8A1_SRGB_BLOCK = 150, + ETC2_R8G8B8A8_UNORM_BLOCK = 151, + ETC2_R8G8B8A8_SRGB_BLOCK = 152, + EAC_R11_UNORM_BLOCK = 153, + EAC_R11_SNORM_BLOCK = 154, + EAC_R11G11_UNORM_BLOCK = 155, + EAC_R11G11_SNORM_BLOCK = 156, + + ASTC_BEGIN = ASTC_4x4_UNORM_BLOCK, + + ASTC_4x4_UNORM_BLOCK = 157, + ASTC_4x4_SRGB_BLOCK = 158, + ASTC_5x4_UNORM_BLOCK = 159, + ASTC_5x4_SRGB_BLOCK = 160, + ASTC_5x5_UNORM_BLOCK = 161, + ASTC_5x5_SRGB_BLOCK = 162, + ASTC_6x5_UNORM_BLOCK = 163, + ASTC_6x5_SRGB_BLOCK = 164, + ASTC_6x6_UNORM_BLOCK = 165, + ASTC_6x6_SRGB_BLOCK = 166, + ASTC_8x5_UNORM_BLOCK = 167, + ASTC_8x5_SRGB_BLOCK = 168, + ASTC_8x6_UNORM_BLOCK = 169, + ASTC_8x6_SRGB_BLOCK = 170, + ASTC_8x8_UNORM_BLOCK = 171, + ASTC_8x8_SRGB_BLOCK = 172, + ASTC_10x5_UNORM_BLOCK = 173, + ASTC_10x5_SRGB_BLOCK = 174, + ASTC_10x6_UNORM_BLOCK = 175, + ASTC_10x6_SRGB_BLOCK = 176, + ASTC_10x8_UNORM_BLOCK = 177, + ASTC_10x8_SRGB_BLOCK = 178, + ASTC_10x10_UNORM_BLOCK = 179, + ASTC_10x10_SRGB_BLOCK = 180, + ASTC_12x10_UNORM_BLOCK = 181, + ASTC_12x10_SRGB_BLOCK = 182, + ASTC_12x12_UNORM_BLOCK = 183, + ASTC_12x12_SRGB_BLOCK = 184, + + ASTC_END = ASTC_12x12_SRGB_BLOCK, + + REVERSED_BEGIN, + + R4G4B4A4_UNORM_PACK16_REVERSED = REVERSED_BEGIN, + + REVERSED_END + } +} \ No newline at end of file diff --git a/Ryujinx.Graphics/Gal/GalTextureFormat.cs b/Ryujinx.Graphics/Gal/GalTextureFormat.cs index 7e3e65e82..5ab7be89b 100644 --- a/Ryujinx.Graphics/Gal/GalTextureFormat.cs +++ b/Ryujinx.Graphics/Gal/GalTextureFormat.cs @@ -9,6 +9,7 @@ namespace Ryujinx.Graphics.Gal R32 = 0xf, BC6H_SF16 = 0x10, BC6H_UF16 = 0x11, + A4B4G4R4 = 0x12, A1B5G5R5 = 0x14, B5G6R5 = 0x15, BC7U = 0x17, diff --git a/Ryujinx.Graphics/Gal/GalTextureType.cs b/Ryujinx.Graphics/Gal/GalTextureType.cs new file mode 100644 index 000000000..f7dd16d15 --- /dev/null +++ b/Ryujinx.Graphics/Gal/GalTextureType.cs @@ -0,0 +1,13 @@ +namespace Ryujinx.Graphics.Gal +{ + public enum GalTextureType + { + Snorm = 1, + Unorm = 2, + Sint = 3, + Uint = 4, + Snorm_Force_Fp16 = 5, + Unorm_Force_Fp16 = 6, + Float = 7 + } +} \ No newline at end of file diff --git a/Ryujinx.Graphics/Gal/GalZetaFormat.cs b/Ryujinx.Graphics/Gal/GalZetaFormat.cs new file mode 100644 index 000000000..759e31217 --- /dev/null +++ b/Ryujinx.Graphics/Gal/GalZetaFormat.cs @@ -0,0 +1,16 @@ +namespace Ryujinx.Graphics.Gal +{ + public enum GalZetaFormat + { + Z32Float = 0x0a, + Z16Unorm = 0x13, + S8Z24Unorm = 0x14, + Z24X8Unorm = 0x15, + Z24S8Unorm = 0x16, + Z24C8Unorm = 0x18, + Z32S8X24Float = 0x19, + Z24X8S8C8X16Unorm = 0x1d, + Z32X8C8X16Float = 0x1e, + Z32S8C8X16Float = 0x1f + } +} \ No newline at end of file diff --git a/Ryujinx.Graphics/Gal/IGalFrameBuffer.cs b/Ryujinx.Graphics/Gal/IGalFrameBuffer.cs index c0287ef8b..bce1981a4 100644 --- a/Ryujinx.Graphics/Gal/IGalFrameBuffer.cs +++ b/Ryujinx.Graphics/Gal/IGalFrameBuffer.cs @@ -4,9 +4,13 @@ namespace Ryujinx.Graphics.Gal { public interface IGalFrameBuffer { - void Create(long Key, int Width, int Height); + void BindColor(long Key, int Attachment); - void Bind(long Key); + void UnbindColor(int Attachment); + + void BindZeta(long Key); + + void UnbindZeta(); void BindTexture(long Key, int Index); @@ -40,7 +44,6 @@ namespace Ryujinx.Graphics.Gal long Key, int Width, int Height, - GalTextureFormat Format, byte[] Buffer); } } \ No newline at end of file diff --git a/Ryujinx.Graphics/Gal/IGalRasterizer.cs b/Ryujinx.Graphics/Gal/IGalRasterizer.cs index 89e50b1f1..a20b6f532 100644 --- a/Ryujinx.Graphics/Gal/IGalRasterizer.cs +++ b/Ryujinx.Graphics/Gal/IGalRasterizer.cs @@ -9,6 +9,7 @@ namespace Ryujinx.Graphics.Gal void ClearBuffers( GalClearBufferFlags Flags, + int Attachment, float Red, float Green, float Blue, float Alpha, float Depth, int Stencil); diff --git a/Ryujinx.Graphics/Gal/IGalTexture.cs b/Ryujinx.Graphics/Gal/IGalTexture.cs index 2ab411990..292f59efa 100644 --- a/Ryujinx.Graphics/Gal/IGalTexture.cs +++ b/Ryujinx.Graphics/Gal/IGalTexture.cs @@ -5,9 +5,11 @@ namespace Ryujinx.Graphics.Gal void LockCache(); void UnlockCache(); - void Create(long Key, byte[] Data, GalTexture Texture); + void Create(long Key, byte[] Data, GalImage Image); - bool TryGetCachedTexture(long Key, long DataSize, out GalTexture Texture); + void CreateFb(long Key, long Size, GalImage Image); + + bool TryGetCachedTexture(long Key, long DataSize, out GalImage Image); void Bind(long Key, int Index); diff --git a/Ryujinx.Graphics/Gal/ImageFormatConverter.cs b/Ryujinx.Graphics/Gal/ImageFormatConverter.cs new file mode 100644 index 000000000..2d20a8a0e --- /dev/null +++ b/Ryujinx.Graphics/Gal/ImageFormatConverter.cs @@ -0,0 +1,263 @@ +using System; + +namespace Ryujinx.Graphics.Gal +{ + public static class ImageFormatConverter + { + public static GalImageFormat ConvertTexture( + GalTextureFormat Format, + GalTextureType RType, + GalTextureType GType, + GalTextureType BType, + GalTextureType AType) + { + if (RType != GType || RType != BType || RType != AType) + { + throw new NotImplementedException("Per component types are not implemented"); + } + + GalTextureType Type = RType; + + switch (Type) + { + case GalTextureType.Snorm: + switch (Format) + { + case GalTextureFormat.R16G16B16A16: return GalImageFormat.R16G16B16A16_SNORM; + case GalTextureFormat.A8B8G8R8: return GalImageFormat.A8B8G8R8_SNORM_PACK32; + case GalTextureFormat.A2B10G10R10: return GalImageFormat.A2B10G10R10_SNORM_PACK32; + case GalTextureFormat.G8R8: return GalImageFormat.R8G8_SNORM; + case GalTextureFormat.R16: return GalImageFormat.R16_SNORM; + case GalTextureFormat.R8: return GalImageFormat.R8_SNORM; + case GalTextureFormat.BC4: return GalImageFormat.BC4_SNORM_BLOCK; + case GalTextureFormat.BC5: return GalImageFormat.BC5_SNORM_BLOCK; + } + break; + + case GalTextureType.Unorm: + switch (Format) + { + case GalTextureFormat.R16G16B16A16: return GalImageFormat.R16G16B16A16_UNORM; + case GalTextureFormat.A8B8G8R8: return GalImageFormat.A8B8G8R8_UNORM_PACK32; + case GalTextureFormat.A2B10G10R10: return GalImageFormat.A2B10G10R10_UNORM_PACK32; + case GalTextureFormat.A4B4G4R4: return GalImageFormat.R4G4B4A4_UNORM_PACK16_REVERSED; + case GalTextureFormat.A1B5G5R5: return GalImageFormat.A1R5G5B5_UNORM_PACK16; + case GalTextureFormat.B5G6R5: return GalImageFormat.B5G6R5_UNORM_PACK16; + case GalTextureFormat.BC7U: return GalImageFormat.BC7_UNORM_BLOCK; + case GalTextureFormat.G8R8: return GalImageFormat.R8G8_UNORM; + case GalTextureFormat.R16: return GalImageFormat.R16_UNORM; + case GalTextureFormat.R8: return GalImageFormat.R8_UNORM; + case GalTextureFormat.BC1: return GalImageFormat.BC1_RGBA_UNORM_BLOCK; + case GalTextureFormat.BC2: return GalImageFormat.BC2_UNORM_BLOCK; + case GalTextureFormat.BC3: return GalImageFormat.BC3_UNORM_BLOCK; + case GalTextureFormat.BC4: return GalImageFormat.BC4_UNORM_BLOCK; + case GalTextureFormat.BC5: return GalImageFormat.BC5_UNORM_BLOCK; + case GalTextureFormat.Z24S8: return GalImageFormat.D24_UNORM_S8_UINT; + case GalTextureFormat.Astc2D4x4: return GalImageFormat.ASTC_4x4_UNORM_BLOCK; + case GalTextureFormat.Astc2D5x5: return GalImageFormat.ASTC_5x5_UNORM_BLOCK; + case GalTextureFormat.Astc2D6x6: return GalImageFormat.ASTC_6x6_UNORM_BLOCK; + case GalTextureFormat.Astc2D8x8: return GalImageFormat.ASTC_8x8_UNORM_BLOCK; + case GalTextureFormat.Astc2D10x10: return GalImageFormat.ASTC_10x10_UNORM_BLOCK; + case GalTextureFormat.Astc2D12x12: return GalImageFormat.ASTC_12x12_UNORM_BLOCK; + case GalTextureFormat.Astc2D5x4: return GalImageFormat.ASTC_5x4_UNORM_BLOCK; + case GalTextureFormat.Astc2D6x5: return GalImageFormat.ASTC_6x5_UNORM_BLOCK; + case GalTextureFormat.Astc2D8x6: return GalImageFormat.ASTC_8x6_UNORM_BLOCK; + case GalTextureFormat.Astc2D10x8: return GalImageFormat.ASTC_10x8_UNORM_BLOCK; + case GalTextureFormat.Astc2D12x10: return GalImageFormat.ASTC_12x10_UNORM_BLOCK; + case GalTextureFormat.Astc2D8x5: return GalImageFormat.ASTC_8x5_UNORM_BLOCK; + case GalTextureFormat.Astc2D10x5: return GalImageFormat.ASTC_10x5_UNORM_BLOCK; + case GalTextureFormat.Astc2D10x6: return GalImageFormat.ASTC_10x6_UNORM_BLOCK; + } + break; + + case GalTextureType.Sint: + switch (Format) + { + case GalTextureFormat.R32G32B32A32: return GalImageFormat.R32G32B32A32_SINT; + case GalTextureFormat.R16G16B16A16: return GalImageFormat.R16G16B16A16_SINT; + case GalTextureFormat.A8B8G8R8: return GalImageFormat.A8B8G8R8_SINT_PACK32; + case GalTextureFormat.A2B10G10R10: return GalImageFormat.A2B10G10R10_SINT_PACK32; + case GalTextureFormat.R32: return GalImageFormat.R32_SINT; + case GalTextureFormat.G8R8: return GalImageFormat.R8G8_SINT; + case GalTextureFormat.R16: return GalImageFormat.R16_SINT; + case GalTextureFormat.R8: return GalImageFormat.R8_SINT; + } + break; + + case GalTextureType.Uint: + switch (Format) + { + case GalTextureFormat.R32G32B32A32: return GalImageFormat.R32G32B32A32_UINT; + case GalTextureFormat.R16G16B16A16: return GalImageFormat.R16G16B16A16_UINT; + case GalTextureFormat.A8B8G8R8: return GalImageFormat.A8B8G8R8_UINT_PACK32; + case GalTextureFormat.A2B10G10R10: return GalImageFormat.A2B10G10R10_UINT_PACK32; + case GalTextureFormat.R32: return GalImageFormat.R32_UINT; + case GalTextureFormat.G8R8: return GalImageFormat.R8G8_UINT; + case GalTextureFormat.R16: return GalImageFormat.R16_UINT; + case GalTextureFormat.R8: return GalImageFormat.R8_UINT; + } + break; + + case GalTextureType.Snorm_Force_Fp16: + //TODO + break; + + case GalTextureType.Unorm_Force_Fp16: + //TODO + break; + + case GalTextureType.Float: + switch (Format) + { + case GalTextureFormat.R32G32B32A32: return GalImageFormat.R32G32B32A32_SFLOAT; + case GalTextureFormat.R16G16B16A16: return GalImageFormat.R16G16B16A16_SFLOAT; + case GalTextureFormat.R32: return GalImageFormat.R32_SFLOAT; + case GalTextureFormat.BC6H_SF16: return GalImageFormat.BC6H_SFLOAT_BLOCK; + case GalTextureFormat.BC6H_UF16: return GalImageFormat.BC6H_UFLOAT_BLOCK; + case GalTextureFormat.R16: return GalImageFormat.R16_SFLOAT; + case GalTextureFormat.BF10GF11RF11: return GalImageFormat.B10G11R11_UFLOAT_PACK32; + case GalTextureFormat.ZF32: return GalImageFormat.D32_SFLOAT; + } + break; + } + + throw new NotImplementedException("0x" + Format.ToString("x2") + " " + Type.ToString()); + } + + public static GalImageFormat ConvertFrameBuffer(GalFrameBufferFormat Format) + { + switch (Format) + { + case GalFrameBufferFormat.R32Float: return GalImageFormat.R32_SFLOAT; + case GalFrameBufferFormat.RGB10A2Unorm: return GalImageFormat.A2B10G10R10_UNORM_PACK32; + case GalFrameBufferFormat.RGBA8Srgb: return GalImageFormat.A8B8G8R8_SRGB_PACK32; + case GalFrameBufferFormat.RGBA16Float: return GalImageFormat.R16G16B16A16_SFLOAT; + case GalFrameBufferFormat.R16Float: return GalImageFormat.R16_SFLOAT; + case GalFrameBufferFormat.R8Unorm: return GalImageFormat.R8_UNORM; + case GalFrameBufferFormat.RGBA8Unorm: return GalImageFormat.A8B8G8R8_UNORM_PACK32; + case GalFrameBufferFormat.R11G11B10Float: return GalImageFormat.B10G11R11_UFLOAT_PACK32; + case GalFrameBufferFormat.RGBA32Float: return GalImageFormat.R32G32B32A32_SFLOAT; + case GalFrameBufferFormat.RG16Snorm: return GalImageFormat.R16G16_SNORM; + case GalFrameBufferFormat.RG16Float: return GalImageFormat.R16G16_SFLOAT; + case GalFrameBufferFormat.RG8Snorm: return GalImageFormat.R8_SNORM; + case GalFrameBufferFormat.RGBA8Snorm: return GalImageFormat.A8B8G8R8_SNORM_PACK32; + case GalFrameBufferFormat.RG8Unorm: return GalImageFormat.R8G8_UNORM; + } + + throw new NotImplementedException(Format.ToString()); + } + + public static GalImageFormat ConvertZeta(GalZetaFormat Format) + { + switch (Format) + { + case GalZetaFormat.Z32Float: return GalImageFormat.D32_SFLOAT; + case GalZetaFormat.S8Z24Unorm: return GalImageFormat.D24_UNORM_S8_UINT; + case GalZetaFormat.Z16Unorm: return GalImageFormat.D16_UNORM; + } + + throw new NotImplementedException(Format.ToString()); + } + + public static bool HasColor(GalImageFormat Format) + { + switch (Format) + { + case GalImageFormat.R32G32B32A32_SFLOAT: + case GalImageFormat.R32G32B32A32_SINT: + case GalImageFormat.R32G32B32A32_UINT: + case GalImageFormat.R16G16B16A16_SFLOAT: + case GalImageFormat.R16G16B16A16_SINT: + case GalImageFormat.R16G16B16A16_UINT: + case GalImageFormat.A8B8G8R8_SNORM_PACK32: + case GalImageFormat.A8B8G8R8_UNORM_PACK32: + case GalImageFormat.A8B8G8R8_SINT_PACK32: + case GalImageFormat.A8B8G8R8_UINT_PACK32: + case GalImageFormat.A2B10G10R10_SINT_PACK32: + case GalImageFormat.A2B10G10R10_SNORM_PACK32: + case GalImageFormat.A2B10G10R10_UINT_PACK32: + case GalImageFormat.A2B10G10R10_UNORM_PACK32: + case GalImageFormat.R32_SFLOAT: + case GalImageFormat.R32_SINT: + case GalImageFormat.R32_UINT: + case GalImageFormat.BC6H_SFLOAT_BLOCK: + case GalImageFormat.BC6H_UFLOAT_BLOCK: + case GalImageFormat.A1R5G5B5_UNORM_PACK16: + case GalImageFormat.B5G6R5_UNORM_PACK16: + case GalImageFormat.BC7_UNORM_BLOCK: + case GalImageFormat.R16G16_SFLOAT: + case GalImageFormat.R16G16_SINT: + case GalImageFormat.R16G16_SNORM: + case GalImageFormat.R16G16_UNORM: + case GalImageFormat.R8G8_SINT: + case GalImageFormat.R8G8_SNORM: + case GalImageFormat.R8G8_UINT: + case GalImageFormat.R8G8_UNORM: + case GalImageFormat.R16_SFLOAT: + case GalImageFormat.R16_SINT: + case GalImageFormat.R16_SNORM: + case GalImageFormat.R16_UINT: + case GalImageFormat.R16_UNORM: + case GalImageFormat.R8_SINT: + case GalImageFormat.R8_SNORM: + case GalImageFormat.R8_UINT: + case GalImageFormat.R8_UNORM: + case GalImageFormat.B10G11R11_UFLOAT_PACK32: + case GalImageFormat.BC1_RGBA_UNORM_BLOCK: + case GalImageFormat.BC2_UNORM_BLOCK: + case GalImageFormat.BC3_UNORM_BLOCK: + case GalImageFormat.BC4_UNORM_BLOCK: + case GalImageFormat.BC5_UNORM_BLOCK: + case GalImageFormat.ASTC_4x4_UNORM_BLOCK: + case GalImageFormat.ASTC_5x5_UNORM_BLOCK: + case GalImageFormat.ASTC_6x6_UNORM_BLOCK: + case GalImageFormat.ASTC_8x8_UNORM_BLOCK: + case GalImageFormat.ASTC_10x10_UNORM_BLOCK: + case GalImageFormat.ASTC_12x12_UNORM_BLOCK: + case GalImageFormat.ASTC_5x4_UNORM_BLOCK: + case GalImageFormat.ASTC_6x5_UNORM_BLOCK: + case GalImageFormat.ASTC_8x6_UNORM_BLOCK: + case GalImageFormat.ASTC_10x8_UNORM_BLOCK: + case GalImageFormat.ASTC_12x10_UNORM_BLOCK: + case GalImageFormat.ASTC_8x5_UNORM_BLOCK: + case GalImageFormat.ASTC_10x5_UNORM_BLOCK: + case GalImageFormat.ASTC_10x6_UNORM_BLOCK: + case GalImageFormat.R4G4B4A4_UNORM_PACK16_REVERSED: + return true; + + case GalImageFormat.D24_UNORM_S8_UINT: + case GalImageFormat.D32_SFLOAT: + case GalImageFormat.D16_UNORM: + return true; + } + + throw new NotImplementedException(Format.ToString()); + } + + public static bool HasDepth(GalImageFormat Format) + { + switch (Format) + { + case GalImageFormat.D24_UNORM_S8_UINT: + case GalImageFormat.D32_SFLOAT: + case GalImageFormat.D16_UNORM: + return true; + } + + //Depth formats are fewer than colors, so it's harder to miss one + //Instead of checking for individual formats, return false + return false; + } + + public static bool HasStencil(GalImageFormat Format) + { + switch (Format) + { + case GalImageFormat.D24_UNORM_S8_UINT: + return true; + } + + return false; + } + } +} \ No newline at end of file diff --git a/Ryujinx.Graphics/Gal/OpenGL/ImageHandler.cs b/Ryujinx.Graphics/Gal/OpenGL/ImageHandler.cs new file mode 100644 index 000000000..74f18dcd3 --- /dev/null +++ b/Ryujinx.Graphics/Gal/OpenGL/ImageHandler.cs @@ -0,0 +1,124 @@ +using OpenTK.Graphics.OpenGL; +using System; + +namespace Ryujinx.Graphics.Gal.OpenGL +{ + class ImageHandler + { + //TODO: Use a variable value here + public const int MaxBpp = 16; + + private static int CopyBuffer = 0; + private static int CopyBufferSize = 0; + + public GalImage Image { get; private set; } + + public int Width => Image.Width; + public int Height => Image.Height; + + public GalImageFormat Format => Image.Format; + + public PixelInternalFormat InternalFormat { get; private set; } + public PixelFormat PixelFormat { get; private set; } + public PixelType PixelType { get; private set; } + + public int Handle { get; private set; } + + private bool Initialized; + + public ImageHandler() + { + Handle = GL.GenTexture(); + } + + public ImageHandler(int Handle, GalImage Image) + { + this.Handle = Handle; + + this.Image = Image; + } + + public void EnsureSetup(GalImage Image) + { + if (Width != Image.Width || + Height != Image.Height || + Format != Image.Format || + !Initialized) + { + (PixelInternalFormat InternalFormat, PixelFormat PixelFormat, PixelType PixelType) = + OGLEnumConverter.GetImageFormat(Image.Format); + + GL.BindTexture(TextureTarget.Texture2D, Handle); + + if (Initialized) + { + if (CopyBuffer == 0) + { + CopyBuffer = GL.GenBuffer(); + } + + int MaxWidth = Math.Max(Image.Width, Width); + int MaxHeight = Math.Max(Image.Height, Height); + + int CurrentSize = MaxWidth * MaxHeight * MaxBpp; + + GL.BindBuffer(BufferTarget.PixelPackBuffer, CopyBuffer); + GL.BindBuffer(BufferTarget.PixelUnpackBuffer, CopyBuffer); + + if (CopyBufferSize < CurrentSize) + { + CopyBufferSize = CurrentSize; + + GL.BufferData(BufferTarget.PixelPackBuffer, CurrentSize, IntPtr.Zero, BufferUsageHint.StreamCopy); + } + + GL.GetTexImage(TextureTarget.Texture2D, 0, this.PixelFormat, this.PixelType, IntPtr.Zero); + + GL.DeleteTexture(Handle); + + Handle = GL.GenTexture(); + + GL.BindTexture(TextureTarget.Texture2D, Handle); + } + + const int MinFilter = (int)TextureMinFilter.Linear; + const int MagFilter = (int)TextureMagFilter.Linear; + + GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureMinFilter, MinFilter); + GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureMagFilter, MagFilter); + + const int Level = 0; + const int Border = 0; + + GL.TexImage2D( + TextureTarget.Texture2D, + Level, + InternalFormat, + Image.Width, + Image.Height, + Border, + PixelFormat, + PixelType, + IntPtr.Zero); + + if (Initialized) + { + GL.BindBuffer(BufferTarget.PixelPackBuffer, 0); + GL.BindBuffer(BufferTarget.PixelUnpackBuffer, 0); + } + + this.Image = Image; + + this.InternalFormat = InternalFormat; + this.PixelFormat = PixelFormat; + this.PixelType = PixelType; + + Initialized = true; + } + } + + public bool HasColor { get => ImageFormatConverter.HasColor(Format); } + public bool HasDepth { get => ImageFormatConverter.HasDepth(Format); } + public bool HasStencil { get => ImageFormatConverter.HasStencil(Format); } + } +} diff --git a/Ryujinx.Graphics/Gal/OpenGL/OGLConstBuffer.cs b/Ryujinx.Graphics/Gal/OpenGL/OGLConstBuffer.cs index 508255413..4958b53b3 100644 --- a/Ryujinx.Graphics/Gal/OpenGL/OGLConstBuffer.cs +++ b/Ryujinx.Graphics/Gal/OpenGL/OGLConstBuffer.cs @@ -36,12 +36,10 @@ namespace Ryujinx.Graphics.Gal.OpenGL public void SetData(long Key, long Size, IntPtr HostAddress) { - if (!Cache.TryGetValue(Key, out OGLStreamBuffer Buffer)) + if (Cache.TryGetValue(Key, out OGLStreamBuffer Buffer)) { - throw new InvalidOperationException(); + Buffer.SetData(Size, HostAddress); } - - Buffer.SetData(Size, HostAddress); } public bool TryGetUbo(long Key, out int UboHandle) diff --git a/Ryujinx.Graphics/Gal/OpenGL/OGLEnumConverter.cs b/Ryujinx.Graphics/Gal/OpenGL/OGLEnumConverter.cs index 3c42e5d38..e04a59d44 100644 --- a/Ryujinx.Graphics/Gal/OpenGL/OGLEnumConverter.cs +++ b/Ryujinx.Graphics/Gal/OpenGL/OGLEnumConverter.cs @@ -125,40 +125,71 @@ namespace Ryujinx.Graphics.Gal.OpenGL throw new ArgumentException(nameof(Type)); } - public static (PixelFormat, PixelType) GetTextureFormat(GalTextureFormat Format) + public static (PixelInternalFormat, PixelFormat, PixelType) GetImageFormat(GalImageFormat Format) { switch (Format) { - case GalTextureFormat.R32G32B32A32: return (PixelFormat.Rgba, PixelType.Float); - case GalTextureFormat.R16G16B16A16: return (PixelFormat.Rgba, PixelType.HalfFloat); - case GalTextureFormat.A8B8G8R8: return (PixelFormat.Rgba, PixelType.UnsignedByte); - case GalTextureFormat.A2B10G10R10: return (PixelFormat.Rgba, PixelType.UnsignedInt2101010Reversed); - case GalTextureFormat.R32: return (PixelFormat.Red, PixelType.Float); - case GalTextureFormat.A1B5G5R5: return (PixelFormat.Rgba, PixelType.UnsignedShort5551); - case GalTextureFormat.B5G6R5: return (PixelFormat.Rgb, PixelType.UnsignedShort565); - case GalTextureFormat.G8R8: return (PixelFormat.Rg, PixelType.UnsignedByte); - case GalTextureFormat.R16: return (PixelFormat.Red, PixelType.HalfFloat); - case GalTextureFormat.R8: return (PixelFormat.Red, PixelType.UnsignedByte); - case GalTextureFormat.ZF32: return (PixelFormat.DepthComponent, PixelType.Float); - case GalTextureFormat.BF10GF11RF11: return (PixelFormat.Rgb, PixelType.UnsignedInt10F11F11FRev); - case GalTextureFormat.Z24S8: return (PixelFormat.DepthStencil, PixelType.UnsignedInt248); + case GalImageFormat.R32G32B32A32_SFLOAT: return (PixelInternalFormat.Rgba32f, PixelFormat.Rgba, PixelType.Float); + case GalImageFormat.R32G32B32A32_SINT: return (PixelInternalFormat.Rgba32i, PixelFormat.RgbaInteger, PixelType.Int); + case GalImageFormat.R32G32B32A32_UINT: return (PixelInternalFormat.Rgba32ui, PixelFormat.RgbaInteger, PixelType.UnsignedInt); + case GalImageFormat.R16G16B16A16_SFLOAT: return (PixelInternalFormat.Rgba16f, PixelFormat.Rgba, PixelType.HalfFloat); + case GalImageFormat.R16G16B16A16_SINT: return (PixelInternalFormat.Rgba16i, PixelFormat.RgbaInteger, PixelType.Short); + case GalImageFormat.R16G16B16A16_UINT: return (PixelInternalFormat.Rgba16ui, PixelFormat.RgbaInteger, PixelType.UnsignedShort); + case GalImageFormat.A8B8G8R8_SNORM_PACK32: return (PixelInternalFormat.Rgba8Snorm, PixelFormat.Rgba, PixelType.Byte); + case GalImageFormat.A8B8G8R8_UNORM_PACK32: return (PixelInternalFormat.Rgba8, PixelFormat.Rgba, PixelType.UnsignedByte); + case GalImageFormat.A8B8G8R8_SINT_PACK32: return (PixelInternalFormat.Rgba8i, PixelFormat.RgbaInteger, PixelType.Byte); + case GalImageFormat.A8B8G8R8_UINT_PACK32: return (PixelInternalFormat.Rgba8ui, PixelFormat.RgbaInteger, PixelType.UnsignedByte); + case GalImageFormat.A8B8G8R8_SRGB_PACK32: return (PixelInternalFormat.Srgb8Alpha8, PixelFormat.Rgba, PixelType.UnsignedByte); + case GalImageFormat.A2B10G10R10_UINT_PACK32: return (PixelInternalFormat.Rgb10A2ui, PixelFormat.RgbaInteger, PixelType.UnsignedInt2101010Reversed); + case GalImageFormat.A2B10G10R10_UNORM_PACK32: return (PixelInternalFormat.Rgb10A2, PixelFormat.Rgba, PixelType.UnsignedInt2101010Reversed); + case GalImageFormat.R32_SFLOAT: return (PixelInternalFormat.R32f, PixelFormat.Red, PixelType.Float); + case GalImageFormat.R32_SINT: return (PixelInternalFormat.R32i, PixelFormat.Red, PixelType.Int); + case GalImageFormat.R32_UINT: return (PixelInternalFormat.R32ui, PixelFormat.Red, PixelType.UnsignedInt); + case GalImageFormat.A1R5G5B5_UNORM_PACK16: return (PixelInternalFormat.Rgb5A1, PixelFormat.Rgba, PixelType.UnsignedShort5551); + case GalImageFormat.B5G6R5_UNORM_PACK16: return (PixelInternalFormat.Rgba, PixelFormat.Rgb, PixelType.UnsignedShort565); + case GalImageFormat.R16G16_SFLOAT: return (PixelInternalFormat.Rg16f, PixelFormat.Rg, PixelType.HalfFloat); + case GalImageFormat.R16G16_SINT: return (PixelInternalFormat.Rg16i, PixelFormat.RgInteger, PixelType.Short); + case GalImageFormat.R16G16_SNORM: return (PixelInternalFormat.Rg16Snorm, PixelFormat.Rg, PixelType.Byte); + case GalImageFormat.R16G16_UNORM: return (PixelInternalFormat.Rg16, PixelFormat.Rg, PixelType.UnsignedShort); + case GalImageFormat.R8G8_SINT: return (PixelInternalFormat.Rg8i, PixelFormat.RgInteger, PixelType.Byte); + case GalImageFormat.R8G8_SNORM: return (PixelInternalFormat.Rg8Snorm, PixelFormat.Rg, PixelType.Byte); + case GalImageFormat.R8G8_UINT: return (PixelInternalFormat.Rg8ui, PixelFormat.RgInteger, PixelType.UnsignedByte); + case GalImageFormat.R8G8_UNORM: return (PixelInternalFormat.Rg8, PixelFormat.Rg, PixelType.UnsignedByte); + case GalImageFormat.R16_SFLOAT: return (PixelInternalFormat.R16f, PixelFormat.Red, PixelType.HalfFloat); + case GalImageFormat.R16_SINT: return (PixelInternalFormat.R16i, PixelFormat.RedInteger, PixelType.Short); + case GalImageFormat.R16_SNORM: return (PixelInternalFormat.R16Snorm, PixelFormat.Red, PixelType.Byte); + case GalImageFormat.R16_UINT: return (PixelInternalFormat.R16ui, PixelFormat.RedInteger, PixelType.UnsignedShort); + case GalImageFormat.R16_UNORM: return (PixelInternalFormat.R16, PixelFormat.Red, PixelType.UnsignedShort); + case GalImageFormat.R8_SINT: return (PixelInternalFormat.R8i, PixelFormat.RedInteger, PixelType.Byte); + case GalImageFormat.R8_SNORM: return (PixelInternalFormat.R8Snorm, PixelFormat.Red, PixelType.Byte); + case GalImageFormat.R8_UINT: return (PixelInternalFormat.R8ui, PixelFormat.RedInteger, PixelType.UnsignedByte); + case GalImageFormat.R8_UNORM: return (PixelInternalFormat.R8, PixelFormat.Red, PixelType.UnsignedByte); + case GalImageFormat.B10G11R11_UFLOAT_PACK32: return (PixelInternalFormat.R11fG11fB10f, PixelFormat.Rgb, PixelType.UnsignedInt10F11F11FRev); + + case GalImageFormat.R4G4B4A4_UNORM_PACK16_REVERSED: return (PixelInternalFormat.Rgba4, PixelFormat.Rgba, PixelType.UnsignedShort4444Reversed); + + case GalImageFormat.D24_UNORM_S8_UINT: return (PixelInternalFormat.Depth24Stencil8, PixelFormat.DepthStencil, PixelType.UnsignedInt248); + case GalImageFormat.D32_SFLOAT: return (PixelInternalFormat.DepthComponent32f, PixelFormat.DepthComponent, PixelType.Float); + case GalImageFormat.D16_UNORM: return (PixelInternalFormat.DepthComponent16, PixelFormat.DepthComponent, PixelType.UnsignedShort); } throw new NotImplementedException(Format.ToString()); } - public static InternalFormat GetCompressedTextureFormat(GalTextureFormat Format) + public static InternalFormat GetCompressedImageFormat(GalImageFormat Format) { switch (Format) { - case GalTextureFormat.BC6H_UF16: return InternalFormat.CompressedRgbBptcUnsignedFloat; - case GalTextureFormat.BC6H_SF16: return InternalFormat.CompressedRgbBptcSignedFloat; - case GalTextureFormat.BC7U: return InternalFormat.CompressedRgbaBptcUnorm; - case GalTextureFormat.BC1: return InternalFormat.CompressedRgbaS3tcDxt1Ext; - case GalTextureFormat.BC2: return InternalFormat.CompressedRgbaS3tcDxt3Ext; - case GalTextureFormat.BC3: return InternalFormat.CompressedRgbaS3tcDxt5Ext; - case GalTextureFormat.BC4: return InternalFormat.CompressedRedRgtc1; - case GalTextureFormat.BC5: return InternalFormat.CompressedRgRgtc2; + case GalImageFormat.BC6H_UFLOAT_BLOCK: return InternalFormat.CompressedRgbBptcUnsignedFloat; + case GalImageFormat.BC6H_SFLOAT_BLOCK: return InternalFormat.CompressedRgbBptcSignedFloat; + case GalImageFormat.BC7_UNORM_BLOCK: return InternalFormat.CompressedRgbaBptcUnorm; + case GalImageFormat.BC1_RGBA_UNORM_BLOCK: return InternalFormat.CompressedRgbaS3tcDxt1Ext; + case GalImageFormat.BC2_UNORM_BLOCK: return InternalFormat.CompressedRgbaS3tcDxt3Ext; + case GalImageFormat.BC3_UNORM_BLOCK: return InternalFormat.CompressedRgbaS3tcDxt5Ext; + case GalImageFormat.BC4_SNORM_BLOCK: return InternalFormat.CompressedSignedRedRgtc1; + case GalImageFormat.BC4_UNORM_BLOCK: return InternalFormat.CompressedRedRgtc1; + case GalImageFormat.BC5_SNORM_BLOCK: return InternalFormat.CompressedSignedRgRgtc2; + case GalImageFormat.BC5_UNORM_BLOCK: return InternalFormat.CompressedRgRgtc2; } throw new NotImplementedException(Format.ToString()); diff --git a/Ryujinx.Graphics/Gal/OpenGL/OGLFrameBuffer.cs b/Ryujinx.Graphics/Gal/OpenGL/OGLFrameBuffer.cs index 62f82495c..e0f12e4ec 100644 --- a/Ryujinx.Graphics/Gal/OpenGL/OGLFrameBuffer.cs +++ b/Ryujinx.Graphics/Gal/OpenGL/OGLFrameBuffer.cs @@ -1,10 +1,9 @@ using OpenTK.Graphics.OpenGL; using System; -using System.Collections.Generic; namespace Ryujinx.Graphics.Gal.OpenGL { - public class OGLFrameBuffer : IGalFrameBuffer + class OGLFrameBuffer : IGalFrameBuffer { private struct Rect { @@ -15,50 +14,38 @@ namespace Ryujinx.Graphics.Gal.OpenGL public Rect(int X, int Y, int Width, int Height) { - this.X = X; - this.Y = Y; - this.Width = Width; + this.X = X; + this.Y = Y; + this.Width = Width; this.Height = Height; } } - private class FrameBuffer + private static readonly DrawBuffersEnum[] DrawBuffers = new DrawBuffersEnum[] { - public int Width { get; set; } - public int Height { get; set; } - - public int Handle { get; private set; } - public int RbHandle { get; private set; } - public int TexHandle { get; private set; } - - public FrameBuffer(int Width, int Height, bool HasRenderBuffer) - { - this.Width = Width; - this.Height = Height; - - Handle = GL.GenFramebuffer(); - TexHandle = GL.GenTexture(); - - if (HasRenderBuffer) - { - RbHandle = GL.GenRenderbuffer(); - } - } - } + DrawBuffersEnum.ColorAttachment0, + DrawBuffersEnum.ColorAttachment1, + DrawBuffersEnum.ColorAttachment2, + DrawBuffersEnum.ColorAttachment3, + DrawBuffersEnum.ColorAttachment4, + DrawBuffersEnum.ColorAttachment5, + DrawBuffersEnum.ColorAttachment6, + DrawBuffersEnum.ColorAttachment7, + }; private const int NativeWidth = 1280; private const int NativeHeight = 720; - private Dictionary Fbs; + private const GalImageFormat RawFormat = GalImageFormat.A8B8G8R8_UNORM_PACK32; + + private OGLTexture Texture; + + private ImageHandler RawTex; + private ImageHandler ReadTex; private Rect Viewport; private Rect Window; - private FrameBuffer CurrFb; - private FrameBuffer CurrReadFb; - - private FrameBuffer RawFb; - private bool FlipX; private bool FlipY; @@ -67,111 +54,144 @@ namespace Ryujinx.Graphics.Gal.OpenGL private int CropRight; private int CropBottom; - public OGLFrameBuffer() + //This framebuffer is used to attach guest rendertargets, + //think of it as a dummy OpenGL VAO + private int DummyFrameBuffer; + + //These framebuffers are used to blit images + private int SrcFb; + private int DstFb; + + //Holds current attachments, used to avoid unnecesary calls to OpenGL + private int[] ColorAttachments; + + private int DepthAttachment; + private int StencilAttachment; + + public OGLFrameBuffer(OGLTexture Texture) { - Fbs = new Dictionary(); + ColorAttachments = new int[8]; + + this.Texture = Texture; } - public void Create(long Key, int Width, int Height) + public void BindColor(long Key, int Attachment) { - if (Fbs.TryGetValue(Key, out FrameBuffer Fb)) + if (Texture.TryGetImage(Key, out ImageHandler Tex)) { - if (Fb.Width != Width || - Fb.Height != Height) - { - SetupTexture(Fb.TexHandle, Width, Height); + EnsureFrameBuffer(); - Fb.Width = Width; - Fb.Height = Height; - } - - return; + Attach(ref ColorAttachments[Attachment], Tex.Handle, FramebufferAttachment.ColorAttachment0 + Attachment); + } + else + { + UnbindColor(Attachment); } - - Fb = new FrameBuffer(Width, Height, true); - - SetupTexture(Fb.TexHandle, Width, Height); - - GL.BindFramebuffer(FramebufferTarget.Framebuffer, Fb.Handle); - - GL.BindRenderbuffer(RenderbufferTarget.Renderbuffer, Fb.RbHandle); - - GL.RenderbufferStorage( - RenderbufferTarget.Renderbuffer, - RenderbufferStorage.Depth24Stencil8, - Width, - Height); - - GL.FramebufferRenderbuffer( - FramebufferTarget.Framebuffer, - FramebufferAttachment.DepthStencilAttachment, - RenderbufferTarget.Renderbuffer, - Fb.RbHandle); - - GL.FramebufferTexture( - FramebufferTarget.Framebuffer, - FramebufferAttachment.ColorAttachment0, - Fb.TexHandle, - 0); - - GL.DrawBuffer(DrawBufferMode.ColorAttachment0); - - Fbs.Add(Key, Fb); } - public void Bind(long Key) + public void UnbindColor(int Attachment) { - if (Fbs.TryGetValue(Key, out FrameBuffer Fb)) - { - GL.BindFramebuffer(FramebufferTarget.Framebuffer, Fb.Handle); + EnsureFrameBuffer(); - CurrFb = Fb; + Attach(ref ColorAttachments[Attachment], 0, FramebufferAttachment.ColorAttachment0 + Attachment); + } + + public void BindZeta(long Key) + { + if (Texture.TryGetImage(Key, out ImageHandler Tex)) + { + EnsureFrameBuffer(); + + if (Tex.HasDepth && Tex.HasStencil) + { + if (DepthAttachment != Tex.Handle || + StencilAttachment != Tex.Handle) + { + GL.FramebufferTexture( + FramebufferTarget.DrawFramebuffer, + FramebufferAttachment.DepthStencilAttachment, + Tex.Handle, + 0); + + DepthAttachment = Tex.Handle; + + StencilAttachment = Tex.Handle; + } + } + else if (Tex.HasDepth) + { + Attach(ref DepthAttachment, Tex.Handle, FramebufferAttachment.DepthAttachment); + + Attach(ref StencilAttachment, 0, FramebufferAttachment.StencilAttachment); + } + else if (Tex.HasStencil) + { + Attach(ref DepthAttachment, 0, FramebufferAttachment.DepthAttachment); + + Attach(ref StencilAttachment, Tex.Handle, FramebufferAttachment.StencilAttachment); + } + else + { + throw new InvalidOperationException(); + } + } + else + { + UnbindZeta(); + } + } + + public void UnbindZeta() + { + EnsureFrameBuffer(); + + if (DepthAttachment != 0 || + StencilAttachment != 0) + { + GL.FramebufferTexture( + FramebufferTarget.DrawFramebuffer, + FramebufferAttachment.DepthStencilAttachment, + 0, + 0); + + DepthAttachment = 0; + + StencilAttachment = 0; } } public void BindTexture(long Key, int Index) { - if (Fbs.TryGetValue(Key, out FrameBuffer Fb)) + if (Texture.TryGetImage(Key, out ImageHandler Tex)) { GL.ActiveTexture(TextureUnit.Texture0 + Index); - GL.BindTexture(TextureTarget.Texture2D, Fb.TexHandle); + GL.BindTexture(TextureTarget.Texture2D, Tex.Handle); } } public void Set(long Key) { - if (Fbs.TryGetValue(Key, out FrameBuffer Fb)) + if (Texture.TryGetImage(Key, out ImageHandler Tex)) { - CurrReadFb = Fb; + ReadTex = Tex; } } public void Set(byte[] Data, int Width, int Height) { - if (RawFb == null) + if (RawTex == null) { - CreateRawFb(Width, Height); + RawTex = new ImageHandler(); } - if (RawFb.Width != Width || - RawFb.Height != Height) - { - SetupTexture(RawFb.TexHandle, Width, Height); + RawTex.EnsureSetup(new GalImage(Width, Height, RawFormat)); - RawFb.Width = Width; - RawFb.Height = Height; - } + GL.BindTexture(TextureTarget.Texture2D, RawTex.Handle); - GL.ActiveTexture(TextureUnit.Texture0); + GL.TexSubImage2D(TextureTarget.Texture2D, 0, 0, 0, Width, Height, RawTex.PixelFormat, RawTex.PixelType, Data); - GL.BindTexture(TextureTarget.Texture2D, RawFb.TexHandle); - - (PixelFormat Format, PixelType Type) = OGLEnumConverter.GetTextureFormat(GalTextureFormat.A8B8G8R8); - - GL.TexSubImage2D(TextureTarget.Texture2D, 0, 0, 0, Width, Height, Format, Type, Data); - - CurrReadFb = RawFb; + ReadTex = RawTex; } public void SetTransform(bool FlipX, bool FlipY, int Top, int Left, int Right, int Bottom) @@ -208,60 +228,71 @@ namespace Ryujinx.Graphics.Gal.OpenGL public void Render() { - if (CurrReadFb != null) + if (ReadTex == null) { - int SrcX0, SrcX1, SrcY0, SrcY1; - - if (CropLeft == 0 && CropRight == 0) - { - SrcX0 = 0; - SrcX1 = CurrReadFb.Width; - } - else - { - SrcX0 = CropLeft; - SrcX1 = CropRight; - } - - if (CropTop == 0 && CropBottom == 0) - { - SrcY0 = 0; - SrcY1 = CurrReadFb.Height; - } - else - { - SrcY0 = CropTop; - SrcY1 = CropBottom; - } - - float RatioX = MathF.Min(1f, (Window.Height * (float)NativeWidth) / ((float)NativeHeight * Window.Width)); - float RatioY = MathF.Min(1f, (Window.Width * (float)NativeHeight) / ((float)NativeWidth * Window.Height)); - - int DstWidth = (int)(Window.Width * RatioX); - int DstHeight = (int)(Window.Height * RatioY); - - int DstPaddingX = (Window.Width - DstWidth) / 2; - int DstPaddingY = (Window.Height - DstHeight) / 2; - - int DstX0 = FlipX ? Window.Width - DstPaddingX : DstPaddingX; - int DstX1 = FlipX ? DstPaddingX : Window.Width - DstPaddingX; - - int DstY0 = FlipY ? DstPaddingY : Window.Height - DstPaddingY; - int DstY1 = FlipY ? Window.Height - DstPaddingY : DstPaddingY; - - GL.BindFramebuffer(FramebufferTarget.Framebuffer, 0); - - GL.Viewport(0, 0, Window.Width, Window.Height); - - GL.BindFramebuffer(FramebufferTarget.ReadFramebuffer, CurrReadFb.Handle); - - GL.Clear(ClearBufferMask.ColorBufferBit | ClearBufferMask.DepthBufferBit); - - GL.BlitFramebuffer( - SrcX0, SrcY0, SrcX1, SrcY1, - DstX0, DstY0, DstX1, DstY1, - ClearBufferMask.ColorBufferBit, BlitFramebufferFilter.Linear); + return; } + + int SrcX0, SrcX1, SrcY0, SrcY1; + + if (CropLeft == 0 && CropRight == 0) + { + SrcX0 = 0; + SrcX1 = ReadTex.Width; + } + else + { + SrcX0 = CropLeft; + SrcX1 = CropRight; + } + + if (CropTop == 0 && CropBottom == 0) + { + SrcY0 = 0; + SrcY1 = ReadTex.Height; + } + else + { + SrcY0 = CropTop; + SrcY1 = CropBottom; + } + + float RatioX = MathF.Min(1f, (Window.Height * (float)NativeWidth) / ((float)NativeHeight * Window.Width)); + float RatioY = MathF.Min(1f, (Window.Width * (float)NativeHeight) / ((float)NativeWidth * Window.Height)); + + int DstWidth = (int)(Window.Width * RatioX); + int DstHeight = (int)(Window.Height * RatioY); + + int DstPaddingX = (Window.Width - DstWidth) / 2; + int DstPaddingY = (Window.Height - DstHeight) / 2; + + int DstX0 = FlipX ? Window.Width - DstPaddingX : DstPaddingX; + int DstX1 = FlipX ? DstPaddingX : Window.Width - DstPaddingX; + + int DstY0 = FlipY ? DstPaddingY : Window.Height - DstPaddingY; + int DstY1 = FlipY ? Window.Height - DstPaddingY : DstPaddingY; + + if (SrcFb == 0) SrcFb = GL.GenFramebuffer(); + + GL.BindFramebuffer(FramebufferTarget.DrawFramebuffer, 0); + + GL.Viewport(0, 0, Window.Width, Window.Height); + + GL.BindFramebuffer(FramebufferTarget.ReadFramebuffer, SrcFb); + + GL.FramebufferTexture(FramebufferTarget.ReadFramebuffer, FramebufferAttachment.ColorAttachment0, ReadTex.Handle, 0); + + GL.ReadBuffer(ReadBufferMode.ColorAttachment0); + GL.DrawBuffer(DrawBufferMode.ColorAttachment0); + + GL.Clear(ClearBufferMask.ColorBufferBit); + + GL.BlitFramebuffer( + SrcX0, SrcY0, SrcX1, SrcY1, + DstX0, DstY0, DstX1, DstY1, + ClearBufferMask.ColorBufferBit, BlitFramebufferFilter.Linear); + + EnsureFrameBuffer(); } public void Copy( @@ -276,39 +307,80 @@ namespace Ryujinx.Graphics.Gal.OpenGL int DstX1, int DstY1) { - if (Fbs.TryGetValue(SrcKey, out FrameBuffer SrcFb) && - Fbs.TryGetValue(DstKey, out FrameBuffer DstFb)) + if (Texture.TryGetImage(SrcKey, out ImageHandler SrcTex) && + Texture.TryGetImage(DstKey, out ImageHandler DstTex)) { - GL.BindFramebuffer(FramebufferTarget.ReadFramebuffer, SrcFb.Handle); - GL.BindFramebuffer(FramebufferTarget.DrawFramebuffer, DstFb.Handle); + if (SrcTex.HasColor != DstTex.HasColor || + SrcTex.HasDepth != DstTex.HasDepth || + SrcTex.HasStencil != DstTex.HasStencil) + { + throw new NotImplementedException(); + } - GL.Clear(ClearBufferMask.ColorBufferBit); - - GL.BlitFramebuffer( - SrcX0, SrcY0, SrcX1, SrcY1, - DstX0, DstY0, DstX1, DstY1, - ClearBufferMask.ColorBufferBit, - BlitFramebufferFilter.Linear); + if (SrcTex.HasColor) + { + CopyTextures( + SrcX0, SrcY0, SrcX1, SrcY1, + DstX0, DstY0, DstX1, DstY1, + SrcTex.Handle, + DstTex.Handle, + FramebufferAttachment.ColorAttachment0, + ClearBufferMask.ColorBufferBit, + true); + } + else if (SrcTex.HasDepth && SrcTex.HasStencil) + { + CopyTextures( + SrcX0, SrcY0, SrcX1, SrcY1, + DstX0, DstY0, DstX1, DstY1, + SrcTex.Handle, + DstTex.Handle, + FramebufferAttachment.DepthStencilAttachment, + ClearBufferMask.DepthBufferBit | ClearBufferMask.StencilBufferBit, + false); + } + else if (SrcTex.HasDepth) + { + CopyTextures( + SrcX0, SrcY0, SrcX1, SrcY1, + DstX0, DstY0, DstX1, DstY1, + SrcTex.Handle, + DstTex.Handle, + FramebufferAttachment.DepthAttachment, + ClearBufferMask.DepthBufferBit, + false); + } + else if (SrcTex.HasStencil) + { + CopyTextures( + SrcX0, SrcY0, SrcX1, SrcY1, + DstX0, DstY0, DstX1, DstY1, + SrcTex.Handle, + DstTex.Handle, + FramebufferAttachment.StencilAttachment, + ClearBufferMask.StencilBufferBit, + false); + } + else + { + throw new InvalidOperationException(); + } } -} + } public void GetBufferData(long Key, Action Callback) { - if (Fbs.TryGetValue(Key, out FrameBuffer Fb)) + if (Texture.TryGetImage(Key, out ImageHandler Tex)) { - GL.BindFramebuffer(FramebufferTarget.ReadFramebuffer, Fb.Handle); + byte[] Data = new byte[Tex.Width * Tex.Height * ImageHandler.MaxBpp]; - byte[] Data = new byte[Fb.Width * Fb.Height * 4]; + GL.BindTexture(TextureTarget.Texture2D, Tex.Handle); - (PixelFormat Format, PixelType Type) = OGLEnumConverter.GetTextureFormat(GalTextureFormat.A8B8G8R8); - - GL.ReadPixels( + GL.GetTexImage( + TextureTarget.Texture2D, 0, - 0, - Fb.Width, - Fb.Height, - Format, - Type, + Tex.PixelFormat, + Tex.PixelType, Data); Callback(Data); @@ -319,83 +391,101 @@ namespace Ryujinx.Graphics.Gal.OpenGL long Key, int Width, int Height, - GalTextureFormat Format, byte[] Buffer) { - if (Fbs.TryGetValue(Key, out FrameBuffer Fb)) + if (Texture.TryGetImage(Key, out ImageHandler Tex)) { - GL.BindTexture(TextureTarget.Texture2D, Fb.TexHandle); + GL.BindTexture(TextureTarget.Texture2D, Tex.Handle); const int Level = 0; const int Border = 0; - const PixelInternalFormat InternalFmt = PixelInternalFormat.Rgba; - - (PixelFormat GlFormat, PixelType Type) = OGLEnumConverter.GetTextureFormat(Format); - GL.TexImage2D( TextureTarget.Texture2D, Level, - InternalFmt, + Tex.InternalFormat, Width, Height, Border, - GlFormat, - Type, + Tex.PixelFormat, + Tex.PixelType, Buffer); } } - private void CreateRawFb(int Width, int Height) + private void EnsureFrameBuffer() { - if (RawFb == null) + if (DummyFrameBuffer == 0) { - RawFb = new FrameBuffer(Width, Height, false); + DummyFrameBuffer = GL.GenFramebuffer(); + } - SetupTexture(RawFb.TexHandle, Width, Height); + GL.BindFramebuffer(FramebufferTarget.DrawFramebuffer, DummyFrameBuffer); - RawFb.Width = Width; - RawFb.Height = Height; - - GL.BindFramebuffer(FramebufferTarget.Framebuffer, RawFb.Handle); + GL.DrawBuffers(8, DrawBuffers); + } + private void Attach(ref int OldHandle, int NewHandle, FramebufferAttachment FbAttachment) + { + if (OldHandle != NewHandle) + { GL.FramebufferTexture( - FramebufferTarget.Framebuffer, - FramebufferAttachment.ColorAttachment0, - RawFb.TexHandle, + FramebufferTarget.DrawFramebuffer, + FbAttachment, + NewHandle, 0); - GL.Viewport(0, 0, Width, Height); + OldHandle = NewHandle; } } - private void SetupTexture(int Handle, int Width, int Height) + private void CopyTextures( + int SrcX0, + int SrcY0, + int SrcX1, + int SrcY1, + int DstX0, + int DstY0, + int DstX1, + int DstY1, + int SrcTexture, + int DstTexture, + FramebufferAttachment Attachment, + ClearBufferMask Mask, + bool Color) { - GL.BindTexture(TextureTarget.Texture2D, Handle); + if (SrcFb == 0) SrcFb = GL.GenFramebuffer(); + if (DstFb == 0) DstFb = GL.GenFramebuffer(); - const int MinFilter = (int)TextureMinFilter.Linear; - const int MagFilter = (int)TextureMagFilter.Linear; + GL.BindFramebuffer(FramebufferTarget.ReadFramebuffer, SrcFb); + GL.BindFramebuffer(FramebufferTarget.DrawFramebuffer, DstFb); - GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureMinFilter, MinFilter); - GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureMagFilter, MagFilter); + GL.FramebufferTexture( + FramebufferTarget.ReadFramebuffer, + Attachment, + SrcTexture, + 0); - (PixelFormat Format, PixelType Type) = OGLEnumConverter.GetTextureFormat(GalTextureFormat.A8B8G8R8); + GL.FramebufferTexture( + FramebufferTarget.DrawFramebuffer, + Attachment, + DstTexture, + 0); - const PixelInternalFormat InternalFmt = PixelInternalFormat.Rgba; + if (Color) + { + GL.DrawBuffer(DrawBufferMode.ColorAttachment0); + } - const int Level = 0; - const int Border = 0; + GL.Clear(Mask); - GL.TexImage2D( - TextureTarget.Texture2D, - Level, - InternalFmt, - Width, - Height, - Border, - Format, - Type, - IntPtr.Zero); + GL.BlitFramebuffer( + SrcX0, SrcY0, SrcX1, SrcY1, + DstX0, DstY0, DstX1, DstY1, + Mask, + Color ? BlitFramebufferFilter.Linear : BlitFramebufferFilter.Nearest); + + EnsureFrameBuffer(); } } } \ No newline at end of file diff --git a/Ryujinx.Graphics/Gal/OpenGL/OGLRasterizer.cs b/Ryujinx.Graphics/Gal/OpenGL/OGLRasterizer.cs index b6e974545..451066928 100644 --- a/Ryujinx.Graphics/Gal/OpenGL/OGLRasterizer.cs +++ b/Ryujinx.Graphics/Gal/OpenGL/OGLRasterizer.cs @@ -3,7 +3,7 @@ using System; namespace Ryujinx.Graphics.Gal.OpenGL { - public class OGLRasterizer : IGalRasterizer + class OGLRasterizer : IGalRasterizer { private int[] VertexBuffers; @@ -44,36 +44,29 @@ namespace Ryujinx.Graphics.Gal.OpenGL public void ClearBuffers( GalClearBufferFlags Flags, + int Attachment, float Red, float Green, float Blue, float Alpha, float Depth, int Stencil) { - ClearBufferMask Mask = ClearBufferMask.ColorBufferBit; - GL.ColorMask( Flags.HasFlag(GalClearBufferFlags.ColorRed), Flags.HasFlag(GalClearBufferFlags.ColorGreen), Flags.HasFlag(GalClearBufferFlags.ColorBlue), Flags.HasFlag(GalClearBufferFlags.ColorAlpha)); + GL.ClearBuffer(ClearBuffer.Color, Attachment, new float[] { Red, Green, Blue, Alpha }); + if (Flags.HasFlag(GalClearBufferFlags.Depth)) { - Mask |= ClearBufferMask.DepthBufferBit; + GL.ClearBuffer(ClearBuffer.Depth, 0, ref Depth); } if (Flags.HasFlag(GalClearBufferFlags.Stencil)) { - Mask |= ClearBufferMask.StencilBufferBit; + GL.ClearBuffer(ClearBuffer.Stencil, 0, ref Stencil); } - GL.ClearColor(Red, Green, Blue, Alpha); - - GL.ClearDepth(Depth); - - GL.ClearStencil(Stencil); - - GL.Clear(Mask); - GL.ColorMask(true, true, true, true); } diff --git a/Ryujinx.Graphics/Gal/OpenGL/OGLRenderer.cs b/Ryujinx.Graphics/Gal/OpenGL/OGLRenderer.cs index b0f6da45e..985f1086f 100644 --- a/Ryujinx.Graphics/Gal/OpenGL/OGLRenderer.cs +++ b/Ryujinx.Graphics/Gal/OpenGL/OGLRenderer.cs @@ -23,7 +23,9 @@ namespace Ryujinx.Graphics.Gal.OpenGL { Buffer = new OGLConstBuffer(); - FrameBuffer = new OGLFrameBuffer(); + Texture = new OGLTexture(); + + FrameBuffer = new OGLFrameBuffer(Texture as OGLTexture); Rasterizer = new OGLRasterizer(); @@ -31,8 +33,6 @@ namespace Ryujinx.Graphics.Gal.OpenGL Pipeline = new OGLPipeline(Buffer as OGLConstBuffer, Rasterizer as OGLRasterizer, Shader as OGLShader); - Texture = new OGLTexture(); - ActionsQueue = new ConcurrentQueue(); } diff --git a/Ryujinx.Graphics/Gal/OpenGL/OGLTexture.cs b/Ryujinx.Graphics/Gal/OpenGL/OGLTexture.cs index ac30e6fd8..e4d4bd648 100644 --- a/Ryujinx.Graphics/Gal/OpenGL/OGLTexture.cs +++ b/Ryujinx.Graphics/Gal/OpenGL/OGLTexture.cs @@ -4,26 +4,13 @@ using System; namespace Ryujinx.Graphics.Gal.OpenGL { - public class OGLTexture : IGalTexture + class OGLTexture : IGalTexture { - private class TCE - { - public int Handle; - - public GalTexture Texture; - - public TCE(int Handle, GalTexture Texture) - { - this.Handle = Handle; - this.Texture = Texture; - } - } - - private OGLCachedResource TextureCache; + private OGLCachedResource TextureCache; public OGLTexture() { - TextureCache = new OGLCachedResource(DeleteTexture); + TextureCache = new OGLCachedResource(DeleteTexture); } public void LockCache() @@ -36,73 +23,71 @@ namespace Ryujinx.Graphics.Gal.OpenGL TextureCache.Unlock(); } - private static void DeleteTexture(TCE CachedTexture) + private static void DeleteTexture(ImageHandler CachedImage) { - GL.DeleteTexture(CachedTexture.Handle); + GL.DeleteTexture(CachedImage.Handle); } - public void Create(long Key, byte[] Data, GalTexture Texture) + public void Create(long Key, byte[] Data, GalImage Image) { int Handle = GL.GenTexture(); - TextureCache.AddOrUpdate(Key, new TCE(Handle, Texture), (uint)Data.Length); + TextureCache.AddOrUpdate(Key, new ImageHandler(Handle, Image), (uint)Data.Length); GL.BindTexture(TextureTarget.Texture2D, Handle); const int Level = 0; //TODO: Support mipmap textures. const int Border = 0; - if (IsCompressedTextureFormat(Texture.Format)) + if (IsCompressedTextureFormat(Image.Format)) { - InternalFormat InternalFmt = OGLEnumConverter.GetCompressedTextureFormat(Texture.Format); + InternalFormat InternalFmt = OGLEnumConverter.GetCompressedImageFormat(Image.Format); GL.CompressedTexImage2D( TextureTarget.Texture2D, Level, InternalFmt, - Texture.Width, - Texture.Height, + Image.Width, + Image.Height, Border, Data.Length, Data); } else { - if (Texture.Format >= GalTextureFormat.Astc2D4x4) + if (Image.Format >= GalImageFormat.ASTC_BEGIN && Image.Format <= GalImageFormat.ASTC_END) { - int TextureBlockWidth = GetAstcBlockWidth(Texture.Format); - int TextureBlockHeight = GetAstcBlockHeight(Texture.Format); + int TextureBlockWidth = GetAstcBlockWidth(Image.Format); + int TextureBlockHeight = GetAstcBlockHeight(Image.Format); Data = ASTCDecoder.DecodeToRGBA8888( Data, TextureBlockWidth, TextureBlockHeight, 1, - Texture.Width, - Texture.Height, 1); + Image.Width, + Image.Height, 1); - Texture.Format = GalTextureFormat.A8B8G8R8; + Image.Format = GalImageFormat.A8B8G8R8_UNORM_PACK32; } - const PixelInternalFormat InternalFmt = PixelInternalFormat.Rgba; - - (PixelFormat Format, PixelType Type) = OGLEnumConverter.GetTextureFormat(Texture.Format); + (PixelInternalFormat InternalFormat, PixelFormat Format, PixelType Type) = OGLEnumConverter.GetImageFormat(Image.Format); GL.TexImage2D( TextureTarget.Texture2D, Level, - InternalFmt, - Texture.Width, - Texture.Height, + InternalFormat, + Image.Width, + Image.Height, Border, Format, Type, Data); } - int SwizzleR = (int)OGLEnumConverter.GetTextureSwizzle(Texture.XSource); - int SwizzleG = (int)OGLEnumConverter.GetTextureSwizzle(Texture.YSource); - int SwizzleB = (int)OGLEnumConverter.GetTextureSwizzle(Texture.ZSource); - int SwizzleA = (int)OGLEnumConverter.GetTextureSwizzle(Texture.WSource); + int SwizzleR = (int)OGLEnumConverter.GetTextureSwizzle(Image.XSource); + int SwizzleG = (int)OGLEnumConverter.GetTextureSwizzle(Image.YSource); + int SwizzleB = (int)OGLEnumConverter.GetTextureSwizzle(Image.ZSource); + int SwizzleA = (int)OGLEnumConverter.GetTextureSwizzle(Image.WSource); GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureSwizzleR, SwizzleR); GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureSwizzleG, SwizzleG); @@ -110,76 +95,100 @@ namespace Ryujinx.Graphics.Gal.OpenGL GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureSwizzleA, SwizzleA); } - private static int GetAstcBlockWidth(GalTextureFormat Format) + public void CreateFb(long Key, long Size, GalImage Image) + { + if (!TryGetImage(Key, out ImageHandler CachedImage)) + { + CachedImage = new ImageHandler(); + + TextureCache.AddOrUpdate(Key, CachedImage, Size); + } + + CachedImage.EnsureSetup(Image); + } + + public bool TryGetImage(long Key, out ImageHandler CachedImage) + { + if (TextureCache.TryGetValue(Key, out CachedImage)) + { + return true; + } + + CachedImage = null; + + return false; + } + + private static int GetAstcBlockWidth(GalImageFormat Format) { switch (Format) { - case GalTextureFormat.Astc2D4x4: return 4; - case GalTextureFormat.Astc2D5x5: return 5; - case GalTextureFormat.Astc2D6x6: return 6; - case GalTextureFormat.Astc2D8x8: return 8; - case GalTextureFormat.Astc2D10x10: return 10; - case GalTextureFormat.Astc2D12x12: return 12; - case GalTextureFormat.Astc2D5x4: return 5; - case GalTextureFormat.Astc2D6x5: return 6; - case GalTextureFormat.Astc2D8x6: return 8; - case GalTextureFormat.Astc2D10x8: return 10; - case GalTextureFormat.Astc2D12x10: return 12; - case GalTextureFormat.Astc2D8x5: return 8; - case GalTextureFormat.Astc2D10x5: return 10; - case GalTextureFormat.Astc2D10x6: return 10; + case GalImageFormat.ASTC_4x4_UNORM_BLOCK: return 4; + case GalImageFormat.ASTC_5x5_UNORM_BLOCK: return 5; + case GalImageFormat.ASTC_6x6_UNORM_BLOCK: return 6; + case GalImageFormat.ASTC_8x8_UNORM_BLOCK: return 8; + case GalImageFormat.ASTC_10x10_UNORM_BLOCK: return 10; + case GalImageFormat.ASTC_12x12_UNORM_BLOCK: return 12; + case GalImageFormat.ASTC_5x4_UNORM_BLOCK: return 5; + case GalImageFormat.ASTC_6x5_UNORM_BLOCK: return 6; + case GalImageFormat.ASTC_8x6_UNORM_BLOCK: return 8; + case GalImageFormat.ASTC_10x8_UNORM_BLOCK: return 10; + case GalImageFormat.ASTC_12x10_UNORM_BLOCK: return 12; + case GalImageFormat.ASTC_8x5_UNORM_BLOCK: return 8; + case GalImageFormat.ASTC_10x5_UNORM_BLOCK: return 10; + case GalImageFormat.ASTC_10x6_UNORM_BLOCK: return 10; } throw new ArgumentException(nameof(Format)); } - private static int GetAstcBlockHeight(GalTextureFormat Format) + private static int GetAstcBlockHeight(GalImageFormat Format) { switch (Format) { - case GalTextureFormat.Astc2D4x4: return 4; - case GalTextureFormat.Astc2D5x5: return 5; - case GalTextureFormat.Astc2D6x6: return 6; - case GalTextureFormat.Astc2D8x8: return 8; - case GalTextureFormat.Astc2D10x10: return 10; - case GalTextureFormat.Astc2D12x12: return 12; - case GalTextureFormat.Astc2D5x4: return 4; - case GalTextureFormat.Astc2D6x5: return 5; - case GalTextureFormat.Astc2D8x6: return 6; - case GalTextureFormat.Astc2D10x8: return 8; - case GalTextureFormat.Astc2D12x10: return 10; - case GalTextureFormat.Astc2D8x5: return 5; - case GalTextureFormat.Astc2D10x5: return 5; - case GalTextureFormat.Astc2D10x6: return 6; + case GalImageFormat.ASTC_4x4_UNORM_BLOCK: return 4; + case GalImageFormat.ASTC_5x5_UNORM_BLOCK: return 5; + case GalImageFormat.ASTC_6x6_UNORM_BLOCK: return 6; + case GalImageFormat.ASTC_8x8_UNORM_BLOCK: return 8; + case GalImageFormat.ASTC_10x10_UNORM_BLOCK: return 10; + case GalImageFormat.ASTC_12x12_UNORM_BLOCK: return 12; + case GalImageFormat.ASTC_5x4_UNORM_BLOCK: return 4; + case GalImageFormat.ASTC_6x5_UNORM_BLOCK: return 5; + case GalImageFormat.ASTC_8x6_UNORM_BLOCK: return 6; + case GalImageFormat.ASTC_10x8_UNORM_BLOCK: return 8; + case GalImageFormat.ASTC_12x10_UNORM_BLOCK: return 10; + case GalImageFormat.ASTC_8x5_UNORM_BLOCK: return 5; + case GalImageFormat.ASTC_10x5_UNORM_BLOCK: return 5; + case GalImageFormat.ASTC_10x6_UNORM_BLOCK: return 6; } throw new ArgumentException(nameof(Format)); } - public bool TryGetCachedTexture(long Key, long DataSize, out GalTexture Texture) + public bool TryGetCachedTexture(long Key, long DataSize, out GalImage Image) { if (TextureCache.TryGetSize(Key, out long Size) && Size == DataSize) { - if (TextureCache.TryGetValue(Key, out TCE CachedTexture)) + if (TextureCache.TryGetValue(Key, out ImageHandler CachedImage)) { - Texture = CachedTexture.Texture; + Image = CachedImage.Image; return true; } } - Texture = default(GalTexture); + Image = default(GalImage); return false; } public void Bind(long Key, int Index) { - if (TextureCache.TryGetValue(Key, out TCE CachedTexture)) + if (TextureCache.TryGetValue(Key, out ImageHandler CachedImage)) { GL.ActiveTexture(TextureUnit.Texture0 + Index); - GL.BindTexture(TextureTarget.Texture2D, CachedTexture.Handle); + GL.BindTexture(TextureTarget.Texture2D, CachedImage.Handle); } } @@ -208,18 +217,20 @@ namespace Ryujinx.Graphics.Gal.OpenGL GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureBorderColor, Color); } - private static bool IsCompressedTextureFormat(GalTextureFormat Format) + private static bool IsCompressedTextureFormat(GalImageFormat Format) { switch (Format) { - case GalTextureFormat.BC6H_UF16: - case GalTextureFormat.BC6H_SF16: - case GalTextureFormat.BC7U: - case GalTextureFormat.BC1: - case GalTextureFormat.BC2: - case GalTextureFormat.BC3: - case GalTextureFormat.BC4: - case GalTextureFormat.BC5: + case GalImageFormat.BC6H_UFLOAT_BLOCK: + case GalImageFormat.BC6H_SFLOAT_BLOCK: + case GalImageFormat.BC7_UNORM_BLOCK: + case GalImageFormat.BC1_RGBA_UNORM_BLOCK: + case GalImageFormat.BC2_UNORM_BLOCK: + case GalImageFormat.BC3_UNORM_BLOCK: + case GalImageFormat.BC4_SNORM_BLOCK: + case GalImageFormat.BC4_UNORM_BLOCK: + case GalImageFormat.BC5_SNORM_BLOCK: + case GalImageFormat.BC5_UNORM_BLOCK: return true; } diff --git a/Ryujinx.Graphics/Gal/Shader/GlslDecl.cs b/Ryujinx.Graphics/Gal/Shader/GlslDecl.cs index ccc59e048..56745bc15 100644 --- a/Ryujinx.Graphics/Gal/Shader/GlslDecl.cs +++ b/Ryujinx.Graphics/Gal/Shader/GlslDecl.cs @@ -16,6 +16,7 @@ namespace Ryujinx.Graphics.Gal.Shader public const int VertexIdAttr = 0x2fc; public const int FaceAttr = 0x3fc; + public const int MaxFrameBufferAttachments = 8; public const int MaxUboSize = 1024; public const int GlPositionVec4Index = 7; @@ -99,7 +100,11 @@ namespace Ryujinx.Graphics.Gal.Shader if (ShaderType == GalShaderType.Fragment) { - m_Gprs.Add(0, new ShaderDeclInfo(FragmentOutputName, 0, false, 0, 4)); + //Note: Replace 1 with MaxFrameBufferAttachments when attachments start to work + for (int Index = 0; Index < 1; Index++) + { + m_Gprs.Add(Index * 4, new ShaderDeclInfo(FragmentOutputName + Index, Index * 4, false, 0, 4)); + } } foreach (ShaderIrBlock Block in Blocks) diff --git a/Ryujinx.Graphics/Gal/Shader/GlslDecompiler.cs b/Ryujinx.Graphics/Gal/Shader/GlslDecompiler.cs index 7f1cfabc8..726379846 100644 --- a/Ryujinx.Graphics/Gal/Shader/GlslDecompiler.cs +++ b/Ryujinx.Graphics/Gal/Shader/GlslDecompiler.cs @@ -352,9 +352,9 @@ namespace Ryujinx.Graphics.Gal.Shader { Name = CustomType + " " + DeclInfo.Name + Suffix + ";"; } - else if (DeclInfo.Name == GlslDecl.FragmentOutputName) + else if (DeclInfo.Name.Contains(GlslDecl.FragmentOutputName)) { - Name = "layout (location = 0) out vec4 " + DeclInfo.Name + Suffix + ";" + Environment.NewLine; + Name = "layout (location = " + DeclInfo.Index / 4 + ") out vec4 " + DeclInfo.Name + Suffix + ";"; } else { @@ -829,8 +829,11 @@ namespace Ryujinx.Graphics.Gal.Shader { return "gl_PointSize"; } + } - throw new InvalidOperationException(); + if (DeclInfo.Index >= 16) + { + throw new InvalidOperationException($"Shader attribute offset {Abuf.Offs} is invalid."); } if (Decl.ShaderType == GalShaderType.Geometry) @@ -876,7 +879,7 @@ namespace Ryujinx.Graphics.Gal.Shader private string GetNameWithSwizzle(IReadOnlyDictionary Dict, int Index) { - int VecIndex = Index >> 2; + int VecIndex = Index & ~3; if (Dict.TryGetValue(VecIndex, out ShaderDeclInfo DeclInfo)) { diff --git a/Ryujinx.HLE/Gpu/Engines/NvGpuEngine2d.cs b/Ryujinx.HLE/Gpu/Engines/NvGpuEngine2d.cs index d2c5f1262..7fb5ea8af 100644 --- a/Ryujinx.HLE/Gpu/Engines/NvGpuEngine2d.cs +++ b/Ryujinx.HLE/Gpu/Engines/NvGpuEngine2d.cs @@ -154,16 +154,12 @@ namespace Ryujinx.HLE.Gpu.Engines } else if (IsDstFb) { - //Texture -> Frame Buffer copy. - const GalTextureFormat Format = GalTextureFormat.A8B8G8R8; - byte[] Buffer = TextureReader.Read(Vmm, SrcTexture()); Gpu.Renderer.FrameBuffer.SetBufferData( DstKey, DstWidth, DstHeight, - Format, Buffer); } else diff --git a/Ryujinx.HLE/Gpu/Engines/NvGpuEngine3d.cs b/Ryujinx.HLE/Gpu/Engines/NvGpuEngine3d.cs index 6f6012445..1d0834ddb 100644 --- a/Ryujinx.HLE/Gpu/Engines/NvGpuEngine3d.cs +++ b/Ryujinx.HLE/Gpu/Engines/NvGpuEngine3d.cs @@ -102,7 +102,9 @@ namespace Ryujinx.HLE.Gpu.Engines SetAlphaBlending(State); SetPrimitiveRestart(State); + //Enabling multiple framebuffer attachments cause graphics reggresions SetFrameBuffer(Vmm, 0); + SetZeta(Vmm); long[] Keys = UploadShaders(Vmm); @@ -149,9 +151,11 @@ namespace Ryujinx.HLE.Gpu.Engines int Stencil = ReadRegister(NvGpuEngine3dReg.ClearStencil); SetFrameBuffer(Vmm, FbIndex); + SetZeta(Vmm); Gpu.Renderer.Rasterizer.ClearBuffers( Flags, + FbIndex, Red, Green, Blue, Alpha, Depth, Stencil); @@ -161,6 +165,15 @@ namespace Ryujinx.HLE.Gpu.Engines { long VA = MakeInt64From2xInt32(NvGpuEngine3dReg.FrameBufferNAddress + FbIndex * 0x10); + int Format = ReadRegister(NvGpuEngine3dReg.FrameBufferNFormat + FbIndex * 0x10); + + if (VA == 0 || Format == 0) + { + Gpu.Renderer.FrameBuffer.UnbindColor(FbIndex); + + return; + } + long Key = Vmm.GetPhysicalAddress(VA); FrameBuffers.Add(Key); @@ -168,11 +181,11 @@ namespace Ryujinx.HLE.Gpu.Engines int Width = ReadRegister(NvGpuEngine3dReg.FrameBufferNWidth + FbIndex * 0x10); int Height = ReadRegister(NvGpuEngine3dReg.FrameBufferNHeight + FbIndex * 0x10); - float TX = ReadRegisterFloat(NvGpuEngine3dReg.ViewportNTranslateX + FbIndex * 4); - float TY = ReadRegisterFloat(NvGpuEngine3dReg.ViewportNTranslateY + FbIndex * 4); + float TX = ReadRegisterFloat(NvGpuEngine3dReg.ViewportNTranslateX + FbIndex * 8); + float TY = ReadRegisterFloat(NvGpuEngine3dReg.ViewportNTranslateY + FbIndex * 8); - float SX = ReadRegisterFloat(NvGpuEngine3dReg.ViewportNScaleX + FbIndex * 4); - float SY = ReadRegisterFloat(NvGpuEngine3dReg.ViewportNScaleY + FbIndex * 4); + float SX = ReadRegisterFloat(NvGpuEngine3dReg.ViewportNScaleX + FbIndex * 8); + float SY = ReadRegisterFloat(NvGpuEngine3dReg.ViewportNScaleY + FbIndex * 8); int VpX = (int)MathF.Max(0, TX - MathF.Abs(SX)); int VpY = (int)MathF.Max(0, TY - MathF.Abs(SY)); @@ -180,12 +193,48 @@ namespace Ryujinx.HLE.Gpu.Engines int VpW = (int)(TX + MathF.Abs(SX)) - VpX; int VpH = (int)(TY + MathF.Abs(SY)) - VpY; - Gpu.Renderer.FrameBuffer.Create(Key, Width, Height); - Gpu.Renderer.FrameBuffer.Bind(Key); + GalImageFormat ImageFormat = ImageFormatConverter.ConvertFrameBuffer((GalFrameBufferFormat)Format); + + GalImage Image = new GalImage(Width, Height, ImageFormat); + + long Size = TextureHelper.GetTextureSize(Image); + + Gpu.Renderer.Texture.CreateFb(Key, Size, Image); + Gpu.Renderer.FrameBuffer.BindColor(Key, FbIndex); Gpu.Renderer.FrameBuffer.SetViewport(VpX, VpY, VpW, VpH); } + private void SetZeta(NvGpuVmm Vmm) + { + long ZA = MakeInt64From2xInt32(NvGpuEngine3dReg.ZetaAddress); + + int Format = ReadRegister(NvGpuEngine3dReg.ZetaFormat); + + bool ZetaEnable = (ReadRegister(NvGpuEngine3dReg.ZetaEnable) & 1) != 0; + + if (ZA == 0 || Format == 0 || !ZetaEnable) + { + Gpu.Renderer.FrameBuffer.UnbindZeta(); + + return; + } + + long Key = Vmm.GetPhysicalAddress(ZA); + + int Width = ReadRegister(NvGpuEngine3dReg.ZetaHoriz); + int Height = ReadRegister(NvGpuEngine3dReg.ZetaVert); + + GalImageFormat ImageFormat = ImageFormatConverter.ConvertZeta((GalZetaFormat)Format); + + GalImage Image = new GalImage(Width, Height, ImageFormat); + + long Size = TextureHelper.GetTextureSize(Image); + + Gpu.Renderer.Texture.CreateFb(Key, Size, Image); + Gpu.Renderer.FrameBuffer.BindZeta(Key); + } + private long[] UploadShaders(NvGpuVmm Vmm) { long[] Keys = new long[5]; @@ -442,15 +491,15 @@ namespace Ryujinx.HLE.Gpu.Engines } else { - GalTexture NewTexture = TextureFactory.MakeTexture(Vmm, TicPosition); + GalImage NewImage = TextureFactory.MakeTexture(Vmm, TicPosition); - long Size = (uint)TextureHelper.GetTextureSize(NewTexture); + long Size = (uint)TextureHelper.GetTextureSize(NewImage); bool HasCachedTexture = false; - if (Gpu.Renderer.Texture.TryGetCachedTexture(Key, Size, out GalTexture Texture)) + if (Gpu.Renderer.Texture.TryGetCachedTexture(Key, Size, out GalImage Image)) { - if (NewTexture.Equals(Texture) && !QueryKeyUpload(Vmm, Key, Size, NvGpuBufferType.Texture)) + if (NewImage.Equals(Image) && !QueryKeyUpload(Vmm, Key, Size, NvGpuBufferType.Texture)) { Gpu.Renderer.Texture.Bind(Key, TexIndex); @@ -462,7 +511,7 @@ namespace Ryujinx.HLE.Gpu.Engines { byte[] Data = TextureFactory.GetTextureData(Vmm, TicPosition); - Gpu.Renderer.Texture.Create(Key, Data, NewTexture); + Gpu.Renderer.Texture.Create(Key, Data, NewImage); } Gpu.Renderer.Texture.Bind(Key, TexIndex); diff --git a/Ryujinx.HLE/Gpu/Engines/NvGpuEngine3dReg.cs b/Ryujinx.HLE/Gpu/Engines/NvGpuEngine3dReg.cs index 39a5ee8cf..b03aef024 100644 --- a/Ryujinx.HLE/Gpu/Engines/NvGpuEngine3dReg.cs +++ b/Ryujinx.HLE/Gpu/Engines/NvGpuEngine3dReg.cs @@ -22,7 +22,14 @@ namespace Ryujinx.HLE.Gpu.Engines StencilBackFuncRef = 0x3d5, StencilBackMask = 0x3d6, StencilBackFuncMask = 0x3d7, + ZetaAddress = 0x3f8, + ZetaFormat = 0x3fa, + ZetaBlockDimensions = 0x3fb, + ZetaLayerStride = 0x3fc, VertexAttribNFormat = 0x458, + ZetaHoriz = 0x48a, + ZetaVert = 0x48b, + ZetaArrayMode = 0x48c, DepthTestEnable = 0x4b3, IBlendEnable = 0x4b9, DepthTestFunction = 0x4c3, @@ -44,6 +51,7 @@ namespace Ryujinx.HLE.Gpu.Engines StencilFrontFuncMask = 0x4e6, StencilFrontMask = 0x4e7, VertexArrayElemBase = 0x50d, + ZetaEnable = 0x54e, TexHeaderPoolOffset = 0x55d, TexSamplerPoolOffset = 0x557, StencilTwoSideEnable = 0x565, diff --git a/Ryujinx.HLE/Gpu/Texture/TextureFactory.cs b/Ryujinx.HLE/Gpu/Texture/TextureFactory.cs index 4db0b6f10..0ef33d3b7 100644 --- a/Ryujinx.HLE/Gpu/Texture/TextureFactory.cs +++ b/Ryujinx.HLE/Gpu/Texture/TextureFactory.cs @@ -6,11 +6,16 @@ namespace Ryujinx.HLE.Gpu.Texture { static class TextureFactory { - public static GalTexture MakeTexture(NvGpuVmm Vmm, long TicPosition) + public static GalImage MakeTexture(NvGpuVmm Vmm, long TicPosition) { int[] Tic = ReadWords(Vmm, TicPosition, 8); - GalTextureFormat Format = (GalTextureFormat)(Tic[0] & 0x7f); + GalTextureType RType = (GalTextureType)((Tic[0] >> 7) & 7); + GalTextureType GType = (GalTextureType)((Tic[0] >> 10) & 7); + GalTextureType BType = (GalTextureType)((Tic[0] >> 13) & 7); + GalTextureType AType = (GalTextureType)((Tic[0] >> 16) & 7); + + GalImageFormat Format = ImageFormatConverter.ConvertTexture((GalTextureFormat)(Tic[0] & 0x7f), RType, GType, BType, AType); GalTextureSource XSource = (GalTextureSource)((Tic[0] >> 19) & 7); GalTextureSource YSource = (GalTextureSource)((Tic[0] >> 22) & 7); @@ -20,7 +25,7 @@ namespace Ryujinx.HLE.Gpu.Texture int Width = (Tic[4] & 0xffff) + 1; int Height = (Tic[5] & 0xffff) + 1; - return new GalTexture( + return new GalImage( Width, Height, Format, diff --git a/Ryujinx.HLE/Gpu/Texture/TextureHelper.cs b/Ryujinx.HLE/Gpu/Texture/TextureHelper.cs index 10a64f364..92b608a95 100644 --- a/Ryujinx.HLE/Gpu/Texture/TextureHelper.cs +++ b/Ryujinx.HLE/Gpu/Texture/TextureHelper.cs @@ -30,117 +30,151 @@ namespace Ryujinx.HLE.Gpu.Texture throw new NotImplementedException(Texture.Swizzle.ToString()); } - public static int GetTextureSize(GalTexture Texture) + public static int GetTextureSize(GalImage Image) { - switch (Texture.Format) + switch (Image.Format) { - case GalTextureFormat.R32G32B32A32: - return Texture.Width * Texture.Height * 16; + case GalImageFormat.R32G32B32A32_SFLOAT: + case GalImageFormat.R32G32B32A32_SINT: + case GalImageFormat.R32G32B32A32_UINT: + return Image.Width * Image.Height * 16; - case GalTextureFormat.R16G16B16A16: - return Texture.Width * Texture.Height * 8; + case GalImageFormat.R16G16B16A16_SFLOAT: + case GalImageFormat.R16G16B16A16_SINT: + case GalImageFormat.R16G16B16A16_SNORM: + case GalImageFormat.R16G16B16A16_UINT: + case GalImageFormat.R16G16B16A16_UNORM: + return Image.Width * Image.Height * 8; - case GalTextureFormat.A8B8G8R8: - case GalTextureFormat.A2B10G10R10: - case GalTextureFormat.R32: - case GalTextureFormat.ZF32: - case GalTextureFormat.BF10GF11RF11: - case GalTextureFormat.Z24S8: - return Texture.Width * Texture.Height * 4; + case GalImageFormat.A8B8G8R8_SINT_PACK32: + case GalImageFormat.A8B8G8R8_SNORM_PACK32: + case GalImageFormat.A8B8G8R8_UINT_PACK32: + case GalImageFormat.A8B8G8R8_UNORM_PACK32: + case GalImageFormat.A8B8G8R8_SRGB_PACK32: + case GalImageFormat.A2B10G10R10_SINT_PACK32: + case GalImageFormat.A2B10G10R10_SNORM_PACK32: + case GalImageFormat.A2B10G10R10_UINT_PACK32: + case GalImageFormat.A2B10G10R10_UNORM_PACK32: + case GalImageFormat.R16G16_SFLOAT: + case GalImageFormat.R16G16_SINT: + case GalImageFormat.R16G16_SNORM: + case GalImageFormat.R16G16_UINT: + case GalImageFormat.R16G16_UNORM: + case GalImageFormat.R32_SFLOAT: + case GalImageFormat.R32_SINT: + case GalImageFormat.R32_UINT: + case GalImageFormat.D32_SFLOAT: + case GalImageFormat.B10G11R11_UFLOAT_PACK32: + case GalImageFormat.D24_UNORM_S8_UINT: + return Image.Width * Image.Height * 4; - case GalTextureFormat.A1B5G5R5: - case GalTextureFormat.B5G6R5: - case GalTextureFormat.G8R8: - case GalTextureFormat.R16: - return Texture.Width * Texture.Height * 2; + case GalImageFormat.B4G4R4A4_UNORM_PACK16: + case GalImageFormat.A1R5G5B5_UNORM_PACK16: + case GalImageFormat.B5G6R5_UNORM_PACK16: + case GalImageFormat.R8G8_SINT: + case GalImageFormat.R8G8_SNORM: + case GalImageFormat.R8G8_UINT: + case GalImageFormat.R8G8_UNORM: + case GalImageFormat.R16_SFLOAT: + case GalImageFormat.R16_SINT: + case GalImageFormat.R16_SNORM: + case GalImageFormat.R16_UINT: + case GalImageFormat.R16_UNORM: + case GalImageFormat.D16_UNORM: + return Image.Width * Image.Height * 2; - case GalTextureFormat.R8: - return Texture.Width * Texture.Height; + case GalImageFormat.R8_SINT: + case GalImageFormat.R8_SNORM: + case GalImageFormat.R8_UINT: + case GalImageFormat.R8_UNORM: + return Image.Width * Image.Height; - case GalTextureFormat.BC1: - case GalTextureFormat.BC4: + case GalImageFormat.BC1_RGBA_UNORM_BLOCK: + case GalImageFormat.BC4_SNORM_BLOCK: + case GalImageFormat.BC4_UNORM_BLOCK: { - return CompressedTextureSize(Texture.Width, Texture.Height, 4, 4, 8); + return CompressedTextureSize(Image.Width, Image.Height, 4, 4, 8); } - case GalTextureFormat.BC6H_SF16: - case GalTextureFormat.BC6H_UF16: - case GalTextureFormat.BC7U: - case GalTextureFormat.BC2: - case GalTextureFormat.BC3: - case GalTextureFormat.BC5: - case GalTextureFormat.Astc2D4x4: + case GalImageFormat.BC6H_SFLOAT_BLOCK: + case GalImageFormat.BC6H_UFLOAT_BLOCK: + case GalImageFormat.BC7_UNORM_BLOCK: + case GalImageFormat.BC2_UNORM_BLOCK: + case GalImageFormat.BC3_UNORM_BLOCK: + case GalImageFormat.BC5_SNORM_BLOCK: + case GalImageFormat.BC5_UNORM_BLOCK: + case GalImageFormat.ASTC_4x4_UNORM_BLOCK: { - return CompressedTextureSize(Texture.Width, Texture.Height, 4, 4, 16); + return CompressedTextureSize(Image.Width, Image.Height, 4, 4, 16); } - case GalTextureFormat.Astc2D5x5: + case GalImageFormat.ASTC_5x5_UNORM_BLOCK: { - return CompressedTextureSize(Texture.Width, Texture.Height, 5, 5, 16); + return CompressedTextureSize(Image.Width, Image.Height, 5, 5, 16); } - case GalTextureFormat.Astc2D6x6: + case GalImageFormat.ASTC_6x6_UNORM_BLOCK: { - return CompressedTextureSize(Texture.Width, Texture.Height, 6, 6, 16); + return CompressedTextureSize(Image.Width, Image.Height, 6, 6, 16); } - case GalTextureFormat.Astc2D8x8: + case GalImageFormat.ASTC_8x8_UNORM_BLOCK: { - return CompressedTextureSize(Texture.Width, Texture.Height, 8, 8, 16); + return CompressedTextureSize(Image.Width, Image.Height, 8, 8, 16); } - case GalTextureFormat.Astc2D10x10: + case GalImageFormat.ASTC_10x10_UNORM_BLOCK: { - return CompressedTextureSize(Texture.Width, Texture.Height, 10, 10, 16); + return CompressedTextureSize(Image.Width, Image.Height, 10, 10, 16); } - case GalTextureFormat.Astc2D12x12: + case GalImageFormat.ASTC_12x12_UNORM_BLOCK: { - return CompressedTextureSize(Texture.Width, Texture.Height, 12, 12, 16); + return CompressedTextureSize(Image.Width, Image.Height, 12, 12, 16); } - case GalTextureFormat.Astc2D5x4: + case GalImageFormat.ASTC_5x4_UNORM_BLOCK: { - return CompressedTextureSize(Texture.Width, Texture.Height, 5, 4, 16); + return CompressedTextureSize(Image.Width, Image.Height, 5, 4, 16); } - case GalTextureFormat.Astc2D6x5: + case GalImageFormat.ASTC_6x5_UNORM_BLOCK: { - return CompressedTextureSize(Texture.Width, Texture.Height, 6, 5, 16); + return CompressedTextureSize(Image.Width, Image.Height, 6, 5, 16); } - case GalTextureFormat.Astc2D8x6: + case GalImageFormat.ASTC_8x6_UNORM_BLOCK: { - return CompressedTextureSize(Texture.Width, Texture.Height, 8, 6, 16); + return CompressedTextureSize(Image.Width, Image.Height, 8, 6, 16); } - case GalTextureFormat.Astc2D10x8: + case GalImageFormat.ASTC_10x8_UNORM_BLOCK: { - return CompressedTextureSize(Texture.Width, Texture.Height, 10, 8, 16); + return CompressedTextureSize(Image.Width, Image.Height, 10, 8, 16); } - case GalTextureFormat.Astc2D12x10: + case GalImageFormat.ASTC_12x10_UNORM_BLOCK: { - return CompressedTextureSize(Texture.Width, Texture.Height, 12, 10, 16); + return CompressedTextureSize(Image.Width, Image.Height, 12, 10, 16); } - case GalTextureFormat.Astc2D8x5: + case GalImageFormat.ASTC_8x5_UNORM_BLOCK: { - return CompressedTextureSize(Texture.Width, Texture.Height, 8, 5, 16); + return CompressedTextureSize(Image.Width, Image.Height, 8, 5, 16); } - case GalTextureFormat.Astc2D10x5: + case GalImageFormat.ASTC_10x5_UNORM_BLOCK: { - return CompressedTextureSize(Texture.Width, Texture.Height, 10, 5, 16); + return CompressedTextureSize(Image.Width, Image.Height, 10, 5, 16); } - case GalTextureFormat.Astc2D10x6: + case GalImageFormat.ASTC_10x6_UNORM_BLOCK: { - return CompressedTextureSize(Texture.Width, Texture.Height, 10, 6, 16); + return CompressedTextureSize(Image.Width, Image.Height, 10, 6, 16); } } - throw new NotImplementedException("0x" + Texture.Format.ToString("x2")); + throw new NotImplementedException("0x" + Image.Format.ToString("x2")); } public static int CompressedTextureSize(int TextureWidth, int TextureHeight, int BlockWidth, int BlockHeight, int Bpb) diff --git a/Ryujinx.HLE/Gpu/Texture/TextureReader.cs b/Ryujinx.HLE/Gpu/Texture/TextureReader.cs index 0cf055db8..19aa25d74 100644 --- a/Ryujinx.HLE/Gpu/Texture/TextureReader.cs +++ b/Ryujinx.HLE/Gpu/Texture/TextureReader.cs @@ -19,6 +19,7 @@ namespace Ryujinx.HLE.Gpu.Texture case GalTextureFormat.Z24S8: return Read4Bpp (Memory, Texture); case GalTextureFormat.A1B5G5R5: return Read5551 (Memory, Texture); case GalTextureFormat.B5G6R5: return Read565 (Memory, Texture); + case GalTextureFormat.A4B4G4R4: return Read2Bpp (Memory, Texture); case GalTextureFormat.G8R8: return Read2Bpp (Memory, Texture); case GalTextureFormat.R16: return Read2Bpp (Memory, Texture); case GalTextureFormat.R8: return Read1Bpp (Memory, Texture); From d021d5dfa9d884160625c273c7f54ffbbeb08802 Mon Sep 17 00:00:00 2001 From: LDj3SNuD <35856442+LDj3SNuD@users.noreply.github.com> Date: Mon, 20 Aug 2018 06:20:26 +0200 Subject: [PATCH 02/24] Add AESD, AESE, AESIMC, AESMC instructions; add 4 simple Tests (closed box). (#365) * Create CpuTestSimdCrypto.cs * Update AOpCodeTable.cs * Create AInstEmitSimdCrypto.cs * Update ASoftFallback.cs * Create ACryptoHelper.cs --- ChocolArm64/AOpCodeTable.cs | 4 + ChocolArm64/Instruction/ACryptoHelper.cs | 328 ++++++++++++++++++ .../Instruction/AInstEmitSimdCrypto.cs | 54 +++ ChocolArm64/Instruction/ASoftFallback.cs | 36 ++ Ryujinx.Tests/Cpu/CpuTestSimdCrypto.cs | 135 +++++++ 5 files changed, 557 insertions(+) create mode 100644 ChocolArm64/Instruction/ACryptoHelper.cs create mode 100644 ChocolArm64/Instruction/AInstEmitSimdCrypto.cs create mode 100644 Ryujinx.Tests/Cpu/CpuTestSimdCrypto.cs diff --git a/ChocolArm64/AOpCodeTable.cs b/ChocolArm64/AOpCodeTable.cs index 97404bbcc..dc8cfc087 100644 --- a/ChocolArm64/AOpCodeTable.cs +++ b/ChocolArm64/AOpCodeTable.cs @@ -180,6 +180,10 @@ namespace ChocolArm64 SetA64("0>001110<<1xxxxx101111xxxxxxxxxx", AInstEmit.Addp_V, typeof(AOpCodeSimdReg)); SetA64("000011100x110001101110xxxxxxxxxx", AInstEmit.Addv_V, typeof(AOpCodeSimd)); SetA64("01001110<<110001101110xxxxxxxxxx", AInstEmit.Addv_V, typeof(AOpCodeSimd)); + SetA64("0100111000101000010110xxxxxxxxxx", AInstEmit.Aesd_V, typeof(AOpCodeSimd)); + SetA64("0100111000101000010010xxxxxxxxxx", AInstEmit.Aese_V, typeof(AOpCodeSimd)); + SetA64("0100111000101000011110xxxxxxxxxx", AInstEmit.Aesimc_V, typeof(AOpCodeSimd)); + SetA64("0100111000101000011010xxxxxxxxxx", AInstEmit.Aesmc_V, typeof(AOpCodeSimd)); SetA64("0x001110001xxxxx000111xxxxxxxxxx", AInstEmit.And_V, typeof(AOpCodeSimdReg)); SetA64("0x001110011xxxxx000111xxxxxxxxxx", AInstEmit.Bic_V, typeof(AOpCodeSimdReg)); SetA64("0x10111100000xxx< AESInvMixColumns(Vector128 op) + { + byte[] InState = new byte[16]; + byte[] OutState = new byte[16]; + + FromVectorToByteArray(InState, ref op); + + for (int Columns = 0; Columns <= 3; Columns++) + { + int Idx = Columns << 2; + + byte Row0 = InState[Idx + 0]; // A, E, I, M: [Row0, Col0-Col3] + byte Row1 = InState[Idx + 1]; // B, F, J, N: [Row1, Col0-Col3] + byte Row2 = InState[Idx + 2]; // C, G, K, O: [Row2, Col0-Col3] + byte Row3 = InState[Idx + 3]; // D, H, L, P: [Row3, Col0-Col3] + + OutState[Idx + 0] = (byte)((uint)GFMul_0E[Row0] ^ GFMul_0B[Row1] ^ GFMul_0D[Row2] ^ GFMul_09[Row3]); + OutState[Idx + 1] = (byte)((uint)GFMul_09[Row0] ^ GFMul_0E[Row1] ^ GFMul_0B[Row2] ^ GFMul_0D[Row3]); + OutState[Idx + 2] = (byte)((uint)GFMul_0D[Row0] ^ GFMul_09[Row1] ^ GFMul_0E[Row2] ^ GFMul_0B[Row3]); + OutState[Idx + 3] = (byte)((uint)GFMul_0B[Row0] ^ GFMul_0D[Row1] ^ GFMul_09[Row2] ^ GFMul_0E[Row3]); + } + + FromByteArrayToVector(OutState, ref op); + + return op; + } + + public static Vector128 AESInvShiftRows(Vector128 op) + { + byte[] InState = new byte[16]; + byte[] OutState = new byte[16]; + + FromVectorToByteArray(InState, ref op); + + for (int Idx = 0; Idx <= 15; Idx++) + { + OutState[ISRPerm[Idx]] = InState[Idx]; + } + + FromByteArrayToVector(OutState, ref op); + + return op; + } + + public static Vector128 AESInvSubBytes(Vector128 op) + { + byte[] InState = new byte[16]; + byte[] OutState = new byte[16]; + + FromVectorToByteArray(InState, ref op); + + for (int Idx = 0; Idx <= 15; Idx++) + { + OutState[Idx] = InvSBox[InState[Idx]]; + } + + FromByteArrayToVector(OutState, ref op); + + return op; + } + + public static Vector128 AESMixColumns(Vector128 op) + { + byte[] InState = new byte[16]; + byte[] OutState = new byte[16]; + + FromVectorToByteArray(InState, ref op); + + for (int Columns = 0; Columns <= 3; Columns++) + { + int Idx = Columns << 2; + + byte Row0 = InState[Idx + 0]; // A, E, I, M: [Row0, Col0-Col3] + byte Row1 = InState[Idx + 1]; // B, F, J, N: [Row1, Col0-Col3] + byte Row2 = InState[Idx + 2]; // C, G, K, O: [Row2, Col0-Col3] + byte Row3 = InState[Idx + 3]; // D, H, L, P: [Row3, Col0-Col3] + + OutState[Idx + 0] = (byte)((uint)GFMul_02[Row0] ^ GFMul_03[Row1] ^ Row2 ^ Row3); + OutState[Idx + 1] = (byte)((uint)Row0 ^ GFMul_02[Row1] ^ GFMul_03[Row2] ^ Row3); + OutState[Idx + 2] = (byte)((uint)Row0 ^ Row1 ^ GFMul_02[Row2] ^ GFMul_03[Row3]); + OutState[Idx + 3] = (byte)((uint)GFMul_03[Row0] ^ Row1 ^ Row2 ^ GFMul_02[Row3]); + } + + FromByteArrayToVector(OutState, ref op); + + return op; + } + + public static Vector128 AESShiftRows(Vector128 op) + { + byte[] InState = new byte[16]; + byte[] OutState = new byte[16]; + + FromVectorToByteArray(InState, ref op); + + for (int Idx = 0; Idx <= 15; Idx++) + { + OutState[SRPerm[Idx]] = InState[Idx]; + } + + FromByteArrayToVector(OutState, ref op); + + return op; + } + + public static Vector128 AESSubBytes(Vector128 op) + { + byte[] InState = new byte[16]; + byte[] OutState = new byte[16]; + + FromVectorToByteArray(InState, ref op); + + for (int Idx = 0; Idx <= 15; Idx++) + { + OutState[Idx] = SBox[InState[Idx]]; + } + + FromByteArrayToVector(OutState, ref op); + + return op; + } + + private static void FromVectorToByteArray(byte[] State, ref Vector128 op) + { + ulong ULongLow = AVectorHelper.VectorExtractIntZx((op), (byte)0, 3); + ulong ULongHigh = AVectorHelper.VectorExtractIntZx((op), (byte)1, 3); + + for (int Idx = 0; Idx <= 7; Idx++) + { + State[Idx + 0] = (byte)(ULongLow & 0xFFUL); + State[Idx + 8] = (byte)(ULongHigh & 0xFFUL); + + ULongLow >>= 8; + ULongHigh >>= 8; + } + } + + private static void FromByteArrayToVector(byte[] State, ref Vector128 op) + { + if (!Sse2.IsSupported) + { + throw new PlatformNotSupportedException(); + } + + op = Sse.StaticCast(Sse2.SetVector128( + State[15], State[14], State[13], State[12], + State[11], State[10], State[9], State[8], + State[7], State[6], State[5], State[4], + State[3], State[2], State[1], State[0])); + } + } +} diff --git a/ChocolArm64/Instruction/AInstEmitSimdCrypto.cs b/ChocolArm64/Instruction/AInstEmitSimdCrypto.cs new file mode 100644 index 000000000..b2680a588 --- /dev/null +++ b/ChocolArm64/Instruction/AInstEmitSimdCrypto.cs @@ -0,0 +1,54 @@ +using ChocolArm64.Decoder; +using ChocolArm64.Translation; + +namespace ChocolArm64.Instruction +{ + static partial class AInstEmit + { + public static void Aesd_V(AILEmitterCtx Context) + { + AOpCodeSimd Op = (AOpCodeSimd)Context.CurrOp; + + Context.EmitLdvec(Op.Rd); + Context.EmitLdvec(Op.Rn); + + ASoftFallback.EmitCall(Context, nameof(ASoftFallback.Decrypt)); + + Context.EmitStvec(Op.Rd); + } + + public static void Aese_V(AILEmitterCtx Context) + { + AOpCodeSimd Op = (AOpCodeSimd)Context.CurrOp; + + Context.EmitLdvec(Op.Rd); + Context.EmitLdvec(Op.Rn); + + ASoftFallback.EmitCall(Context, nameof(ASoftFallback.Encrypt)); + + Context.EmitStvec(Op.Rd); + } + + public static void Aesimc_V(AILEmitterCtx Context) + { + AOpCodeSimd Op = (AOpCodeSimd)Context.CurrOp; + + Context.EmitLdvec(Op.Rn); + + ASoftFallback.EmitCall(Context, nameof(ASoftFallback.InverseMixColumns)); + + Context.EmitStvec(Op.Rd); + } + + public static void Aesmc_V(AILEmitterCtx Context) + { + AOpCodeSimd Op = (AOpCodeSimd)Context.CurrOp; + + Context.EmitLdvec(Op.Rn); + + ASoftFallback.EmitCall(Context, nameof(ASoftFallback.MixColumns)); + + Context.EmitStvec(Op.Rd); + } + } +} diff --git a/ChocolArm64/Instruction/ASoftFallback.cs b/ChocolArm64/Instruction/ASoftFallback.cs index 0c8a39a4a..0ae84ab2d 100644 --- a/ChocolArm64/Instruction/ASoftFallback.cs +++ b/ChocolArm64/Instruction/ASoftFallback.cs @@ -410,6 +410,42 @@ namespace ChocolArm64.Instruction } #endregion +#region "Aes" + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static Vector128 Decrypt(Vector128 value, Vector128 roundKey) + { + if (!Sse.IsSupported) + { + throw new PlatformNotSupportedException(); + } + + return ACryptoHelper.AESInvSubBytes(ACryptoHelper.AESInvShiftRows(Sse.Xor(value, roundKey))); + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static Vector128 Encrypt(Vector128 value, Vector128 roundKey) + { + if (!Sse.IsSupported) + { + throw new PlatformNotSupportedException(); + } + + return ACryptoHelper.AESSubBytes(ACryptoHelper.AESShiftRows(Sse.Xor(value, roundKey))); + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static Vector128 InverseMixColumns(Vector128 value) + { + return ACryptoHelper.AESInvMixColumns(value); + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static Vector128 MixColumns(Vector128 value) + { + return ACryptoHelper.AESMixColumns(value); + } +#endregion + #region "Sha256" [MethodImpl(MethodImplOptions.AggressiveInlining)] public static Vector128 HashLower(Vector128 hash_abcd, Vector128 hash_efgh, Vector128 wk) diff --git a/Ryujinx.Tests/Cpu/CpuTestSimdCrypto.cs b/Ryujinx.Tests/Cpu/CpuTestSimdCrypto.cs new file mode 100644 index 000000000..e46937339 --- /dev/null +++ b/Ryujinx.Tests/Cpu/CpuTestSimdCrypto.cs @@ -0,0 +1,135 @@ +// https://www.intel.com/content/dam/doc/white-paper/advanced-encryption-standard-new-instructions-set-paper.pdf + +using ChocolArm64.State; + +using NUnit.Framework; + +using System.Runtime.Intrinsics; + +namespace Ryujinx.Tests.Cpu +{ + public class CpuTestSimdCrypto : CpuTest + { + [Test, Explicit, Description("AESD .16B, .16B")] + public void Aesd_V([Values(0u)] uint Rd, + [Values(1u)] uint Rn, + [Values(0x7B5B546573745665ul)] ulong ValueH, + [Values(0x63746F725D53475Dul)] ulong ValueL, + [Random(2)] ulong RoundKeyH, + [Random(2)] ulong RoundKeyL, + [Values(0x8DCAB9BC035006BCul)] ulong ResultH, + [Values(0x8F57161E00CAFD8Dul)] ulong ResultL) + { + uint Opcode = 0x4E285800; // AESD V0.16B, V0.16B + Opcode |= ((Rn & 31) << 5) | ((Rd & 31) << 0); + Vector128 V0 = MakeVectorE0E1(RoundKeyL ^ ValueL, RoundKeyH ^ ValueH); + Vector128 V1 = MakeVectorE0E1(RoundKeyL, RoundKeyH); + + AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1); + + Assert.Multiple(() => + { + Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(ResultL)); + Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(ResultH)); + }); + Assert.Multiple(() => + { + Assert.That(GetVectorE0(ThreadState.V1), Is.EqualTo(RoundKeyL)); + Assert.That(GetVectorE1(ThreadState.V1), Is.EqualTo(RoundKeyH)); + }); + } + + [Test, Explicit, Description("AESE .16B, .16B")] + public void Aese_V([Values(0u)] uint Rd, + [Values(1u)] uint Rn, + [Values(0x7B5B546573745665ul)] ulong ValueH, + [Values(0x63746F725D53475Dul)] ulong ValueL, + [Random(2)] ulong RoundKeyH, + [Random(2)] ulong RoundKeyL, + [Values(0x8F92A04DFBED204Dul)] ulong ResultH, + [Values(0x4C39B1402192A84Cul)] ulong ResultL) + { + uint Opcode = 0x4E284800; // AESE V0.16B, V0.16B + Opcode |= ((Rn & 31) << 5) | ((Rd & 31) << 0); + Vector128 V0 = MakeVectorE0E1(RoundKeyL ^ ValueL, RoundKeyH ^ ValueH); + Vector128 V1 = MakeVectorE0E1(RoundKeyL, RoundKeyH); + + AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1); + + Assert.Multiple(() => + { + Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(ResultL)); + Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(ResultH)); + }); + Assert.Multiple(() => + { + Assert.That(GetVectorE0(ThreadState.V1), Is.EqualTo(RoundKeyL)); + Assert.That(GetVectorE1(ThreadState.V1), Is.EqualTo(RoundKeyH)); + }); + } + + [Test, Explicit, Description("AESIMC .16B, .16B")] + public void Aesimc_V([Values(0u)] uint Rd, + [Values(1u, 0u)] uint Rn, + [Values(0x8DCAB9DC035006BCul)] ulong ValueH, + [Values(0x8F57161E00CAFD8Dul)] ulong ValueL, + [Values(0xD635A667928B5EAEul)] ulong ResultH, + [Values(0xEEC9CC3BC55F5777ul)] ulong ResultL) + { + uint Opcode = 0x4E287800; // AESIMC V0.16B, V0.16B + Opcode |= ((Rn & 31) << 5) | ((Rd & 31) << 0); + Vector128 V = MakeVectorE0E1(ValueL, ValueH); + + AThreadState ThreadState = SingleOpcode( + Opcode, + V0: Rn == 0u ? V : default(Vector128), + V1: Rn == 1u ? V : default(Vector128)); + + Assert.Multiple(() => + { + Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(ResultL)); + Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(ResultH)); + }); + if (Rn == 1u) + { + Assert.Multiple(() => + { + Assert.That(GetVectorE0(ThreadState.V1), Is.EqualTo(ValueL)); + Assert.That(GetVectorE1(ThreadState.V1), Is.EqualTo(ValueH)); + }); + } + } + + [Test, Explicit, Description("AESMC .16B, .16B")] + public void Aesmc_V([Values(0u)] uint Rd, + [Values(1u, 0u)] uint Rn, + [Values(0x627A6F6644B109C8ul)] ulong ValueH, + [Values(0x2B18330A81C3B3E5ul)] ulong ValueL, + [Values(0x7B5B546573745665ul)] ulong ResultH, + [Values(0x63746F725D53475Dul)] ulong ResultL) + { + uint Opcode = 0x4E286800; // AESMC V0.16B, V0.16B + Opcode |= ((Rn & 31) << 5) | ((Rd & 31) << 0); + Vector128 V = MakeVectorE0E1(ValueL, ValueH); + + AThreadState ThreadState = SingleOpcode( + Opcode, + V0: Rn == 0u ? V : default(Vector128), + V1: Rn == 1u ? V : default(Vector128)); + + Assert.Multiple(() => + { + Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(ResultL)); + Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(ResultH)); + }); + if (Rn == 1u) + { + Assert.Multiple(() => + { + Assert.That(GetVectorE0(ThreadState.V1), Is.EqualTo(ValueL)); + Assert.That(GetVectorE1(ThreadState.V1), Is.EqualTo(ValueH)); + }); + } + } + } +} From afdeee2b866bd5e41dd629553939d9b5d8bc1d50 Mon Sep 17 00:00:00 2001 From: ReinUsesLisp Date: Mon, 20 Aug 2018 16:02:38 -0300 Subject: [PATCH 03/24] Use signed and unsigned vertex types (#370) --- Ryujinx.Graphics/Gal/OpenGL/OGLPipeline.cs | 59 +++++++++++++++------- 1 file changed, 42 insertions(+), 17 deletions(-) diff --git a/Ryujinx.Graphics/Gal/OpenGL/OGLPipeline.cs b/Ryujinx.Graphics/Gal/OpenGL/OGLPipeline.cs index c9e7f6c3a..5828921d4 100644 --- a/Ryujinx.Graphics/Gal/OpenGL/OGLPipeline.cs +++ b/Ryujinx.Graphics/Gal/OpenGL/OGLPipeline.cs @@ -25,23 +25,41 @@ namespace Ryujinx.Graphics.Gal.OpenGL { GalVertexAttribSize._11_11_10, 3 } }; - private static Dictionary AttribTypes = + private static Dictionary SignedAttribTypes = new Dictionary() { - { GalVertexAttribSize._32_32_32_32, VertexAttribPointerType.Int }, - { GalVertexAttribSize._32_32_32, VertexAttribPointerType.Int }, - { GalVertexAttribSize._16_16_16_16, VertexAttribPointerType.Short }, - { GalVertexAttribSize._32_32, VertexAttribPointerType.Int }, - { GalVertexAttribSize._16_16_16, VertexAttribPointerType.Short }, - { GalVertexAttribSize._8_8_8_8, VertexAttribPointerType.Byte }, - { GalVertexAttribSize._16_16, VertexAttribPointerType.Short }, - { GalVertexAttribSize._32, VertexAttribPointerType.Int }, - { GalVertexAttribSize._8_8_8, VertexAttribPointerType.Byte }, - { GalVertexAttribSize._8_8, VertexAttribPointerType.Byte }, - { GalVertexAttribSize._16, VertexAttribPointerType.Short }, - { GalVertexAttribSize._8, VertexAttribPointerType.Byte }, - { GalVertexAttribSize._10_10_10_2, VertexAttribPointerType.Int }, //? - { GalVertexAttribSize._11_11_10, VertexAttribPointerType.Int } //? + { GalVertexAttribSize._32_32_32_32, VertexAttribPointerType.Int }, + { GalVertexAttribSize._32_32_32, VertexAttribPointerType.Int }, + { GalVertexAttribSize._16_16_16_16, VertexAttribPointerType.Short }, + { GalVertexAttribSize._32_32, VertexAttribPointerType.Int }, + { GalVertexAttribSize._16_16_16, VertexAttribPointerType.Short }, + { GalVertexAttribSize._8_8_8_8, VertexAttribPointerType.Byte }, + { GalVertexAttribSize._16_16, VertexAttribPointerType.Short }, + { GalVertexAttribSize._32, VertexAttribPointerType.Int }, + { GalVertexAttribSize._8_8_8, VertexAttribPointerType.Byte }, + { GalVertexAttribSize._8_8, VertexAttribPointerType.Byte }, + { GalVertexAttribSize._16, VertexAttribPointerType.Short }, + { GalVertexAttribSize._8, VertexAttribPointerType.Byte }, + { GalVertexAttribSize._10_10_10_2, VertexAttribPointerType.Int2101010Rev } + }; + + private static Dictionary UnsignedAttribTypes = + new Dictionary() + { + { GalVertexAttribSize._32_32_32_32, VertexAttribPointerType.UnsignedInt }, + { GalVertexAttribSize._32_32_32, VertexAttribPointerType.UnsignedInt }, + { GalVertexAttribSize._16_16_16_16, VertexAttribPointerType.UnsignedShort }, + { GalVertexAttribSize._32_32, VertexAttribPointerType.UnsignedInt }, + { GalVertexAttribSize._16_16_16, VertexAttribPointerType.UnsignedShort }, + { GalVertexAttribSize._8_8_8_8, VertexAttribPointerType.UnsignedByte }, + { GalVertexAttribSize._16_16, VertexAttribPointerType.UnsignedShort }, + { GalVertexAttribSize._32, VertexAttribPointerType.UnsignedInt }, + { GalVertexAttribSize._8_8_8, VertexAttribPointerType.UnsignedByte }, + { GalVertexAttribSize._8_8, VertexAttribPointerType.UnsignedByte }, + { GalVertexAttribSize._16, VertexAttribPointerType.UnsignedShort }, + { GalVertexAttribSize._8, VertexAttribPointerType.UnsignedByte }, + { GalVertexAttribSize._10_10_10_2, VertexAttribPointerType.UnsignedInt2101010Rev }, + { GalVertexAttribSize._11_11_10, VertexAttribPointerType.UnsignedInt10F11F11FRev } }; private GalPipelineState Old; @@ -326,7 +344,7 @@ namespace Ryujinx.Graphics.Gal.OpenGL bool Unsigned = Attrib.Type == GalVertexAttribType.Unorm || - Attrib.Type == GalVertexAttribType.Uint || + Attrib.Type == GalVertexAttribType.Uint || Attrib.Type == GalVertexAttribType.Uscaled; bool Normalize = @@ -341,7 +359,14 @@ namespace Ryujinx.Graphics.Gal.OpenGL } else { - Type = AttribTypes[Attrib.Size] + (Unsigned ? 1 : 0); + if (Unsigned) + { + Type = UnsignedAttribTypes[Attrib.Size]; + } + else + { + Type = SignedAttribTypes[Attrib.Size]; + } } int Size = AttribElements[Attrib.Size]; From afc44850be37f57d96e981925229964771a3e9e0 Mon Sep 17 00:00:00 2001 From: ReinUsesLisp Date: Mon, 20 Aug 2018 23:31:10 -0300 Subject: [PATCH 04/24] Avoid gpr overwritting on Ld_C instruction (#371) * Avoid gpr overwritting on LD_C instruction * Address feedback * Ignore invalid registers --- .../Gal/Shader/ShaderDecodeHelper.cs | 7 ------- Ryujinx.Graphics/Gal/Shader/ShaderDecodeMem.cs | 18 +++++++++++++++--- Ryujinx.Graphics/Gal/Shader/ShaderIrOperGpr.cs | 7 +++++++ 3 files changed, 22 insertions(+), 10 deletions(-) diff --git a/Ryujinx.Graphics/Gal/Shader/ShaderDecodeHelper.cs b/Ryujinx.Graphics/Gal/Shader/ShaderDecodeHelper.cs index 7d7b2f6c6..2093f0706 100644 --- a/Ryujinx.Graphics/Gal/Shader/ShaderDecodeHelper.cs +++ b/Ryujinx.Graphics/Gal/Shader/ShaderDecodeHelper.cs @@ -35,13 +35,6 @@ namespace Ryujinx.Graphics.Gal.Shader (int)(OpCode >> 20) & 0x3fff); } - public static ShaderIrOperCbuf GetOperCbuf36(long OpCode) - { - return new ShaderIrOperCbuf( - (int)(OpCode >> 36) & 0x1f, - (int)(OpCode >> 22) & 0x3fff, GetOperGpr8(OpCode)); - } - public static ShaderIrOperGpr GetOperGpr8(long OpCode) { return new ShaderIrOperGpr((int)(OpCode >> 8) & 0xff); diff --git a/Ryujinx.Graphics/Gal/Shader/ShaderDecodeMem.cs b/Ryujinx.Graphics/Gal/Shader/ShaderDecodeMem.cs index e794e1f87..a183b0c69 100644 --- a/Ryujinx.Graphics/Gal/Shader/ShaderDecodeMem.cs +++ b/Ryujinx.Graphics/Gal/Shader/ShaderDecodeMem.cs @@ -52,23 +52,35 @@ namespace Ryujinx.Graphics.Gal.Shader public static void Ld_C(ShaderIrBlock Block, long OpCode) { - int Type = (int)(OpCode >> 48) & 7; + int CbufPos = (int)(OpCode >> 22) & 0x3fff; + int CbufIndex = (int)(OpCode >> 36) & 0x1f; + int Type = (int)(OpCode >> 48) & 7; if (Type > 5) { throw new InvalidOperationException(); } + ShaderIrOperGpr Temp = ShaderIrOperGpr.MakeTemporary(); + + Block.AddNode(new ShaderIrAsg(Temp, GetOperGpr8(OpCode))); + int Count = Type == 5 ? 2 : 1; for (int Index = 0; Index < Count; Index++) { - ShaderIrOperCbuf OperA = GetOperCbuf36(OpCode); - ShaderIrOperGpr OperD = GetOperGpr0 (OpCode); + ShaderIrOperCbuf OperA = new ShaderIrOperCbuf(CbufIndex, CbufPos, Temp); + + ShaderIrOperGpr OperD = GetOperGpr0(OpCode); OperA.Pos += Index; OperD.Index += Index; + if (!OperD.IsValidRegister) + { + break; + } + ShaderIrNode Node = OperA; if (Type < 4) diff --git a/Ryujinx.Graphics/Gal/Shader/ShaderIrOperGpr.cs b/Ryujinx.Graphics/Gal/Shader/ShaderIrOperGpr.cs index 5c69d6a67..9dd196e69 100644 --- a/Ryujinx.Graphics/Gal/Shader/ShaderIrOperGpr.cs +++ b/Ryujinx.Graphics/Gal/Shader/ShaderIrOperGpr.cs @@ -6,11 +6,18 @@ namespace Ryujinx.Graphics.Gal.Shader public bool IsConst => Index == ZRIndex; + public bool IsValidRegister => (Index <= ZRIndex); + public int Index { get; set; } public ShaderIrOperGpr(int Index) { this.Index = Index; } + + public static ShaderIrOperGpr MakeTemporary(int Index = 0) + { + return new ShaderIrOperGpr(0x100 + Index); + } } } \ No newline at end of file From b08d889f952b76145e38427f13736824cd8b6f06 Mon Sep 17 00:00:00 2001 From: Thomas Guillemard Date: Tue, 21 Aug 2018 18:05:12 +0200 Subject: [PATCH 05/24] SvcSetHeapSize: match kernel check for invalid size (#374) This fix games like DK Country --- Ryujinx.HLE/HOS/Kernel/SvcMemory.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Ryujinx.HLE/HOS/Kernel/SvcMemory.cs b/Ryujinx.HLE/HOS/Kernel/SvcMemory.cs index b9bca74ad..b9e71b183 100644 --- a/Ryujinx.HLE/HOS/Kernel/SvcMemory.cs +++ b/Ryujinx.HLE/HOS/Kernel/SvcMemory.cs @@ -9,9 +9,9 @@ namespace Ryujinx.HLE.HOS.Kernel { private void SvcSetHeapSize(AThreadState ThreadState) { - long Size = (long)ThreadState.X1; + ulong Size = ThreadState.X1; - if ((Size & 0x1fffff) != 0 || Size != (uint)Size) + if ((Size & 0xFFFFFFFE001FFFFF) != 0) { Device.Log.PrintWarning(LogClass.KernelSvc, $"Heap size 0x{Size:x16} is not aligned!"); @@ -20,7 +20,7 @@ namespace Ryujinx.HLE.HOS.Kernel return; } - long Result = Process.MemoryManager.TrySetHeapSize(Size, out long Position); + long Result = Process.MemoryManager.TrySetHeapSize((long)Size, out long Position); ThreadState.X0 = (ulong)Result; From 57dfa09e3aa47ef7407d9952519311e6ee67dc90 Mon Sep 17 00:00:00 2001 From: Thomas Guillemard Date: Wed, 22 Aug 2018 23:06:29 +0200 Subject: [PATCH 06/24] Improve LM implementation (#373) - Manage end of the log packet correctly. - Add drop count, time, and program name parsing. - Use the correct buffer type. (0x21 not 0x9) - Prefix unknown fields with "Field" --- Ryujinx.HLE/HOS/Services/Lm/ILogger.cs | 28 ++++++++++++++++++----- Ryujinx.HLE/HOS/Services/Lm/LmLogField.cs | 19 +++++++++------ 2 files changed, 34 insertions(+), 13 deletions(-) diff --git a/Ryujinx.HLE/HOS/Services/Lm/ILogger.cs b/Ryujinx.HLE/HOS/Services/Lm/ILogger.cs index 42d57c6fc..5d9997099 100644 --- a/Ryujinx.HLE/HOS/Services/Lm/ILogger.cs +++ b/Ryujinx.HLE/HOS/Services/Lm/ILogger.cs @@ -22,9 +22,9 @@ namespace Ryujinx.HLE.HOS.Services.Lm public long Log(ServiceCtx Context) { - byte[] LogBuffer = Context.Memory.ReadBytes( - Context.Request.PtrBuff[0].Position, - Context.Request.PtrBuff[0].Size); + + (long BufPos, long BufSize) = Context.Request.GetBufferType0x21(); + byte[] LogBuffer = Context.Memory.ReadBytes(BufPos, BufSize); using (MemoryStream MS = new MemoryStream(LogBuffer)) { @@ -50,20 +50,36 @@ namespace Ryujinx.HLE.HOS.Services.Lm string FieldStr = string.Empty; - if (Field == LmLogField.Skip) + if (Field == LmLogField.Start) { - Reader.ReadByte(); + Reader.ReadBytes(Size); continue; } + else if (Field == LmLogField.Stop) + { + break; + } else if (Field == LmLogField.Line) { FieldStr = Field + ": " + Reader.ReadInt32(); } - else + else if (Field == LmLogField.DropCount) + { + FieldStr = Field + ": " + Reader.ReadInt64(); + } + else if (Field == LmLogField.Time) + { + FieldStr = Field + ": " + Reader.ReadInt64() + "s"; + } + else if (Field < LmLogField.Count) { FieldStr = Field + ": \"" + Encoding.UTF8.GetString(Reader.ReadBytes(Size)) + "\""; } + else + { + FieldStr = "Field" + Field + ": \"" + Encoding.UTF8.GetString(Reader.ReadBytes(Size)) + "\""; + } SB.AppendLine(" " + FieldStr); } diff --git a/Ryujinx.HLE/HOS/Services/Lm/LmLogField.cs b/Ryujinx.HLE/HOS/Services/Lm/LmLogField.cs index bd8c8e886..954746346 100644 --- a/Ryujinx.HLE/HOS/Services/Lm/LmLogField.cs +++ b/Ryujinx.HLE/HOS/Services/Lm/LmLogField.cs @@ -2,12 +2,17 @@ namespace Ryujinx.HLE.HOS.Services.Lm { enum LmLogField { - Skip = 1, - Message = 2, - Line = 3, - Filename = 4, - Function = 5, - Module = 6, - Thread = 7 + Start = 0, + Stop = 1, + Message = 2, + Line = 3, + Filename = 4, + Function = 5, + Module = 6, + Thread = 7, + DropCount = 8, + Time = 9, + ProgramName = 10, + Count } } \ No newline at end of file From 1cd7aaf5044c87cba6c59d71bdf2694e626d1545 Mon Sep 17 00:00:00 2001 From: ReinUsesLisp Date: Thu, 23 Aug 2018 01:54:32 -0300 Subject: [PATCH 07/24] Avoid querying and setting texture bindings in hot code (#376) --- Ryujinx.Graphics/Gal/IGalShader.cs | 2 -- Ryujinx.Graphics/Gal/OpenGL/OGLShader.cs | 38 ++++++++++++++++++------ Ryujinx.HLE/Gpu/Engines/NvGpuEngine3d.cs | 2 -- 3 files changed, 29 insertions(+), 13 deletions(-) diff --git a/Ryujinx.Graphics/Gal/IGalShader.cs b/Ryujinx.Graphics/Gal/IGalShader.cs index e906e6cdc..4b951fa61 100644 --- a/Ryujinx.Graphics/Gal/IGalShader.cs +++ b/Ryujinx.Graphics/Gal/IGalShader.cs @@ -11,8 +11,6 @@ namespace Ryujinx.Graphics.Gal IEnumerable GetConstBufferUsage(long Key); IEnumerable GetTextureUsage(long Key); - void EnsureTextureBinding(string UniformName, int Value); - void Bind(long Key); void Unbind(GalShaderType Type); diff --git a/Ryujinx.Graphics/Gal/OpenGL/OGLShader.cs b/Ryujinx.Graphics/Gal/OpenGL/OGLShader.cs index 9c7b8668f..0108a0da2 100644 --- a/Ryujinx.Graphics/Gal/OpenGL/OGLShader.cs +++ b/Ryujinx.Graphics/Gal/OpenGL/OGLShader.cs @@ -96,15 +96,6 @@ namespace Ryujinx.Graphics.Gal.OpenGL return Enumerable.Empty(); } - public void EnsureTextureBinding(string UniformName, int Value) - { - BindProgram(); - - int Location = GL.GetUniformLocation(CurrentProgramHandle, UniformName); - - GL.Uniform1(Location, Value); - } - public unsafe void SetFlip(float X, float Y) { BindProgram(); @@ -188,6 +179,7 @@ namespace Ryujinx.Graphics.Gal.OpenGL CheckProgramLink(Handle); BindUniformBlocks(Handle); + BindTextureLocations(Handle); Programs.Add(Current, Handle); } @@ -258,6 +250,34 @@ namespace Ryujinx.Graphics.Gal.OpenGL BindUniformBlocksIfNotNull(Current.Fragment); } + private void BindTextureLocations(int ProgramHandle) + { + int Index = 0; + + void BindTexturesIfNotNull(OGLShaderStage Stage) + { + if (Stage != null) + { + foreach (ShaderDeclInfo Decl in Stage.TextureUsage) + { + int Location = GL.GetUniformLocation(ProgramHandle, Decl.Name); + + GL.Uniform1(Location, Index); + + Index++; + } + } + } + + GL.UseProgram(ProgramHandle); + + BindTexturesIfNotNull(Current.Vertex); + BindTexturesIfNotNull(Current.TessControl); + BindTexturesIfNotNull(Current.TessEvaluation); + BindTexturesIfNotNull(Current.Geometry); + BindTexturesIfNotNull(Current.Fragment); + } + private static void CheckProgramLink(int Handle) { int Status = 0; diff --git a/Ryujinx.HLE/Gpu/Engines/NvGpuEngine3d.cs b/Ryujinx.HLE/Gpu/Engines/NvGpuEngine3d.cs index 1d0834ddb..419f6901e 100644 --- a/Ryujinx.HLE/Gpu/Engines/NvGpuEngine3d.cs +++ b/Ryujinx.HLE/Gpu/Engines/NvGpuEngine3d.cs @@ -442,8 +442,6 @@ namespace Ryujinx.HLE.Gpu.Engines UploadTexture(Vmm, TexIndex, TextureHandle); - Gpu.Renderer.Shader.EnsureTextureBinding(DeclInfo.Name, TexIndex); - TexIndex++; } } From 9977acad0fe08ee98a8174ce1c5609be22ba67ee Mon Sep 17 00:00:00 2001 From: gdkchan Date: Thu, 23 Aug 2018 01:54:59 -0300 Subject: [PATCH 08/24] Fix BinarySearchLt to return less than rather than less than or equal value (#372) --- Ryujinx.HLE/HOS/Services/Nv/NvGpuAS/NvGpuASCtx.cs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Ryujinx.HLE/HOS/Services/Nv/NvGpuAS/NvGpuASCtx.cs b/Ryujinx.HLE/HOS/Services/Nv/NvGpuAS/NvGpuASCtx.cs index d69ec719c..7b6a8676b 100644 --- a/Ryujinx.HLE/HOS/Services/Nv/NvGpuAS/NvGpuASCtx.cs +++ b/Ryujinx.HLE/HOS/Services/Nv/NvGpuAS/NvGpuASCtx.cs @@ -187,7 +187,10 @@ namespace Ryujinx.HLE.HOS.Services.Nv.NvGpuAS { Left = Middle + 1; - LtRg = Rg; + if ((ulong)Position > Rg.Start) + { + LtRg = Rg; + } } } From 624e813cd3e5d782847c577c2da0cfb8a121fd18 Mon Sep 17 00:00:00 2001 From: ReinUsesLisp Date: Thu, 23 Aug 2018 02:07:23 -0300 Subject: [PATCH 09/24] Implement multiple rendertarget attachments and depth writting (#375) * Add depth writting * Implement multiple attachments * Address feedback --- Ryujinx.Graphics/Gal/IGalFrameBuffer.cs | 2 + Ryujinx.Graphics/Gal/OpenGL/OGLFrameBuffer.cs | 33 ++++---- Ryujinx.Graphics/Gal/Shader/GlslDecl.cs | 35 +++++++-- Ryujinx.Graphics/Gal/Shader/GlslDecompiler.cs | 45 ++++++++++- Ryujinx.Graphics/Gal/Shader/ShaderHeader.cs | 75 ++++++++++++++++++- Ryujinx.HLE/Gpu/Engines/NvGpuEngine3d.cs | 38 +++++++++- Ryujinx.HLE/Gpu/Engines/NvGpuEngine3dReg.cs | 2 + 7 files changed, 201 insertions(+), 29 deletions(-) diff --git a/Ryujinx.Graphics/Gal/IGalFrameBuffer.cs b/Ryujinx.Graphics/Gal/IGalFrameBuffer.cs index bce1981a4..108d3d9b1 100644 --- a/Ryujinx.Graphics/Gal/IGalFrameBuffer.cs +++ b/Ryujinx.Graphics/Gal/IGalFrameBuffer.cs @@ -18,6 +18,8 @@ namespace Ryujinx.Graphics.Gal void Set(byte[] Data, int Width, int Height); + void SetMap(int[] Map); + void SetTransform(bool FlipX, bool FlipY, int Top, int Left, int Right, int Bottom); void SetWindowSize(int Width, int Height); diff --git a/Ryujinx.Graphics/Gal/OpenGL/OGLFrameBuffer.cs b/Ryujinx.Graphics/Gal/OpenGL/OGLFrameBuffer.cs index e0f12e4ec..12239c4f0 100644 --- a/Ryujinx.Graphics/Gal/OpenGL/OGLFrameBuffer.cs +++ b/Ryujinx.Graphics/Gal/OpenGL/OGLFrameBuffer.cs @@ -21,18 +21,6 @@ namespace Ryujinx.Graphics.Gal.OpenGL } } - private static readonly DrawBuffersEnum[] DrawBuffers = new DrawBuffersEnum[] - { - DrawBuffersEnum.ColorAttachment0, - DrawBuffersEnum.ColorAttachment1, - DrawBuffersEnum.ColorAttachment2, - DrawBuffersEnum.ColorAttachment3, - DrawBuffersEnum.ColorAttachment4, - DrawBuffersEnum.ColorAttachment5, - DrawBuffersEnum.ColorAttachment6, - DrawBuffersEnum.ColorAttachment7, - }; - private const int NativeWidth = 1280; private const int NativeHeight = 720; @@ -194,6 +182,25 @@ namespace Ryujinx.Graphics.Gal.OpenGL ReadTex = RawTex; } + public void SetMap(int[] Map) + { + if (Map != null && Map.Length > 0) + { + DrawBuffersEnum[] Mode = new DrawBuffersEnum[Map.Length]; + + for (int i = 0; i < Map.Length; i++) + { + Mode[i] = DrawBuffersEnum.ColorAttachment0 + Map[i]; + } + + GL.DrawBuffers(Mode.Length, Mode); + } + else + { + GL.DrawBuffer(DrawBufferMode.ColorAttachment0); + } + } + public void SetTransform(bool FlipX, bool FlipY, int Top, int Left, int Right, int Bottom) { this.FlipX = FlipX; @@ -421,8 +428,6 @@ namespace Ryujinx.Graphics.Gal.OpenGL } GL.BindFramebuffer(FramebufferTarget.DrawFramebuffer, DummyFrameBuffer); - - GL.DrawBuffers(8, DrawBuffers); } private void Attach(ref int OldHandle, int NewHandle, FramebufferAttachment FbAttachment) diff --git a/Ryujinx.Graphics/Gal/Shader/GlslDecl.cs b/Ryujinx.Graphics/Gal/Shader/GlslDecl.cs index 56745bc15..25f64db83 100644 --- a/Ryujinx.Graphics/Gal/Shader/GlslDecl.cs +++ b/Ryujinx.Graphics/Gal/Shader/GlslDecl.cs @@ -16,7 +16,6 @@ namespace Ryujinx.Graphics.Gal.Shader public const int VertexIdAttr = 0x2fc; public const int FaceAttr = 0x3fc; - public const int MaxFrameBufferAttachments = 8; public const int MaxUboSize = 1024; public const int GlPositionVec4Index = 7; @@ -94,16 +93,33 @@ namespace Ryujinx.Graphics.Gal.Shader m_Preds = new Dictionary(); } - public GlslDecl(ShaderIrBlock[] Blocks, GalShaderType ShaderType) : this(ShaderType) + public GlslDecl(ShaderIrBlock[] Blocks, GalShaderType ShaderType, ShaderHeader Header) + : this(ShaderType) { StagePrefix = StagePrefixes[(int)ShaderType] + "_"; if (ShaderType == GalShaderType.Fragment) { - //Note: Replace 1 with MaxFrameBufferAttachments when attachments start to work - for (int Index = 0; Index < 1; Index++) + int Index = 0; + + for (int Attachment = 0; Attachment < 8; Attachment++) { - m_Gprs.Add(Index * 4, new ShaderDeclInfo(FragmentOutputName + Index, Index * 4, false, 0, 4)); + for (int Component = 0; Component < 4; Component++) + { + if (Header.OmapTargets[Attachment].ComponentEnabled(Component)) + { + m_Gprs.TryAdd(Index, new ShaderDeclInfo(GetGprName(Index), Index)); + + Index++; + } + } + } + + if (Header.OmapDepth) + { + Index = Header.DepthRegister; + + m_Gprs.TryAdd(Index, new ShaderDeclInfo(GetGprName(Index), Index)); } } @@ -153,6 +169,11 @@ namespace Ryujinx.Graphics.Gal.Shader return Combined; } + public static string GetGprName(int Index) + { + return GprName + Index; + } + private static void Merge( Dictionary C, Dictionary A, @@ -316,9 +337,9 @@ namespace Ryujinx.Graphics.Gal.Shader case ShaderIrOperGpr Gpr: { - if (!Gpr.IsConst && !HasName(m_Gprs, Gpr.Index)) + if (!Gpr.IsConst) { - string Name = GprName + Gpr.Index; + string Name = GetGprName(Gpr.Index); m_Gprs.TryAdd(Gpr.Index, new ShaderDeclInfo(Name, Gpr.Index)); } diff --git a/Ryujinx.Graphics/Gal/Shader/GlslDecompiler.cs b/Ryujinx.Graphics/Gal/Shader/GlslDecompiler.cs index 726379846..8baf30e03 100644 --- a/Ryujinx.Graphics/Gal/Shader/GlslDecompiler.cs +++ b/Ryujinx.Graphics/Gal/Shader/GlslDecompiler.cs @@ -120,8 +120,8 @@ namespace Ryujinx.Graphics.Gal.Shader Blocks = ShaderDecoder.Decode(Memory, VpAPosition); BlocksB = ShaderDecoder.Decode(Memory, VpBPosition); - GlslDecl DeclVpA = new GlslDecl(Blocks, ShaderType); - GlslDecl DeclVpB = new GlslDecl(BlocksB, ShaderType); + GlslDecl DeclVpA = new GlslDecl(Blocks, ShaderType, Header); + GlslDecl DeclVpB = new GlslDecl(BlocksB, ShaderType, HeaderB); Decl = GlslDecl.Merge(DeclVpA, DeclVpB); @@ -136,7 +136,7 @@ namespace Ryujinx.Graphics.Gal.Shader Blocks = ShaderDecoder.Decode(Memory, Position); BlocksB = null; - Decl = new GlslDecl(Blocks, ShaderType); + Decl = new GlslDecl(Blocks, ShaderType, Header); return Decompile(); } @@ -304,7 +304,17 @@ namespace Ryujinx.Graphics.Gal.Shader private void PrintDeclOutAttributes() { - if (Decl.ShaderType != GalShaderType.Fragment) + if (Decl.ShaderType == GalShaderType.Fragment) + { + for (int Attachment = 0; Attachment < 8; Attachment++) + { + if (Header.OmapTargets[Attachment].Enabled) + { + SB.AppendLine("layout (location = " + Attachment + ") out vec4 " + GlslDecl.FragmentOutputName + Attachment + ";"); + } + } + } + else { SB.AppendLine("layout (location = " + GlslDecl.PositionOutAttrLocation + ") out vec4 " + GlslDecl.PositionOutAttrName + ";"); } @@ -432,6 +442,33 @@ namespace Ryujinx.Graphics.Gal.Shader PrintAttrToOutput(); } + if (Decl.ShaderType == GalShaderType.Fragment) + { + if (Header.OmapDepth) + { + SB.AppendLine(IdentationStr + "gl_FragDepth = " + GlslDecl.GetGprName(Header.DepthRegister) + ";"); + } + + int GprIndex = 0; + + for (int Attachment = 0; Attachment < 8; Attachment++) + { + string Output = GlslDecl.FragmentOutputName + Attachment; + + OmapTarget Target = Header.OmapTargets[Attachment]; + + for (int Component = 0; Component < 4; Component++) + { + if (Target.ComponentEnabled(Component)) + { + SB.AppendLine(IdentationStr + Output + "[" + Component + "] = " + GlslDecl.GetGprName(GprIndex) + ";"); + + GprIndex++; + } + } + } + } + SB.AppendLine("}"); } diff --git a/Ryujinx.Graphics/Gal/Shader/ShaderHeader.cs b/Ryujinx.Graphics/Gal/Shader/ShaderHeader.cs index 8e5057ed9..eca90fc3a 100644 --- a/Ryujinx.Graphics/Gal/Shader/ShaderHeader.cs +++ b/Ryujinx.Graphics/Gal/Shader/ShaderHeader.cs @@ -1,5 +1,30 @@ -namespace Ryujinx.Graphics.Gal.Shader +using System; + +namespace Ryujinx.Graphics.Gal.Shader { + struct OmapTarget + { + public bool Red; + public bool Green; + public bool Blue; + public bool Alpha; + + public bool Enabled => Red || Green || Blue || Alpha; + + public bool ComponentEnabled(int Component) + { + switch (Component) + { + case 0: return Red; + case 1: return Green; + case 2: return Blue; + case 3: return Alpha; + } + + throw new ArgumentException(nameof(Component)); + } + } + class ShaderHeader { public const int PointList = 1; @@ -30,6 +55,10 @@ public int StoreReqStart { get; private set; } public int StoreReqEnd { get; private set; } + public OmapTarget[] OmapTargets { get; private set; } + public bool OmapSampleMask { get; private set; } + public bool OmapDepth { get; private set; } + public ShaderHeader(IGalMemory Memory, long Position) { uint CommonWord0 = (uint)Memory.ReadInt32(Position + 0); @@ -61,6 +90,50 @@ MaxOutputVertexCount = ReadBits(CommonWord4, 0, 12); StoreReqStart = ReadBits(CommonWord4, 12, 8); StoreReqEnd = ReadBits(CommonWord4, 24, 8); + + //Type 2 (fragment?) reading + uint Type2OmapTarget = (uint)Memory.ReadInt32(Position + 72); + uint Type2Omap = (uint)Memory.ReadInt32(Position + 76); + + OmapTargets = new OmapTarget[8]; + + for (int i = 0; i < OmapTargets.Length; i++) + { + int Offset = i * 4; + + OmapTargets[i] = new OmapTarget + { + Red = ReadBits(Type2OmapTarget, Offset + 0, 1) != 0, + Green = ReadBits(Type2OmapTarget, Offset + 1, 1) != 0, + Blue = ReadBits(Type2OmapTarget, Offset + 2, 1) != 0, + Alpha = ReadBits(Type2OmapTarget, Offset + 3, 1) != 0 + }; + } + + OmapSampleMask = ReadBits(Type2Omap, 0, 1) != 0; + OmapDepth = ReadBits(Type2Omap, 1, 1) != 0; + } + + public int DepthRegister + { + get + { + int Count = 0; + + for (int Index = 0; Index < OmapTargets.Length; Index++) + { + for (int Component = 0; Component < 4; Component++) + { + if (OmapTargets[Index].ComponentEnabled(Component)) + { + Count++; + } + } + } + + // Depth register is always two registers after the last color output + return Count + 1; + } } private static int ReadBits(uint Word, int Offset, int BitWidth) diff --git a/Ryujinx.HLE/Gpu/Engines/NvGpuEngine3d.cs b/Ryujinx.HLE/Gpu/Engines/NvGpuEngine3d.cs index 419f6901e..be47b66ca 100644 --- a/Ryujinx.HLE/Gpu/Engines/NvGpuEngine3d.cs +++ b/Ryujinx.HLE/Gpu/Engines/NvGpuEngine3d.cs @@ -102,10 +102,15 @@ namespace Ryujinx.HLE.Gpu.Engines SetAlphaBlending(State); SetPrimitiveRestart(State); - //Enabling multiple framebuffer attachments cause graphics reggresions - SetFrameBuffer(Vmm, 0); + for (int FbIndex = 0; FbIndex < 8; FbIndex++) + { + SetFrameBuffer(Vmm, 0); + } + SetZeta(Vmm); + SetRenderTargets(); + long[] Keys = UploadShaders(Vmm); Gpu.Renderer.Shader.BindProgram(); @@ -415,6 +420,33 @@ namespace Ryujinx.HLE.Gpu.Engines } } + private void SetRenderTargets() + { + bool SeparateFragData = (ReadRegister(NvGpuEngine3dReg.RTSeparateFragData) & 1) != 0; + + if (SeparateFragData) + { + uint Control = (uint)(ReadRegister(NvGpuEngine3dReg.RTControl)); + + uint Count = Control & 0xf; + + int[] Map = new int[Count]; + + for (int i = 0; i < Count; i++) + { + int Shift = 4 + i * 3; + + Map[i] = (int)((Control >> Shift) & 7); + } + + Gpu.Renderer.FrameBuffer.SetMap(Map); + } + else + { + Gpu.Renderer.FrameBuffer.SetMap(null); + } + } + private void UploadTextures(NvGpuVmm Vmm, GalPipelineState State, long[] Keys) { long BaseShPosition = MakeInt64From2xInt32(NvGpuEngine3dReg.ShaderAddress); @@ -801,4 +833,4 @@ namespace Ryujinx.HLE.Gpu.Engines return Vmm.IsRegionModified(Key, Size, Type); } } -} \ No newline at end of file +} diff --git a/Ryujinx.HLE/Gpu/Engines/NvGpuEngine3dReg.cs b/Ryujinx.HLE/Gpu/Engines/NvGpuEngine3dReg.cs index b03aef024..7eff13b58 100644 --- a/Ryujinx.HLE/Gpu/Engines/NvGpuEngine3dReg.cs +++ b/Ryujinx.HLE/Gpu/Engines/NvGpuEngine3dReg.cs @@ -22,11 +22,13 @@ namespace Ryujinx.HLE.Gpu.Engines StencilBackFuncRef = 0x3d5, StencilBackMask = 0x3d6, StencilBackFuncMask = 0x3d7, + RTSeparateFragData = 0x3eb, ZetaAddress = 0x3f8, ZetaFormat = 0x3fa, ZetaBlockDimensions = 0x3fb, ZetaLayerStride = 0x3fc, VertexAttribNFormat = 0x458, + RTControl = 0x487, ZetaHoriz = 0x48a, ZetaVert = 0x48b, ZetaArrayMode = 0x48c, From da7e7027518c40702536d4c51905ae7cb496cdb5 Mon Sep 17 00:00:00 2001 From: emmauss Date: Fri, 24 Aug 2018 20:20:42 +0300 Subject: [PATCH 10/24] Update BSD service implementation (#363) * Update BSD service to handle libnx's 'smart IPC buffers' for address info * Use existing "GetBufferType0x21" for certain BSD socket methods * Parse address port as unsigned short * Fix bounds check on reading the IPC buffer * Implement Read, Write methods * rebased and cleaned * addressed nits * remove unused swap method * fixed alignments --- Ryujinx.HLE/HOS/Ipc/IpcMessage.cs | 36 ++++----- Ryujinx.HLE/HOS/Services/Bsd/IClient.cs | 103 ++++++++++++++++++------ Ryujinx.HLE/Utilities/EndianSwap.cs | 2 +- 3 files changed, 98 insertions(+), 43 deletions(-) diff --git a/Ryujinx.HLE/HOS/Ipc/IpcMessage.cs b/Ryujinx.HLE/HOS/Ipc/IpcMessage.cs index c8153fdb4..02900444a 100644 --- a/Ryujinx.HLE/HOS/Ipc/IpcMessage.cs +++ b/Ryujinx.HLE/HOS/Ipc/IpcMessage.cs @@ -174,39 +174,39 @@ namespace Ryujinx.HLE.HOS.Ipc return 0; } - public (long Position, long Size) GetBufferType0x21() + public (long Position, long Size) GetBufferType0x21(int Index = 0) { - if (PtrBuff.Count != 0 && - PtrBuff[0].Position != 0 && - PtrBuff[0].Size != 0) + if (PtrBuff.Count > Index && + PtrBuff[Index].Position != 0 && + PtrBuff[Index].Size != 0) { - return (PtrBuff[0].Position, PtrBuff[0].Size); + return (PtrBuff[Index].Position, PtrBuff[Index].Size); } - if (SendBuff.Count != 0 && - SendBuff[0].Position != 0 && - SendBuff[0].Size != 0) + if (SendBuff.Count > Index && + SendBuff[Index].Position != 0 && + SendBuff[Index].Size != 0) { - return (SendBuff[0].Position, SendBuff[0].Size); + return (SendBuff[Index].Position, SendBuff[Index].Size); } return (0, 0); } - public (long Position, long Size) GetBufferType0x22() + public (long Position, long Size) GetBufferType0x22(int Index = 0) { - if (RecvListBuff.Count != 0 && - RecvListBuff[0].Position != 0 && - RecvListBuff[0].Size != 0) + if (RecvListBuff.Count > Index && + RecvListBuff[Index].Position != 0 && + RecvListBuff[Index].Size != 0) { - return (RecvListBuff[0].Position, RecvListBuff[0].Size); + return (RecvListBuff[Index].Position, RecvListBuff[Index].Size); } - if (ReceiveBuff.Count != 0 && - ReceiveBuff[0].Position != 0 && - ReceiveBuff[0].Size != 0) + if (ReceiveBuff.Count > Index && + ReceiveBuff[Index].Position != 0 && + ReceiveBuff[Index].Size != 0) { - return (ReceiveBuff[0].Position, ReceiveBuff[0].Size); + return (ReceiveBuff[Index].Position, ReceiveBuff[Index].Size); } return (0, 0); diff --git a/Ryujinx.HLE/HOS/Services/Bsd/IClient.cs b/Ryujinx.HLE/HOS/Services/Bsd/IClient.cs index b5a457db5..e2cd0dcdb 100644 --- a/Ryujinx.HLE/HOS/Services/Bsd/IClient.cs +++ b/Ryujinx.HLE/HOS/Services/Bsd/IClient.cs @@ -32,6 +32,8 @@ namespace Ryujinx.HLE.HOS.Services.Bsd { 14, Connect }, { 18, Listen }, { 21, SetSockOpt }, + { 24, Write }, + { 25, Read }, { 26, Close } }; } @@ -122,15 +124,15 @@ namespace Ryujinx.HLE.HOS.Services.Bsd int SocketId = Context.RequestData.ReadInt32(); int SocketFlags = Context.RequestData.ReadInt32(); - byte[] ReceivedBuffer = new byte[Context.Request.ReceiveBuff[0].Size]; + (long ReceivePosition, long ReceiveLength) = Context.Request.GetBufferType0x22(); + + byte[] ReceivedBuffer = new byte[ReceiveLength]; try { int BytesRead = Sockets[SocketId].Handle.Receive(ReceivedBuffer); - //Logging.Debug("Received Buffer:" + Environment.NewLine + Logging.HexDump(ReceivedBuffer)); - - Context.Memory.WriteBytes(Context.Request.ReceiveBuff[0].Position, ReceivedBuffer); + Context.Memory.WriteBytes(ReceivePosition, ReceivedBuffer); Context.ResponseData.Write(BytesRead); Context.ResponseData.Write(0); @@ -150,13 +152,12 @@ namespace Ryujinx.HLE.HOS.Services.Bsd int SocketId = Context.RequestData.ReadInt32(); int SocketFlags = Context.RequestData.ReadInt32(); - byte[] SentBuffer = Context.Memory.ReadBytes(Context.Request.SendBuff[0].Position, - Context.Request.SendBuff[0].Size); + (long SentPosition, long SentSize) = Context.Request.GetBufferType0x21(); + + byte[] SentBuffer = Context.Memory.ReadBytes(SentPosition, SentSize); try { - //Logging.Debug("Sent Buffer:" + Environment.NewLine + Logging.HexDump(SentBuffer)); - int BytesSent = Sockets[SocketId].Handle.Send(SentBuffer); Context.ResponseData.Write(BytesSent); @@ -180,8 +181,9 @@ namespace Ryujinx.HLE.HOS.Services.Bsd byte[] SentBuffer = Context.Memory.ReadBytes(Context.Request.SendBuff[0].Position, Context.Request.SendBuff[0].Size); - byte[] AddressBuffer = Context.Memory.ReadBytes(Context.Request.SendBuff[1].Position, - Context.Request.SendBuff[1].Size); + (long AddressPosition, long AddressSize) = Context.Request.GetBufferType0x21(Index: 1); + + byte[] AddressBuffer = Context.Memory.ReadBytes(AddressPosition, AddressSize); if (!Sockets[SocketId].Handle.Connected) { @@ -200,8 +202,6 @@ namespace Ryujinx.HLE.HOS.Services.Bsd try { - //Logging.Debug("Sent Buffer:" + Environment.NewLine + Logging.HexDump(SentBuffer)); - int BytesSent = Sockets[SocketId].Handle.Send(SentBuffer); Context.ResponseData.Write(BytesSent); @@ -221,7 +221,7 @@ namespace Ryujinx.HLE.HOS.Services.Bsd { int SocketId = Context.RequestData.ReadInt32(); - long AddrBufferPtr = Context.Request.ReceiveBuff[0].Position; + (long AddrBufferPosition, long AddrBuffSize) = Context.Request.GetBufferType0x22(); Socket HandleAccept = null; @@ -246,7 +246,7 @@ namespace Ryujinx.HLE.HOS.Services.Bsd { IpAddress = ((IPEndPoint)Sockets[SocketId].Handle.LocalEndPoint).Address, RemoteEP = ((IPEndPoint)Sockets[SocketId].Handle.LocalEndPoint), - Handle = HandleAccept + Handle = HandleAccept }; Sockets.Add(NewBsdSocket); @@ -265,7 +265,7 @@ namespace Ryujinx.HLE.HOS.Services.Bsd Writer.Write(IpAddress); - Context.Memory.WriteBytes(AddrBufferPtr, MS.ToArray()); + Context.Memory.WriteBytes(AddrBufferPosition, MS.ToArray()); Context.ResponseData.Write(Sockets.Count - 1); Context.ResponseData.Write(0); @@ -286,8 +286,9 @@ namespace Ryujinx.HLE.HOS.Services.Bsd { int SocketId = Context.RequestData.ReadInt32(); - byte[] AddressBuffer = Context.Memory.ReadBytes(Context.Request.SendBuff[0].Position, - Context.Request.SendBuff[0].Size); + (long AddressPosition, long AddressSize) = Context.Request.GetBufferType0x21(); + + byte[] AddressBuffer = Context.Memory.ReadBytes(AddressPosition, AddressSize); try { @@ -310,8 +311,9 @@ namespace Ryujinx.HLE.HOS.Services.Bsd { int SocketId = Context.RequestData.ReadInt32(); - byte[] AddressBuffer = Context.Memory.ReadBytes(Context.Request.SendBuff[0].Position, - Context.Request.SendBuff[0].Size); + (long AddressPosition, long AddressSize) = Context.Request.GetBufferType0x21(); + + byte[] AddressBuffer = Context.Memory.ReadBytes(AddressPosition, AddressSize); try { @@ -359,8 +361,8 @@ namespace Ryujinx.HLE.HOS.Services.Bsd { int SocketId = Context.RequestData.ReadInt32(); - SocketOptionLevel SocketLevel = (SocketOptionLevel)Context.RequestData.ReadInt32(); - SocketOptionName SocketOptionName = (SocketOptionName)Context.RequestData.ReadInt32(); + SocketOptionLevel SocketLevel = (SocketOptionLevel)Context.RequestData.ReadInt32(); + SocketOptionName SocketOptionName = (SocketOptionName)Context.RequestData.ReadInt32(); byte[] SocketOptionValue = Context.Memory.ReadBytes(Context.Request.PtrBuff[0].Position, Context.Request.PtrBuff[0].Size); @@ -383,6 +385,60 @@ namespace Ryujinx.HLE.HOS.Services.Bsd return 0; } + //(u32 socket, buffer message) -> (i32 ret, u32 bsd_errno) + public long Write(ServiceCtx Context) + { + int SocketId = Context.RequestData.ReadInt32(); + + (long SentPosition, long SentSize) = Context.Request.GetBufferType0x21(); + + byte[] SentBuffer = Context.Memory.ReadBytes(SentPosition, SentSize); + + try + { + //Logging.Debug("Wrote Buffer:" + Environment.NewLine + Logging.HexDump(SentBuffer)); + + int BytesSent = Sockets[SocketId].Handle.Send(SentBuffer); + + Context.ResponseData.Write(BytesSent); + Context.ResponseData.Write(0); + } + catch (SocketException Ex) + { + Context.ResponseData.Write(-1); + Context.ResponseData.Write(Ex.ErrorCode - 10000); + } + + return 0; + } + + //(u32 socket) -> (i32 ret, u32 bsd_errno, buffer message) + public long Read(ServiceCtx Context) + { + int SocketId = Context.RequestData.ReadInt32(); + + (long ReceivePosition, long ReceiveLength) = Context.Request.GetBufferType0x22(); + + byte[] ReceivedBuffer = new byte[ReceiveLength]; + + try + { + int BytesRead = Sockets[SocketId].Handle.Receive(ReceivedBuffer); + + Context.Memory.WriteBytes(ReceivePosition, ReceivedBuffer); + + Context.ResponseData.Write(BytesRead); + Context.ResponseData.Write(0); + } + catch (SocketException Ex) + { + Context.ResponseData.Write(-1); + Context.ResponseData.Write(Ex.ErrorCode - 10000); + } + + return 0; + } + //(u32 socket) -> (i32 ret, u32 bsd_errno) public long Close(ServiceCtx Context) { @@ -413,7 +469,7 @@ namespace Ryujinx.HLE.HOS.Services.Bsd int Size = Reader.ReadByte(); int Family = Reader.ReadByte(); - int Port = EndianSwap.Swap16(Reader.ReadInt16()); + int Port = EndianSwap.Swap16(Reader.ReadUInt16()); string IpAddress = Reader.ReadByte().ToString() + "." + Reader.ReadByte().ToString() + "." + @@ -421,8 +477,7 @@ namespace Ryujinx.HLE.HOS.Services.Bsd Reader.ReadByte().ToString(); Sockets[SocketId].IpAddress = IPAddress.Parse(IpAddress); - - Sockets[SocketId].RemoteEP = new IPEndPoint(Sockets[SocketId].IpAddress, Port); + Sockets[SocketId].RemoteEP = new IPEndPoint(Sockets[SocketId].IpAddress, Port); } } diff --git a/Ryujinx.HLE/Utilities/EndianSwap.cs b/Ryujinx.HLE/Utilities/EndianSwap.cs index d773516d3..5d0c8a845 100644 --- a/Ryujinx.HLE/Utilities/EndianSwap.cs +++ b/Ryujinx.HLE/Utilities/EndianSwap.cs @@ -2,7 +2,7 @@ { static class EndianSwap { - public static short Swap16(short Value) => (short)(((Value >> 8) & 0xff) | (Value << 8)); + public static ushort Swap16(ushort Value) => (ushort)(((Value >> 8) & 0xff) | (Value << 8)); public static int Swap32(int Value) { From a42ab2e40cae5db96cc58634f1e70c4e31bb095d Mon Sep 17 00:00:00 2001 From: ReinUsesLisp Date: Sat, 25 Aug 2018 01:16:58 -0300 Subject: [PATCH 11/24] Implement vertex instancing (#381) --- Ryujinx.Graphics/Gal/GalPipelineState.cs | 4 ++ Ryujinx.Graphics/Gal/OpenGL/OGLPipeline.cs | 16 +++++-- Ryujinx.Graphics/Gal/OpenGL/OGLShader.cs | 22 +++++---- Ryujinx.Graphics/Gal/Shader/GlslDecl.cs | 1 + Ryujinx.Graphics/Gal/Shader/GlslDecompiler.cs | 9 +++- Ryujinx.HLE/Gpu/Engines/NvGpuEngine3d.cs | 48 +++++++++++++++++-- Ryujinx.HLE/Gpu/Engines/NvGpuEngine3dReg.cs | 2 + 7 files changed, 82 insertions(+), 20 deletions(-) diff --git a/Ryujinx.Graphics/Gal/GalPipelineState.cs b/Ryujinx.Graphics/Gal/GalPipelineState.cs index d1ffbe76d..7c6695141 100644 --- a/Ryujinx.Graphics/Gal/GalPipelineState.cs +++ b/Ryujinx.Graphics/Gal/GalPipelineState.cs @@ -7,6 +7,8 @@ public bool Enabled; public int Stride; public long VboKey; + public bool Instanced; + public int Divisor; public GalVertexAttrib[] Attribs; } @@ -22,6 +24,8 @@ public float FlipX; public float FlipY; + public int Instance; + public GalFrontFace FrontFace; public bool CullFaceEnabled; diff --git a/Ryujinx.Graphics/Gal/OpenGL/OGLPipeline.cs b/Ryujinx.Graphics/Gal/OpenGL/OGLPipeline.cs index 5828921d4..051b10504 100644 --- a/Ryujinx.Graphics/Gal/OpenGL/OGLPipeline.cs +++ b/Ryujinx.Graphics/Gal/OpenGL/OGLPipeline.cs @@ -126,9 +126,9 @@ namespace Ryujinx.Graphics.Gal.OpenGL BindVertexLayout(New); - if (New.FlipX != Old.FlipX || New.FlipY != Old.FlipY) + if (New.FlipX != Old.FlipX || New.FlipY != Old.FlipY || New.Instance != Old.Instance) { - Shader.SetFlip(New.FlipX, New.FlipY); + Shader.SetExtraData(New.FlipX, New.FlipY, New.Instance); } //Note: Uncomment SetFrontFace and SetCullFace when flipping issues are solved @@ -290,8 +290,7 @@ namespace Ryujinx.Graphics.Gal.OpenGL private void BindConstBuffers(GalPipelineState New) { - //Index 0 is reserved - int FreeBinding = 1; + int FreeBinding = OGLShader.ReservedCbufCount; void BindIfNotNull(OGLShaderStage Stage) { @@ -385,6 +384,15 @@ namespace Ryujinx.Graphics.Gal.OpenGL { GL.VertexAttribPointer(Attrib.Index, Size, Type, Normalize, Binding.Stride, Offset); } + + if (Binding.Instanced && Binding.Divisor != 0) + { + GL.VertexAttribDivisor(Attrib.Index, 1); + } + else + { + GL.VertexAttribDivisor(Attrib.Index, 0); + } } } } diff --git a/Ryujinx.Graphics/Gal/OpenGL/OGLShader.cs b/Ryujinx.Graphics/Gal/OpenGL/OGLShader.cs index 0108a0da2..73d37b879 100644 --- a/Ryujinx.Graphics/Gal/OpenGL/OGLShader.cs +++ b/Ryujinx.Graphics/Gal/OpenGL/OGLShader.cs @@ -9,6 +9,10 @@ namespace Ryujinx.Graphics.Gal.OpenGL { class OGLShader : IGalShader { + public const int ReservedCbufCount = 1; + + private const int ExtraDataSize = 4; + public OGLShaderProgram Current; private ConcurrentDictionary Stages; @@ -96,7 +100,7 @@ namespace Ryujinx.Graphics.Gal.OpenGL return Enumerable.Empty(); } - public unsafe void SetFlip(float X, float Y) + public unsafe void SetExtraData(float FlipX, float FlipY, int Instance) { BindProgram(); @@ -104,14 +108,15 @@ namespace Ryujinx.Graphics.Gal.OpenGL GL.BindBuffer(BufferTarget.UniformBuffer, ExtraUboHandle); - float* Data = stackalloc float[4]; - Data[0] = X; - Data[1] = Y; + float* Data = stackalloc float[ExtraDataSize]; + Data[0] = FlipX; + Data[1] = FlipY; + Data[2] = BitConverter.Int32BitsToSingle(Instance); //Invalidate buffer - GL.BufferData(BufferTarget.UniformBuffer, 4 * sizeof(float), IntPtr.Zero, BufferUsageHint.StreamDraw); + GL.BufferData(BufferTarget.UniformBuffer, ExtraDataSize * sizeof(float), IntPtr.Zero, BufferUsageHint.StreamDraw); - GL.BufferSubData(BufferTarget.UniformBuffer, IntPtr.Zero, 4 * sizeof(float), (IntPtr)Data); + GL.BufferSubData(BufferTarget.UniformBuffer, IntPtr.Zero, ExtraDataSize * sizeof(float), (IntPtr)Data); } public void Bind(long Key) @@ -197,7 +202,7 @@ namespace Ryujinx.Graphics.Gal.OpenGL GL.BindBuffer(BufferTarget.UniformBuffer, ExtraUboHandle); - GL.BufferData(BufferTarget.UniformBuffer, 4 * sizeof(float), IntPtr.Zero, BufferUsageHint.StreamDraw); + GL.BufferData(BufferTarget.UniformBuffer, ExtraDataSize * sizeof(float), IntPtr.Zero, BufferUsageHint.StreamDraw); GL.BindBufferBase(BufferRangeTarget.UniformBuffer, 0, ExtraUboHandle); } @@ -219,8 +224,7 @@ namespace Ryujinx.Graphics.Gal.OpenGL GL.UniformBlockBinding(ProgramHandle, ExtraBlockindex, 0); - //First index is reserved - int FreeBinding = 1; + int FreeBinding = ReservedCbufCount; void BindUniformBlocksIfNotNull(OGLShaderStage Stage) { diff --git a/Ryujinx.Graphics/Gal/Shader/GlslDecl.cs b/Ryujinx.Graphics/Gal/Shader/GlslDecl.cs index 25f64db83..c22a282dc 100644 --- a/Ryujinx.Graphics/Gal/Shader/GlslDecl.cs +++ b/Ryujinx.Graphics/Gal/Shader/GlslDecl.cs @@ -41,6 +41,7 @@ namespace Ryujinx.Graphics.Gal.Shader public const string ExtraUniformBlockName = "Extra"; public const string FlipUniformName = "flip"; + public const string InstanceUniformName = "instance"; public const string ProgramName = "program"; public const string ProgramAName = ProgramName + "_a"; diff --git a/Ryujinx.Graphics/Gal/Shader/GlslDecompiler.cs b/Ryujinx.Graphics/Gal/Shader/GlslDecompiler.cs index 8baf30e03..984684f16 100644 --- a/Ryujinx.Graphics/Gal/Shader/GlslDecompiler.cs +++ b/Ryujinx.Graphics/Gal/Shader/GlslDecompiler.cs @@ -241,10 +241,15 @@ namespace Ryujinx.Graphics.Gal.Shader { if (Decl.ShaderType == GalShaderType.Vertex) { - SB.AppendLine("layout (std140) uniform " + GlslDecl.ExtraUniformBlockName + "{"); + //Memory layout here is [flip_x, flip_y, instance, unused] + //It's using 4 bytes, not 8 + + SB.AppendLine("layout (std140) uniform " + GlslDecl.ExtraUniformBlockName + " {"); SB.AppendLine(IdentationStr + "vec2 " + GlslDecl.FlipUniformName + ";"); + SB.AppendLine(IdentationStr + "int " + GlslDecl.InstanceUniformName + ";"); + SB.AppendLine("};"); } @@ -816,7 +821,7 @@ namespace Ryujinx.Graphics.Gal.Shader switch (Abuf.Offs) { case GlslDecl.VertexIdAttr: return "gl_VertexID"; - case GlslDecl.InstanceIdAttr: return "gl_InstanceID"; + case GlslDecl.InstanceIdAttr: return GlslDecl.InstanceUniformName; } } else if (Decl.ShaderType == GalShaderType.TessEvaluation) diff --git a/Ryujinx.HLE/Gpu/Engines/NvGpuEngine3d.cs b/Ryujinx.HLE/Gpu/Engines/NvGpuEngine3d.cs index be47b66ca..2010e43bd 100644 --- a/Ryujinx.HLE/Gpu/Engines/NvGpuEngine3d.cs +++ b/Ryujinx.HLE/Gpu/Engines/NvGpuEngine3d.cs @@ -27,6 +27,8 @@ namespace Ryujinx.HLE.Gpu.Engines private List[] UploadedKeys; + private int CurrentInstance = 0; + public NvGpuEngine3d(NvGpu Gpu) { this.Gpu = Gpu; @@ -654,10 +656,25 @@ namespace Ryujinx.HLE.Gpu.Engines long VertexPosition = MakeInt64From2xInt32(NvGpuEngine3dReg.VertexArrayNAddress + Index * 4); long VertexEndPos = MakeInt64From2xInt32(NvGpuEngine3dReg.VertexArrayNEndAddr + Index * 2); - long VboKey = Vmm.GetPhysicalAddress(VertexPosition); + int VertexDivisor = ReadRegister(NvGpuEngine3dReg.VertexArrayNDivisor + Index * 4); + + bool Instanced = (ReadRegister(NvGpuEngine3dReg.VertexArrayNInstance + Index) & 1) != 0; int Stride = Control & 0xfff; + if (Instanced && VertexDivisor != 0) + { + VertexPosition += Stride * (CurrentInstance / VertexDivisor); + } + + if (VertexPosition > VertexEndPos) + { + //Instance is invalid, ignore the draw call + continue; + } + + long VboKey = Vmm.GetPhysicalAddress(VertexPosition); + long VbSize = (VertexEndPos - VertexPosition) + 1; bool VboCached = Gpu.Renderer.Rasterizer.IsVboCached(VboKey, VbSize); @@ -669,10 +686,12 @@ namespace Ryujinx.HLE.Gpu.Engines Gpu.Renderer.Rasterizer.CreateVbo(VboKey, (int)VbSize, DataAddress); } - State.VertexBindings[Index].Enabled = true; - State.VertexBindings[Index].Stride = Stride; - State.VertexBindings[Index].VboKey = VboKey; - State.VertexBindings[Index].Attribs = Attribs[Index].ToArray(); + State.VertexBindings[Index].Enabled = true; + State.VertexBindings[Index].Stride = Stride; + State.VertexBindings[Index].VboKey = VboKey; + State.VertexBindings[Index].Instanced = Instanced; + State.VertexBindings[Index].Divisor = VertexDivisor; + State.VertexBindings[Index].Attribs = Attribs[Index].ToArray(); } } @@ -683,6 +702,25 @@ namespace Ryujinx.HLE.Gpu.Engines GalPrimitiveType PrimType = (GalPrimitiveType)(PrimCtrl & 0xffff); + bool InstanceNext = ((PrimCtrl >> 26) & 1) != 0; + bool InstanceCont = ((PrimCtrl >> 27) & 1) != 0; + + if (InstanceNext && InstanceCont) + { + throw new InvalidOperationException("GPU tried to increase and reset instance count at the same time"); + } + + if (InstanceNext) + { + CurrentInstance++; + } + else if (!InstanceCont) + { + CurrentInstance = 0; + } + + State.Instance = CurrentInstance; + Gpu.Renderer.Pipeline.Bind(State); if (IndexCount != 0) diff --git a/Ryujinx.HLE/Gpu/Engines/NvGpuEngine3dReg.cs b/Ryujinx.HLE/Gpu/Engines/NvGpuEngine3dReg.cs index 7eff13b58..ace324e91 100644 --- a/Ryujinx.HLE/Gpu/Engines/NvGpuEngine3dReg.cs +++ b/Ryujinx.HLE/Gpu/Engines/NvGpuEngine3dReg.cs @@ -53,6 +53,7 @@ namespace Ryujinx.HLE.Gpu.Engines StencilFrontFuncMask = 0x4e6, StencilFrontMask = 0x4e7, VertexArrayElemBase = 0x50d, + VertexArrayInstBase = 0x50e, ZetaEnable = 0x54e, TexHeaderPoolOffset = 0x55d, TexSamplerPoolOffset = 0x557, @@ -70,6 +71,7 @@ namespace Ryujinx.HLE.Gpu.Engines IndexArrayFormat = 0x5f6, IndexBatchFirst = 0x5f7, IndexBatchCount = 0x5f8, + VertexArrayNInstance = 0x620, CullFaceEnable = 0x646, FrontFace = 0x647, CullFace = 0x648, From 43c4e7c78d98b09e8dc51e3450396cd99b2b3a92 Mon Sep 17 00:00:00 2001 From: ReinUsesLisp Date: Sat, 25 Aug 2018 16:39:08 -0300 Subject: [PATCH 12/24] Use mirrored texture wraps when available (#361) --- .../Gal/OpenGL/OGLEnumConverter.cs | 33 ++++++++++++++----- Ryujinx.Graphics/Gal/OpenGL/OGLExtension.cs | 11 +++++++ 2 files changed, 35 insertions(+), 9 deletions(-) diff --git a/Ryujinx.Graphics/Gal/OpenGL/OGLEnumConverter.cs b/Ryujinx.Graphics/Gal/OpenGL/OGLEnumConverter.cs index e04a59d44..64f670a5e 100644 --- a/Ryujinx.Graphics/Gal/OpenGL/OGLEnumConverter.cs +++ b/Ryujinx.Graphics/Gal/OpenGL/OGLEnumConverter.cs @@ -215,16 +215,31 @@ namespace Ryujinx.Graphics.Gal.OpenGL { switch (Wrap) { - case GalTextureWrap.Repeat: return TextureWrapMode.Repeat; - case GalTextureWrap.MirroredRepeat: return TextureWrapMode.MirroredRepeat; - case GalTextureWrap.ClampToEdge: return TextureWrapMode.ClampToEdge; - case GalTextureWrap.ClampToBorder: return TextureWrapMode.ClampToBorder; - case GalTextureWrap.Clamp: return TextureWrapMode.Clamp; + case GalTextureWrap.Repeat: return TextureWrapMode.Repeat; + case GalTextureWrap.MirroredRepeat: return TextureWrapMode.MirroredRepeat; + case GalTextureWrap.ClampToEdge: return TextureWrapMode.ClampToEdge; + case GalTextureWrap.ClampToBorder: return TextureWrapMode.ClampToBorder; + case GalTextureWrap.Clamp: return TextureWrapMode.Clamp; + } - //TODO: Those needs extensions (and are currently wrong). - case GalTextureWrap.MirrorClampToEdge: return TextureWrapMode.ClampToEdge; - case GalTextureWrap.MirrorClampToBorder: return TextureWrapMode.ClampToBorder; - case GalTextureWrap.MirrorClamp: return TextureWrapMode.Clamp; + if (OGLExtension.HasTextureMirrorClamp()) + { + switch (Wrap) + { + case GalTextureWrap.MirrorClampToEdge: return (TextureWrapMode)ExtTextureMirrorClamp.MirrorClampToEdgeExt; + case GalTextureWrap.MirrorClampToBorder: return (TextureWrapMode)ExtTextureMirrorClamp.MirrorClampToBorderExt; + case GalTextureWrap.MirrorClamp: return (TextureWrapMode)ExtTextureMirrorClamp.MirrorClampExt; + } + } + else + { + //Fallback to non-mirrored clamps + switch (Wrap) + { + case GalTextureWrap.MirrorClampToEdge: return TextureWrapMode.ClampToEdge; + case GalTextureWrap.MirrorClampToBorder: return TextureWrapMode.ClampToBorder; + case GalTextureWrap.MirrorClamp: return TextureWrapMode.Clamp; + } } throw new ArgumentException(nameof(Wrap)); diff --git a/Ryujinx.Graphics/Gal/OpenGL/OGLExtension.cs b/Ryujinx.Graphics/Gal/OpenGL/OGLExtension.cs index 69fce6d31..5ad422980 100644 --- a/Ryujinx.Graphics/Gal/OpenGL/OGLExtension.cs +++ b/Ryujinx.Graphics/Gal/OpenGL/OGLExtension.cs @@ -8,6 +8,8 @@ namespace Ryujinx.Graphics.Gal.OpenGL private static bool EnhancedLayouts; + private static bool TextureMirrorClamp; + public static bool HasEnhancedLayouts() { EnsureInitialized(); @@ -15,6 +17,13 @@ namespace Ryujinx.Graphics.Gal.OpenGL return EnhancedLayouts; } + public static bool HasTextureMirrorClamp() + { + EnsureInitialized(); + + return TextureMirrorClamp; + } + private static void EnsureInitialized() { if (Initialized) @@ -23,6 +32,8 @@ namespace Ryujinx.Graphics.Gal.OpenGL } EnhancedLayouts = HasExtension("GL_ARB_enhanced_layouts"); + + TextureMirrorClamp = HasExtension("GL_EXT_texture_mirror_clamp"); } private static bool HasExtension(string Name) From 68300368d7fd4ee49ced471beafad4d64c3e7709 Mon Sep 17 00:00:00 2001 From: LDj3SNuD <35856442+LDj3SNuD@users.noreply.github.com> Date: Mon, 27 Aug 2018 08:44:01 +0200 Subject: [PATCH 13/24] Add SHADD, SHSUB, UHSUB, SRHADD, URHADD, instructions; add 12 Tests. (#380) * Update AOpCodeTable.cs * Update AInstEmitSimdArithmetic.cs * Update Instructions.cs * Update CpuTestSimdReg.cs * Update CpuTest.cs * Update CpuTestSimd.cs * Update CpuTestSimdCrypto.cs --- ChocolArm64/AOpCodeTable.cs | 5 + .../Instruction/AInstEmitSimdArithmetic.cs | 92 +++- Ryujinx.Tests/Cpu/CpuTest.cs | 49 +- Ryujinx.Tests/Cpu/CpuTestSimd.cs | 6 +- Ryujinx.Tests/Cpu/CpuTestSimdCrypto.cs | 8 +- Ryujinx.Tests/Cpu/CpuTestSimdReg.cs | 428 ++++++++++++++++-- Ryujinx.Tests/Cpu/Tester/Instructions.cs | 240 ++++++++++ 7 files changed, 775 insertions(+), 53 deletions(-) diff --git a/ChocolArm64/AOpCodeTable.cs b/ChocolArm64/AOpCodeTable.cs index dc8cfc087..bf030314e 100644 --- a/ChocolArm64/AOpCodeTable.cs +++ b/ChocolArm64/AOpCodeTable.cs @@ -374,10 +374,12 @@ namespace ChocolArm64 SetA64("01011110000xxxxx010100xxxxxxxxxx", AInstEmit.Sha256h2_V, typeof(AOpCodeSimdReg)); SetA64("0101111000101000001010xxxxxxxxxx", AInstEmit.Sha256su0_V, typeof(AOpCodeSimd)); SetA64("01011110000xxxxx011000xxxxxxxxxx", AInstEmit.Sha256su1_V, typeof(AOpCodeSimdReg)); + SetA64("0x001110<<1xxxxx000001xxxxxxxxxx", AInstEmit.Shadd_V, typeof(AOpCodeSimdReg)); SetA64("010111110>>>>xxx010101xxxxxxxxxx", AInstEmit.Shl_S, typeof(AOpCodeSimdShImm)); SetA64("0x0011110>>>>xxx010101xxxxxxxxxx", AInstEmit.Shl_V, typeof(AOpCodeSimdShImm)); SetA64("0x101110<<100001001110xxxxxxxxxx", AInstEmit.Shll_V, typeof(AOpCodeSimd)); SetA64("0x00111100>>>xxx100001xxxxxxxxxx", AInstEmit.Shrn_V, typeof(AOpCodeSimdShImm)); + SetA64("0x001110<<1xxxxx001001xxxxxxxxxx", AInstEmit.Shsub_V, typeof(AOpCodeSimdReg)); SetA64("0x1011110>>>>xxx010101xxxxxxxxxx", AInstEmit.Sli_V, typeof(AOpCodeSimdShImm)); SetA64("0x001110<<1xxxxx011001xxxxxxxxxx", AInstEmit.Smax_V, typeof(AOpCodeSimdReg)); SetA64("0x001110<<1xxxxx101001xxxxxxxxxx", AInstEmit.Smaxp_V, typeof(AOpCodeSimdReg)); @@ -407,6 +409,7 @@ namespace ChocolArm64 SetA64("0x001110<<100001010010xxxxxxxxxx", AInstEmit.Sqxtn_V, typeof(AOpCodeSimd)); SetA64("01111110<<100001001010xxxxxxxxxx", AInstEmit.Sqxtun_S, typeof(AOpCodeSimd)); SetA64("0x101110<<100001001010xxxxxxxxxx", AInstEmit.Sqxtun_V, typeof(AOpCodeSimd)); + SetA64("0x001110<<1xxxxx000101xxxxxxxxxx", AInstEmit.Srhadd_V, typeof(AOpCodeSimdReg)); SetA64("0x00111100>>>xxx001001xxxxxxxxxx", AInstEmit.Srshr_V, typeof(AOpCodeSimdShImm)); SetA64("0100111101xxxxxx001001xxxxxxxxxx", AInstEmit.Srshr_V, typeof(AOpCodeSimdShImm)); SetA64("0>001110<<1xxxxx010001xxxxxxxxxx", AInstEmit.Sshl_V, typeof(AOpCodeSimdReg)); @@ -449,6 +452,7 @@ namespace ChocolArm64 SetA64("011111100x100001110110xxxxxxxxxx", AInstEmit.Ucvtf_S, typeof(AOpCodeSimd)); SetA64("0x1011100x100001110110xxxxxxxxxx", AInstEmit.Ucvtf_V, typeof(AOpCodeSimd)); SetA64("0x101110<<1xxxxx000001xxxxxxxxxx", AInstEmit.Uhadd_V, typeof(AOpCodeSimdReg)); + SetA64("0x101110<<1xxxxx001001xxxxxxxxxx", AInstEmit.Uhsub_V, typeof(AOpCodeSimdReg)); SetA64("0x101110<<1xxxxx011001xxxxxxxxxx", AInstEmit.Umax_V, typeof(AOpCodeSimdReg)); SetA64("0x101110<<1xxxxx101001xxxxxxxxxx", AInstEmit.Umaxp_V, typeof(AOpCodeSimdReg)); SetA64("0x101110<<1xxxxx011011xxxxxxxxxx", AInstEmit.Umin_V, typeof(AOpCodeSimdReg)); @@ -461,6 +465,7 @@ namespace ChocolArm64 SetA64("0>101110<<1xxxxx001011xxxxxxxxxx", AInstEmit.Uqsub_V, typeof(AOpCodeSimdReg)); SetA64("01111110<<100001010010xxxxxxxxxx", AInstEmit.Uqxtn_S, typeof(AOpCodeSimd)); SetA64("0x101110<<100001010010xxxxxxxxxx", AInstEmit.Uqxtn_V, typeof(AOpCodeSimd)); + SetA64("0x101110<<1xxxxx000101xxxxxxxxxx", AInstEmit.Urhadd_V, typeof(AOpCodeSimdReg)); SetA64("0>101110<<1xxxxx010001xxxxxxxxxx", AInstEmit.Ushl_V, typeof(AOpCodeSimdReg)); SetA64("0x10111100>>>xxx101001xxxxxxxxxx", AInstEmit.Ushll_V, typeof(AOpCodeSimdShImm)); SetA64("0111111101xxxxxx000001xxxxxxxxxx", AInstEmit.Ushr_S, typeof(AOpCodeSimdShImm)); diff --git a/ChocolArm64/Instruction/AInstEmitSimdArithmetic.cs b/ChocolArm64/Instruction/AInstEmitSimdArithmetic.cs index 92da9ff9c..1e4002a0e 100644 --- a/ChocolArm64/Instruction/AInstEmitSimdArithmetic.cs +++ b/ChocolArm64/Instruction/AInstEmitSimdArithmetic.cs @@ -1042,6 +1042,28 @@ namespace ChocolArm64.Instruction EmitVectorWidenRmBinaryOpSx(Context, () => Context.Emit(OpCodes.Add)); } + public static void Shadd_V(AILEmitterCtx Context) + { + EmitVectorBinaryOpSx(Context, () => + { + Context.Emit(OpCodes.Add); + + Context.Emit(OpCodes.Ldc_I4_1); + Context.Emit(OpCodes.Shr); + }); + } + + public static void Shsub_V(AILEmitterCtx Context) + { + EmitVectorBinaryOpSx(Context, () => + { + Context.Emit(OpCodes.Sub); + + Context.Emit(OpCodes.Ldc_I4_1); + Context.Emit(OpCodes.Shr); + }); + } + public static void Smax_V(AILEmitterCtx Context) { Type[] Types = new Type[] { typeof(long), typeof(long) }; @@ -1181,6 +1203,20 @@ namespace ChocolArm64.Instruction EmitVectorSaturatingNarrowOpSxZx(Context, () => { }); } + public static void Srhadd_V(AILEmitterCtx Context) + { + EmitVectorBinaryOpSx(Context, () => + { + Context.Emit(OpCodes.Add); + + Context.Emit(OpCodes.Ldc_I4_1); + Context.Emit(OpCodes.Add); + + Context.Emit(OpCodes.Ldc_I4_1); + Context.Emit(OpCodes.Shr); + }); + } + public static void Ssubw_V(AILEmitterCtx Context) { EmitVectorWidenRmBinaryOpSx(Context, () => Context.Emit(OpCodes.Sub)); @@ -1303,28 +1339,20 @@ namespace ChocolArm64.Instruction { Context.Emit(OpCodes.Add); - Context.EmitLdc_I4(1); - + Context.Emit(OpCodes.Ldc_I4_1); Context.Emit(OpCodes.Shr_Un); }); } - public static void Umin_V(AILEmitterCtx Context) + public static void Uhsub_V(AILEmitterCtx Context) { - Type[] Types = new Type[] { typeof(ulong), typeof(ulong) }; + EmitVectorBinaryOpZx(Context, () => + { + Context.Emit(OpCodes.Sub); - MethodInfo MthdInfo = typeof(Math).GetMethod(nameof(Math.Min), Types); - - EmitVectorBinaryOpZx(Context, () => Context.EmitCall(MthdInfo)); - } - - public static void Uminp_V(AILEmitterCtx Context) - { - Type[] Types = new Type[] { typeof(ulong), typeof(ulong) }; - - MethodInfo MthdInfo = typeof(Math).GetMethod(nameof(Math.Min), Types); - - EmitVectorPairwiseOpZx(Context, () => Context.EmitCall(MthdInfo)); + Context.Emit(OpCodes.Ldc_I4_1); + Context.Emit(OpCodes.Shr_Un); + }); } public static void Umax_V(AILEmitterCtx Context) @@ -1345,6 +1373,24 @@ namespace ChocolArm64.Instruction EmitVectorPairwiseOpZx(Context, () => Context.EmitCall(MthdInfo)); } + public static void Umin_V(AILEmitterCtx Context) + { + Type[] Types = new Type[] { typeof(ulong), typeof(ulong) }; + + MethodInfo MthdInfo = typeof(Math).GetMethod(nameof(Math.Min), Types); + + EmitVectorBinaryOpZx(Context, () => Context.EmitCall(MthdInfo)); + } + + public static void Uminp_V(AILEmitterCtx Context) + { + Type[] Types = new Type[] { typeof(ulong), typeof(ulong) }; + + MethodInfo MthdInfo = typeof(Math).GetMethod(nameof(Math.Min), Types); + + EmitVectorPairwiseOpZx(Context, () => Context.EmitCall(MthdInfo)); + } + public static void Umull_V(AILEmitterCtx Context) { EmitVectorWidenRnRmBinaryOpZx(Context, () => Context.Emit(OpCodes.Mul)); @@ -1380,6 +1426,20 @@ namespace ChocolArm64.Instruction EmitVectorSaturatingNarrowOpZxZx(Context, () => { }); } + public static void Urhadd_V(AILEmitterCtx Context) + { + EmitVectorBinaryOpZx(Context, () => + { + Context.Emit(OpCodes.Add); + + Context.Emit(OpCodes.Ldc_I4_1); + Context.Emit(OpCodes.Add); + + Context.Emit(OpCodes.Ldc_I4_1); + Context.Emit(OpCodes.Shr_Un); + }); + } + public static void Usqadd_S(AILEmitterCtx Context) { EmitScalarSaturatingBinaryOpZx(Context, SaturatingFlags.Accumulate); diff --git a/Ryujinx.Tests/Cpu/CpuTest.cs b/Ryujinx.Tests/Cpu/CpuTest.cs index e6a023798..4ac05f1b8 100644 --- a/Ryujinx.Tests/Cpu/CpuTest.cs +++ b/Ryujinx.Tests/Cpu/CpuTest.cs @@ -119,22 +119,42 @@ namespace Ryujinx.Tests.Cpu protected static Vector128 MakeVectorE0(double E0) { + if (!Sse2.IsSupported) + { + throw new PlatformNotSupportedException(); + } + return Sse.StaticCast(Sse2.SetVector128(0, BitConverter.DoubleToInt64Bits(E0))); } protected static Vector128 MakeVectorE0E1(double E0, double E1) { - return Sse.StaticCast(Sse2.SetVector128(BitConverter.DoubleToInt64Bits(E1), - BitConverter.DoubleToInt64Bits(E0))); + if (!Sse2.IsSupported) + { + throw new PlatformNotSupportedException(); + } + + return Sse.StaticCast( + Sse2.SetVector128(BitConverter.DoubleToInt64Bits(E1), BitConverter.DoubleToInt64Bits(E0))); } protected static Vector128 MakeVectorE1(double E1) { + if (!Sse2.IsSupported) + { + throw new PlatformNotSupportedException(); + } + return Sse.StaticCast(Sse2.SetVector128(BitConverter.DoubleToInt64Bits(E1), 0)); } protected static double VectorExtractDouble(Vector128 Vector, byte Index) { + if (!Sse41.IsSupported) + { + throw new PlatformNotSupportedException(); + } + long Value = Sse41.Extract(Sse.StaticCast(Vector), Index); return BitConverter.Int64BitsToDouble(Value); @@ -142,26 +162,51 @@ namespace Ryujinx.Tests.Cpu protected static Vector128 MakeVectorE0(ulong E0) { + if (!Sse2.IsSupported) + { + throw new PlatformNotSupportedException(); + } + return Sse.StaticCast(Sse2.SetVector128(0, E0)); } protected static Vector128 MakeVectorE0E1(ulong E0, ulong E1) { + if (!Sse2.IsSupported) + { + throw new PlatformNotSupportedException(); + } + return Sse.StaticCast(Sse2.SetVector128(E1, E0)); } protected static Vector128 MakeVectorE1(ulong E1) { + if (!Sse2.IsSupported) + { + throw new PlatformNotSupportedException(); + } + return Sse.StaticCast(Sse2.SetVector128(E1, 0)); } protected static ulong GetVectorE0(Vector128 Vector) { + if (!Sse41.IsSupported) + { + throw new PlatformNotSupportedException(); + } + return Sse41.Extract(Sse.StaticCast(Vector), (byte)0); } protected static ulong GetVectorE1(Vector128 Vector) { + if (!Sse41.IsSupported) + { + throw new PlatformNotSupportedException(); + } + return Sse41.Extract(Sse.StaticCast(Vector), (byte)1); } } diff --git a/Ryujinx.Tests/Cpu/CpuTestSimd.cs b/Ryujinx.Tests/Cpu/CpuTestSimd.cs index 68e2d721d..d1832ce89 100644 --- a/Ryujinx.Tests/Cpu/CpuTestSimd.cs +++ b/Ryujinx.Tests/Cpu/CpuTestSimd.cs @@ -1245,11 +1245,11 @@ namespace Ryujinx.Tests.Cpu }); } - [Test, Explicit, Description("SHA256SU0 .4S, .4S")] // 1250 tests. + [Test, Pairwise, Description("SHA256SU0 .4S, .4S")] public void Sha256su0_V([Values(0u)] uint Rd, [Values(1u, 0u)] uint Rn, - [Random(5)] ulong Z0, [Random(5)] ulong Z1, - [Random(5)] ulong A0, [Random(5)] ulong A1) + [Random(RndCnt * 2)] ulong Z0, [Random(RndCnt * 2)] ulong Z1, + [Random(RndCnt * 2)] ulong A0, [Random(RndCnt * 2)] ulong A1) { uint Opcode = 0x5E282800; // SHA256SU0 V0.4S, V0.4S Opcode |= ((Rn & 31) << 5) | ((Rd & 31) << 0); diff --git a/Ryujinx.Tests/Cpu/CpuTestSimdCrypto.cs b/Ryujinx.Tests/Cpu/CpuTestSimdCrypto.cs index e46937339..cce0db636 100644 --- a/Ryujinx.Tests/Cpu/CpuTestSimdCrypto.cs +++ b/Ryujinx.Tests/Cpu/CpuTestSimdCrypto.cs @@ -10,7 +10,7 @@ namespace Ryujinx.Tests.Cpu { public class CpuTestSimdCrypto : CpuTest { - [Test, Explicit, Description("AESD .16B, .16B")] + [Test, Description("AESD .16B, .16B")] public void Aesd_V([Values(0u)] uint Rd, [Values(1u)] uint Rn, [Values(0x7B5B546573745665ul)] ulong ValueH, @@ -39,7 +39,7 @@ namespace Ryujinx.Tests.Cpu }); } - [Test, Explicit, Description("AESE .16B, .16B")] + [Test, Description("AESE .16B, .16B")] public void Aese_V([Values(0u)] uint Rd, [Values(1u)] uint Rn, [Values(0x7B5B546573745665ul)] ulong ValueH, @@ -68,7 +68,7 @@ namespace Ryujinx.Tests.Cpu }); } - [Test, Explicit, Description("AESIMC .16B, .16B")] + [Test, Description("AESIMC .16B, .16B")] public void Aesimc_V([Values(0u)] uint Rd, [Values(1u, 0u)] uint Rn, [Values(0x8DCAB9DC035006BCul)] ulong ValueH, @@ -100,7 +100,7 @@ namespace Ryujinx.Tests.Cpu } } - [Test, Explicit, Description("AESMC .16B, .16B")] + [Test, Description("AESMC .16B, .16B")] public void Aesmc_V([Values(0u)] uint Rd, [Values(1u, 0u)] uint Rn, [Values(0x627A6F6644B109C8ul)] ulong ValueH, diff --git a/Ryujinx.Tests/Cpu/CpuTestSimdReg.cs b/Ryujinx.Tests/Cpu/CpuTestSimdReg.cs index 9aa938568..2ca91b37d 100644 --- a/Ryujinx.Tests/Cpu/CpuTestSimdReg.cs +++ b/Ryujinx.Tests/Cpu/CpuTestSimdReg.cs @@ -1690,8 +1690,8 @@ namespace Ryujinx.Tests.Cpu [Values(1u, 0u)] uint Rn, [Values(2u, 0u)] uint Rm, [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong Z, - [ValueSource("_4H2S1D_")] [Random(RndCnt)] ulong A, - [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong B, + [ValueSource("_4H2S1D_")] [Random(RndCnt)] ulong A, + [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong B, [Values(0b00u, 0b01u, 0b10u)] uint size) // <8B8H8H, 4H4S4S, 2S2D2D> { uint Opcode = 0x0E201000; // SADDW V0.8H, V0.8H, V0.8B @@ -1721,8 +1721,8 @@ namespace Ryujinx.Tests.Cpu [Values(1u, 0u)] uint Rn, [Values(2u, 0u)] uint Rm, [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong Z, - [ValueSource("_4H2S1D_")] [Random(RndCnt)] ulong A, - [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong B, + [ValueSource("_4H2S1D_")] [Random(RndCnt)] ulong A, + [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong B, [Values(0b00u, 0b01u, 0b10u)] uint size) // <16B8H8H, 8H4S4S, 4S2D2D> { uint Opcode = 0x4E201000; // SADDW2 V0.8H, V0.8H, V0.16B @@ -1747,13 +1747,13 @@ namespace Ryujinx.Tests.Cpu }); } - [Test, Explicit, Description("SHA256H , , .4S")] // 2916 tests. + [Test, Pairwise, Description("SHA256H , , .4S")] public void Sha256h_V([Values(0u)] uint Rd, [Values(1u, 0u)] uint Rn, [Values(2u, 0u)] uint Rm, - [Random(3)] ulong Z0, [Random(3)] ulong Z1, - [Random(3)] ulong A0, [Random(3)] ulong A1, - [Random(3)] ulong B0, [Random(3)] ulong B1) + [Random(RndCnt / 2)] ulong Z0, [Random(RndCnt / 2)] ulong Z1, + [Random(RndCnt / 2)] ulong A0, [Random(RndCnt / 2)] ulong A1, + [Random(RndCnt / 2)] ulong B0, [Random(RndCnt / 2)] ulong B1) { uint Opcode = 0x5E004000; // SHA256H Q0, Q0, V0.4S Opcode |= ((Rm & 31) << 16) | ((Rn & 31) << 5) | ((Rd & 31) << 0); @@ -1784,13 +1784,13 @@ namespace Ryujinx.Tests.Cpu }); } - [Test, Explicit, Description("SHA256H2 , , .4S")] // 2916 tests. + [Test, Pairwise, Description("SHA256H2 , , .4S")] public void Sha256h2_V([Values(0u)] uint Rd, [Values(1u, 0u)] uint Rn, [Values(2u, 0u)] uint Rm, - [Random(3)] ulong Z0, [Random(3)] ulong Z1, - [Random(3)] ulong A0, [Random(3)] ulong A1, - [Random(3)] ulong B0, [Random(3)] ulong B1) + [Random(RndCnt / 2)] ulong Z0, [Random(RndCnt / 2)] ulong Z1, + [Random(RndCnt / 2)] ulong A0, [Random(RndCnt / 2)] ulong A1, + [Random(RndCnt / 2)] ulong B0, [Random(RndCnt / 2)] ulong B1) { uint Opcode = 0x5E005000; // SHA256H2 Q0, Q0, V0.4S Opcode |= ((Rm & 31) << 16) | ((Rn & 31) << 5) | ((Rd & 31) << 0); @@ -1821,13 +1821,13 @@ namespace Ryujinx.Tests.Cpu }); } - [Test, Explicit, Description("SHA256SU1 .4S, .4S, .4S")] // 2916 tests. + [Test, Pairwise, Description("SHA256SU1 .4S, .4S, .4S")] public void Sha256su1_V([Values(0u)] uint Rd, [Values(1u, 0u)] uint Rn, [Values(2u, 0u)] uint Rm, - [Random(3)] ulong Z0, [Random(3)] ulong Z1, - [Random(3)] ulong A0, [Random(3)] ulong A1, - [Random(3)] ulong B0, [Random(3)] ulong B1) + [Random(RndCnt / 2)] ulong Z0, [Random(RndCnt / 2)] ulong Z1, + [Random(RndCnt / 2)] ulong A0, [Random(RndCnt / 2)] ulong A1, + [Random(RndCnt / 2)] ulong B0, [Random(RndCnt / 2)] ulong B1) { uint Opcode = 0x5E006000; // SHA256SU1 V0.4S, V0.4S, V0.4S Opcode |= ((Rm & 31) << 16) | ((Rn & 31) << 5) | ((Rd & 31) << 0); @@ -1858,6 +1858,130 @@ namespace Ryujinx.Tests.Cpu }); } + [Test, Pairwise, Description("SHADD ., ., .")] + public void Shadd_V_8B_4H_2S([Values(0u)] uint Rd, + [Values(1u, 0u)] uint Rn, + [Values(2u, 0u)] uint Rm, + [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong Z, + [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong A, + [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong B, + [Values(0b00u, 0b01u, 0b10u)] uint size) // <8B, 4H, 2S> + { + uint Opcode = 0x0E200400; // SHADD V0.8B, V0.8B, V0.8B + Opcode |= ((Rm & 31) << 16) | ((Rn & 31) << 5) | ((Rd & 31) << 0); + Opcode |= ((size & 3) << 22); + Bits Op = new Bits(Opcode); + + Vector128 V0 = MakeVectorE0E1(Z, Z); + Vector128 V1 = MakeVectorE0(A); + Vector128 V2 = MakeVectorE0(B); + AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1, V2: V2); + + AArch64.Vpart(0, 0, new Bits(Z)); AArch64.Vpart(0, 1, new Bits(Z)); + AArch64.V(1, new Bits(A)); + AArch64.V(2, new Bits(B)); + SimdFp.Shadd_V(Op[30], Op[23, 22], Op[20, 16], Op[9, 5], Op[4, 0]); + + Assert.Multiple(() => + { + Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); + Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); + }); + } + + [Test, Pairwise, Description("SHADD ., ., .")] + public void Shadd_V_16B_8H_4S([Values(0u)] uint Rd, + [Values(1u, 0u)] uint Rn, + [Values(2u, 0u)] uint Rm, + [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong Z, + [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong A, + [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong B, + [Values(0b00u, 0b01u, 0b10u)] uint size) // <16B, 8H, 4S> + { + uint Opcode = 0x4E200400; // SHADD V0.16B, V0.16B, V0.16B + Opcode |= ((Rm & 31) << 16) | ((Rn & 31) << 5) | ((Rd & 31) << 0); + Opcode |= ((size & 3) << 22); + Bits Op = new Bits(Opcode); + + Vector128 V0 = MakeVectorE0E1(Z, Z); + Vector128 V1 = MakeVectorE0E1(A, A); + Vector128 V2 = MakeVectorE0E1(B, B); + AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1, V2: V2); + + AArch64.Vpart(0, 0, new Bits(Z)); AArch64.Vpart(0, 1, new Bits(Z)); + AArch64.Vpart(1, 0, new Bits(A)); AArch64.Vpart(1, 1, new Bits(A)); + AArch64.Vpart(2, 0, new Bits(B)); AArch64.Vpart(2, 1, new Bits(B)); + SimdFp.Shadd_V(Op[30], Op[23, 22], Op[20, 16], Op[9, 5], Op[4, 0]); + + Assert.Multiple(() => + { + Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); + Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); + }); + } + + [Test, Pairwise, Description("SHSUB ., ., .")] + public void Shsub_V_8B_4H_2S([Values(0u)] uint Rd, + [Values(1u, 0u)] uint Rn, + [Values(2u, 0u)] uint Rm, + [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong Z, + [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong A, + [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong B, + [Values(0b00u, 0b01u, 0b10u)] uint size) // <8B, 4H, 2S> + { + uint Opcode = 0x0E202400; // SHSUB V0.8B, V0.8B, V0.8B + Opcode |= ((Rm & 31) << 16) | ((Rn & 31) << 5) | ((Rd & 31) << 0); + Opcode |= ((size & 3) << 22); + Bits Op = new Bits(Opcode); + + Vector128 V0 = MakeVectorE0E1(Z, Z); + Vector128 V1 = MakeVectorE0(A); + Vector128 V2 = MakeVectorE0(B); + AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1, V2: V2); + + AArch64.Vpart(0, 0, new Bits(Z)); AArch64.Vpart(0, 1, new Bits(Z)); + AArch64.V(1, new Bits(A)); + AArch64.V(2, new Bits(B)); + SimdFp.Shsub_V(Op[30], Op[23, 22], Op[20, 16], Op[9, 5], Op[4, 0]); + + Assert.Multiple(() => + { + Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); + Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); + }); + } + + [Test, Pairwise, Description("SHSUB ., ., .")] + public void Shsub_V_16B_8H_4S([Values(0u)] uint Rd, + [Values(1u, 0u)] uint Rn, + [Values(2u, 0u)] uint Rm, + [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong Z, + [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong A, + [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong B, + [Values(0b00u, 0b01u, 0b10u)] uint size) // <16B, 8H, 4S> + { + uint Opcode = 0x4E202400; // SHSUB V0.16B, V0.16B, V0.16B + Opcode |= ((Rm & 31) << 16) | ((Rn & 31) << 5) | ((Rd & 31) << 0); + Opcode |= ((size & 3) << 22); + Bits Op = new Bits(Opcode); + + Vector128 V0 = MakeVectorE0E1(Z, Z); + Vector128 V1 = MakeVectorE0E1(A, A); + Vector128 V2 = MakeVectorE0E1(B, B); + AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1, V2: V2); + + AArch64.Vpart(0, 0, new Bits(Z)); AArch64.Vpart(0, 1, new Bits(Z)); + AArch64.Vpart(1, 0, new Bits(A)); AArch64.Vpart(1, 1, new Bits(A)); + AArch64.Vpart(2, 0, new Bits(B)); AArch64.Vpart(2, 1, new Bits(B)); + SimdFp.Shsub_V(Op[30], Op[23, 22], Op[20, 16], Op[9, 5], Op[4, 0]); + + Assert.Multiple(() => + { + Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); + Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); + }); + } + [Test, Pairwise, Description("SQADD , , ")] public void Sqadd_S_B_H_S_D([Values(0u)] uint Rd, [Values(1u, 0u)] uint Rn, @@ -2278,13 +2402,75 @@ namespace Ryujinx.Tests.Cpu Assert.That(ThreadState.Fpsr, Is.EqualTo((int)Shared.FPSR.ToUInt32())); } + [Test, Pairwise, Description("SRHADD ., ., .")] + public void Srhadd_V_8B_4H_2S([Values(0u)] uint Rd, + [Values(1u, 0u)] uint Rn, + [Values(2u, 0u)] uint Rm, + [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong Z, + [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong A, + [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong B, + [Values(0b00u, 0b01u, 0b10u)] uint size) // <8B, 4H, 2S> + { + uint Opcode = 0x0E201400; // SRHADD V0.8B, V0.8B, V0.8B + Opcode |= ((Rm & 31) << 16) | ((Rn & 31) << 5) | ((Rd & 31) << 0); + Opcode |= ((size & 3) << 22); + Bits Op = new Bits(Opcode); + + Vector128 V0 = MakeVectorE0E1(Z, Z); + Vector128 V1 = MakeVectorE0(A); + Vector128 V2 = MakeVectorE0(B); + AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1, V2: V2); + + AArch64.Vpart(0, 0, new Bits(Z)); AArch64.Vpart(0, 1, new Bits(Z)); + AArch64.V(1, new Bits(A)); + AArch64.V(2, new Bits(B)); + SimdFp.Srhadd_V(Op[30], Op[23, 22], Op[20, 16], Op[9, 5], Op[4, 0]); + + Assert.Multiple(() => + { + Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); + Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); + }); + } + + [Test, Pairwise, Description("SRHADD ., ., .")] + public void Srhadd_V_16B_8H_4S([Values(0u)] uint Rd, + [Values(1u, 0u)] uint Rn, + [Values(2u, 0u)] uint Rm, + [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong Z, + [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong A, + [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong B, + [Values(0b00u, 0b01u, 0b10u)] uint size) // <16B, 8H, 4S> + { + uint Opcode = 0x4E201400; // SRHADD V0.16B, V0.16B, V0.16B + Opcode |= ((Rm & 31) << 16) | ((Rn & 31) << 5) | ((Rd & 31) << 0); + Opcode |= ((size & 3) << 22); + Bits Op = new Bits(Opcode); + + Vector128 V0 = MakeVectorE0E1(Z, Z); + Vector128 V1 = MakeVectorE0E1(A, A); + Vector128 V2 = MakeVectorE0E1(B, B); + AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1, V2: V2); + + AArch64.Vpart(0, 0, new Bits(Z)); AArch64.Vpart(0, 1, new Bits(Z)); + AArch64.Vpart(1, 0, new Bits(A)); AArch64.Vpart(1, 1, new Bits(A)); + AArch64.Vpart(2, 0, new Bits(B)); AArch64.Vpart(2, 1, new Bits(B)); + SimdFp.Srhadd_V(Op[30], Op[23, 22], Op[20, 16], Op[9, 5], Op[4, 0]); + + Assert.Multiple(() => + { + Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); + Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); + }); + } + [Test, Pairwise, Description("SSUBW{2} ., ., .")] public void Ssubw_V_8B8H8H_4H4S4S_2S2D2D([Values(0u)] uint Rd, [Values(1u, 0u)] uint Rn, [Values(2u, 0u)] uint Rm, [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong Z, - [ValueSource("_4H2S1D_")] [Random(RndCnt)] ulong A, - [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong B, + [ValueSource("_4H2S1D_")] [Random(RndCnt)] ulong A, + [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong B, [Values(0b00u, 0b01u, 0b10u)] uint size) // <8B8H8H, 4H4S4S, 2S2D2D> { uint Opcode = 0x0E203000; // SSUBW V0.8H, V0.8H, V0.8B @@ -2314,8 +2500,8 @@ namespace Ryujinx.Tests.Cpu [Values(1u, 0u)] uint Rn, [Values(2u, 0u)] uint Rm, [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong Z, - [ValueSource("_4H2S1D_")] [Random(RndCnt)] ulong A, - [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong B, + [ValueSource("_4H2S1D_")] [Random(RndCnt)] ulong A, + [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong B, [Values(0b00u, 0b01u, 0b10u)] uint size) // <16B8H8H, 8H4S4S, 4S2D2D> { uint Opcode = 0x4E203000; // SSUBW2 V0.8H, V0.8H, V0.16B @@ -2870,8 +3056,8 @@ namespace Ryujinx.Tests.Cpu [Values(1u, 0u)] uint Rn, [Values(2u, 0u)] uint Rm, [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong Z, - [ValueSource("_4H2S1D_")] [Random(RndCnt)] ulong A, - [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong B, + [ValueSource("_4H2S1D_")] [Random(RndCnt)] ulong A, + [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong B, [Values(0b00u, 0b01u, 0b10u)] uint size) // <8B8H8H, 4H4S4S, 2S2D2D> { uint Opcode = 0x2E201000; // UADDW V0.8H, V0.8H, V0.8B @@ -2901,8 +3087,8 @@ namespace Ryujinx.Tests.Cpu [Values(1u, 0u)] uint Rn, [Values(2u, 0u)] uint Rm, [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong Z, - [ValueSource("_4H2S1D_")] [Random(RndCnt)] ulong A, - [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong B, + [ValueSource("_4H2S1D_")] [Random(RndCnt)] ulong A, + [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong B, [Values(0b00u, 0b01u, 0b10u)] uint size) // <16B8H8H, 8H4S4S, 4S2D2D> { uint Opcode = 0x6E201000; // UADDW2 V0.8H, V0.8H, V0.16B @@ -2927,6 +3113,130 @@ namespace Ryujinx.Tests.Cpu }); } + [Test, Pairwise, Description("UHADD ., ., .")] + public void Uhadd_V_8B_4H_2S([Values(0u)] uint Rd, + [Values(1u, 0u)] uint Rn, + [Values(2u, 0u)] uint Rm, + [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong Z, + [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong A, + [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong B, + [Values(0b00u, 0b01u, 0b10u)] uint size) // <8B, 4H, 2S> + { + uint Opcode = 0x2E200400; // UHADD V0.8B, V0.8B, V0.8B + Opcode |= ((Rm & 31) << 16) | ((Rn & 31) << 5) | ((Rd & 31) << 0); + Opcode |= ((size & 3) << 22); + Bits Op = new Bits(Opcode); + + Vector128 V0 = MakeVectorE0E1(Z, Z); + Vector128 V1 = MakeVectorE0(A); + Vector128 V2 = MakeVectorE0(B); + AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1, V2: V2); + + AArch64.Vpart(0, 0, new Bits(Z)); AArch64.Vpart(0, 1, new Bits(Z)); + AArch64.V(1, new Bits(A)); + AArch64.V(2, new Bits(B)); + SimdFp.Uhadd_V(Op[30], Op[23, 22], Op[20, 16], Op[9, 5], Op[4, 0]); + + Assert.Multiple(() => + { + Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); + Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); + }); + } + + [Test, Pairwise, Description("UHADD ., ., .")] + public void Uhadd_V_16B_8H_4S([Values(0u)] uint Rd, + [Values(1u, 0u)] uint Rn, + [Values(2u, 0u)] uint Rm, + [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong Z, + [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong A, + [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong B, + [Values(0b00u, 0b01u, 0b10u)] uint size) // <16B, 8H, 4S> + { + uint Opcode = 0x6E200400; // UHADD V0.16B, V0.16B, V0.16B + Opcode |= ((Rm & 31) << 16) | ((Rn & 31) << 5) | ((Rd & 31) << 0); + Opcode |= ((size & 3) << 22); + Bits Op = new Bits(Opcode); + + Vector128 V0 = MakeVectorE0E1(Z, Z); + Vector128 V1 = MakeVectorE0E1(A, A); + Vector128 V2 = MakeVectorE0E1(B, B); + AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1, V2: V2); + + AArch64.Vpart(0, 0, new Bits(Z)); AArch64.Vpart(0, 1, new Bits(Z)); + AArch64.Vpart(1, 0, new Bits(A)); AArch64.Vpart(1, 1, new Bits(A)); + AArch64.Vpart(2, 0, new Bits(B)); AArch64.Vpart(2, 1, new Bits(B)); + SimdFp.Uhadd_V(Op[30], Op[23, 22], Op[20, 16], Op[9, 5], Op[4, 0]); + + Assert.Multiple(() => + { + Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); + Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); + }); + } + + [Test, Pairwise, Description("UHSUB ., ., .")] + public void Uhsub_V_8B_4H_2S([Values(0u)] uint Rd, + [Values(1u, 0u)] uint Rn, + [Values(2u, 0u)] uint Rm, + [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong Z, + [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong A, + [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong B, + [Values(0b00u, 0b01u, 0b10u)] uint size) // <8B, 4H, 2S> + { + uint Opcode = 0x2E202400; // UHSUB V0.8B, V0.8B, V0.8B + Opcode |= ((Rm & 31) << 16) | ((Rn & 31) << 5) | ((Rd & 31) << 0); + Opcode |= ((size & 3) << 22); + Bits Op = new Bits(Opcode); + + Vector128 V0 = MakeVectorE0E1(Z, Z); + Vector128 V1 = MakeVectorE0(A); + Vector128 V2 = MakeVectorE0(B); + AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1, V2: V2); + + AArch64.Vpart(0, 0, new Bits(Z)); AArch64.Vpart(0, 1, new Bits(Z)); + AArch64.V(1, new Bits(A)); + AArch64.V(2, new Bits(B)); + SimdFp.Uhsub_V(Op[30], Op[23, 22], Op[20, 16], Op[9, 5], Op[4, 0]); + + Assert.Multiple(() => + { + Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); + Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); + }); + } + + [Test, Pairwise, Description("UHSUB ., ., .")] + public void Uhsub_V_16B_8H_4S([Values(0u)] uint Rd, + [Values(1u, 0u)] uint Rn, + [Values(2u, 0u)] uint Rm, + [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong Z, + [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong A, + [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong B, + [Values(0b00u, 0b01u, 0b10u)] uint size) // <16B, 8H, 4S> + { + uint Opcode = 0x6E202400; // UHSUB V0.16B, V0.16B, V0.16B + Opcode |= ((Rm & 31) << 16) | ((Rn & 31) << 5) | ((Rd & 31) << 0); + Opcode |= ((size & 3) << 22); + Bits Op = new Bits(Opcode); + + Vector128 V0 = MakeVectorE0E1(Z, Z); + Vector128 V1 = MakeVectorE0E1(A, A); + Vector128 V2 = MakeVectorE0E1(B, B); + AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1, V2: V2); + + AArch64.Vpart(0, 0, new Bits(Z)); AArch64.Vpart(0, 1, new Bits(Z)); + AArch64.Vpart(1, 0, new Bits(A)); AArch64.Vpart(1, 1, new Bits(A)); + AArch64.Vpart(2, 0, new Bits(B)); AArch64.Vpart(2, 1, new Bits(B)); + SimdFp.Uhsub_V(Op[30], Op[23, 22], Op[20, 16], Op[9, 5], Op[4, 0]); + + Assert.Multiple(() => + { + Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); + Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); + }); + } + [Test, Pairwise, Description("UQADD , , ")] public void Uqadd_S_B_H_S_D([Values(0u)] uint Rd, [Values(1u, 0u)] uint Rn, @@ -3137,13 +3447,75 @@ namespace Ryujinx.Tests.Cpu Assert.That(ThreadState.Fpsr, Is.EqualTo((int)Shared.FPSR.ToUInt32())); } + [Test, Pairwise, Description("URHADD ., ., .")] + public void Urhadd_V_8B_4H_2S([Values(0u)] uint Rd, + [Values(1u, 0u)] uint Rn, + [Values(2u, 0u)] uint Rm, + [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong Z, + [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong A, + [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong B, + [Values(0b00u, 0b01u, 0b10u)] uint size) // <8B, 4H, 2S> + { + uint Opcode = 0x2E201400; // URHADD V0.8B, V0.8B, V0.8B + Opcode |= ((Rm & 31) << 16) | ((Rn & 31) << 5) | ((Rd & 31) << 0); + Opcode |= ((size & 3) << 22); + Bits Op = new Bits(Opcode); + + Vector128 V0 = MakeVectorE0E1(Z, Z); + Vector128 V1 = MakeVectorE0(A); + Vector128 V2 = MakeVectorE0(B); + AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1, V2: V2); + + AArch64.Vpart(0, 0, new Bits(Z)); AArch64.Vpart(0, 1, new Bits(Z)); + AArch64.V(1, new Bits(A)); + AArch64.V(2, new Bits(B)); + SimdFp.Urhadd_V(Op[30], Op[23, 22], Op[20, 16], Op[9, 5], Op[4, 0]); + + Assert.Multiple(() => + { + Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); + Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); + }); + } + + [Test, Pairwise, Description("URHADD ., ., .")] + public void Urhadd_V_16B_8H_4S([Values(0u)] uint Rd, + [Values(1u, 0u)] uint Rn, + [Values(2u, 0u)] uint Rm, + [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong Z, + [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong A, + [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong B, + [Values(0b00u, 0b01u, 0b10u)] uint size) // <16B, 8H, 4S> + { + uint Opcode = 0x6E201400; // URHADD V0.16B, V0.16B, V0.16B + Opcode |= ((Rm & 31) << 16) | ((Rn & 31) << 5) | ((Rd & 31) << 0); + Opcode |= ((size & 3) << 22); + Bits Op = new Bits(Opcode); + + Vector128 V0 = MakeVectorE0E1(Z, Z); + Vector128 V1 = MakeVectorE0E1(A, A); + Vector128 V2 = MakeVectorE0E1(B, B); + AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1, V2: V2); + + AArch64.Vpart(0, 0, new Bits(Z)); AArch64.Vpart(0, 1, new Bits(Z)); + AArch64.Vpart(1, 0, new Bits(A)); AArch64.Vpart(1, 1, new Bits(A)); + AArch64.Vpart(2, 0, new Bits(B)); AArch64.Vpart(2, 1, new Bits(B)); + SimdFp.Urhadd_V(Op[30], Op[23, 22], Op[20, 16], Op[9, 5], Op[4, 0]); + + Assert.Multiple(() => + { + Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); + Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); + }); + } + [Test, Pairwise, Description("USUBW{2} ., ., .")] public void Usubw_V_8B8H8H_4H4S4S_2S2D2D([Values(0u)] uint Rd, [Values(1u, 0u)] uint Rn, [Values(2u, 0u)] uint Rm, [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong Z, - [ValueSource("_4H2S1D_")] [Random(RndCnt)] ulong A, - [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong B, + [ValueSource("_4H2S1D_")] [Random(RndCnt)] ulong A, + [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong B, [Values(0b00u, 0b01u, 0b10u)] uint size) // <8B8H8H, 4H4S4S, 2S2D2D> { uint Opcode = 0x2E203000; // USUBW V0.8H, V0.8H, V0.8B @@ -3173,8 +3545,8 @@ namespace Ryujinx.Tests.Cpu [Values(1u, 0u)] uint Rn, [Values(2u, 0u)] uint Rm, [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong Z, - [ValueSource("_4H2S1D_")] [Random(RndCnt)] ulong A, - [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong B, + [ValueSource("_4H2S1D_")] [Random(RndCnt)] ulong A, + [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong B, [Values(0b00u, 0b01u, 0b10u)] uint size) // <16B8H8H, 8H4S4S, 4S2D2D> { uint Opcode = 0x6E203000; // USUBW2 V0.8H, V0.8H, V0.16B diff --git a/Ryujinx.Tests/Cpu/Tester/Instructions.cs b/Ryujinx.Tests/Cpu/Tester/Instructions.cs index b0eff5880..206d3963b 100644 --- a/Ryujinx.Tests/Cpu/Tester/Instructions.cs +++ b/Ryujinx.Tests/Cpu/Tester/Instructions.cs @@ -5251,6 +5251,88 @@ namespace Ryujinx.Tests.Cpu.Tester V(d, result); } + // shadd_advsimd.html + public static void Shadd_V(bool Q, Bits size, Bits Rm, Bits Rn, Bits Rd) + { + const bool U = false; + + /* Decode */ + int d = (int)UInt(Rd); + int n = (int)UInt(Rn); + int m = (int)UInt(Rm); + + /* if size == '11' then ReservedValue(); */ + + int esize = 8 << (int)UInt(size); + int datasize = (Q ? 128 : 64); + int elements = datasize / esize; + + bool unsigned = (U == true); + + /* Operation */ + /* CheckFPAdvSIMDEnabled64(); */ + + Bits result = new Bits(datasize); + Bits operand1 = V(datasize, n); + Bits operand2 = V(datasize, m); + BigInteger element1; + BigInteger element2; + BigInteger sum; + + for (int e = 0; e <= elements - 1; e++) + { + element1 = Int(Elem(operand1, e, esize), unsigned); + element2 = Int(Elem(operand2, e, esize), unsigned); + + sum = element1 + element2; + + Elem(result, e, esize, sum.SubBigInteger(esize, 1)); + } + + V(d, result); + } + + // shsub_advsimd.html + public static void Shsub_V(bool Q, Bits size, Bits Rm, Bits Rn, Bits Rd) + { + const bool U = false; + + /* Decode */ + int d = (int)UInt(Rd); + int n = (int)UInt(Rn); + int m = (int)UInt(Rm); + + /* if size == '11' then ReservedValue(); */ + + int esize = 8 << (int)UInt(size); + int datasize = (Q ? 128 : 64); + int elements = datasize / esize; + + bool unsigned = (U == true); + + /* Operation */ + /* CheckFPAdvSIMDEnabled64(); */ + + Bits result = new Bits(datasize); + Bits operand1 = V(datasize, n); + Bits operand2 = V(datasize, m); + BigInteger element1; + BigInteger element2; + BigInteger diff; + + for (int e = 0; e <= elements - 1; e++) + { + element1 = Int(Elem(operand1, e, esize), unsigned); + element2 = Int(Elem(operand2, e, esize), unsigned); + + diff = element1 - element2; + + Elem(result, e, esize, diff.SubBigInteger(esize, 1)); + } + + V(d, result); + } + // sqadd_advsimd.html#SQADD_asisdsame_only public static void Sqadd_S(Bits size, Bits Rm, Bits Rn, Bits Rd) { @@ -5651,6 +5733,44 @@ namespace Ryujinx.Tests.Cpu.Tester V(d, result); } + // srhadd_advsimd.html + public static void Srhadd_V(bool Q, Bits size, Bits Rm, Bits Rn, Bits Rd) + { + const bool U = false; + + /* Decode */ + int d = (int)UInt(Rd); + int n = (int)UInt(Rn); + int m = (int)UInt(Rm); + + /* if size == '11' then ReservedValue(); */ + + int esize = 8 << (int)UInt(size); + int datasize = (Q ? 128 : 64); + int elements = datasize / esize; + + bool unsigned = (U == true); + + /* Operation */ + /* CheckFPAdvSIMDEnabled64(); */ + + Bits result = new Bits(datasize); + Bits operand1 = V(datasize, n); + Bits operand2 = V(datasize, m); + BigInteger element1; + BigInteger element2; + + for (int e = 0; e <= elements - 1; e++) + { + element1 = Int(Elem(operand1, e, esize), unsigned); + element2 = Int(Elem(operand2, e, esize), unsigned); + + Elem(result, e, esize, (element1 + element2 + 1).SubBigInteger(esize, 1)); + } + + V(d, result); + } + // ssubw_advsimd.html public static void Ssubw_V(bool Q, Bits size, Bits Rm, Bits Rn, Bits Rd) { @@ -6143,6 +6263,88 @@ namespace Ryujinx.Tests.Cpu.Tester V(d, result); } + // uhadd_advsimd.html + public static void Uhadd_V(bool Q, Bits size, Bits Rm, Bits Rn, Bits Rd) + { + const bool U = true; + + /* Decode */ + int d = (int)UInt(Rd); + int n = (int)UInt(Rn); + int m = (int)UInt(Rm); + + /* if size == '11' then ReservedValue(); */ + + int esize = 8 << (int)UInt(size); + int datasize = (Q ? 128 : 64); + int elements = datasize / esize; + + bool unsigned = (U == true); + + /* Operation */ + /* CheckFPAdvSIMDEnabled64(); */ + + Bits result = new Bits(datasize); + Bits operand1 = V(datasize, n); + Bits operand2 = V(datasize, m); + BigInteger element1; + BigInteger element2; + BigInteger sum; + + for (int e = 0; e <= elements - 1; e++) + { + element1 = Int(Elem(operand1, e, esize), unsigned); + element2 = Int(Elem(operand2, e, esize), unsigned); + + sum = element1 + element2; + + Elem(result, e, esize, sum.SubBigInteger(esize, 1)); + } + + V(d, result); + } + + // uhsub_advsimd.html + public static void Uhsub_V(bool Q, Bits size, Bits Rm, Bits Rn, Bits Rd) + { + const bool U = true; + + /* Decode */ + int d = (int)UInt(Rd); + int n = (int)UInt(Rn); + int m = (int)UInt(Rm); + + /* if size == '11' then ReservedValue(); */ + + int esize = 8 << (int)UInt(size); + int datasize = (Q ? 128 : 64); + int elements = datasize / esize; + + bool unsigned = (U == true); + + /* Operation */ + /* CheckFPAdvSIMDEnabled64(); */ + + Bits result = new Bits(datasize); + Bits operand1 = V(datasize, n); + Bits operand2 = V(datasize, m); + BigInteger element1; + BigInteger element2; + BigInteger diff; + + for (int e = 0; e <= elements - 1; e++) + { + element1 = Int(Elem(operand1, e, esize), unsigned); + element2 = Int(Elem(operand2, e, esize), unsigned); + + diff = element1 - element2; + + Elem(result, e, esize, diff.SubBigInteger(esize, 1)); + } + + V(d, result); + } + // uqadd_advsimd.html#UQADD_asisdsame_only public static void Uqadd_S(Bits size, Bits Rm, Bits Rn, Bits Rd) { @@ -6339,6 +6541,44 @@ namespace Ryujinx.Tests.Cpu.Tester V(d, result); } + // urhadd_advsimd.html + public static void Urhadd_V(bool Q, Bits size, Bits Rm, Bits Rn, Bits Rd) + { + const bool U = true; + + /* Decode */ + int d = (int)UInt(Rd); + int n = (int)UInt(Rn); + int m = (int)UInt(Rm); + + /* if size == '11' then ReservedValue(); */ + + int esize = 8 << (int)UInt(size); + int datasize = (Q ? 128 : 64); + int elements = datasize / esize; + + bool unsigned = (U == true); + + /* Operation */ + /* CheckFPAdvSIMDEnabled64(); */ + + Bits result = new Bits(datasize); + Bits operand1 = V(datasize, n); + Bits operand2 = V(datasize, m); + BigInteger element1; + BigInteger element2; + + for (int e = 0; e <= elements - 1; e++) + { + element1 = Int(Elem(operand1, e, esize), unsigned); + element2 = Int(Elem(operand2, e, esize), unsigned); + + Elem(result, e, esize, (element1 + element2 + 1).SubBigInteger(esize, 1)); + } + + V(d, result); + } + // usubw_advsimd.html public static void Usubw_V(bool Q, Bits size, Bits Rm, Bits Rn, Bits Rd) { From 27023e7afc603f2800a79d6bdbf87ce56e039664 Mon Sep 17 00:00:00 2001 From: HorrorTroll Date: Mon, 27 Aug 2018 21:18:21 +0700 Subject: [PATCH 14/24] Add R32_G32 texture format (#383) --- Ryujinx.Graphics/Gal/GalTextureFormat.cs | 1 + Ryujinx.Graphics/Gal/ImageFormatConverter.cs | 9 +++++++++ Ryujinx.Graphics/Gal/OpenGL/OGLEnumConverter.cs | 3 +++ Ryujinx.HLE/Gpu/Texture/TextureHelper.cs | 3 +++ Ryujinx.HLE/Gpu/Texture/TextureReader.cs | 1 + 5 files changed, 17 insertions(+) diff --git a/Ryujinx.Graphics/Gal/GalTextureFormat.cs b/Ryujinx.Graphics/Gal/GalTextureFormat.cs index 5ab7be89b..ed3d3d85d 100644 --- a/Ryujinx.Graphics/Gal/GalTextureFormat.cs +++ b/Ryujinx.Graphics/Gal/GalTextureFormat.cs @@ -4,6 +4,7 @@ namespace Ryujinx.Graphics.Gal { R32G32B32A32 = 0x1, R16G16B16A16 = 0x3, + R32G32 = 0x4, A8B8G8R8 = 0x8, A2B10G10R10 = 0x9, R32 = 0xf, diff --git a/Ryujinx.Graphics/Gal/ImageFormatConverter.cs b/Ryujinx.Graphics/Gal/ImageFormatConverter.cs index 2d20a8a0e..f7b79912a 100644 --- a/Ryujinx.Graphics/Gal/ImageFormatConverter.cs +++ b/Ryujinx.Graphics/Gal/ImageFormatConverter.cs @@ -75,6 +75,7 @@ namespace Ryujinx.Graphics.Gal { case GalTextureFormat.R32G32B32A32: return GalImageFormat.R32G32B32A32_SINT; case GalTextureFormat.R16G16B16A16: return GalImageFormat.R16G16B16A16_SINT; + case GalTextureFormat.R32G32: return GalImageFormat.R32G32_SINT; case GalTextureFormat.A8B8G8R8: return GalImageFormat.A8B8G8R8_SINT_PACK32; case GalTextureFormat.A2B10G10R10: return GalImageFormat.A2B10G10R10_SINT_PACK32; case GalTextureFormat.R32: return GalImageFormat.R32_SINT; @@ -89,6 +90,7 @@ namespace Ryujinx.Graphics.Gal { case GalTextureFormat.R32G32B32A32: return GalImageFormat.R32G32B32A32_UINT; case GalTextureFormat.R16G16B16A16: return GalImageFormat.R16G16B16A16_UINT; + case GalTextureFormat.R32G32: return GalImageFormat.R32G32_UINT; case GalTextureFormat.A8B8G8R8: return GalImageFormat.A8B8G8R8_UINT_PACK32; case GalTextureFormat.A2B10G10R10: return GalImageFormat.A2B10G10R10_UINT_PACK32; case GalTextureFormat.R32: return GalImageFormat.R32_UINT; @@ -111,6 +113,7 @@ namespace Ryujinx.Graphics.Gal { case GalTextureFormat.R32G32B32A32: return GalImageFormat.R32G32B32A32_SFLOAT; case GalTextureFormat.R16G16B16A16: return GalImageFormat.R16G16B16A16_SFLOAT; + case GalTextureFormat.R32G32: return GalImageFormat.R32G32_SFLOAT; case GalTextureFormat.R32: return GalImageFormat.R32_SFLOAT; case GalTextureFormat.BC6H_SF16: return GalImageFormat.BC6H_SFLOAT_BLOCK; case GalTextureFormat.BC6H_UF16: return GalImageFormat.BC6H_UFLOAT_BLOCK; @@ -142,6 +145,9 @@ namespace Ryujinx.Graphics.Gal case GalFrameBufferFormat.RG8Snorm: return GalImageFormat.R8_SNORM; case GalFrameBufferFormat.RGBA8Snorm: return GalImageFormat.A8B8G8R8_SNORM_PACK32; case GalFrameBufferFormat.RG8Unorm: return GalImageFormat.R8G8_UNORM; + case GalFrameBufferFormat.RG32Float: return GalImageFormat.R32G32_SFLOAT; + case GalFrameBufferFormat.RG32Sint: return GalImageFormat.R32G32_SINT; + case GalFrameBufferFormat.RG32Uint: return GalImageFormat.R32G32_UINT; } throw new NotImplementedException(Format.ToString()); @@ -169,6 +175,9 @@ namespace Ryujinx.Graphics.Gal case GalImageFormat.R16G16B16A16_SFLOAT: case GalImageFormat.R16G16B16A16_SINT: case GalImageFormat.R16G16B16A16_UINT: + case GalImageFormat.R32G32_SFLOAT: + case GalImageFormat.R32G32_SINT: + case GalImageFormat.R32G32_UINT: case GalImageFormat.A8B8G8R8_SNORM_PACK32: case GalImageFormat.A8B8G8R8_UNORM_PACK32: case GalImageFormat.A8B8G8R8_SINT_PACK32: diff --git a/Ryujinx.Graphics/Gal/OpenGL/OGLEnumConverter.cs b/Ryujinx.Graphics/Gal/OpenGL/OGLEnumConverter.cs index 64f670a5e..07147cc08 100644 --- a/Ryujinx.Graphics/Gal/OpenGL/OGLEnumConverter.cs +++ b/Ryujinx.Graphics/Gal/OpenGL/OGLEnumConverter.cs @@ -135,6 +135,9 @@ namespace Ryujinx.Graphics.Gal.OpenGL case GalImageFormat.R16G16B16A16_SFLOAT: return (PixelInternalFormat.Rgba16f, PixelFormat.Rgba, PixelType.HalfFloat); case GalImageFormat.R16G16B16A16_SINT: return (PixelInternalFormat.Rgba16i, PixelFormat.RgbaInteger, PixelType.Short); case GalImageFormat.R16G16B16A16_UINT: return (PixelInternalFormat.Rgba16ui, PixelFormat.RgbaInteger, PixelType.UnsignedShort); + case GalImageFormat.R32G32_SFLOAT: return (PixelInternalFormat.Rg32f, PixelFormat.Rg, PixelType.Float); + case GalImageFormat.R32G32_SINT: return (PixelInternalFormat.Rg32i, PixelFormat.RgInteger, PixelType.Int); + case GalImageFormat.R32G32_UINT: return (PixelInternalFormat.Rg32ui, PixelFormat.RgInteger, PixelType.UnsignedInt); case GalImageFormat.A8B8G8R8_SNORM_PACK32: return (PixelInternalFormat.Rgba8Snorm, PixelFormat.Rgba, PixelType.Byte); case GalImageFormat.A8B8G8R8_UNORM_PACK32: return (PixelInternalFormat.Rgba8, PixelFormat.Rgba, PixelType.UnsignedByte); case GalImageFormat.A8B8G8R8_SINT_PACK32: return (PixelInternalFormat.Rgba8i, PixelFormat.RgbaInteger, PixelType.Byte); diff --git a/Ryujinx.HLE/Gpu/Texture/TextureHelper.cs b/Ryujinx.HLE/Gpu/Texture/TextureHelper.cs index 92b608a95..89228b250 100644 --- a/Ryujinx.HLE/Gpu/Texture/TextureHelper.cs +++ b/Ryujinx.HLE/Gpu/Texture/TextureHelper.cs @@ -44,6 +44,9 @@ namespace Ryujinx.HLE.Gpu.Texture case GalImageFormat.R16G16B16A16_SNORM: case GalImageFormat.R16G16B16A16_UINT: case GalImageFormat.R16G16B16A16_UNORM: + case GalImageFormat.R32G32_SFLOAT: + case GalImageFormat.R32G32_SINT: + case GalImageFormat.R32G32_UINT: return Image.Width * Image.Height * 8; case GalImageFormat.A8B8G8R8_SINT_PACK32: diff --git a/Ryujinx.HLE/Gpu/Texture/TextureReader.cs b/Ryujinx.HLE/Gpu/Texture/TextureReader.cs index 19aa25d74..6bbc41cad 100644 --- a/Ryujinx.HLE/Gpu/Texture/TextureReader.cs +++ b/Ryujinx.HLE/Gpu/Texture/TextureReader.cs @@ -12,6 +12,7 @@ namespace Ryujinx.HLE.Gpu.Texture { case GalTextureFormat.R32G32B32A32: return Read16Bpp (Memory, Texture); case GalTextureFormat.R16G16B16A16: return Read8Bpp (Memory, Texture); + case GalTextureFormat.R32G32: return Read8Bpp (Memory, Texture); case GalTextureFormat.A8B8G8R8: return Read4Bpp (Memory, Texture); case GalTextureFormat.A2B10G10R10: return Read4Bpp (Memory, Texture); case GalTextureFormat.R32: return Read4Bpp (Memory, Texture); From 7cb6fd8090513b703da9b83dec04866647694f09 Mon Sep 17 00:00:00 2001 From: ReinUsesLisp Date: Thu, 30 Aug 2018 13:14:45 -0300 Subject: [PATCH 15/24] Fixup HasColor for depth/stencil values (#379) --- Ryujinx.Graphics/Gal/ImageFormatConverter.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Ryujinx.Graphics/Gal/ImageFormatConverter.cs b/Ryujinx.Graphics/Gal/ImageFormatConverter.cs index f7b79912a..a56ab1a3f 100644 --- a/Ryujinx.Graphics/Gal/ImageFormatConverter.cs +++ b/Ryujinx.Graphics/Gal/ImageFormatConverter.cs @@ -237,7 +237,7 @@ namespace Ryujinx.Graphics.Gal case GalImageFormat.D24_UNORM_S8_UINT: case GalImageFormat.D32_SFLOAT: case GalImageFormat.D16_UNORM: - return true; + return false; } throw new NotImplementedException(Format.ToString()); From 42dc925c3da59bf8801b14779482ee5bd9c25dc0 Mon Sep 17 00:00:00 2001 From: ReinUsesLisp Date: Fri, 31 Aug 2018 13:14:04 -0300 Subject: [PATCH 16/24] Implement SSY/SYNC shader instructions (#382) * Use a program counter to control shaders' flow * Cleanup * Implement SSY/SYNC * Address feedback * Fixup commentary * Fixup Ssy instruction --- Ryujinx.Graphics/Gal/Shader/GlslDecl.cs | 10 +- Ryujinx.Graphics/Gal/Shader/GlslDecompiler.cs | 324 +++++++++--------- Ryujinx.Graphics/Gal/Shader/ShaderDecode.cs | 2 +- .../Gal/Shader/ShaderDecodeAlu.cs | 128 +++---- .../Gal/Shader/ShaderDecodeFlow.cs | 31 +- .../Gal/Shader/ShaderDecodeMem.cs | 16 +- .../Gal/Shader/ShaderDecodeMove.cs | 42 +-- .../Gal/Shader/ShaderDecodeSpecial.cs | 2 +- Ryujinx.Graphics/Gal/Shader/ShaderDecoder.cs | 22 +- Ryujinx.Graphics/Gal/Shader/ShaderIrInst.cs | 2 + .../Gal/Shader/ShaderOpCodeTable.cs | 2 + 11 files changed, 313 insertions(+), 268 deletions(-) diff --git a/Ryujinx.Graphics/Gal/Shader/GlslDecl.cs b/Ryujinx.Graphics/Gal/Shader/GlslDecl.cs index c22a282dc..c837632ec 100644 --- a/Ryujinx.Graphics/Gal/Shader/GlslDecl.cs +++ b/Ryujinx.Graphics/Gal/Shader/GlslDecl.cs @@ -43,9 +43,13 @@ namespace Ryujinx.Graphics.Gal.Shader public const string FlipUniformName = "flip"; public const string InstanceUniformName = "instance"; - public const string ProgramName = "program"; - public const string ProgramAName = ProgramName + "_a"; - public const string ProgramBName = ProgramName + "_b"; + public const string BasicBlockName = "bb"; + public const string BasicBlockAName = BasicBlockName + "_a"; + public const string BasicBlockBName = BasicBlockName + "_b"; + + public const int SsyStackSize = 16; + public const string SsyStackName = "ssy_stack"; + public const string SsyCursorName = "ssy_cursor"; private string[] StagePrefixes = new string[] { "vp", "tcp", "tep", "gp", "fp" }; diff --git a/Ryujinx.Graphics/Gal/Shader/GlslDecompiler.cs b/Ryujinx.Graphics/Gal/Shader/GlslDecompiler.cs index 984684f16..104fd7235 100644 --- a/Ryujinx.Graphics/Gal/Shader/GlslDecompiler.cs +++ b/Ryujinx.Graphics/Gal/Shader/GlslDecompiler.cs @@ -155,18 +155,19 @@ namespace Ryujinx.Graphics.Gal.Shader PrintDeclOutAttributes(); PrintDeclGprs(); PrintDeclPreds(); + PrintDeclSsy(); if (BlocksB != null) { - PrintBlockScope(Blocks[0], null, null, "void " + GlslDecl.ProgramAName + "()", IdentationStr); + PrintBlockScope(Blocks, GlslDecl.BasicBlockAName); SB.AppendLine(); - PrintBlockScope(BlocksB[0], null, null, "void " + GlslDecl.ProgramBName + "()", IdentationStr); + PrintBlockScope(BlocksB, GlslDecl.BasicBlockBName); } else { - PrintBlockScope(Blocks[0], null, null, "void " + GlslDecl.ProgramName + "()", IdentationStr); + PrintBlockScope(Blocks, GlslDecl.BasicBlockName); } SB.AppendLine(); @@ -357,6 +358,13 @@ namespace Ryujinx.Graphics.Gal.Shader PrintDecls(Decl.Preds, "bool"); } + private void PrintDeclSsy() + { + SB.AppendLine("uint " + GlslDecl.SsyCursorName + ";"); + + SB.AppendLine("uint " + GlslDecl.SsyStackName + "[" + GlslDecl.SsyStackSize + "];" + Environment.NewLine); + } + private void PrintDecls(IReadOnlyDictionary Dict, string CustomType = null, string Suffix = "") { foreach (ShaderDeclInfo DeclInfo in Dict.Values.OrderBy(DeclKeySelector)) @@ -432,14 +440,16 @@ namespace Ryujinx.Graphics.Gal.Shader } } + SB.AppendLine(IdentationStr + "uint pc;"); + if (BlocksB != null) { - SB.AppendLine(IdentationStr + GlslDecl.ProgramAName + "();"); - SB.AppendLine(IdentationStr + GlslDecl.ProgramBName + "();"); + PrintProgram(Blocks, GlslDecl.BasicBlockAName); + PrintProgram(BlocksB, GlslDecl.BasicBlockBName); } else { - SB.AppendLine(IdentationStr + GlslDecl.ProgramName + "();"); + PrintProgram(Blocks, GlslDecl.BasicBlockName); } if (Decl.ShaderType != GalShaderType.Geometry) @@ -477,6 +487,32 @@ namespace Ryujinx.Graphics.Gal.Shader SB.AppendLine("}"); } + private void PrintProgram(ShaderIrBlock[] Blocks, string Name) + { + const string Ident1 = IdentationStr; + const string Ident2 = Ident1 + IdentationStr; + const string Ident3 = Ident2 + IdentationStr; + const string Ident4 = Ident3 + IdentationStr; + + SB.AppendLine(Ident1 + "pc = " + GetBlockPosition(Blocks[0]) + ";"); + SB.AppendLine(Ident1 + "do {"); + SB.AppendLine(Ident2 + "switch (pc) {"); + + foreach (ShaderIrBlock Block in Blocks) + { + string FunctionName = Block.Position.ToString("x8"); + + SB.AppendLine(Ident3 + "case 0x" + FunctionName + ": pc = " + Name + "_" + FunctionName + "(); break;"); + } + + SB.AppendLine(Ident3 + "default:"); + SB.AppendLine(Ident4 + "pc = 0;"); + SB.AppendLine(Ident4 + "break;"); + + SB.AppendLine(Ident2 + "}"); + SB.AppendLine(Ident1 + "} while (pc != 0);"); + } + private void PrintAttrToOutput(string Identation = IdentationStr) { foreach (KeyValuePair KV in Decl.OutAttributes) @@ -510,193 +546,145 @@ namespace Ryujinx.Graphics.Gal.Shader } } - private void PrintBlockScope( - ShaderIrBlock Block, - ShaderIrBlock EndBlock, - ShaderIrBlock LoopBlock, - string ScopeName, - string Identation, - bool IsDoWhile = false) + private void PrintBlockScope(ShaderIrBlock[] Blocks, string Name) { - string UpIdent = Identation.Substring(0, Identation.Length - IdentationStr.Length); + foreach (ShaderIrBlock Block in Blocks) + { + SB.AppendLine("uint " + Name + "_" + Block.Position.ToString("x8") + "() {"); - if (IsDoWhile) - { - SB.AppendLine(UpIdent + "do {"); - } - else - { - SB.AppendLine(UpIdent + ScopeName + " {"); - } + PrintNodes(Block, Block.GetNodes()); - while (Block != null && Block != EndBlock) - { - ShaderIrNode[] Nodes = Block.GetNodes(); - - Block = PrintNodes(Block, EndBlock, LoopBlock, Identation, Nodes); - } - - if (IsDoWhile) - { - SB.AppendLine(UpIdent + "} " + ScopeName + ";"); - } - else - { - SB.AppendLine(UpIdent + "}"); + SB.AppendLine("}" + Environment.NewLine); } } - private ShaderIrBlock PrintNodes( - ShaderIrBlock Block, - ShaderIrBlock EndBlock, - ShaderIrBlock LoopBlock, - string Identation, - params ShaderIrNode[] Nodes) + private void PrintNode(ShaderIrBlock Block, ShaderIrNode Node, string Identation) { - /* - * Notes about control flow and if-else/loop generation: - * The code assumes that the program has sane control flow, - * that is, there's no jumps to a location after another jump or - * jump target (except for the end of an if-else block), and backwards - * jumps to a location before the last loop dominator. - * Such cases needs to be transformed on a step before the GLSL code - * generation to ensure that we have sane graphs to work with. - * TODO: Such transformation is not yet implemented. - */ - string NewIdent = Identation + IdentationStr; - - ShaderIrBlock LoopTail = GetLoopTailBlock(Block); - - if (LoopTail != null && LoopBlock != Block) + if (Node is ShaderIrCond Cond) { - //Shoock! kuma shock! We have a loop here! - //The entire sequence needs to be inside a do-while block. - ShaderIrBlock LoopEnd = GetDownBlock(LoopTail); + string IfExpr = GetSrcExpr(Cond.Pred, true); - PrintBlockScope(Block, LoopEnd, Block, "while (false)", NewIdent, IsDoWhile: true); + if (Cond.Not) + { + IfExpr = "!(" + IfExpr + ")"; + } - return LoopEnd; + SB.AppendLine(Identation + "if (" + IfExpr + ") {"); + + if (Cond.Child is ShaderIrOp Op && Op.Inst == ShaderIrInst.Bra) + { + SB.AppendLine(Identation + IdentationStr + "return " + GetBlockPosition(Block.Branch) + ";"); + } + else + { + PrintNode(Block, Cond.Child, Identation + IdentationStr); + } + + SB.AppendLine(Identation + "}"); } - - foreach (ShaderIrNode Node in Nodes) + else if (Node is ShaderIrAsg Asg) { - if (Node is ShaderIrCond Cond) + if (IsValidOutOper(Asg.Dst)) { - string IfExpr = GetSrcExpr(Cond.Pred, true); + string Expr = GetSrcExpr(Asg.Src, true); - if (Cond.Not) - { - IfExpr = "!(" + IfExpr + ")"; - } + Expr = GetExprWithCast(Asg.Dst, Asg.Src, Expr); - if (Cond.Child is ShaderIrOp Op && Op.Inst == ShaderIrInst.Bra) - { - //Branch is a loop branch and would result in infinite recursion. - if (Block.Branch.Position <= Block.Position) - { - SB.AppendLine(Identation + "if (" + IfExpr + ") {"); - - SB.AppendLine(Identation + IdentationStr + "continue;"); - - SB.AppendLine(Identation + "}"); - - continue; - } - - string SubScopeName = "if (!" + IfExpr + ")"; - - PrintBlockScope(Block.Next, Block.Branch, LoopBlock, SubScopeName, NewIdent); - - ShaderIrBlock IfElseEnd = GetUpBlock(Block.Branch).Branch; - - if (IfElseEnd?.Position > Block.Branch.Position) - { - PrintBlockScope(Block.Branch, IfElseEnd, LoopBlock, "else", NewIdent); - - return IfElseEnd; - } - - return Block.Branch; - } - else - { - SB.AppendLine(Identation + "if (" + IfExpr + ") {"); - - PrintNodes(Block, EndBlock, LoopBlock, NewIdent, Cond.Child); - - SB.AppendLine(Identation + "}"); - } + SB.AppendLine(Identation + GetDstOperName(Asg.Dst) + " = " + Expr + ";"); } - else if (Node is ShaderIrAsg Asg) + } + else if (Node is ShaderIrOp Op) + { + switch (Op.Inst) { - if (IsValidOutOper(Asg.Dst)) + case ShaderIrInst.Bra: { - string Expr = GetSrcExpr(Asg.Src, true); + SB.AppendLine(Identation + "return " + GetBlockPosition(Block.Branch) + ";"); - Expr = GetExprWithCast(Asg.Dst, Asg.Src, Expr); + break; + } - SB.AppendLine(Identation + GetDstOperName(Asg.Dst) + " = " + Expr + ";"); - } - } - else if (Node is ShaderIrOp Op) - { - if (Op.Inst == ShaderIrInst.Bra) - { - if (Block.Branch.Position <= Block.Position) - { - SB.AppendLine(Identation + "continue;"); - } - } - else if (Op.Inst == ShaderIrInst.Emit) + case ShaderIrInst.Emit: { PrintAttrToOutput(Identation); SB.AppendLine(Identation + "EmitVertex();"); + + break; } - else + + case ShaderIrInst.Ssy: { + string StackIndex = GlslDecl.SsyStackName + "[" + GlslDecl.SsyCursorName + "]"; + + int TargetPosition = (Op.OperandA as ShaderIrOperImm).Value; + + string Target = "0x" + TargetPosition.ToString("x8") + "u"; + + SB.AppendLine(Identation + StackIndex + " = " + Target + ";"); + + SB.AppendLine(Identation + GlslDecl.SsyCursorName + "++;"); + + break; + } + + case ShaderIrInst.Sync: + { + SB.AppendLine(Identation + GlslDecl.SsyCursorName + "--;"); + + string Target = GlslDecl.SsyStackName + "[" + GlslDecl.SsyCursorName + "]"; + + SB.AppendLine(Identation + "return " + Target + ";"); + + break; + } + + default: SB.AppendLine(Identation + GetSrcExpr(Op, true) + ";"); - } - } - else if (Node is ShaderIrCmnt Cmnt) - { - SB.AppendLine(Identation + "// " + Cmnt.Comment); - } - else - { - throw new InvalidOperationException(); + break; } } - - return Block.Next; - } - - private ShaderIrBlock GetUpBlock(ShaderIrBlock Block) - { - return Blocks.FirstOrDefault(x => x.EndPosition == Block.Position); - } - - private ShaderIrBlock GetDownBlock(ShaderIrBlock Block) - { - return Blocks.FirstOrDefault(x => x.Position == Block.EndPosition); - } - - private ShaderIrBlock GetLoopTailBlock(ShaderIrBlock LoopHead) - { - ShaderIrBlock Tail = null; - - foreach (ShaderIrBlock Block in LoopHead.Sources) + else if (Node is ShaderIrCmnt Cmnt) { - if (Block.Position >= LoopHead.Position) - { - if (Tail == null || Tail.Position < Block.Position) - { - Tail = Block; - } - } + SB.AppendLine(Identation + "// " + Cmnt.Comment); + } + else + { + throw new InvalidOperationException(); + } + } + + private void PrintNodes(ShaderIrBlock Block, ShaderIrNode[] Nodes) + { + foreach (ShaderIrNode Node in Nodes) + { + PrintNode(Block, Node, IdentationStr); } - return Tail; + if (Nodes.Length > 0) + { + ShaderIrNode Last = Nodes[Nodes.Length - 1]; + + bool UnconditionalFlowChange = false; + + if (Last is ShaderIrOp Op) + { + switch (Op.Inst) + { + case ShaderIrInst.Bra: + case ShaderIrInst.Exit: + case ShaderIrInst.Kil: + case ShaderIrInst.Sync: + UnconditionalFlowChange = true; + break; + } + } + + if (!UnconditionalFlowChange) + { + SB.AppendLine(IdentationStr + "return " + GetBlockPosition(Block.Next) + ";"); + } + } } private bool IsValidOutOper(ShaderIrNode Node) @@ -1006,7 +994,7 @@ namespace Ryujinx.Graphics.Gal.Shader private string GetCnumExpr(ShaderIrOp Op) => GetUnaryCall(Op, "!isnan"); - private string GetExitExpr(ShaderIrOp Op) => "return"; + private string GetExitExpr(ShaderIrOp Op) => "return 0u"; private string GetFcosExpr(ShaderIrOp Op) => GetUnaryCall(Op, "cos"); @@ -1351,5 +1339,17 @@ namespace Ryujinx.Graphics.Gal.Shader throw new ArgumentException(nameof(Node)); } + + private static string GetBlockPosition(ShaderIrBlock Block) + { + if (Block != null) + { + return "0x" + Block.Position.ToString("x8") + "u"; + } + else + { + return "0u"; + } + } } } diff --git a/Ryujinx.Graphics/Gal/Shader/ShaderDecode.cs b/Ryujinx.Graphics/Gal/Shader/ShaderDecode.cs index ef0fd78bd..73625f65f 100644 --- a/Ryujinx.Graphics/Gal/Shader/ShaderDecode.cs +++ b/Ryujinx.Graphics/Gal/Shader/ShaderDecode.cs @@ -1,4 +1,4 @@ namespace Ryujinx.Graphics.Gal.Shader { - delegate void ShaderDecodeFunc(ShaderIrBlock Block, long OpCode); + delegate void ShaderDecodeFunc(ShaderIrBlock Block, long OpCode, long Position); } \ No newline at end of file diff --git a/Ryujinx.Graphics/Gal/Shader/ShaderDecodeAlu.cs b/Ryujinx.Graphics/Gal/Shader/ShaderDecodeAlu.cs index b60da7c1c..5eb761dab 100644 --- a/Ryujinx.Graphics/Gal/Shader/ShaderDecodeAlu.cs +++ b/Ryujinx.Graphics/Gal/Shader/ShaderDecodeAlu.cs @@ -6,32 +6,32 @@ namespace Ryujinx.Graphics.Gal.Shader { static partial class ShaderDecode { - public static void Bfe_C(ShaderIrBlock Block, long OpCode) + public static void Bfe_C(ShaderIrBlock Block, long OpCode, long Position) { EmitBfe(Block, OpCode, ShaderOper.CR); } - public static void Bfe_I(ShaderIrBlock Block, long OpCode) + public static void Bfe_I(ShaderIrBlock Block, long OpCode, long Position) { EmitBfe(Block, OpCode, ShaderOper.Imm); } - public static void Bfe_R(ShaderIrBlock Block, long OpCode) + public static void Bfe_R(ShaderIrBlock Block, long OpCode, long Position) { EmitBfe(Block, OpCode, ShaderOper.RR); } - public static void Fadd_C(ShaderIrBlock Block, long OpCode) + public static void Fadd_C(ShaderIrBlock Block, long OpCode, long Position) { EmitFadd(Block, OpCode, ShaderOper.CR); } - public static void Fadd_I(ShaderIrBlock Block, long OpCode) + public static void Fadd_I(ShaderIrBlock Block, long OpCode, long Position) { EmitFadd(Block, OpCode, ShaderOper.Immf); } - public static void Fadd_I32(ShaderIrBlock Block, long OpCode) + public static void Fadd_I32(ShaderIrBlock Block, long OpCode, long Position) { ShaderIrNode OperA = GetOperGpr8 (OpCode); ShaderIrNode OperB = GetOperImmf32_20(OpCode); @@ -49,47 +49,47 @@ namespace Ryujinx.Graphics.Gal.Shader Block.AddNode(GetPredNode(new ShaderIrAsg(GetOperGpr0(OpCode), Op), OpCode)); } - public static void Fadd_R(ShaderIrBlock Block, long OpCode) + public static void Fadd_R(ShaderIrBlock Block, long OpCode, long Position) { EmitFadd(Block, OpCode, ShaderOper.RR); } - public static void Ffma_CR(ShaderIrBlock Block, long OpCode) + public static void Ffma_CR(ShaderIrBlock Block, long OpCode, long Position) { EmitFfma(Block, OpCode, ShaderOper.CR); } - public static void Ffma_I(ShaderIrBlock Block, long OpCode) + public static void Ffma_I(ShaderIrBlock Block, long OpCode, long Position) { EmitFfma(Block, OpCode, ShaderOper.Immf); } - public static void Ffma_RC(ShaderIrBlock Block, long OpCode) + public static void Ffma_RC(ShaderIrBlock Block, long OpCode, long Position) { EmitFfma(Block, OpCode, ShaderOper.RC); } - public static void Ffma_RR(ShaderIrBlock Block, long OpCode) + public static void Ffma_RR(ShaderIrBlock Block, long OpCode, long Position) { EmitFfma(Block, OpCode, ShaderOper.RR); } - public static void Fmnmx_C(ShaderIrBlock Block, long OpCode) + public static void Fmnmx_C(ShaderIrBlock Block, long OpCode, long Position) { EmitFmnmx(Block, OpCode, ShaderOper.CR); } - public static void Fmnmx_I(ShaderIrBlock Block, long OpCode) + public static void Fmnmx_I(ShaderIrBlock Block, long OpCode, long Position) { EmitFmnmx(Block, OpCode, ShaderOper.Immf); } - public static void Fmnmx_R(ShaderIrBlock Block, long OpCode) + public static void Fmnmx_R(ShaderIrBlock Block, long OpCode, long Position) { EmitFmnmx(Block, OpCode, ShaderOper.RR); } - public static void Fmul_I32(ShaderIrBlock Block, long OpCode) + public static void Fmul_I32(ShaderIrBlock Block, long OpCode, long Position) { ShaderIrNode OperA = GetOperGpr8 (OpCode); ShaderIrNode OperB = GetOperImmf32_20(OpCode); @@ -99,62 +99,62 @@ namespace Ryujinx.Graphics.Gal.Shader Block.AddNode(GetPredNode(new ShaderIrAsg(GetOperGpr0(OpCode), Op), OpCode)); } - public static void Fmul_C(ShaderIrBlock Block, long OpCode) + public static void Fmul_C(ShaderIrBlock Block, long OpCode, long Position) { EmitFmul(Block, OpCode, ShaderOper.CR); } - public static void Fmul_I(ShaderIrBlock Block, long OpCode) + public static void Fmul_I(ShaderIrBlock Block, long OpCode, long Position) { EmitFmul(Block, OpCode, ShaderOper.Immf); } - public static void Fmul_R(ShaderIrBlock Block, long OpCode) + public static void Fmul_R(ShaderIrBlock Block, long OpCode, long Position) { EmitFmul(Block, OpCode, ShaderOper.RR); } - public static void Fset_C(ShaderIrBlock Block, long OpCode) + public static void Fset_C(ShaderIrBlock Block, long OpCode, long Position) { EmitFset(Block, OpCode, ShaderOper.CR); } - public static void Fset_I(ShaderIrBlock Block, long OpCode) + public static void Fset_I(ShaderIrBlock Block, long OpCode, long Position) { EmitFset(Block, OpCode, ShaderOper.Immf); } - public static void Fset_R(ShaderIrBlock Block, long OpCode) + public static void Fset_R(ShaderIrBlock Block, long OpCode, long Position) { EmitFset(Block, OpCode, ShaderOper.RR); } - public static void Fsetp_C(ShaderIrBlock Block, long OpCode) + public static void Fsetp_C(ShaderIrBlock Block, long OpCode, long Position) { EmitFsetp(Block, OpCode, ShaderOper.CR); } - public static void Fsetp_I(ShaderIrBlock Block, long OpCode) + public static void Fsetp_I(ShaderIrBlock Block, long OpCode, long Position) { EmitFsetp(Block, OpCode, ShaderOper.Immf); } - public static void Fsetp_R(ShaderIrBlock Block, long OpCode) + public static void Fsetp_R(ShaderIrBlock Block, long OpCode, long Position) { EmitFsetp(Block, OpCode, ShaderOper.RR); } - public static void Iadd_C(ShaderIrBlock Block, long OpCode) + public static void Iadd_C(ShaderIrBlock Block, long OpCode, long Position) { EmitIadd(Block, OpCode, ShaderOper.CR); } - public static void Iadd_I(ShaderIrBlock Block, long OpCode) + public static void Iadd_I(ShaderIrBlock Block, long OpCode, long Position) { EmitIadd(Block, OpCode, ShaderOper.Imm); } - public static void Iadd_I32(ShaderIrBlock Block, long OpCode) + public static void Iadd_I32(ShaderIrBlock Block, long OpCode, long Position) { ShaderIrNode OperA = GetOperGpr8 (OpCode); ShaderIrNode OperB = GetOperImm32_20(OpCode); @@ -168,42 +168,42 @@ namespace Ryujinx.Graphics.Gal.Shader Block.AddNode(GetPredNode(new ShaderIrAsg(GetOperGpr0(OpCode), Op), OpCode)); } - public static void Iadd_R(ShaderIrBlock Block, long OpCode) + public static void Iadd_R(ShaderIrBlock Block, long OpCode, long Position) { EmitIadd(Block, OpCode, ShaderOper.RR); } - public static void Iadd3_C(ShaderIrBlock Block, long OpCode) + public static void Iadd3_C(ShaderIrBlock Block, long OpCode, long Position) { EmitIadd3(Block, OpCode, ShaderOper.CR); } - public static void Iadd3_I(ShaderIrBlock Block, long OpCode) + public static void Iadd3_I(ShaderIrBlock Block, long OpCode, long Position) { EmitIadd3(Block, OpCode, ShaderOper.Imm); } - public static void Iadd3_R(ShaderIrBlock Block, long OpCode) + public static void Iadd3_R(ShaderIrBlock Block, long OpCode, long Position) { EmitIadd3(Block, OpCode, ShaderOper.RR); } - public static void Imnmx_C(ShaderIrBlock Block, long OpCode) + public static void Imnmx_C(ShaderIrBlock Block, long OpCode, long Position) { EmitImnmx(Block, OpCode, ShaderOper.CR); } - public static void Imnmx_I(ShaderIrBlock Block, long OpCode) + public static void Imnmx_I(ShaderIrBlock Block, long OpCode, long Position) { EmitImnmx(Block, OpCode, ShaderOper.Imm); } - public static void Imnmx_R(ShaderIrBlock Block, long OpCode) + public static void Imnmx_R(ShaderIrBlock Block, long OpCode, long Position) { EmitImnmx(Block, OpCode, ShaderOper.RR); } - public static void Ipa(ShaderIrBlock Block, long OpCode) + public static void Ipa(ShaderIrBlock Block, long OpCode, long Position) { ShaderIrNode OperA = GetOperAbuf28(OpCode); ShaderIrNode OperB = GetOperGpr20 (OpCode); @@ -213,52 +213,52 @@ namespace Ryujinx.Graphics.Gal.Shader Block.AddNode(GetPredNode(new ShaderIrAsg(GetOperGpr0(OpCode), Op), OpCode)); } - public static void Iscadd_C(ShaderIrBlock Block, long OpCode) + public static void Iscadd_C(ShaderIrBlock Block, long OpCode, long Position) { EmitIscadd(Block, OpCode, ShaderOper.CR); } - public static void Iscadd_I(ShaderIrBlock Block, long OpCode) + public static void Iscadd_I(ShaderIrBlock Block, long OpCode, long Position) { EmitIscadd(Block, OpCode, ShaderOper.Imm); } - public static void Iscadd_R(ShaderIrBlock Block, long OpCode) + public static void Iscadd_R(ShaderIrBlock Block, long OpCode, long Position) { EmitIscadd(Block, OpCode, ShaderOper.RR); } - public static void Iset_C(ShaderIrBlock Block, long OpCode) + public static void Iset_C(ShaderIrBlock Block, long OpCode, long Position) { EmitIset(Block, OpCode, ShaderOper.CR); } - public static void Iset_I(ShaderIrBlock Block, long OpCode) + public static void Iset_I(ShaderIrBlock Block, long OpCode, long Position) { EmitIset(Block, OpCode, ShaderOper.Imm); } - public static void Iset_R(ShaderIrBlock Block, long OpCode) + public static void Iset_R(ShaderIrBlock Block, long OpCode, long Position) { EmitIset(Block, OpCode, ShaderOper.RR); } - public static void Isetp_C(ShaderIrBlock Block, long OpCode) + public static void Isetp_C(ShaderIrBlock Block, long OpCode, long Position) { EmitIsetp(Block, OpCode, ShaderOper.CR); } - public static void Isetp_I(ShaderIrBlock Block, long OpCode) + public static void Isetp_I(ShaderIrBlock Block, long OpCode, long Position) { EmitIsetp(Block, OpCode, ShaderOper.Imm); } - public static void Isetp_R(ShaderIrBlock Block, long OpCode) + public static void Isetp_R(ShaderIrBlock Block, long OpCode, long Position) { EmitIsetp(Block, OpCode, ShaderOper.RR); } - public static void Lop_I32(ShaderIrBlock Block, long OpCode) + public static void Lop_I32(ShaderIrBlock Block, long OpCode, long Position) { int SubOp = (int)(OpCode >> 53) & 3; @@ -292,22 +292,22 @@ namespace Ryujinx.Graphics.Gal.Shader } } - public static void Lop_C(ShaderIrBlock Block, long OpCode) + public static void Lop_C(ShaderIrBlock Block, long OpCode, long Position) { EmitLop(Block, OpCode, ShaderOper.CR); } - public static void Lop_I(ShaderIrBlock Block, long OpCode) + public static void Lop_I(ShaderIrBlock Block, long OpCode, long Position) { EmitLop(Block, OpCode, ShaderOper.Imm); } - public static void Lop_R(ShaderIrBlock Block, long OpCode) + public static void Lop_R(ShaderIrBlock Block, long OpCode, long Position) { EmitLop(Block, OpCode, ShaderOper.RR); } - public static void Mufu(ShaderIrBlock Block, long OpCode) + public static void Mufu(ShaderIrBlock Block, long OpCode, long Position) { int SubOp = (int)(OpCode >> 20) & 0xf; @@ -336,7 +336,7 @@ namespace Ryujinx.Graphics.Gal.Shader Block.AddNode(GetPredNode(new ShaderIrAsg(GetOperGpr0(OpCode), Op), OpCode)); } - public static void Psetp(ShaderIrBlock Block, long OpCode) + public static void Psetp(ShaderIrBlock Block, long OpCode, long Position) { bool NegA = ((OpCode >> 15) & 1) != 0; bool NegB = ((OpCode >> 32) & 1) != 0; @@ -390,47 +390,47 @@ namespace Ryujinx.Graphics.Gal.Shader Block.AddNode(GetPredNode(new ShaderIrAsg(P0Node, Op), OpCode)); } - public static void Rro_C(ShaderIrBlock Block, long OpCode) + public static void Rro_C(ShaderIrBlock Block, long OpCode, long Position) { EmitRro(Block, OpCode, ShaderOper.CR); } - public static void Rro_I(ShaderIrBlock Block, long OpCode) + public static void Rro_I(ShaderIrBlock Block, long OpCode, long Position) { EmitRro(Block, OpCode, ShaderOper.Immf); } - public static void Rro_R(ShaderIrBlock Block, long OpCode) + public static void Rro_R(ShaderIrBlock Block, long OpCode, long Position) { EmitRro(Block, OpCode, ShaderOper.RR); } - public static void Shl_C(ShaderIrBlock Block, long OpCode) + public static void Shl_C(ShaderIrBlock Block, long OpCode, long Position) { EmitAluBinary(Block, OpCode, ShaderOper.CR, ShaderIrInst.Lsl); } - public static void Shl_I(ShaderIrBlock Block, long OpCode) + public static void Shl_I(ShaderIrBlock Block, long OpCode, long Position) { EmitAluBinary(Block, OpCode, ShaderOper.Imm, ShaderIrInst.Lsl); } - public static void Shl_R(ShaderIrBlock Block, long OpCode) + public static void Shl_R(ShaderIrBlock Block, long OpCode, long Position) { EmitAluBinary(Block, OpCode, ShaderOper.RR, ShaderIrInst.Lsl); } - public static void Shr_C(ShaderIrBlock Block, long OpCode) + public static void Shr_C(ShaderIrBlock Block, long OpCode, long Position) { EmitAluBinary(Block, OpCode, ShaderOper.CR, GetShrInst(OpCode)); } - public static void Shr_I(ShaderIrBlock Block, long OpCode) + public static void Shr_I(ShaderIrBlock Block, long OpCode, long Position) { EmitAluBinary(Block, OpCode, ShaderOper.Imm, GetShrInst(OpCode)); } - public static void Shr_R(ShaderIrBlock Block, long OpCode) + public static void Shr_R(ShaderIrBlock Block, long OpCode, long Position) { EmitAluBinary(Block, OpCode, ShaderOper.RR, GetShrInst(OpCode)); } @@ -442,7 +442,7 @@ namespace Ryujinx.Graphics.Gal.Shader return Signed ? ShaderIrInst.Asr : ShaderIrInst.Lsr; } - public static void Vmad(ShaderIrBlock Block, long OpCode) + public static void Vmad(ShaderIrBlock Block, long OpCode, long Position) { ShaderIrNode OperA = GetOperGpr8(OpCode); @@ -477,22 +477,22 @@ namespace Ryujinx.Graphics.Gal.Shader Block.AddNode(GetPredNode(new ShaderIrAsg(GetOperGpr0(OpCode), Final), OpCode)); } - public static void Xmad_CR(ShaderIrBlock Block, long OpCode) + public static void Xmad_CR(ShaderIrBlock Block, long OpCode, long Position) { EmitXmad(Block, OpCode, ShaderOper.CR); } - public static void Xmad_I(ShaderIrBlock Block, long OpCode) + public static void Xmad_I(ShaderIrBlock Block, long OpCode, long Position) { EmitXmad(Block, OpCode, ShaderOper.Imm); } - public static void Xmad_RC(ShaderIrBlock Block, long OpCode) + public static void Xmad_RC(ShaderIrBlock Block, long OpCode, long Position) { EmitXmad(Block, OpCode, ShaderOper.RC); } - public static void Xmad_RR(ShaderIrBlock Block, long OpCode) + public static void Xmad_RR(ShaderIrBlock Block, long OpCode, long Position) { EmitXmad(Block, OpCode, ShaderOper.RR); } diff --git a/Ryujinx.Graphics/Gal/Shader/ShaderDecodeFlow.cs b/Ryujinx.Graphics/Gal/Shader/ShaderDecodeFlow.cs index 8d0925a32..2c699a1b8 100644 --- a/Ryujinx.Graphics/Gal/Shader/ShaderDecodeFlow.cs +++ b/Ryujinx.Graphics/Gal/Shader/ShaderDecodeFlow.cs @@ -6,7 +6,7 @@ namespace Ryujinx.Graphics.Gal.Shader { static partial class ShaderDecode { - public static void Bra(ShaderIrBlock Block, long OpCode) + public static void Bra(ShaderIrBlock Block, long OpCode, long Position) { if ((OpCode & 0x20) != 0) { @@ -22,7 +22,7 @@ namespace Ryujinx.Graphics.Gal.Shader Block.AddNode(GetPredNode(new ShaderIrOp(ShaderIrInst.Bra, Imm), OpCode)); } - public static void Exit(ShaderIrBlock Block, long OpCode) + public static void Exit(ShaderIrBlock Block, long OpCode, long Position) { int CCode = (int)OpCode & 0x1f; @@ -34,9 +34,34 @@ namespace Ryujinx.Graphics.Gal.Shader } - public static void Kil(ShaderIrBlock Block, long OpCode) + public static void Kil(ShaderIrBlock Block, long OpCode, long Position) { Block.AddNode(GetPredNode(new ShaderIrOp(ShaderIrInst.Kil), OpCode)); } + + public static void Ssy(ShaderIrBlock Block, long OpCode, long Position) + { + if ((OpCode & 0x20) != 0) + { + //This reads the target offset from the constant buffer. + //Almost impossible to support with GLSL. + throw new NotImplementedException(); + } + + int Offset = ((int)(OpCode >> 20) << 8) >> 8; + + int Target = (int)(Position + Offset); + + ShaderIrOperImm Imm = new ShaderIrOperImm(Target); + + Block.AddNode(new ShaderIrOp(ShaderIrInst.Ssy, Imm)); + } + + public static void Sync(ShaderIrBlock Block, long OpCode, long Position) + { + //TODO: Implement Sync condition codes + + Block.AddNode(GetPredNode(new ShaderIrOp(ShaderIrInst.Sync), OpCode)); + } } } \ No newline at end of file diff --git a/Ryujinx.Graphics/Gal/Shader/ShaderDecodeMem.cs b/Ryujinx.Graphics/Gal/Shader/ShaderDecodeMem.cs index a183b0c69..2ae58bf89 100644 --- a/Ryujinx.Graphics/Gal/Shader/ShaderDecodeMem.cs +++ b/Ryujinx.Graphics/Gal/Shader/ShaderDecodeMem.cs @@ -31,7 +31,7 @@ namespace Ryujinx.Graphics.Gal.Shader { RGB_, RG_A, R_BA, _GBA, RGBA, ____, ____, ____ } }; - public static void Ld_A(ShaderIrBlock Block, long OpCode) + public static void Ld_A(ShaderIrBlock Block, long OpCode, long Position) { ShaderIrNode[] Opers = GetOperAbuf20(OpCode); @@ -50,7 +50,7 @@ namespace Ryujinx.Graphics.Gal.Shader } } - public static void Ld_C(ShaderIrBlock Block, long OpCode) + public static void Ld_C(ShaderIrBlock Block, long OpCode, long Position) { int CbufPos = (int)(OpCode >> 22) & 0x3fff; int CbufIndex = (int)(OpCode >> 36) & 0x1f; @@ -97,7 +97,7 @@ namespace Ryujinx.Graphics.Gal.Shader } } - public static void St_A(ShaderIrBlock Block, long OpCode) + public static void St_A(ShaderIrBlock Block, long OpCode, long Position) { ShaderIrNode[] Opers = GetOperAbuf20(OpCode); @@ -113,7 +113,7 @@ namespace Ryujinx.Graphics.Gal.Shader } } - public static void Texq(ShaderIrBlock Block, long OpCode) + public static void Texq(ShaderIrBlock Block, long OpCode, long Position) { ShaderIrNode OperD = GetOperGpr0(OpCode); ShaderIrNode OperA = GetOperGpr8(OpCode); @@ -132,12 +132,12 @@ namespace Ryujinx.Graphics.Gal.Shader Block.AddNode(GetPredNode(new ShaderIrAsg(OperA, Op1), OpCode)); //Is this right? } - public static void Tex(ShaderIrBlock Block, long OpCode) + public static void Tex(ShaderIrBlock Block, long OpCode, long Position) { EmitTex(Block, OpCode, GprHandle: false); } - public static void Tex_B(ShaderIrBlock Block, long OpCode) + public static void Tex_B(ShaderIrBlock Block, long OpCode, long Position) { EmitTex(Block, OpCode, GprHandle: true); } @@ -202,12 +202,12 @@ namespace Ryujinx.Graphics.Gal.Shader } } - public static void Texs(ShaderIrBlock Block, long OpCode) + public static void Texs(ShaderIrBlock Block, long OpCode, long Position) { EmitTexs(Block, OpCode, ShaderIrInst.Texs); } - public static void Tlds(ShaderIrBlock Block, long OpCode) + public static void Tlds(ShaderIrBlock Block, long OpCode, long Position) { EmitTexs(Block, OpCode, ShaderIrInst.Txlf); } diff --git a/Ryujinx.Graphics/Gal/Shader/ShaderDecodeMove.cs b/Ryujinx.Graphics/Gal/Shader/ShaderDecodeMove.cs index c6b71fb01..aef92c5a9 100644 --- a/Ryujinx.Graphics/Gal/Shader/ShaderDecodeMove.cs +++ b/Ryujinx.Graphics/Gal/Shader/ShaderDecodeMove.cs @@ -25,67 +25,67 @@ namespace Ryujinx.Graphics.Gal.Shader F64 = 3 } - public static void F2f_C(ShaderIrBlock Block, long OpCode) + public static void F2f_C(ShaderIrBlock Block, long OpCode, long Position) { EmitF2f(Block, OpCode, ShaderOper.CR); } - public static void F2f_I(ShaderIrBlock Block, long OpCode) + public static void F2f_I(ShaderIrBlock Block, long OpCode, long Position) { EmitF2f(Block, OpCode, ShaderOper.Immf); } - public static void F2f_R(ShaderIrBlock Block, long OpCode) + public static void F2f_R(ShaderIrBlock Block, long OpCode, long Position) { EmitF2f(Block, OpCode, ShaderOper.RR); } - public static void F2i_C(ShaderIrBlock Block, long OpCode) + public static void F2i_C(ShaderIrBlock Block, long OpCode, long Position) { EmitF2i(Block, OpCode, ShaderOper.CR); } - public static void F2i_I(ShaderIrBlock Block, long OpCode) + public static void F2i_I(ShaderIrBlock Block, long OpCode, long Position) { EmitF2i(Block, OpCode, ShaderOper.Immf); } - public static void F2i_R(ShaderIrBlock Block, long OpCode) + public static void F2i_R(ShaderIrBlock Block, long OpCode, long Position) { EmitF2i(Block, OpCode, ShaderOper.RR); } - public static void I2f_C(ShaderIrBlock Block, long OpCode) + public static void I2f_C(ShaderIrBlock Block, long OpCode, long Position) { EmitI2f(Block, OpCode, ShaderOper.CR); } - public static void I2f_I(ShaderIrBlock Block, long OpCode) + public static void I2f_I(ShaderIrBlock Block, long OpCode, long Position) { EmitI2f(Block, OpCode, ShaderOper.Imm); } - public static void I2f_R(ShaderIrBlock Block, long OpCode) + public static void I2f_R(ShaderIrBlock Block, long OpCode, long Position) { EmitI2f(Block, OpCode, ShaderOper.RR); } - public static void I2i_C(ShaderIrBlock Block, long OpCode) + public static void I2i_C(ShaderIrBlock Block, long OpCode, long Position) { EmitI2i(Block, OpCode, ShaderOper.CR); } - public static void I2i_I(ShaderIrBlock Block, long OpCode) + public static void I2i_I(ShaderIrBlock Block, long OpCode, long Position) { EmitI2i(Block, OpCode, ShaderOper.Imm); } - public static void I2i_R(ShaderIrBlock Block, long OpCode) + public static void I2i_R(ShaderIrBlock Block, long OpCode, long Position) { EmitI2i(Block, OpCode, ShaderOper.RR); } - public static void Isberd(ShaderIrBlock Block, long OpCode) + public static void Isberd(ShaderIrBlock Block, long OpCode, long Position) { //This instruction seems to be used to translate from an address to a vertex index in a GS //Stub it as such @@ -95,50 +95,50 @@ namespace Ryujinx.Graphics.Gal.Shader Block.AddNode(GetPredNode(new ShaderIrAsg(GetOperGpr0(OpCode), GetOperGpr8(OpCode)), OpCode)); } - public static void Mov_C(ShaderIrBlock Block, long OpCode) + public static void Mov_C(ShaderIrBlock Block, long OpCode, long Position) { ShaderIrOperCbuf Cbuf = GetOperCbuf34(OpCode); Block.AddNode(GetPredNode(new ShaderIrAsg(GetOperGpr0(OpCode), Cbuf), OpCode)); } - public static void Mov_I(ShaderIrBlock Block, long OpCode) + public static void Mov_I(ShaderIrBlock Block, long OpCode, long Position) { ShaderIrOperImm Imm = GetOperImm19_20(OpCode); Block.AddNode(GetPredNode(new ShaderIrAsg(GetOperGpr0(OpCode), Imm), OpCode)); } - public static void Mov_I32(ShaderIrBlock Block, long OpCode) + public static void Mov_I32(ShaderIrBlock Block, long OpCode, long Position) { ShaderIrOperImm Imm = GetOperImm32_20(OpCode); Block.AddNode(GetPredNode(new ShaderIrAsg(GetOperGpr0(OpCode), Imm), OpCode)); } - public static void Mov_R(ShaderIrBlock Block, long OpCode) + public static void Mov_R(ShaderIrBlock Block, long OpCode, long Position) { ShaderIrOperGpr Gpr = GetOperGpr20(OpCode); Block.AddNode(GetPredNode(new ShaderIrAsg(GetOperGpr0(OpCode), Gpr), OpCode)); } - public static void Sel_C(ShaderIrBlock Block, long OpCode) + public static void Sel_C(ShaderIrBlock Block, long OpCode, long Position) { EmitSel(Block, OpCode, ShaderOper.CR); } - public static void Sel_I(ShaderIrBlock Block, long OpCode) + public static void Sel_I(ShaderIrBlock Block, long OpCode, long Position) { EmitSel(Block, OpCode, ShaderOper.Imm); } - public static void Sel_R(ShaderIrBlock Block, long OpCode) + public static void Sel_R(ShaderIrBlock Block, long OpCode, long Position) { EmitSel(Block, OpCode, ShaderOper.RR); } - public static void Mov_S(ShaderIrBlock Block, long OpCode) + public static void Mov_S(ShaderIrBlock Block, long OpCode, long Position) { Block.AddNode(new ShaderIrCmnt("Stubbed.")); diff --git a/Ryujinx.Graphics/Gal/Shader/ShaderDecodeSpecial.cs b/Ryujinx.Graphics/Gal/Shader/ShaderDecodeSpecial.cs index f1be005f9..4300c32e3 100644 --- a/Ryujinx.Graphics/Gal/Shader/ShaderDecodeSpecial.cs +++ b/Ryujinx.Graphics/Gal/Shader/ShaderDecodeSpecial.cs @@ -4,7 +4,7 @@ namespace Ryujinx.Graphics.Gal.Shader { static partial class ShaderDecode { - public static void Out_R(ShaderIrBlock Block, long OpCode) + public static void Out_R(ShaderIrBlock Block, long OpCode, long Position) { //TODO: Those registers have to be used for something ShaderIrOperGpr Gpr0 = GetOperGpr0(OpCode); diff --git a/Ryujinx.Graphics/Gal/Shader/ShaderDecoder.cs b/Ryujinx.Graphics/Gal/Shader/ShaderDecoder.cs index 98f371b57..81d8f3126 100644 --- a/Ryujinx.Graphics/Gal/Shader/ShaderDecoder.cs +++ b/Ryujinx.Graphics/Gal/Shader/ShaderDecoder.cs @@ -50,17 +50,29 @@ namespace Ryujinx.Graphics.Gal.Shader { ShaderIrNode LastNode = Current.GetLastNode(); - ShaderIrOp Op = GetInnermostOp(LastNode); + ShaderIrOp InnerOp = GetInnermostOp(LastNode); - if (Op?.Inst == ShaderIrInst.Bra) + if (InnerOp?.Inst == ShaderIrInst.Bra) { - int Offset = ((ShaderIrOperImm)Op.OperandA).Value; + int Offset = ((ShaderIrOperImm)InnerOp.OperandA).Value; long Target = Current.EndPosition + Offset; Current.Branch = Enqueue(Target, Current); } + foreach (ShaderIrNode Node in Current.Nodes) + { + if (Node is ShaderIrOp CurrOp && CurrOp.Inst == ShaderIrInst.Ssy) + { + int Offset = ((ShaderIrOperImm)CurrOp.OperandA).Value; + + long Target = Offset; + + Current.Branch = Enqueue(Target, Current); + } + } + if (NodeHasNext(LastNode)) { Current.Next = Enqueue(Current.EndPosition); @@ -157,7 +169,7 @@ namespace Ryujinx.Graphics.Gal.Shader { int Offset = ((int)(OpCode >> 20) << 8) >> 8; - long Target = Position + Offset; + long Target = Position + Offset - Beginning; DbgOpCode += " (0x" + Target.ToString("x16") + ")"; } @@ -170,7 +182,7 @@ namespace Ryujinx.Graphics.Gal.Shader continue; } - Decode(Block, OpCode); + Decode(Block, OpCode, Position); } while (!IsFlowChange(Block.GetLastNode())); diff --git a/Ryujinx.Graphics/Gal/Shader/ShaderIrInst.cs b/Ryujinx.Graphics/Gal/Shader/ShaderIrInst.cs index d197835a7..35dea6121 100644 --- a/Ryujinx.Graphics/Gal/Shader/ShaderIrInst.cs +++ b/Ryujinx.Graphics/Gal/Shader/ShaderIrInst.cs @@ -84,6 +84,8 @@ namespace Ryujinx.Graphics.Gal.Shader Bra, Exit, Kil, + Ssy, + Sync, Emit, Cut diff --git a/Ryujinx.Graphics/Gal/Shader/ShaderOpCodeTable.cs b/Ryujinx.Graphics/Gal/Shader/ShaderOpCodeTable.cs index 95b8e467d..1e76eab16 100644 --- a/Ryujinx.Graphics/Gal/Shader/ShaderOpCodeTable.cs +++ b/Ryujinx.Graphics/Gal/Shader/ShaderOpCodeTable.cs @@ -112,7 +112,9 @@ namespace Ryujinx.Graphics.Gal.Shader Set("0100110000101x", ShaderDecode.Shr_C); Set("0011100x00101x", ShaderDecode.Shr_I); Set("0101110000101x", ShaderDecode.Shr_R); + Set("1110001010010x", ShaderDecode.Ssy); Set("1110111111110x", ShaderDecode.St_A); + Set("1111000011111x", ShaderDecode.Sync); Set("110000xxxx111x", ShaderDecode.Tex); Set("1101111010111x", ShaderDecode.Tex_B); Set("1101111101001x", ShaderDecode.Texq); From 326777ca4a68b38c7a5e44c76291f09f07ddcf2e Mon Sep 17 00:00:00 2001 From: Merry Date: Sat, 1 Sep 2018 15:24:05 +0100 Subject: [PATCH 17/24] Ryujinx.Tests: Add unicorn to test framework (#389) * Ryujinx.Tests: Add unicorn to test framework * CpuTestSimdArithmetic: Comment out inaccurate results --- Ryujinx.Tests.Unicorn/IndexedProperty.cs | 28 ++ Ryujinx.Tests.Unicorn/MemoryPermission.cs | 13 + Ryujinx.Tests.Unicorn/Native/ArmRegister.cs | 296 ++++++++++++++++ Ryujinx.Tests.Unicorn/Native/Interface.cs | 68 ++++ Ryujinx.Tests.Unicorn/Native/UnicornArch.cs | 16 + .../Native/UnicornMemoryRegion.cs | 13 + Ryujinx.Tests.Unicorn/Native/UnicornMode.cs | 34 ++ .../Ryujinx.Tests.Unicorn.csproj | 18 + Ryujinx.Tests.Unicorn/UnicornAArch64.cs | 315 ++++++++++++++++++ Ryujinx.Tests.Unicorn/UnicornError.cs | 30 ++ Ryujinx.Tests.Unicorn/UnicornException.cs | 23 ++ Ryujinx.Tests.Unicorn/libs/README.md | 3 + .../libs/windows/unicorn.dll | Bin 0 -> 4588032 bytes Ryujinx.Tests/Cpu/CpuTest.cs | 131 +++++++- Ryujinx.Tests/Cpu/CpuTestAlu.cs | 10 + Ryujinx.Tests/Cpu/CpuTestAluImm.cs | 20 ++ Ryujinx.Tests/Cpu/CpuTestAluRs.cs | 54 +++ Ryujinx.Tests/Cpu/CpuTestAluRx.cs | 28 ++ Ryujinx.Tests/Cpu/CpuTestBfm.cs | 6 + Ryujinx.Tests/Cpu/CpuTestCcmpImm.cs | 4 + Ryujinx.Tests/Cpu/CpuTestCcmpReg.cs | 4 + Ryujinx.Tests/Cpu/CpuTestCsel.cs | 8 + Ryujinx.Tests/Cpu/CpuTestMov.cs | 6 + Ryujinx.Tests/Cpu/CpuTestMul.cs | 10 + Ryujinx.Tests/Cpu/CpuTestSimd.cs | 72 ++++ Ryujinx.Tests/Cpu/CpuTestSimdArithmetic.cs | 21 ++ Ryujinx.Tests/Cpu/CpuTestSimdCmp.cs | 10 + Ryujinx.Tests/Cpu/CpuTestSimdCrypto.cs | 4 + Ryujinx.Tests/Cpu/CpuTestSimdCvt.cs | 1 + Ryujinx.Tests/Cpu/CpuTestSimdReg.cs | 89 +++++ Ryujinx.Tests/Ryujinx.Tests.csproj | 11 + 31 files changed, 1345 insertions(+), 1 deletion(-) create mode 100644 Ryujinx.Tests.Unicorn/IndexedProperty.cs create mode 100644 Ryujinx.Tests.Unicorn/MemoryPermission.cs create mode 100644 Ryujinx.Tests.Unicorn/Native/ArmRegister.cs create mode 100644 Ryujinx.Tests.Unicorn/Native/Interface.cs create mode 100644 Ryujinx.Tests.Unicorn/Native/UnicornArch.cs create mode 100644 Ryujinx.Tests.Unicorn/Native/UnicornMemoryRegion.cs create mode 100644 Ryujinx.Tests.Unicorn/Native/UnicornMode.cs create mode 100644 Ryujinx.Tests.Unicorn/Ryujinx.Tests.Unicorn.csproj create mode 100644 Ryujinx.Tests.Unicorn/UnicornAArch64.cs create mode 100644 Ryujinx.Tests.Unicorn/UnicornError.cs create mode 100644 Ryujinx.Tests.Unicorn/UnicornException.cs create mode 100644 Ryujinx.Tests.Unicorn/libs/README.md create mode 100644 Ryujinx.Tests.Unicorn/libs/windows/unicorn.dll diff --git a/Ryujinx.Tests.Unicorn/IndexedProperty.cs b/Ryujinx.Tests.Unicorn/IndexedProperty.cs new file mode 100644 index 000000000..946620c69 --- /dev/null +++ b/Ryujinx.Tests.Unicorn/IndexedProperty.cs @@ -0,0 +1,28 @@ +using System; + +namespace Ryujinx.Tests.Unicorn +{ + public class IndexedProperty + { + readonly Action SetAction; + readonly Func GetFunc; + + public IndexedProperty(Func getFunc, Action setAction) + { + this.GetFunc = getFunc; + this.SetAction = setAction; + } + + public TValue this[TIndex i] + { + get + { + return GetFunc(i); + } + set + { + SetAction(i, value); + } + } + } +} diff --git a/Ryujinx.Tests.Unicorn/MemoryPermission.cs b/Ryujinx.Tests.Unicorn/MemoryPermission.cs new file mode 100644 index 000000000..d79b2adda --- /dev/null +++ b/Ryujinx.Tests.Unicorn/MemoryPermission.cs @@ -0,0 +1,13 @@ +using System; + +namespace Ryujinx.Tests.Unicorn +{ + public enum MemoryPermission + { + NONE = 0, + READ = 1, + WRITE = 2, + EXEC = 4, + ALL = 7, + } +} diff --git a/Ryujinx.Tests.Unicorn/Native/ArmRegister.cs b/Ryujinx.Tests.Unicorn/Native/ArmRegister.cs new file mode 100644 index 000000000..3554480c1 --- /dev/null +++ b/Ryujinx.Tests.Unicorn/Native/ArmRegister.cs @@ -0,0 +1,296 @@ +using System; + +namespace Ryujinx.Tests.Unicorn.Native +{ + public enum ArmRegister + { + INVALID = 0, + + X29, + X30, + NZCV, + SP, + WSP, + WZR, + XZR, + B0, + B1, + B2, + B3, + B4, + B5, + B6, + B7, + B8, + B9, + B10, + B11, + B12, + B13, + B14, + B15, + B16, + B17, + B18, + B19, + B20, + B21, + B22, + B23, + B24, + B25, + B26, + B27, + B28, + B29, + B30, + B31, + D0, + D1, + D2, + D3, + D4, + D5, + D6, + D7, + D8, + D9, + D10, + D11, + D12, + D13, + D14, + D15, + D16, + D17, + D18, + D19, + D20, + D21, + D22, + D23, + D24, + D25, + D26, + D27, + D28, + D29, + D30, + D31, + H0, + H1, + H2, + H3, + H4, + H5, + H6, + H7, + H8, + H9, + H10, + H11, + H12, + H13, + H14, + H15, + H16, + H17, + H18, + H19, + H20, + H21, + H22, + H23, + H24, + H25, + H26, + H27, + H28, + H29, + H30, + H31, + Q0, + Q1, + Q2, + Q3, + Q4, + Q5, + Q6, + Q7, + Q8, + Q9, + Q10, + Q11, + Q12, + Q13, + Q14, + Q15, + Q16, + Q17, + Q18, + Q19, + Q20, + Q21, + Q22, + Q23, + Q24, + Q25, + Q26, + Q27, + Q28, + Q29, + Q30, + Q31, + S0, + S1, + S2, + S3, + S4, + S5, + S6, + S7, + S8, + S9, + S10, + S11, + S12, + S13, + S14, + S15, + S16, + S17, + S18, + S19, + S20, + S21, + S22, + S23, + S24, + S25, + S26, + S27, + S28, + S29, + S30, + S31, + W0, + W1, + W2, + W3, + W4, + W5, + W6, + W7, + W8, + W9, + W10, + W11, + W12, + W13, + W14, + W15, + W16, + W17, + W18, + W19, + W20, + W21, + W22, + W23, + W24, + W25, + W26, + W27, + W28, + W29, + W30, + X0, + X1, + X2, + X3, + X4, + X5, + X6, + X7, + X8, + X9, + X10, + X11, + X12, + X13, + X14, + X15, + X16, + X17, + X18, + X19, + X20, + X21, + X22, + X23, + X24, + X25, + X26, + X27, + X28, + + V0, + V1, + V2, + V3, + V4, + V5, + V6, + V7, + V8, + V9, + V10, + V11, + V12, + V13, + V14, + V15, + V16, + V17, + V18, + V19, + V20, + V21, + V22, + V23, + V24, + V25, + V26, + V27, + V28, + V29, + V30, + V31, + + //> pseudo registers + PC, // program counter register + + CPACR_EL1, + ESR, + + //> thread registers + TPIDR_EL0, + TPIDRRO_EL0, + TPIDR_EL1, + + PSTATE, // PSTATE pseudoregister + + //> floating point control and status registers + FPCR, + FPSR, + + ENDING, // <-- mark the end of the list of registers + + //> alias registers + + IP0 = X16, + IP1 = X17, + FP = X29, + LR = X30, + } +} diff --git a/Ryujinx.Tests.Unicorn/Native/Interface.cs b/Ryujinx.Tests.Unicorn/Native/Interface.cs new file mode 100644 index 000000000..a6563220f --- /dev/null +++ b/Ryujinx.Tests.Unicorn/Native/Interface.cs @@ -0,0 +1,68 @@ +using System; +using System.Runtime.InteropServices; +using Ryujinx.Tests.Unicorn; + +namespace Ryujinx.Tests.Unicorn.Native +{ + public class Interface + { + public static void Checked(UnicornError error) + { + if (error != UnicornError.UC_ERR_OK) + { + throw new UnicornException(error); + } + } + + public static void MarshalArrayOf(IntPtr input, int length, out T[] output) + { + var size = Marshal.SizeOf(typeof(T)); + output = new T[length]; + + for (int i = 0; i < length; i++) + { + IntPtr item = new IntPtr(input.ToInt64() + i * size); + output[i] = Marshal.PtrToStructure(item); + } + } + + [DllImport("unicorn", CallingConvention = CallingConvention.Cdecl)] + public static extern uint uc_version(out uint major, out uint minor); + + [DllImport("unicorn", CallingConvention = CallingConvention.Cdecl)] + public static extern UnicornError uc_open(uint arch, uint mode, out IntPtr uc); + + [DllImport("unicorn", CallingConvention = CallingConvention.Cdecl)] + public static extern UnicornError uc_close(IntPtr uc); + + [DllImport("unicorn", CallingConvention = CallingConvention.Cdecl)] + public static extern IntPtr uc_strerror(UnicornError err); + + [DllImport("unicorn", CallingConvention = CallingConvention.Cdecl)] + public static extern UnicornError uc_reg_write(IntPtr uc, int regid, byte[] value); + + [DllImport("unicorn", CallingConvention = CallingConvention.Cdecl)] + public static extern UnicornError uc_reg_read(IntPtr uc, int regid, byte[] value); + + [DllImport("unicorn", CallingConvention = CallingConvention.Cdecl)] + public static extern UnicornError uc_mem_write(IntPtr uc, ulong address, byte[] bytes, ulong size); + + [DllImport("unicorn", CallingConvention = CallingConvention.Cdecl)] + public static extern UnicornError uc_mem_read(IntPtr uc, ulong address, byte[] bytes, ulong size); + + [DllImport("unicorn", CallingConvention = CallingConvention.Cdecl)] + public static extern UnicornError uc_emu_start(IntPtr uc, ulong begin, ulong until, ulong timeout, ulong count); + + [DllImport("unicorn", CallingConvention = CallingConvention.Cdecl)] + public static extern UnicornError uc_mem_map(IntPtr uc, ulong address, ulong size, uint perms); + + [DllImport("unicorn", CallingConvention = CallingConvention.Cdecl)] + public static extern UnicornError uc_mem_unmap(IntPtr uc, ulong address, ulong size); + + [DllImport("unicorn", CallingConvention = CallingConvention.Cdecl)] + public static extern UnicornError uc_mem_protect(IntPtr uc, ulong address, ulong size, uint perms); + + [DllImport("unicorn", CallingConvention = CallingConvention.Cdecl)] + public static extern UnicornError uc_mem_regions(IntPtr uc, out IntPtr regions, out uint count); + } +} diff --git a/Ryujinx.Tests.Unicorn/Native/UnicornArch.cs b/Ryujinx.Tests.Unicorn/Native/UnicornArch.cs new file mode 100644 index 000000000..be088366d --- /dev/null +++ b/Ryujinx.Tests.Unicorn/Native/UnicornArch.cs @@ -0,0 +1,16 @@ +using System; + +namespace Ryujinx.Tests.Unicorn.Native +{ + public enum UnicornArch + { + UC_ARCH_ARM = 1, // ARM architecture (including Thumb, Thumb-2) + UC_ARCH_ARM64, // ARM-64, also called AArch64 + UC_ARCH_MIPS, // Mips architecture + UC_ARCH_X86, // X86 architecture (including x86 & x86-64) + UC_ARCH_PPC, // PowerPC architecture (currently unsupported) + UC_ARCH_SPARC, // Sparc architecture + UC_ARCH_M68K, // M68K architecture + UC_ARCH_MAX, + } +} diff --git a/Ryujinx.Tests.Unicorn/Native/UnicornMemoryRegion.cs b/Ryujinx.Tests.Unicorn/Native/UnicornMemoryRegion.cs new file mode 100644 index 000000000..7ee34a74a --- /dev/null +++ b/Ryujinx.Tests.Unicorn/Native/UnicornMemoryRegion.cs @@ -0,0 +1,13 @@ +using System; +using System.Runtime.InteropServices; + +namespace Ryujinx.Tests.Unicorn.Native +{ + [StructLayout(LayoutKind.Sequential)] + public struct UnicornMemoryRegion + { + public UInt64 begin; // begin address of the region (inclusive) + public UInt64 end; // end address of the region (inclusive) + public UInt32 perms; // memory permissions of the region + } +} diff --git a/Ryujinx.Tests.Unicorn/Native/UnicornMode.cs b/Ryujinx.Tests.Unicorn/Native/UnicornMode.cs new file mode 100644 index 000000000..950583bdc --- /dev/null +++ b/Ryujinx.Tests.Unicorn/Native/UnicornMode.cs @@ -0,0 +1,34 @@ +using System; + +namespace Ryujinx.Tests.Unicorn.Native +{ + public enum UnicornMode + { + UC_MODE_LITTLE_ENDIAN = 0, // little-endian mode (default mode) + UC_MODE_BIG_ENDIAN = 1 << 30, // big-endian mode + // arm / arm64 + UC_MODE_ARM = 0, // ARM mode + UC_MODE_THUMB = 1 << 4, // THUMB mode (including Thumb-2) + UC_MODE_MCLASS = 1 << 5, // ARM's Cortex-M series (currently unsupported) + UC_MODE_V8 = 1 << 6, // ARMv8 A32 encodings for ARM (currently unsupported) + // mips + UC_MODE_MICRO = 1 << 4, // MicroMips mode (currently unsupported) + UC_MODE_MIPS3 = 1 << 5, // Mips III ISA (currently unsupported) + UC_MODE_MIPS32R6 = 1 << 6, // Mips32r6 ISA (currently unsupported) + UC_MODE_MIPS32 = 1 << 2, // Mips32 ISA + UC_MODE_MIPS64 = 1 << 3, // Mips64 ISA + // x86 / x64 + UC_MODE_16 = 1 << 1, // 16-bit mode + UC_MODE_32 = 1 << 2, // 32-bit mode + UC_MODE_64 = 1 << 3, // 64-bit mode + // ppc + UC_MODE_PPC32 = 1 << 2, // 32-bit mode (currently unsupported) + UC_MODE_PPC64 = 1 << 3, // 64-bit mode (currently unsupported) + UC_MODE_QPX = 1 << 4, // Quad Processing eXtensions mode (currently unsupported) + // sparc + UC_MODE_SPARC32 = 1 << 2, // 32-bit mode + UC_MODE_SPARC64 = 1 << 3, // 64-bit mode + UC_MODE_V9 = 1 << 4, // SparcV9 mode (currently unsupported) + // m68k + } +} diff --git a/Ryujinx.Tests.Unicorn/Ryujinx.Tests.Unicorn.csproj b/Ryujinx.Tests.Unicorn/Ryujinx.Tests.Unicorn.csproj new file mode 100644 index 000000000..ee7c103d5 --- /dev/null +++ b/Ryujinx.Tests.Unicorn/Ryujinx.Tests.Unicorn.csproj @@ -0,0 +1,18 @@ + + + + netcoreapp2.1 + win10-x64;osx-x64;linux-x64 + true + + + + false + + + + + + + + diff --git a/Ryujinx.Tests.Unicorn/UnicornAArch64.cs b/Ryujinx.Tests.Unicorn/UnicornAArch64.cs new file mode 100644 index 000000000..1cd3671fe --- /dev/null +++ b/Ryujinx.Tests.Unicorn/UnicornAArch64.cs @@ -0,0 +1,315 @@ +using System; +using System.Diagnostics.Contracts; +using System.Runtime.InteropServices; +using System.Runtime.Intrinsics; +using System.Runtime.Intrinsics.X86; + +namespace Ryujinx.Tests.Unicorn +{ + public class UnicornAArch64 + { + internal readonly IntPtr uc; + + public IndexedProperty X + { + get + { + return new IndexedProperty( + (int i) => GetX(i), + (int i, ulong value) => SetX(i, value)); + } + } + + public IndexedProperty> Q + { + get + { + return new IndexedProperty>( + (int i) => GetQ(i), + (int i, Vector128 value) => SetQ(i, value)); + } + } + + public ulong LR + { + get { return GetRegister(Native.ArmRegister.LR); } + set { SetRegister(Native.ArmRegister.LR, value); } + } + + public ulong SP + { + get { return GetRegister(Native.ArmRegister.SP); } + set { SetRegister(Native.ArmRegister.SP, value); } + } + + public ulong PC + { + get { return GetRegister(Native.ArmRegister.PC); } + set { SetRegister(Native.ArmRegister.PC, value); } + } + + public uint Pstate + { + get { return (uint)GetRegister(Native.ArmRegister.PSTATE); } + set { SetRegister(Native.ArmRegister.PSTATE, (uint)value); } + } + + public int Fpcr + { + get { return (int)GetRegister(Native.ArmRegister.FPCR); } + set { SetRegister(Native.ArmRegister.FPCR, (uint)value); } + } + + public int Fpsr + { + get { return (int)GetRegister(Native.ArmRegister.FPSR); } + set { SetRegister(Native.ArmRegister.FPSR, (uint)value); } + } + + public bool OverflowFlag + { + get { return (Pstate & 0x10000000u) != 0; } + set { Pstate = (Pstate & ~0x10000000u) | (value ? 0x10000000u : 0u); } + } + + public bool CarryFlag + { + get { return (Pstate & 0x20000000u) != 0; } + set { Pstate = (Pstate & ~0x20000000u) | (value ? 0x20000000u : 0u); } + } + + public bool ZeroFlag + { + get { return (Pstate & 0x40000000u) != 0; } + set { Pstate = (Pstate & ~0x40000000u) | (value ? 0x40000000u : 0u); } + } + + public bool NegativeFlag + { + get { return (Pstate & 0x80000000u) != 0; } + set { Pstate = (Pstate & ~0x80000000u) | (value ? 0x80000000u : 0u); } + } + + public UnicornAArch64() + { + Native.Interface.Checked(Native.Interface.uc_open((uint)Native.UnicornArch.UC_ARCH_ARM64, (uint)Native.UnicornMode.UC_MODE_LITTLE_ENDIAN, out uc)); + SetRegister(Native.ArmRegister.CPACR_EL1, 0x00300000); + } + + ~UnicornAArch64() + { + Native.Interface.Checked(Native.Interface.uc_close(uc)); + } + + public void RunForCount(ulong count) + { + Native.Interface.Checked(Native.Interface.uc_emu_start(uc, this.PC, 0xFFFFFFFFFFFFFFFFu, 0, count)); + } + + public void Step() + { + RunForCount(1); + } + + internal static Native.ArmRegister[] X_registers = new Native.ArmRegister[31] + { + Native.ArmRegister.X0, + Native.ArmRegister.X1, + Native.ArmRegister.X2, + Native.ArmRegister.X3, + Native.ArmRegister.X4, + Native.ArmRegister.X5, + Native.ArmRegister.X6, + Native.ArmRegister.X7, + Native.ArmRegister.X8, + Native.ArmRegister.X9, + Native.ArmRegister.X10, + Native.ArmRegister.X11, + Native.ArmRegister.X12, + Native.ArmRegister.X13, + Native.ArmRegister.X14, + Native.ArmRegister.X15, + Native.ArmRegister.X16, + Native.ArmRegister.X17, + Native.ArmRegister.X18, + Native.ArmRegister.X19, + Native.ArmRegister.X20, + Native.ArmRegister.X21, + Native.ArmRegister.X22, + Native.ArmRegister.X23, + Native.ArmRegister.X24, + Native.ArmRegister.X25, + Native.ArmRegister.X26, + Native.ArmRegister.X27, + Native.ArmRegister.X28, + Native.ArmRegister.X29, + Native.ArmRegister.X30, + }; + + internal static Native.ArmRegister[] Q_registers = new Native.ArmRegister[32] + { + Native.ArmRegister.Q0, + Native.ArmRegister.Q1, + Native.ArmRegister.Q2, + Native.ArmRegister.Q3, + Native.ArmRegister.Q4, + Native.ArmRegister.Q5, + Native.ArmRegister.Q6, + Native.ArmRegister.Q7, + Native.ArmRegister.Q8, + Native.ArmRegister.Q9, + Native.ArmRegister.Q10, + Native.ArmRegister.Q11, + Native.ArmRegister.Q12, + Native.ArmRegister.Q13, + Native.ArmRegister.Q14, + Native.ArmRegister.Q15, + Native.ArmRegister.Q16, + Native.ArmRegister.Q17, + Native.ArmRegister.Q18, + Native.ArmRegister.Q19, + Native.ArmRegister.Q20, + Native.ArmRegister.Q21, + Native.ArmRegister.Q22, + Native.ArmRegister.Q23, + Native.ArmRegister.Q24, + Native.ArmRegister.Q25, + Native.ArmRegister.Q26, + Native.ArmRegister.Q27, + Native.ArmRegister.Q28, + Native.ArmRegister.Q29, + Native.ArmRegister.Q30, + Native.ArmRegister.Q31, + }; + + internal ulong GetRegister(Native.ArmRegister register) + { + byte[] value_bytes = new byte[8]; + Native.Interface.Checked(Native.Interface.uc_reg_read(uc, (int)register, value_bytes)); + return (ulong)BitConverter.ToInt64(value_bytes, 0); + } + + internal void SetRegister(Native.ArmRegister register, ulong value) + { + byte[] value_bytes = BitConverter.GetBytes(value); + Native.Interface.Checked(Native.Interface.uc_reg_write(uc, (int)register, value_bytes)); + } + + internal Vector128 GetVector(Native.ArmRegister register) + { + byte[] value_bytes = new byte[16]; + Native.Interface.Checked(Native.Interface.uc_reg_read(uc, (int)register, value_bytes)); + unsafe + { + fixed (byte* p = &value_bytes[0]) + { + return Sse.LoadVector128((float*)p); + } + } + } + + internal void SetVector(Native.ArmRegister register, Vector128 value) + { + byte[] value_bytes = new byte[16]; + unsafe + { + fixed (byte* p = &value_bytes[0]) + { + Sse.Store((float*)p, value); + } + } + Native.Interface.Checked(Native.Interface.uc_reg_write(uc, (int)register, value_bytes)); + } + + public ulong GetX(int index) + { + Contract.Requires(index <= 30, "invalid register"); + + return GetRegister(X_registers[index]); + } + + public void SetX(int index, ulong value) + { + Contract.Requires(index <= 30, "invalid register"); + + SetRegister(X_registers[index], value); + } + + public Vector128 GetQ(int index) + { + Contract.Requires(index <= 31, "invalid vector"); + + return GetVector(Q_registers[index]); + } + + public void SetQ(int index, Vector128 value) + { + Contract.Requires(index <= 31, "invalid vector"); + + SetVector(Q_registers[index], value); + } + + public byte[] MemoryRead(ulong address, ulong size) + { + byte[] value = new byte[size]; + Native.Interface.Checked(Native.Interface.uc_mem_read(uc, address, value, size)); + return value; + } + + public byte MemoryRead8 (ulong address) { return MemoryRead(address, 1)[0]; } + public UInt16 MemoryRead16(ulong address) { return (UInt16)BitConverter.ToInt16(MemoryRead(address, 2), 0); } + public UInt32 MemoryRead32(ulong address) { return (UInt32)BitConverter.ToInt32(MemoryRead(address, 4), 0); } + public UInt64 MemoryRead64(ulong address) { return (UInt64)BitConverter.ToInt64(MemoryRead(address, 8), 0); } + + public void MemoryWrite(ulong address, byte[] value) + { + Native.Interface.Checked(Native.Interface.uc_mem_write(uc, address, value, (ulong)value.Length)); + } + + public void MemoryWrite8 (ulong address, byte value) { MemoryWrite(address, new byte[]{value}); } + public void MemoryWrite16(ulong address, Int16 value) { MemoryWrite(address, BitConverter.GetBytes(value)); } + public void MemoryWrite16(ulong address, UInt16 value) { MemoryWrite(address, BitConverter.GetBytes(value)); } + public void MemoryWrite32(ulong address, Int32 value) { MemoryWrite(address, BitConverter.GetBytes(value)); } + public void MemoryWrite32(ulong address, UInt32 value) { MemoryWrite(address, BitConverter.GetBytes(value)); } + public void MemoryWrite64(ulong address, Int64 value) { MemoryWrite(address, BitConverter.GetBytes(value)); } + public void MemoryWrite64(ulong address, UInt64 value) { MemoryWrite(address, BitConverter.GetBytes(value)); } + + public void MemoryMap(ulong address, ulong size, MemoryPermission permissions) + { + Native.Interface.Checked(Native.Interface.uc_mem_map(uc, address, size, (uint)permissions)); + } + + public void MemoryUnmap(ulong address, ulong size) + { + Native.Interface.Checked(Native.Interface.uc_mem_unmap(uc, address, size)); + } + + public void MemoryProtect(ulong address, ulong size, MemoryPermission permissions) + { + Native.Interface.Checked(Native.Interface.uc_mem_protect(uc, address, size, (uint)permissions)); + } + + public void DumpMemoryInformation() + { + Native.Interface.Checked(Native.Interface.uc_mem_regions(uc, out IntPtr regions_raw, out uint length)); + Native.Interface.MarshalArrayOf(regions_raw, (int)length, out var regions); + foreach (var region in regions) + { + Console.WriteLine("region: begin {0:X16} end {1:X16} perms {2:X8}", region.begin, region.end, region.perms); + } + } + + public static bool IsAvailable() + { + try + { + Native.Interface.uc_version(out uint major, out uint minor); + return true; + } + catch (DllNotFoundException) + { + return false; + } + } + } +} \ No newline at end of file diff --git a/Ryujinx.Tests.Unicorn/UnicornError.cs b/Ryujinx.Tests.Unicorn/UnicornError.cs new file mode 100644 index 000000000..db56c615d --- /dev/null +++ b/Ryujinx.Tests.Unicorn/UnicornError.cs @@ -0,0 +1,30 @@ +using System; + +namespace Ryujinx.Tests.Unicorn +{ + public enum UnicornError + { + UC_ERR_OK = 0, // No error: everything was fine + UC_ERR_NOMEM, // Out-Of-Memory error: uc_open(), uc_emulate() + UC_ERR_ARCH, // Unsupported architecture: uc_open() + UC_ERR_HANDLE, // Invalid handle + UC_ERR_MODE, // Invalid/unsupported mode: uc_open() + UC_ERR_VERSION, // Unsupported version (bindings) + UC_ERR_READ_UNMAPPED, // Quit emulation due to READ on unmapped memory: uc_emu_start() + UC_ERR_WRITE_UNMAPPED, // Quit emulation due to WRITE on unmapped memory: uc_emu_start() + UC_ERR_FETCH_UNMAPPED, // Quit emulation due to FETCH on unmapped memory: uc_emu_start() + UC_ERR_HOOK, // Invalid hook type: uc_hook_add() + UC_ERR_INSN_INVALID, // Quit emulation due to invalid instruction: uc_emu_start() + UC_ERR_MAP, // Invalid memory mapping: uc_mem_map() + 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_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_READ_UNALIGNED, // Unaligned read + UC_ERR_WRITE_UNALIGNED, // Unaligned write + UC_ERR_FETCH_UNALIGNED, // Unaligned fetch + UC_ERR_HOOK_EXIST, // hook for this event already existed + UC_ERR_RESOURCE, // Insufficient resource: uc_emu_start() + UC_ERR_EXCEPTION // Unhandled CPU exception + } +} diff --git a/Ryujinx.Tests.Unicorn/UnicornException.cs b/Ryujinx.Tests.Unicorn/UnicornException.cs new file mode 100644 index 000000000..3cb693703 --- /dev/null +++ b/Ryujinx.Tests.Unicorn/UnicornException.cs @@ -0,0 +1,23 @@ +using System; +using System.Runtime.InteropServices; + +namespace Ryujinx.Tests.Unicorn +{ + public class UnicornException : Exception + { + public readonly UnicornError Error; + + internal UnicornException(UnicornError error) + { + Error = error; + } + + public override string Message + { + get + { + return Marshal.PtrToStringAnsi(Native.Interface.uc_strerror(Error)); + } + } + } +} diff --git a/Ryujinx.Tests.Unicorn/libs/README.md b/Ryujinx.Tests.Unicorn/libs/README.md new file mode 100644 index 000000000..bb3701641 --- /dev/null +++ b/Ryujinx.Tests.Unicorn/libs/README.md @@ -0,0 +1,3 @@ +The pre-compiled dynamic libraries in this directory are licenced under the GPLv2. + +The source code for windows/unicorn.dll is available at: https://github.com/MerryMage/UnicornDotNet/tree/299451c02d9c810d2feca51f5e9cb6d8b2f38960 diff --git a/Ryujinx.Tests.Unicorn/libs/windows/unicorn.dll b/Ryujinx.Tests.Unicorn/libs/windows/unicorn.dll new file mode 100644 index 0000000000000000000000000000000000000000..0e3cea589fb7cccaec7425bf39aede9cb3ef98bc GIT binary patch literal 4588032 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 z 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

P&&PtqMX=3Hy6@@K1 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�%HO9`I+D1PBC~S5#kODSNL@NE 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

hlDlyFo3@I@ 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%0D1t>XaRJ7Qv7KP;93AZ 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�WG%J$YyQx4nqBb21MNQs>-|SZ`g5DuH5UF_j>a3O3-{)6QQVgc zj6_cbZs0u1J9U%X2J>SjAG6D2KduU__%_NWxx6RJ%S{0fzoCj{J*yb(k367u*wxK2 z5QO)^JW)IB#$~(PV`CX!7#F_C8VMHu)w0)YLL_*L#YIT3sG!oz6P1P%v-pqSp}vP7 zu)gl9FjcgwBb(Y~Qsd~;vNLCv%Al2C#m(3l2!EXJ4S$eIy9=!UmqdWE@KfQ+3H!~f zgsU`Bt^2~yoNO}VQ#*x|T8U2i+k*lV^LJm0GuXJV(!1_}leQ5B^rCR?wNOy$i zcU}=W%Xfokh4mBUa{|74{&&H1H|42)bAmoS1bE(iKNE9n7kF-d`9BQL-PBjn@m=cs zuflUGuTbFmZ@|U3!1FEd9t57>=0JE%wC_5=N-8|pNsN2Df#-Kl{Wf^6EO)Y8=;hF> zCu0JjZGQ#O?kZqS+M=2JU4VM%w*mDLQqhkUo=Cv;`dOXfTC)i)&<4oi?JKyx;>LDt zFpxS4+As$#(0_0h zLi9x#D%oxqt1+=T6hbDQc!H%vTEvfAN(HF|dcPp7L4WV<{s?@@Z^12sU=9txpjY>u z5zMXXs-;u}GfnZ+^?F!p(+daVR|283-{4S>vQ=;IH@4Y4b!+i{)TS98S3{mkGc2~( z-*fHt_h90TgOqoGH5hi`L1>1%vECRvzYC6;#eGc{^P)4(kTzTz&Gl;hdby4v~hq z={wL6%YOw8!A(vHTyr5e5?V9_khH<8v|21`0xV;p9EEJY;;JT*AZj9_ePaUA9EgTs z6TiX5-5UoXBRJ$y7@IIKajOaX39)$$fxTZ);b%bCSsvi9ZvOafkTFb2!oR z__qCeijY!KC~NhmBPpTO^qf%T!=a&N-(kF18a)va)5A(SIcclVC77v3oG$=UYOK`K zNfGD&c(Eu;(oFjYKhZIKl`hze0B@#HphnLl9(GraGRaep;iTi*!=&os7HHUV4mR!miwZ9p~pdPJZV&n!Bgt zjMH&GSExXrc<7)}!1BG-ym_cX2uT5@7`!mJG^|e42pktX*%GN~mJmnwBR|=Kk5Rja zSu!dA^0D4MeDv+&$j9zdjk}CYQU%)R$t&KTc{bPZT9=EKMy~BvFnNmk-W(!wcrHYD zrjQhvAxV%F{voC%X!Q41E}<$uf=)0~sR}%7L8F9-1W_c5AN>o0Mt|>Ee3;Fx2sb7L zqxq0L(pR~P^r=>YQR74>b5o>}GA}Pkz~>>Y?+QLU@w-!XZme1Ps9!Wq56lWt_~^e^ zUt%>T)Bi*AhK>x74*C+Q(D<$LhVNNb`v3CCq<+&O%Om&Qp@4RaVEV2YN$X3ztmFK- za~zG4be#XvajJ>ajXd&`!cOR@gTBNy7aWSbVTmBve_LN7N7r!|nWQ2pl*u)M`s-y0 zN=0i*Evo1^^1kP33iqcAM(uvb?_zXB5Ke0I-;e@zk&RKRR zbQM5tl`D3;6F_~R8pU(z?TWRW{gK_sK{+GI^}ic=DXa@yUTVu%EbhfYM5Z0|t5=DT z%CsARlbsB6bSD#WzU}~FTFR+TxrzsoVtu`Gq2*jipAZjs-$|F z!I54ukJ@XgX-D?Pcc^u$lqFefcU29=CM#tNPQAuQUSpdD)ScNJ!Rw`yn{1FSjjk0T zYX^|tYQ8<7BS`zAB?*uYAT7Ri;(2FY$K*C zn#?sn0jW$+A{ARu(;ZTgfw+E?AeEGkPnBxF5dx`T1FPaW3#XJGjNAG@DNi|-dwM$x zZ2zB(Lp8Wkku!^M{OdHsA}QqeDydB~C=rHv`s5_l@GSz8zyCOu zY)A-5x&v_G0x#Wo5USzJ`2cvIRI1^i0+pn^qlo?ui!suaxUIV!x3Qy_?l*s@7h2vNZXLsy^ zj`F|cajb08bdq;$F&m!()yO%(bRv@V zLlTj)TB{{`LyD5IC_dat6d@r)yi2%UQCk?A3sx5cSt7##YL2$fEGgkfiLu2#T=V3CmS?(_lv*?C9F=MmR_`+3BU6O7A$EgK{-r#cGolM_tYZ{$3pQu?F&>Hn=} z!++^28EZx0ci{7gR&@?0?^D&$3TO!xhLkEPmcPa8*ZTY~P`-U0(OoU(JN(Alr3&Dz zGl@wCs&CYaZJM9?KUF_CMWO#BU*u^K{lzDB*mLPgsn7nd!N?>0q5H_VLmbWL z(s6#R<6KJ|D%}NSHJ?5h;964wZopNodHV3a`7AkU7FaZK#1Iq1N`m*2`GX${tm@fp zO`p^wh8CzTQ2nNl7A7d#sB7rPnY#9MPHcuwyE{Z0_X#6fDZ)F%VYy=);uPZ>e`(&R>5_9@O*n2 zD-BugJ(${$^eye!mVg<3B55maRjRwzlzo(~qPtpDP$+C3h3RE8%Gm zO5_fx@}npIvLNJ+T-ziIY6pCB?Ozipu1fahw$@JthtSvReXk&yOJ|_3WUu$%t?~yr zvx9y^@VeA`X_aAh_IRTo>3)ZGHTX*aR4V|Ww+kM(0QAdV_Ij!SRNdkWfNI_iEG+ZB z;#3$_Ga`OM2V|i)y1LJ1&85$TXtu%HlFV}k!8#nAfZ%V{rmw;Mk zbYl`~**f|o6;CJ)oEz9~CIPi(zTDP%U|F*)ir6b*F_RUIWv#&cE9UZ0T16Hrc}~s>r~0L%6n0VNr$L;mxq!*@o9;xhn?w8`D&FSPHb> zxz;;h-dq(aH67`&NcsOnmekE_ROPpw=Wy6n8Y~`PrFira56Ah57!|_bT% z-L4dOuI2Ve!vz%}pH+;%!#Y21_;+fsFWw$J((u2L_{cH*E%rx6fxpqiOk@r;dQc`) zZ*<7io8F|W{qTKM$8HY}F#KO7KC%s$?UtVPwCPlOLN$7<9`>jnHvIW^T&c^z#0PaL zus>8?)IgA1fzHiSWW9&W+whOFBTF`85+7vau|HHcqpV~e>+QGRQ{-*+0<|Hu1on= zc}oH-7YVbRO-X07?aXw5ZN#3IySnOYCXd`hDcD9}Ha3`@$_uD!Z2}qPVxHlrKag)5 zlCg;>!0g2?7vvR}912O2=^I_;5|X1LE3!m6^xeVQ9|+a{IK*aC$>^${0#Fq$Z)Ayb z`J7#Gh{JUTW+!{>km&47<;0@rK{c;<9=5 z>8;!^T@)N|+$|{98y(xew>iAOy&~Ia8nQKFh-ZAr5RHYOAF;K%344Cpo{F=sx~XFS zkmiU=8BtLz#%pP`6q9*TeT_yb#yUOlUCkQ-l89CX^ox-$m)UcL7_F)p;Wx5EtAy5e z1bc>7!JMVd$5`85S#5h4Y&CS>#Y?_s6#7asdJAQ5|w#ch9Ma- zWFuzg7b+9j5aM_g!MxS0?hzi$c$8NaK0)kK3}hK^s{Lgw+aG;WEidjBo63gmC>!?K zq-ehl0T%mu>}NPP1&mF&SO&19AvQHK-MKy7eX0h?vg6J@JJ;Q3;Q$vC0%JX!WuI;p z-&&6;$*LV~Fu_*I>^?iPL}{bWYG(hzGRrD6Wi~cG8-Pj zs7##E`(z$)mLOZfM?BluVcxfBcYE>rImsMzCC9#20piYT9G{_}6gp=a83TXnnlyD& zr#3^BSmoh@t3oNFw0vFo?Lpk2f$6UrDSoVxQR#lPd2A%3GC>w7dO!?sV(Pt3-QHVj zyj2>l+)1|v>fdo`crJ6U7xS@3^J4Gl+~C0WCXfP#_I9UT|4F?$Xe8EL6Sm{HY@w`t zQ<-x!0RdzC$h6XE#y)@j+f+h~{yBH(;bkcAlA(9!+QWIDFge_PZq>eeVBLLg*S<^i znD@Eg8t;YcWppPRdSE9;7ODZB7+IqHRdsX|yKCPY|ChASxKpg*ad*}eAjQhJGrs=Q zHxcD!tn;?k^{D9Ix-O#vQlzfF&56Oh-s>XDe4f``+cI!&_TI`pq;?d55;Cx4*%NG? z3_p4<-v!C^5 zr~suk|7J1uF;m~ULaN!xtM5MHTD6Ge+CS!Ajd}hUCxjAjU$Aibz1LZ9o2Qg zJnpfmY*dKm%ieR|8BrJ8#fmI zOC&^WcP=iq?7RDTL+)JvVt1dwVt1}*8Q;tJeuD2O_^#u-j_+o^oB3|xyM^yPeDCqo zQx$(DFL$4`=)`REw2jZt2Gr_7qo=1-pA-LB`CwZFX6WZ3~v zk7zf>x+0ZLz@{-a8vt@gDx1}ZK(})A<035O$d6RMp&SDvl`YBv#J{T?g%JfvSXzu! zeyDs-j8yJXj^UBY&y{1OF>%z6mPpu@A!Ut+$I3pQ$i4~Tu!lp;Uvy|iV zNO-n#%#4JC$}uYvo~InMBjNeV5sZXG$}ukzu2PQqk#LPTZk0(A2`^OcD&=0R+%?KQ zUAY%3_vPXqJH;?UeC`bk8gaBOAh94VW9)g6aIT6iG(hyiH2jGX^?v2{)l)P22TP+Z z1U7~x1BU%MBTd?xFR9WZUZ%$8$TKtLYuwJp@Dn&PK!wM(<7f;&#V>y?!odwi!Y}ZN z@y}ecZ49f6An|StkK|h-5R|WiMp+(>;W5de0u|&*1o@IdVv@8m?6*83&y=d~Y4RO% zq?;w9cDJ{NW#(jX-3xOUQ3tzKn0m&fo#A!4k(zucmd4OPeig7rLmnhA1V(C}{ZvBg z_>~alwd|kb^$@=aud2_)tA^i%*UZnwYZku=uhK8XYYM*!ui@CYZVZj&H{sQf`?MQF z`TQol+LYH^Y~48jYNyGF*J%_@e1$Hb>F&1yux*SidW;fH{>gh&&@PBhQS1x@%O1q#Xs~8p*e~_Nuuju3&%M%ul_jRvI#^_{-R<1`$_o zaBxK38#yEL%o}`rYMyzM7hf&<>up|wc5auR8)s^Q)ZPttpeI@7P=vkULhpIjZNwg~ z^7Q+$hIx)Fybh!KOP5kV^BQ`Zdlo>PN962o2P^h&GB7coTW`92#=dY%mbdpWDcW*LX#QLNYKCdghM_y^l}=M{IJ|5kZpY%9hBw?hl1<%@W^c z{-v7Ovvh3kWOCMx*c5LjrE*KUet2wvB+Qw`Ij}V!)89j%qj>PC!v)ZihG#94H0<+|c;dkXAY*i<7*{&Ifo8{+y!cxN;w8dOC zgQ_cH_Yf=ulko9W+aPJmCl!F zMc!5UR!x=-rZ~ZIso^Ik!$T4-m=LrpbK$y*=KC>gTTsE6JQx46CaW)2guvL%$|aBvxhuXkPjZZr}RKzqY) zySWn52TQf6irbnY?Mh&K7~8JzWsaPj=7`A>W8N?p*A2Mz?BZVO*aM20GQlss_=F6i zkbEyP3gUs-Xpgy(4-7{k_LdnLP&d&*%$fhVTz1eG`UA#YI^FF>cjw@fwi-4+miTuD z&-5F&nwavL5pm(#gUcUQ9_fC$%uM;%A*IlAmXBmwT0Xg;%xKV4m3`Xt=Gyc3!awC2 zyshTlXUk0x%opw-!Wmo6{9xXyDJ!$s7Y*dcTr>>N#P?^yZZ{TwCbJLxCH3+feOC9T zuBv`vT|X5-{c^E}FFw@IkT+I|{E;-upY=#%!C zn^*!LrN%1hq7sbMfAr@uFyzl~2|^%v4W8%gxM0fo3<|Ze^lpMY7tBKkZyyX@qDxnD?Kv7jUB5*c;qo{y?g|sg!ER2(-b7X2~!v6p)_v zDX{oL*TBURI9UQ8?;5y70#B8|y9fjUD(Dp?!T_jj^9YR3>r~(}Np@vHx+8vRr;vvv zWU7StG}I(AB>%ri;7AEPzEd(4a-@Xh)CyIm@;@mZ+8la%l?-aYxELK=nj zFo3@Js?YKqQJzP6MzI#W#``^A^fF}+2F+2%oP1pUQteNL0SIyT;ja_=tG{-?N`HXQamnWH- zVz8^ui`5CR5qo=IWE`vJkzCqXzq^OmFj*+Q#vY8=mKb}+qD@k?p;v!Kd%w5-Ncsgt4c2*Ql^+Gu?SX^vj-Y@_xy`2<- zJ@+5xUa$%`Mci|_T|{kxr&>k?(ok>t6L2~WG&Rs*zjkh^NBIQDZ*>vn>;xl`pC{(%w|3m zta9br=2D~0+_q2Y3s-Gbg>4LoJ`wH3m$YhuHnU^g0AMT<%&IzSMuf|mo4G4dd?2+J z2_7wtjK;^ptO*|-#*HN|e?)l-t_8hWG0ork1>=wN*Y>A)ScrPTsnm;0E{sOW&>vPF z>7|hZoK_L)T^bqH#U~M`w0sgv%?7_Q2~d1Bfvr9+1IeNeKWU<|aIY*HtZZe)jlp8B zgHuhERc;3BgrQnvH&d-+cKg&@6|Q~6=nFl)V**#iNe6B-n{dV^Gg)dSJLZ(EM;*tz z;y%XvM54&#Ez&brE$~7J&6iOqzmyog4itmTR1B}gFo6f19Q=#v81u#tAqQT>w^r=* z#p-YwufnZW(2(O^@CY6P4a;n3XdPDwakUI@bsvP>G2hqB8_Hyp&1!95a*>H09s7yd zUWD(p_||{G?P^==+xg`r_U0KvnwV4nNqN({3w>t~p=T1>I&L7-_EMS1AN-KQ3o81g z6!NioAB89!;UKcY5hJrTj@W5ex%L>=qxd-j$EEQ}0>`D?oeETy#?PuPlGo|Aocu41 zpHh3Wyozdv%j?+M@5}4RT1<_V0{Elkm0depUYWH&;04qdm8gr5Eu3Nw1U6z}kOHXD zXf~Qafc3E)>C9bO^=20j>ReecilUfadH;3~ZTgf~b*?(*Ago{Tw#*gg1Ae!ba) zeNWg-4~~=u7Rk>*`N>sH{VB1e%hT!4Qyg{a^ykU)%C0?0UYWHg@`7vwm6pm3mwBQv zwK?Dq6e~tv5{0xkh1)XS3*7k0S`cKs)mk7_gAAKXUPsD(QZj5k<&`Zip=18V%e4TWS}6w8ML4;9Lt~~v2+?D7x?{}LTZncI!~(2mzNL5 zXudQwn}$~0R69^SPvKRN&P*DpZn5kTUy(z++Aso z_;YyKJ4@~T@nXD}ck%wD0}4GFyJ$)qg3u#?a{Q z9Dgy{#?HWBW_Obs4z{7p2DSVAg|zznYDnY?v*QH(&k`<0MXy>X9UIHREmmMmc5wJO z(qmtel-;}l;b5t0Uscm42~TH4Vt<#Rg>FcXZPzZ+G#)U`5=oOLY5pWJ(#k$kvd z?DY6hD`HAXt!#V1kwnerMbu2em}_A+>bGd?ch4MYHLm zx|Wlh5$nrhcL@2Xsr)wtsZpHm-yx*vqf*>O3cE&sBjLBzs82?$l38{L`8)EZk4}{u zU36$QatxFd4oPu5Dd^{38Q?iYN*Ulehod(FT3$Uf7;r9-%3#19j_eHYY8e%^+Jdqr zi!}r3-*@2*u4btE(IjUbF&(+#ui4^Z11>yM*+;eW6O+Niy)WSv-^$3LO5AF;c=n&QW1yO6Ps6{%?iJjtH1veyi zIdK%2aPLujyHh3{xTOArbf2*W%CJbP6QppVsm$KjB*AbP33ZwzZfKVjl90%fFkACD zrS8oTO*RDYfw|iaXeN?E#&5=cE3H^}2(kM~?5ia95<7OXJx(@G^_^-47iqIOMiP{F zO+a)>lW2c7k#+l18ZnG?(#8!6+8r*r}8k-Xh`MR>EaE z>O(r}UphtYBV#|4s8{dLbG)3@-|<1u{*D3c^jmnp`*oh<4g9{qU4Y-my!SZ!JNDr> z=bJo-kGI3s-%-i)Bw>ZTpXFJEyOL)Z?%h1U!d=6Yg*%_OpLc-w@#Ogx?+4S!XV9QQ zY3a_4Ox``RTs?d7?wvhoP!8|I+`0S?8r0|TzWwB#*Z+uoc@H>Jeg_RYYT(hw+)4dk zr@kSczvF)L%RI;Lac|&J`DdxWH2F>EajMU(tPJa&`pQiGz}V&xA582{n)5mu!=_1VJBlJ!f`)_+6-=!T`ddi zayCzq%B3tcwWv%$#cwfBhex#vT<&NrQ7aw7cmHK_-zlmS0i)92gJ_W7{u!`EQGzh0 z=9U((o71DT*qeVXmlaOUzpj@bmNYjrz7-!*DrA0b8-Mx`o3J2CzWkWAeOrSw&D{Mx z;n0@At7|sO3QG(G5V2lfV<-ELA0o+WMyaLG+;J#SvaALBQ0f`nKz*HSZ@sL#@gBTG zpzpyJ!*h#y17`USSa)yK%N1ZxDTCZ{iMJ=*cBXql-z+w0(W94q8f)iVMV0fbJhhn* zKg2uW+}ys)Z=mL~JIlY_MBc$pC=1QN5@TUl@EBoed1m0rlB#^d@1zBLhrdj#$o56& z4vzQmu057+oM2SlE%Cj^D}oTEi=E?GMx~2m4@++v>-8mI^`;czi(b=KVpMf1!!FfW zzuhDf^7KS$lp}eOzY-})0f%Q={Sfo10=AfrSJSK_Pt`@%zcYa9OM&%Y9)a}GDz5~F zzhc8{*+GdVJ9wM9q69SN@n>)k{3>>uB78s&(M)+LTbe(dL|>MdAvWN!dl|VTIa~dT zmH0p%QQB&*05zN5(>`q1J@5x|Ze7nlWDX9xLe7p+FIgK3shq_@jb>NlA>m_90HZ3B$Nvcl63!P8A__{7s3@X% zE{aD6Gni;lJWxCk6h&Mwl!>5%B+SGRhald^daz!ruGg-v0;`e$f^r2#F&-#*_7Fw9 zAb^_xr>ft3b0moS{q6VrM?3SnU%%?=>gw+5>gsAJl^_wlL})uZjYP9Wco^8m@0_L%nz*SFGkb}J#@CAYIyVuBCnao{lQ$=O3}RT=i!onXsel~GcxGU^wFE~8E) zx6mxMtf)55$YZI7ipJKIJF{PjM%FWGwcDuRl29Lw~0V}pJvMwWhv1%q* zf&|`fDF0l{F$UF7%r0NZ5F2RNt9*MCcwCoTzWrC?nvQayVHe)Zl3lF^EEm*jU+}R$ z2&`=vui-mn_uE;^Y z?n2=C-#mBQ6mpV*(K9UUEA7`v9G*N0-1 zgI2aAcAp4F7#7ZoBLmdN+lOKswHMZY%LbBeRR!^|GY2g%s@%f-B39hl5Yx!*att!u zN^P=BVsF#)lFL}?2gfY)(dNIb2t{8Rc*s)_h|3^EQ zrw&zlYG`a3{;O1~5_#(9??s*hHxa4=8Ro7%Wl#s1lGvFbSl#UHaRo>zZTSo{;S+LnHMg#ns#x_RA2aYM z-pAQXa$Y$hho0Hmng3?()+{p0`vHW$no+w3Sj)Qfu?zX;Uwjig17*z8VCK8#!quoM z&Or0Z*#NP^!MzC>XweLXMg!SE<|mK!#GIg)V09!D6YTvva2d*}0nv3|8(;5Y&{$QU?;t%--A4UXMw8 zCsXb+(?(tu@k-jSW?fcIW7g&qa&ny4-*hVSN!F>-R?b!0+UQrVo*rB@W)3o{Pr<1%A` z^Ez5WuN9;Xl>EWDB8JB2fCcX)lQv-stz>gby^kNo7sDt|T0uym7GpBfT>>E`0Wxng zBZ#271iTfS#uoOe!|Df1uJsH6G|nb-Nr3=4xhOaXCgSNfyBR#qS|4Q>5Bfe~cvL7B z;;KR{$#_I|ZHuY~cxFc43yhO|Q>2qIJUTg#YrTbs#Q@2ic!+Cuw8Hc}KsKS-BUxcO z^BAATaz!fdch^iYs477{C@UxVe-&d_L1cYi4r?Kwy3$l{(vb|b>!QGn7$wei;M1JNV92iw0{GG>O3VM12) ztwIYYY8cHp>#~%qK9q$k-U^Rk8+)llN@8tA={kt}v}<+gp%z(|nDB8kdL>cE5;8$A zwR8X&OyF921?Mm{1q6&oZ`bZC@lkWK$B$AxPAHN=#;pUc$)bB}Ejnyqm1}EJ6TY2V zEU>k}wt!kJb)wsKx$qy?0s}9rTaL^2pgWqzW2j`4dd?|{#B*%PmxK+0jwl$OT@erRi@%vjSWVV19BxBj+ z9Tf7I`O z?Zrni3`Q5R)4gR?u+O5+3-YA@I-&0)pB2FWocw7kgCOc?*~FIa%=W)2J{Rcc0(0{T z-Sd*R6fR`hG%p9B@goGM15$9peqy6}elyk0lb8L{Uw&(DmzSCHQVlo0N63+Kbq;z% z%tGkJ%gp)TlWT42JGzvDOWLP^M&*n$0L~TmEv}H(;e$)s9a|D$P!D32l7P-4I<1&7L8U@%8@~gDMv0ue|*Vqxq)iJvxN18 zQ@iH|t|B~0s6ysGWq0(rgqehY64nqt?wK1f1bN?K&)mQPgc3rSa1Y^Mg!c*Z{uh4t z*ef@14B=uzCE*job-eolSY7wX4GbZ4?ExIZRDygr68KxlcTBI`z&V8L2oDnOAj~Da zN059HzUR49UT$E2LWpo7VG7|v!b^mv-if^4H}acHIEXNWZ~;LUNZG^B@{d9clU3Ky z*!Os><>Vj7{#-LBC(7rIF>_}0jHu5yet;Zz2`Mx@pkKU48#%j#&8yVcS-)RMw7L7#a7MfOEZpT zf7expvk&@~7%8swUKYlNWCtTPS*9!O=)zXRPezhv zAiGxw+jt)~w1&~;?D|S8bh0Q@A#-x8R)Ni}Ll5>3bO;~l0-VRu@<8mAYzz;Z!SvCL z-NedZ3l_HBV&8GiOJVG5PNuXkjC~iZ{dSkwr($r6>8%`7VKLpS{BuD5QZ5EElbp)i z9T6ZW@>f$1cPcZPPn_sm%r=_R-Kl(;@z{xm_^T-$oXT9D!#yiLa-v(Pil%0T_toEQ zr{c)Yr0IUIr=4NLS9VC_dt;In`&2OKr5JR`aw^5BJA8wDo1HarczAquMDTm6sp+?- z@O~2cZM#OCicgq9w+!hX$m0WV6Mv;?jq1!R2P+2_rI58RDQc$@f3X86;DEA4p!~v( z6ZZl|N~7%Pj20ojh!QTzo&wu3d-&jTk#43+<@mfy*2GJk=#{KoCDth`{EC#a$;0)~ z1Y{>VQnW%Cp@|c!vET!msGhPwm1)kyJ+?X-Z}Zz}47gp~!gdAMR&G%}v%>wP$X;1a z#d6wh^N{WZzNoR%Y-TaIWQaAASglCpL)k!S51||n;Gr^6X=~LznZ@L{m9@k}cI}zv z;Y4OZDpVb8Ed)jL*kmpd#I6T2Q%!yuZ3X+9(I6VXm_%*8O^~{2yA$or>cG`-tu!NL zl^P@q9&-<-ESw%I1=Oa!pD3 z9?3;Zspi&8$U26sNkGig^8G0!{%)0fCRe$QRJli@$fPRwWC@>Ku3#hIYLy)+|8pv# z6+6(a*Z`;EDY{$|PPSs@tI7SZma6>9x3tnGQX>UKKBecRF?(CUBBfhp>8rAMk;AF>l+CX_82e8_ z+gM+|zNu+lQ~B2Q?WMqWaDfy3jN;1U8G=Goq@74SFML+{*4c2ZQ}GiC+FkMzc0nu6 z19X4XdEHux^FKPSoX`>S%gk1`q`|6`Ftn~Sr(-K?*6xnZ;55)_4(W6tF`Ta&)>;7G zS%y^O-klw^-U9KgG94Tm9%%k;ZpybKcKB^v2A$@gzt6IYGKXd0OYKM*QR0Eoql4j- zBU|&rd-{F#ACgOq#_LS3RO6QBq@PI^J1f%RG8lt_`r%YL8I#sVmn3JbXJ{p3IT?q> z9<~Iqb#-el1ck6Ah#5iw!61KeGHo|=j>;Y1*lz~6jWn6dFyYJep(Yp}qz{3?VarSF zPH-w_qdxM6tbLA$1?7CFJ#om=VvU({73}j@fTiL8ILi&6$Lc9PKAB7&Bwd%FKDwAO zV30r<#Y;QI!E!R#3~?%thK-%*Mf4a=2|1O2o-hykct07O>B{fvdX@)c(=Zh&YUIe5T zN_~@e!lZfF@+PMALrIOD#c1({7}eniMg|Pk2(C0|T>xI&TCVL431~?I!WYOW6kV27 zz}qBg-$*k2TWS7nGp5rpKMCro4FxUKqLtt~q&pr(Iy%!%pjT;eIX(q00*4lezjXuSe*0<&99JVRTw)r7I^Gh+M{*^aJcF0bjk zU)IH&a07zDMyr~Exi~(WHisYG%%C9hPZAw_K? z3h*~X0d6H6McCXgJpT|B)6Qr~7(WQLx5Q`9ITlg`oXWFNszBXdOcW(NDj#w2W};yy zfJS0`V4oEEXbN>H1hUYT-MQ!rr8R#_oQhpsD0wMzZGWwd9EgdLtpys)AVVSb3QCm% zzXYqNk?*BQ<8e;qOQ;fQs-suN#iMhpZ)`h#?6niZ6+5EK@qn${ph0muj{U(C)P6R& z*w>ty;5Fl#`?~*McwNqG_ehQ%VA_C0{BpMf3=Tw@o?IiK70o&m+QDYOeF0imzFacx}C(D2ms}3MEPQQ^`3`s?hd)N?1$f zd5zG6XedI``JOnNI1?|;E)wRwL-^nsKJW@SKnf^LD?osZ@FcCr&*PKp)5{pK<1!AH zGH~tYmyzI<;vZF{15fXBO6e<@fxV8y?q1ra5HPY5Fu*_DE13p@;%Gt9v=;n6pawep zn6G5UT1r&OIX--`{)U~3SxiU%pcNtV6nO%riBanrzGP|HY$XS3vY3++!!AWZSjc~p zV0i&$dDKh*8)bpTzGI~t`;=3n?ALox&- zkq|U#(bj|UDE>T&I^2cb?~YCW?n(J>23fTHCnxp~AFogMI#JoQ(+@}Mhv8%V!Y0T^ zXL}z#6W&`tnd4OK322Ws5}lxs?9Emvb!cE*|>RKCVkgJUGDfN`A;Oj+ubH4xHcRMeAKB`lDB^ z`i4uI7n_k-M!xZ5x<8H#zg0m>^;Z*?}R@|-c0saWQ#?AGx(eIuT^HNRubLe@2rOp&kfWO;)LCg zz>Jk(;bt&sxAy0 z3kqXP3uEtK>xJV;wR}j%>8z$ELkCt-&%D5iN+7ofRA++m3W9ucoVs@0`&^ z)%`OU>xg?m%`r0KRz&$J%4Chi+otuw$oAHyXND@?DLplWk?~2PinmHb-eI6)ww#bJ z4ynS2xtz=n{`vXiielmX@zO@4;%9$D2f>oKi+DjP{eXS40!*Uv0#0ZZ4opzTVlyNg zJ#`<543+ZjLfsAGrC9967MNpp6IMvg5~}zpoC}KV_1qwGxPWK+74T_aAGBtt1@!o6 zr&&h4-W&%xh3ac0!Bw5KfOer6pTgVQ&ECf~|Eg$74G5zq9!6x5?LMdF^dsJc-8bQ_1QvQ=7m#jP}paMH?R zpH7%Y&G;T|UB@fxd^fonN28RRht7`%SY~iGfV(Jbt)A8%x?xG4bjZW_#I21MU03>` zS&ptGE#Jc2quDPZj3?9)ZXd)R2)_gQ&4Vus31Px*q;(_h2Y#>OcQk2%PI~eqv(qk} zI@-Atii^%jGpn1MKoDJYIjz(a*~79%^HvcFk0Vr)9pqG&X)Qa>o^Q{5 zWXw2G&wP}R=C?TWt)}%>M(XNBz9%Q%t7)#uPQ@2QWaAEg-iGFR^2E_jv`W&pb%&cL z<~q^862oG#-vY!r9wVlpp-pT-{}H@)qEVX?o*HQ^2y>CfN}Zm}(l3RROQ_&s%gu_* z@&e3J<77vf&E)cJ_htdPOZa4<+)I(+p8d-J(=d;CJ+H!t_OBrxZVk-RXBg*Y2`Ajc zL@X<4JO%_N>xzT&OxpqN6!!spUmHdhF$BEtu)dZWUG)w#~zAE1~t2L01bE2b20>&x|ccQ0D zM){)Hd%)$mP5BcK$Cgou6Frc}c*K^y3NTJonx%h%5NcN`HM#y|^O!0APjYy*?JTwB z(@%v0+fI{uo)qp4Cd|Z>!{-Q?Gv&{z^2gFLCka*>_qjA3z85szj1?nrZj;7dW!t%( z0BOyi(w7ApY7uC7t$bVOT_|R2Y1)0l$CGh9@WMx0A{;Ea4zSOC zZ01~nOr@GN+v6Nb_bAmesh1uN>M^o;sI#rY;C2NmTZS;<{?0aSuk{&ne`|CodBp}} zHqD{?Trw?=HaQt~MnzC-G?_$FX4Fa@Jueg4J>EoCFfOf1y zMYdg-QZL5^uFPpgQpPYj)=xv_nLD3xXV^Nk^*0qAWtV27K7xxZ%mlmmBiL4YO^dwl z4u!}K%giAdio~b!-XjESfXNfj2_Ia(jd4NRZy%^UP}&b)7j`6{B<+{fOOE7oua~H< z#%>%ZF_C%Np_m?0%(g}u%uB*!0NW_t{S7;Kzb@@NSH}h>8P1%05Zwk0&f)mQWEj#P z$j=g(OUMZ%+=orZRSY27t2+{>;;+2mQ;!WmM#lT(?{nq*O0vzmE6Cg($_+d)I5%+1 z37i=vUR8)~P(f~BHot{KurVThKs?Yc18G$bGKHvQl-{$&3jSXgxr7^Ziq*qq-=;Gw|2t2hpuW%If8`g{oh4?>yF=9 zAh^p#U1y|ZiSPS~IFu|A9fJpOUjcZ^J9d4Pl6#?;SVXS?AZABU9zkZA`RP}Y!hBbY z#{7sDBzAU=$9uLyjj(L_HkFY(ly4Im*{RqSKtrov9>N$5pi`<3{}G8jvvk+uSZ;|( z++9p#T`+YH~SG zR#E6MB8_`El~ZXH9QR)EFIR%RxWr131^lW6$-1&H%5Y!Rw9I_QLLOU2?ZfU$Wtr(X zlridffJMH_)Rm9x=xTTt=}bNNAR`@1Y+czbGsj9gomXso`z8Ue0C;e7rFshq4{pIz z$QN4r$@DGGi`3$A&9HXl^h~@9$Nx~tw9!%Zlam=27^l7M6>+P!(LBkw@%u>?oyj4Q z8@mT4d&WR#RJZr6eCF z0~htQ)M7x5z2|E9QSu4cas813Jk{+oQ}v1(PjcOZo#r*?o5wYOj*q%#ow!21f%1^>bhdPz)3JN22d(ma2oKr0$HJ;)!l8hyc zKI;2zwC&VPgyYPkTm3%XXznJ$+-m*%NvFT-Ng*E{oP#XynMz^|8f}KkFd#k@L)9hu z8D`ioa%fC@^IWK)_PG()7i~;?thy2O`mUd1-xWn_=vZ!I-$WPpyxn##9`wFHTBv*8 zow&U9;k%=SJ4EcUMMew3TFxDglhJ~f7Efa`h+m*qxAC7hH~7=|y;Q}SCf>2ixBZ2` z*E!YG83;>&(T)cIrsUg+g*JUEh;#DdG2a)DF)sUxLbX%%;7v~@K3>yx!2$v*Hu~0+H`>oT#jt)$~1TAHt<-_%5?sNp)5OCxk{| z_9~nmA&K1}*QK!>uPKt_H7hk)Suy#Lka7r|Cbqk{OKv{X}OsHzw_x%0#mFkwn;zP%*A3CPdb#x%={XHYwP};0OTUj)h3ItjY zpSZ6`8U(xBilq2LIiz-U<}v8)~1C;V@pW+(Gskjgr zuzPrN(HOL%%y1KmV>1@ZTBJC3vv3-R*G`Vj_{yFD%i!@hd6XmAbO9MO$!Bf1HM{un zE{~nCm>Ko{_jhq6ljmo(?|#1rqLAtkBIg0bp!0jv!T`;!>HJ1wB2%c8i=2c6oe!Ml`pIV*u8`vG~VdtI?49*z{ zl9Wl`bBk!Pve^v}`(L!zFMdC}M^+clBHK;9)c6FLLe;CHIUeXk*R7iwdo9qGmV9xj)p?@Xgvd0JE6yrR1&q+gF;C;@aNtfq~VmZZwRyollVLKPx4%i{7@!jerF-Tm59T%!) z^qsZ6M+T2nX^r^=@chQSeN$3nRwN>u%p@XiV|JXL)|gj3oZ6V@6Zaca$Y&c9;{SKr z^JCU(x@=o*-quH4DrwV>VJlFPTy6SpbZcS`nkkqoYjIFq&#G`NMUSh@OdWC#Nsvn4 z6v2G{AY@aPWWf7UM&gAsnVwZ~+3neHWxUpHl}C7-*G<1zVfLvL>~vJp<0ZNy@t%%- z%{e^5y(^cn+i;G;RM}m|XXXHO`7&ll7WLIdIQt6z{V4@!aBs?R-2ljQ=Yt|=KGNRM zF_S%4 zv1pSW%$fGO$c!!X(x~9bQ5T#S@BE2OV|onOa~tVSn9V(Kt1x2E>$n~_ia0^!o!mr94YD#vUDuo_#>r zmqjs)bv}L1oWFJ>dIm`dZh70@n_;GJ(KOi3^#wkWgrS3e3J>!HfL@SFW`A$aw<17^ ztlYgy>93@C;(@PVg)dqzVzw1{usNb*L-&#xji7Rmh2s%G zt_rd6#2Y&jsw>=dE*kWnENUzm%!!q39!WIS-s53E_J~!*`p8QWHH-;?ne+td1Rld_ zA1FA(ay{NjK5!kM3bO}Yho#=tA+;rF$voL6Nleib{9B z#0WF8a@n9V<0ftekA2{d4?^N;kl5`}n@lMY4D#SXCT+P|AbcMK#kaKI6*z`QON6o{&IY9(UMXBw94J4*7$17K3H zI&1exW3QXKsCX{YLc?1~=oxh1_?kv86ttIR!HU?7E=6YMphxk~vE)8e8 zFp${%Z}If_wlJbrRf*A@0NTM*2%uA?O^HnD8VH|noA3mNXMCZ{7`@UQ2~M<$-5u&? zo^IEXiI_~0t zs0dTp@wrIBQvBCbwD{zc!;(BZs>uS-lg1Fmz*D~VVd}|Y52W`}rZSHTo;21LoTL)| z3yYhKe>SV>MGb_{l`mm-VfB8K<*S4w)EX|}+ z%OX-KSVln>4f?S3P;Zj)kau}mC7Sd~05Q;T+}z&${4OTIS1KiN^HZ1sJg6(pfuC!Y z2Pji`YCi4F@k4G51eWW9m%Vab_FKh?r_;~V*?@@?4Z`<)k6gttPG|OSo4Fc#s^m&_ zS-Nd9S7CTizJ0dL0wvfci9yA|{K}4+9l?d-`!8YymnQHoWnl=Odngr-U!9hCh$Nn? zV~vd60g98mA)qruY`qyhO-OC;s_8?rdsmHj4~-{1B;-c-O$(9{T<6O`rg1&xGzFTZ z9J9UL8?>|=AUD>V{ob?PxlS^=2$^@t=wY*W0vk^P+Hu*3c=Fi}Z_c??$^jqX*O@Nh65qGb7todP?TH2MwHXQaXzGCZlulV&c_g{hYG9|6h>3n5%*6~HvJ<$?GX5ZN{VA_8AJ?~=joR~8%Ml9j* ze^2vy1TnN}2}&W$T+RBU!oq0=J-Z#BMucKplg6jIPrdO;H36H<%9$uE8*;)uA`Kbgj^zy;$sUjS0q%vx z+OXz3cFWrE@TX@s(8AV$LgvO{-u5ZeBfUySLb04MqjWWtg%JE*63~{yeH>ts6pu z*Ju}_!N@O;Q@M_Q0~OxBC*CwTHsg_;KYJ$uWz)!Pm`qKpyPW~C;&PNlx01}eHubee zQup*zU$?0fHxoZpK_{M3A#y7qgTe7r@VvrW1m1R6%#q~C7Tx^CG-(n&U{ z!6t=;SN>#^>TObI$(3)D-mpmzQSpY(HtC->smBi@?KBoum9As2P$aUT-fK`)6{;_G ztzWA{^(9rMM%q;*vZAUfo6L`B+SJ?gGBe^Md4%njnV~$Y*t^UO*3_YmV)nSEAWzLs zM_aSg2?fQm8;g?6PDd^@uf*~K%g4?-W?XLIbiz2oO@uoMPZMegYY5*ET3v=6HlZ(J z5aATUg@iC+=lp!`z(3B<$96 zgZnNcA7PXB+DqkkkvC3U@Si5t-4xXM zvp5z)Vp3m^Of?_Qmc{0vO)|&cA`2q4|$(`E;9nUOSTKB$5Z&@Ya%({CLh~@WX21x$c{GoiEO&gbuJoPOSOs@ zfkwkcZrYbN?R7?phEv?Mw{6wnozSb<>`5;X#CkE^gXgHtiG2Wo5(Q z&*Y%4L|U92m^_#qkVABG7`e%;(UlOZ^g1)>J+~v(nE^c7HGmvY|v7aNBpK3Pz@8{$o{{TtlKkr0BO=5;~{>KRR$J310g znLC!xw0z%nLdx9nrXDIBn3y{rwW-VH=GcS~RBcmV zmYbatbH_xRTCf|b2_fi0o4T|MsR<$IWSd%uH?O3*;|QDjNmo)6LQpT8+K8FGH+OWf zNk4;tH+O8kR_oeIa=CNIS2k%B)%WI()i$XEJ>Hu;YHZT=RNR|8p0!CsaE$&x5rQ`A z(nrP6Gv0BTdzmTX(VaVv)l|#pZ~tkheE!dA!so$jasy`*t|UYV_Ys~ayg~Sg@I9f; zwb-^1`V$HWXAs5`t|xeN#~fwD!P4M)WHuX5+vII}p*;Lbq)C5n@wW1vxgmfPBrczU8u-IPyiLa@Kkrry6dsR^Dw*`_|mMR^`i541_A^(M)c zhxV~ad-Wj6<>@XqDMsh@c)ICot^2+BF7WXtgkU zqFX&?Q};ZC)I_(MX;Z)6htx#3nq*VU4dyz0n&?(X+SIB2 zNKH%?c{X*cz)f_kb~g2n{-h?l)lXMwEuQ6`Xs=tXw@FWffY+^7+N4()EWB>@Z=2M0 zKa$+_@{=~HR+8NH@?AFRAc*93t7$fAJ0&tzSdnPQ>t!nvC9Rhi%38**y!$Tq`_i5~ zx+{(@`e?h=6Nl`yTUAb`TaBG{#YB9~67D5DM_5Gokg$oc%cR^uPr{*u5Mc!2a>7l7 z+X#;lv_BOhxUuP%tPFLPS%tA@^6yo)N8=ufeg7IeO!(&qXJ6^Q4ZKC?qZSO`5|L9z z9M4y2u=M;w_oPl?>`ry1Ap3iPY^U;Y#BC>f6MrQo2Opi{RKtl@xG5Q=+@>iLNQrFE zzP58@d)w>I((kiycS)*>SfZ63`wW(;ujZGLzg20Q@>B8y1+oi{p0m!(TPh^xRJ=&2 zvWJ`4`Lwph_mLsE<&E#CS?RObK+0B{caW)z>35?{UNaPS{0s^ecO1kyaJjhR7@|h!qAoUlZg6d}8V(P!h&wRxrY&!j zz?{F5oLjF~&jjP4l^!2&$YfDb7`x6dCzSbfDD(SZY-7bcPKEDV2A+^JE>83;J`@Zy zvnCF8qD90a4cVMaKt;NLc?0)7awCT$RcjE9x)T+jCX!#C?-nx2O%|cpHerLjK;YkE zRj5~yNT!^u@J;gD85a7Q7xLUCE8JOr#R2MS$^4k^6IROQ57v$?c2;&|0fRgL>n;vM zJyo{55Z;E0n%C$)qql!DWad<1|YID`&nHZ=TM3Z*Uo6dtQj9m491 zFOY+iNO{xMiSEY-`rJJ{Sbuxs$&0jjC-23X;m7sGh;VQHJwJSx{?fc_<@_QmbjG7#H79x}8*vH^%AjDhWajxK_qi3%j|*Vn zWWwr~QzCS6H&&&;bvGwnD*aD)#e#D>keS^`=*JG1wfXVsm%cAnQq|ido|jj?^7qBO z23QgRR}>GH&SvRi*nT{xUi!j1M;EXb9X2DtlOjk2IXs* zm(rVb*hPPoW;!B!BbYnb{n6o1EH2!kudX)HrXEAen2*g>{3R-yj^Ohb{!s+IB7PUQ zX5B^>O!3>*BV3U*QTbp9Hi8&2qN7MiH($vzzt+ckF zN9!V(=l>Fkc#X%EXIg)iQzbHp0L|5uG@%^Pel_BjdTNMvMgfXJ`9io5c*x5CeK zWP4U=PSBZWavEC8k5gDRBwy~MnfdDv++|X0+Hr(Aqj=1c!ptFEy zM!N8tWL%?Uv=>Qww2eOubXCE~dNJvIp|#gN(>-;arxp;~uz--o;#NK3=IL9^J5X45 zn>_!7or3N{(Ww|if2sI3-1$lG$TQ{<=JtosAy!|S70Mi&UEUN3;2yei4;`CPE(Rne zfD`DD`<%h^uI_WI5LRBi&kQ*gY+wYcr*!8eXY2WLY6_#7dlBoguXLB)?H6K-d;afc zF$)ssX#WHZF;4OhDY|E6Wh+ciFEX^*Q;dleweFM6@q+W+6`!?~;t)~2x#D@d;_LdV zP$wc&AE$9#3t&C0n6Pe1J03}s?WoA0j70EHyqHn{ck9-Hy2YQ|8IiuK{ePlB{6q>+ zyAZRSdKOj>?T(GMwg(L(2jkslaoc1f#YNu82xo#igmYhFvO`XDE-x{IwFcHg)~!#m zS-sY6``++D*nJi!;)I{fjRY&Cy6sg60T*Et(s+mS?9ed=~(lw=m5MCC#Mt(oUQso#cJ<-5l%= zX@ip2DAn3$=L za8G@3cs)J{R6ON1ziH#AXFFy`&JB3jR5hELwfZCHoVh5~PP9rjRMTg8Ca(Cyxztt4 z2tiJ3fgsQR-4f(qub|_KEY2#-T}1Y*T}>M25$+Q!3Ne95ua|2O zH!6M^u>4l|_-vsx`};apvAvIZ@$mpu1J0N=oc7Lha{$O2uAndQ259*+Qr&9R_=RV_qh*C8RCP!01%WM6?X*p|oK6 zZ_oxe<|jZaCyJ9_?z0ys2Uf=y9%wV<*$YPOE34*nDvE%@p&0eEfIq~sOqgQb`F?yL zu<&8pIymU#(vz^76h&8TI4Z6zYyR(AXXK^UzURioNMX57-4_Dt+t2d)Nm&7I*biX^7UGB$FGcy0lKN#cqOkRPl}t z&E|Tp%s0VWTD5wpwyIo4hCj%^u<@_(&&Sa?)o`No_-m6`KTh`}J;UePRNAozjbkGt zoQevNsrab0W2oYbaR2Hv+Q-|W{g6nWv|SIJM$2({OmZol`x0B384okH?L{WeS}^~& z;>r8IOZ6G;)JeH~FKr(_Np2}+?nFpP%G5soI0=5Hzv$hMdYz@0si#0Hb2B-DNxON( zxTloA_Nj^|TZ_@*68lge?rR^Q>$4Q>BaZ>7AfIjO5c%R43S6&V?yI)uC3!VOfWjLy zwJZADsN^mwX1`7SJ^rH;PE6oLNG@4%qdXiE?iX0T|7$p-O@~sS-7U9q?;vkOvNq$Y`)?_ zpYF`GSS>j&$ImF;25R;8mRa#PxbNMjZVvfidcX6i7RRt-UH0WAnrdK6&iP zL5%*PoTzy*DEEqtiD9>EI+k9lF7S7Rhq?LRB7d-yS#56QkrP`OqEmqB$aG~H;qzfK z5vdirwvaYX>d75;pp*^7#(Y(x)~+==%4V;8*A!iB*jk1qFZ zdA^~kp@iPoha(9tygL^F%If?>6WJP&CF4s4bjAl1&t^A@rb|&I7)=B75%cghfFq+wU@A3Dcz*DHcgx z(o*0?FXeqx^_;Ycw!uw2+8v;VF3ksgOJpXJw|t7%hez8~6TZ?uFxb`b+MU5#m}TXa zm6L4W*x4*A4Uoq$%gD~BE6hoYo0=M~{O`g?aPZ-8cmw#JH?9?C`%E#1;E?l5Gx}NK zP#SurxD+0?BbUPQf#mZ*Ll1dx9-N<}OOwH% zzm21niL>7B?TU4JyW%uJmv4t12RoGrV+gaS@>ey@1qjIQa~aPIp_`@$!=vO^E?K;k z;cCl?sHBp-wbz;FZo#?W**WT6%}%1RrLhII@vO-DjM@#Y zBN}rg)+6!WErL7`klyyM9wyzEiLfqZEcRfpYm)+A05gz!u>Z`N(fAvDWaWw;w5?i$ ztkT`tdb7tlvJ^NqhiIWY^NW8)vv)5cy-ph^KH1O|p9To^6nZ@mxX;?`IwFy8lRp#> zVr$AM6Hmtgs8}~kxNcHk2z;of-0U8c?i|MQ2xP~(r@yLs^iJq7%kd`9j2uqMc+?G) zFQgm27TLZRRuwX$Rd>7nB6a$|$Gx-F>3^6Xb^4zuGKV7P>+t6l`P_t^7rEg~iWL7V zk*Ni(oEb3%;MHOPAg@RP+2ap@yhlI|_CXFz0XYzma(O#5o=ceeYj=)ip@0+07x7YB>?3Cs4@l6S$_b~KLwCjF~v^o{$wlvN~}6_AFxQ1i~c5b zboD;==AJ~Af9|mJDxXFHOHMoxW(dT8=8u$ZWXO4(Z zwU5hOVswNobSlq*6`bgYkWI(VLMJNcK;*fgFnqN9jxKa6L=9vIrfGbxepr!iaQRSg zuED*&Tnu4_vxT!|Nw&HntOA-@bb=J-d0e>pC812c5O3g)JTBl)$aFf*6NMWNw54`P zE>)J!e>qJ`6~iwIHbW^@)<2;~-IJ~=DE@5+Ejq^*Dh zqoDQyITENH<)hXM)YO?5W51I4s)siU&83t`qLdL*%3Uciex@zRrEG1m0@JgfE6s6( zSx;z#$XaOtu|%6(#F-qoO^VXm1h10bxtq!P1>TsioPWisUJIGG|0<6nj+@0i2Hgv6 zU4D2`-MMQbf!>sY-bj+ThrQ#R1T;Dx>sCmgy z4@-yoNHeIzIDHsz-!jxiH+i@&rK&!zYqj3Awufs;GpHNn%;vv*K8$%^c>J+Pvo9Js zSQDRsF{@>PbJD*sC#BP4h|nYGf3aWs7cV#a;!LTlMZ?Yxq^V(v80!DzL;raOZ;EGX?*t+|JdM4Gl5THi^*L3 zTPsXHB44S8cYp+A@5cp=ehPHMf4cO3DaF3Ra5G|QSX$gDN8a$FPX^4POr7vsv77e8s{%AYnaC$NTcWB z#WF?f=uv#FKYDy}zo2KG^|4bU8k*{Bw!4rM==mkY$3gcNh`BFn7OC#a!+df$pj+%Z zJ?2$WY!76Wn~whPkwdf#@o(VkAoq-xB{9Q&H+o&=Vd#;ieO`$#&J zGkhrLq(d?2ds9cMA#xTjC{UX7W;-8Hj@LZm-6Jy*X*8Q@2SpUm9m@U{6oHQU1&zLM zt|Mw&Pp0N^Ddn$XYCelT&Pch6sl#~Fh9~h%StsPLDy=tVL!=buWbGb{th zWgyk*dAUBS1Cd%Db=ZwxyH}#slL$Qk5zY<~M}ogQCT%kNCnAleXL`;4J|v}P4-ie% zY$mY;Wu;~%=o8~|VO9&2eSxzNw)~gxOKa#*3LueQCP+g+)Yu}ROMO6BrUUvV)WUSv zMjSbeOoHV^=faH^mjeJn|E~(oksi@gW7+{4jYFg)Hhd0EjXun6>ia3d6T99wGl+Q< z&<4fri@oxvy4z@4xuj}%y|%F1tfI7dvM{+_|9q9-u1$CQ?fR2GP7$1FY4asf+qQRe z!Ey_83mI&&&mDTAue_*ZT=bh+|KAKkBeBv>(->Mz}sO!X%;=2HDWBF(6tpM>}OCN~N1 zbgJLNq3D*Vekgb+decu=_*AdD%cuHH`Z&^3eYLrosHJ+IRHL~>@(F^S<)SZ?6iH&- zgcFiUD;#|dhjl&i$m{fK0aR!1W@VJXZA1dMZ}0RlcxaDgLdJady_|ym=Dxtg!fWnt z2PZf8r^LMGPAA(0)pty>%sO(Nw1qCXwg;0@d+lfte^8Pv-KkFNx3bD8d8pteBU>3(6)B?{YQ$`cX%-4aP5 zbS5SHGw^Ej6GmAjvRj5ZkeI%jA8%3pkPKV*-sX4sY96)Y$wY3ZYTN5%8s>%V`uku; z>*LVS&e2!EWiVZ=vJ#XhZZP&nu>GR;i}8=qP63;0pjtY=c)L&MM)L%bl-ho&wZ*PhMT7T=(d4t( zqedXLT4E6{hOV+Juau?#$aVO$syBU(6C&s^K7E!;1Rch2xXd5MujU17|2`m$7s)^w z>Wm(pM4j<@M^R@qHGTSPr13bX^5kGP`DOG~X#b*q!)}&JNj_6n zn(KV{4|pKGe*DpKN{GjBh>&P|bUs7pxT*JN1lGgU2d6nFUS z7>i9;d$r6>$6~l*p}MAo(xU7plon+>hBw=XxA<06R za;(rK4V!7x(0P0(WNto>=lZaYNr!c#!s?bU+M&O+{B=DNoNfKzAfxtEuO7$RuNR9? zkC82ZeZT*8P5ReO$7tJ*+lXY4-MOxj&1*W?GJW_y6zJQnei2S{8|4K)kRVvxb_c)UO-$V>-JD zm3{mO(MvQRqptP8zBm2r_Xq0NqgnaHw{X_h|J zSPz@hVw)>z)oZ!tyoH+l8TrIgaTaaw_Pb3cl87{#>xd|Qy_)=sb4*D!d4g!7CifD9 z_=kvN$3vv)n)lG3$9aYJ@IZS*{JHk)2_h%lkfdWsBK|A>*K4U`O2hZmuhXWg${!dj z3X@=2do5e*`vKwBy3tg7@H{DL`H{&|((A;iS>;aJNVd#TMOneH-QmgYbHymXeJ;FN z#&Zg)GiUK=rQl=s`7TpG#(nt3bB3gY9-91y#b%>?$64+ml>X|}CYW23S zM*6x5bKYV8EK^hAVlL3lKQHiSnZNPEqC28}(r7x^VpyDv;W6nL-grbZL9ZkRN^5?l zfu3%8MqWDBtNJFWl+xG-+pq5x_lu_{ad+6oWIiAGwECy_wMVP(4^PJAb7Ej}1r|zr zoV$faDDW{E>%sDv_Hq05LBh0e{G4EU4->hs!N;Vp_qB(~r74)4V_{7bOzv)ZwfyoW z9!)-`DSW_n+F(iYaiD#|nDhWSUsZ?FM>( zU@iB;bGm-(%1mZndR(8gd2U&*TF7pO<*&D*Nmc%sND5E%I857dk#zY-g(q5+(n@`3 zHzq@ynGS8mp$hG+AAvSppf&HB2l$|drGI^^{d&YEzJ8u1yT!k4dbWE9q^k~|5bVGI z%sLgQVVU?uhAb0L=5KjJZ&^4-H!#LT8d^KiSv-_CY-{Qj2y?tQ!>M?s4WdfWZbN2Q zpRuc%j(li~eomV(NtpWf5Ut-=8!4|N7<%8i%jZ-4FVEylpU*B$2lIplb1UAb;|Ib1 za{Ff<*Ri-@+5n~n%56gIuz2OB0~~Gve)1gvOF28N>-!v4=D09l^go_E%}1@?EGMG; zAhV%ts}4Fiow!v}*~cJmT4gWvAyy_JHkuneh+c1{@ z9sg@&JInZkcF|Yo3}P8SW}%oRG}?9i1N^92LJLIshzZ;hB_kP&pUT~Oc~~5lg2g@- ziWzb*fg4){X|mZ;uxVpOkG2BRf-VrT*I{yyMSJy_nbI8(n) zn~it>8dxuHO2CQ_{5}y$k~de4_DHe0EUlLx(GuYC8vr~q32+juD6oD{zF)LL<@@Pb ziRm}q18tvI-}p~SktDbW`Z%5rjy_dGM3jhLb43pl35lMkQrdOIpz0{0#5FC8r>hYZ zEFWy0ngsY8A}N6Tr2yX30)Ao}fV;O0_y!;F>}0@q5K#m@jNj>>%m<5zf$_7l_?<5z zadQUi?E^m1gXQtT&Gzf#WzF`4EH0XV{W;==t#8}(uZ!&0hloCPT+3fS?ti`PrX*^; zP9&vLzaE%esqctUsd2KMwL!$g=4h4pfKT^ed6f$GOOmd-t^Nk_2rW_k=(Q~Z%Jc#4 zpAKl8MdQK-s5AZB7QcRDq(_})xYyJwd1#z_K>7ez1S;_tKW-7wWFOEp0Qvk{>Ou8d zKMSbvnGT|>&F1}8zSr3M=FKx?diVBGx1H|Gg}2_wGUN8IS}ZuzFSu=T!M{vSYoQoL zC5E51#OO1WCL-vq6r}|VmL>=quKb)U1@GQ+!M7l&SjL(~S$>Tp=>=b#Qg9ZrhUqOZ z#2_DBFd5w8>EQYRAbuFDpB*Z*+nR@;6rraf*WCQDJ|vX5@0}-g8@fr1?LPRl7tasm zzbUJV@(8xN~k6LNZ9wO+`z?z2~T6o`giV@C)`T7?3vs^oN(x~_&;cN0=*wqqxzMLC)gzy7lz$^HCCDam{2*=LJ4ctiR&h7ML z2`>>^ai{GOgb9Rm{tfPg{a(!tTtYbbHE<<-MmXqoV9n1Bbgan@+(TGhn;Yo8AUAL| zVH(dnsE4y_SErj-kKVm|@70Sx?!UaWf3sd+giroAas%TDuM*xObX$ylFkv*|O2T47 zuO+#GNraaPKM{t$nH#v9@GfD`w|FKv(DeesBLs_EZZ1^L_5ML_dCbmjo2x|U*&*Z* zpnlhGY5$trAA9#~>%A@GG1k2Hy%b~3@&!mtFLE`&=nxl&SA{Tv*$D%Ry=5!uGh$$8&#R{}==7s$f(mdqhfXUoV zcEQ0~oTup5_2%F|Tki(%U*{HO*5(Sl8ToP`5EDYrU}+AO0jU}J)@&)N@43j6TXmzF z#+}plrCKgEOUt0Zq^$P6-mB|oHD`hX*mEeAv2BH^$d^%2qMRsRW7gQ{o9^4np?U(7 zs8rPqJVjJS7OA;{DP~N15K|JSwix>M7e41Q&KoP-b3VEkusN zdi55t?nf;VB_pX=mr$NTmyeD|z@w6hWd@bX0#sVe4B#<|Mi*k$NVLYKkr+7=^=Q;5 zl}2ZlB+*D10#Z_QDeCu#WL^zRwYB(v@EGsLx53S!B!jCJrtevHhFNY7@)${09=#Kh zdefDNnutsD3P(S>w~sv&oVn9Rv5VpD8dE_Oy=uPhJ=&e^N8+%gS{amLn{9;F4llyTZJ1rdR43s_K{eRw7cb?Uz#Oc9-sM zso%JCS9+{4Yl%|o%~GnIU`=o8WBnpeNR-lOj!Z=A&HhAEiky>|($r7csMpl@6HROC zN)h04R2`PqDz72){NYxaMP}P7FVoCEeV$50>dgbn865xi`0}IP7Fm}*%Wc$amDh+u zpT)A$x<9kUR@uWZwIESYqd6=QsWQqwx%-;fJ!MddyQ zzoN4fk$Q6nk(5^1yH`r9>}sQ4t7H*PYn9HTjJQD;*J-V?ALakyR@ru%hiqN~zeclb zB2sU5Nk=y1vXI*33ghW!Vvaxs}L3*7=rJ_}7rMC#4>bY!2$E>y-wmp-#?)axs^5rsY{L7#?e zS{S~*XG78!xm%(X=#z**pR3d8b4+TH{ZotF%NBVyMasmSYPrH~eyi_NNBevH}E83G9qK3V@9iv{LAc^)mnac z>DVS)e%p3z*Is@*xDu^@J{hMcq3wddK*Zmq(j%Z_fXa`WodST;{}gkoNbGqF5 zce_lgFny>nnw;yB`xr{boSLVH(oW^PHr1$K0!wrPB>jK0J+7vQkQbn8(b1sJ>~?~* zuckh8IRe8A^mcnoQI7BUOXMwkNfBlOOFWARDZZ^={K4tPLt!nRU8I0nPw`qH1=X1o z3hCF!*n*PgeR(wpS#BQc8l;<*reAwku16mshXutc;@KBixxVSouxT`n8aME@rAFBm zE_+Kui!raWJ4S8^@(5wt31;tunOA>6#$O<@S^WWP>wji&^Wu!~DL!S|@}}W<-lbLJ zd&Drm8W*=~UX58JZ8Zi`rp0(8)K57~-XAO0B#c2)kXCa3kU)CNWzwaEI!V3-@Ha4; z4yu>9kBYxbmTn(#{|{k*_{a;NCB^%E$a{kKPJW*v?k^^J_}%_z{nG_wAEX{+ZKQsM z&MPJPeakTPWAIjP3P`;w43)x*LKBGK$_2#CA>uu44 z`6wxm)+@p6KV6l~>}Li24t6p{Hv}z+Pid4EL1=efe`PX=3CH^&vH_uTAZ~W-?edI-p6{KU7JTpcPIYe4RqU7=PQvO{ z?Fn}~_BsU?a@8GrG;>Ppmu=ae1KgwFuSzM~qMULg0~pv7MP4NmxVvtvQ=Qrdg&1-@ zeR1q9^B991F4Lq9>dZa6NPlw;N4phs9}T06OuZ?GrL94D>h<(%ch$*PfD9fhkM?ZR zB#5ka5E`dpxrBGTb*U_;)Dzx1=#Pyy-7t7Dw6Af2NdDEVgU0< zuchK#1~iN9#jPbc&?xXsP8e6raf+UM2spTmnLe^;T*5ht^#8~=BPj2PM0qrNG`~zx z1ag6vCuI!a(6_)JNV!XHY{l$}V6S=d%==xW>Lp-@`t!r3TFeMrj0^w01%7@00Q@a! z@Fyn2zo8}grT-E9dnTvizgsf=Jz9d_?f(h>E1i?*Gw-cr`V>y*DjsQ1@at)_E9uCfDUTs2?7t=%euh^TJKPa3& zyplCyv?iSAyv(_lj$I$xH(-vxIL<)x+NN0wq9hi&nmoZ+^~W@2EbFWyPkhfk0JgYE`H%7^`@fY*nGv6kYL|K7JRgt!?a(pMf&5&GgWZWLZagt=TiO zE)(rWQ&nh-nf3awyN{^vSk04%DQ4=0e6f2^OpO#ZHXz8`>N(L2ocW$1B z6jU_mwC+wNhmt^1GM2Jlze@;TST%1PPy~@Y5GjlepXwJFx|HfWMX|C?Xxn`hsR zv(V7j`Z$|`cyV-qfXEm-xaxr+ja=7L6bmtDFE1H1U1;n?o4~a=Rw0%BH}wxJ4owYI zjl8EQGN%Zl1;XvYTIL6+{%|PvTd@3VDGKlAU$t|l)sZ6vt7+SY=HuNwv#8c|a9(ai znN?J~F1sj`r$zf@GQ|~D-}}=i!AE87A0DGeVON;xT!hpx&P4%2%dnLY;tN5^kkBI7_ub9r07%0e97`tSCY~-zlnP1a#mo_adth!`A zJtZNtGgX97|9sm_t0ggf%S_PzRV1xa3Sbi;c}0vkf7m+#PBlt03BYY z`ol}2x4Xm3{Q$IcDXmd8^z)+F-MX7m{kqb6(EAfwL*vO=i$j$eUK?E&+1e_6ap7_&LJ!j6~a32 zU)6nJA^P3Z0)j+`rI- z0@+g+J00+#jP>VR{$FwBTN?Rki~*r10vO%>#zLhKYeOi&nV$5k1+>}5+hA~_<3{pj z-pO*NKeBR73!n=g=cLC+$^Vq`cUzr5`bLDweB98QoJ11$*V85D#=#@B@A`V+_A<^o z7dYVzdEl21TDQtYL< zWN(KI%j`KTG5qb`V<1oW>1%AZMev-B7VlZr7 ztD=p<3oYk%su3ufy&L0&)D3e_9TZ!VP`^Xxv6EC6&!>qsf8tH>z{A6s&KvP(wE$|3 zeCVG+;5*fLOJ=Yx&OB9SZj8*S=_8@$0pyVokoOrY)OV-SA~%~jLVj1YfT8aMF(vv& zoOOEm1I9M0lP%^{I6LJKgc2i0hCBt~&RiJ@52zxUI$#EBiAp{|we+1Nrs3n_F5%)z z$+50c&Xb~$`g(3Bgc_d8Q3nx%ms)48jJ!xs#ySwzM}2|)PWUDk%}{Si71(QZBWY6* zi}n+8)TBv#T2Vbb34CZ5x{?sm0u|C$<0X$KSmMjt%Xotk5bo=Hi)X$z@S1&KyptA{*=Xrzq9 z6?Hq!l)KacsIoy!FsT<*xZLiA8KVfVuzO4O@JiR+OoavZ>=THS(^awB0O|o{LJU>> zs zdOu^*;oqS55x1e1kmP`vo$5c2oAllln8T0`pm(3>co2s^sEim$hD7;H3No_2)(pZ9 zbw2Itmxogb0jQp=V_Pk~nG`|LXECWSh@%eWpnp7dm(Kg-divo{dA&HA`0y=LZVp(z ze?k0K*O^ZPzn$};!EZ;OaPS2KxW$!JMYx1%HO%|!s{ygYcCW1!ceOFb-;7yV*JLw$?Ww68J zZ|LfPzb!H*I2A>ba5Qe$X3{Nh0}r_}GJQX-2uQghG#oC|2O6-b3t+i-(%l?2s6 zR-e$t&RMsNqafERA3@fp6{+uWtllW81{sjg_!K_Ss^PPWJ~Z&Yqc{Vl`z1=1Vpek$QITpFpp$xHdPsllo}c@2l|gBTM-pbz4$ zHe#b@ta&@N;wDbW{^R#yr$e$u-pyct#{qjE6r*sAlP4IN48`fmO4P5xm4Y>(4;r8y zM=cx!581s9(P&F5G+yVU>T8pZL(~@dC{nNQO+$v;XSP{S3mxzOmzqxvBF(jWU?Q4; zUgAD2Qa!zB&yR^Wd<;=6db&tGdxNo2M;*T;o*HVn7v?Ph+&42z-v@9^uEGvrd_`JY z-oS$P6RzqD>Duz-fxBGLeQ-~Td(Fk=<+9sk50iwd_nGWPkcWuT%c1chx9XtUiy=FI zCk+CJGdaCfYN74kAJC=5PwvEUMl*gz17Q*QU#d!e3=tje->B-NzY+IkZ&Udf%g=l$Q9fq+=BC0iUPLv!UN#zsOD`NAi2Llvcs819m)!M z*QgX_*+xPqW}Lcwqg8q zi$VTm&-QvWmPEMhT(Yubl(K9G6*fxoa-r&F*Z&3#ARp6Ps-QQLe$VNj9=i!di=FU7+KR=lEYa;i9i;5UIzeLV)d2TJ0xd^~Qi()UAtFsm zO+OXCJ1xD!ayQTA)Sk?xD@c}BU*ScT_Uoes^D&Xs1a$7lk<6{4) z8ojk1X}CyjBGap%9;PwIZOSKsN{%rdvTQ_<0wC;)2C{@B-LHb?P0*v$AQz$*XA!B6 zMLD_v30B7Yx(_4>0rGMrO!B41-lYrp#p!~cx^hWm7m6S!>Xmqx)%!-z2)MI zc{PQ;;uRVsT42|m8Cy&`ILMF^qO}a3`4VycXjNF?40=vITQb%wMx?+{VHwO!1F+O1 zmAaZxqIO1*E}9ulmxh5dKqaYkeHdN6o&pO5=`y^PbKqCRPy}`i-X%)aJFeQzGfv`N zdJVz5&`+CVNMzLBOsR4o!%oo1SQ-#%>ED2DOQzyE7;E?T#wX7~h$1TJm;-RWVDp^9 zIkl(oiHs`Z*v&drz_#oHySD=Uh7r3_jMygNOW*2)R|cI*tF(cI8P{Pj+r1BRa$afa zmvYs~tT3RluSB@lW9{;o+p7h*5dRrF-&5HEak|gxMHkIW=qV?oAgGC z{1OVHT8hnclg~2*9b>LZsSqd?4NuD|%*Xs>_u8qK&CRyR+ z;tmriw#*#W=LBO0&>Owg1_*w=;WtCGEIQkDAL`X3O?EQR2VU-En0E1Rn$jc9N9NkuPGhK2*}Wl(_8(1(el2LlPAHTK2pVR8cvX*>f69ZCNfNPJNY6j4oy6JRW~ z>06&Qb>cBhI{3boL%_^febQsSfc=w2v7^({za*bHLK&WxUP>;SZE<$*5Daw=_qBVk zK~@g;w|ig1XATdtXFrN~*jl-+)sKqCja0mQ1ZfuGwuA2|m}uWn;wao7A&7yP9999F zV{X=->VL!!{>F*)e$lU5p$5x~Qm_``Q5bN;A7344-vGS?z!jE7I9C#b)z>lve$xnF z^Y5r~mqV)~t7O)$HP^LjNZ2B}2b?^G8gGqcv@p=wzMH0j2pp^8`<4w`ep=dM^CMn;NG&T+T=d^T~<+Dv8iG{P=ry^{&xvq=c zry!2ab+z_AsA5s>sjN4z@dnVot-OA`pNy`H)ssLShiK`32rv4=6f#elT8?c1vPYbY z85q}jso&w{Xvf5F0YD{Ya@<+@Ip>dqk(UhiLTiy=9+ap8@({EF&;gaj8Uqs66t@30XqJ_i9Dx zTu`r(06=qhmCVt4RrEq~yH!hLR2QPSU?Q#6k-Yxq>Z15m1(@EY-Z+Ft6yt7YZg)Vm z;tXeSv@|q|&_4G&*(Igw3_Vz>-h?3cjw*Yn3E;`zId>iRPU8dC-dW!bIGTyGOLg}S zj_v5U5aQ_8dLR#~jQK(0(?E%u>wqd4sj{ff%l2D~MyXEaM74siHKFP2f~qm0kVOO) z%pwO0Zetd#A6H@usaAM(nyl7pzVNSVjdF2L$v}g;B7t-+OeQJ5K}UF}PLL<4ku+b` zNXV)DM+XVDf}oH(iI$Id>DeTy7)xHgt0dV<3J)ZEqnl)9gHm;6J5V}rtxdtJr&kV-0o$qEG+w#nfi2($1VVM=+rBDVDsYEYq12Jv` zIH}faV8-35gQ4n)p{GN`hIh4OW`$`!L*u9xpAs*`j5Ra2eKpjCz?FcSDh!g?s(~zZ z$)Iw-Z~SrU6pvYG4dsQxi0UY>CCZZ>K)4@RLfS4ycfODcBdVbVt2Tpg(8QBU{`8F) z!VyoW&>7P#sua%*GSwNVm4y-dtMWU8slaYcXDS;mC!ICZ3m{9TG6J%_?46mp*J_7g zXn_Ub5y~UMV^y=3_V-yI$W_%#<5jg$`RdIPF)?NXS)3^yKv?5j4|XC*DwJ8IR)JKf z-^G55V+!q+&0PL-lPKF@$W{99;YQ+JX()c_oApuai}&&MqS#KJRC&>4o>}FN9BF_J zdj{o3oG>YK|Jd19hN@^%2kt)I+?J4XZwL437Wkdl%;)*T{~`{7)SDmfSkLlg7>q^8 zb_e?LtphP4IY=i>*W!&mM&J}H%mgabN(}}V)R`2a9>g1M8Ba^G=S0Jx&hGsQ(jmpf zAm%Qt<;3FYj?|4Q_49S5-Y@I@4OU&+U3I07?iMsro?WonaQa#_I>ywqIV9@2 zT~d#mN@#}?YOPOs3sIl3lv?HDYN7NwY-3oWUP`I+>q`Bi92Y0BTGE!)mHM%0QIqYI z`j)y<$9EE`pQF@qb*0XxEpuRf4yCTosUxqXt0tZxrEG0u`#Ctpq@3}Tb6a!KI~zpr zT!mNk&a4XV9oxmBjO`Rj^*>^bqGd9GTJXJ?e9oivk16$tx>AplJ)c9VJJywYzZ}~) zQtBhv`>quadt_hsq|^mu8O8t)xB6SI+o{rSgvZh4+*Iw4hU{6}# z?JrfEbYqQ-+Nv+O{#x3DH$JP2uO;1x*t8ToqTy?2(6~GRakAF-{fO&^2-7K4hcZYH zG%m9+F2BNvwtHW~UmBM*2Z5{iM*{TxT}Qa*2Zhx0_ec(=m7#d|$j9xq}0D0SDmQlFrkBmjFVrT&9;D7Dn&e%bR^QtHp^N7a?F2) zm63J_r;hxF%By)uqTX*%>On~D*pPtEP4bPxLQ7JJdQtZynBVP~&F4>d-Rv$0159zX zg7(MN#tkCqjPqQtAk*3#@uz&8PAoI=#%2#pJFv!+``J~e3#U1ytR(^~Z|(E^=HKwq zTVUC+ja_>);v~%fAvjs2Wj=!4PfUif2QQ{LXi`J3p+ni4rW6A;Y|tieC@)dpyaKz= za*)gp+HOlFs#gmjg;yCOp+#ia|2`HoWTR7}4!(-iqHL7&!FC$DpQommv28|)TCWEc zE36gLxY$;@L4w{Us7s7JeeQr@6@eC4%-2Fj{971GQ%X$ADH}iw_N}S3yxOPk7H?=R zSdW_6p7a5@glnJr%oSoI8uH#Q!~TM_fYZ>ZWaWF_^$sw>NVT?0d?BMyUFr}qTkBye zqB6`6k_NH8Dw3+5P;@>{PN0~b>Pr!JqMvSFzNNzuWeUk{rZuZSJ{PsC|kNT#v3uy2*+PSKk zYxp9sf*W8W(L10&)clw>h)EEGFJi&#Is7GGmJfX7Io;HrGZ6{E;C(7F_-8UhV(_~p zGYh8@{>cDpVXL=E0p{Cpk^1hsQhy|;r*|o}qpsA$>AGXIbqS?zgVX_Iwz41abr#e{ zCM#GkuyHVc0#iL0`xrg5@eP{V4JoNxSD{3 zQ)}$vNwV3iq4d*m1c^nnGIa4OWVL&7|2!N5+iV3Xt|>Il_u!qL32@rU?ty*yEEZ>a zsfpOHis8#BYh@T+q}+2Y6bHS2{68Fwk~ zRLhz|&-pBp>J`IpOdQ^|`*7+ZV90K14W9~WyxKIz)Zbj~!jX$pdbZhGk7g29rL5~l zx*-m}k0AMBT#g!H8#=)}$TDTq@@>tcY{&7$HjlDx>Ja#hL0lG|f8+TcPtz7rwny$C%eWKvtxu2!n3UWL0Xrf@^Emr?P zWwZ>$dQLaC=Xd}Q8^j5HH;cm~qBcPxSAJtaSl~hnyYc+czwpIBA#tXLI!M?Z z2;)>~jK%Y-uyBE41?htMxLjb&RvS&4`T-nmsI}PC3t4P0Yq3REvipkGffuT^an@qT zS&O}e7L<8?&3;%7TxeG!3DeLJdgW3o-3(FJj9&7G}0lCZGuPygb${labJvbou z?pkveqB4$d~{A#DXH(vdgWj3vx#OAzZh-4OF1pkT;m=|k3$H_J@Ao05)2QZ7gM_N0Dn=BQMKLIFS;Tf;g%qEa8Mp&4hg@;d|8+ zzRn4kn+Y3I!iSKM$nHrj_;lp8r6$eid_#?0`Tp3 zF&?YPBM%iF^lu%G6GF&67o&l4KOl0S$HDj}RqlGYVkGc1#XIue#a}s#-wR}Dzk>qt z)w@gzS+@|f1&JTUicIe%Ch;%N5rlOnggAomzCIF63Vo9k(m@4TRAWlGw0gn^IN?WT z!XJPOZ7LEv@>ZL%+bA|!)HHh%s^!QlFu%S{Uwg{0bT04w_V8wuq}9h_%^3S%quT-y zlLx10j=V3-Dn(J1Rx$~0Gh^#f?1PBq>3TV!VC=6n$Nnxe>DOqEMk*dh-d;1dfMQ9v z;>asCW8bFOo*etV8M}gFBRRIrj9o&pe!M&KR5NxK#cCW|VaAT3*gYKkhZ#GFVu{d+ zroJGyE5u+6!E0|-C-^6!(9<45Hg5Y0yiqAZksPA2bGtY4X>inSs;yVIjTR<#-SIW^Dmt}vK(bbVR4)~BH z=|WKZ6V!rky_JYQ41Y+dWyiw=;(;9jbEl9i<-q9%JdqCRw{_(n1A16YiJ z=lF>Ba6~dWm!qY@jJ8yeq+F!D`(|yk^Icnkrm0*jd-h$}wLQPIO#D;32G=HWFSG=F zP+*=(fzwR@e`XuO82DL|pK%vjQDY1iuj#tQ(ICV)H5q|Z@O@?+x2n`_2qQ!E`QAhL}# zTXUWS1g56{z!DhLG|xBooaYo~_kTkSQik`pzfx-VyiEEdp{M+tMGB>NIz0I|$WBBj z!A@OEN6C)7OtZO9p{3>U&R``*^fu0ZFlj;$KN*KiVKNRY=0$L=DzzujnG0nwWcQ?bxX!m)2|EP9>!DCudYKO{Rws($Y2acrhU$qaF6nkLQrk z0&RRnMu+6v_x=QKGE`YMpg-8MBmU8Kcs*Wd&xlG^a!R2Cw6AeCfa|&(f;+Hq9u9ie z#;+{QbN9z`gu-5Q{_W70b26?w(l_Ck4sdxV`_u5MN>I-e<7Iu=77}0Woly$7m&e8 z8J-|4_^yZHSc#{ykv-=sRE%p=s@KLWJc_2*+@!eR;7%3*Tw*}^zr0>shHaFgO+bdL z#k5vK2~Sgo17J^PmAu&asJTirDZ~2#8TQm#rK>4JRzQZXwN|MCWf&EZ;htJE?Ad?} zosfZCuH6c(vu|8j>=mo(LD=shc78zYZV_wG_EOIngwXTl+8REGN+HSF%rF3kS2bg5 z5Hgr)i)&3ALBQ|DG=PnJko6(Vi83oJ6ll2u-yD%W2}BhN-M1bYyP{Ue2+ID@%!mvF zUJ>;}UHq0fphXQI8T`P*460GsafSWWXnQ$&4IM*Q>vG8%{#kPoz2J>z7r!$Xe@^&bM z%;Bq9Y_)g62FV`8iVf@nxB>Mno(8T~DI6z*I5HZm$?M_%uc7)fe#rh_Y+n4)oQ#C_ zXd>{ zvGDz(yBsP}9}^!AQu0pL51HbFgFcXt4&BR(I#qm7U%-b$V7Kr+M z5`IRl+#zb+L4WxSiTMRBVWU7!0%_=;Jqo$-6}*Uky-PrUgP_&89MMf|r&JPYe)=hq zGB0Lg068i9Fdy|kDr~B8)cfnYeMitv8BIZu%fwV<8u7?VZ)pKLXdlj#Co4C@l>R>a zE_5a+l@L z(+PP;;mN}DKAzE6N7-iLS%l}gYoctAhCw( zFVl)rslb6z^{2CkNiE_nL9AhTboaZ|m%;)FTX@3CWEVPzmVl5$q-jibelu$568z^7#zyNQC68*%~nHEpJ1v&N>r)r!3Q!*tP1h?O%Cel5iI8N&O8oncW@o;0!J6Fy zE+=bf_6HH%>=^DLZt*pLt;I$=R=<70+L6?>#&#UEb30U=hmbw@ciW-9b-~)PxJixe z=qlP#cK+HCbK%NTlNkf0s6hi*kXjrn!-D@Mc4XOlFzd8~mz9|`9sO*4D*ueYYY{h=pl zaYKDYYnTULz96mXP;+Yv8gpwVosZUp*&o_sCAyDZx*)Adt5;*+9Bag_8U6QL1F95q zI&>VN~(pSAi>#M!NH=434rD z4T`db;Tbp(`r`pur(6qLKMd}&gecpuc#hzy?fp;7cS0~lXQT{KK_IW5qteJT!+$fRk)GV zJ%yUCCJC(Yk@X>azkrf;C$kTdEWmE z_z|q`Lf~g_n2w*o9uZxS5)YEvrDlq)Mnr)WYj&~VZx^Bot&AoJLe=Ts(ge(Qf2j%3 zk=niAV^GN1u1H<+9L*03jih|5YC}5YQrPVkTuT@Zm&_O$V%3IB2GvH9o>J|8nhxuL zd29$|9;DEy&O9K4h;gj@9S((g@coG3AFzvudpdPrJzVS7NR;RBB?%43S<-O$A{Txv zcV!|b$Xyu&2g{!|aNzjN6wIj2lEeHBEL?I*V8Nsuq1mWPIp?MQHf}$+!D!tF&ls%} z(%JcGSIWt%?Gl=f3(+pW|4-`Iz;=DR@`AMMzRIfY5}J<-(XPvbwX6PxY1eZnsC%hp1L6IDu-MBz;+2u$%Sawi)Vtg zYr&Hjq+M;QwM%GDE=0Swo;KU%5!Wj~8?h^3{#$WDTG{)Ls=X(aDHo!Z`%nGpN9(fC ztg5YB^TY*d-KgKIwod3(E=23X&^k=t>;6S&ftJ18OP{?R>si&((y^X(EsY%OEy|W6 zb=~6^q~+s}Rc(3jrO^49&6}M36Fc(fpl#`EYFmob1CL#hmMw%&{y=^cd=Ya#T6RSx zw+xz>n@r71ks5wsTJ};!)s_Wcew>e%jX%LHgBFH{qww;&F^1xg=OgcT^bkK!ni6BH;#Y9@kGfkKP_lVFsjK$%9DA;))R(&tP{R`w*(^(MvYJBV>F z&g)MOV6#;so)g1kZO~w3#2|!&jp5M06z6xrmyCwu3ZF^Xq$cQYe_nm$%DD!XX?Cv* z>m9ehe?5vJOMjvBaUW&KUL4-Hd5$LFUPm;K1K$Fo$DfcfU-~6Z^o`mi9k%9XY)j3Z zfy+Z9=lqT%?ZF&2L&KxHCgw#_s&%Qzcl^L3^XWL!7v(0E!VqX1pS)z>%th)`yz*KM z#4!P$I7GC#kI;AsL12x7`#E-e0foOpI2GhLm;An=KScL9m9#Rtf_UN>T=C=HoP`#V z0mM{XTqhfaCcKSX;+)Fj)uL_sg;^P>&tg);4pTF2PB-~Nx({Ru3Kv@!cbVUQxwHSlap8W&9NID2Q zFkNWp`KE%~%rY@%NRFnj{fhAo49~dSL4RN{}baT3QIgK3kSj6 z{>lb4Uwnhv!R{p^NcYi7np3=F#ppg-0M29gHq)mJIu+*jb7b~lWOpbdBS0x{o}qU0 z2$amKP>T>&aqj(ex`>!pUBoJwFsa&gE?SjaVm>lw5$$6f!7@8M@_(trhXj=R;{TNn zzYOa^?NNAYH8B>3OC$a_rj`~cRnp1ohUBs(kWQKj3W2zR2|0r&Wb8#%A{iM#CT}gE zV=ABtp^&xC%?81UY1N<`tGJ;(iaToENAnsHN&g1wB?i05?Z^327(6e)M-w3%E2<*I zLb6;ZSqr^V*2+j32zMxn`wev>4ya81fbzPYy3pl4j+0#uWkQ7PX2~5P3gN&&ThDm4 z#(kIL$4{lU@-AA> zl+gVT)6}kT3CiZ7sW1itJWeuuK`WNo z$D$1PId~%iA05bY_g>K#7&QIdM_Q4^c+cW&GekZJRgbNCx!`uKkCFV zmiK)V(4eA>FyDl|>YbZt1*4xDdE|Rw4m2gDSnxx5^xdXopSDxEd5d?ceIEr1^MDN< zcn1j_kOLMI%>oM88FB%89zg*ULnz?wjn)?Q`YzNK+)D)7fhzSb*?h1jbe>@IqcEDC#H2@k z0y1}eL*BYEj!-rgMrOwU^r5^i7N|9Ki>o%s^MgPhMv&<=QeEh}s5Z#GaZz#AI%~@S zc}@tB3ks|~eGKQKL!;HDR6uhS;6C?Q7!8_#Vz}U5Cj50Dxq-zI(%sUaxr4i<3G|Q~)i<^%m4rz&!y43=6q{YpDP- z^QfzU2o#_rrW*DB2-&78CH(hcK&JC17%iAmUDK&cuHr7C^Cnzgge@ajm%NIBg)z|^ zttg+QC#dZ;a0R%on3Mm3XMH#8{9A8 zV7K^br1)VYrbo+29minO=*oFyfU;+o+V4Bc!%4n}Z$_SnO4Kho2rWs8`Z3b%@i!Hy+Q0uI?77LUh#_|H|{2cg9B3q0<;TbQ*VJXe|7b;ZT-J$1$DC zx5??h$+kPhdNTfG~FXgw(p6p@~v!%l3$ zTHo)w(dp}Wf>G`vE}!UYei*qiO|p)2z<&?pT$S!!_xXK?rPJlao;z_@S(ti?kM#&4)ImYpDwxV}y!nSqW))2Wch7`&IinK=>wThBpG#uT!hB0IIGQG{b{3^Ji2 zi9I1Ru%X(jA1J+m5>WK@D7rjONkw7XUERziI1?I?M__surYbuyhjhzLAhRb>t?i`6Y&?}Sa>d8Cl5=vL>B%IKVn`$8mAz#tOS?sh85>CVR{d5Vd zLP?qiWhn%XLL~3_>xaw4&aOXXerN?Zffq)1fa|{l^SVj z={^epS!59v`HCgp0Q?vM&JFhE4a#$OurG5c&-h?pE}=XF@x|?L&69jDOo8YdRMYK$ zoVC_n5f*nzyN`}xTFB+56yUFG7e zMbVqdGnf>#Ynpfbp9IOhfO0>i=LXr;l)DhQafz!u#QGslazgwm)6tn!3KA>T2J3*( zfSLeh2CGIJs)ir)l-s`>*m8|``^QjsXNQFV@v?xbz4>|2s=W;0bz$f~Yl2|t&0kTq z=^^BP5xMniZ!t<~_1&KQJvGkYd6Q4W;^ZWlMyVRVP0X9$k*mhe-0m@rX-q>~3M%Q# zbTfu1$@?5pi61VY7P&@%x+qol;U;xACL&m4PXB_&JRL&r-5*=KdwOu3jtl`%E&z@2 zwLK1BenhY0HdCz0zbAuz^OC%37Zl^8aW}L4h|7V@JAwKBR5>YLT6);8eFM%~R|lW@ zC`boiPB`%(xBKYhz^)vN4_m+m8;kD;19j$Sfa-6_S<@i6FIes+l=~FCN4fp28WJ&B zSw<@+h84gealISd{wxIT**_w=-fFX&FVTb%=9{=eZHj`-VY>`X#jsV46*djqGVMVf zNNwZ)Lq;7>Bl@V1>_|0E)N|J|=sm%5-$l6_g^)WbSne3gP0q61M{gi(dA9-~m>Ix$ zT~21FTXpS&Rcg1e(<2{11{#lPx>!xWhot8fd}Vd2QXg#fv7aEGI~cXKVC5YXL`*dh zeE`C#0L4ivacpP-!7m{Liq$#MckYx@b=DHv9wf$~?j$#jSbG>fS`+#7MX_eDPM~tC z_v*X6WjdOtqj(gHtCfHow;#UCL0eBUqZv+&=BN-&enZVbTi8TpL>AyL+|ki?4LQ=P zPGsi1^xFH@>YO0GarNq4YynbJyCw$!`uCQgfcA!?j4HNnx*Ea)83yW@EgkbQ9sNpz|-2fW!A?E}g=9lRVUB8(2L zsV{cDXKnd|TF?qRLjaT$0O;C+pn&|k%Agh$UKao;qC6;|H6Z}{^WWB{?F$ZQ4iA>) zyn~d(gJl>GmgUTdYv`SEdg(Pta0>%U?j4+*V3km3?_3oC=%?UFg(I9g0croT;-UlO zupndi)(`-#3IMcmeNaHrApn{PK>C8km}w5|1Ggum4sa{x_RnxQ3x8cH%%r|Sur?-T z3#i{QNOjd4TE0++P}8W$f7gnx=YzJg{OY=(xCn|>h`*$a^ieZPp|IjPh$jcBRlPn_ z8jTdI@9v-=lqALKO9+yZWOS+`)~C>qRFJtyw>Z|1Omg7Xz^WP&Uew-=F^l`8Y2U#( zwsin&U*157-<_PUIg|=o=+3pco7i1s>?c&JTkw*ocw-6srYdB^0$S&uX-#XJY*J#n zk37!noHT@?OT)EI=zaGQ&?@GlmiS8ww(0J3Hn2~7_P;GdrzY$VdIzMTc!j$W9~3cS z6+|_kM*6ox>Qu2$K>Fww^D&=J2m$U-Z&QDCJeuE^Tg2)UmQSTmiijXbNud-AbW34z z3Ye-e2y~TWEhbkeN^EM@PEu+}%?uQ3x;m^ImIB)QA&iS5R7qtSH$Kt+$*|U_6x-`K z3dwB6uA074$1$6&>`ZkCClLBWmY*04UNZ_oCcJtoCL7RBO z6A&gFl;|4)eI7)19bZhO)lT1rfHK0=gfD_)>fGnR)JrhtsjG^Ss3M%M5rzc1WW@|5 z(Yd%PwTo~l1$u|V1s$QNuq@os3`mlHo$0%ho9#+A9nf(jOVlX1v6OnL<_OZDgdrDg z#*tkiw3N8IQ)(%zou8!p1V~5eh$U0FMCF*!L&4$8$>elZn(t*qpKw5{6K)I8QO3O~ zd>|F6*RYS!N*sgAh?JMLLp@on_L&bSPr1}n>A1l?yC4Hsd%`0VvyayJR*nI_Y?IhZ zYDdZ75EQyWtYL*|8)^LXV_MQM40x+@o(W4b<0K*>4VR!+iAjYOnoQ$xpTk;rkt>A) zw9fC3z{8{-$tIzboW$VAmddVUP*rjrvrnB@^e5QO7HLBly$XlWU6iy1l9ulYOl zaUc_UCqfg;sfnb&9Jr5;$?$}2oQ`fT13)Ddo8hH9v8jnuZ z>{||EOE=)3)IXa0yU%siwU6jrX{(7#R>l6Vu6NXJHIp!)N&AS7HurZ~1vyO}`ng2~ zdA0dcp?1TIQ`|4iuDOy%vxyxjl)Wj6E6(NpxT$nbU))%WEYy8u>4-MUNVVJ*ur>TW zUX`SR-r#9ia8+QT>run)-g_xf8Ewy=2CTaM@KK8e21(a;Z*Tl{`{%L-jQow+y_o4R ziN`U7MKlS}lB0tjfZ~J~xKnsej{rPouZUT`9GG1JCJLWT8-+ zU&*GBwoG=(J!IBVy%&PgV(+U~xW8-+1unS}=epJ+!7d7b+X-e!kU{FGuOG;*3vO%x z+?hh?uLJHIA;A6O6)PUjVcV_l`i|1!)}jt@1;D*5r23wKqQHH0HBplH0i9er>4DEA z-AvOJBVSqc3I^#+G!-Miy=-mTC5D2lHqvqFFl*`JX9D0p7ZTi#A;5J6z`cYeow`V8 za|o&g@=s?Dq1j>~Q3vVV83NqL0^mNeD-_ac8v@*G1K_^1E)=-ypn7ooSF=v-dS*gc z&4QTb@=`9F!&x98ySEF%%#aH3>OM-5E`y{V1ej{v$U;&ttg@nV^|nx|*2My|CaHIL z0Nm&up}^e^I@ar26Wk-1bIq=|VY8y{(S1({aGwf*+drhy-97}k*9E}c6%w~E#A2r| zJpA&46%U!l)<$it;C8^pEXJmHHB4S(^`gNoOb%pfYVHmw_N901&Jib1yiY^!2JBv}Gf>2Gl4S28 zwfrErKLG>Uo;?xS>LR zI=eGwO=VcbrDSz7cn>T0$Ak4isK(#HV_Ebj{es;)AAfsuCNB$4YJ%PSDf-ruhbZ_XL3J}Y{FF{;ySjeNMx#mI6Gozw>o=!+LrJRJ6 zPGtpKqp%$bn}?<;o1rq1%AMBgePgh+y)1;ev#D9vyRowj<&iLR!G#-Aw;b;^(?vp^<1Jut3_YJp&Lh|qF-4c)zm#}pEfGmlFUfn4nZH2 zjXc4+GyqizR0HdrSyK)AaSdh=`7NRvbkl243wp!MJWI)tiUCuKkQpTb5qda3m$kQ8nm@!u6mR1%N4vb1o z<(v=X^jV_b#z8iwn}}elA{VH;r9YCn;s-WT`&! zAeEYUK%3QFqW&pw_}U)hOG21XVcL*uFdw00j* zM#P={y2RJ?*qBshtHU>uRAy=)2!zSd@##BjL$Okw3-x8kc#QC7m zwY}zs&^|i(eQOS3TIgCKUiTnpRO?9UATsdo22Y??D-kZ;YJmyYhJ^C zK>A0F0%{9LfvkJcGHTT%$djb?MpL-pZnu!A2-|3NE#1G7!b#e0U`RB zjs3WHxfQRzY7PkQU>XrcYTC2Z1@s%BNaw+# zE7EKBwxE6cFRRi#d$-*?59CaEjTsMD2l@`BLpgbZ`U3qvnw%C)>Tui~Lf9!uO+O~i zJ?$7yoB&uPd|Zsq_KgBnm0@c{=P-c?m8bE?zG5O29F;jtk$M)AlT2_G>Pbv-(nw!} z-*FY1*it}kvJYnr!qyl2bd-cO6I&pG*x*ZMb!-ScZ3TH^`vQGs?oW^_{2eq5nLe$< zFaWnfpwXs_0iX72n5A*g1Z1t!EikT!nLY1Q-7*!VE$}{p_N1mcm4=6#$lZ#>*hy?D zZ>tCUd0|F>Qn>@ImGqVt5ejUYV)-?Q6XCmp+Hf7?wRa9Y4;n9e!{(=G{Ma z0_rm4%f1eHnI&J|#`bgh&GO}NL%fWXFUv8(lsn|heXz7G@5{#eLu_S!_sLGStjzfd z?!p6pe~$a4&6Z`GAAX|H@9%7L-D(I8pDiQePlcU17Lx@LSWMzVcF+j+w>D2B-r#c| z@K4Qo%kTfM-_?VF+7`MZ={II!##&i4P9WRL^_STo_VRb-mrgNwc~Q9;cr8};q{2%_ z7GQf0gr(-L2ys1jU7?+hGp~=QBKr z!ffb1iy|`bo$Wq*34Z5Y>^^%re&+*Uk4VGbd{~4zVTT`A-o{i7UY$shiMR#}d+u>` zOGSUjTHux=V~ouew#VoFDJK!qXw^5-Sfd|f@A$k%{}n+NNQ%|(IhGoveu*GSAw&SW z6rw!}(f*!iqHIg>D0o)lc@578csAe}_bl#{$1nbchlkgz7hb=9czBrp4^a&oHf$K) zD7>-!XYlK2GJlZwY!Ib~H8v<6Yiz!?OSvgR*#kTSqms^*O@%7;jeSiec9;E*tY5>_ z9?8IUc{9X%endJIxQ;@U=U2QG(^hM#+8FP+s*BoA=LIUk@9Eqs`pZVTt%<{Bpktt)|kyDoI~qTkqsu4wwbY@t2-YMP~dkwqu# zV=;-G2v5aQP*X+tk_d#q7vY>&kY<+%5BweB%?J~m9ujUZ3AYd6{zs&1gAUXnt`XdQ zxSLj!e6hS7VXug{<7TSzg#@Vo!udm8{U~(RLf2*V+gI|PYXA~NL0}3tB6%tTTQ?vu z41rFtl`9{BKz2P4)0LEO0MQ?Q2NC_@_qv4{BavYGI;5n-%{}3Vxx6s~4>ky^N?}R* zHY;{salCp88P+m+LA6o_-G-_z9&7M}1MrtGnZP~{!YNL%`UQK@XOb)ApfG6~-zOyzn@0e^n zC&TSIE1`H%3Z1?d?@Xl&vD|mQM)O^vzYLgO`7}t0F84(E`=;oAx<3@*gk*##iLmQW ztQb>8couGt(h@|tV0$JcNF31=Mj!Tm}+RdfBpj3o$kV8{s&Mq z++lVOvlZ8@m8jWrOU*_WBj?wsI%;#~#?k%uoQHrNS0>fM{}9(AQ?G?`3*%?Cr561MAopki>HCSm3Evay zi>x?@8ub_PiJOt8mk6)C17W&q5w+`>gK%3B-t}*U!$r73cfdJ=LK!Cu=HG=)K*9-X zgWH8@^MP@4b_&;Km!&oX1_2628bM!jBcPByD#EQBApEunAK#8NFNp9(OA&rtgp09T z!k4=-9v0|5;m>9qxb#wUM5%`?r8Y(+FaX)n4TCxad;{dWYScJP10bVJ>i?2fbr3e$qtc7-OYlH#J?q&TQ z1=y~a0>r#=51u@)nT(~+h6kZCB4uon_a`axQuLdMb|^^^mkzOI`3FbZYzyYkaNRT* zYW7Um2>fJax(3kO{jMJLcE2l%-WJ%izd{LUL|!f`CE5F+2NCv)_?QJ?wF{Bpje8Ne z7lB9aK;U)+F2(FpJ`I}utOc$<9<{zJrZ-8fu86_(lkotO+b)hdx7GI+NfuIy}H4d`k=?4y`Rg(B{Z^LRVzRHzvx30o{Z+PyP2o`-Gf^asT$MF0U&s%st#zWr<mGjeqL@cx%%2&E1YN!xaUq>?xB(W7I*ZMKR! zf*qqn{&W-`juh@w9G;)+LE!^oNjL>J%;D-ed};N~wdE7S#ILCydreC*!!_&fL_T4T+2P3e6Rj}4Dn&vk8Yzki6$bs2>tJ(aj_ zldhiy0oH#WBO$GU;3p(B(M|A(zvG_>UoFDtoaX*-Q*ZxxCk| z6(Bz-0Lb1V+zz|0%YI=beGW}{N|jY{zq?Y_uq)EbDBf3Z?GfM*z$ zdX>Py{+bZK@-Ktzgf<@&Oi0~&=;=LlA@)g1}5vIWr&^#1{NzWyUx|JF? zn#acuH2trU(G{0k&`WbUTA8vF<^LkWQ>l*M{$=nHFo`jG?+F327a@@c2s&$_>waoR zoM=)ET4PMEU#Pb&#N$w zN-L5JVp_3esI()iZiPxwy7KJxjGWzy)Gi#vI=Dz}hamKz6l}&pF{QnDu9I~|9OM>L zo)2g#EH2S87AYCWjY%L;xfhHa?g@s%v1@UXa*mwO6&`KoC_DlM4^IZi3llP0*w>uQ z$Ede?ejQSd#S7`*WGu!GVmp`jq}aKGrirv5ImFt_BPlj>&|G`=yNCi5&##Sz4_K(5 zNGegC{jmh1#$k?82ja!y`K2>n9ps9kQti$$r0zh>KHA`kq8KcFFyGKRo0dLJAot8) z?7G)|vMJ30DKN;Q46!V^Qt*KLB=_h4Rqtmpu-V4dceRA9mO+c!x3HEfcOfu(6#}ynIMEqYbQ>3aziTX22JB)eS89O^t6sb> zbj9%dLYJ;g*{SZzgfeA1W#_cuUo!aG_G#6|Lw zATCp00&(4uXb@KkyWD3o+KeD?Z563&Imog9<^-Z!j4Ppbs+XgpuyA29s^^(b2tOaY ziZBMHq}aGHR>@NS(C=>&_sv>vaB^3m%TpCCQCR?)qf{9Yo1~losYN;z9QDYfEh|UX zFJXm;BS^!Wko7aV{g_43OWstfDte36hvs9O70!NRu&V1o{(mcTOg|{a>Ob(Amk#dJ zHrur8?K!6a#MQ&+vDsGTLznu1-!+I{Y-{oIqTimK14@-?y$cbB$;?u0VL>OiGs(UN zzEQ9h)>_^5(K)|18K2n=ntCNXk|x;Kd<6>iHE#_&kdjp^*t<&Wk;<}?HxVXzR@tTY zfATQNOZr&^E+`3xDA;(kKe^GfF((;PeB8mB`R@`jI~A7v-z4Y z%^ew6^^62|8N_KA_%C)?R5l6YX{!Oc`-TtxCRtu$tdn;ZPLaqPk#%6m@r`jA7ol%= z#1}X``|XKJ0eG#7m7G|$+ShE1?LR0c<6=sZhwg?emHmxns^*l6mg|&i(4aV(idZ62 zg~?REAc2OXn4IdmLH%VaVy8$|Po|>zUwZ+6vQAxR&t8fEU1S8@=Zej2@~TY?leVX( znVVB|Hf@q{8}kSdmZ)H3vk2NI64@P|pE^5~z3R_bL4R}@{JhBXGxSFl%2(=cL_t?6 zc_^&CPPVsQmnjuT2rq$LOL6Nn4Ua-4>cuWp5l0JAGvTPw7r6kM5t`ECs0#h5G705( znV*$`m=x)=e$bLrx{y-&T+D=+)IJ|V^~Rn$7=Dqu@=ox@5xgVFtGI1L$58Y{tjvrw+>I9o%?H0h_k`bqOxGy-wcT&e#x@kqjkiE^RX&2|BPfwr z@88RVK!1_U^(p;g4PZ`bXYT>J#vp^2a?*l7Wt5!2ULI-LF%Vlj0SkUeLYTnx?Sd&R z9l^(Vh5FWD>Oxl8wuEC#=4Qoe7=kPk6|0r-)hIQ+hY{3gD)*nkW-2}|XR35-UoX!E z-xzUN@3#u-H&*7BJK-*q_HH8OoP{kkN8!&HaV3tzvmMlVSD>pJw%z+#=&BSNQ@Y88igsN-Kk~At2xs1a=IP1bihFud)sym6>c`zlBQEi>adQ z;xf?yECFVe1+p!8Sj~WC^5RnUUjrn;m#D3MlFCce#vJ7BgER2`$o#ED{f&cSKO_5? zSQ*R}du72^24Yjgr2p!RgwY3e%9om=gZ4EGTI+jea?4WkD{n92R~P^$zq$ue%&$l- zG#xLb4}uy~*+xRU4Ll07 z01qK3+2Vc<3aLG#qS{JP>~Br6PG0)_MKde>8!m!{4DVnYbJ%sNP7%xtQ2l`Pb1bg&pfmu~Qh6DRv4IGGPbf zi@fMgbkWTS{6+yHjPT!aDj*qw7e7Tz0_Dxhq;*#(+p0`jcXgtC^ga(IVeVE z`4O`xVv?2nu#>&8zuawv+$zrV(xGie`Xo$1+kdej-GL3oW69~?I2D}W#;|0R!|8%6 z;N7pamV^AqkrZ50#ywXf zV;nMiPGb}Bas-rR&%VpmgB6ZZqm}`n*Iy9|=u86rRfMHo+wh`ueVjk(6AF~82+E^Y zC=UieITjL>Ls&3r$yO+X0-$^mQj1~jP_U|;A2W>Uk5%R_+{OVHc^VxYo>7ZXZsuTY@;fHjvk&t4ra5vUlK|e45NClLPpFCW4XFd;N|%6=!A@BzOijc42qd<1^YN5p-w70gf)(q z98jP8L(2FeWsE>Z&*_HtoW=-X_#Uc0e4B;TsWS-LM(EDCLAo_*v6_}{ZPL_`YSx}$ z&8rTpUI461LV~rk4`B7E4(sFFto8aeHWXC53DytLHCJil?E$df2?^HK1ncqYur3aO zb$3XxwBCR<9I$9WU8lnYQMDzaD!SF$(iZR!R5wvQO%M;m3j{$tgkMSQmLWP0W)w9I z(Mgp3W10P5L9@SBOZN7ZeV)vISJ3R2b*{PeZ?O{6`ibo9Q4&nTHIM#W%EPWBJ_QWB zx28du%Ug%ZQ9FX=c9q^$@YNjaheN{OM5@BSs>2!*0ILgJ71Z4q%?Q@5fR&F$KWb8} z-amsh{4cV)jy;gE7)YxixhhH}%ROJ@t*9%lnrOkWg;!V*XV}G5B9y)kXnjqwCQfL= z;oQ}96BHoXu*JGA$2?4IGC93~SKlIX>u?fkU^E2v15wQy{QAa{>883JY|T<%K}6MR z`(sD5wo$09=8}-eRmBC9#9&osibVBAiQZGto-wKXhCl$REV;!>3aUnoJHU<0i`3J|JUENEsidjAgLJFiUJ4 zQpOu7;~U6G^zga~z`{kY>s0eNZcW+mMmCl&XCfd@4lL+^b)PRXon~EyXLTqG41GWv zyVj;YUh66+_)mCqB z6EbR8y^TbX+B?XGNxvVlplJGY5&h{%6y}B67n`8?gYiS-JMc%thP+-Pnj8T)6?Id{ zx0h2h{}+b(9`GGPOA&rA*Z`f3zA@G;x1uDbhDiuu6vb8_MTbHn%{7-%|Lf423TTPd zp^YT^tWyS?MbNgO`^*tCzI`Yeub_;}kdYhZK>&@KUcDNhgv4m}UkYeo%$91bj}E08 zZ&JpF$Vk0;mS>p@wD5IVdy_0oFfQi%#-8(>f(+`xyE44L{gu-D76Oy!L3kI6ds0m| z$WEl8WNM4cTRHMFQ5&h@%SP+v*wejmzWhD!K272qTj`#X<&)M$*$&_twjs*4urSJ& zkLTWvQMUS7C|het&z-hJ*{0xm9?y4p#%+zVy?`fT8}1RtGkrVm7{=qrL+Ly0 z5WoMx?~o$cGvc9mdi)4K^hK1d#m*?(19&Lz1j-+bQ=}d|+ws`fBMqLjcqXA9LdXC2PJRTKKU(`8^9@L9qua&>Y@Y_??kK#YK)QR4!K5bFQ zG(0u^K8J66@znGyH04$F69OG2zQjb$~;uacFHkP4X$3}1qii>QV1Gmz~JsU&j zLC6<-jm`(3l?ED8 zdv#_~#$Ev#?-SB}9T|I5#@~r6itPy?peZel>MZe(&d8V_kkJuRRX?SS?tqN5LaOS6 zl+hWGaYINMlPRMe8MFPa+32i9WfQnAC|12&_4~8^cHWo__%K0y$R3ki^q=v0E=F|RNP*p4}fG6+iDm9y(vFz zBys+|1Sg!q%;fMHMVkXOd~T*j*O2?@#mN0J=T4htqBZ(gc;KMZDM}hHY!bHIyhryw zMidR#**siZQ;ILCA1p`IIy$!N*edKohbW z;avOfrgX4y!}%`+9b2zwVOGP*5w_hbR>$9SkS@Jqrw$DI)jJRSJ&Wg}-5`dNj27ze z!wGl$v>z}NtFK=#Uf`PuvQdORhYW0ijFCO)xX!b&JixKbLc9CL>MT2o_eHkC7}sVY zp@D8vpztg))TM11&yk^_+Wp{e+A34Lg4{qS2$E_MNd`VE-P zM{Ci9VzpF!a8r&_>xT{ELn(%hw!!-0b@AZ}0`)q50QoW~pZIVMf$~{DxWoq^K$Xuo zlHVd?e{F}@TTNQNJ|vd%5*9z@cSwP#!CeRa@>FVxnllO;dN+%{KHY*_?InLgc!1MXunx8xOh;MHEJ}bk{TGA7&rFi}Wxb1dF*+$`6il-3IDLnCjvHmN_FL(~( zX@!Z;_H~r4J)W!Z(0dAgr{h^H-=D(odw90U_wVql%Q!Uu2e=h6_I`)%(C2?hIu0j1 zNh?#P!ICq6cVceRE*LUdCjLg~9j0>H`acN-CMsKDp@ZFaKA+r?{AXZX?Zk;+^&sBh zqxnWqr+(n!VW5|yK+R;y>u?_-GIe!xc#hO_wR3pRJz&q?NL}EId>%F>OvDIRpwG20 zM7)c_1tQ!Z=APO|2ooT{bj32D)&wYHF)}u$#L}SrQ;Z=tC`bI!CZN+L2sA>1@(ijH z2!H-SR~$h?ggH6` zk;w}ClT<9({Jw{P93}d-E=i?y%M&l>VFzH?1k6y?2cto!=}Eh?3)m&~=h7v0vT#ZL z5G_|sm(=W$89taP7MvWyqVA)ae=YYQNyDlYchG1^QIK+qH?dWA=94OjeKrvfLPRU;@WQl0MH4lBdXaFx!njh3 zQ9bodL?yu!cPv@{!ihO92BQt_aNw>uzYA(6T|%f+Q&3BsM4yWrtZlZr_MA5{>)XB8 z;jiatG$tbSjOQrS9!Jr)9B?BYPn|1~hAX8$+l0(oP(89%_u++15aZH>Q9w8JPCgX4 zC*}%UJ+t5oWh`8m6sz+B3JzB0wR$$A%&IX|W?;RX zTk8>OEj3Zk{(}};@cM+Q8zNh=I_PGytyceRY;E}ktiYnG75EgLEphG}dzO7NGJz05 zbW0^8@2zZE1G8yrh{C8uL*+>9Z?;)SGMa4DW7Wyit+Z64(~?OwDPwCOr`@142rz`C ztutu^Grra#sJXB*5JZ-SK9odOsV3kBfJG(}sUA&dBEuZ1dJzQTX?Vx*eXaY{dZ0V) zEmT&3s&57LC(slCD$xXWErJqbdA*Pwm{|)hO>JhRNE|tHtKlX$TE|O>X$T%x&^qLi zzP3Cl;ovAmS#gzRP`-BCVLwIDpycMYRv$+cP@z6NgOIm}@c00NT0es`#G#QAd8&E| zUSz8#QuH(MaR<9Cs{^bbIXHV0h5eH2KUYxipS@f;1adlyl_uTLVx znIC|Rs^Of7?15G2TcbWt;Kjl*D%6d)8XV&j1ZAoDGr6Lzsu5;4y*}~_d}|>@2-QE} zR04wBWhuTvM`XGbU&kYBA)kTvzJ}u~J+T4B+NpZ?FsoreGMO{CYVi~!#*Wid5T2YX z28#(F7i@^W^H8s*DNV@pX6Gr?POjqGk=)L32}G}Wu!5@A8EG_lu$4$22pTYu+y^h` zt<&FwouU{@``|IuC}Rg+0y^^KRHGx0Ao%}>j+_84uXkjc?8vIz;(tmpk|DlxD|A-z z+f(V1X_{Qs9<%k!h!N*hzM{BaX0bCbPQ)CwAri@NcK`rRD+sdF=koEl(D$c_BxwS` z;h|xOktOs;4wjA~Qb0JNqb-?q1|bVAgHV-VtTMEgNU2Nex;`@CDr%CeoC;1?CF9;5 zT=gOjR4Ij*+HBEhU{-BAggqV5E`s3*ZbOX2z29c*e8xdOsX85U&E-JnL$3DHDOJGD z$6Cjs(38N2+VcP+mEcLZ=LZ)AMI?qf!r^O7Uh*t23kr4*4(-gMLQn$G3YVab{Cm*Y zKMpRZZs90A*(@}Y1P9ce={Lq;pN$TsIMw}r4SkRX&1F%lQlMYs0>Oxm6uM^o ziI2#YeVoK+;qKC@G(A6OujsNK^h+Qr9a9hbvv<43>w5{-`iF+bLfzs=KY*2Mu{IAV z%sB8smIHUy+ryaIj6;gqO7RW%8v^ZQv;z z;;FpSp3@EU3(kLfZP5p#;Fe-pR;dSwb}B7%WUMRdbB~1xpn@Mw|e{@R*9~3-5S3 zBqXX6&{ohN+?Go47GQ~VM|h&LF;Uq8(#gLJ^;D0yB3%;Q%ERSVNfJv*_SBjLKz9AyP zlnqX4=GN>t5*H23N9ri#BX(QLqHk!Rn4*57TJf=nMAWh{}(smePUf z_yXjnc2dLe#P~*sC;FV7xk(jp7B>@>6}>jI@W=W|N+GSZVrP;VjGXG=y8_TAS!jv+ z^B}61Ua3tpm%sZ9_U3+#vOS3>56^daqSPqcSUfp+9>;@=zii*&X@vpS2Tu~7yYZ~Y zL;vdGUw!-|Z*&dt51!~6Hfq$kad>!>CQX~#?ai9m?al3WdkZ`*Tk7)#^gFZ$CjWHg z{4#;=+rnZR%W?8@seGBJ45gE~h2_oVn%wiF9XFRHr~g){Hex0)$expog%}hRw?xu@ z3%OAo_dB~$Y=9qjqsVtLmv_mFLp{qc`hUp#68NZ!B$D{6)b!q|?2;CdgZ>#@4K?&@L)t7H-u!W}>nQP+U3ydj_w zHAJrYf2;Z(GjC=RM3m+K%jfel{rdG$U0q#WU0q#Wc^dt6sXU#2vMUGCPg>=f_*qD! z&?#0=lA{jGxV1PTdq22CXcrkMjm^&~vlnrJ_S z6l)Y;Lkc>;L7K+3>c?LJ%ywFNvXmX^D5VGEXc6=nwz&CTq&ks2Sz0dXWfN!*h_$R6i0glYt=EmP|80zW;G(Kp2sx?6#t$F zDW60<O4ij!qs)L)=NSzp0Upng1+g7nnY+{f9n$J4m~Ef9Y> zgdvV9W$O-<(h;TjYWMl}X4+?d4~mf;xJvK9sxGJjfP*D}t@Z^dp-+(rq;^MPVDvun z)-iK2BC23iNmtu3YsGH?UI|0UNmU~EUUiT#_;HAoSw)p(3j>7d_^N+o8dQH|+JC5F=| za2rz2v07t=n)L=q0#4e{xK!*Dlbtrs6~#2}CBP#WV<*AosJ1JEd1jOP0I_!1dtv*! z@ywW}-E8FBbxCx-3uV5&AfgiSthAPN>i3PhXzqdH!HtQfl-SNo$=YaP#lsz^qR-?e zmbzy=M%q#|+_yK~UhysmGCcXj6K1@CHzq|`+kz>sRj&fi<*6_9AU;)fLf=#L7)0xv zVt3;Mj)`x9hJlnhv>!K${vFSoa^vtd*q9u+pfj|xlEl4tBVU zDq}tfM+|lLiV2*W?NAk|P>0|O!&ElA@Nql|uDVf}_Jz5nG(`=;_6qf7$n(9XNh{*o zC2iFDsQ88eE*8s+#T=5Rq!guYI3IX=4!Mh^kfqlS$(miV z(`g|DrTEP;Qv8-zZ)#sO0E)HCHgWpSl*R~OqjX8EyXC`)rfA3DX+WI~pdwD!FNR=1 zQquKu9ZXB#tKr+V5(|wxnqY5)-@sS!%ZuO9joob>zs6n~!Z+e~HGbd6^CaSr-vRp| zr2iQ2+wuPSPRLH*!2Sn$zu46sf>W2|E-78Qq;~0&)+N15mv&tu{xZ6B$?Ssf_-o%K zD=oW2mo6Q<*t_I(l4&~I``AXH{2-nm@YqoHukeh-b19yy@%$Fg&3K-{^Aeud@%#hN z0qr3e=t=b68|~?b=T~^nz@w*+{2dV|z6fz8cp^0fg%?4_8|b9t;G2uY3b*(Oa!oqc z{9!OTEcKH>i|~g+|0}lRzY<=K*d3q~`^**^w}EbVWvSufi9wd~T3E`f+^tD@MWPP! zZ=sWSXmG*Ml7SOK?ZHrGe05a(uGjT=TU7jJBfdN;zQ%|zjf(#>;!$aX6O|N;m8e?Q z`v}D!gY`z}JG6sLPmQ)m^1V3w5}s-X~0VkL)YCZVY@ zIrLWwb)e8o6v9lC%nW5@P}L!X4o^c@+h_gMQ%3o=S2tt)6%1`<)nf+U$pYN@Fp{Ha;Ag&V?wa%{9x0CBXv94htX zD!v~ao?|uJ0*$8o(|n5=8CbA2W>5$?f?U46gV><>wzfkh7+mUe&taKBgP?Zyrte|L zi01(el~eHR#u}Pg5OK<*buh{zt4Wx-8KrprFc$9Tmha1h`SN* zV<-*6TM>Q}j|WdPp5qYzCE}|Pz86n>ydS{(EQE(6d<=dc!7~owJ5i^tfB&T9{{2(> z_wS#YhJO)%>Fwl8MrQy1?Gen%j`)aR2Rt3MC_8?0I%zNZPv`#qyXay3cI_7Nq6LrX z-oJk?>ZiXRJ>{?QzgPeM$Ks_o>ZiZs`pDnN|Bi^4zQ;$rP!RR!MMUNI1HW!YyQv>u z!|!`|QW5TqXFtN!2XEr{-*~bReh0s+@Hi0efoB84C*XH8ez)LJ@qCSk@tD-DTXMH< z-BMEVFY+%dkc;TQR#Ys7>?`a|dsO#cA-ras$=kez7HS9LoP*oo3{bzD%gt4REyT~NXrX_7gU z-L$EJ5DC%Wp9{0B<|4TA5lv;i6tPOlTANiet~r?Gk*f(9i>S{Jpj&95J%0Ed$-o4`T(g8Y36qeeGc95tQMn z6#q{dZiJyZ?_wei+)vm-&&c=<>4={r!;ew?3>hAV_{M2Sd_1Po#wiFa2S0AS5rJ_O zb1edAr66z_0{@{Ha+A`J(u_f18pV(o-MN&8yy#wGLx8;Ko(2fnD_k9_W3O<(Peu$m z)mcE<$wK5)WY?_v4GWP5+OQ;Jr-(x)@LSNNmNtj5;x0lbF#>~qfe5*xUEtykVd|FG zIVinGjQp$gRWJ@-MBt+!ju#Qt0p|*w@Q4JUU6XO^*-!DV82#univyB@-JW zY?dx8mh{Nxe?@q~wty7yi}}JEUK?N?vY9TtDIV5Bmfa6%ifi1BV-ek9S1qOeSovQT z#}YfX@3&BK?qRz;XK8mMK@i7sBI;HoJ_9TTas3OaT4W6TJeX9!I*F;i>glja^>-0P zYgGT24kp#lr+AI(yJaIx%RSK4iA3od)$gZxjp~DxUZeWoBA%(Ed?!ULGs@mz-IIy{r{Ov5t^&pbTO;CUI(-|$r83F29SX9J#3@H~o6`Y(RJ z!n0d@r?|++hWAW7o$(OO7twv9-$E$72>RQL;U;AzwJf6VT>en?1D9^SK*wGv_=MPjDqLjd+*F&Q6?HO&K zIT+QuCayq7TpivdRVPQ~e8Etw+WU=%uFboS@u4pA0?~YQ)f`oQd z)w2+UNDqsp5ns?Ao#s8dUilZBEIIvs^|KMW3eta?d6I$8Q@CSdU_XRbo5`djWZlD{ zR9vd>j>fzb7@z+wX+^6)kE|TyFt*x=qZ#rThyO&g1}z4AaJpJl#w=sAr3hfuF{sus zTcWCGoXKWOXa8alEE#2iAY~NotuW>ZA<}Y*=xLyCxkQ~sK7rWbBf3x`)aa22&(b=o z(WOvUXsCW+BrKQ2yuDJLvYM@}QA%g^iBm9})?vLSsb&Rm!y%#?>Ypg8$wny})g&P( zsixi5$d3E@sb;1UK{XF-iLCtRq?#O58$~te4`!;#_{AW2sL%qzYV^U+N;Nl+NI*3y z*jeIhEhN>XHiUGoEQqQ}{q8gL3Q?~c8bjL51JRg=Xeysl)h2zjv&Sx z2^$NcA|(?x46De^7#PRt15F>8h|z~=H4Gx;nDh_Slbs_T}2#31S9mEA3}j6Cqi{NC&H%HO7%1Z^?S+44=HSb$Qp>Wpx5vvskM-^H>Ty< z7T9ua$K&@e>AAKE?Q(59l5=g-@V*LRC^wV!yT}gZHzhSKU6-xtSCg;J{o;Y}Gghbw zUfbae08F^G-96p+*d7R261BFoNvKlk1l0xr#s<}7hR=aVWx(?XU%02?V0MlAFXRq= zg>SIs&apXc9yqgQO4qjb1-r?C^lPQff*9J2ITNXS$&obNc#k%!VGnyeXdm}i(GslC zi2b{a{R73GWW+utV^e7b*42oeA!GlFv~KZ~zL_&lk;E)FbN)@6IaqwHRAHlyr7K8? z`~5X2C}ogz-D{N~J`%+_nT zuM_Xyuh3Vx(&joa0pC}t_KLq!?;c1o-0!beKktQ(-Hq=W&ep2I%^}cxoj$!|A9|D8 z`xLT@+o1M?-%HIdYN3L%_}FWdUnE#zn$}PJCDv0?BgUbWh#;;L4nI0s0=tD>PVzZ*1BbeU zRN3}e98!$-4Q912zm6gcEb&n7u%rRJv@Na2M$nWx7WG=A0g_}JqXKa@2ej*TcTsWrJ{_1}lzM>g6HcTah$zm5>zF6&*D+gE4%RYTRXKRS#ulqS+`ra` zd)OTAxQ_{H=E&i`QvJ2rMfd>9EW$_R>@F=* zK!Z_fxD}QdN91r{sjmDW7OdT{@E|Vq99%&DVqjT7k2Bm?s>kWT(z02@;W-+xyWk_z z3anK~jKv{_yM|{&NQ}5OTmNW^jap1BVvXT0(QOX*wJIHg(Zrn+29jl>Q5@tM@GJzG zA3*SJWw_@c8S6jzRw7J<@KFn4%(!ONnEO}{QaEUR$wU}IZlOi1D`KGEfL=8uzAN#< zT4X4Pr2gXzn(Q$D@%snrxp?O(t(NCDQ2hfOfF(gU3LF?|pK(L7F7k9R%WhI_c;PF= zCAqh#=MQ9Qk`8G(5v=M1QdiH}5KDk}^p^y99K25IecC_4xQHDEu}c9X4W#~WX#vhs z|3+dea#eBg62DQD9L4J0Z~%!0kytaCd_i7Cb15~9Vs2fpwGB#pNLFhxIHR?)^Q`ae4T^r%kabX@(H=bgoU%xIEwgdSR zwwEbAL^?Er>u2%90#GcLV@H>f#%w69whjgFMp4@8A_X970%QwZH@a{E28f()*_A`c zgBjDeL{64h8s^^-@_d}JgTZ2d2hyk5guo|)c%0ND zo)+&XK-|KPuFW>!15c@XV!feYp&fTn2jrMf1a9c=vsMlIJ!) z7P}GsVbZoSh*@n*+ZdKHlVhFaVkQF2KpY#j2cUOUfHPyfmo zW^*{G9puo5*)&U+aDU9z`a>F8v(nVkDVv@4#n;gq3o=o1T!{L*qL#*>e1s}WN8$s3<);qSSsY`G>!9cr z%O28W*Q)#BiIFFwwdyVoG7@pkII%*E7;E>eD!fQKHzE(~z8&a*v>W}}{-BdG&`!!$ zC^h&{I;%O@U=e+wo`(LXaRN5bq~_zrX@BRz{AzTCTpVK`iI&#CR%pP`No?9!%Kij< zC*FNX^t@d=ZbdII*(?5zANl1~k0JwacutXlO8X2_lo;xT{y5hlE^!bPy;h=Qai2yr zhQx_vi9%C%<6TD5y;xgmNt;%1(xKlG!ws-fBEl1)n=aCU%`hTRlublMuv1^H&OHgt@OY|_R&~+{1_7IU;&~3%Tb}1qA3p7S$O0HQtJUj}oKdh^ zy&OThGlws6-|;YeEi2_k94>CZYJxd8(Na$KkM1Xc`e((==>B2l297Fl4@KxV9zp+8 z_h1d&q|U&LrF&SJ(V{*zlDY?n`*=6-mdzMc2OwHa^JIGupg9fj7l%{-0erDZox7X|m{j$2>$i(=3_l~dT*`%`3>s?b=o#=RuM%L~>bD-L8?YSG zcHf7bh=X7|*=xhs(ZZQryc@!q90mFsouW9tw! zI%L8_5gl?>Oov44n{sK;45U%w5}Roc9cn;xd~iPpXjTS-DklMrAeRCMesS)dCX~xXk&zt0;M*Xx8U5rK)Mq*AOjdFnE0c}BH zc1`H36RZjWLsce0Z&oN1wn`Nj1JAC?>=lmyF!VA;0>0wDICKb{$H0!uod=-6IlS0x5=H&?Z`27J{&8}mvuslC9NoUaQN=udN;d# z4F?#B5&g}>W!^Hq*~cE&BuA;53@T(Hk5gbCyjJE8ZGMWKu|Q$Q z)pF|Qe&|f!>LeXV9RJj5QNqTUaf7(ZdlPZ-shmGirZ^NP<_iTe*@dT7l`(yEgVURzN-v^I0hz%mR9ikM z2$sA6e6^Z_dZ0~aNg6XRCh1M;somvr?!!E=?uF$@X?#{MLW^C3p;$PP;R5TCE%51l zDc1ywzf_e_Wwhy~!^$ZEsKgt_Q5z-TV8BAC`wjHy8T^q|(GcJjCzzb2JTQ2pYRO!3 zi?NYlL`vQn#352Y&RT5HKd2uZPxMT9QCDz~C+Wo;1l14=1s~NoYUCor!vCc#t544k z;xhsZ3`nuC@Qe0=nT+0{nG@?JRs9}4fO(nx?zB&}&-@!uV6Rw;|Gx0R+k5%KgYTH; z3!e#Jt21pd0mIdl2e4`MGQLxej8sqWz}R{mce5S&G_LGX}=<^tgGm6VV0h%I#-J8d16Qa~< zyihH+FRpQ6sx($3E7c3CFp?%R4l`1x{@&Bax2)b5hGWUoh+PEI)_uG!Eap|t>rX~F z^I!f$Gwm7VIj zg3@+Owa<8*XPUzR1#f%|JY1!b02|the}@G_X;j+0!&MpxnC`MV99>6?G?RX;S`uT- zoD%^$47=iz3fPWZ6^EYP7Y+~0&$Tu8%eB3Z=PEpQJePy&f{15+5n+|KSzDO!x>mg! z$Wr7Cd(nF|FFdBLN=R^qm`v2>l2?4v$|TTj=YJ^z0+;TY6+-P3v;yKnXk?S*S9ne6 zyWUdrqxv0K;z3RYS4#`rZ7d$Z-$-l)m)c~`nd+){Lwr*sFR>TnMS~YI{wDQrK%rYa zBV~L5q?_29@X(en!FdM5N$zxMAq9S;eoKolf^xNb8DNt_t6IWAH<&H%4{ew(ou|#> zj#@Gf!gsC4Z$0_!Uw9yS+AS78xP_n2Xcvnnr??RF6zgtqCd-8h*aeAX;v{>Y3Y3C3 z;llR|a@@n#-=6Lsc0ukP$GPx-YOYIA%CgTiZb&1_hHh8``cMFN*NUEHJ}>JeuB>RxdUlaAMA@BBZ(ZYfFY4wM(1j9SeUgP zFhV3RScrD0$ zMPlDV;st8ImTh6&s(fnwExRzUEaf^}1mj9|JM_9PVRr@YgT%Eo6-=}k1_x!!+>oPz zPam(a0&kH(y10oz3ykP9uAdEB4KVHS`NDm6i#ss3MHY$js!-nfBKvHJ4#ob82$8Qt5}QyFx@mtFXi>U^Hd<>Jq{1p>kjlQ#H)M2=Rg#l zS5)4k0WZ;$j(SSOgCk$P8R!X&Y0~gBwt*0|ob{>aHvls-^`>S{J)BcVBl8(f8;#7b zlFFXYV55t39pu~u=2hImq;H|+SVeVNCt3L2C>%|`6A-!s9afL;CtI#mz71#zoL@`z zE+qg&joeR}xj*SDbMISAy*-z2%JwH)a)-a?y31wm8_e9BwA}A; zZlNU@XC`=`5@7lTd`}_`>K=xVXvb`n#n@CTzoTgv3GSjo{JzKWWhwUPPl4Ew$1Xz^$|o29L-Bt8@7-z}Qf>=O zx3z@BuffzdTy~6ikIjLzN*$?~=b!Ij^Lwc+<^sY6Cg&E*6*}t%-laKX@m%PdctOUn z3$i`M@Qk8erlNaGaklO*WtNmPJL#@c6rp4&ekHqj;syE2unVA#BsonhtXRw<48aPr zRTnI=Wftcv{^A1f7H+WDY;XzO5>bPTP~AXOLR}T*Gv-ItQ_K4wrhNb_1svrgZhv$D zH6c_?c1>74e*}cd?e>K@bRTz0%+aSruoS{jJa-6SK-#qVDN4ak$5**D6X@p6m1l9; zpfWi*>pL3Q-!Q~JZQ3@ijEC(hJKHsEx6}daa)O~Dl46@tkTGv-Kw|BJn@2U_qECXB z#mQvCBP)p9ja#YSd5l~vgS*~LGa%_;eefzzRH@Bpn!S>a@8o$2@qKdws16C=&vuW( z_l<`O-%@RYiT20f`;r7L`_cH$=$07YaNy$GlT>!9PQGk{GjV)=0agHT#6*-@Y#dU@ zBqeQ5YT<|KcX}3Wy zk=F9Or;UxANs7Ncyz|LEkd6|uNojgSl)6NJJV&Tvjh;+x4`6lQcQBR&H{8g5yC%k! zVXSw|SXYLT?iVGak4^aZwIz{C71=mYi(Z`6tVAhu z5~aZi)pJE7fVf=fu1*n3=V*GCM1otdL1y2mrGFA54MjGlgMb3YuEA?sRXvNa>Vk9*>MaD$4kAokdQ_xGw zLYnhf2MC)59;R1zA?KOgCzbkWQph!L%rG^Fpf=E42jzbD(1ue#IQ8c)j5mK;#?uq% z?q6m+#g3lX5jMmeE7}N)%{9YngR`>08IQpCB<-s6N;J@+w!ANv7HQ6| z4nE;OjF=0Q3@-~yY|Ca|254yYs=Swk)K35N^;mP*`#6y= z@NhL}e_x#s^BbHVoKZ#6 z6}Ug-SgwyTqL{c456wnN{#oTHt~l@xHJ7vyLvR$jp;+v*_n{9qaU3XRJV3ivX`cBu zB9cWdwt_$Z6MTHp7g38Q&RT^UUUk@KJcD0*RYUtJkfqkD<9brhqF?AdHG1ZH;H9Ek zq!-(Z_K~14FpS8S0eM{aED|VKBFZ%h3E!*cAzErJ;U!a~!sOgKBcI_X}H7INUFMAL079xh`=m z&g2eXMx*WGI{(FwyZrZ55_FRZx=C*F?QB3;=pH(8NZGF$&cW`XH)WKa;_}^H7$%7{ zK;$VlVj+xjy*0KRwEE(w)i1AMU>s;up{KA|T5UeB9Tkza1tPj1Z6lev5&ZJs=rI2W{5RP7QM*SY+5Y@OC~`}~OZKh0tExzQ8; zlIOWI&=cr|V!!MHjLcC^QW#KA&~>Nef@&@GjVP-3RT5Th9yr;4A7fRbczphl#x$3} zj|;;1c*a0k3A)Xhevi8D}dy&Hj#alpE0IP6B0&bES*|pDY`?_PJ1y+@KZh=(;gQ6Q zPf%WP$_aOaF@jSRG**r*bXWq(X~PCcv#mtFMRNWFSN3&Bb^w zftRT~*HCW`!c&KoFO=Nk)bfQVG27^mik0xX#^dxP-SjWnqBDP+T|kB5Y)V3H*TvZHfP7LRM(wUYb=fqA8Ic8RW!t$3b3j3 zU{C(wW#z<1NnsiC?4c5#;lyH5DK}^>)m(_ZcgDJ(*@3$9IKqW7J>~zQFV9Ql?FVRk zrh@~utW?v8^`P5bp$^C;ss+*@=O)t^`ORtxO>z*QUG20DyWE916R9_dRbb17Ey! zHW72L2!8MVP3}lAGncr~flp;kT0P;}E@W;@bAm(%(VmKt~QaP%?dO(s&^l^GrUUiaP1bz6mYJR zzyq(Mtm5F7w9!LTdw8;(A_$*Bp^nq`hl_(-)5MB%MMcjH^ovN%u-8S%xWqv)u08n< zHoXy>A>7F72Cau@Qf#>f6x@QBWPhy23wjLSH?>#u%r~)%lWB#5|SHc==@Qa7}4;TU-# zxfKTRB)N>s!2Ux|nlKBk<*~OWr@(x)RPGL?;S`8Ww5%Gf0=*b*i0%Nvic(P%R58;g zWqHfdpxrgLmYFtB7kky#jtfaC&NpA#ae+~g96&La`ZRkPOG?0x1ci#dXgQqB`r9kZ zY_tVetH5VE682G`OXVz!?PKbqQb;(cei9&sQGRktBea^?I>+Q>Y6h|%LySLse$2jrr>1UtW6%!BC zG|Hl6e1rGyne*Uuu_$m+a&gMq@D{=OeWDJvCTS?;N*hPWNJr!GGLX~Q!U(C?I5PtkfVk}tMTF$l-UMp08XiW{VO3SJD=_ zee_Z|i)pSdg=1o1TFlMISHVpT?nw*&km1`pGT4%l7sOb%FQ`LGho^5~YP-sEv|>iE ztoyn;-_mf|_x8W-@-C$ULl03g-!(n2oEn> zjf&V~lpFdU`4)qSsF09KFX{Lf`VWO@3J$$bA)50j!7_Rw{T;oKvxdbqHPOpo@GE@W zAYj*K5Wre|3^p8_=_5>sW>S`HnWgcb#o!8*xpB&3+Ek>_4T~WNbLg7IWW&^W*<$jU zOP|hL4Cxu#i^VkEQN)PFWGB*i=Hl-3bL!$;`YBl4gMRuh?nysACGjjKT~zSPcDpxv zzeLDkulg!OFwsdGRw`E7XHY{iLTOBjx?rfiZ%dMrwfr^aJy}>KbS$!u+Mo&J5YJ`;>IlD8;;WZ*ln7=QV0-V4AhxG5 z!43sy8%z))N1^a#paO)3U{hCy2Ffu<0txRi-+O=#(|E1YwGL)BmhaavG z2y~c_%2YRUNQR1-hbiWYsi80*<5mmc4vTzUWsJ_Xb;EP(s9c*L&tLGogy%%WO(@E> zJ%r!u!B!tZ9R1$w%(Xp=hr%!5_bJ3Lz;7*{Pw~{_NkP62c>3ZQk0%>(`FJkI^9G*Z zAg%<@06dfN+<<2^p6+;t<2fA<%}CHp7c|!-d!~pvG@3XG_1z{SaoBXs8RB&u{L)|QHX~2GA|8W z`cwB}Z}Lsr@hqr4y_$cbCTKDaKs{8WJ1~dlL%2V0hYMC{Vht2Z(Ix1G5DU?zlhQn0 z$}VGR;j?5&Ew(#hIX}e?ssB3cgMz@!=xUBG;pkE`x?xJX0)Yr}$#M^N45#aINue&6 z6pIzw1rBgw1WA(x6JE!A+PO4wgX-pXu>3_@CpoXfDuE|;Dxjc9d_(8&9d5Bg5vo(% zUk(7-9_|Ow?jO#CXdLJ;7e8wAUQpE^Nk|;D9PT0mqqKGp`q)dfc;D3C&G*ZO{|*Mf zDD!#%TS_cCM2#kUDqx`pT6A0BVT8-|&m;_7-*_!2sOALYI6-N2f zOGgZ)EpVVz!p8Nu=#?x_p?U#c#3pz}CkP?5m7+~ApV5y7TmjnkIf8^VWWcdL2HK%^ zL_49GDRR<=i+39>+TD~!@hwj+27%$7Dx+n*_>dMH4v63C<4^7nlZSsfAP15>Po^+; z^+(a<WFf@O*z$`Q&i{* zWJ7@L%brs*ZWqGt72{x@L*<7HQ>6vBZ;9h-Ht!k83r;=_;1p#}#k&TIIa|g0 zyG~NXe-v?G-PgM}T#cqhU8B<1Z`lY)! ztW%LbT%EN^G%8tN1?~}-@A-U*?;?&+IkiWSk?4 z-0#L66Tv*YGjA!OIBm#f`^vJEVRdEcXqA0RffB~pug)zRw&C_*CB#T()!1?%pOaW% zW4OWIM7gFGmv4YIty9H{pxRE^T^|f(6y*g`DkeFIKV|JIA^wFMgCM|xzLw;&o>(Pp z&km|tWMl2DN8O&WmBe@&pQVKfeeD=jJD6WjtfUoHV>!4KB#6IpP|IXG#CzD zjem$-NWw-XddOxk3Zjv&bs<;Y8qsx#D{Eb`zq_&w4(`w$=Vyx`N`bgwUrf>f&F!(ZA)%9+vX{?wkw?goR2bN+m%9}?&nX`u2c`2tTn3z zEL**aAPIE%*D!~TfS(Y$f+8rym?rrFHy?p*!bf;J@N4LGvq_~vv|2&pJW-UrVlG0( zn0mpLq3TF;r39TrXSJY0PZw!Ns9t!}elUM261YS;D>rbXQr9FG>2&cIwz(E+0UM5A zxbrXt)S$W?cNT~8g2mbkCnKt(2uhR}bitQ7k_ETWdp{ycR&^0b7-trc$`zhD)WtWN zAd%XoIFQ<22RjEEV)faG1V0zduyF#k+|-5~S5_U`lwq`kkdjqL2nxIM>Nz@V1%5Kz z&@F4ojAYNNVDBMTK+xYpY9_6(>d;r7-_p#7o?%(&`z#=ll8-@h1AkE}Euyay zQAfz8vRm1|Ef(KEs-n{c-#`jP;we4g;2WfS*XgtjsKFSz6e0D=UE9Kn|6Wz`|CP9n z3%4LZX}_^J@DPu!UfcJD_3(Y|V-$E!u~`w&3VlwpiAn3rJ?DV0;?fH%jX%DRXnc$` zRSrEXfInkCUm5-dt|JVW+*T1g-~OD_Zc zx17GE6L7{brIWZIMq{uNA<{t1!X|n(jm6-0dXWiem{NrNRE!?Ws+T0s*|vk$CD~IU zTXOm_AJ9miSODT6IT5!g&casLmJH0FE`Qe)?VPC5UlH^U-gJ=t)$xJ0`fGd)PA_5%dQNnwoG@tp2J`vg)M1JeA|;e(|p@=J>w{JhHp=@$BxP2 zJCFm)1RF1?m2XfM0ET1w`Jf)biYwKbMU`>_J-xSKT2o4#Z0l5XN;xkGZMOR;V^Hm` zXU42e`~$i-&k4<56_ahM2XZ)ipbih^igUx4N?JAI?(K_5pO1qF17&$m4p=K49ce4)%pZ~#Z(yjW_H|DMoBsU?)tu3VMaNu|J6Z-FrtB~5U6$P zdAA!t!V~TGWc8LBfEdPcrt@|1P^QlW(1a~cJYh}KH*4nuuzX60pWDf%EebzP!6Sqp z+P~oQ46VR>Q7pWLM-E=y-cMim18^1OXY}qjE;?bjOa1isDYivmvo=~mxC1jKnerX6 z({ID6?&`ACK|7&RYoxBg?je(^`nzgm*y%YAl-2>1w&C;4=ZFLv`z>OslrOpX+K#{S z^>O94-5dJy7b3+%xm*K1k0W~KC9{;@;_pW!g1>iS_&bkFp;pC%|CPl*H~bOwVnKVI zdc&>8pwdVFF$B=Zo?mq2OCFYB|0fZ?|8h%0db$19g!FROd%qyQ6YyK#`7v039$MUA z8tVtm|57fDfw$>j|HJUU=#GK6@JPX%a6bF$MgvGWpFIPPbvWj;gXOpT0YCzN+ZhN< zz^`^!{oLc{VBsH;82;lE!++NQ4E*=pkP!cmoR<*)Q?YdTdFQ*<=8NUm8$_$m7hgiA z`=vQoTk}N=x$TvLE|$FFL$L-&>eZ7^0`S4F9VLPLS+)p%<)BYEQs0@rkW_&^KurL) zqghofjqLQ~7hzoD*x~uPqGm&bl6gN%7z0?C)!%wkn)Z4cP14<6uk_`_ijY5n^OJz9 z?pR|{(jFVOX4N+y2Z}7WAJe5gw(p2S@Z8*0isCN8o9CAqXH+t5IFfD({U7YB-xit@OHMSlK) z(xhFW1nturB1L|9Fu!Ru#+rQK4OLYI9 zinY_x-Mrt7O4z z<-mDKMM!fD_yp4R*zkGQrpDg9&Ox9nVzI_Stg*()+vGP^Ipb*TmD0ewUSH)XS1DKW z!9vMC^z|_O)3cG>A>gz9*{$L;pHw7q@wsk9TzuwHY%D&f{Nw1tXAa>LuI1&vH?3z( zZj6ZuZVteW*9^CC#MLgiv50VwTG3Ss8{6n=HOh7Uz^*Tr@f3G|D`uMSf9cAVA{rw+~36Z=J}@? zKuUG+Lw^E@KV^GUU(dCPpX&z2Y;Sg=%8v+s%>B)T{aFzU@3k)-Ie26A)iAY*+GrE2 zak-oN)hVXBw}+u*P+*bzHZFevvx>Jn=zkII`gwLYBi3UUei9%4Qxd}O?8?kG9{kH+ z`1#?Fpzmn3*QtNN?KUi_nIr!!g6Nl~?6~?_V|@}I-|wBAkX~?~MFM)ceEu(r@A&-I z( z{Pq9OE7+V5Rm^H{PygG@OMoN|K+gU{vUz=-hxE<|Dsbu{6F#Z&kuhq z^Tmo245HPyH`@_JM|8f>;U$~TD6^@BIMqOZ_mSOb9_+#E)ypwySSGwNPaUZSnDQ=z z9%;`P0s1;uUY&Z|IR@O4Tg-kEQ2!)uVaPW>27g1(i4ld<36dj10G9ddp!z=+{xMG+ zVfbVCHSd4yagZZ zGNyMB)Q4xj{R#Z>Mu4Tu>=u51AKL=NRgzry2w?x8qG+Wh%n1m<}VnB;9fOF)YF|gO*r4%2hKtIz)(ap zTvR6}p&_tdGz=Mc!mCO%Qhnb?Y=p^3i>gqHXchn2aCRU!Y{N&1$%tiskJzsThJYCy z`-0(&jvqyYbo`|BB>Y4fdfKaY13%4u$lz1`yoW{zx`E^I59zqs>G|b0a4qdK^nq>m z|69Gt(6P1tpF=4u{U6ZVc$D`4!Q*FQoA^;;@pIgRMJZImK< z{(W!8(MExXET5!+CAB_6xBL);pJyxn&)}!a_if?l8yxwu(9gZTqZ~g6FTdAzXkC7P zk-lSe83vfYnXcpJmzLju2L4=x)+Lq?eh24m3HWn1GRE@fGm#-4e?G-~H1Ox20l)vv zY7M{d>`I8=H;^$FzxN|UJp8V?@Bb)%XS8n(zuOYiuNxU-@w*@a{oZ=-(SY9s@&&fQ z63VwlnQh6pd6Xhrx+uLz=YU7c>fYGD(e-!IK8IGT+7cDZ(OrG8A7~hI-t?866$?yr zuIs0P3XYHhkL9BX`r*c{%X5FrY9$&uRGHc(pT@Pzj%MZel(&#V#fP`Pz=An^Nu6eEn0s>&{G@m z?*;MmI>nr?D$9-{_;30$2L2Y$5r)65`F3X5fLZQrk0FQ;=X`qz{Qhsb*_N<>cHZ{Ov?qe!B$~fE1AYsm zIiH|A!t)pW(<(Wf`HB_{H#&(3g^U3uNOcawujj!Q=Z);LYbyiKVp?fB~ z2@OGIN$G9VkQWYnwDdmvzOZ*IIRwp|!=8dl^)#@S)6z_93Ll^{Q@vZst!S{}n5-IE zXyfUcH*W`=%$NV|hb_t$8;CU6#vFJlvdU{fNoWJCh^wjk9v{lj{Hx9n3 zzj=vnXCa^3SQX&{AabgWlg{;)dg zMO=R1Ye8S4Q>E{1_zseuQw0(q@Xw)+w)zti-c7Lg5PH0kennE;^d`LjKz#s{%9LQ^ z)}d5Sfe_>XozNZucN5^=-oAVbfi0ch_ZMObOOLLkV-0pCR z5S2Zd%if548WHCX%piwiuq?UUta7#HNNnj%)H3+J((7g4SKP8?)F{&fkJ%o0G+*ka z(VOfF%rV^c;yl|~+r#298tdpP-_{h|8rbfxlWfg1X>4ag%Cs-&I@>g?p7j`&;j$NP zl9K}&`klq#B<^39ui{jXBdV)#k+P+B|D8Xs_JubR=y7Y;^g&#IqW1rJunvLV{EQd? z$gKQ6+487{pN*=cYc}y6zr9y>u-5kERBLk+)mDFlwKnjlAdS{?*Pt3>*updY3i%?x zM2%mQ|BSj|AMLSb$xB;6G!uZrmFfg(T9L(W=!upPZCKTlz9|m|Qnm0eKC+@(cR}8C zpXW>$E(po01nbgRr)$P?ygMS^H!aM;TP593WOoL&qB&P#L@LU~w-(5%XKY$X{J63_ zGFQX^)9z#VNF9ywZ)px%^KNrUHWD4OZ=x9$mG*FKX$kZDEC<{v|M{)uk7-X|9H}wSuoouxD7)3~Atrp)|! zsq{;zGi7cM*;io`D$;)!>Le3ANe!rTFw~L|yA}`=E)M*W>s6Jd_p`u-+YmFA#l(|v zFXq<-8geAd91l?nT%Am+{N`XL5`0$JevLAV<7xVUeWH5*ZwcdYPA!>NA$beCS)Utu zXzCuTP5j67@3pZfbp_d1*IDyx;~Uqi(!ij}W`#_{?4cF<9~654 zcXmwak@;ibn{$dmVG^GO%$OqxcVujVCcbDqex!G3ojS3dp(ke@0t{+x$li=5VVdQV z*`cMqs0Fum>EseIz7xn>cf*Chm212*G2wu+&|h2f)`;~eJ+8c!M_;H@G<#RDhk;z} z;gz@kwJy4OsAl6c<^Zx;Kt3~4IKG`}2n^Rsqd1ovjNFZ^T z^~b3mZ26P)nA)HC{g11CIo47MYPZmH-1b)u&>_&}o!l4zm>lECJLjS5MB_Vtdv8v) z*7oOHt<6nTTSKX}HiKX5`U@TurhgXLxYPX;#n>bJc3(0S1JWrk-B4GjuEQc#8!7CN zmu9qkPz5o*f#(v@kv9<)eFvB5+l*oGqXlJHQeQFJjphno$ z%gYCdStBhR1b0HxVzxQtFEaVfl$>}sF5c6G{g1AZFzU=YVg=(OMxnE69t9e_I)3E- zr@qvH+hXaz<_C2i78M$Luz;#lzgr!R9N^|!tzKi1VKAk5<85GxSm%;UniAlK?p<{8 zZP+EErkHNITZy}C)Dckfaq}W%oFA?>=(!N>!8O=%%P%s@FVf2A;)~!n7zpLkKLbW1 zOGhJ~M&a5d7gIJ>V~*DZ{IwU^Rq^B_JA|latO;@4^{lQ>#zkEQ>Uqa`x%#j7ql-gn zKU}4QXf5nu;Cme_H!FOvpu_|OZMHZ5`gUI|e3$5I!q=ls_{{z4#QZD|)}PV*>{`uY1M3BYpZ#TmA2 zyw6L$Q8zn{U}^oiDppBYSeh~Z2DZV^w9>Ob)bOX3j&>}+T&H(S+0+uFe0T(|hN8*j zKbn5-<2d|mDoSjP-p%z&oAM&DkNEPU&R9%&(ZxcTq&0wqn|4_tJIf*{ZZwQ(9a#z_y?bl9{)*S7){-zYhvjBtl{40WvRgD563RT5 z`V#Z&DZ7jcT~hx1yJ-*-zrUI;KK%XlM!luKdi|%h{<;UrWBN<|G;V(>8n{18e|@*s zKp*q->ogcF{q^p64P}XVy2%es+bQj)L|fBHb;K5946(RP(%lVQW^4N7i18xzMInvN zE`+{tB-RCLS}n>2AJnz@ABraartYXQD%6?94;N7z+Rz(C(YvP4{vonf^%1jVedX{R zO12=z#7BbpVbRxwc)3>LjUXHFM9ZgLHbdiOpz3S_y%I`J`hyZW7HQge(e+(X^9MLg ztAGg2#2+uT zpctLOf90&5qjr|_vT9HeQa*1J4I;HUFR!9Dh)n#&m!F3NObvY!o;vk4bN@!~m~_BH zY{$|$=w!3}7=6^WdkoSsI^f+4s9~{a*U2TKJd1ufC00e_A^-)j)34SKPG87MfxYwwzoP2xkzSLY#; zm%*lZIsZJ%pf|UFO{Ki`f}lwJo9FWmsfW_bzt?YYqZ z>R2W|gg?n|r|*sVU@Ig>?6>d}nzQ~{g0{BGh@<7D1pGMgn%o%Pg}n&3_&3D3HR_FZ z)Gv+Lwf;AqzoR&G!g$0YM)El7s#?O299KHKTG z^qEF=V9&J0-8Q2(@g1K(KfTPrs?MJ?&7P(53xVP>I%HxiT8J%b{zyP?1LD|cOhrNQ2CrUT-0>UNKI2_l3&maky{NB}%mHfS zY7g)FZ@6BKiKZvciA7VK`7x&dyxooc9}F=jRC5}0MQj5NK?MoWmw5iI{W^4TyQ7i@Y##rvYz*(oTylO)D>QebyxQ;J$1!*b3f? z8{Gvq!&<_0MfFlY8()bJ)w*)}0HwU&w=abne`UV5a#w%#&<=d6Q!jpSN0|Gt@FJ+> zr4as+8<*3K!x5+=(c;@;SA5%YilFh{6HvmwmJIvM5C%7F|0=fNmngcBz;d|)XKZ>a z-zGwn?0uX-$668eZqY99C}=oz&U7%xB6=5SOLU3nY%t? z@4q6jNA`tFEbrBp_j1d7o#lO%<(;Ge6Um}RRCoshSS^a*bIf<1zs&L3>~)}d$rzsY z1zy|~ViUW{GQ>jYo^6eJPwZZ}?;avDe-oKJ?tyREzcgZ~O;06vm*jqb3>anE!dp$e0I4R_ zS^%k6`%5s8%4en$-hdeXMAm{&P% zW3J7WQXk$beDwsL$*P3!eQU%fYs4qk2$=Uqm+@V61eXu)$+()Gfy#T}ISJ1&Jhy6( z8^2fKp+=kXiP>JQt*v(K``<;kTkF^iA?neujh(0`Z>akMVew!OH#$-HXxt16_Jg@r z>L7lJz=nZ;YyVQmuA)YA$0q89F%lZ;Uo){NA0FGk@ydU-&GNtemRn2Zn~6nv?!lE$ zhPbW6f4^D2nOKw$KDhG9M7Z_x`(nBZVBYqaq(-DMG(PM~Z zbRRlBIuq8vq?P&$4_p09zDd;n>Q?F>e%R`FCak}_mHPK#NJjL{Pv8ejni932=A(!@ zqWa%?_}ZVaewzOh)$clN^)LB4QTu7WO;rEjnEK=KCz^6wAKznS?ZltV#G-um3_WA3 z{FUbM*319$D{dW?ZzdMy55|^%sQjZs)?gJBz(3w@1%Cr$@b?qtmHj*8c4HTj`j+g& z)?}4wF{3GFeG@auwjn>=5+5FtpDGNzv<8#Sf}x*?pHFwh#Sg(F*8sE>YYm>9gz%8+ zFITSBPyoFD{axi2egs7gRvoF>t4?X!@TDSxDT948*4ryC#G1*sJ;_r>{|bG3u*OM) za5*S!?^9^A_aXe)Y&bzfVtSzK0R;z@XeqXNG8RJ1iv8&&fjcsM;pAzbgw~)W%I1tn z|DK-yirXo@!s%0e;Z&r5)=V#t<^;0ub&BNxP4R9?YJvzHRI{D-1=Ub@dwvJVJf{^0 z%GvrG%S0zF`v8-tGY+Zo8j-+C`D94NZd_oa!vY=pf@KGoJ%LT9}I$Xr8Fr_an6*%Gl}HJYa};?NbYPV zx!Z{rK8A8Yr?-a*drF||f7~Kn0mh(cQoptr0|5M?`nCMs!}Ym*x%G2f&!<7Gjuy zj@GIN_5qc*p_hg*(Op%H(_P$4NX)&2@)x3RPP~p1J0~e1p5ovZqP(F@c_;H*Aa$s7 z=xnZnDQ`KI|14$cq;(bNoaFSUCZTCWcY8s1C!?W_rw#hpia)Ut<0o~Hj=*jhvMMk|3BBwV%bj8l zEp?q3!@h<>CD_nS@z&W=s-dxH=rAQ))bxWY+qS#jnO6;!m@}_t_c|qSg_2bVCg%53 zR%H-QL^kxA(%D|MrB|_7Zl8YYGs(74d*`;WsXqw4jyOZQShdPKpVql8;jq`YwO!^M zdNC6top(O1a>MrU!!jEBlrN|*QB9!K(!-c1lf=Z@YMnZrM4a%$vv|D5Zi-cdgdI8o!BPwUq{`%)h4 z=SUjZB~w=e`5N{rzB(MK#V9FsLJj2fa}KRa?|fR2hV8a$q-Y9{%$!5-COlH!6Wm&8 zRnRH6(uLuMaCiijr&NZ&pi`iNR-I1!s37n}T~)8-1%aeyA880u{k$l(FR1f$SnA_V zo=ibMI3E%m7WDLX1;lLVW!Mq7I^c(W;Etk!G&D(m1v)~~nCR$(zUev?*#V<+WL}Nm zJ0uENq_TV;ZvF0`Gd>D`yS)UW%>igCapu_OIZYyz-yHU;t-YsogAT15S|#xY^v$C} zaR{rM7L!+_M?#(gssOrE)L^8;H!T{8(^{BzQFgg=m~Bd*h?C5j+$-hItQAFBL6kx1 z&8Bjjz4PBjWS@N?*sVl*nRDpfOeDM+XpdV2HI?4hyn4cZIcfQ_>J|TN3Yf`(9|t1b zVh)}9%};LLRMZROD;Z-jt4P!-zU8U;$whW&9b^S(-U=!zS;@kPOV-K&y_KQ>b39OY z@OYp=?JAl^)eaGD9PQf^_M8nR`N*j`#g&=mzymN*Y=5!(_5#<4FkUyyf-6J9?p$VmhgBz+WVc_ z`!wynTzjw3-e+m=4{GnT`Q1Ce62Bv}3IEmK68`DkM5sAmlTiy~%a4R##em%HBR)rT zubmbvbPP-1%=p)pl-6|g3E!$<<*HFh{vtW+mp3cA31`uLSFH7 zf}lvMNtf85ZaNk6RGNCNZGTv#?cH>eEvTlwn&i1rDi5950;q%edO_Y=Fjo*BP*{{# z>v!inNLs?1E6`!}Q~Bt_4eGlSpax_K6w;^XSf85Y>F8@oDmw*fK0=zt90WE|02c!#SE>8{d2CIM0}co_=s;?l7C?}QW<4GK{SsEhnSAY z^_&Ase&6RwN;w|tlXdo@TF5BWS@xp(8DVhA74Vf%_M0j?x~VKHcTbmx>Wj&_zP_0g z>U6`lu%)EsktNk}Ny|}^2VGuCh1kkEa+xS7-0j4ZPXdT~aaxl=Z%7sne+C?tBeab5 z^$2Kf_RopdpZn)n_2)a}{3;znYzv1wf(r6#6q>%gRJJp#T3PBPhHV4OVLmLXiLYmX z2!o+C@0M!3WPt;4Y*R3lf)^|nluY&%ftgnEbNPF195Av{ z^_ahprP}UWi}4yRABgcv?`9hNJK*Dk%_sol-P&Rg7y9Q#ZZmLM^bg;CTU+o^+jB5E z8(6%->@z&s%CL1)x?y&vq6e)}#47wYB=v>b6>r$0i0R`n9+dF% zBG4nIPL?&$QAK|KV1mDDnYRGh=ubv!{71Kk;E|v$;>9ja9Sx=g_gJl}%m4Ig+;wxN z|LxabLS0f{&O0Bg{clHXdXU*4@c~}J(7_jmCkhIjMg1u8{=~_aiUspc2z-*6`L+}W zw{-I^Hw42hu}l*T!7tb4t=+v|$*a#=Cu;n2tAQA0P&Lbhy}>gvdH0%vWu-pCLOFAj zZEE9C$-cB5*?9QV&?a_yzog9ovB%Vk0Ew@~-Avk!&7{&#EJ%EvH# z{BQG~gZD*}*{BZhw(x=Q-pobxE+LM=tfZnJi{DirN5kZO(UAAHvAnm4-c2M$kQ!I0 z;YUA@6^FE1rK=K4_5Qbr@f6w@Y}7Vndg~J5T;fDp)9E}L#J+1_XF@?^t7d6M57J25 zGUxGcJg5`EyT=>~Wm)3yawc8Z*x#~WwhO)Zj>e6jt6a()mW=ZyMe&ZT^EWp5?wx^GRfko)^b$OFe(8sK}8M&Ul+wv^086pG|k2EY9g<^SvbXasp* zG~`8$M97Pa=-pZi53R#7zD8K8H~Hh+aYjoNy_kDRap>hI%YPf9(W1eX<{$jJMfNi{ zk>W}y+W7vd@N|n056Pny8X;?zI3$nS%&8-;JZjp1Mo~({Aa6@Pp0PeIeh8j8#gF+3xVqA9Y{ZN0KU+-iOB>dU;R1 z6${_YHp;WmJNtUj4_o2P677FEQ7n8unHP$}!@(N$6d9X3=;OvT_GPN!m@%W~P_;zS zI%>d(3SDvVa}f2<`&+#F@0GC$>Yv@a?fMhY%cH9dEJ}KDqO3!rmkF?kjKqoy^s@Wd zL+{^@SB0?Li13<)@?QA~<=wP8w!BN*DDNQpt1F6)rI!N$9IKbxm2CHg%0jmMn-^&)Y(ro=aDj6LVD7VxZ>Cr@xKZb4$2*<9dP9%&MVbZ zWP89B*?A?Y0kBJ)o1m3^09M_T+gd9V!eh3S`LPC%g&#lrT5I%G-fGQl;KNdXs>Fw- z{;yiCA3GO^Z9b^Lxu#hD^6VR}wjZu|4{AP&PhXu-rIo&ZMMWMC`g(h5Jo;KA`GtkP zDid%KNncMM(^@O#dcOKUI`@_h_+Wt{Kj!RJgl1_)S{VzWqTmK8swT6G^VXeP^ocedQTK|%qAJKlE zznI4xT&hm}$5XK*?N%x^0cTDu4>14J63BjtJV6y=-77K55E2} zaq9m^tK;jsA5(u^`da@)EPZvPQV#=t-GQ>L^tE-mj$@O)*2uUR9wOY2DE`H$eW)R#>4HAL6fPtO{kp1)BIyv1%&bylHsZ2pChqeyk;0bq}^opOOZ{(Q;#+VN-W_>1tb!63uP0(ZkH zxUNHd2%iq>U!1rk<1^pqDX>$X+6~|YE=|JM9KeQi`RYUX?Ax29eM!cb4DE{tUuJw< z);Vx#3bn(&;NO(~YQ$QhXD=JrP?Pr95$Cgih<`qNvwlANdo-BNXYa%>NessM>>+oU z=d*F}8Ju&4cdI<29U?RQph%rb$Fy(e1KNX%1G8*o=>;3+q4S2a#d0_4O%Iklaz*;` zTG%b$;t~%IWxMDr$uLPvJ{YEENKSi>M)IkY{On>j$A54L8%3YUZ-ML~L+41dYYY-2 z{a8wm6We|&U2L$|`BU5bYWcXfJga>s$W5Amq1Vl`+C7|N?6e~I*PvxH>0*_uubB{f zjgYLp)LQ5>s=u4WW?%yy9uga=v#W6=TpYmGk1w2bJ36~Ia7kEp>1yh{`S^_U5!#mn zk_`CEO#YHm)-BkW8@OaY3axbt{&EYxwA$gCNslXBI*)J3DVktJ*rX3mxBd3!as!+Gf+@q-!b@9N{*bHLL_@DXPi zymXt=WjC90*=*3JcWz9BdHp^81ltNRg8_fo7p{WN^Z#-8Ht=y(W&U_3GfAdNnh9;e zYJpY~v?UH}0&v`WF@&z!hlfw9@f9D!#0`%A)K3R$X@& z-T!V2MU$C{&`ChaB&)Us*R<--Y2&)6yYvNN{@?F&?%Uj%Nt!mr?!O<%+;h%z-kx)w zw{xCz4iAJcN=Ux^b0<)`a+oR2|C_c!ukNUn?F zbz0C8o!IY`u(p#~Z$Wbr2}js9_-fg9CH}VK)goVe2GLO?!RYkC+VE9`}c}G#*dH9;4yC1FJ9U0 z6R37=^PQI%W7c^NIM}d!JsDYA$ZU)H-dKe(Gb1~iZ=Wiv>Ekoiq~@H--zkJh zx#4#M4Ly+1wIKS?9SaK?9azyiCU4(6U7Psq5+b($!j8$%4(`2$jq3th$No_KgA#a1 zRo8g4p1d&%IsgtjtBfwx*JahmgBB^R<;mx(rM8W~8>k7xLw_NUwPaAw{@b6Peto#( z$vZD~@OQsCvS9fIJz#7I#*4`bsv(+40 z%tY{4v%R{sSLOj=?t1p z@lq9m!^X9sS@?Ft7RgyKKx6kn$m}wT0-dvavnJxbY26xuZw5^pR@Z zzSaL5`ZWn6^kn0meaXh}8wOio4rtn%Khp;~G((GOE!p-g z8N_AVQy*AB5Ao+y*lY$BEV!elXZyq!9MYHy-Vwl81HS6-=;+!0%)lRLYwru(x!Qf+ zvh4W3f%DZFe@qT_lJ9aP$X8{R;qVuZ7s(sJm)KKSQp{ido@zKgW2mdJsV|p^JqwLn zsYi}q>RVk!gpH5Tu?CkbYw<%%DOGVJ&&4Rf7sd?12;+J+OB|&S`4QREkPCNwNZi^M z=*f?WpU;v=f6DZ0gRqrT-2O2GsQ*QwPHV^{e7Z4q_|@ZZ(^34*rMU!AMduu zjK<-vfanR(8h9Mg)DuK&$Us$4Dh1RAQ7E3ztk@EOiUFrMc~FpE=?5DxF5m${_@O7{ zRlgp%NVWhsPi$koIR8+mq2cFsB?CJUtZIO4mAs<+^cf@S(LOv;_Tx7@O_zC&lQVoW zE}dTu4h`>qe&RBfRM>9@R^VKzie4J_j{!ywzQW@0kJ^EtJFo@;r4dcL1ra80=hcrQEd;-wN*trQupHYWoo)E(vgXT zuFphp?NVrWHUdy@5;}kboy~efmX0muQ&;dgIUC}hdXyS9QhieJ)aqzM8g<#ta^$a^ zpH--}@d_Ld6^IvG-n#Kitm05{WvosptQPYV2fvbkMy%!>tU}@up-b(SD}?Ha%}9v< z64V3$Petukvj{rX|!$%E2UWbob zeq4@^x}A-Xe*yd-Z4K(}PvwU{dI8rT+--2z|IO{L`gfy3)*tha#eA$75ts5Sz^~Ww zt2T!8q6+?~qyo|3jheSOMK{N<`Xhv@SvYIQq1z0HD0J&(m%pbKzwZyUB5?7cKV@Le ztM?&h3=!XDAQub0bO3=L#6q!2M64Y_0IAO);wRZyXnO27q1)2?ejBT1G#hL}aOA2IB z_ib(sOkV?~FWD6gC)aOv>35-_@RDF?sBwuu9X~dBZ`~uHoWgV+OdTzBeR^kLiC)Oy zby42{j*_d9YUW6tYsg5ggdPU_$*4IuZVwIccOgO!{_eTux1sw2t@wjsM&nz6q%|$* z^Q|@i93u_|W9Me%TQEk{3D(a2Cy6Y@oOJPrOIoL|!r7KbN#*EUAhf(HG|c`Cvp-jn z3!q2*v3nFtpiA*gwe$&W&ebRFBW9mWRw6&{`M3H*b|-_J9XM@@i4od05!yBC&uJaw zSS$$b+Kh)>L+esI1Ff9rtNi0m0?v~m!6FxT3Z8_O6h%Mo6kL@iDT<)nDK%z_qA+(# zt(l@o&YeouZmpH(+rYI&ZT#3yZyVk18ys}nmkgZ4 zMkNBRcr^D?vWcRCdaQ!X`P}1V#lv!qtvH}}m5w;fYH);mHYc@eb-y9m0SNZ}(Z(Qb zHc<1L*N^iLi1P$LF3f;3v!qN?`E3VC>KE+o=d}M*+=6i5Esej^NnX3B+cou+Ba9$7 zeeT+f`w4di8d18hE%W*IOj~AWxUnGf_mI^Gp~-Fcmz%$eJ_okisAvXlU2ra1pdPA3 z=cG^Q!&G}JsiR--Zw!QPO5t~N0G;YYr{0OKybJ%o6D;gq`2QvHIS}cge@E{!9=>z< zkEM6QcLM0$Vc)ODqSB!zXfXJ221WgevQPK4pi;NLDih!crol#If zmJn2&qFKaMJ8_Cy5$AW}6rCcDYN?r5Q7GbSoVYp!YqcikXbkl771DfImg!8a+Qr@5F|deBuq3%?@wDvK@q zFk-6^G6%65!Am44!{|q_O@cCl0R%6VpbTCOf|p59#;q2?*GW)@tPa7;C0IN_KaD#` zuqGdV-S`;)po0&#H`bAhElXL$QBC|`A`#}W1Q>Iv86zW8%b3@hF~x(>KYRTfJoR_v zmZj7P;I5L^OA+v*zp129m?lwJZ?IpYq2YZIIexzyI%o>lkHV`Zjn5o?%#oUs)WgjT z5+V|M7*NAdpT}@9YIDRtg4j{yOGiS(V{lPNG%i#1XR&Zy(J^X) zq1~9Vv5qJZ7>e>QXD}lJjJ#ALFO^Bm$XZ6eP9kNl7i033A99VPyZ&ZR{a3&|Qwl*C zn<}`D0>%-h-4)|uFcBD;)D^0&=t~%l>1f9Lt@t*^RwI$;^Se?E;ffrW()^KauI3cY zr$IbBZRzW3J^>%sm*C_2a`-@GDLxQc1|JLD4RGV5%2U4=AM48FLq(V3L&X>2V_g}1 z{NbjCYTpm!$@w^NyrO8Ra_ z9+!X>&F}tuZA@UiXsYiRaJn8pw3X96ej;?|5-u~dewc6@Ri>rb0%aS~RsQ5LmhEkCqo+u-yc$<| z74Sdt!D4*GCf~>QzmM(D^S8A94_R4C@c)@R9Q@ez732Spt;`nw^Q_C;pDQgW3;!;9 zTJ5StBpHRuC1WcsO&A|a3&w|1eet36U3@4d7avNq#YgG-&tIA-arMtt|2J=UIw=aO z2(`Ac*eX^`vyxw?ii$5F(7XOqQUS(`>lbfvist$cLJmK6t^eFe%f?#&c?$!j>pv$> zb^S-mtGNCn#m;U0M+%&E{U^%xpTLr~xvl?vz~ne4{?7diduX`+gOG#2nbvr>R~Lc3t`LCxDkD>2-b3U^>X zVOI)^!Iq)emhFHZD1gqjdIOhGt%E`ylY+D|J`X(tZ|9W9vYG8ztAO+5DTLMR7I-n7=uyBMN{gY zmfo$>UWYU@8gvT*%T`-4#nSd~?<{E?2Fk5(egZFHTkSJYFWE!e7+Hds58P;%W$}Mk zRtig)Bp5$RZhm3NROCv0QZ^%&pHReQs|KF|6}uWr;TnkYH9I$hy@Bb`VlR@R&kPiG z!>s=Y|BusjDfBQ(%C9ih1Ad~=)zI9?)X)YoRf@`u7nf_zVWstAO&52p9$ulhP&;)i zcvk<5>*vBeeAS%Z^3&{Xv(sCcZiknmr#>`}zvX*;c#EsYW_>?@pVMFA(lGegyK0mq zALu3&v7#P+*GoRG>qG>#@fe^PF$O8Y*vjjo6_nkBZf_3 zmN0_MKs@oq%`m9L{Ok0>O)S7CnvSdQMu8{p9HYJI@Q&=g%Ul=|{O%a#(^rF`>oV9b zwdN)#jo=z{k5&cnmL?3qH^ zp9>A^^|=$V#0JD|SX9XPa}ugII`L)-y;KURD7HHNDLr>=MDI`Q{bRa6%>atjwtb0M z#r_#a{7P^24QwAxeAVp{)I^1n0$0^9vv=HVrnPX+?MGItR?}9Gimz5rlR1Cf{(uP>> zuzPH{t|e@8u}ZMVLgf|J;Q6Abk1ub} zJ)iO6ay@uxF6l`~R;TZzP~7*nJBJ0B=Fsv%lv`zt`BNw{cLIw-+~@hPVsPPyL5m3C z6blCdxLiDjoYi16Mh3p*8f9a+BTG*jUgjkCK)~x_4Bzm!IncA;HpR9`i6uofWz3(ZWx8Ll@|JRst3L}1~eP#KafZs4Tg4rerd=j*Eh4S1L2O; zqwrv@qBjuMWUt-7haNlTO{5pIT0o#qsR$sUYsaLF0xqh=wS^PLlXQAQr~^sk;f4d@ zE1ncD3N7?k8H@(5RCNzA8bK*n)CyF6k8-%ZVbb{3cFIFPom4?#j=I-&*N|6%!KFQ&Le0sPGCYUjTp~yaxEoBuE=sJ zG>8ReV+5nHpQ0y}X z3|t7Wu7OwL`cDp7^7`h`H}Lr1ew4@X^f_T{=`eN})8yfOJ^p869X}j+C3w>l1B=Z} z$YFsu^{|CdanO|>Kkm1u16Oj%9@Uq=WMGeG3`(0hH)PJ39fW6=4(8iGg1@kaw8T!U zYp$Mgwwv<_L$vJ#S~xiHT9}>#7r|4H4em*9Y7U3KF&?2x#(!Jkh9^B)1b;-PQWZk$ zqRGI5-sJh8SNOgjUz%YMg;sl#OM=mMxSnMqN5}Q{baY4R-j!x0tN=#KHP0U~3%BZ10)-C3lvN__sH}ZS-QHjp;_-8vaUsFJw^Fpw(bDR#l07Ci!uayT{l|-@8cP003K|#<3LJ zn^`hhE*fDfLfQ$XQv(69n;ZZ%4}ypDV+A5tq#%D)eP$`_Ig1gF1g%W*7HCP_jkVYd z8OkojP~dP%YM7}iZ-2nAuyu=Em`dyinU!KpZk|ORb#i?Xeua)2<7~W)7j+=T7kdmL z9E8ap)j;Ch*otUFiab%O9_wpME4J8%4Q9M9poZH!E*8rE*Yd|U;g4-6#UH`#O#b*9 z7kdmRZ>Yc?o1*<0rec<)`uwR`NC-M|+qhzn^UE7KM&9xHU&0?xa&-Pz@JIF~qjRR6 z5&kIN9!ni9NHac3=?Eex$HKEl;DW+2$(w8@GHx@?wj3Ns(s~;Ot!7GEj}l}NJANJh z)uT8q9^+B`(aj!RRYethYy(>}*<;&GoY>@FWL`bSr`Qqlun1QvEk36BrQ%*u=AWQ`_%XgQcB?|C1MAH1e*EPlLjUq_Ge=|Q$YGq#JK z#a5ug$mEenmm|7ujFPi3c_iEd6Kc<|n>5Jjgj({k!uUPhWJR*Z3iXAPZ!2i=7Yg@m zs8A`4Gt{fKkHn|0dGs2oUE{I7LF!}r-V9r!OH**bs>zH;gGS7jq;XEv9j$r~`ss(P z_^79w2hmNOELuKL+Y8NZdO>o1fhPwhk44hQufh592#ta&R!M6=(lXYE*A;5?9i!9! zNQZlwX%NRvbRQBT$s4!@5DE3x>~rz8r3PmJT&q*amOD;s^kr+` zfIm`zehSBv92WM_K6J`#;^>ywm`xnpa=yJ5G*~6;lza|>#@}G5M{NsmZ+&@a7tVc@ zMXD^wMkbF(JF;7wB3N9;D($`Jh>NwWXsmf!n+#`sd@!0Eo7{0dp7Nda_}J~k`w(I( z$oZz_Fz4zpC9Vk@2ef2YLG!1>9piUh7C*M)u9c5=0#D{l)xZw$&^snH&$1lSC#Uep zklg%_3F|uj@zhh;&H#2mgP?MlTCh}N9peKn(0o$^7eGZ~*jTLu(8o0IPH>puaB% zVZ-ODBfACSL(Bx1g|K6ks}_TJ?`9t!ouLf?fzh4VE;rV8CqDfE%{8@(1DPWBg>AI3 z-I)Qa-Qas{H;S3C+TDb9!(w?GbyV0NLIB%~T5YPVvcw1-Rs7Ac#3-#kB&{BIw|bvh z@{S3s)#EslWdI)(i?H^$Cy0|C{5tKn_@j{qYpcV02o|nKK-X;+VVVF~(&#p}i+v3Q z>|{YefP^(ATEG#et|0}S6HiU?IQBI*-v)|gJx^rya8@K7?X;|x+{Q^S&n4aItlF=@ zUJeFxcnlzwA$F&60t;*G4Qy(K^0yu5&d_~9wZk`!g?Ez`X^+ark+nUx0tZ5{SSB;b z%u^?ug3}Al9L?Sg+%a+*fb|_AA#O|Job!2{y64!eZiV8aBhsr;2yQ=I{EGfb<~ih) zB_=LA2~Ho*qJH#^o9lPFt0k}C(G%{)0GTEPKt+64RjsHJfa1QeVMdw@cu-|zuw<;} zvv{Sihm8sB-%;_%7&&&tz=~WmhNgOO!1=F{{iD?UBFR8RqJS^a=g@xe0W4ieucSj*G?U)2jb*wsI^9T?HLg8*do4mJxNSd+@!&%JQAzQ`^gHA!syv3FK}NB_0; zQG2}+*so;1w>g^k%8=!OMiwCWXdvRFtco%!bHWPhdl>hg`CD17LN;fLPZK#s)f47 zK)=+a{a|+Dx)f{4 zVA}yj#&Assnwvftl6hC04gfp7PSRN)a=Ge5&8`Z;Zw?0$rS>$i@+7(J=Aymm7t)ae zrt3)r7<`pfRx`J-anxgQnWgAN77TFc9>{WAuw7z<}`xAm-ZC+#uIAc0FtFL63RI&r5&lAqq-iS-8w-H`W@b!HQaNb5<^S-!|iboNkKkNZoxQ7}V2uLXesg zq_fIMPoIZ^(Yv~7hi7%-9!|tg#9Dqx7mB-=$2xv=r^CxTamz$*dMT=!z%2`P)6N!k zC(h%;&fGnzaz1nS`OH~VVQ%_d3gqS#u@LCj!>c0W4l z=iljohIez)(>1(Of;UFsKTb(wJbvgJcnF4nlsgPtYfC+*)y0F$LArRG=eTb`!VuRI zK4FDHXH0(qYtY#1l(`jZ$T3{cjlxcdR%pFk(}co{Q`_8GQ~y$js#7PbaqR@RE{Dc& zr^O(aRt9_21H0Iyp^9iKpxY4$rKpSIkyASx*tpWKc>3f z{21M?hhGHQhcBAMtxr#KmS~s21N&I4kd1Zhy~|PgFzTUQ2XKfzrcEB?#Td)AOAb(J z+4W?3aOoA`rCTvv0>G(#5aKW+1Z0kf^`3{^*M&{36UJ|Fw^sVU=u(vaRnR!1?cpXb z#-wh`t6-#sc1>!Rj7}WkeH^YSj<)SbT@yd$-A&Nx$2vp1epC(+K%Eo6a6$dBBGmsS z)cHM^@aQQ&M$l%E{IBYfJ`VU|VTY<80ggL*w?MZENn&bHzc_#PK6~H!l zA)}{^Coyb=Y+(%FS_}4LGt>Sa+#8YXEX0q!c-O18eVkTr6{a!U!L5%>4K2fWjHs41 zW2!)XlP4}@qa5rjrp2d1mfMYvQaGrg+8H3aP(#r7a9mcQh<$3V_OQhRA5~R)A|^;s8SRd zxjcq`;5Y(PBG7BJ1ofkWOduMezfgJL|(`phi@Mjc3z*c~BxjkZjRs?f-`3V@^`BaG&TU-er?GtFOqwHZ~Lg*47f*A)X3UzL8!kIlF zO@Gh|_-Vo|p)O*eV__u}Ei8eofTU7DFPcoGyE{Rb$f|NKkznAo4``pjq8Py!KEiD& za;4lciCIcpL0CLEeH+9GEEchD;PxiA1x*QNrICaQjSCZV$EjO_DZ|8QBiGI0K|V2V z?D{~L02ir8;mtbXq>pky72uU^QVb#n_l^E5LK~mNnq{&uXZ6RG!X(3}*Yx6YG zPpFl^p{J&BrQ_wV8IMrv>&f$5n$!Kp>q>n3nItZJ~4pnvC=n>s6&bgNc2mfhMoXV&f)+4P#mVgxQ~RWL|vwoD4zJG z67@6^r;Mke{l=h2#R_8#$Dm5Zs7v80gxw=dc!VlA%%Rj>7g)aWomlsSun-ZA!OX<` zXaVlNrHz0>4wC!d>~J5x|NQJ*^liVyosh^>b6tl$VEVQ%??WW7In!|g?luN+vfub< zYYJbH#Ldq|5_jYyi4RWoCHnXECEh#Um$)O_m-t{R3I?_!3a9#&Je;#Sez-cc{S8=? zh#&Wbc3f4>F8*CBpT`U*|H9YP{-2uhKhFJE;hq2VA1vQ!NX(gi5llxa}`}@gOV}Y#cVigvAr7 zoxEA~;Lp1z1U^x}@pmLQC& zJqH)v4y6q1-|4BwhIC?w)B@v7RdToy7U=e|EiJln!Q~g??RhRd;$ILqTKzPox9_Kz zY1l8#)Ui`KP!mnO?~QACj~yn_6Tv9B$I3|jSHRIRTu*&C1dLgTQb_7a4g@}7;zx7v zqZt-{-g%MW=P-Ue_*wRhU}yMizi;d;HZEwoptTAZ3GI2|yoLj8mN7{ms{+pP;&x9r zP695R1OO2=FrA{9%5OEsqcD)(X=J0u`&!=jf)y78~AgFw1&e6e*We$yu! z)5q&zfyYOuw&w=kjH~;O*T)au(*S3NaO;|c%#=t1N4mnTosmRWkf)<{68IZCLEziI zOS*Xb$etD{^LzR0{?>C{AL-{N(9fU%)HJQJ>1U0bevT{p0r7kjfQoqD3*xy$5sz_D z=*P&Dgm7+&R7BcYA+&R$MLXvT?R>lS5tNbqGhh2NxbNzT`$-2?co@c{mGjpdjcq+U z3ZR$HYt($ePiSbji(bC3FGKm^^H=8o>F*0z&$wR^j4VyKDdveztXJUrN{eKk|9~Bw zoo2YQ!OV+pUt&=WbaLDvn^4u2P|j;~W8we23Y5eC;U6jIASj2v_;6A~aX34F{z^SQ z5>&T-W3j(*_ys_Q4TY5UXOiy?6k`O`aekMLk*k*rM)u;zgArbC0(?C9f6g9!oM+S= zdL?LO3bb*Pb?Ce2!q*T?&B(A(!>Tu6K^F=ypyX4@1e;L>bRx# z?wP4!W#Z$U29X4)C)~O^lIRp_SVL-f%~e7TgGhgeMGa5qJ0J2=gUAyXJ-qbBvxy$6 zZaG|l{P;R#kZ1I5dU)_FXV3VP9)A9cGfEFlYXu{JdO-(3^77=N3L{^$(!ko?lwGybH9A1pbe^zi*Z5RCld{7Uq2FIe7L zL=Tz8X9qphzPTJdtoVFcdbrWCH~!;wHa&E@^`&3i`cg_n5{(V&ODIINVVF=cW< z3Q}WQDH>A{ijr6xd0bsh<-oBve)hzNMPceS8dpS{=YSw+V8FU){|O8X zX{Ns8nb3|S$V5?Y^>gRnut(_lrR$9)D^!oa_ZI2#6KmOHNjFWZCm|Bo!-iX({|LBR z*ienZfivu0IV$4wBSjkG_GjitK{R{r?eF&xEGTIghx=z`ha3I8w96juU%g&BSSKAU8t!GOE*b4F{`J{1+OIHbe%j<> zZ_+-@KWm@^YM?L0K+}j`Ig4TVkFA4(pp!8SS0{wRBfOU$W@03vi7MPlRe0GOgw@e7 z{3A;h{(k;VpEg+?>_HcQdui2K#or1WWca`KhLZVh^S3X4?&Y4~GxN8fHJ%oKTc~=x z>-ClS+dq8vY?<-oZ~xtJ2Kn3a%VhlTKBr{-E&lf4U%lMJUxvT^vi?;0+trs!2S3|f zGTat_`!-&}J3FKq_?w>{waojoguiuMR*t{D<>O`f+l3dORs8LmURmDB;-`}S_U%u- z+!K6e{uT(%nZGT8{?=&fZ*Omt9@k!4GU09gZS0e0%Zw*~TT*uh`P=0e3pT!nAJ6z( z{OvmryxhZIhQBq|&V|1%f&OL<_kH!!!McW$;kNkOv!6IyMjQOCrRMD8Z#SG?`CF_1wD?=!wIa};e{IQxxB1(VRg z$=}{seFpj4^($ojv-t6hzs28v{Lz6Ke+$3VGS~GtxBk}G zB@_PI*OW|no4?hg$7hGdLjJb-MfUd$t-sy6OvyL=c*fu2Z!g~eau0tQ{ucdROV!D* zzq$3d_g^T(eSe^2xGny6K00`Ij5hdN{|o5oS!SPp;lgtK?cW9+{^r_$zVAGnznumC z7+<58;`jN z;`iu}@mI@)2)Lr{^2hk*y(SUZ-k9Q#;aZP=|6-dS=5xR8MQgw9+cn&8`&Zd-)06+q z-8JmHgp(ieS?`fJ+i&phdR%S2Jr7@{?bv~WZ^ptIw%&Xn`hD|$`u1&l9u!gDx6j#n z`*&jgl$Xi7#LJ{;*U46LE(ZTTJH#H9oLm2Ub|vS(;DB}ci`Zlw5wAS& zobO5Eu@L&_sqJQL!*RZ=twx#ei)6mPh@T3o&Z4a^_XH@T>b&c>g zWAI5e2mJnXWqN<<1z)Akz3INQpmW=QQ?7GUC9|1(sPH2+JNFMuq;n%D*tw$FZ0T@s z1s^^;CNp%nhkor6S!MPZIFE0_JbpR%P=B+Lw| zGloz*E;N&y9}{>}8g9QT9oxL60D5pF(r=c~?ID!}O%qE0}J#COnwb6>ua96b|Bs8p*h0&`CWVRJRp2n(z&|Co3 z+9lN%x5oskC6L)El;pvi2_$W*w@a!oTT(qsGJB7bJl!`-Y9vsTl!QVM(3)K1XaY3> zOG6fxhCCRk&T2c+o*^7Tl(7yCX};q25JJZdQbRTxhrDPM5Fl}=%Ws$BFH?%2AQqm7 zym*#UfaRgC8oQL5GNsfI#2Sbp%`*^E3Wi~*tIom;P=c_=u*`1(sUwIrQbXR65)i@5 z0=q2>%CuzxORNb?M(l!AdA>T0k{X(&@l13|2@9`cU0l!B2S>RM=*van1k3kjko z1HLd5ifC3!X(C9-E+te3B&1Hk$ay7UI-j?gj-HgysDEEE)6xC=9Hx^c)A=ym%i?4@ z_tQn6A0H+6A>-K%O;|Vl⪚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μ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 z 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%0D)Z5EADn1Uwh8Crn?IUPz_(z*EI{v`(v$7w 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

*{r^KHg3apL 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

IxwQP0?s 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%0Aj-=L@P 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%0DMV`!@Uw+uNP}j{)=t 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%0A2;4_gNB%u>BypE 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

f6VkEf)V?HT&>gVZoP!}Q5zisJ@}kn# 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 z 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 MakeVectorE0(double E0) { if (!Sse2.IsSupported) diff --git a/Ryujinx.Tests/Cpu/CpuTestAlu.cs b/Ryujinx.Tests/Cpu/CpuTestAlu.cs index c89cb646e..3a47dbee6 100644 --- a/Ryujinx.Tests/Cpu/CpuTestAlu.cs +++ b/Ryujinx.Tests/Cpu/CpuTestAlu.cs @@ -45,6 +45,7 @@ namespace Ryujinx.Tests.Cpu { Assert.That((ulong)ThreadState.X31, Is.EqualTo(_X31)); } + CompareAgainstUnicorn(); } [Test, Description("CLS , ")] @@ -101,6 +102,7 @@ namespace Ryujinx.Tests.Cpu { Assert.That((ulong)ThreadState.X31, Is.EqualTo(_X31)); } + CompareAgainstUnicorn(); } [Test, Description("CLZ , ")] @@ -129,6 +131,7 @@ namespace Ryujinx.Tests.Cpu { Assert.That((uint)ThreadState.X31, Is.EqualTo(_W31)); } + CompareAgainstUnicorn(); } [Test, Description("RBIT , ")] @@ -157,6 +160,7 @@ namespace Ryujinx.Tests.Cpu { Assert.That((ulong)ThreadState.X31, Is.EqualTo(_X31)); } + CompareAgainstUnicorn(); } [Test, Description("RBIT , ")] @@ -185,6 +189,7 @@ namespace Ryujinx.Tests.Cpu { Assert.That((uint)ThreadState.X31, Is.EqualTo(_W31)); } + CompareAgainstUnicorn(); } [Test, Description("REV16 , ")] @@ -213,6 +218,7 @@ namespace Ryujinx.Tests.Cpu { Assert.That((ulong)ThreadState.X31, Is.EqualTo(_X31)); } + CompareAgainstUnicorn(); } [Test, Description("REV16 , ")] @@ -241,6 +247,7 @@ namespace Ryujinx.Tests.Cpu { Assert.That((uint)ThreadState.X31, Is.EqualTo(_W31)); } + CompareAgainstUnicorn(); } [Test, Description("REV32 , ")] @@ -269,6 +276,7 @@ namespace Ryujinx.Tests.Cpu { Assert.That((ulong)ThreadState.X31, Is.EqualTo(_X31)); } + CompareAgainstUnicorn(); } [Test, Description("REV , ")] @@ -297,6 +305,7 @@ namespace Ryujinx.Tests.Cpu { Assert.That((uint)ThreadState.X31, Is.EqualTo(_W31)); } + CompareAgainstUnicorn(); } [Test, Description("REV64 , ")] @@ -325,6 +334,7 @@ namespace Ryujinx.Tests.Cpu { Assert.That((ulong)ThreadState.X31, Is.EqualTo(_X31)); } + CompareAgainstUnicorn(); } #endif } diff --git a/Ryujinx.Tests/Cpu/CpuTestAluImm.cs b/Ryujinx.Tests/Cpu/CpuTestAluImm.cs index d436d65f8..b648a337e 100644 --- a/Ryujinx.Tests/Cpu/CpuTestAluImm.cs +++ b/Ryujinx.Tests/Cpu/CpuTestAluImm.cs @@ -61,6 +61,7 @@ namespace Ryujinx.Tests.Cpu Assert.That((ulong)ThreadState.X31, Is.EqualTo(SP)); } + CompareAgainstUnicorn(); } [Test, Description("ADD , , #{, }")] @@ -105,6 +106,7 @@ namespace Ryujinx.Tests.Cpu Assert.That((uint)ThreadState.X31, Is.EqualTo(WSP)); } + CompareAgainstUnicorn(); } [Test, Description("ADDS , , #{, }")] @@ -156,6 +158,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(ThreadState.Carry, Is.EqualTo(Shared.PSTATE.C)); Assert.That(ThreadState.Overflow, Is.EqualTo(Shared.PSTATE.V)); }); + CompareAgainstUnicorn(); } [Test, Description("ADDS , , #{, }")] @@ -207,6 +210,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(ThreadState.Carry, Is.EqualTo(Shared.PSTATE.C)); Assert.That(ThreadState.Overflow, Is.EqualTo(Shared.PSTATE.V)); }); + CompareAgainstUnicorn(); } [Test, Description("AND , , #")] @@ -240,6 +244,7 @@ namespace Ryujinx.Tests.Cpu Assert.That((ulong)ThreadState.X31, Is.EqualTo(SP)); } + CompareAgainstUnicorn(); } [Test, Description("AND , , #")] @@ -273,6 +278,7 @@ namespace Ryujinx.Tests.Cpu Assert.That((ulong)ThreadState.X31, Is.EqualTo(SP)); } + CompareAgainstUnicorn(); } [Test, Description("AND , , #")] @@ -306,6 +312,7 @@ namespace Ryujinx.Tests.Cpu Assert.That((uint)ThreadState.X31, Is.EqualTo(WSP)); } + CompareAgainstUnicorn(); } [Test, Description("ANDS , , #")] @@ -343,6 +350,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(ThreadState.Carry, Is.EqualTo(Shared.PSTATE.C)); Assert.That(ThreadState.Overflow, Is.EqualTo(Shared.PSTATE.V)); }); + CompareAgainstUnicorn(); } [Test, Description("ANDS , , #")] @@ -380,6 +388,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(ThreadState.Carry, Is.EqualTo(Shared.PSTATE.C)); Assert.That(ThreadState.Overflow, Is.EqualTo(Shared.PSTATE.V)); }); + CompareAgainstUnicorn(); } [Test, Description("ANDS , , #")] @@ -417,6 +426,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(ThreadState.Carry, Is.EqualTo(Shared.PSTATE.C)); Assert.That(ThreadState.Overflow, Is.EqualTo(Shared.PSTATE.V)); }); + CompareAgainstUnicorn(); } [Test, Description("EOR , , #")] @@ -450,6 +460,7 @@ namespace Ryujinx.Tests.Cpu Assert.That((ulong)ThreadState.X31, Is.EqualTo(SP)); } + CompareAgainstUnicorn(); } [Test, Description("EOR , , #")] @@ -483,6 +494,7 @@ namespace Ryujinx.Tests.Cpu Assert.That((ulong)ThreadState.X31, Is.EqualTo(SP)); } + CompareAgainstUnicorn(); } [Test, Description("EOR , , #")] @@ -516,6 +528,7 @@ namespace Ryujinx.Tests.Cpu Assert.That((uint)ThreadState.X31, Is.EqualTo(WSP)); } + CompareAgainstUnicorn(); } [Test, Description("ORR , , #")] @@ -549,6 +562,7 @@ namespace Ryujinx.Tests.Cpu Assert.That((ulong)ThreadState.X31, Is.EqualTo(SP)); } + CompareAgainstUnicorn(); } [Test, Description("ORR , , #")] @@ -582,6 +596,7 @@ namespace Ryujinx.Tests.Cpu Assert.That((ulong)ThreadState.X31, Is.EqualTo(SP)); } + CompareAgainstUnicorn(); } [Test, Description("ORR , , #")] @@ -615,6 +630,7 @@ namespace Ryujinx.Tests.Cpu Assert.That((uint)ThreadState.X31, Is.EqualTo(WSP)); } + CompareAgainstUnicorn(); } [Test, Description("SUB , , #{, }")] @@ -659,6 +675,7 @@ namespace Ryujinx.Tests.Cpu Assert.That((ulong)ThreadState.X31, Is.EqualTo(SP)); } + CompareAgainstUnicorn(); } [Test, Description("SUB , , #{, }")] @@ -703,6 +720,7 @@ namespace Ryujinx.Tests.Cpu Assert.That((uint)ThreadState.X31, Is.EqualTo(WSP)); } + CompareAgainstUnicorn(); } [Test, Description("SUBS , , #{, }")] @@ -754,6 +772,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(ThreadState.Carry, Is.EqualTo(Shared.PSTATE.C)); Assert.That(ThreadState.Overflow, Is.EqualTo(Shared.PSTATE.V)); }); + CompareAgainstUnicorn(); } [Test, Description("SUBS , , #{, }")] @@ -805,6 +824,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(ThreadState.Carry, Is.EqualTo(Shared.PSTATE.C)); Assert.That(ThreadState.Overflow, Is.EqualTo(Shared.PSTATE.V)); }); + CompareAgainstUnicorn(); } #endif } diff --git a/Ryujinx.Tests/Cpu/CpuTestAluRs.cs b/Ryujinx.Tests/Cpu/CpuTestAluRs.cs index 880794cf8..49c82b742 100644 --- a/Ryujinx.Tests/Cpu/CpuTestAluRs.cs +++ b/Ryujinx.Tests/Cpu/CpuTestAluRs.cs @@ -51,6 +51,7 @@ namespace Ryujinx.Tests.Cpu { Assert.That((ulong)ThreadState.X31, Is.EqualTo(_X31)); } + CompareAgainstUnicorn(); } [Test, Description("ADC , , ")] @@ -85,6 +86,7 @@ namespace Ryujinx.Tests.Cpu { Assert.That((uint)ThreadState.X31, Is.EqualTo(_W31)); } + CompareAgainstUnicorn(); } [Test, Description("ADCS , , ")] @@ -125,6 +127,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(ThreadState.Carry, Is.EqualTo(Shared.PSTATE.C)); Assert.That(ThreadState.Overflow, Is.EqualTo(Shared.PSTATE.V)); }); + CompareAgainstUnicorn(); } [Test, Description("ADCS , , ")] @@ -165,6 +168,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(ThreadState.Carry, Is.EqualTo(Shared.PSTATE.C)); Assert.That(ThreadState.Overflow, Is.EqualTo(Shared.PSTATE.V)); }); + CompareAgainstUnicorn(); } [Test, Description("ADD , , {, #}")] @@ -200,6 +204,7 @@ namespace Ryujinx.Tests.Cpu { Assert.That((ulong)ThreadState.X31, Is.EqualTo(_X31)); } + CompareAgainstUnicorn(); } [Test, Description("ADD , , {, #}")] @@ -234,6 +239,7 @@ namespace Ryujinx.Tests.Cpu else { Assert.That((uint)ThreadState.X31, Is.EqualTo(_W31)); + CompareAgainstUnicorn(); } } @@ -276,6 +282,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(ThreadState.Carry, Is.EqualTo(Shared.PSTATE.C)); Assert.That(ThreadState.Overflow, Is.EqualTo(Shared.PSTATE.V)); }); + CompareAgainstUnicorn(); } [Test, Description("ADDS , , {, #}")] @@ -317,6 +324,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(ThreadState.Carry, Is.EqualTo(Shared.PSTATE.C)); Assert.That(ThreadState.Overflow, Is.EqualTo(Shared.PSTATE.V)); }); + CompareAgainstUnicorn(); } [Test, Description("AND , , {, #}")] @@ -352,6 +360,7 @@ namespace Ryujinx.Tests.Cpu { Assert.That((ulong)ThreadState.X31, Is.EqualTo(_X31)); } + CompareAgainstUnicorn(); } [Test, Description("AND , , {, #}")] @@ -387,6 +396,7 @@ namespace Ryujinx.Tests.Cpu { Assert.That((uint)ThreadState.X31, Is.EqualTo(_W31)); } + CompareAgainstUnicorn(); } [Test, Description("ANDS , , {, #}")] @@ -428,6 +438,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(ThreadState.Carry, Is.EqualTo(Shared.PSTATE.C)); Assert.That(ThreadState.Overflow, Is.EqualTo(Shared.PSTATE.V)); }); + CompareAgainstUnicorn(); } [Test, Description("ANDS , , {, #}")] @@ -469,6 +480,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(ThreadState.Carry, Is.EqualTo(Shared.PSTATE.C)); Assert.That(ThreadState.Overflow, Is.EqualTo(Shared.PSTATE.V)); }); + CompareAgainstUnicorn(); } [Test, Description("ASRV , , ")] @@ -501,6 +513,7 @@ namespace Ryujinx.Tests.Cpu { Assert.That((ulong)ThreadState.X31, Is.EqualTo(_X31)); } + CompareAgainstUnicorn(); } [Test, Description("ASRV , , ")] @@ -533,6 +546,7 @@ namespace Ryujinx.Tests.Cpu { Assert.That((uint)ThreadState.X31, Is.EqualTo(_W31)); } + CompareAgainstUnicorn(); } [Test, Description("BIC , , {, #}")] @@ -568,6 +582,7 @@ namespace Ryujinx.Tests.Cpu { Assert.That((ulong)ThreadState.X31, Is.EqualTo(_X31)); } + CompareAgainstUnicorn(); } [Test, Description("BIC , , {, #}")] @@ -603,6 +618,7 @@ namespace Ryujinx.Tests.Cpu { Assert.That((uint)ThreadState.X31, Is.EqualTo(_W31)); } + CompareAgainstUnicorn(); } [Test, Description("BICS , , {, #}")] @@ -644,6 +660,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(ThreadState.Carry, Is.EqualTo(Shared.PSTATE.C)); Assert.That(ThreadState.Overflow, Is.EqualTo(Shared.PSTATE.V)); }); + CompareAgainstUnicorn(); } [Test, Description("BICS , , {, #}")] @@ -685,6 +702,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(ThreadState.Carry, Is.EqualTo(Shared.PSTATE.C)); Assert.That(ThreadState.Overflow, Is.EqualTo(Shared.PSTATE.V)); }); + CompareAgainstUnicorn(); } [Test, Description("CRC32X , , ")] @@ -718,6 +736,7 @@ namespace Ryujinx.Tests.Cpu { Assert.That((uint)ThreadState.X31, Is.EqualTo(_W31)); } + CompareAgainstUnicorn(); } [Test, Description("CRC32W , , ")] @@ -749,6 +768,7 @@ namespace Ryujinx.Tests.Cpu { Assert.That((uint)ThreadState.X31, Is.EqualTo(_W31)); } + CompareAgainstUnicorn(); } [Test, Description("CRC32H , , ")] @@ -780,6 +800,7 @@ namespace Ryujinx.Tests.Cpu { Assert.That((uint)ThreadState.X31, Is.EqualTo(_W31)); } + CompareAgainstUnicorn(); } [Test, Description("CRC32B , , ")] @@ -811,6 +832,7 @@ namespace Ryujinx.Tests.Cpu { Assert.That((uint)ThreadState.X31, Is.EqualTo(_W31)); } + CompareAgainstUnicorn(); } [Test, Description("CRC32CX , , ")] @@ -844,6 +866,7 @@ namespace Ryujinx.Tests.Cpu { Assert.That((uint)ThreadState.X31, Is.EqualTo(_W31)); } + CompareAgainstUnicorn(); } [Test, Description("CRC32CW , , ")] @@ -875,6 +898,7 @@ namespace Ryujinx.Tests.Cpu { Assert.That((uint)ThreadState.X31, Is.EqualTo(_W31)); } + CompareAgainstUnicorn(); } [Test, Description("CRC32CH , , ")] @@ -906,6 +930,7 @@ namespace Ryujinx.Tests.Cpu { Assert.That((uint)ThreadState.X31, Is.EqualTo(_W31)); } + CompareAgainstUnicorn(); } [Test, Description("CRC32CB , , ")] @@ -937,6 +962,7 @@ namespace Ryujinx.Tests.Cpu { Assert.That((uint)ThreadState.X31, Is.EqualTo(_W31)); } + CompareAgainstUnicorn(); } [Test, Description("EON , , {, #}")] @@ -972,6 +998,7 @@ namespace Ryujinx.Tests.Cpu { Assert.That((ulong)ThreadState.X31, Is.EqualTo(_X31)); } + CompareAgainstUnicorn(); } [Test, Description("EON , , {, #}")] @@ -1007,6 +1034,7 @@ namespace Ryujinx.Tests.Cpu { Assert.That((uint)ThreadState.X31, Is.EqualTo(_W31)); } + CompareAgainstUnicorn(); } [Test, Description("EOR , , {, #}")] @@ -1042,6 +1070,7 @@ namespace Ryujinx.Tests.Cpu { Assert.That((ulong)ThreadState.X31, Is.EqualTo(_X31)); } + CompareAgainstUnicorn(); } [Test, Description("EOR , , {, #}")] @@ -1077,6 +1106,7 @@ namespace Ryujinx.Tests.Cpu { Assert.That((uint)ThreadState.X31, Is.EqualTo(_W31)); } + CompareAgainstUnicorn(); } [Test, Description("EXTR , , , #")] @@ -1111,6 +1141,7 @@ namespace Ryujinx.Tests.Cpu { Assert.That((ulong)ThreadState.X31, Is.EqualTo(_X31)); } + CompareAgainstUnicorn(); } [Test, Description("EXTR , , , #")] @@ -1145,6 +1176,7 @@ namespace Ryujinx.Tests.Cpu { Assert.That((uint)ThreadState.X31, Is.EqualTo(_W31)); } + CompareAgainstUnicorn(); } [Test, Description("LSLV , , ")] @@ -1177,6 +1209,7 @@ namespace Ryujinx.Tests.Cpu { Assert.That((ulong)ThreadState.X31, Is.EqualTo(_X31)); } + CompareAgainstUnicorn(); } [Test, Description("LSLV , , ")] @@ -1209,6 +1242,7 @@ namespace Ryujinx.Tests.Cpu { Assert.That((uint)ThreadState.X31, Is.EqualTo(_W31)); } + CompareAgainstUnicorn(); } [Test, Description("LSRV , , ")] @@ -1241,6 +1275,7 @@ namespace Ryujinx.Tests.Cpu { Assert.That((ulong)ThreadState.X31, Is.EqualTo(_X31)); } + CompareAgainstUnicorn(); } [Test, Description("LSRV , , ")] @@ -1273,6 +1308,7 @@ namespace Ryujinx.Tests.Cpu { Assert.That((uint)ThreadState.X31, Is.EqualTo(_W31)); } + CompareAgainstUnicorn(); } [Test, Description("ORN , , {, #}")] @@ -1308,6 +1344,7 @@ namespace Ryujinx.Tests.Cpu { Assert.That((ulong)ThreadState.X31, Is.EqualTo(_X31)); } + CompareAgainstUnicorn(); } [Test, Description("ORN , , {, #}")] @@ -1343,6 +1380,7 @@ namespace Ryujinx.Tests.Cpu { Assert.That((uint)ThreadState.X31, Is.EqualTo(_W31)); } + CompareAgainstUnicorn(); } [Test, Description("ORR , , {, #}")] @@ -1378,6 +1416,7 @@ namespace Ryujinx.Tests.Cpu { Assert.That((ulong)ThreadState.X31, Is.EqualTo(_X31)); } + CompareAgainstUnicorn(); } [Test, Description("ORR , , {, #}")] @@ -1413,6 +1452,7 @@ namespace Ryujinx.Tests.Cpu { Assert.That((uint)ThreadState.X31, Is.EqualTo(_W31)); } + CompareAgainstUnicorn(); } [Test, Description("RORV , , ")] @@ -1445,6 +1485,7 @@ namespace Ryujinx.Tests.Cpu { Assert.That((ulong)ThreadState.X31, Is.EqualTo(_X31)); } + CompareAgainstUnicorn(); } [Test, Description("RORV , , ")] @@ -1477,6 +1518,7 @@ namespace Ryujinx.Tests.Cpu { Assert.That((uint)ThreadState.X31, Is.EqualTo(_W31)); } + CompareAgainstUnicorn(); } [Test, Description("SBC , , ")] @@ -1511,6 +1553,7 @@ namespace Ryujinx.Tests.Cpu { Assert.That((ulong)ThreadState.X31, Is.EqualTo(_X31)); } + CompareAgainstUnicorn(); } [Test, Description("SBC , , ")] @@ -1545,6 +1588,7 @@ namespace Ryujinx.Tests.Cpu { Assert.That((uint)ThreadState.X31, Is.EqualTo(_W31)); } + CompareAgainstUnicorn(); } [Test, Description("SBCS , , ")] @@ -1585,6 +1629,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(ThreadState.Carry, Is.EqualTo(Shared.PSTATE.C)); Assert.That(ThreadState.Overflow, Is.EqualTo(Shared.PSTATE.V)); }); + CompareAgainstUnicorn(); } [Test, Description("SBCS , , ")] @@ -1625,6 +1670,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(ThreadState.Carry, Is.EqualTo(Shared.PSTATE.C)); Assert.That(ThreadState.Overflow, Is.EqualTo(Shared.PSTATE.V)); }); + CompareAgainstUnicorn(); } [Test, Description("SDIV , , ")] @@ -1657,6 +1703,7 @@ namespace Ryujinx.Tests.Cpu { Assert.That((ulong)ThreadState.X31, Is.EqualTo(_X31)); } + CompareAgainstUnicorn(); } [Test, Description("SDIV , , ")] @@ -1689,6 +1736,7 @@ namespace Ryujinx.Tests.Cpu { Assert.That((uint)ThreadState.X31, Is.EqualTo(_W31)); } + CompareAgainstUnicorn(); } [Test, Description("SUB , , {, #}")] @@ -1724,6 +1772,7 @@ namespace Ryujinx.Tests.Cpu { Assert.That((ulong)ThreadState.X31, Is.EqualTo(_X31)); } + CompareAgainstUnicorn(); } [Test, Description("SUB , , {, #}")] @@ -1759,6 +1808,7 @@ namespace Ryujinx.Tests.Cpu { Assert.That((uint)ThreadState.X31, Is.EqualTo(_W31)); } + CompareAgainstUnicorn(); } [Test, Description("SUBS , , {, #}")] @@ -1800,6 +1850,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(ThreadState.Carry, Is.EqualTo(Shared.PSTATE.C)); Assert.That(ThreadState.Overflow, Is.EqualTo(Shared.PSTATE.V)); }); + CompareAgainstUnicorn(); } [Test, Description("SUBS , , {, #}")] @@ -1841,6 +1892,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(ThreadState.Carry, Is.EqualTo(Shared.PSTATE.C)); Assert.That(ThreadState.Overflow, Is.EqualTo(Shared.PSTATE.V)); }); + CompareAgainstUnicorn(); } [Test, Description("UDIV , , ")] @@ -1873,6 +1925,7 @@ namespace Ryujinx.Tests.Cpu { Assert.That((ulong)ThreadState.X31, Is.EqualTo(_X31)); } + CompareAgainstUnicorn(); } [Test, Description("UDIV , , ")] @@ -1905,6 +1958,7 @@ namespace Ryujinx.Tests.Cpu { Assert.That((uint)ThreadState.X31, Is.EqualTo(_W31)); } + CompareAgainstUnicorn(); } #endif } diff --git a/Ryujinx.Tests/Cpu/CpuTestAluRx.cs b/Ryujinx.Tests/Cpu/CpuTestAluRx.cs index d6cf8dc40..41fd580a6 100644 --- a/Ryujinx.Tests/Cpu/CpuTestAluRx.cs +++ b/Ryujinx.Tests/Cpu/CpuTestAluRx.cs @@ -66,6 +66,7 @@ namespace Ryujinx.Tests.Cpu Assert.That((ulong)ThreadState.X31, Is.EqualTo(SP)); } + CompareAgainstUnicorn(); } [Test, Description("ADD , , {, {#}}")] @@ -116,6 +117,7 @@ namespace Ryujinx.Tests.Cpu Assert.That((ulong)ThreadState.X31, Is.EqualTo(SP)); } + CompareAgainstUnicorn(); } [Test, Description("ADD , , {, {#}}")] @@ -166,6 +168,7 @@ namespace Ryujinx.Tests.Cpu Assert.That((ulong)ThreadState.X31, Is.EqualTo(SP)); } + CompareAgainstUnicorn(); } [Test, Description("ADD , , {, {#}}")] @@ -216,6 +219,7 @@ namespace Ryujinx.Tests.Cpu Assert.That((ulong)ThreadState.X31, Is.EqualTo(SP)); } + CompareAgainstUnicorn(); } [Test, Description("ADD , , {, {#}}")] @@ -266,6 +270,7 @@ namespace Ryujinx.Tests.Cpu Assert.That((uint)ThreadState.X31, Is.EqualTo(WSP)); } + CompareAgainstUnicorn(); } [Test, Description("ADD , , {, {#}}")] @@ -316,6 +321,7 @@ namespace Ryujinx.Tests.Cpu Assert.That((uint)ThreadState.X31, Is.EqualTo(WSP)); } + CompareAgainstUnicorn(); } [Test, Description("ADD , , {, {#}}")] @@ -366,6 +372,7 @@ namespace Ryujinx.Tests.Cpu Assert.That((uint)ThreadState.X31, Is.EqualTo(WSP)); } + CompareAgainstUnicorn(); } [Test, Description("ADDS , , {, {#}}")] @@ -410,6 +417,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(ThreadState.Carry, Is.EqualTo(Shared.PSTATE.C)); Assert.That(ThreadState.Overflow, Is.EqualTo(Shared.PSTATE.V)); }); + CompareAgainstUnicorn(); } [Test, Description("ADDS , , {, {#}}")] @@ -455,6 +463,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(ThreadState.Carry, Is.EqualTo(Shared.PSTATE.C)); Assert.That(ThreadState.Overflow, Is.EqualTo(Shared.PSTATE.V)); }); + CompareAgainstUnicorn(); } [Test, Description("ADDS , , {, {#}}")] @@ -500,6 +509,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(ThreadState.Carry, Is.EqualTo(Shared.PSTATE.C)); Assert.That(ThreadState.Overflow, Is.EqualTo(Shared.PSTATE.V)); }); + CompareAgainstUnicorn(); } [Test, Description("ADDS , , {, {#}}")] @@ -545,6 +555,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(ThreadState.Carry, Is.EqualTo(Shared.PSTATE.C)); Assert.That(ThreadState.Overflow, Is.EqualTo(Shared.PSTATE.V)); }); + CompareAgainstUnicorn(); } [Test, Description("ADDS , , {, {#}}")] @@ -590,6 +601,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(ThreadState.Carry, Is.EqualTo(Shared.PSTATE.C)); Assert.That(ThreadState.Overflow, Is.EqualTo(Shared.PSTATE.V)); }); + CompareAgainstUnicorn(); } [Test, Description("ADDS , , {, {#}}")] @@ -635,6 +647,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(ThreadState.Carry, Is.EqualTo(Shared.PSTATE.C)); Assert.That(ThreadState.Overflow, Is.EqualTo(Shared.PSTATE.V)); }); + CompareAgainstUnicorn(); } [Test, Description("ADDS , , {, {#}}")] @@ -680,6 +693,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(ThreadState.Carry, Is.EqualTo(Shared.PSTATE.C)); Assert.That(ThreadState.Overflow, Is.EqualTo(Shared.PSTATE.V)); }); + CompareAgainstUnicorn(); } [Test, Description("SUB , , {, {#}}")] @@ -729,6 +743,7 @@ namespace Ryujinx.Tests.Cpu Assert.That((ulong)ThreadState.X31, Is.EqualTo(SP)); } + CompareAgainstUnicorn(); } [Test, Description("SUB , , {, {#}}")] @@ -779,6 +794,7 @@ namespace Ryujinx.Tests.Cpu Assert.That((ulong)ThreadState.X31, Is.EqualTo(SP)); } + CompareAgainstUnicorn(); } [Test, Description("SUB , , {, {#}}")] @@ -829,6 +845,7 @@ namespace Ryujinx.Tests.Cpu Assert.That((ulong)ThreadState.X31, Is.EqualTo(SP)); } + CompareAgainstUnicorn(); } [Test, Description("SUB , , {, {#}}")] @@ -879,6 +896,7 @@ namespace Ryujinx.Tests.Cpu Assert.That((ulong)ThreadState.X31, Is.EqualTo(SP)); } + CompareAgainstUnicorn(); } [Test, Description("SUB , , {, {#}}")] @@ -929,6 +947,7 @@ namespace Ryujinx.Tests.Cpu Assert.That((uint)ThreadState.X31, Is.EqualTo(WSP)); } + CompareAgainstUnicorn(); } [Test, Description("SUB , , {, {#}}")] @@ -979,6 +998,7 @@ namespace Ryujinx.Tests.Cpu Assert.That((uint)ThreadState.X31, Is.EqualTo(WSP)); } + CompareAgainstUnicorn(); } [Test, Description("SUB , , {, {#}}")] @@ -1029,6 +1049,7 @@ namespace Ryujinx.Tests.Cpu Assert.That((uint)ThreadState.X31, Is.EqualTo(WSP)); } + CompareAgainstUnicorn(); } [Test, Description("SUBS , , {, {#}}")] @@ -1073,6 +1094,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(ThreadState.Carry, Is.EqualTo(Shared.PSTATE.C)); Assert.That(ThreadState.Overflow, Is.EqualTo(Shared.PSTATE.V)); }); + CompareAgainstUnicorn(); } [Test, Description("SUBS , , {, {#}}")] @@ -1118,6 +1140,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(ThreadState.Carry, Is.EqualTo(Shared.PSTATE.C)); Assert.That(ThreadState.Overflow, Is.EqualTo(Shared.PSTATE.V)); }); + CompareAgainstUnicorn(); } [Test, Description("SUBS , , {, {#}}")] @@ -1163,6 +1186,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(ThreadState.Carry, Is.EqualTo(Shared.PSTATE.C)); Assert.That(ThreadState.Overflow, Is.EqualTo(Shared.PSTATE.V)); }); + CompareAgainstUnicorn(); } [Test, Description("SUBS , , {, {#}}")] @@ -1208,6 +1232,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(ThreadState.Carry, Is.EqualTo(Shared.PSTATE.C)); Assert.That(ThreadState.Overflow, Is.EqualTo(Shared.PSTATE.V)); }); + CompareAgainstUnicorn(); } [Test, Description("SUBS , , {, {#}}")] @@ -1253,6 +1278,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(ThreadState.Carry, Is.EqualTo(Shared.PSTATE.C)); Assert.That(ThreadState.Overflow, Is.EqualTo(Shared.PSTATE.V)); }); + CompareAgainstUnicorn(); } [Test, Description("SUBS , , {, {#}}")] @@ -1298,6 +1324,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(ThreadState.Carry, Is.EqualTo(Shared.PSTATE.C)); Assert.That(ThreadState.Overflow, Is.EqualTo(Shared.PSTATE.V)); }); + CompareAgainstUnicorn(); } [Test, Description("SUBS , , {, {#}}")] @@ -1343,6 +1370,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(ThreadState.Carry, Is.EqualTo(Shared.PSTATE.C)); Assert.That(ThreadState.Overflow, Is.EqualTo(Shared.PSTATE.V)); }); + CompareAgainstUnicorn(); } #endif } diff --git a/Ryujinx.Tests/Cpu/CpuTestBfm.cs b/Ryujinx.Tests/Cpu/CpuTestBfm.cs index 0a2f9ad3a..c5be57885 100644 --- a/Ryujinx.Tests/Cpu/CpuTestBfm.cs +++ b/Ryujinx.Tests/Cpu/CpuTestBfm.cs @@ -50,6 +50,7 @@ namespace Ryujinx.Tests.Cpu { Assert.That((ulong)ThreadState.X31, Is.EqualTo(_X31)); } + CompareAgainstUnicorn(); } [Test, Description("BFM , , #, #")] @@ -83,6 +84,7 @@ namespace Ryujinx.Tests.Cpu { Assert.That((uint)ThreadState.X31, Is.EqualTo(_W31)); } + CompareAgainstUnicorn(); } [Test, Description("SBFM , , #, #")] @@ -114,6 +116,7 @@ namespace Ryujinx.Tests.Cpu { Assert.That((ulong)ThreadState.X31, Is.EqualTo(_X31)); } + CompareAgainstUnicorn(); } [Test, Description("SBFM , , #, #")] @@ -145,6 +148,7 @@ namespace Ryujinx.Tests.Cpu { Assert.That((uint)ThreadState.X31, Is.EqualTo(_W31)); } + CompareAgainstUnicorn(); } [Test, Description("UBFM , , #, #")] @@ -176,6 +180,7 @@ namespace Ryujinx.Tests.Cpu { Assert.That((ulong)ThreadState.X31, Is.EqualTo(_X31)); } + CompareAgainstUnicorn(); } [Test, Description("UBFM , , #, #")] @@ -207,6 +212,7 @@ namespace Ryujinx.Tests.Cpu { Assert.That((uint)ThreadState.X31, Is.EqualTo(_W31)); } + CompareAgainstUnicorn(); } #endif } diff --git a/Ryujinx.Tests/Cpu/CpuTestCcmpImm.cs b/Ryujinx.Tests/Cpu/CpuTestCcmpImm.cs index 7ba44ed9c..245b04c0a 100644 --- a/Ryujinx.Tests/Cpu/CpuTestCcmpImm.cs +++ b/Ryujinx.Tests/Cpu/CpuTestCcmpImm.cs @@ -49,6 +49,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(ThreadState.Carry, Is.EqualTo(Shared.PSTATE.C)); Assert.That(ThreadState.Overflow, Is.EqualTo(Shared.PSTATE.V)); }); + CompareAgainstUnicorn(); } [Test, Description("CCMN , #, #, ")] @@ -81,6 +82,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(ThreadState.Carry, Is.EqualTo(Shared.PSTATE.C)); Assert.That(ThreadState.Overflow, Is.EqualTo(Shared.PSTATE.V)); }); + CompareAgainstUnicorn(); } [Test, Description("CCMP , #, #, ")] @@ -113,6 +115,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(ThreadState.Carry, Is.EqualTo(Shared.PSTATE.C)); Assert.That(ThreadState.Overflow, Is.EqualTo(Shared.PSTATE.V)); }); + CompareAgainstUnicorn(); } [Test, Description("CCMP , #, #, ")] @@ -145,6 +148,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(ThreadState.Carry, Is.EqualTo(Shared.PSTATE.C)); Assert.That(ThreadState.Overflow, Is.EqualTo(Shared.PSTATE.V)); }); + CompareAgainstUnicorn(); } #endif } diff --git a/Ryujinx.Tests/Cpu/CpuTestCcmpReg.cs b/Ryujinx.Tests/Cpu/CpuTestCcmpReg.cs index 82556464c..8c4e503ee 100644 --- a/Ryujinx.Tests/Cpu/CpuTestCcmpReg.cs +++ b/Ryujinx.Tests/Cpu/CpuTestCcmpReg.cs @@ -52,6 +52,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(ThreadState.Carry, Is.EqualTo(Shared.PSTATE.C)); Assert.That(ThreadState.Overflow, Is.EqualTo(Shared.PSTATE.V)); }); + CompareAgainstUnicorn(); } [Test, Description("CCMN , , #, ")] @@ -87,6 +88,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(ThreadState.Carry, Is.EqualTo(Shared.PSTATE.C)); Assert.That(ThreadState.Overflow, Is.EqualTo(Shared.PSTATE.V)); }); + CompareAgainstUnicorn(); } [Test, Description("CCMP , , #, ")] @@ -122,6 +124,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(ThreadState.Carry, Is.EqualTo(Shared.PSTATE.C)); Assert.That(ThreadState.Overflow, Is.EqualTo(Shared.PSTATE.V)); }); + CompareAgainstUnicorn(); } [Test, Description("CCMP , , #, ")] @@ -157,6 +160,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(ThreadState.Carry, Is.EqualTo(Shared.PSTATE.C)); Assert.That(ThreadState.Overflow, Is.EqualTo(Shared.PSTATE.V)); }); + CompareAgainstUnicorn(); } #endif } diff --git a/Ryujinx.Tests/Cpu/CpuTestCsel.cs b/Ryujinx.Tests/Cpu/CpuTestCsel.cs index fef56fee2..d532a12c6 100644 --- a/Ryujinx.Tests/Cpu/CpuTestCsel.cs +++ b/Ryujinx.Tests/Cpu/CpuTestCsel.cs @@ -54,6 +54,7 @@ namespace Ryujinx.Tests.Cpu { Assert.That((ulong)ThreadState.X31, Is.EqualTo(_X31)); } + CompareAgainstUnicorn(); } [Test, Description("CSEL , , , ")] @@ -91,6 +92,7 @@ namespace Ryujinx.Tests.Cpu { Assert.That((uint)ThreadState.X31, Is.EqualTo(_W31)); } + CompareAgainstUnicorn(); } [Test, Description("CSINC , , , ")] @@ -128,6 +130,7 @@ namespace Ryujinx.Tests.Cpu { Assert.That((ulong)ThreadState.X31, Is.EqualTo(_X31)); } + CompareAgainstUnicorn(); } [Test, Description("CSINC , , , ")] @@ -165,6 +168,7 @@ namespace Ryujinx.Tests.Cpu { Assert.That((uint)ThreadState.X31, Is.EqualTo(_W31)); } + CompareAgainstUnicorn(); } [Test, Description("CSINV , , , ")] @@ -202,6 +206,7 @@ namespace Ryujinx.Tests.Cpu { Assert.That((ulong)ThreadState.X31, Is.EqualTo(_X31)); } + CompareAgainstUnicorn(); } [Test, Description("CSINV , , , ")] @@ -239,6 +244,7 @@ namespace Ryujinx.Tests.Cpu { Assert.That((uint)ThreadState.X31, Is.EqualTo(_W31)); } + CompareAgainstUnicorn(); } [Test, Description("CSNEG , , , ")] @@ -276,6 +282,7 @@ namespace Ryujinx.Tests.Cpu { Assert.That((ulong)ThreadState.X31, Is.EqualTo(_X31)); } + CompareAgainstUnicorn(); } [Test, Description("CSNEG , , , ")] @@ -313,6 +320,7 @@ namespace Ryujinx.Tests.Cpu { Assert.That((uint)ThreadState.X31, Is.EqualTo(_W31)); } + CompareAgainstUnicorn(); } #endif } diff --git a/Ryujinx.Tests/Cpu/CpuTestMov.cs b/Ryujinx.Tests/Cpu/CpuTestMov.cs index db544f865..a8bf33ef4 100644 --- a/Ryujinx.Tests/Cpu/CpuTestMov.cs +++ b/Ryujinx.Tests/Cpu/CpuTestMov.cs @@ -46,6 +46,7 @@ namespace Ryujinx.Tests.Cpu { Assert.That((ulong)ThreadState.X31, Is.EqualTo(_X31)); } + CompareAgainstUnicorn(); } [Test, Description("MOVK , #{, LSL #}")] @@ -75,6 +76,7 @@ namespace Ryujinx.Tests.Cpu { Assert.That((uint)ThreadState.X31, Is.EqualTo(_W31)); } + CompareAgainstUnicorn(); } [Test, Description("MOVN , #{, LSL #}")] @@ -102,6 +104,7 @@ namespace Ryujinx.Tests.Cpu { Assert.That((ulong)ThreadState.X31, Is.EqualTo(_X31)); } + CompareAgainstUnicorn(); } [Test, Description("MOVN , #{, LSL #}")] @@ -129,6 +132,7 @@ namespace Ryujinx.Tests.Cpu { Assert.That((uint)ThreadState.X31, Is.EqualTo(_W31)); } + CompareAgainstUnicorn(); } [Test, Description("MOVZ , #{, LSL #}")] @@ -156,6 +160,7 @@ namespace Ryujinx.Tests.Cpu { Assert.That((ulong)ThreadState.X31, Is.EqualTo(_X31)); } + CompareAgainstUnicorn(); } [Test, Description("MOVZ , #{, LSL #}")] @@ -183,6 +188,7 @@ namespace Ryujinx.Tests.Cpu { Assert.That((uint)ThreadState.X31, Is.EqualTo(_W31)); } + CompareAgainstUnicorn(); } #endif } diff --git a/Ryujinx.Tests/Cpu/CpuTestMul.cs b/Ryujinx.Tests/Cpu/CpuTestMul.cs index 19b8ecd0a..2e8aa76fa 100644 --- a/Ryujinx.Tests/Cpu/CpuTestMul.cs +++ b/Ryujinx.Tests/Cpu/CpuTestMul.cs @@ -53,6 +53,7 @@ namespace Ryujinx.Tests.Cpu { Assert.That((ulong)ThreadState.X31, Is.EqualTo(_X31)); } + CompareAgainstUnicorn(); } [Test, Description("MADD , , , ")] @@ -89,6 +90,7 @@ namespace Ryujinx.Tests.Cpu { Assert.That((uint)ThreadState.X31, Is.EqualTo(_W31)); } + CompareAgainstUnicorn(); } [Test, Description("MSUB , , , ")] @@ -125,6 +127,7 @@ namespace Ryujinx.Tests.Cpu { Assert.That((ulong)ThreadState.X31, Is.EqualTo(_X31)); } + CompareAgainstUnicorn(); } [Test, Description("MSUB , , , ")] @@ -161,6 +164,7 @@ namespace Ryujinx.Tests.Cpu { Assert.That((uint)ThreadState.X31, Is.EqualTo(_W31)); } + CompareAgainstUnicorn(); } [Test, Description("SMADDL , , , ")] @@ -197,6 +201,7 @@ namespace Ryujinx.Tests.Cpu { Assert.That((ulong)ThreadState.X31, Is.EqualTo(_X31)); } + CompareAgainstUnicorn(); } [Test, Description("UMADDL , , , ")] @@ -233,6 +238,7 @@ namespace Ryujinx.Tests.Cpu { Assert.That((ulong)ThreadState.X31, Is.EqualTo(_X31)); } + CompareAgainstUnicorn(); } [Test, Description("SMSUBL , , , ")] @@ -269,6 +275,7 @@ namespace Ryujinx.Tests.Cpu { Assert.That((ulong)ThreadState.X31, Is.EqualTo(_X31)); } + CompareAgainstUnicorn(); } [Test, Description("UMSUBL , , , ")] @@ -305,6 +312,7 @@ namespace Ryujinx.Tests.Cpu { Assert.That((ulong)ThreadState.X31, Is.EqualTo(_X31)); } + CompareAgainstUnicorn(); } [Test, Description("SMULH , , ")] @@ -337,6 +345,7 @@ namespace Ryujinx.Tests.Cpu { Assert.That((ulong)ThreadState.X31, Is.EqualTo(_X31)); } + CompareAgainstUnicorn(); } [Test, Description("UMULH , , ")] @@ -369,6 +378,7 @@ namespace Ryujinx.Tests.Cpu { Assert.That((ulong)ThreadState.X31, Is.EqualTo(_X31)); } + CompareAgainstUnicorn(); } #endif } diff --git a/Ryujinx.Tests/Cpu/CpuTestSimd.cs b/Ryujinx.Tests/Cpu/CpuTestSimd.cs index d1832ce89..dbf6b3c21 100644 --- a/Ryujinx.Tests/Cpu/CpuTestSimd.cs +++ b/Ryujinx.Tests/Cpu/CpuTestSimd.cs @@ -112,6 +112,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Description("ABS ., .")] @@ -139,6 +140,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Description("ABS ., .")] @@ -166,6 +168,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Description("ADDP , .")] @@ -191,6 +194,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Description("ADDV , .")] @@ -218,6 +222,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Description("ADDV , .")] @@ -245,6 +250,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Description("CLS ., .")] @@ -272,6 +278,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Description("CLS ., .")] @@ -299,6 +306,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Description("CLZ ., .")] @@ -326,6 +334,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Description("CLZ ., .")] @@ -353,6 +362,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Description("CMEQ , , #0")] @@ -378,6 +388,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Description("CMEQ ., ., #0")] @@ -405,6 +416,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Description("CMEQ ., ., #0")] @@ -432,6 +444,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Description("CMGE , , #0")] @@ -457,6 +470,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Description("CMGE ., ., #0")] @@ -484,6 +498,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Description("CMGE ., ., #0")] @@ -511,6 +526,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Description("CMGT , , #0")] @@ -536,6 +552,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Description("CMGT ., ., #0")] @@ -563,6 +580,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Description("CMGT ., ., #0")] @@ -590,6 +608,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Description("CMLE , , #0")] @@ -615,6 +634,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Description("CMLE ., ., #0")] @@ -642,6 +662,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Description("CMLE ., ., #0")] @@ -669,6 +690,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Description("CMLT , , #0")] @@ -694,6 +716,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Description("CMLT ., ., #0")] @@ -721,6 +744,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Description("CMLT ., ., #0")] @@ -748,6 +772,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Description("CNT ., .")] @@ -773,6 +798,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Description("CNT ., .")] @@ -798,6 +824,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Description("NEG , ")] @@ -823,6 +850,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Description("NEG ., .")] @@ -850,6 +878,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Description("NEG ., .")] @@ -877,6 +906,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Description("NOT ., .")] @@ -902,6 +932,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Description("NOT ., .")] @@ -927,6 +958,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Description("RBIT ., .")] @@ -952,6 +984,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Description("RBIT ., .")] @@ -977,6 +1010,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Description("REV16 ., .")] @@ -1002,6 +1036,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Description("REV16 ., .")] @@ -1027,6 +1062,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Description("REV32 ., .")] @@ -1054,6 +1090,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Description("REV32 ., .")] @@ -1081,6 +1118,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Description("REV64 ., .")] @@ -1108,6 +1146,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Description("REV64 ., .")] @@ -1135,6 +1174,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Description("SADALP ., .")] @@ -1162,6 +1202,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Description("SADALP ., .")] @@ -1189,6 +1230,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Description("SADDLP ., .")] @@ -1216,6 +1258,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Description("SADDLP ., .")] @@ -1243,6 +1286,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Pairwise, Description("SHA256SU0 .4S, .4S")] @@ -1273,6 +1317,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V1), Is.EqualTo(AArch64.Vpart(64, 1, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V1), Is.EqualTo(AArch64.Vpart(64, 1, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Description("SQABS , ")] @@ -1304,6 +1349,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); Assert.That(ThreadState.Fpsr, Is.EqualTo((int)Shared.FPSR.ToUInt32())); + CompareAgainstUnicorn(); } [Test, Description("SQABS ., .")] @@ -1335,6 +1381,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); Assert.That(ThreadState.Fpsr, Is.EqualTo((int)Shared.FPSR.ToUInt32())); + CompareAgainstUnicorn(); } [Test, Description("SQABS ., .")] @@ -1366,6 +1413,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); Assert.That(ThreadState.Fpsr, Is.EqualTo((int)Shared.FPSR.ToUInt32())); + CompareAgainstUnicorn(); } [Test, Description("SQNEG , ")] @@ -1397,6 +1445,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); Assert.That(ThreadState.Fpsr, Is.EqualTo((int)Shared.FPSR.ToUInt32())); + CompareAgainstUnicorn(); } [Test, Description("SQNEG ., .")] @@ -1428,6 +1477,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); Assert.That(ThreadState.Fpsr, Is.EqualTo((int)Shared.FPSR.ToUInt32())); + CompareAgainstUnicorn(); } [Test, Description("SQNEG ., .")] @@ -1459,6 +1509,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); Assert.That(ThreadState.Fpsr, Is.EqualTo((int)Shared.FPSR.ToUInt32())); + CompareAgainstUnicorn(); } [Test, Description("SQXTN , ")] @@ -1490,6 +1541,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); Assert.That(ThreadState.Fpsr, Is.EqualTo((int)Shared.FPSR.ToUInt32())); + CompareAgainstUnicorn(); } [Test, Description("SQXTN{2} ., .")] @@ -1521,6 +1573,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); Assert.That(ThreadState.Fpsr, Is.EqualTo((int)Shared.FPSR.ToUInt32())); + CompareAgainstUnicorn(); } [Test, Description("SQXTN{2} ., .")] @@ -1552,6 +1605,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); Assert.That(ThreadState.Fpsr, Is.EqualTo((int)Shared.FPSR.ToUInt32())); + CompareAgainstUnicorn(); } [Test, Description("SQXTUN , ")] @@ -1583,6 +1637,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); Assert.That(ThreadState.Fpsr, Is.EqualTo((int)Shared.FPSR.ToUInt32())); + CompareAgainstUnicorn(); } [Test, Description("SQXTUN{2} ., .")] @@ -1614,6 +1669,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); Assert.That(ThreadState.Fpsr, Is.EqualTo((int)Shared.FPSR.ToUInt32())); + CompareAgainstUnicorn(); } [Test, Description("SQXTUN{2} ., .")] @@ -1645,6 +1701,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); Assert.That(ThreadState.Fpsr, Is.EqualTo((int)Shared.FPSR.ToUInt32())); + CompareAgainstUnicorn(); } [Test, Description("SUQADD , ")] @@ -1676,6 +1733,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); Assert.That(ThreadState.Fpsr, Is.EqualTo((int)Shared.FPSR.ToUInt32())); + CompareAgainstUnicorn(); } [Test, Description("SUQADD ., .")] @@ -1707,6 +1765,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); Assert.That(ThreadState.Fpsr, Is.EqualTo((int)Shared.FPSR.ToUInt32())); + CompareAgainstUnicorn(); } [Test, Description("SUQADD ., .")] @@ -1738,6 +1797,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); Assert.That(ThreadState.Fpsr, Is.EqualTo((int)Shared.FPSR.ToUInt32())); + CompareAgainstUnicorn(); } [Test, Description("UADALP ., .")] @@ -1765,6 +1825,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Description("UADALP ., .")] @@ -1792,6 +1853,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Description("UADDLP ., .")] @@ -1819,6 +1881,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Description("UADDLP ., .")] @@ -1846,6 +1909,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Description("UQXTN , ")] @@ -1877,6 +1941,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); Assert.That(ThreadState.Fpsr, Is.EqualTo((int)Shared.FPSR.ToUInt32())); + CompareAgainstUnicorn(); } [Test, Description("UQXTN{2} ., .")] @@ -1908,6 +1973,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); Assert.That(ThreadState.Fpsr, Is.EqualTo((int)Shared.FPSR.ToUInt32())); + CompareAgainstUnicorn(); } [Test, Description("UQXTN{2} ., .")] @@ -1939,6 +2005,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); Assert.That(ThreadState.Fpsr, Is.EqualTo((int)Shared.FPSR.ToUInt32())); + CompareAgainstUnicorn(); } [Test, Description("USQADD , ")] @@ -1970,6 +2037,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); Assert.That(ThreadState.Fpsr, Is.EqualTo((int)Shared.FPSR.ToUInt32())); + CompareAgainstUnicorn(); } [Test, Description("USQADD ., .")] @@ -2001,6 +2069,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); Assert.That(ThreadState.Fpsr, Is.EqualTo((int)Shared.FPSR.ToUInt32())); + CompareAgainstUnicorn(); } [Test, Description("USQADD ., .")] @@ -2032,6 +2101,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); Assert.That(ThreadState.Fpsr, Is.EqualTo((int)Shared.FPSR.ToUInt32())); + CompareAgainstUnicorn(); } [Test, Description("XTN{2} ., .")] @@ -2059,6 +2129,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Description("XTN{2} ., .")] @@ -2086,6 +2157,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } #endif } diff --git a/Ryujinx.Tests/Cpu/CpuTestSimdArithmetic.cs b/Ryujinx.Tests/Cpu/CpuTestSimdArithmetic.cs index 53e155429..e9fd462eb 100644 --- a/Ryujinx.Tests/Cpu/CpuTestSimdArithmetic.cs +++ b/Ryujinx.Tests/Cpu/CpuTestSimdArithmetic.cs @@ -33,6 +33,7 @@ namespace Ryujinx.Tests.Cpu V1: Sse.StaticCast(Sse2.SetVector128(0, A)), V2: Sse.StaticCast(Sse2.SetVector128(0, B))); Assert.AreEqual(Result, Sse41.Extract(Sse.StaticCast(ThreadState.V0), 0)); + CompareAgainstUnicorn(); } [TestCase(0x80000000u, 0x80000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u)] @@ -59,6 +60,7 @@ namespace Ryujinx.Tests.Cpu Assert.AreEqual(Result0, GetVectorE0(ThreadState.V0)); Assert.AreEqual(Result1, GetVectorE1(ThreadState.V0)); }); + CompareAgainstUnicorn(); } [TestCase(0x1E225820u, 0x0000000000000000ul, 0x0000000080000000ul, 0x0000000080000000ul)] @@ -85,6 +87,7 @@ namespace Ryujinx.Tests.Cpu V1: Sse.StaticCast(Sse2.SetVector128(0, A)), V2: Sse.StaticCast(Sse2.SetVector128(0, B))); Assert.AreEqual(Result, Sse41.Extract(Sse.StaticCast(ThreadState.V0), 0)); + CompareAgainstUnicorn(); } [TestCase(0x80000000u, 0x80000000u, 0x00000000u, 0x00000000u, 0x80000000u, 0x80000000u)] @@ -111,6 +114,7 @@ namespace Ryujinx.Tests.Cpu Assert.AreEqual(Result0, GetVectorE0(ThreadState.V0)); Assert.AreEqual(Result1, GetVectorE1(ThreadState.V0)); }); + CompareAgainstUnicorn(); } [Test, Description("FMUL S6, S1, V0.S[2]")] @@ -121,6 +125,7 @@ namespace Ryujinx.Tests.Cpu V0: Sse.SetVector128(0, B, 0, 0)); Assert.That(Sse41.Extract(ThreadState.V6, (byte)0), Is.EqualTo(A * B)); + CompareAgainstUnicorn(); } [TestCase(0x00000000u, 0x7F800000u)] @@ -135,6 +140,7 @@ namespace Ryujinx.Tests.Cpu Vector128 V1 = MakeVectorE0(A); AThreadState ThreadState = SingleOpcode(0x5EA1D820, V1: V1); Assert.AreEqual(Result, GetVectorE0(ThreadState.V0)); + CompareAgainstUnicorn(); } [Test, Description("FRECPS D0, D1, D2")] @@ -145,6 +151,7 @@ namespace Ryujinx.Tests.Cpu V2: MakeVectorE0(B)); Assert.That(VectorExtractDouble(ThreadState.V0, 0), Is.EqualTo(2 - (A * B))); + //CompareAgainstUnicorn(); // Not accurate enough } [Test, Description("FRECPS V4.4S, V2.4S, V0.4S")] @@ -163,6 +170,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(Sse41.Extract(ThreadState.V4, (byte)2), Is.EqualTo(Result)); Assert.That(Sse41.Extract(ThreadState.V4, (byte)3), Is.EqualTo(Result)); }); + CompareAgainstUnicorn(); } [TestCase(0x3FE66666u, false, 0x40000000u)] @@ -213,6 +221,7 @@ namespace Ryujinx.Tests.Cpu Vector128 V1 = MakeVectorE0(A); AThreadState ThreadState = SingleOpcode(0x1E264020, V1: V1, Fpcr: FpcrTemp); Assert.AreEqual(Result, GetVectorE0(ThreadState.V0)); + CompareAgainstUnicorn(); } [TestCase(0x6E618820u, 0x3FF3333333333333ul, 0x3FF3333333333333ul, false, 0x3FF0000000000000ul, 0x3FF0000000000000ul)] @@ -240,6 +249,7 @@ namespace Ryujinx.Tests.Cpu Assert.AreEqual(Result0, GetVectorE0(ThreadState.V0)); Assert.AreEqual(Result1, GetVectorE1(ThreadState.V0)); }); + CompareAgainstUnicorn(); } [TestCase(0x3FE66666u, 'N', false, 0x40000000u)] @@ -310,6 +320,7 @@ namespace Ryujinx.Tests.Cpu Vector128 V1 = MakeVectorE0(A); AThreadState ThreadState = SingleOpcode(0x1E27C020, V1: V1, Fpcr: FpcrTemp); Assert.AreEqual(Result, GetVectorE0(ThreadState.V0)); + CompareAgainstUnicorn(); } [TestCase(0x6EE19820u, 0x3FF3333333333333ul, 0x3FF3333333333333ul, 'N', false, 0x3FF0000000000000ul, 0x3FF0000000000000ul)] @@ -376,6 +387,7 @@ namespace Ryujinx.Tests.Cpu Assert.AreEqual(Result0, GetVectorE0(ThreadState.V0)); Assert.AreEqual(Result1, GetVectorE1(ThreadState.V0)); }); + CompareAgainstUnicorn(); } [TestCase(0x3FE66666u, false, 0x3F800000u)] @@ -426,6 +438,7 @@ namespace Ryujinx.Tests.Cpu Vector128 V1 = MakeVectorE0(A); AThreadState ThreadState = SingleOpcode(0x1E254020, V1: V1, Fpcr: FpcrTemp); Assert.AreEqual(Result, GetVectorE0(ThreadState.V0)); + CompareAgainstUnicorn(); } [TestCase(0x4E619820u, 0x3FF3333333333333ul, 0x3FF3333333333333ul, false, 0x3FF0000000000000ul, 0x3FF0000000000000ul)] @@ -450,6 +463,7 @@ namespace Ryujinx.Tests.Cpu Assert.AreEqual(Result0, GetVectorE0(ThreadState.V0)); Assert.AreEqual(Result1, GetVectorE1(ThreadState.V0)); }); + CompareAgainstUnicorn(); } [TestCase(0x3FE66666u, false, 0x40000000u)] @@ -500,6 +514,7 @@ namespace Ryujinx.Tests.Cpu Vector128 V1 = MakeVectorE0(A); AThreadState ThreadState = SingleOpcode(0x1E264020, V1: V1, Fpcr: FpcrTemp); Assert.AreEqual(Result, GetVectorE0(ThreadState.V0)); + CompareAgainstUnicorn(); } [TestCase(0x4E618820u, 0x3FF3333333333333ul, 0x3FF3333333333333ul, false, 0x3FF0000000000000ul, 0x3FF0000000000000ul)] @@ -527,6 +542,7 @@ namespace Ryujinx.Tests.Cpu Assert.AreEqual(Result0, GetVectorE0(ThreadState.V0)); Assert.AreEqual(Result1, GetVectorE1(ThreadState.V0)); }); + CompareAgainstUnicorn(); } [TestCase(0x3FE66666u, false, 0x40000000u)] @@ -577,6 +593,7 @@ namespace Ryujinx.Tests.Cpu Vector128 V1 = MakeVectorE0(A); AThreadState ThreadState = SingleOpcode(0x1E24C020, V1: V1, Fpcr: FpcrTemp); Assert.AreEqual(Result, GetVectorE0(ThreadState.V0)); + CompareAgainstUnicorn(); } [TestCase(0x4EE18820u, 0x3FF3333333333333ul, 0x3FF3333333333333ul, false, 0x4000000000000000ul, 0x4000000000000000ul)] @@ -601,6 +618,7 @@ namespace Ryujinx.Tests.Cpu Assert.AreEqual(Result0, GetVectorE0(ThreadState.V0)); Assert.AreEqual(Result1, GetVectorE1(ThreadState.V0)); }); + CompareAgainstUnicorn(); } [TestCase(0x3FE66666u, 'N', false, 0x40000000u)] @@ -671,6 +689,7 @@ namespace Ryujinx.Tests.Cpu Vector128 V1 = MakeVectorE0(A); AThreadState ThreadState = SingleOpcode(0x1E274020, V1: V1, Fpcr: FpcrTemp); Assert.AreEqual(Result, GetVectorE0(ThreadState.V0)); + CompareAgainstUnicorn(); } [TestCase(0x6E619820u, 0x3FF3333333333333ul, 0x3FF3333333333333ul, 'N', false, 0x3FF0000000000000ul, 0x3FF0000000000000ul)] @@ -737,6 +756,7 @@ namespace Ryujinx.Tests.Cpu Assert.AreEqual(Result0, GetVectorE0(ThreadState.V0)); Assert.AreEqual(Result1, GetVectorE1(ThreadState.V0)); }); + CompareAgainstUnicorn(); } [TestCase(0x41200000u, 0x3EA18000u)] @@ -745,6 +765,7 @@ namespace Ryujinx.Tests.Cpu Vector128 V1 = MakeVectorE0(A); AThreadState ThreadState = SingleOpcode(0x7EA1D820, V1: V1); Assert.AreEqual(Result, GetVectorE0(ThreadState.V0)); + CompareAgainstUnicorn(); } } } diff --git a/Ryujinx.Tests/Cpu/CpuTestSimdCmp.cs b/Ryujinx.Tests/Cpu/CpuTestSimdCmp.cs index 41f5113d6..acf7000b9 100644 --- a/Ryujinx.Tests/Cpu/CpuTestSimdCmp.cs +++ b/Ryujinx.Tests/Cpu/CpuTestSimdCmp.cs @@ -52,6 +52,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(BitConverter.GetBytes(VectorExtractDouble(ThreadState.V0, (byte)0)), Is.EquivalentTo(Exp)); Assert.That(VectorExtractDouble(ThreadState.V0, (byte)1), Is.Zero); }); + CompareAgainstUnicorn(); } [Test, Description("FCMEQ S0, S1, S2 | FCMGE S0, S1, S2 | FCMGT S0, S1, S2")] @@ -84,6 +85,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(Sse41.Extract(ThreadState.V0, (byte)2), Is.Zero); Assert.That(Sse41.Extract(ThreadState.V0, (byte)3), Is.Zero); }); + CompareAgainstUnicorn(); } [Test, Description("FCMEQ V0.2D, V1.2D, V2.2D | FCMGE V0.2D, V1.2D, V2.2D | FCMGT V0.2D, V1.2D, V2.2D")] @@ -113,6 +115,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(BitConverter.GetBytes(VectorExtractDouble(ThreadState.V0, (byte)0)), Is.EquivalentTo(Exp)); Assert.That(BitConverter.GetBytes(VectorExtractDouble(ThreadState.V0, (byte)1)), Is.EquivalentTo(Exp)); }); + CompareAgainstUnicorn(); } [Test, Description("FCMEQ V0.2S, V1.2S, V2.2S | FCMGE V0.2S, V1.2S, V2.2S | FCMGT V0.2S, V1.2S, V2.2S")] @@ -145,6 +148,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(Sse41.Extract(ThreadState.V0, (byte)2), Is.Zero); Assert.That(Sse41.Extract(ThreadState.V0, (byte)3), Is.Zero); }); + CompareAgainstUnicorn(); } [Test, Description("FCMEQ V0.4S, V1.4S, V2.4S | FCMGE V0.4S, V1.4S, V2.4S | FCMGT V0.4S, V1.4S, V2.4S")] @@ -176,6 +180,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(BitConverter.GetBytes(Sse41.Extract(ThreadState.V0, (byte)2)), Is.EquivalentTo(Exp)); Assert.That(BitConverter.GetBytes(Sse41.Extract(ThreadState.V0, (byte)3)), Is.EquivalentTo(Exp)); }); + CompareAgainstUnicorn(); } [Test, Description("FCMGT D0, D1, #0.0 | FCMGE D0, D1, #0.0 | FCMEQ D0, D1, #0.0 | FCMLE D0, D1, #0.0 | FCMLT D0, D1, #0.0")] @@ -214,6 +219,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(BitConverter.GetBytes(VectorExtractDouble(ThreadState.V0, (byte)0)), Is.EquivalentTo(Exp)); Assert.That(VectorExtractDouble(ThreadState.V0, (byte)1), Is.Zero); }); + CompareAgainstUnicorn(); } [Test, Description("FCMGT S0, S1, #0.0 | FCMGE S0, S1, #0.0 | FCMEQ S0, S1, #0.0 | FCMLE S0, S1, #0.0 | FCMLT S0, S1, #0.0")] @@ -254,6 +260,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(Sse41.Extract(ThreadState.V0, (byte)2), Is.Zero); Assert.That(Sse41.Extract(ThreadState.V0, (byte)3), Is.Zero); }); + CompareAgainstUnicorn(); } [Test, Description("FCMGT V0.2D, V1.2D, #0.0 | FCMGE V0.2D, V1.2D, #0.0 | FCMEQ V0.2D, V1.2D, #0.0 | FCMLE V0.2D, V1.2D, #0.0 | FCMLT V0.2D, V1.2D, #0.0")] @@ -291,6 +298,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(BitConverter.GetBytes(VectorExtractDouble(ThreadState.V0, (byte)0)), Is.EquivalentTo(Exp)); Assert.That(BitConverter.GetBytes(VectorExtractDouble(ThreadState.V0, (byte)1)), Is.EquivalentTo(Exp)); }); + CompareAgainstUnicorn(); } [Test, Description("FCMGT V0.2S, V1.2S, #0.0 | FCMGE V0.2S, V1.2S, #0.0 | FCMEQ V0.2S, V1.2S, #0.0 | FCMLE V0.2S, V1.2S, #0.0 | FCMLT V0.2S, V1.2S, #0.0")] @@ -331,6 +339,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(Sse41.Extract(ThreadState.V0, (byte)2), Is.Zero); Assert.That(Sse41.Extract(ThreadState.V0, (byte)3), Is.Zero); }); + CompareAgainstUnicorn(); } [Test, Description("FCMGT V0.4S, V1.4S, #0.0 | FCMGE V0.4S, V1.4S, #0.0 | FCMEQ V0.4S, V1.4S, #0.0 | FCMLE V0.4S, V1.4S, #0.0 | FCMLT V0.4S, V1.4S, #0.0")] @@ -370,6 +379,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(BitConverter.GetBytes(Sse41.Extract(ThreadState.V0, (byte)2)), Is.EquivalentTo(Exp)); Assert.That(BitConverter.GetBytes(Sse41.Extract(ThreadState.V0, (byte)3)), Is.EquivalentTo(Exp)); }); + CompareAgainstUnicorn(); } } } diff --git a/Ryujinx.Tests/Cpu/CpuTestSimdCrypto.cs b/Ryujinx.Tests/Cpu/CpuTestSimdCrypto.cs index cce0db636..1e58a68a6 100644 --- a/Ryujinx.Tests/Cpu/CpuTestSimdCrypto.cs +++ b/Ryujinx.Tests/Cpu/CpuTestSimdCrypto.cs @@ -37,6 +37,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V1), Is.EqualTo(RoundKeyL)); Assert.That(GetVectorE1(ThreadState.V1), Is.EqualTo(RoundKeyH)); }); + CompareAgainstUnicorn(); } [Test, Description("AESE .16B, .16B")] @@ -66,6 +67,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V1), Is.EqualTo(RoundKeyL)); Assert.That(GetVectorE1(ThreadState.V1), Is.EqualTo(RoundKeyH)); }); + CompareAgainstUnicorn(); } [Test, Description("AESIMC .16B, .16B")] @@ -98,6 +100,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE1(ThreadState.V1), Is.EqualTo(ValueH)); }); } + CompareAgainstUnicorn(); } [Test, Description("AESMC .16B, .16B")] @@ -130,6 +133,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE1(ThreadState.V1), Is.EqualTo(ValueH)); }); } + CompareAgainstUnicorn(); } } } diff --git a/Ryujinx.Tests/Cpu/CpuTestSimdCvt.cs b/Ryujinx.Tests/Cpu/CpuTestSimdCvt.cs index 2d021616c..7f5f05ee4 100644 --- a/Ryujinx.Tests/Cpu/CpuTestSimdCvt.cs +++ b/Ryujinx.Tests/Cpu/CpuTestSimdCvt.cs @@ -35,6 +35,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(Sse41.Extract(Sse.StaticCast(ThreadState.V1), (byte)2), Is.EqualTo(Result)); Assert.That(Sse41.Extract(Sse.StaticCast(ThreadState.V1), (byte)3), Is.EqualTo(Result)); }); + CompareAgainstUnicorn(); } } } diff --git a/Ryujinx.Tests/Cpu/CpuTestSimdReg.cs b/Ryujinx.Tests/Cpu/CpuTestSimdReg.cs index 2ca91b37d..782e5921e 100644 --- a/Ryujinx.Tests/Cpu/CpuTestSimdReg.cs +++ b/Ryujinx.Tests/Cpu/CpuTestSimdReg.cs @@ -115,6 +115,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Pairwise, Description("ADD ., ., .")] @@ -146,6 +147,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Pairwise, Description("ADD ., ., .")] @@ -177,6 +179,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Pairwise, Description("ADDHN{2} ., ., .")] @@ -208,6 +211,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Pairwise, Description("ADDHN{2} ., ., .")] @@ -239,6 +243,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Pairwise, Description("ADDP ., ., .")] @@ -270,6 +275,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Pairwise, Description("ADDP ., ., .")] @@ -301,6 +307,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Pairwise, Description("AND ., ., .")] @@ -330,6 +337,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Pairwise, Description("AND ., ., .")] @@ -359,6 +367,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Pairwise, Description("BIC ., ., .")] @@ -388,6 +397,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Pairwise, Description("BIC ., ., .")] @@ -417,6 +427,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Pairwise, Description("BIF ., ., .")] @@ -446,6 +457,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Pairwise, Description("BIF ., ., .")] @@ -475,6 +487,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Pairwise, Description("BIT ., ., .")] @@ -504,6 +517,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Pairwise, Description("BIT ., ., .")] @@ -533,6 +547,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Pairwise, Description("BSL ., ., .")] @@ -562,6 +577,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Pairwise, Description("BSL ., ., .")] @@ -591,6 +607,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Pairwise, Description("CMEQ , , ")] @@ -620,6 +637,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Pairwise, Description("CMEQ ., ., .")] @@ -651,6 +669,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Pairwise, Description("CMEQ ., ., .")] @@ -682,6 +701,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Pairwise, Description("CMGE , , ")] @@ -711,6 +731,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Pairwise, Description("CMGE ., ., .")] @@ -742,6 +763,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Pairwise, Description("CMGE ., ., .")] @@ -773,6 +795,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Pairwise, Description("CMGT , , ")] @@ -802,6 +825,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Pairwise, Description("CMGT ., ., .")] @@ -833,6 +857,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Pairwise, Description("CMGT ., ., .")] @@ -864,6 +889,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Pairwise, Description("CMHI , , ")] @@ -893,6 +919,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Pairwise, Description("CMHI ., ., .")] @@ -924,6 +951,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Pairwise, Description("CMHI ., ., .")] @@ -955,6 +983,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Pairwise, Description("CMHS , , ")] @@ -984,6 +1013,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Pairwise, Description("CMHS ., ., .")] @@ -1015,6 +1045,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Pairwise, Description("CMHS ., ., .")] @@ -1046,6 +1077,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Pairwise, Description("CMTST , , ")] @@ -1075,6 +1107,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Pairwise, Description("CMTST ., ., .")] @@ -1106,6 +1139,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Pairwise, Description("CMTST ., ., .")] @@ -1137,6 +1171,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Pairwise, Description("EOR ., ., .")] @@ -1166,6 +1201,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Pairwise, Description("EOR ., ., .")] @@ -1195,6 +1231,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Pairwise, Description("ORN ., ., .")] @@ -1224,6 +1261,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Pairwise, Description("ORN ., ., .")] @@ -1253,6 +1291,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Pairwise, Description("ORR ., ., .")] @@ -1282,6 +1321,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Pairwise, Description("ORR ., ., .")] @@ -1311,6 +1351,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Pairwise, Description("RADDHN{2} ., ., .")] @@ -1342,6 +1383,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Pairwise, Description("RADDHN{2} ., ., .")] @@ -1373,6 +1415,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Pairwise, Description("RSUBHN{2} ., ., .")] @@ -1404,6 +1447,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Pairwise, Description("RSUBHN{2} ., ., .")] @@ -1435,6 +1479,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Pairwise, Description("SABA ., ., .")] @@ -1466,6 +1511,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Pairwise, Description("SABA ., ., .")] @@ -1497,6 +1543,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Pairwise, Description("SABAL{2} ., ., .")] @@ -1528,6 +1575,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Pairwise, Description("SABAL{2} ., ., .")] @@ -1559,6 +1607,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Pairwise, Description("SABD ., ., .")] @@ -1590,6 +1639,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Pairwise, Description("SABD ., ., .")] @@ -1621,6 +1671,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Pairwise, Description("SABDL{2} ., ., .")] @@ -1652,6 +1703,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Pairwise, Description("SABDL{2} ., ., .")] @@ -1683,6 +1735,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Pairwise, Description("SADDW{2} ., ., .")] @@ -1714,6 +1767,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Pairwise, Description("SADDW{2} ., ., .")] @@ -1745,6 +1799,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Pairwise, Description("SHA256H , , .4S")] @@ -1782,6 +1837,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V2), Is.EqualTo(AArch64.Vpart(64, 2, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V2), Is.EqualTo(AArch64.Vpart(64, 2, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Pairwise, Description("SHA256H2 , , .4S")] @@ -1819,6 +1875,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V2), Is.EqualTo(AArch64.Vpart(64, 2, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V2), Is.EqualTo(AArch64.Vpart(64, 2, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Pairwise, Description("SHA256SU1 .4S, .4S, .4S")] @@ -1856,6 +1913,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V2), Is.EqualTo(AArch64.Vpart(64, 2, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V2), Is.EqualTo(AArch64.Vpart(64, 2, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Pairwise, Description("SHADD ., ., .")] @@ -2493,6 +2551,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Pairwise, Description("SSUBW{2} ., ., .")] @@ -2524,6 +2583,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Pairwise, Description("SUB , , ")] @@ -2553,6 +2613,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Pairwise, Description("SUB ., ., .")] @@ -2584,6 +2645,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Pairwise, Description("SUB ., ., .")] @@ -2615,6 +2677,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Pairwise, Description("SUBHN{2} ., ., .")] @@ -2646,6 +2709,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Pairwise, Description("SUBHN{2} ., ., .")] @@ -2677,6 +2741,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Pairwise, Description("TRN1 ., ., .")] @@ -2708,6 +2773,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Pairwise, Description("TRN1 ., ., .")] @@ -2739,6 +2805,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Pairwise, Description("TRN2 ., ., .")] @@ -2770,6 +2837,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Pairwise, Description("TRN2 ., ., .")] @@ -2801,6 +2869,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Pairwise, Description("UABA ., ., .")] @@ -2832,6 +2901,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Pairwise, Description("UABA ., ., .")] @@ -2863,6 +2933,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Pairwise, Description("UABAL{2} ., ., .")] @@ -2894,6 +2965,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Pairwise, Description("UABAL{2} ., ., .")] @@ -2925,6 +2997,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Pairwise, Description("UABD ., ., .")] @@ -2956,6 +3029,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Pairwise, Description("UABD ., ., .")] @@ -2987,6 +3061,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Pairwise, Description("UABDL{2} ., ., .")] @@ -3018,6 +3093,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Pairwise, Description("UABDL{2} ., ., .")] @@ -3049,6 +3125,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Pairwise, Description("UADDW{2} ., ., .")] @@ -3080,6 +3157,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Pairwise, Description("UADDW{2} ., ., .")] @@ -3111,6 +3189,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Pairwise, Description("UHADD ., ., .")] @@ -3538,6 +3617,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Pairwise, Description("USUBW{2} ., ., .")] @@ -3569,6 +3649,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Pairwise, Description("UZP1 ., ., .")] @@ -3600,6 +3681,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Pairwise, Description("UZP1 ., ., .")] @@ -3631,6 +3713,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Pairwise, Description("UZP2 ., ., .")] @@ -3662,6 +3745,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Pairwise, Description("UZP2 ., ., .")] @@ -3693,6 +3777,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Pairwise, Description("ZIP1 ., ., .")] @@ -3724,6 +3809,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Pairwise, Description("ZIP1 ., ., .")] @@ -3755,6 +3841,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Pairwise, Description("ZIP2 ., ., .")] @@ -3786,6 +3873,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } [Test, Pairwise, Description("ZIP2 ., ., .")] @@ -3817,6 +3905,7 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); + CompareAgainstUnicorn(); } #endif } diff --git a/Ryujinx.Tests/Ryujinx.Tests.csproj b/Ryujinx.Tests/Ryujinx.Tests.csproj index a68b34e94..27c2bf786 100644 --- a/Ryujinx.Tests/Ryujinx.Tests.csproj +++ b/Ryujinx.Tests/Ryujinx.Tests.csproj @@ -5,6 +5,10 @@ win10-x64;osx-x64;linux-x64 Exe false + + windows + osx + linux @@ -20,6 +24,13 @@ + + + + + + + From 42e4e02a648812c4dee1574a5cd9e7dddf7b2458 Mon Sep 17 00:00:00 2001 From: LDj3SNuD <35856442+LDj3SNuD@users.noreply.github.com> Date: Sat, 1 Sep 2018 16:52:51 +0200 Subject: [PATCH 18/24] Add Fcvtns_S, Fcvtns_V, Fcvtnu_S, Fcvtnu_V (AOpCodeSimd) FP & Umlal_V, Umlsl_V, Saddl_V, Ssubl_V, Usubl_V instructions; add 8 FP & 16 S/Umlal_V, S/Umlsl_V, S/Uaddl_V, S/Usubl_V Tests. (#390) * Update AOpCodeTable.cs * Update AInstEmitSimdCvt.cs * Update Pseudocode.cs * Update Instructions.cs * Update CpuTestSimd.cs * Update AOpCodeTable.cs * Update AInstEmitSimdArithmetic.cs * Update Instructions.cs * Update CpuTestSimdReg.cs * Update CpuTestSimd.cs * Update AOpCodeTable.cs * Update AInstEmitSimdArithmetic.cs * Update Instructions.cs * Update CpuTestSimdReg.cs * Add QCFlagBit. * Add QCFlagBit. --- ChocolArm64/AOpCodeTable.cs | 9 + .../Instruction/AInstEmitSimdArithmetic.cs | 33 + ChocolArm64/Instruction/AInstEmitSimdCvt.cs | 70 +- Ryujinx.Tests/Cpu/CpuTestSimd.cs | 642 ++++++++++++----- Ryujinx.Tests/Cpu/CpuTestSimdReg.cs | 678 +++++++++++++++--- Ryujinx.Tests/Cpu/Tester/Instructions.cs | 572 +++++++++++++++ Ryujinx.Tests/Cpu/Tester/Pseudocode.cs | 490 ++++++++++++- 7 files changed, 2208 insertions(+), 286 deletions(-) diff --git a/ChocolArm64/AOpCodeTable.cs b/ChocolArm64/AOpCodeTable.cs index bf030314e..a73466ae1 100644 --- a/ChocolArm64/AOpCodeTable.cs +++ b/ChocolArm64/AOpCodeTable.cs @@ -255,6 +255,10 @@ namespace ChocolArm64 SetA64("x00111100x110000000000xxxxxxxxxx", AInstEmit.Fcvtms_Gp, typeof(AOpCodeSimdCvt)); SetA64("x00111100x110001000000xxxxxxxxxx", AInstEmit.Fcvtmu_Gp, typeof(AOpCodeSimdCvt)); SetA64("0x0011100x100001011010xxxxxxxxxx", AInstEmit.Fcvtn_V, typeof(AOpCodeSimd)); + SetA64("010111100x100001101010xxxxxxxxxx", AInstEmit.Fcvtns_S, typeof(AOpCodeSimd)); + SetA64("0>0011100<100001101010xxxxxxxxxx", AInstEmit.Fcvtns_V, typeof(AOpCodeSimd)); + SetA64("011111100x100001101010xxxxxxxxxx", AInstEmit.Fcvtnu_S, typeof(AOpCodeSimd)); + SetA64("0>1011100<100001101010xxxxxxxxxx", AInstEmit.Fcvtnu_V, typeof(AOpCodeSimd)); SetA64("x00111100x101000000000xxxxxxxxxx", AInstEmit.Fcvtps_Gp, typeof(AOpCodeSimdCvt)); SetA64("x00111100x101001000000xxxxxxxxxx", AInstEmit.Fcvtpu_Gp, typeof(AOpCodeSimdCvt)); SetA64("x00111100x111000000000xxxxxxxxxx", AInstEmit.Fcvtzs_Gp, typeof(AOpCodeSimdCvt)); @@ -365,6 +369,7 @@ namespace ChocolArm64 SetA64("0x001110<<1xxxxx011101xxxxxxxxxx", AInstEmit.Sabd_V, typeof(AOpCodeSimdReg)); SetA64("0x001110<<1xxxxx011100xxxxxxxxxx", AInstEmit.Sabdl_V, typeof(AOpCodeSimdReg)); SetA64("0x001110<<100000011010xxxxxxxxxx", AInstEmit.Sadalp_V, typeof(AOpCodeSimd)); + SetA64("0x001110<<1xxxxx000000xxxxxxxxxx", AInstEmit.Saddl_V, typeof(AOpCodeSimdReg)); SetA64("0x001110<<100000001010xxxxxxxxxx", AInstEmit.Saddlp_V, typeof(AOpCodeSimd)); SetA64("0x001110<<1xxxxx000100xxxxxxxxxx", AInstEmit.Saddw_V, typeof(AOpCodeSimdReg)); SetA64("x0011110xx100010000000xxxxxxxxxx", AInstEmit.Scvtf_Gp, typeof(AOpCodeSimdCvt)); @@ -419,6 +424,7 @@ namespace ChocolArm64 SetA64("0100111101xxxxxx000001xxxxxxxxxx", AInstEmit.Sshr_V, typeof(AOpCodeSimdShImm)); SetA64("0x00111100>>>xxx000101xxxxxxxxxx", AInstEmit.Ssra_V, typeof(AOpCodeSimdShImm)); SetA64("0100111101xxxxxx000101xxxxxxxxxx", AInstEmit.Ssra_V, typeof(AOpCodeSimdShImm)); + SetA64("0x001110<<1xxxxx001000xxxxxxxxxx", AInstEmit.Ssubl_V, typeof(AOpCodeSimdReg)); SetA64("0x001110<<1xxxxx001100xxxxxxxxxx", AInstEmit.Ssubw_V, typeof(AOpCodeSimdReg)); SetA64("0x00110000000000xxxxxxxxxxxxxxxx", AInstEmit.St__Vms, typeof(AOpCodeSimdMemMs)); SetA64("0x001100100xxxxxxxxxxxxxxxxxxxxx", AInstEmit.St__Vms, typeof(AOpCodeSimdMemMs)); @@ -457,6 +463,8 @@ namespace ChocolArm64 SetA64("0x101110<<1xxxxx101001xxxxxxxxxx", AInstEmit.Umaxp_V, typeof(AOpCodeSimdReg)); SetA64("0x101110<<1xxxxx011011xxxxxxxxxx", AInstEmit.Umin_V, typeof(AOpCodeSimdReg)); SetA64("0x101110<<1xxxxx101011xxxxxxxxxx", AInstEmit.Uminp_V, typeof(AOpCodeSimdReg)); + SetA64("0x101110<<1xxxxx100000xxxxxxxxxx", AInstEmit.Umlal_V, typeof(AOpCodeSimdReg)); + SetA64("0x101110<<1xxxxx101000xxxxxxxxxx", AInstEmit.Umlsl_V, typeof(AOpCodeSimdReg)); SetA64("0x001110000xxxxx001111xxxxxxxxxx", AInstEmit.Umov_S, typeof(AOpCodeSimdIns)); SetA64("0x101110<<1xxxxx110000xxxxxxxxxx", AInstEmit.Umull_V, typeof(AOpCodeSimdReg)); SetA64("01111110xx1xxxxx000011xxxxxxxxxx", AInstEmit.Uqadd_S, typeof(AOpCodeSimdReg)); @@ -475,6 +483,7 @@ namespace ChocolArm64 SetA64("0>101110<<100000001110xxxxxxxxxx", AInstEmit.Usqadd_V, typeof(AOpCodeSimd)); SetA64("0x10111100>>>xxx000101xxxxxxxxxx", AInstEmit.Usra_V, typeof(AOpCodeSimdShImm)); SetA64("0110111101xxxxxx000101xxxxxxxxxx", AInstEmit.Usra_V, typeof(AOpCodeSimdShImm)); + SetA64("0x101110<<1xxxxx001000xxxxxxxxxx", AInstEmit.Usubl_V, typeof(AOpCodeSimdReg)); SetA64("0x101110<<1xxxxx001100xxxxxxxxxx", AInstEmit.Usubw_V, typeof(AOpCodeSimdReg)); SetA64("0>001110<<0xxxxx000110xxxxxxxxxx", AInstEmit.Uzp1_V, typeof(AOpCodeSimdReg)); SetA64("0>001110<<0xxxxx010110xxxxxxxxxx", AInstEmit.Uzp2_V, typeof(AOpCodeSimdReg)); diff --git a/ChocolArm64/Instruction/AInstEmitSimdArithmetic.cs b/ChocolArm64/Instruction/AInstEmitSimdArithmetic.cs index 1e4002a0e..a291a7e51 100644 --- a/ChocolArm64/Instruction/AInstEmitSimdArithmetic.cs +++ b/ChocolArm64/Instruction/AInstEmitSimdArithmetic.cs @@ -1032,6 +1032,11 @@ namespace ChocolArm64.Instruction EmitAddLongPairwise(Context, Signed: true, Accumulate: true); } + public static void Saddl_V(AILEmitterCtx Context) + { + EmitVectorWidenRnRmBinaryOpSx(Context, () => Context.Emit(OpCodes.Add)); + } + public static void Saddlp_V(AILEmitterCtx Context) { EmitAddLongPairwise(Context, Signed: true, Accumulate: false); @@ -1217,6 +1222,11 @@ namespace ChocolArm64.Instruction }); } + public static void Ssubl_V(AILEmitterCtx Context) + { + EmitVectorWidenRnRmBinaryOpSx(Context, () => Context.Emit(OpCodes.Sub)); + } + public static void Ssubw_V(AILEmitterCtx Context) { EmitVectorWidenRmBinaryOpSx(Context, () => Context.Emit(OpCodes.Sub)); @@ -1391,6 +1401,24 @@ namespace ChocolArm64.Instruction EmitVectorPairwiseOpZx(Context, () => Context.EmitCall(MthdInfo)); } + public static void Umlal_V(AILEmitterCtx Context) + { + EmitVectorWidenRnRmTernaryOpZx(Context, () => + { + Context.Emit(OpCodes.Mul); + Context.Emit(OpCodes.Add); + }); + } + + public static void Umlsl_V(AILEmitterCtx Context) + { + EmitVectorWidenRnRmTernaryOpZx(Context, () => + { + Context.Emit(OpCodes.Mul); + Context.Emit(OpCodes.Sub); + }); + } + public static void Umull_V(AILEmitterCtx Context) { EmitVectorWidenRnRmBinaryOpZx(Context, () => Context.Emit(OpCodes.Mul)); @@ -1450,6 +1478,11 @@ namespace ChocolArm64.Instruction EmitVectorSaturatingBinaryOpZx(Context, SaturatingFlags.Accumulate); } + public static void Usubl_V(AILEmitterCtx Context) + { + EmitVectorWidenRnRmBinaryOpZx(Context, () => Context.Emit(OpCodes.Sub)); + } + public static void Usubw_V(AILEmitterCtx Context) { EmitVectorWidenRmBinaryOpZx(Context, () => Context.Emit(OpCodes.Sub)); diff --git a/ChocolArm64/Instruction/AInstEmitSimdCvt.cs b/ChocolArm64/Instruction/AInstEmitSimdCvt.cs index 7b355494d..231de0aff 100644 --- a/ChocolArm64/Instruction/AInstEmitSimdCvt.cs +++ b/ChocolArm64/Instruction/AInstEmitSimdCvt.cs @@ -106,6 +106,26 @@ namespace ChocolArm64.Instruction } } + public static void Fcvtns_S(AILEmitterCtx Context) + { + EmitFcvtn(Context, Signed: true, Scalar: true); + } + + public static void Fcvtns_V(AILEmitterCtx Context) + { + EmitFcvtn(Context, Signed: true, Scalar: false); + } + + public static void Fcvtnu_S(AILEmitterCtx Context) + { + EmitFcvtn(Context, Signed: false, Scalar: true); + } + + public static void Fcvtnu_V(AILEmitterCtx Context) + { + EmitFcvtn(Context, Signed: false, Scalar: false); + } + public static void Fcvtps_Gp(AILEmitterCtx Context) { EmitFcvt_s_Gp(Context, () => EmitUnaryMathCall(Context, nameof(Math.Ceiling))); @@ -250,6 +270,54 @@ namespace ChocolArm64.Instruction } } + private static void EmitFcvtn(AILEmitterCtx Context, bool Signed, bool Scalar) + { + AOpCodeSimd Op = (AOpCodeSimd)Context.CurrOp; + + int SizeF = Op.Size & 1; + int SizeI = SizeF + 2; + + int Bytes = Op.GetBitsCount() >> 3; + int Elems = !Scalar ? Bytes >> SizeI : 1; + + if (Scalar && (SizeF == 0)) + { + EmitVectorZeroLowerTmp(Context); + } + + for (int Index = 0; Index < Elems; Index++) + { + EmitVectorExtractF(Context, Op.Rn, Index, SizeF); + + EmitRoundMathCall(Context, MidpointRounding.ToEven); + + if (SizeF == 0) + { + AVectorHelper.EmitCall(Context, Signed + ? nameof(AVectorHelper.SatF32ToS32) + : nameof(AVectorHelper.SatF32ToU32)); + + Context.Emit(OpCodes.Conv_U8); + } + else /* if (SizeF == 1) */ + { + AVectorHelper.EmitCall(Context, Signed + ? nameof(AVectorHelper.SatF64ToS64) + : nameof(AVectorHelper.SatF64ToU64)); + } + + EmitVectorInsertTmp(Context, Index, SizeI); + } + + Context.EmitLdvectmp(); + Context.EmitStvec(Op.Rd); + + if ((Op.RegisterSize == ARegisterSize.SIMD64) || Scalar) + { + EmitVectorZeroUpper(Context, Op.Rd); + } + } + private static void EmitFcvt_s_Gp(AILEmitterCtx Context, Action Emit) { EmitFcvt___Gp(Context, Emit, true); @@ -569,4 +637,4 @@ namespace ChocolArm64.Instruction } } } -} \ No newline at end of file +} diff --git a/Ryujinx.Tests/Cpu/CpuTestSimd.cs b/Ryujinx.Tests/Cpu/CpuTestSimd.cs index dbf6b3c21..37fb3e976 100644 --- a/Ryujinx.Tests/Cpu/CpuTestSimd.cs +++ b/Ryujinx.Tests/Cpu/CpuTestSimd.cs @@ -85,11 +85,80 @@ namespace Ryujinx.Tests.Cpu 0x8000000080000000ul, 0x7FFFFFFFFFFFFFFFul, 0x8000000000000000ul, 0xFFFFFFFFFFFFFFFFul }; } + + private static ulong[] _1S_F_() + { + return new ulong[] + { + 0x00000000FFFFFFFFul, // -QNaN (all ones payload) + 0x00000000FFBFFFFFul, // -SNaN (all ones payload) + 0x00000000FF800000ul, // -INF + 0x00000000FF7FFFFFul, // -Max Normal, float.MinValue + 0x0000000080800000ul, // -Min Normal + 0x00000000807FFFFFul, // -Max SubNormal + 0x0000000080000001ul, // -Min SubNormal + 0x0000000080000000ul, // -0 + 0x0000000000000000ul, // +0 + 0x0000000000000001ul, // +Min SubNormal + 0x00000000007FFFFFul, // +Max SubNormal + 0x0000000000800000ul, // +Min Normal + 0x000000007F7FFFFFul, // +Max Normal, float.MaxValue + 0x000000007F800000ul, // +INF + 0x000000007FBFFFFFul, // +SNaN (all ones payload) + 0x000000007FFFFFFFul // +QNaN (all ones payload) + }; + } + + private static ulong[] _2S_F_() + { + return new ulong[] + { + 0xFFFFFFFFFFFFFFFFul, // -QNaN (all ones payload) + 0xFFBFFFFFFFBFFFFFul, // -SNaN (all ones payload) + 0xFF800000FF800000ul, // -INF + 0xFF7FFFFFFF7FFFFFul, // -Max Normal, float.MinValue + 0x8080000080800000ul, // -Min Normal + 0x807FFFFF807FFFFFul, // -Max SubNormal + 0x8000000180000001ul, // -Min SubNormal + 0x8000000080000000ul, // -0 + 0x0000000000000000ul, // +0 + 0x0000000100000001ul, // +Min SubNormal + 0x007FFFFF007FFFFFul, // +Max SubNormal + 0x0080000000800000ul, // +Min Normal + 0x7F7FFFFF7F7FFFFFul, // +Max Normal, float.MaxValue + 0x7F8000007F800000ul, // +INF + 0x7FBFFFFF7FBFFFFFul, // +SNaN (all ones payload) + 0x7FFFFFFF7FFFFFFFul // +QNaN (all ones payload) + }; + } + + private static ulong[] _1D_F_() + { + return new ulong[] + { + 0xFFFFFFFFFFFFFFFFul, // -QNaN (all ones payload) + 0xFFF7FFFFFFFFFFFFul, // -SNaN (all ones payload) + 0xFFF0000000000000ul, // -INF + 0xFFEFFFFFFFFFFFFFul, // -Max Normal, double.MinValue + 0x8010000000000000ul, // -Min Normal + 0x800FFFFFFFFFFFFFul, // -Max SubNormal + 0x8000000000000001ul, // -Min SubNormal + 0x8000000000000000ul, // -0 + 0x0000000000000000ul, // +0 + 0x0000000000000001ul, // +Min SubNormal + 0x000FFFFFFFFFFFFFul, // +Max SubNormal + 0x0010000000000000ul, // +Min Normal + 0x7FEFFFFFFFFFFFFFul, // +Max Normal, double.MaxValue + 0x7FF0000000000000ul, // +INF + 0x7FF7FFFFFFFFFFFFul, // +SNaN (all ones payload) + 0x7FFFFFFFFFFFFFFFul // +QNaN (all ones payload) + }; + } #endregion - private const int RndCnt = 1; + private const int RndCnt = 4; - [Test, Description("ABS , ")] + [Test, Pairwise, Description("ABS , ")] public void Abs_S_D([Values(0u)] uint Rd, [Values(1u, 0u)] uint Rn, [ValueSource("_1D_")] [Random(RndCnt)] ulong Z, @@ -115,7 +184,7 @@ namespace Ryujinx.Tests.Cpu CompareAgainstUnicorn(); } - [Test, Description("ABS ., .")] + [Test, Pairwise, Description("ABS ., .")] public void Abs_V_8B_4H_2S([Values(0u)] uint Rd, [Values(1u, 0u)] uint Rn, [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong Z, @@ -143,7 +212,7 @@ namespace Ryujinx.Tests.Cpu CompareAgainstUnicorn(); } - [Test, Description("ABS ., .")] + [Test, Pairwise, Description("ABS ., .")] public void Abs_V_16B_8H_4S_2D([Values(0u)] uint Rd, [Values(1u, 0u)] uint Rn, [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong Z, @@ -171,7 +240,7 @@ namespace Ryujinx.Tests.Cpu CompareAgainstUnicorn(); } - [Test, Description("ADDP , .")] + [Test, Pairwise, Description("ADDP , .")] public void Addp_S_2DD([Values(0u)] uint Rd, [Values(1u, 0u)] uint Rn, [ValueSource("_1D_")] [Random(RndCnt)] ulong Z, @@ -197,7 +266,7 @@ namespace Ryujinx.Tests.Cpu CompareAgainstUnicorn(); } - [Test, Description("ADDV , .")] + [Test, Pairwise, Description("ADDV , .")] public void Addv_V_8BB_4HH([Values(0u)] uint Rd, [Values(1u, 0u)] uint Rn, [ValueSource("_8B4H_")] [Random(RndCnt)] ulong Z, @@ -225,7 +294,7 @@ namespace Ryujinx.Tests.Cpu CompareAgainstUnicorn(); } - [Test, Description("ADDV , .")] + [Test, Pairwise, Description("ADDV , .")] public void Addv_V_16BB_8HH_4SS([Values(0u)] uint Rd, [Values(1u, 0u)] uint Rn, [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong Z, @@ -253,7 +322,7 @@ namespace Ryujinx.Tests.Cpu CompareAgainstUnicorn(); } - [Test, Description("CLS ., .")] + [Test, Pairwise, Description("CLS ., .")] public void Cls_V_8B_4H_2S([Values(0u)] uint Rd, [Values(1u, 0u)] uint Rn, [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong Z, @@ -281,7 +350,7 @@ namespace Ryujinx.Tests.Cpu CompareAgainstUnicorn(); } - [Test, Description("CLS ., .")] + [Test, Pairwise, Description("CLS ., .")] public void Cls_V_16B_8H_4S([Values(0u)] uint Rd, [Values(1u, 0u)] uint Rn, [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong Z, @@ -309,7 +378,7 @@ namespace Ryujinx.Tests.Cpu CompareAgainstUnicorn(); } - [Test, Description("CLZ ., .")] + [Test, Pairwise, Description("CLZ ., .")] public void Clz_V_8B_4H_2S([Values(0u)] uint Rd, [Values(1u, 0u)] uint Rn, [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong Z, @@ -337,7 +406,7 @@ namespace Ryujinx.Tests.Cpu CompareAgainstUnicorn(); } - [Test, Description("CLZ ., .")] + [Test, Pairwise, Description("CLZ ., .")] public void Clz_V_16B_8H_4S([Values(0u)] uint Rd, [Values(1u, 0u)] uint Rn, [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong Z, @@ -365,7 +434,7 @@ namespace Ryujinx.Tests.Cpu CompareAgainstUnicorn(); } - [Test, Description("CMEQ , , #0")] + [Test, Pairwise, Description("CMEQ , , #0")] public void Cmeq_S_D([Values(0u)] uint Rd, [Values(1u, 0u)] uint Rn, [ValueSource("_1D_")] [Random(RndCnt)] ulong Z, @@ -391,7 +460,7 @@ namespace Ryujinx.Tests.Cpu CompareAgainstUnicorn(); } - [Test, Description("CMEQ ., ., #0")] + [Test, Pairwise, Description("CMEQ ., ., #0")] public void Cmeq_V_8B_4H_2S([Values(0u)] uint Rd, [Values(1u, 0u)] uint Rn, [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong Z, @@ -419,7 +488,7 @@ namespace Ryujinx.Tests.Cpu CompareAgainstUnicorn(); } - [Test, Description("CMEQ ., ., #0")] + [Test, Pairwise, Description("CMEQ ., ., #0")] public void Cmeq_V_16B_8H_4S_2D([Values(0u)] uint Rd, [Values(1u, 0u)] uint Rn, [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong Z, @@ -447,7 +516,7 @@ namespace Ryujinx.Tests.Cpu CompareAgainstUnicorn(); } - [Test, Description("CMGE , , #0")] + [Test, Pairwise, Description("CMGE , , #0")] public void Cmge_S_D([Values(0u)] uint Rd, [Values(1u, 0u)] uint Rn, [ValueSource("_1D_")] [Random(RndCnt)] ulong Z, @@ -473,7 +542,7 @@ namespace Ryujinx.Tests.Cpu CompareAgainstUnicorn(); } - [Test, Description("CMGE ., ., #0")] + [Test, Pairwise, Description("CMGE ., ., #0")] public void Cmge_V_8B_4H_2S([Values(0u)] uint Rd, [Values(1u, 0u)] uint Rn, [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong Z, @@ -501,7 +570,7 @@ namespace Ryujinx.Tests.Cpu CompareAgainstUnicorn(); } - [Test, Description("CMGE ., ., #0")] + [Test, Pairwise, Description("CMGE ., ., #0")] public void Cmge_V_16B_8H_4S_2D([Values(0u)] uint Rd, [Values(1u, 0u)] uint Rn, [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong Z, @@ -529,7 +598,7 @@ namespace Ryujinx.Tests.Cpu CompareAgainstUnicorn(); } - [Test, Description("CMGT , , #0")] + [Test, Pairwise, Description("CMGT , , #0")] public void Cmgt_S_D([Values(0u)] uint Rd, [Values(1u, 0u)] uint Rn, [ValueSource("_1D_")] [Random(RndCnt)] ulong Z, @@ -555,7 +624,7 @@ namespace Ryujinx.Tests.Cpu CompareAgainstUnicorn(); } - [Test, Description("CMGT ., ., #0")] + [Test, Pairwise, Description("CMGT ., ., #0")] public void Cmgt_V_8B_4H_2S([Values(0u)] uint Rd, [Values(1u, 0u)] uint Rn, [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong Z, @@ -583,7 +652,7 @@ namespace Ryujinx.Tests.Cpu CompareAgainstUnicorn(); } - [Test, Description("CMGT ., ., #0")] + [Test, Pairwise, Description("CMGT ., ., #0")] public void Cmgt_V_16B_8H_4S_2D([Values(0u)] uint Rd, [Values(1u, 0u)] uint Rn, [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong Z, @@ -611,7 +680,7 @@ namespace Ryujinx.Tests.Cpu CompareAgainstUnicorn(); } - [Test, Description("CMLE , , #0")] + [Test, Pairwise, Description("CMLE , , #0")] public void Cmle_S_D([Values(0u)] uint Rd, [Values(1u, 0u)] uint Rn, [ValueSource("_1D_")] [Random(RndCnt)] ulong Z, @@ -637,7 +706,7 @@ namespace Ryujinx.Tests.Cpu CompareAgainstUnicorn(); } - [Test, Description("CMLE ., ., #0")] + [Test, Pairwise, Description("CMLE ., ., #0")] public void Cmle_V_8B_4H_2S([Values(0u)] uint Rd, [Values(1u, 0u)] uint Rn, [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong Z, @@ -665,7 +734,7 @@ namespace Ryujinx.Tests.Cpu CompareAgainstUnicorn(); } - [Test, Description("CMLE ., ., #0")] + [Test, Pairwise, Description("CMLE ., ., #0")] public void Cmle_V_16B_8H_4S_2D([Values(0u)] uint Rd, [Values(1u, 0u)] uint Rn, [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong Z, @@ -693,7 +762,7 @@ namespace Ryujinx.Tests.Cpu CompareAgainstUnicorn(); } - [Test, Description("CMLT , , #0")] + [Test, Pairwise, Description("CMLT , , #0")] public void Cmlt_S_D([Values(0u)] uint Rd, [Values(1u, 0u)] uint Rn, [ValueSource("_1D_")] [Random(RndCnt)] ulong Z, @@ -719,7 +788,7 @@ namespace Ryujinx.Tests.Cpu CompareAgainstUnicorn(); } - [Test, Description("CMLT ., ., #0")] + [Test, Pairwise, Description("CMLT ., ., #0")] public void Cmlt_V_8B_4H_2S([Values(0u)] uint Rd, [Values(1u, 0u)] uint Rn, [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong Z, @@ -747,7 +816,7 @@ namespace Ryujinx.Tests.Cpu CompareAgainstUnicorn(); } - [Test, Description("CMLT ., ., #0")] + [Test, Pairwise, Description("CMLT ., ., #0")] public void Cmlt_V_16B_8H_4S_2D([Values(0u)] uint Rd, [Values(1u, 0u)] uint Rn, [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong Z, @@ -775,7 +844,7 @@ namespace Ryujinx.Tests.Cpu CompareAgainstUnicorn(); } - [Test, Description("CNT ., .")] + [Test, Pairwise, Description("CNT ., .")] public void Cnt_V_8B([Values(0u)] uint Rd, [Values(1u, 0u)] uint Rn, [ValueSource("_8B_")] [Random(RndCnt)] ulong Z, @@ -801,7 +870,7 @@ namespace Ryujinx.Tests.Cpu CompareAgainstUnicorn(); } - [Test, Description("CNT ., .")] + [Test, Pairwise, Description("CNT ., .")] public void Cnt_V_16B([Values(0u)] uint Rd, [Values(1u, 0u)] uint Rn, [ValueSource("_8B_")] [Random(RndCnt)] ulong Z, @@ -827,7 +896,243 @@ namespace Ryujinx.Tests.Cpu CompareAgainstUnicorn(); } - [Test, Description("NEG , ")] + [Test, Pairwise, Description("FCVTNS , ")] + public void Fcvtns_S_S([Values(0u)] uint Rd, + [Values(1u, 0u)] uint Rn, + [ValueSource("_1S_F_")] [Random(RndCnt)] ulong Z, + [ValueSource("_1S_F_")] [Random(RndCnt)] ulong A) + { + //const int FZFlagBit = 24; // Flush-to-zero mode control bit. + + //const int IDCFlagBit = 7; // Input Denormal cumulative floating-point exception bit. + //const int IXCFlagBit = 4; // Inexact cumulative floating-point exception bit. + //const int IOCFlagBit = 0; // Invalid Operation cumulative floating-point exception bit. + + uint Opcode = 0x5E21A800; // FCVTNS S0, S0 + Opcode |= ((Rn & 31) << 5) | ((Rd & 31) << 0); + Bits Op = new Bits(Opcode); + + //int Fpcr = 1 << FZFlagBit; // Flush-to-zero mode enabled. + + Vector128 V0 = MakeVectorE0E1(Z, Z); + Vector128 V1 = MakeVectorE0(A); + AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1/*, Fpcr: Fpcr*/); + + AArch64.Vpart(0, 0, new Bits(Z)); AArch64.Vpart(0, 1, new Bits(Z)); + AArch64.V(1, new Bits(A)); + //Shared.FPCR = new Bits((uint)Fpcr); + SimdFp.Fcvtns_S(Op[22], Op[9, 5], Op[4, 0]); + + Assert.Multiple(() => + { + Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); + Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); + }); + + /*Assert.Multiple(() => + { + Assert.That(((ThreadState.Fpsr >> IDCFlagBit) & 1) != 0, Is.EqualTo(Shared.FPSR[IDCFlagBit])); + Assert.That(((ThreadState.Fpsr >> IXCFlagBit) & 1) != 0, Is.EqualTo(Shared.FPSR[IXCFlagBit])); + Assert.That(((ThreadState.Fpsr >> IOCFlagBit) & 1) != 0, Is.EqualTo(Shared.FPSR[IOCFlagBit])); + });*/ + } + + [Test, Pairwise, Description("FCVTNS , ")] + public void Fcvtns_S_D([Values(0u)] uint Rd, + [Values(1u, 0u)] uint Rn, + [ValueSource("_1D_F_")] [Random(RndCnt)] ulong Z, + [ValueSource("_1D_F_")] [Random(RndCnt)] ulong A) + { + uint Opcode = 0x5E61A800; // FCVTNS D0, D0 + Opcode |= ((Rn & 31) << 5) | ((Rd & 31) << 0); + Bits Op = new Bits(Opcode); + + Vector128 V0 = MakeVectorE0E1(Z, Z); + Vector128 V1 = MakeVectorE0(A); + AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1); + + AArch64.Vpart(0, 0, new Bits(Z)); AArch64.Vpart(0, 1, new Bits(Z)); + AArch64.V(1, new Bits(A)); + SimdFp.Fcvtns_S(Op[22], Op[9, 5], Op[4, 0]); + + Assert.Multiple(() => + { + Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); + Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); + }); + } + + [Test, Pairwise, Description("FCVTNS ., .")] + public void Fcvtns_V_2S_4S([Values(0u)] uint Rd, + [Values(1u, 0u)] uint Rn, + [ValueSource("_2S_F_")] [Random(RndCnt)] ulong Z, + [ValueSource("_2S_F_")] [Random(RndCnt)] ulong A, + [Values(0b0u, 0b1u)] uint Q) // <2S, 4S> + { + uint Opcode = 0x0E21A800; // FCVTNS V0.2S, V0.2S + Opcode |= ((Rn & 31) << 5) | ((Rd & 31) << 0); + Opcode |= ((Q & 1) << 30); + Bits Op = new Bits(Opcode); + + Vector128 V0 = MakeVectorE0E1(Z, Z); + Vector128 V1 = MakeVectorE0E1(A, A * Q); + AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1); + + AArch64.Vpart(0, 0, new Bits(Z)); AArch64.Vpart(0, 1, new Bits(Z)); + AArch64.Vpart(1, 0, new Bits(A)); AArch64.Vpart(1, 1, new Bits(A * Q)); + SimdFp.Fcvtns_V(Op[30], Op[22], Op[9, 5], Op[4, 0]); + + Assert.Multiple(() => + { + Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); + Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); + }); + } + + [Test, Pairwise, Description("FCVTNS ., .")] + public void Fcvtns_V_2D([Values(0u)] uint Rd, + [Values(1u, 0u)] uint Rn, + [ValueSource("_1D_F_")] [Random(RndCnt)] ulong Z, + [ValueSource("_1D_F_")] [Random(RndCnt)] ulong A) + { + uint Opcode = 0x4E61A800; // FCVTNS V0.2D, V0.2D + Opcode |= ((Rn & 31) << 5) | ((Rd & 31) << 0); + Bits Op = new Bits(Opcode); + + Vector128 V0 = MakeVectorE0E1(Z, Z); + Vector128 V1 = MakeVectorE0E1(A, A); + AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1); + + AArch64.Vpart(0, 0, new Bits(Z)); AArch64.Vpart(0, 1, new Bits(Z)); + AArch64.Vpart(1, 0, new Bits(A)); AArch64.Vpart(1, 1, new Bits(A)); + SimdFp.Fcvtns_V(Op[30], Op[22], Op[9, 5], Op[4, 0]); + + Assert.Multiple(() => + { + Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); + Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); + }); + } + + [Test, Pairwise, Description("FCVTNU , ")] + public void Fcvtnu_S_S([Values(0u)] uint Rd, + [Values(1u, 0u)] uint Rn, + [ValueSource("_1S_F_")] [Random(RndCnt)] ulong Z, + [ValueSource("_1S_F_")] [Random(RndCnt)] ulong A) + { + //const int FZFlagBit = 24; // Flush-to-zero mode control bit. + + //const int IDCFlagBit = 7; // Input Denormal cumulative floating-point exception bit. + //const int IXCFlagBit = 4; // Inexact cumulative floating-point exception bit. + //const int IOCFlagBit = 0; // Invalid Operation cumulative floating-point exception bit. + + uint Opcode = 0x7E21A800; // FCVTNU S0, S0 + Opcode |= ((Rn & 31) << 5) | ((Rd & 31) << 0); + Bits Op = new Bits(Opcode); + + //int Fpcr = 1 << FZFlagBit; // Flush-to-zero mode enabled. + + Vector128 V0 = MakeVectorE0E1(Z, Z); + Vector128 V1 = MakeVectorE0(A); + AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1/*, Fpcr: Fpcr*/); + + AArch64.Vpart(0, 0, new Bits(Z)); AArch64.Vpart(0, 1, new Bits(Z)); + AArch64.V(1, new Bits(A)); + //Shared.FPCR = new Bits((uint)Fpcr); + SimdFp.Fcvtnu_S(Op[22], Op[9, 5], Op[4, 0]); + + Assert.Multiple(() => + { + Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); + Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); + }); + + /*Assert.Multiple(() => + { + Assert.That(((ThreadState.Fpsr >> IDCFlagBit) & 1) != 0, Is.EqualTo(Shared.FPSR[IDCFlagBit])); + Assert.That(((ThreadState.Fpsr >> IXCFlagBit) & 1) != 0, Is.EqualTo(Shared.FPSR[IXCFlagBit])); + Assert.That(((ThreadState.Fpsr >> IOCFlagBit) & 1) != 0, Is.EqualTo(Shared.FPSR[IOCFlagBit])); + });*/ + } + + [Test, Pairwise, Description("FCVTNU , ")] + public void Fcvtnu_S_D([Values(0u)] uint Rd, + [Values(1u, 0u)] uint Rn, + [ValueSource("_1D_F_")] [Random(RndCnt)] ulong Z, + [ValueSource("_1D_F_")] [Random(RndCnt)] ulong A) + { + uint Opcode = 0x7E61A800; // FCVTNU D0, D0 + Opcode |= ((Rn & 31) << 5) | ((Rd & 31) << 0); + Bits Op = new Bits(Opcode); + + Vector128 V0 = MakeVectorE0E1(Z, Z); + Vector128 V1 = MakeVectorE0(A); + AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1); + + AArch64.Vpart(0, 0, new Bits(Z)); AArch64.Vpart(0, 1, new Bits(Z)); + AArch64.V(1, new Bits(A)); + SimdFp.Fcvtnu_S(Op[22], Op[9, 5], Op[4, 0]); + + Assert.Multiple(() => + { + Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); + Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); + }); + } + + [Test, Pairwise, Description("FCVTNU ., .")] + public void Fcvtnu_V_2S_4S([Values(0u)] uint Rd, + [Values(1u, 0u)] uint Rn, + [ValueSource("_2S_F_")] [Random(RndCnt)] ulong Z, + [ValueSource("_2S_F_")] [Random(RndCnt)] ulong A, + [Values(0b0u, 0b1u)] uint Q) // <2S, 4S> + { + uint Opcode = 0x2E21A800; // FCVTNU V0.2S, V0.2S + Opcode |= ((Rn & 31) << 5) | ((Rd & 31) << 0); + Opcode |= ((Q & 1) << 30); + Bits Op = new Bits(Opcode); + + Vector128 V0 = MakeVectorE0E1(Z, Z); + Vector128 V1 = MakeVectorE0E1(A, A * Q); + AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1); + + AArch64.Vpart(0, 0, new Bits(Z)); AArch64.Vpart(0, 1, new Bits(Z)); + AArch64.Vpart(1, 0, new Bits(A)); AArch64.Vpart(1, 1, new Bits(A * Q)); + SimdFp.Fcvtnu_V(Op[30], Op[22], Op[9, 5], Op[4, 0]); + + Assert.Multiple(() => + { + Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); + Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); + }); + } + + [Test, Pairwise, Description("FCVTNU ., .")] + public void Fcvtnu_V_2D([Values(0u)] uint Rd, + [Values(1u, 0u)] uint Rn, + [ValueSource("_1D_F_")] [Random(RndCnt)] ulong Z, + [ValueSource("_1D_F_")] [Random(RndCnt)] ulong A) + { + uint Opcode = 0x6E61A800; // FCVTNU V0.2D, V0.2D + Opcode |= ((Rn & 31) << 5) | ((Rd & 31) << 0); + Bits Op = new Bits(Opcode); + + Vector128 V0 = MakeVectorE0E1(Z, Z); + Vector128 V1 = MakeVectorE0E1(A, A); + AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1); + + AArch64.Vpart(0, 0, new Bits(Z)); AArch64.Vpart(0, 1, new Bits(Z)); + AArch64.Vpart(1, 0, new Bits(A)); AArch64.Vpart(1, 1, new Bits(A)); + SimdFp.Fcvtnu_V(Op[30], Op[22], Op[9, 5], Op[4, 0]); + + Assert.Multiple(() => + { + Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); + Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); + }); + } + + [Test, Pairwise, Description("NEG , ")] public void Neg_S_D([Values(0u)] uint Rd, [Values(1u, 0u)] uint Rn, [ValueSource("_1D_")] [Random(RndCnt)] ulong Z, @@ -853,7 +1158,7 @@ namespace Ryujinx.Tests.Cpu CompareAgainstUnicorn(); } - [Test, Description("NEG ., .")] + [Test, Pairwise, Description("NEG ., .")] public void Neg_V_8B_4H_2S([Values(0u)] uint Rd, [Values(1u, 0u)] uint Rn, [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong Z, @@ -881,7 +1186,7 @@ namespace Ryujinx.Tests.Cpu CompareAgainstUnicorn(); } - [Test, Description("NEG ., .")] + [Test, Pairwise, Description("NEG ., .")] public void Neg_V_16B_8H_4S_2D([Values(0u)] uint Rd, [Values(1u, 0u)] uint Rn, [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong Z, @@ -909,7 +1214,7 @@ namespace Ryujinx.Tests.Cpu CompareAgainstUnicorn(); } - [Test, Description("NOT ., .")] + [Test, Pairwise, Description("NOT ., .")] public void Not_V_8B([Values(0u)] uint Rd, [Values(1u, 0u)] uint Rn, [ValueSource("_8B_")] [Random(RndCnt)] ulong Z, @@ -935,7 +1240,7 @@ namespace Ryujinx.Tests.Cpu CompareAgainstUnicorn(); } - [Test, Description("NOT ., .")] + [Test, Pairwise, Description("NOT ., .")] public void Not_V_16B([Values(0u)] uint Rd, [Values(1u, 0u)] uint Rn, [ValueSource("_8B_")] [Random(RndCnt)] ulong Z, @@ -961,7 +1266,7 @@ namespace Ryujinx.Tests.Cpu CompareAgainstUnicorn(); } - [Test, Description("RBIT ., .")] + [Test, Pairwise, Description("RBIT ., .")] public void Rbit_V_8B([Values(0u)] uint Rd, [Values(1u, 0u)] uint Rn, [ValueSource("_8B_")] [Random(RndCnt)] ulong Z, @@ -987,7 +1292,7 @@ namespace Ryujinx.Tests.Cpu CompareAgainstUnicorn(); } - [Test, Description("RBIT ., .")] + [Test, Pairwise, Description("RBIT ., .")] public void Rbit_V_16B([Values(0u)] uint Rd, [Values(1u, 0u)] uint Rn, [ValueSource("_8B_")] [Random(RndCnt)] ulong Z, @@ -1013,7 +1318,7 @@ namespace Ryujinx.Tests.Cpu CompareAgainstUnicorn(); } - [Test, Description("REV16 ., .")] + [Test, Pairwise, Description("REV16 ., .")] public void Rev16_V_8B([Values(0u)] uint Rd, [Values(1u, 0u)] uint Rn, [ValueSource("_8B_")] [Random(RndCnt)] ulong Z, @@ -1039,7 +1344,7 @@ namespace Ryujinx.Tests.Cpu CompareAgainstUnicorn(); } - [Test, Description("REV16 ., .")] + [Test, Pairwise, Description("REV16 ., .")] public void Rev16_V_16B([Values(0u)] uint Rd, [Values(1u, 0u)] uint Rn, [ValueSource("_8B_")] [Random(RndCnt)] ulong Z, @@ -1065,7 +1370,7 @@ namespace Ryujinx.Tests.Cpu CompareAgainstUnicorn(); } - [Test, Description("REV32 ., .")] + [Test, Pairwise, Description("REV32 ., .")] public void Rev32_V_8B_4H([Values(0u)] uint Rd, [Values(1u, 0u)] uint Rn, [ValueSource("_8B4H_")] [Random(RndCnt)] ulong Z, @@ -1093,7 +1398,7 @@ namespace Ryujinx.Tests.Cpu CompareAgainstUnicorn(); } - [Test, Description("REV32 ., .")] + [Test, Pairwise, Description("REV32 ., .")] public void Rev32_V_16B_8H([Values(0u)] uint Rd, [Values(1u, 0u)] uint Rn, [ValueSource("_8B4H_")] [Random(RndCnt)] ulong Z, @@ -1121,7 +1426,7 @@ namespace Ryujinx.Tests.Cpu CompareAgainstUnicorn(); } - [Test, Description("REV64 ., .")] + [Test, Pairwise, Description("REV64 ., .")] public void Rev64_V_8B_4H_2S([Values(0u)] uint Rd, [Values(1u, 0u)] uint Rn, [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong Z, @@ -1149,7 +1454,7 @@ namespace Ryujinx.Tests.Cpu CompareAgainstUnicorn(); } - [Test, Description("REV64 ., .")] + [Test, Pairwise, Description("REV64 ., .")] public void Rev64_V_16B_8H_4S([Values(0u)] uint Rd, [Values(1u, 0u)] uint Rn, [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong Z, @@ -1177,7 +1482,7 @@ namespace Ryujinx.Tests.Cpu CompareAgainstUnicorn(); } - [Test, Description("SADALP ., .")] + [Test, Pairwise, Description("SADALP ., .")] public void Sadalp_V_8B4H_4H2S_2S1D([Values(0u)] uint Rd, [Values(1u, 0u)] uint Rn, [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong Z, @@ -1205,7 +1510,7 @@ namespace Ryujinx.Tests.Cpu CompareAgainstUnicorn(); } - [Test, Description("SADALP ., .")] + [Test, Pairwise, Description("SADALP ., .")] public void Sadalp_V_16B8H_8H4S_4S2D([Values(0u)] uint Rd, [Values(1u, 0u)] uint Rn, [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong Z, @@ -1233,7 +1538,7 @@ namespace Ryujinx.Tests.Cpu CompareAgainstUnicorn(); } - [Test, Description("SADDLP ., .")] + [Test, Pairwise, Description("SADDLP ., .")] public void Saddlp_V_8B4H_4H2S_2S1D([Values(0u)] uint Rd, [Values(1u, 0u)] uint Rn, [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong Z, @@ -1261,7 +1566,7 @@ namespace Ryujinx.Tests.Cpu CompareAgainstUnicorn(); } - [Test, Description("SADDLP ., .")] + [Test, Pairwise, Description("SADDLP ., .")] public void Saddlp_V_16B8H_8H4S_4S2D([Values(0u)] uint Rd, [Values(1u, 0u)] uint Rn, [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong Z, @@ -1292,8 +1597,8 @@ namespace Ryujinx.Tests.Cpu [Test, Pairwise, Description("SHA256SU0 .4S, .4S")] public void Sha256su0_V([Values(0u)] uint Rd, [Values(1u, 0u)] uint Rn, - [Random(RndCnt * 2)] ulong Z0, [Random(RndCnt * 2)] ulong Z1, - [Random(RndCnt * 2)] ulong A0, [Random(RndCnt * 2)] ulong A1) + [Random(RndCnt / 2)] ulong Z0, [Random(RndCnt / 2)] ulong Z1, + [Random(RndCnt / 2)] ulong A0, [Random(RndCnt / 2)] ulong A1) { uint Opcode = 0x5E282800; // SHA256SU0 V0.4S, V0.4S Opcode |= ((Rn & 31) << 5) | ((Rd & 31) << 0); @@ -1320,27 +1625,26 @@ namespace Ryujinx.Tests.Cpu CompareAgainstUnicorn(); } - [Test, Description("SQABS , ")] + [Test, Pairwise, Description("SQABS , ")] public void Sqabs_S_B_H_S_D([Values(0u)] uint Rd, [Values(1u, 0u)] uint Rn, [ValueSource("_1B1H1S1D_")] [Random(RndCnt)] ulong Z, [ValueSource("_1B1H1S1D_")] [Random(RndCnt)] ulong A, [Values(0b00u, 0b01u, 0b10u, 0b11u)] uint size) // { + const int QCFlagBit = 27; // Cumulative saturation bit. + uint Opcode = 0x5E207800; // SQABS B0, B0 Opcode |= ((Rn & 31) << 5) | ((Rd & 31) << 0); Opcode |= ((size & 3) << 22); Bits Op = new Bits(Opcode); - int Fpsr = (int)TestContext.CurrentContext.Random.NextUInt(); - Vector128 V0 = MakeVectorE0E1(Z, Z); Vector128 V1 = MakeVectorE0(A); - AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1, Fpsr: Fpsr); + AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1); AArch64.Vpart(0, 0, new Bits(Z)); AArch64.Vpart(0, 1, new Bits(Z)); AArch64.V(1, new Bits(A)); - Shared.FPSR = new Bits((uint)Fpsr); SimdFp.Sqabs_S(Op[23, 22], Op[9, 5], Op[4, 0]); Assert.Multiple(() => @@ -1348,31 +1652,30 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); - Assert.That(ThreadState.Fpsr, Is.EqualTo((int)Shared.FPSR.ToUInt32())); + Assert.That(((ThreadState.Fpsr >> QCFlagBit) & 1) != 0, Is.EqualTo(Shared.FPSR[QCFlagBit])); CompareAgainstUnicorn(); } - [Test, Description("SQABS ., .")] + [Test, Pairwise, Description("SQABS ., .")] public void Sqabs_V_8B_4H_2S([Values(0u)] uint Rd, [Values(1u, 0u)] uint Rn, [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong Z, [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong A, [Values(0b00u, 0b01u, 0b10u)] uint size) // <8B, 4H, 2S> { + const int QCFlagBit = 27; // Cumulative saturation bit. + uint Opcode = 0x0E207800; // SQABS V0.8B, V0.8B Opcode |= ((Rn & 31) << 5) | ((Rd & 31) << 0); Opcode |= ((size & 3) << 22); Bits Op = new Bits(Opcode); - int Fpsr = (int)TestContext.CurrentContext.Random.NextUInt(); - Vector128 V0 = MakeVectorE0E1(Z, Z); Vector128 V1 = MakeVectorE0(A); - AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1, Fpsr: Fpsr); + AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1); AArch64.Vpart(0, 0, new Bits(Z)); AArch64.Vpart(0, 1, new Bits(Z)); AArch64.V(1, new Bits(A)); - Shared.FPSR = new Bits((uint)Fpsr); SimdFp.Sqabs_V(Op[30], Op[23, 22], Op[9, 5], Op[4, 0]); Assert.Multiple(() => @@ -1380,31 +1683,30 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); - Assert.That(ThreadState.Fpsr, Is.EqualTo((int)Shared.FPSR.ToUInt32())); + Assert.That(((ThreadState.Fpsr >> QCFlagBit) & 1) != 0, Is.EqualTo(Shared.FPSR[QCFlagBit])); CompareAgainstUnicorn(); } - [Test, Description("SQABS ., .")] + [Test, Pairwise, Description("SQABS ., .")] public void Sqabs_V_16B_8H_4S_2D([Values(0u)] uint Rd, [Values(1u, 0u)] uint Rn, [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong Z, [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong A, [Values(0b00u, 0b01u, 0b10u, 0b11u)] uint size) // <16B, 8H, 4S, 2D> { + const int QCFlagBit = 27; // Cumulative saturation bit. + uint Opcode = 0x4E207800; // SQABS V0.16B, V0.16B Opcode |= ((Rn & 31) << 5) | ((Rd & 31) << 0); Opcode |= ((size & 3) << 22); Bits Op = new Bits(Opcode); - int Fpsr = (int)TestContext.CurrentContext.Random.NextUInt(); - Vector128 V0 = MakeVectorE0E1(Z, Z); Vector128 V1 = MakeVectorE0E1(A, A); - AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1, Fpsr: Fpsr); + AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1); AArch64.Vpart(0, 0, new Bits(Z)); AArch64.Vpart(0, 1, new Bits(Z)); AArch64.Vpart(1, 0, new Bits(A)); AArch64.Vpart(1, 1, new Bits(A)); - Shared.FPSR = new Bits((uint)Fpsr); SimdFp.Sqabs_V(Op[30], Op[23, 22], Op[9, 5], Op[4, 0]); Assert.Multiple(() => @@ -1412,31 +1714,30 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); - Assert.That(ThreadState.Fpsr, Is.EqualTo((int)Shared.FPSR.ToUInt32())); + Assert.That(((ThreadState.Fpsr >> QCFlagBit) & 1) != 0, Is.EqualTo(Shared.FPSR[QCFlagBit])); CompareAgainstUnicorn(); } - [Test, Description("SQNEG , ")] + [Test, Pairwise, Description("SQNEG , ")] public void Sqneg_S_B_H_S_D([Values(0u)] uint Rd, [Values(1u, 0u)] uint Rn, [ValueSource("_1B1H1S1D_")] [Random(RndCnt)] ulong Z, [ValueSource("_1B1H1S1D_")] [Random(RndCnt)] ulong A, [Values(0b00u, 0b01u, 0b10u, 0b11u)] uint size) // { + const int QCFlagBit = 27; // Cumulative saturation bit. + uint Opcode = 0x7E207800; // SQNEG B0, B0 Opcode |= ((Rn & 31) << 5) | ((Rd & 31) << 0); Opcode |= ((size & 3) << 22); Bits Op = new Bits(Opcode); - int Fpsr = (int)TestContext.CurrentContext.Random.NextUInt(); - Vector128 V0 = MakeVectorE0E1(Z, Z); Vector128 V1 = MakeVectorE0(A); - AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1, Fpsr: Fpsr); + AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1); AArch64.Vpart(0, 0, new Bits(Z)); AArch64.Vpart(0, 1, new Bits(Z)); AArch64.V(1, new Bits(A)); - Shared.FPSR = new Bits((uint)Fpsr); SimdFp.Sqneg_S(Op[23, 22], Op[9, 5], Op[4, 0]); Assert.Multiple(() => @@ -1444,31 +1745,30 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); - Assert.That(ThreadState.Fpsr, Is.EqualTo((int)Shared.FPSR.ToUInt32())); + Assert.That(((ThreadState.Fpsr >> QCFlagBit) & 1) != 0, Is.EqualTo(Shared.FPSR[QCFlagBit])); CompareAgainstUnicorn(); } - [Test, Description("SQNEG ., .")] + [Test, Pairwise, Description("SQNEG ., .")] public void Sqneg_V_8B_4H_2S([Values(0u)] uint Rd, [Values(1u, 0u)] uint Rn, [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong Z, [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong A, [Values(0b00u, 0b01u, 0b10u)] uint size) // <8B, 4H, 2S> { + const int QCFlagBit = 27; // Cumulative saturation bit. + uint Opcode = 0x2E207800; // SQNEG V0.8B, V0.8B Opcode |= ((Rn & 31) << 5) | ((Rd & 31) << 0); Opcode |= ((size & 3) << 22); Bits Op = new Bits(Opcode); - int Fpsr = (int)TestContext.CurrentContext.Random.NextUInt(); - Vector128 V0 = MakeVectorE0E1(Z, Z); Vector128 V1 = MakeVectorE0(A); - AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1, Fpsr: Fpsr); + AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1); AArch64.Vpart(0, 0, new Bits(Z)); AArch64.Vpart(0, 1, new Bits(Z)); AArch64.V(1, new Bits(A)); - Shared.FPSR = new Bits((uint)Fpsr); SimdFp.Sqneg_V(Op[30], Op[23, 22], Op[9, 5], Op[4, 0]); Assert.Multiple(() => @@ -1476,31 +1776,30 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); - Assert.That(ThreadState.Fpsr, Is.EqualTo((int)Shared.FPSR.ToUInt32())); + Assert.That(((ThreadState.Fpsr >> QCFlagBit) & 1) != 0, Is.EqualTo(Shared.FPSR[QCFlagBit])); CompareAgainstUnicorn(); } - [Test, Description("SQNEG ., .")] + [Test, Pairwise, Description("SQNEG ., .")] public void Sqneg_V_16B_8H_4S_2D([Values(0u)] uint Rd, [Values(1u, 0u)] uint Rn, [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong Z, [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong A, [Values(0b00u, 0b01u, 0b10u, 0b11u)] uint size) // <16B, 8H, 4S, 2D> { + const int QCFlagBit = 27; // Cumulative saturation bit. + uint Opcode = 0x6E207800; // SQNEG V0.16B, V0.16B Opcode |= ((Rn & 31) << 5) | ((Rd & 31) << 0); Opcode |= ((size & 3) << 22); Bits Op = new Bits(Opcode); - int Fpsr = (int)TestContext.CurrentContext.Random.NextUInt(); - Vector128 V0 = MakeVectorE0E1(Z, Z); Vector128 V1 = MakeVectorE0E1(A, A); - AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1, Fpsr: Fpsr); + AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1); AArch64.Vpart(0, 0, new Bits(Z)); AArch64.Vpart(0, 1, new Bits(Z)); AArch64.Vpart(1, 0, new Bits(A)); AArch64.Vpart(1, 1, new Bits(A)); - Shared.FPSR = new Bits((uint)Fpsr); SimdFp.Sqneg_V(Op[30], Op[23, 22], Op[9, 5], Op[4, 0]); Assert.Multiple(() => @@ -1508,31 +1807,30 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); - Assert.That(ThreadState.Fpsr, Is.EqualTo((int)Shared.FPSR.ToUInt32())); + Assert.That(((ThreadState.Fpsr >> QCFlagBit) & 1) != 0, Is.EqualTo(Shared.FPSR[QCFlagBit])); CompareAgainstUnicorn(); } - [Test, Description("SQXTN , ")] + [Test, Pairwise, Description("SQXTN , ")] public void Sqxtn_S_HB_SH_DS([Values(0u)] uint Rd, [Values(1u, 0u)] uint Rn, [ValueSource("_1H1S1D_")] [Random(RndCnt)] ulong Z, [ValueSource("_1H1S1D_")] [Random(RndCnt)] ulong A, [Values(0b00u, 0b01u, 0b10u)] uint size) // { + const int QCFlagBit = 27; // Cumulative saturation bit. + uint Opcode = 0x5E214800; // SQXTN B0, H0 Opcode |= ((Rn & 31) << 5) | ((Rd & 31) << 0); Opcode |= ((size & 3) << 22); Bits Op = new Bits(Opcode); - int Fpsr = (int)TestContext.CurrentContext.Random.NextUInt(); - Vector128 V0 = MakeVectorE0E1(Z, Z); Vector128 V1 = MakeVectorE0(A); - AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1, Fpsr: Fpsr); + AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1); AArch64.Vpart(0, 0, new Bits(Z)); AArch64.Vpart(0, 1, new Bits(Z)); AArch64.V(1, new Bits(A)); - Shared.FPSR = new Bits((uint)Fpsr); SimdFp.Sqxtn_S(Op[23, 22], Op[9, 5], Op[4, 0]); Assert.Multiple(() => @@ -1540,31 +1838,30 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); - Assert.That(ThreadState.Fpsr, Is.EqualTo((int)Shared.FPSR.ToUInt32())); + Assert.That(((ThreadState.Fpsr >> QCFlagBit) & 1) != 0, Is.EqualTo(Shared.FPSR[QCFlagBit])); CompareAgainstUnicorn(); } - [Test, Description("SQXTN{2} ., .")] + [Test, Pairwise, Description("SQXTN{2} ., .")] public void Sqxtn_V_8H8B_4S4H_2D2S([Values(0u)] uint Rd, [Values(1u, 0u)] uint Rn, [ValueSource("_4H2S1D_")] [Random(RndCnt)] ulong Z, [ValueSource("_4H2S1D_")] [Random(RndCnt)] ulong A, [Values(0b00u, 0b01u, 0b10u)] uint size) // <8H8B, 4S4H, 2D2S> { + const int QCFlagBit = 27; // Cumulative saturation bit. + uint Opcode = 0x0E214800; // SQXTN V0.8B, V0.8H Opcode |= ((Rn & 31) << 5) | ((Rd & 31) << 0); Opcode |= ((size & 3) << 22); Bits Op = new Bits(Opcode); - int Fpsr = (int)TestContext.CurrentContext.Random.NextUInt(); - Vector128 V0 = MakeVectorE0E1(Z, Z); Vector128 V1 = MakeVectorE0E1(A, A); - AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1, Fpsr: Fpsr); + AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1); AArch64.Vpart(0, 0, new Bits(Z)); AArch64.Vpart(0, 1, new Bits(Z)); AArch64.Vpart(1, 0, new Bits(A)); AArch64.Vpart(1, 1, new Bits(A)); - Shared.FPSR = new Bits((uint)Fpsr); SimdFp.Sqxtn_V(Op[30], Op[23, 22], Op[9, 5], Op[4, 0]); Assert.Multiple(() => @@ -1572,31 +1869,30 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); - Assert.That(ThreadState.Fpsr, Is.EqualTo((int)Shared.FPSR.ToUInt32())); + Assert.That(((ThreadState.Fpsr >> QCFlagBit) & 1) != 0, Is.EqualTo(Shared.FPSR[QCFlagBit])); CompareAgainstUnicorn(); } - [Test, Description("SQXTN{2} ., .")] + [Test, Pairwise, Description("SQXTN{2} ., .")] public void Sqxtn_V_8H16B_4S8H_2D4S([Values(0u)] uint Rd, [Values(1u, 0u)] uint Rn, [ValueSource("_4H2S1D_")] [Random(RndCnt)] ulong Z, [ValueSource("_4H2S1D_")] [Random(RndCnt)] ulong A, [Values(0b00u, 0b01u, 0b10u)] uint size) // <8H16B, 4S8H, 2D4S> { + const int QCFlagBit = 27; // Cumulative saturation bit. + uint Opcode = 0x4E214800; // SQXTN2 V0.16B, V0.8H Opcode |= ((Rn & 31) << 5) | ((Rd & 31) << 0); Opcode |= ((size & 3) << 22); Bits Op = new Bits(Opcode); - int Fpsr = (int)TestContext.CurrentContext.Random.NextUInt(); - Vector128 V0 = MakeVectorE0E1(Z, Z); Vector128 V1 = MakeVectorE0E1(A, A); - AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1, Fpsr: Fpsr); + AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1); AArch64.Vpart(0, 0, new Bits(Z)); AArch64.Vpart(0, 1, new Bits(Z)); AArch64.Vpart(1, 0, new Bits(A)); AArch64.Vpart(1, 1, new Bits(A)); - Shared.FPSR = new Bits((uint)Fpsr); SimdFp.Sqxtn_V(Op[30], Op[23, 22], Op[9, 5], Op[4, 0]); Assert.Multiple(() => @@ -1604,31 +1900,30 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); - Assert.That(ThreadState.Fpsr, Is.EqualTo((int)Shared.FPSR.ToUInt32())); + Assert.That(((ThreadState.Fpsr >> QCFlagBit) & 1) != 0, Is.EqualTo(Shared.FPSR[QCFlagBit])); CompareAgainstUnicorn(); } - [Test, Description("SQXTUN , ")] + [Test, Pairwise, Description("SQXTUN , ")] public void Sqxtun_S_HB_SH_DS([Values(0u)] uint Rd, [Values(1u, 0u)] uint Rn, [ValueSource("_1H1S1D_")] [Random(RndCnt)] ulong Z, [ValueSource("_1H1S1D_")] [Random(RndCnt)] ulong A, [Values(0b00u, 0b01u, 0b10u)] uint size) // { + const int QCFlagBit = 27; // Cumulative saturation bit. + uint Opcode = 0x7E212800; // SQXTUN B0, H0 Opcode |= ((Rn & 31) << 5) | ((Rd & 31) << 0); Opcode |= ((size & 3) << 22); Bits Op = new Bits(Opcode); - int Fpsr = (int)TestContext.CurrentContext.Random.NextUInt(); - Vector128 V0 = MakeVectorE0E1(Z, Z); Vector128 V1 = MakeVectorE0(A); - AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1, Fpsr: Fpsr); + AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1); AArch64.Vpart(0, 0, new Bits(Z)); AArch64.Vpart(0, 1, new Bits(Z)); AArch64.V(1, new Bits(A)); - Shared.FPSR = new Bits((uint)Fpsr); SimdFp.Sqxtun_S(Op[23, 22], Op[9, 5], Op[4, 0]); Assert.Multiple(() => @@ -1636,31 +1931,30 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); - Assert.That(ThreadState.Fpsr, Is.EqualTo((int)Shared.FPSR.ToUInt32())); + Assert.That(((ThreadState.Fpsr >> QCFlagBit) & 1) != 0, Is.EqualTo(Shared.FPSR[QCFlagBit])); CompareAgainstUnicorn(); } - [Test, Description("SQXTUN{2} ., .")] + [Test, Pairwise, Description("SQXTUN{2} ., .")] public void Sqxtun_V_8H8B_4S4H_2D2S([Values(0u)] uint Rd, [Values(1u, 0u)] uint Rn, [ValueSource("_4H2S1D_")] [Random(RndCnt)] ulong Z, [ValueSource("_4H2S1D_")] [Random(RndCnt)] ulong A, [Values(0b00u, 0b01u, 0b10u)] uint size) // <8H8B, 4S4H, 2D2S> { + const int QCFlagBit = 27; // Cumulative saturation bit. + uint Opcode = 0x2E212800; // SQXTUN V0.8B, V0.8H Opcode |= ((Rn & 31) << 5) | ((Rd & 31) << 0); Opcode |= ((size & 3) << 22); Bits Op = new Bits(Opcode); - int Fpsr = (int)TestContext.CurrentContext.Random.NextUInt(); - Vector128 V0 = MakeVectorE0E1(Z, Z); Vector128 V1 = MakeVectorE0E1(A, A); - AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1, Fpsr: Fpsr); + AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1); AArch64.Vpart(0, 0, new Bits(Z)); AArch64.Vpart(0, 1, new Bits(Z)); AArch64.Vpart(1, 0, new Bits(A)); AArch64.Vpart(1, 1, new Bits(A)); - Shared.FPSR = new Bits((uint)Fpsr); SimdFp.Sqxtun_V(Op[30], Op[23, 22], Op[9, 5], Op[4, 0]); Assert.Multiple(() => @@ -1668,31 +1962,30 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); - Assert.That(ThreadState.Fpsr, Is.EqualTo((int)Shared.FPSR.ToUInt32())); + Assert.That(((ThreadState.Fpsr >> QCFlagBit) & 1) != 0, Is.EqualTo(Shared.FPSR[QCFlagBit])); CompareAgainstUnicorn(); } - [Test, Description("SQXTUN{2} ., .")] + [Test, Pairwise, Description("SQXTUN{2} ., .")] public void Sqxtun_V_8H16B_4S8H_2D4S([Values(0u)] uint Rd, [Values(1u, 0u)] uint Rn, [ValueSource("_4H2S1D_")] [Random(RndCnt)] ulong Z, [ValueSource("_4H2S1D_")] [Random(RndCnt)] ulong A, [Values(0b00u, 0b01u, 0b10u)] uint size) // <8H16B, 4S8H, 2D4S> { + const int QCFlagBit = 27; // Cumulative saturation bit. + uint Opcode = 0x6E212800; // SQXTUN2 V0.16B, V0.8H Opcode |= ((Rn & 31) << 5) | ((Rd & 31) << 0); Opcode |= ((size & 3) << 22); Bits Op = new Bits(Opcode); - int Fpsr = (int)TestContext.CurrentContext.Random.NextUInt(); - Vector128 V0 = MakeVectorE0E1(Z, Z); Vector128 V1 = MakeVectorE0E1(A, A); - AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1, Fpsr: Fpsr); + AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1); AArch64.Vpart(0, 0, new Bits(Z)); AArch64.Vpart(0, 1, new Bits(Z)); AArch64.Vpart(1, 0, new Bits(A)); AArch64.Vpart(1, 1, new Bits(A)); - Shared.FPSR = new Bits((uint)Fpsr); SimdFp.Sqxtun_V(Op[30], Op[23, 22], Op[9, 5], Op[4, 0]); Assert.Multiple(() => @@ -1700,31 +1993,30 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); - Assert.That(ThreadState.Fpsr, Is.EqualTo((int)Shared.FPSR.ToUInt32())); + Assert.That(((ThreadState.Fpsr >> QCFlagBit) & 1) != 0, Is.EqualTo(Shared.FPSR[QCFlagBit])); CompareAgainstUnicorn(); } - [Test, Description("SUQADD , ")] + [Test, Pairwise, Description("SUQADD , ")] public void Suqadd_S_B_H_S_D([Values(0u)] uint Rd, [Values(1u, 0u)] uint Rn, [ValueSource("_1B1H1S1D_")] [Random(RndCnt)] ulong Z, [ValueSource("_1B1H1S1D_")] [Random(RndCnt)] ulong A, [Values(0b00u, 0b01u, 0b10u, 0b11u)] uint size) // { + const int QCFlagBit = 27; // Cumulative saturation bit. + uint Opcode = 0x5E203800; // SUQADD B0, B0 Opcode |= ((Rn & 31) << 5) | ((Rd & 31) << 0); Opcode |= ((size & 3) << 22); Bits Op = new Bits(Opcode); - int Fpsr = (int)TestContext.CurrentContext.Random.NextUInt(); - Vector128 V0 = MakeVectorE0E1(Z, Z); Vector128 V1 = MakeVectorE0(A); - AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1, Fpsr: Fpsr); + AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1); AArch64.Vpart(0, 0, new Bits(Z)); AArch64.Vpart(0, 1, new Bits(Z)); AArch64.V(1, new Bits(A)); - Shared.FPSR = new Bits((uint)Fpsr); SimdFp.Suqadd_S(Op[23, 22], Op[9, 5], Op[4, 0]); Assert.Multiple(() => @@ -1732,31 +2024,30 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); - Assert.That(ThreadState.Fpsr, Is.EqualTo((int)Shared.FPSR.ToUInt32())); + Assert.That(((ThreadState.Fpsr >> QCFlagBit) & 1) != 0, Is.EqualTo(Shared.FPSR[QCFlagBit])); CompareAgainstUnicorn(); } - [Test, Description("SUQADD ., .")] + [Test, Pairwise, Description("SUQADD ., .")] public void Suqadd_V_8B_4H_2S([Values(0u)] uint Rd, [Values(1u, 0u)] uint Rn, [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong Z, [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong A, [Values(0b00u, 0b01u, 0b10u)] uint size) // <8B, 4H, 2S> { + const int QCFlagBit = 27; // Cumulative saturation bit. + uint Opcode = 0x0E203800; // SUQADD V0.8B, V0.8B Opcode |= ((Rn & 31) << 5) | ((Rd & 31) << 0); Opcode |= ((size & 3) << 22); Bits Op = new Bits(Opcode); - int Fpsr = (int)TestContext.CurrentContext.Random.NextUInt(); - Vector128 V0 = MakeVectorE0E1(Z, Z); Vector128 V1 = MakeVectorE0(A); - AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1, Fpsr: Fpsr); + AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1); AArch64.Vpart(0, 0, new Bits(Z)); AArch64.Vpart(0, 1, new Bits(Z)); AArch64.V(1, new Bits(A)); - Shared.FPSR = new Bits((uint)Fpsr); SimdFp.Suqadd_V(Op[30], Op[23, 22], Op[9, 5], Op[4, 0]); Assert.Multiple(() => @@ -1764,31 +2055,30 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); - Assert.That(ThreadState.Fpsr, Is.EqualTo((int)Shared.FPSR.ToUInt32())); + Assert.That(((ThreadState.Fpsr >> QCFlagBit) & 1) != 0, Is.EqualTo(Shared.FPSR[QCFlagBit])); CompareAgainstUnicorn(); } - [Test, Description("SUQADD ., .")] + [Test, Pairwise, Description("SUQADD ., .")] public void Suqadd_V_16B_8H_4S_2D([Values(0u)] uint Rd, [Values(1u, 0u)] uint Rn, [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong Z, [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong A, [Values(0b00u, 0b01u, 0b10u, 0b11u)] uint size) // <16B, 8H, 4S, 2D> { + const int QCFlagBit = 27; // Cumulative saturation bit. + uint Opcode = 0x4E203800; // SUQADD V0.16B, V0.16B Opcode |= ((Rn & 31) << 5) | ((Rd & 31) << 0); Opcode |= ((size & 3) << 22); Bits Op = new Bits(Opcode); - int Fpsr = (int)TestContext.CurrentContext.Random.NextUInt(); - Vector128 V0 = MakeVectorE0E1(Z, Z); Vector128 V1 = MakeVectorE0E1(A, A); - AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1, Fpsr: Fpsr); + AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1); AArch64.Vpart(0, 0, new Bits(Z)); AArch64.Vpart(0, 1, new Bits(Z)); AArch64.Vpart(1, 0, new Bits(A)); AArch64.Vpart(1, 1, new Bits(A)); - Shared.FPSR = new Bits((uint)Fpsr); SimdFp.Suqadd_V(Op[30], Op[23, 22], Op[9, 5], Op[4, 0]); Assert.Multiple(() => @@ -1796,11 +2086,11 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); - Assert.That(ThreadState.Fpsr, Is.EqualTo((int)Shared.FPSR.ToUInt32())); + Assert.That(((ThreadState.Fpsr >> QCFlagBit) & 1) != 0, Is.EqualTo(Shared.FPSR[QCFlagBit])); CompareAgainstUnicorn(); } - [Test, Description("UADALP ., .")] + [Test, Pairwise, Description("UADALP ., .")] public void Uadalp_V_8B4H_4H2S_2S1D([Values(0u)] uint Rd, [Values(1u, 0u)] uint Rn, [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong Z, @@ -1828,7 +2118,7 @@ namespace Ryujinx.Tests.Cpu CompareAgainstUnicorn(); } - [Test, Description("UADALP ., .")] + [Test, Pairwise, Description("UADALP ., .")] public void Uadalp_V_16B8H_8H4S_4S2D([Values(0u)] uint Rd, [Values(1u, 0u)] uint Rn, [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong Z, @@ -1856,7 +2146,7 @@ namespace Ryujinx.Tests.Cpu CompareAgainstUnicorn(); } - [Test, Description("UADDLP ., .")] + [Test, Pairwise, Description("UADDLP ., .")] public void Uaddlp_V_8B4H_4H2S_2S1D([Values(0u)] uint Rd, [Values(1u, 0u)] uint Rn, [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong Z, @@ -1884,7 +2174,7 @@ namespace Ryujinx.Tests.Cpu CompareAgainstUnicorn(); } - [Test, Description("UADDLP ., .")] + [Test, Pairwise, Description("UADDLP ., .")] public void Uaddlp_V_16B8H_8H4S_4S2D([Values(0u)] uint Rd, [Values(1u, 0u)] uint Rn, [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong Z, @@ -1912,27 +2202,26 @@ namespace Ryujinx.Tests.Cpu CompareAgainstUnicorn(); } - [Test, Description("UQXTN , ")] + [Test, Pairwise, Description("UQXTN , ")] public void Uqxtn_S_HB_SH_DS([Values(0u)] uint Rd, [Values(1u, 0u)] uint Rn, [ValueSource("_1H1S1D_")] [Random(RndCnt)] ulong Z, [ValueSource("_1H1S1D_")] [Random(RndCnt)] ulong A, [Values(0b00u, 0b01u, 0b10u)] uint size) // { + const int QCFlagBit = 27; // Cumulative saturation bit. + uint Opcode = 0x7E214800; // UQXTN B0, H0 Opcode |= ((Rn & 31) << 5) | ((Rd & 31) << 0); Opcode |= ((size & 3) << 22); Bits Op = new Bits(Opcode); - int Fpsr = (int)TestContext.CurrentContext.Random.NextUInt(); - Vector128 V0 = MakeVectorE0E1(Z, Z); Vector128 V1 = MakeVectorE0(A); - AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1, Fpsr: Fpsr); + AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1); AArch64.Vpart(0, 0, new Bits(Z)); AArch64.Vpart(0, 1, new Bits(Z)); AArch64.V(1, new Bits(A)); - Shared.FPSR = new Bits((uint)Fpsr); SimdFp.Uqxtn_S(Op[23, 22], Op[9, 5], Op[4, 0]); Assert.Multiple(() => @@ -1940,31 +2229,30 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); - Assert.That(ThreadState.Fpsr, Is.EqualTo((int)Shared.FPSR.ToUInt32())); + Assert.That(((ThreadState.Fpsr >> QCFlagBit) & 1) != 0, Is.EqualTo(Shared.FPSR[QCFlagBit])); CompareAgainstUnicorn(); } - [Test, Description("UQXTN{2} ., .")] + [Test, Pairwise, Description("UQXTN{2} ., .")] public void Uqxtn_V_8H8B_4S4H_2D2S([Values(0u)] uint Rd, [Values(1u, 0u)] uint Rn, [ValueSource("_4H2S1D_")] [Random(RndCnt)] ulong Z, [ValueSource("_4H2S1D_")] [Random(RndCnt)] ulong A, [Values(0b00u, 0b01u, 0b10u)] uint size) // <8H8B, 4S4H, 2D2S> { + const int QCFlagBit = 27; // Cumulative saturation bit. + uint Opcode = 0x2E214800; // UQXTN V0.8B, V0.8H Opcode |= ((Rn & 31) << 5) | ((Rd & 31) << 0); Opcode |= ((size & 3) << 22); Bits Op = new Bits(Opcode); - int Fpsr = (int)TestContext.CurrentContext.Random.NextUInt(); - Vector128 V0 = MakeVectorE0E1(Z, Z); Vector128 V1 = MakeVectorE0E1(A, A); - AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1, Fpsr: Fpsr); + AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1); AArch64.Vpart(0, 0, new Bits(Z)); AArch64.Vpart(0, 1, new Bits(Z)); AArch64.Vpart(1, 0, new Bits(A)); AArch64.Vpart(1, 1, new Bits(A)); - Shared.FPSR = new Bits((uint)Fpsr); SimdFp.Uqxtn_V(Op[30], Op[23, 22], Op[9, 5], Op[4, 0]); Assert.Multiple(() => @@ -1972,31 +2260,30 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); - Assert.That(ThreadState.Fpsr, Is.EqualTo((int)Shared.FPSR.ToUInt32())); + Assert.That(((ThreadState.Fpsr >> QCFlagBit) & 1) != 0, Is.EqualTo(Shared.FPSR[QCFlagBit])); CompareAgainstUnicorn(); } - [Test, Description("UQXTN{2} ., .")] + [Test, Pairwise, Description("UQXTN{2} ., .")] public void Uqxtn_V_8H16B_4S8H_2D4S([Values(0u)] uint Rd, [Values(1u, 0u)] uint Rn, [ValueSource("_4H2S1D_")] [Random(RndCnt)] ulong Z, [ValueSource("_4H2S1D_")] [Random(RndCnt)] ulong A, [Values(0b00u, 0b01u, 0b10u)] uint size) // <8H16B, 4S8H, 2D4S> { + const int QCFlagBit = 27; // Cumulative saturation bit. + uint Opcode = 0x6E214800; // UQXTN2 V0.16B, V0.8H Opcode |= ((Rn & 31) << 5) | ((Rd & 31) << 0); Opcode |= ((size & 3) << 22); Bits Op = new Bits(Opcode); - int Fpsr = (int)TestContext.CurrentContext.Random.NextUInt(); - Vector128 V0 = MakeVectorE0E1(Z, Z); Vector128 V1 = MakeVectorE0E1(A, A); - AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1, Fpsr: Fpsr); + AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1); AArch64.Vpart(0, 0, new Bits(Z)); AArch64.Vpart(0, 1, new Bits(Z)); AArch64.Vpart(1, 0, new Bits(A)); AArch64.Vpart(1, 1, new Bits(A)); - Shared.FPSR = new Bits((uint)Fpsr); SimdFp.Uqxtn_V(Op[30], Op[23, 22], Op[9, 5], Op[4, 0]); Assert.Multiple(() => @@ -2004,31 +2291,30 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); - Assert.That(ThreadState.Fpsr, Is.EqualTo((int)Shared.FPSR.ToUInt32())); + Assert.That(((ThreadState.Fpsr >> QCFlagBit) & 1) != 0, Is.EqualTo(Shared.FPSR[QCFlagBit])); CompareAgainstUnicorn(); } - [Test, Description("USQADD , ")] + [Test, Pairwise, Description("USQADD , ")] public void Usqadd_S_B_H_S_D([Values(0u)] uint Rd, [Values(1u, 0u)] uint Rn, [ValueSource("_1B1H1S1D_")] [Random(RndCnt)] ulong Z, [ValueSource("_1B1H1S1D_")] [Random(RndCnt)] ulong A, [Values(0b00u, 0b01u, 0b10u, 0b11u)] uint size) // { + const int QCFlagBit = 27; // Cumulative saturation bit. + uint Opcode = 0x7E203800; // USQADD B0, B0 Opcode |= ((Rn & 31) << 5) | ((Rd & 31) << 0); Opcode |= ((size & 3) << 22); Bits Op = new Bits(Opcode); - int Fpsr = (int)TestContext.CurrentContext.Random.NextUInt(); - Vector128 V0 = MakeVectorE0E1(Z, Z); Vector128 V1 = MakeVectorE0(A); - AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1, Fpsr: Fpsr); + AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1); AArch64.Vpart(0, 0, new Bits(Z)); AArch64.Vpart(0, 1, new Bits(Z)); AArch64.V(1, new Bits(A)); - Shared.FPSR = new Bits((uint)Fpsr); SimdFp.Usqadd_S(Op[23, 22], Op[9, 5], Op[4, 0]); Assert.Multiple(() => @@ -2036,31 +2322,30 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); - Assert.That(ThreadState.Fpsr, Is.EqualTo((int)Shared.FPSR.ToUInt32())); + Assert.That(((ThreadState.Fpsr >> QCFlagBit) & 1) != 0, Is.EqualTo(Shared.FPSR[QCFlagBit])); CompareAgainstUnicorn(); } - [Test, Description("USQADD ., .")] + [Test, Pairwise, Description("USQADD ., .")] public void Usqadd_V_8B_4H_2S([Values(0u)] uint Rd, [Values(1u, 0u)] uint Rn, [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong Z, [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong A, [Values(0b00u, 0b01u, 0b10u)] uint size) // <8B, 4H, 2S> { + const int QCFlagBit = 27; // Cumulative saturation bit. + uint Opcode = 0x2E203800; // USQADD V0.8B, V0.8B Opcode |= ((Rn & 31) << 5) | ((Rd & 31) << 0); Opcode |= ((size & 3) << 22); Bits Op = new Bits(Opcode); - int Fpsr = (int)TestContext.CurrentContext.Random.NextUInt(); - Vector128 V0 = MakeVectorE0E1(Z, Z); Vector128 V1 = MakeVectorE0(A); - AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1, Fpsr: Fpsr); + AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1); AArch64.Vpart(0, 0, new Bits(Z)); AArch64.Vpart(0, 1, new Bits(Z)); AArch64.V(1, new Bits(A)); - Shared.FPSR = new Bits((uint)Fpsr); SimdFp.Usqadd_V(Op[30], Op[23, 22], Op[9, 5], Op[4, 0]); Assert.Multiple(() => @@ -2068,31 +2353,30 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); - Assert.That(ThreadState.Fpsr, Is.EqualTo((int)Shared.FPSR.ToUInt32())); + Assert.That(((ThreadState.Fpsr >> QCFlagBit) & 1) != 0, Is.EqualTo(Shared.FPSR[QCFlagBit])); CompareAgainstUnicorn(); } - [Test, Description("USQADD ., .")] + [Test, Pairwise, Description("USQADD ., .")] public void Usqadd_V_16B_8H_4S_2D([Values(0u)] uint Rd, [Values(1u, 0u)] uint Rn, [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong Z, [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong A, [Values(0b00u, 0b01u, 0b10u, 0b11u)] uint size) // <16B, 8H, 4S, 2D> { + const int QCFlagBit = 27; // Cumulative saturation bit. + uint Opcode = 0x6E203800; // USQADD V0.16B, V0.16B Opcode |= ((Rn & 31) << 5) | ((Rd & 31) << 0); Opcode |= ((size & 3) << 22); Bits Op = new Bits(Opcode); - int Fpsr = (int)TestContext.CurrentContext.Random.NextUInt(); - Vector128 V0 = MakeVectorE0E1(Z, Z); Vector128 V1 = MakeVectorE0E1(A, A); - AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1, Fpsr: Fpsr); + AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1); AArch64.Vpart(0, 0, new Bits(Z)); AArch64.Vpart(0, 1, new Bits(Z)); AArch64.Vpart(1, 0, new Bits(A)); AArch64.Vpart(1, 1, new Bits(A)); - Shared.FPSR = new Bits((uint)Fpsr); SimdFp.Usqadd_V(Op[30], Op[23, 22], Op[9, 5], Op[4, 0]); Assert.Multiple(() => @@ -2100,11 +2384,11 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); - Assert.That(ThreadState.Fpsr, Is.EqualTo((int)Shared.FPSR.ToUInt32())); + Assert.That(((ThreadState.Fpsr >> QCFlagBit) & 1) != 0, Is.EqualTo(Shared.FPSR[QCFlagBit])); CompareAgainstUnicorn(); } - [Test, Description("XTN{2} ., .")] + [Test, Pairwise, Description("XTN{2} ., .")] public void Xtn_V_8H8B_4S4H_2D2S([Values(0u)] uint Rd, [Values(1u, 0u)] uint Rn, [ValueSource("_4H2S1D_")] [Random(RndCnt)] ulong Z, @@ -2132,7 +2416,7 @@ namespace Ryujinx.Tests.Cpu CompareAgainstUnicorn(); } - [Test, Description("XTN{2} ., .")] + [Test, Pairwise, Description("XTN{2} ., .")] public void Xtn_V_8H16B_4S8H_2D4S([Values(0u)] uint Rd, [Values(1u, 0u)] uint Rn, [ValueSource("_4H2S1D_")] [Random(RndCnt)] ulong Z, diff --git a/Ryujinx.Tests/Cpu/CpuTestSimdReg.cs b/Ryujinx.Tests/Cpu/CpuTestSimdReg.cs index 782e5921e..b7633e8be 100644 --- a/Ryujinx.Tests/Cpu/CpuTestSimdReg.cs +++ b/Ryujinx.Tests/Cpu/CpuTestSimdReg.cs @@ -86,7 +86,7 @@ namespace Ryujinx.Tests.Cpu } #endregion - private const int RndCnt = 4; + private const int RndCnt = 2; [Test, Pairwise, Description("ADD , , ")] public void Add_S_D([Values(0u)] uint Rd, @@ -1738,6 +1738,68 @@ namespace Ryujinx.Tests.Cpu CompareAgainstUnicorn(); } + [Test, Pairwise, Description("SADDL{2} ., ., .")] + public void Saddl_V_8B8H_4H4S_2S2D([Values(0u)] uint Rd, + [Values(1u, 0u)] uint Rn, + [Values(2u, 0u)] uint Rm, + [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong Z, + [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong A, + [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong B, + [Values(0b00u, 0b01u, 0b10u)] uint size) // <8B8H, 4H4S, 2S2D> + { + uint Opcode = 0x0E200000; // SADDL V0.8H, V0.8B, V0.8B + Opcode |= ((Rm & 31) << 16) | ((Rn & 31) << 5) | ((Rd & 31) << 0); + Opcode |= ((size & 3) << 22); + Bits Op = new Bits(Opcode); + + Vector128 V0 = MakeVectorE0E1(Z, Z); + Vector128 V1 = MakeVectorE0(A); + Vector128 V2 = MakeVectorE0(B); + AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1, V2: V2); + + AArch64.Vpart(0, 0, new Bits(Z)); AArch64.Vpart(0, 1, new Bits(Z)); + AArch64.Vpart(1, 0, new Bits(A)); + AArch64.Vpart(2, 0, new Bits(B)); + SimdFp.Saddl_V(Op[30], Op[23, 22], Op[20, 16], Op[9, 5], Op[4, 0]); + + Assert.Multiple(() => + { + Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); + Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); + }); + } + + [Test, Pairwise, Description("SADDL{2} ., ., .")] + public void Saddl_V_16B8H_8H4S_4S2D([Values(0u)] uint Rd, + [Values(1u, 0u)] uint Rn, + [Values(2u, 0u)] uint Rm, + [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong Z, + [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong A, + [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong B, + [Values(0b00u, 0b01u, 0b10u)] uint size) // <16B8H, 8H4S, 4S2D> + { + uint Opcode = 0x4E200000; // SADDL2 V0.8H, V0.16B, V0.16B + Opcode |= ((Rm & 31) << 16) | ((Rn & 31) << 5) | ((Rd & 31) << 0); + Opcode |= ((size & 3) << 22); + Bits Op = new Bits(Opcode); + + Vector128 V0 = MakeVectorE0E1(Z, Z); + Vector128 V1 = MakeVectorE1(A); + Vector128 V2 = MakeVectorE1(B); + AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1, V2: V2); + + AArch64.Vpart(0, 0, new Bits(Z)); AArch64.Vpart(0, 1, new Bits(Z)); + AArch64.Vpart(1, 1, new Bits(A)); + AArch64.Vpart(2, 1, new Bits(B)); + SimdFp.Saddl_V(Op[30], Op[23, 22], Op[20, 16], Op[9, 5], Op[4, 0]); + + Assert.Multiple(() => + { + Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); + Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); + }); + } + [Test, Pairwise, Description("SADDW{2} ., ., .")] public void Saddw_V_8B8H8H_4H4S4S_2S2D2D([Values(0u)] uint Rd, [Values(1u, 0u)] uint Rn, @@ -2040,6 +2102,130 @@ namespace Ryujinx.Tests.Cpu }); } + [Test, Pairwise, Description("SMLAL{2} ., ., .")] + public void Smlal_V_8B8H_4H4S_2S2D([Values(0u)] uint Rd, + [Values(1u, 0u)] uint Rn, + [Values(2u, 0u)] uint Rm, + [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong Z, + [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong A, + [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong B, + [Values(0b00u, 0b01u, 0b10u)] uint size) // <8B8H, 4H4S, 2S2D> + { + uint Opcode = 0x0E208000; // SMLAL V0.8H, V0.8B, V0.8B + Opcode |= ((Rm & 31) << 16) | ((Rn & 31) << 5) | ((Rd & 31) << 0); + Opcode |= ((size & 3) << 22); + Bits Op = new Bits(Opcode); + + Vector128 V0 = MakeVectorE0E1(Z, Z); + Vector128 V1 = MakeVectorE0(A); + Vector128 V2 = MakeVectorE0(B); + AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1, V2: V2); + + AArch64.Vpart(0, 0, new Bits(Z)); AArch64.Vpart(0, 1, new Bits(Z)); + AArch64.Vpart(1, 0, new Bits(A)); + AArch64.Vpart(2, 0, new Bits(B)); + SimdFp.Smlal_V(Op[30], Op[23, 22], Op[20, 16], Op[9, 5], Op[4, 0]); + + Assert.Multiple(() => + { + Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); + Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); + }); + } + + [Test, Pairwise, Description("SMLAL{2} ., ., .")] + public void Smlal_V_16B8H_8H4S_4S2D([Values(0u)] uint Rd, + [Values(1u, 0u)] uint Rn, + [Values(2u, 0u)] uint Rm, + [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong Z, + [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong A, + [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong B, + [Values(0b00u, 0b01u, 0b10u)] uint size) // <16B8H, 8H4S, 4S2D> + { + uint Opcode = 0x4E208000; // SMLAL2 V0.8H, V0.16B, V0.16B + Opcode |= ((Rm & 31) << 16) | ((Rn & 31) << 5) | ((Rd & 31) << 0); + Opcode |= ((size & 3) << 22); + Bits Op = new Bits(Opcode); + + Vector128 V0 = MakeVectorE0E1(Z, Z); + Vector128 V1 = MakeVectorE1(A); + Vector128 V2 = MakeVectorE1(B); + AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1, V2: V2); + + AArch64.Vpart(0, 0, new Bits(Z)); AArch64.Vpart(0, 1, new Bits(Z)); + AArch64.Vpart(1, 1, new Bits(A)); + AArch64.Vpart(2, 1, new Bits(B)); + SimdFp.Smlal_V(Op[30], Op[23, 22], Op[20, 16], Op[9, 5], Op[4, 0]); + + Assert.Multiple(() => + { + Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); + Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); + }); + } + + [Test, Pairwise, Description("SMLSL{2} ., ., .")] + public void Smlsl_V_8B8H_4H4S_2S2D([Values(0u)] uint Rd, + [Values(1u, 0u)] uint Rn, + [Values(2u, 0u)] uint Rm, + [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong Z, + [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong A, + [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong B, + [Values(0b00u, 0b01u, 0b10u)] uint size) // <8B8H, 4H4S, 2S2D> + { + uint Opcode = 0x0E20A000; // SMLSL V0.8H, V0.8B, V0.8B + Opcode |= ((Rm & 31) << 16) | ((Rn & 31) << 5) | ((Rd & 31) << 0); + Opcode |= ((size & 3) << 22); + Bits Op = new Bits(Opcode); + + Vector128 V0 = MakeVectorE0E1(Z, Z); + Vector128 V1 = MakeVectorE0(A); + Vector128 V2 = MakeVectorE0(B); + AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1, V2: V2); + + AArch64.Vpart(0, 0, new Bits(Z)); AArch64.Vpart(0, 1, new Bits(Z)); + AArch64.Vpart(1, 0, new Bits(A)); + AArch64.Vpart(2, 0, new Bits(B)); + SimdFp.Smlsl_V(Op[30], Op[23, 22], Op[20, 16], Op[9, 5], Op[4, 0]); + + Assert.Multiple(() => + { + Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); + Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); + }); + } + + [Test, Pairwise, Description("SMLSL{2} ., ., .")] + public void Smlsl_V_16B8H_8H4S_4S2D([Values(0u)] uint Rd, + [Values(1u, 0u)] uint Rn, + [Values(2u, 0u)] uint Rm, + [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong Z, + [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong A, + [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong B, + [Values(0b00u, 0b01u, 0b10u)] uint size) // <16B8H, 8H4S, 4S2D> + { + uint Opcode = 0x4E20A000; // SMLSL2 V0.8H, V0.16B, V0.16B + Opcode |= ((Rm & 31) << 16) | ((Rn & 31) << 5) | ((Rd & 31) << 0); + Opcode |= ((size & 3) << 22); + Bits Op = new Bits(Opcode); + + Vector128 V0 = MakeVectorE0E1(Z, Z); + Vector128 V1 = MakeVectorE1(A); + Vector128 V2 = MakeVectorE1(B); + AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1, V2: V2); + + AArch64.Vpart(0, 0, new Bits(Z)); AArch64.Vpart(0, 1, new Bits(Z)); + AArch64.Vpart(1, 1, new Bits(A)); + AArch64.Vpart(2, 1, new Bits(B)); + SimdFp.Smlsl_V(Op[30], Op[23, 22], Op[20, 16], Op[9, 5], Op[4, 0]); + + Assert.Multiple(() => + { + Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); + Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); + }); + } + [Test, Pairwise, Description("SQADD , , ")] public void Sqadd_S_B_H_S_D([Values(0u)] uint Rd, [Values(1u, 0u)] uint Rn, @@ -2049,22 +2235,21 @@ namespace Ryujinx.Tests.Cpu [ValueSource("_1B1H1S1D_")] [Random(RndCnt)] ulong B, [Values(0b00u, 0b01u, 0b10u, 0b11u)] uint size) // { + const int QCFlagBit = 27; // Cumulative saturation bit. + uint Opcode = 0x5E200C00; // SQADD B0, B0, B0 Opcode |= ((Rm & 31) << 16) | ((Rn & 31) << 5) | ((Rd & 31) << 0); Opcode |= ((size & 3) << 22); Bits Op = new Bits(Opcode); - int Fpsr = (int)TestContext.CurrentContext.Random.NextUInt(); - Vector128 V0 = MakeVectorE0E1(Z, Z); Vector128 V1 = MakeVectorE0(A); Vector128 V2 = MakeVectorE0(B); - AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1, V2: V2, Fpsr: Fpsr); + AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1, V2: V2); AArch64.Vpart(0, 0, new Bits(Z)); AArch64.Vpart(0, 1, new Bits(Z)); AArch64.V(1, new Bits(A)); AArch64.V(2, new Bits(B)); - Shared.FPSR = new Bits((uint)Fpsr); SimdFp.Sqadd_S(Op[23, 22], Op[20, 16], Op[9, 5], Op[4, 0]); Assert.Multiple(() => @@ -2072,7 +2257,8 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); - Assert.That(ThreadState.Fpsr, Is.EqualTo((int)Shared.FPSR.ToUInt32())); + + Assert.That(((ThreadState.Fpsr >> QCFlagBit) & 1) != 0, Is.EqualTo(Shared.FPSR[QCFlagBit])); } [Test, Pairwise, Description("SQADD ., ., .")] @@ -2084,22 +2270,21 @@ namespace Ryujinx.Tests.Cpu [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong B, [Values(0b00u, 0b01u, 0b10u)] uint size) // <8B, 4H, 2S> { + const int QCFlagBit = 27; // Cumulative saturation bit. + uint Opcode = 0x0E200C00; // SQADD V0.8B, V0.8B, V0.8B Opcode |= ((Rm & 31) << 16) | ((Rn & 31) << 5) | ((Rd & 31) << 0); Opcode |= ((size & 3) << 22); Bits Op = new Bits(Opcode); - int Fpsr = (int)TestContext.CurrentContext.Random.NextUInt(); - Vector128 V0 = MakeVectorE0E1(Z, Z); Vector128 V1 = MakeVectorE0(A); Vector128 V2 = MakeVectorE0(B); - AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1, V2: V2, Fpsr: Fpsr); + AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1, V2: V2); AArch64.Vpart(0, 0, new Bits(Z)); AArch64.Vpart(0, 1, new Bits(Z)); AArch64.V(1, new Bits(A)); AArch64.V(2, new Bits(B)); - Shared.FPSR = new Bits((uint)Fpsr); SimdFp.Sqadd_V(Op[30], Op[23, 22], Op[20, 16], Op[9, 5], Op[4, 0]); Assert.Multiple(() => @@ -2107,7 +2292,8 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); - Assert.That(ThreadState.Fpsr, Is.EqualTo((int)Shared.FPSR.ToUInt32())); + + Assert.That(((ThreadState.Fpsr >> QCFlagBit) & 1) != 0, Is.EqualTo(Shared.FPSR[QCFlagBit])); } [Test, Pairwise, Description("SQADD ., ., .")] @@ -2119,22 +2305,21 @@ namespace Ryujinx.Tests.Cpu [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong B, [Values(0b00u, 0b01u, 0b10u, 0b11u)] uint size) // <16B, 8H, 4S, 2D> { + const int QCFlagBit = 27; // Cumulative saturation bit. + uint Opcode = 0x4E200C00; // SQADD V0.16B, V0.16B, V0.16B Opcode |= ((Rm & 31) << 16) | ((Rn & 31) << 5) | ((Rd & 31) << 0); Opcode |= ((size & 3) << 22); Bits Op = new Bits(Opcode); - int Fpsr = (int)TestContext.CurrentContext.Random.NextUInt(); - Vector128 V0 = MakeVectorE0E1(Z, Z); Vector128 V1 = MakeVectorE0E1(A, A); Vector128 V2 = MakeVectorE0E1(B, B); - AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1, V2: V2, Fpsr: Fpsr); + AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1, V2: V2); AArch64.Vpart(0, 0, new Bits(Z)); AArch64.Vpart(0, 1, new Bits(Z)); AArch64.Vpart(1, 0, new Bits(A)); AArch64.Vpart(1, 1, new Bits(A)); AArch64.Vpart(2, 0, new Bits(B)); AArch64.Vpart(2, 1, new Bits(B)); - Shared.FPSR = new Bits((uint)Fpsr); SimdFp.Sqadd_V(Op[30], Op[23, 22], Op[20, 16], Op[9, 5], Op[4, 0]); Assert.Multiple(() => @@ -2142,7 +2327,8 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); - Assert.That(ThreadState.Fpsr, Is.EqualTo((int)Shared.FPSR.ToUInt32())); + + Assert.That(((ThreadState.Fpsr >> QCFlagBit) & 1) != 0, Is.EqualTo(Shared.FPSR[QCFlagBit])); } [Test, Pairwise, Description("SQDMULH , , ")] @@ -2154,22 +2340,21 @@ namespace Ryujinx.Tests.Cpu [ValueSource("_1H1S_")] [Random(RndCnt)] ulong B, [Values(0b01u, 0b10u)] uint size) // { + const int QCFlagBit = 27; // Cumulative saturation bit. + uint Opcode = 0x5E20B400; // SQDMULH B0, B0, B0 (RESERVED) Opcode |= ((Rm & 31) << 16) | ((Rn & 31) << 5) | ((Rd & 31) << 0); Opcode |= ((size & 3) << 22); Bits Op = new Bits(Opcode); - int Fpsr = (int)TestContext.CurrentContext.Random.NextUInt(); - Vector128 V0 = MakeVectorE0E1(Z, Z); Vector128 V1 = MakeVectorE0(A); Vector128 V2 = MakeVectorE0(B); - AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1, V2: V2, Fpsr: Fpsr); + AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1, V2: V2); AArch64.Vpart(0, 0, new Bits(Z)); AArch64.Vpart(0, 1, new Bits(Z)); AArch64.V(1, new Bits(A)); AArch64.V(2, new Bits(B)); - Shared.FPSR = new Bits((uint)Fpsr); SimdFp.Sqdmulh_S(Op[23, 22], Op[20, 16], Op[9, 5], Op[4, 0]); Assert.Multiple(() => @@ -2177,7 +2362,8 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); - Assert.That(ThreadState.Fpsr, Is.EqualTo((int)Shared.FPSR.ToUInt32())); + + Assert.That(((ThreadState.Fpsr >> QCFlagBit) & 1) != 0, Is.EqualTo(Shared.FPSR[QCFlagBit])); } [Test, Pairwise, Description("SQDMULH ., ., .")] @@ -2189,22 +2375,21 @@ namespace Ryujinx.Tests.Cpu [ValueSource("_4H2S_")] [Random(RndCnt)] ulong B, [Values(0b01u, 0b10u)] uint size) // <4H, 2S> { + const int QCFlagBit = 27; // Cumulative saturation bit. + uint Opcode = 0x0E20B400; // SQDMULH V0.8B, V0.8B, V0.8B (RESERVED) Opcode |= ((Rm & 31) << 16) | ((Rn & 31) << 5) | ((Rd & 31) << 0); Opcode |= ((size & 3) << 22); Bits Op = new Bits(Opcode); - int Fpsr = (int)TestContext.CurrentContext.Random.NextUInt(); - Vector128 V0 = MakeVectorE0E1(Z, Z); Vector128 V1 = MakeVectorE0(A); Vector128 V2 = MakeVectorE0(B); - AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1, V2: V2, Fpsr: Fpsr); + AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1, V2: V2); AArch64.Vpart(0, 0, new Bits(Z)); AArch64.Vpart(0, 1, new Bits(Z)); AArch64.V(1, new Bits(A)); AArch64.V(2, new Bits(B)); - Shared.FPSR = new Bits((uint)Fpsr); SimdFp.Sqdmulh_V(Op[30], Op[23, 22], Op[20, 16], Op[9, 5], Op[4, 0]); Assert.Multiple(() => @@ -2212,7 +2397,8 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); - Assert.That(ThreadState.Fpsr, Is.EqualTo((int)Shared.FPSR.ToUInt32())); + + Assert.That(((ThreadState.Fpsr >> QCFlagBit) & 1) != 0, Is.EqualTo(Shared.FPSR[QCFlagBit])); } [Test, Pairwise, Description("SQDMULH ., ., .")] @@ -2224,22 +2410,21 @@ namespace Ryujinx.Tests.Cpu [ValueSource("_4H2S_")] [Random(RndCnt)] ulong B, [Values(0b01u, 0b10u)] uint size) // <8H, 4S> { + const int QCFlagBit = 27; // Cumulative saturation bit. + uint Opcode = 0x4E20B400; // SQDMULH V0.16B, V0.16B, V0.16B (RESERVED) Opcode |= ((Rm & 31) << 16) | ((Rn & 31) << 5) | ((Rd & 31) << 0); Opcode |= ((size & 3) << 22); Bits Op = new Bits(Opcode); - int Fpsr = (int)TestContext.CurrentContext.Random.NextUInt(); - Vector128 V0 = MakeVectorE0E1(Z, Z); Vector128 V1 = MakeVectorE0E1(A, A); Vector128 V2 = MakeVectorE0E1(B, B); - AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1, V2: V2, Fpsr: Fpsr); + AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1, V2: V2); AArch64.Vpart(0, 0, new Bits(Z)); AArch64.Vpart(0, 1, new Bits(Z)); AArch64.Vpart(1, 0, new Bits(A)); AArch64.Vpart(1, 1, new Bits(A)); AArch64.Vpart(2, 0, new Bits(B)); AArch64.Vpart(2, 1, new Bits(B)); - Shared.FPSR = new Bits((uint)Fpsr); SimdFp.Sqdmulh_V(Op[30], Op[23, 22], Op[20, 16], Op[9, 5], Op[4, 0]); Assert.Multiple(() => @@ -2247,7 +2432,8 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); - Assert.That(ThreadState.Fpsr, Is.EqualTo((int)Shared.FPSR.ToUInt32())); + + Assert.That(((ThreadState.Fpsr >> QCFlagBit) & 1) != 0, Is.EqualTo(Shared.FPSR[QCFlagBit])); } [Test, Pairwise, Description("SQRDMULH , , ")] @@ -2259,22 +2445,21 @@ namespace Ryujinx.Tests.Cpu [ValueSource("_1H1S_")] [Random(RndCnt)] ulong B, [Values(0b01u, 0b10u)] uint size) // { + const int QCFlagBit = 27; // Cumulative saturation bit. + uint Opcode = 0x7E20B400; // SQRDMULH B0, B0, B0 (RESERVED) Opcode |= ((Rm & 31) << 16) | ((Rn & 31) << 5) | ((Rd & 31) << 0); Opcode |= ((size & 3) << 22); Bits Op = new Bits(Opcode); - int Fpsr = (int)TestContext.CurrentContext.Random.NextUInt(); - Vector128 V0 = MakeVectorE0E1(Z, Z); Vector128 V1 = MakeVectorE0(A); Vector128 V2 = MakeVectorE0(B); - AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1, V2: V2, Fpsr: Fpsr); + AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1, V2: V2); AArch64.Vpart(0, 0, new Bits(Z)); AArch64.Vpart(0, 1, new Bits(Z)); AArch64.V(1, new Bits(A)); AArch64.V(2, new Bits(B)); - Shared.FPSR = new Bits((uint)Fpsr); SimdFp.Sqrdmulh_S(Op[23, 22], Op[20, 16], Op[9, 5], Op[4, 0]); Assert.Multiple(() => @@ -2282,7 +2467,8 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); - Assert.That(ThreadState.Fpsr, Is.EqualTo((int)Shared.FPSR.ToUInt32())); + + Assert.That(((ThreadState.Fpsr >> QCFlagBit) & 1) != 0, Is.EqualTo(Shared.FPSR[QCFlagBit])); } [Test, Pairwise, Description("SQRDMULH ., ., .")] @@ -2294,22 +2480,21 @@ namespace Ryujinx.Tests.Cpu [ValueSource("_4H2S_")] [Random(RndCnt)] ulong B, [Values(0b01u, 0b10u)] uint size) // <4H, 2S> { + const int QCFlagBit = 27; // Cumulative saturation bit. + uint Opcode = 0x2E20B400; // SQRDMULH V0.8B, V0.8B, V0.8B (RESERVED) Opcode |= ((Rm & 31) << 16) | ((Rn & 31) << 5) | ((Rd & 31) << 0); Opcode |= ((size & 3) << 22); Bits Op = new Bits(Opcode); - int Fpsr = (int)TestContext.CurrentContext.Random.NextUInt(); - Vector128 V0 = MakeVectorE0E1(Z, Z); Vector128 V1 = MakeVectorE0(A); Vector128 V2 = MakeVectorE0(B); - AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1, V2: V2, Fpsr: Fpsr); + AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1, V2: V2); AArch64.Vpart(0, 0, new Bits(Z)); AArch64.Vpart(0, 1, new Bits(Z)); AArch64.V(1, new Bits(A)); AArch64.V(2, new Bits(B)); - Shared.FPSR = new Bits((uint)Fpsr); SimdFp.Sqrdmulh_V(Op[30], Op[23, 22], Op[20, 16], Op[9, 5], Op[4, 0]); Assert.Multiple(() => @@ -2317,7 +2502,8 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); - Assert.That(ThreadState.Fpsr, Is.EqualTo((int)Shared.FPSR.ToUInt32())); + + Assert.That(((ThreadState.Fpsr >> QCFlagBit) & 1) != 0, Is.EqualTo(Shared.FPSR[QCFlagBit])); } [Test, Pairwise, Description("SQRDMULH ., ., .")] @@ -2329,22 +2515,21 @@ namespace Ryujinx.Tests.Cpu [ValueSource("_4H2S_")] [Random(RndCnt)] ulong B, [Values(0b01u, 0b10u)] uint size) // <8H, 4S> { + const int QCFlagBit = 27; // Cumulative saturation bit. + uint Opcode = 0x6E20B400; // SQRDMULH V0.16B, V0.16B, V0.16B (RESERVED) Opcode |= ((Rm & 31) << 16) | ((Rn & 31) << 5) | ((Rd & 31) << 0); Opcode |= ((size & 3) << 22); Bits Op = new Bits(Opcode); - int Fpsr = (int)TestContext.CurrentContext.Random.NextUInt(); - Vector128 V0 = MakeVectorE0E1(Z, Z); Vector128 V1 = MakeVectorE0E1(A, A); Vector128 V2 = MakeVectorE0E1(B, B); - AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1, V2: V2, Fpsr: Fpsr); + AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1, V2: V2); AArch64.Vpart(0, 0, new Bits(Z)); AArch64.Vpart(0, 1, new Bits(Z)); AArch64.Vpart(1, 0, new Bits(A)); AArch64.Vpart(1, 1, new Bits(A)); AArch64.Vpart(2, 0, new Bits(B)); AArch64.Vpart(2, 1, new Bits(B)); - Shared.FPSR = new Bits((uint)Fpsr); SimdFp.Sqrdmulh_V(Op[30], Op[23, 22], Op[20, 16], Op[9, 5], Op[4, 0]); Assert.Multiple(() => @@ -2352,7 +2537,8 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); - Assert.That(ThreadState.Fpsr, Is.EqualTo((int)Shared.FPSR.ToUInt32())); + + Assert.That(((ThreadState.Fpsr >> QCFlagBit) & 1) != 0, Is.EqualTo(Shared.FPSR[QCFlagBit])); } [Test, Pairwise, Description("SQSUB , , ")] @@ -2364,22 +2550,21 @@ namespace Ryujinx.Tests.Cpu [ValueSource("_1B1H1S1D_")] [Random(RndCnt)] ulong B, [Values(0b00u, 0b01u, 0b10u, 0b11u)] uint size) // { + const int QCFlagBit = 27; // Cumulative saturation bit. + uint Opcode = 0x5E202C00; // SQSUB B0, B0, B0 Opcode |= ((Rm & 31) << 16) | ((Rn & 31) << 5) | ((Rd & 31) << 0); Opcode |= ((size & 3) << 22); Bits Op = new Bits(Opcode); - int Fpsr = (int)TestContext.CurrentContext.Random.NextUInt(); - Vector128 V0 = MakeVectorE0E1(Z, Z); Vector128 V1 = MakeVectorE0(A); Vector128 V2 = MakeVectorE0(B); - AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1, V2: V2, Fpsr: Fpsr); + AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1, V2: V2); AArch64.Vpart(0, 0, new Bits(Z)); AArch64.Vpart(0, 1, new Bits(Z)); AArch64.V(1, new Bits(A)); AArch64.V(2, new Bits(B)); - Shared.FPSR = new Bits((uint)Fpsr); SimdFp.Sqsub_S(Op[23, 22], Op[20, 16], Op[9, 5], Op[4, 0]); Assert.Multiple(() => @@ -2387,7 +2572,8 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); - Assert.That(ThreadState.Fpsr, Is.EqualTo((int)Shared.FPSR.ToUInt32())); + + Assert.That(((ThreadState.Fpsr >> QCFlagBit) & 1) != 0, Is.EqualTo(Shared.FPSR[QCFlagBit])); } [Test, Pairwise, Description("SQSUB ., ., .")] @@ -2399,22 +2585,21 @@ namespace Ryujinx.Tests.Cpu [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong B, [Values(0b00u, 0b01u, 0b10u)] uint size) // <8B, 4H, 2S> { + const int QCFlagBit = 27; // Cumulative saturation bit. + uint Opcode = 0x0E202C00; // SQSUB V0.8B, V0.8B, V0.8B Opcode |= ((Rm & 31) << 16) | ((Rn & 31) << 5) | ((Rd & 31) << 0); Opcode |= ((size & 3) << 22); Bits Op = new Bits(Opcode); - int Fpsr = (int)TestContext.CurrentContext.Random.NextUInt(); - Vector128 V0 = MakeVectorE0E1(Z, Z); Vector128 V1 = MakeVectorE0(A); Vector128 V2 = MakeVectorE0(B); - AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1, V2: V2, Fpsr: Fpsr); + AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1, V2: V2); AArch64.Vpart(0, 0, new Bits(Z)); AArch64.Vpart(0, 1, new Bits(Z)); AArch64.V(1, new Bits(A)); AArch64.V(2, new Bits(B)); - Shared.FPSR = new Bits((uint)Fpsr); SimdFp.Sqsub_V(Op[30], Op[23, 22], Op[20, 16], Op[9, 5], Op[4, 0]); Assert.Multiple(() => @@ -2422,7 +2607,8 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); - Assert.That(ThreadState.Fpsr, Is.EqualTo((int)Shared.FPSR.ToUInt32())); + + Assert.That(((ThreadState.Fpsr >> QCFlagBit) & 1) != 0, Is.EqualTo(Shared.FPSR[QCFlagBit])); } [Test, Pairwise, Description("SQSUB ., ., .")] @@ -2434,22 +2620,21 @@ namespace Ryujinx.Tests.Cpu [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong B, [Values(0b00u, 0b01u, 0b10u, 0b11u)] uint size) // <16B, 8H, 4S, 2D> { + const int QCFlagBit = 27; // Cumulative saturation bit. + uint Opcode = 0x4E202C00; // SQSUB V0.16B, V0.16B, V0.16B Opcode |= ((Rm & 31) << 16) | ((Rn & 31) << 5) | ((Rd & 31) << 0); Opcode |= ((size & 3) << 22); Bits Op = new Bits(Opcode); - int Fpsr = (int)TestContext.CurrentContext.Random.NextUInt(); - Vector128 V0 = MakeVectorE0E1(Z, Z); Vector128 V1 = MakeVectorE0E1(A, A); Vector128 V2 = MakeVectorE0E1(B, B); - AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1, V2: V2, Fpsr: Fpsr); + AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1, V2: V2); AArch64.Vpart(0, 0, new Bits(Z)); AArch64.Vpart(0, 1, new Bits(Z)); AArch64.Vpart(1, 0, new Bits(A)); AArch64.Vpart(1, 1, new Bits(A)); AArch64.Vpart(2, 0, new Bits(B)); AArch64.Vpart(2, 1, new Bits(B)); - Shared.FPSR = new Bits((uint)Fpsr); SimdFp.Sqsub_V(Op[30], Op[23, 22], Op[20, 16], Op[9, 5], Op[4, 0]); Assert.Multiple(() => @@ -2457,7 +2642,8 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); - Assert.That(ThreadState.Fpsr, Is.EqualTo((int)Shared.FPSR.ToUInt32())); + + Assert.That(((ThreadState.Fpsr >> QCFlagBit) & 1) != 0, Is.EqualTo(Shared.FPSR[QCFlagBit])); } [Test, Pairwise, Description("SRHADD ., ., .")] @@ -2522,6 +2708,68 @@ namespace Ryujinx.Tests.Cpu }); } + [Test, Pairwise, Description("SSUBL{2} ., ., .")] + public void Ssubl_V_8B8H_4H4S_2S2D([Values(0u)] uint Rd, + [Values(1u, 0u)] uint Rn, + [Values(2u, 0u)] uint Rm, + [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong Z, + [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong A, + [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong B, + [Values(0b00u, 0b01u, 0b10u)] uint size) // <8B8H, 4H4S, 2S2D> + { + uint Opcode = 0x0E202000; // SSUBL V0.8H, V0.8B, V0.8B + Opcode |= ((Rm & 31) << 16) | ((Rn & 31) << 5) | ((Rd & 31) << 0); + Opcode |= ((size & 3) << 22); + Bits Op = new Bits(Opcode); + + Vector128 V0 = MakeVectorE0E1(Z, Z); + Vector128 V1 = MakeVectorE0(A); + Vector128 V2 = MakeVectorE0(B); + AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1, V2: V2); + + AArch64.Vpart(0, 0, new Bits(Z)); AArch64.Vpart(0, 1, new Bits(Z)); + AArch64.Vpart(1, 0, new Bits(A)); + AArch64.Vpart(2, 0, new Bits(B)); + SimdFp.Ssubl_V(Op[30], Op[23, 22], Op[20, 16], Op[9, 5], Op[4, 0]); + + Assert.Multiple(() => + { + Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); + Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); + }); + } + + [Test, Pairwise, Description("SSUBL{2} ., ., .")] + public void Ssubl_V_16B8H_8H4S_4S2D([Values(0u)] uint Rd, + [Values(1u, 0u)] uint Rn, + [Values(2u, 0u)] uint Rm, + [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong Z, + [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong A, + [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong B, + [Values(0b00u, 0b01u, 0b10u)] uint size) // <16B8H, 8H4S, 4S2D> + { + uint Opcode = 0x4E202000; // SSUBL2 V0.8H, V0.16B, V0.16B + Opcode |= ((Rm & 31) << 16) | ((Rn & 31) << 5) | ((Rd & 31) << 0); + Opcode |= ((size & 3) << 22); + Bits Op = new Bits(Opcode); + + Vector128 V0 = MakeVectorE0E1(Z, Z); + Vector128 V1 = MakeVectorE1(A); + Vector128 V2 = MakeVectorE1(B); + AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1, V2: V2); + + AArch64.Vpart(0, 0, new Bits(Z)); AArch64.Vpart(0, 1, new Bits(Z)); + AArch64.Vpart(1, 1, new Bits(A)); + AArch64.Vpart(2, 1, new Bits(B)); + SimdFp.Ssubl_V(Op[30], Op[23, 22], Op[20, 16], Op[9, 5], Op[4, 0]); + + Assert.Multiple(() => + { + Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); + Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); + }); + } + [Test, Pairwise, Description("SSUBW{2} ., ., .")] public void Ssubw_V_8B8H8H_4H4S4S_2S2D2D([Values(0u)] uint Rd, [Values(1u, 0u)] uint Rn, @@ -3128,6 +3376,68 @@ namespace Ryujinx.Tests.Cpu CompareAgainstUnicorn(); } + [Test, Pairwise, Description("UADDL{2} ., ., .")] + public void Uaddl_V_8B8H_4H4S_2S2D([Values(0u)] uint Rd, + [Values(1u, 0u)] uint Rn, + [Values(2u, 0u)] uint Rm, + [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong Z, + [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong A, + [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong B, + [Values(0b00u, 0b01u, 0b10u)] uint size) // <8B8H, 4H4S, 2S2D> + { + uint Opcode = 0x2E200000; // UADDL V0.8H, V0.8B, V0.8B + Opcode |= ((Rm & 31) << 16) | ((Rn & 31) << 5) | ((Rd & 31) << 0); + Opcode |= ((size & 3) << 22); + Bits Op = new Bits(Opcode); + + Vector128 V0 = MakeVectorE0E1(Z, Z); + Vector128 V1 = MakeVectorE0(A); + Vector128 V2 = MakeVectorE0(B); + AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1, V2: V2); + + AArch64.Vpart(0, 0, new Bits(Z)); AArch64.Vpart(0, 1, new Bits(Z)); + AArch64.Vpart(1, 0, new Bits(A)); + AArch64.Vpart(2, 0, new Bits(B)); + SimdFp.Uaddl_V(Op[30], Op[23, 22], Op[20, 16], Op[9, 5], Op[4, 0]); + + Assert.Multiple(() => + { + Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); + Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); + }); + } + + [Test, Pairwise, Description("UADDL{2} ., ., .")] + public void Uaddl_V_16B8H_8H4S_4S2D([Values(0u)] uint Rd, + [Values(1u, 0u)] uint Rn, + [Values(2u, 0u)] uint Rm, + [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong Z, + [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong A, + [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong B, + [Values(0b00u, 0b01u, 0b10u)] uint size) // <16B8H, 8H4S, 4S2D> + { + uint Opcode = 0x6E200000; // UADDL2 V0.8H, V0.16B, V0.16B + Opcode |= ((Rm & 31) << 16) | ((Rn & 31) << 5) | ((Rd & 31) << 0); + Opcode |= ((size & 3) << 22); + Bits Op = new Bits(Opcode); + + Vector128 V0 = MakeVectorE0E1(Z, Z); + Vector128 V1 = MakeVectorE1(A); + Vector128 V2 = MakeVectorE1(B); + AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1, V2: V2); + + AArch64.Vpart(0, 0, new Bits(Z)); AArch64.Vpart(0, 1, new Bits(Z)); + AArch64.Vpart(1, 1, new Bits(A)); + AArch64.Vpart(2, 1, new Bits(B)); + SimdFp.Uaddl_V(Op[30], Op[23, 22], Op[20, 16], Op[9, 5], Op[4, 0]); + + Assert.Multiple(() => + { + Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); + Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); + }); + } + [Test, Pairwise, Description("UADDW{2} ., ., .")] public void Uaddw_V_8B8H8H_4H4S4S_2S2D2D([Values(0u)] uint Rd, [Values(1u, 0u)] uint Rn, @@ -3316,6 +3626,130 @@ namespace Ryujinx.Tests.Cpu }); } + [Test, Pairwise, Description("UMLAL{2} ., ., .")] + public void Umlal_V_8B8H_4H4S_2S2D([Values(0u)] uint Rd, + [Values(1u, 0u)] uint Rn, + [Values(2u, 0u)] uint Rm, + [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong Z, + [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong A, + [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong B, + [Values(0b00u, 0b01u, 0b10u)] uint size) // <8B8H, 4H4S, 2S2D> + { + uint Opcode = 0x2E208000; // UMLAL V0.8H, V0.8B, V0.8B + Opcode |= ((Rm & 31) << 16) | ((Rn & 31) << 5) | ((Rd & 31) << 0); + Opcode |= ((size & 3) << 22); + Bits Op = new Bits(Opcode); + + Vector128 V0 = MakeVectorE0E1(Z, Z); + Vector128 V1 = MakeVectorE0(A); + Vector128 V2 = MakeVectorE0(B); + AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1, V2: V2); + + AArch64.Vpart(0, 0, new Bits(Z)); AArch64.Vpart(0, 1, new Bits(Z)); + AArch64.Vpart(1, 0, new Bits(A)); + AArch64.Vpart(2, 0, new Bits(B)); + SimdFp.Umlal_V(Op[30], Op[23, 22], Op[20, 16], Op[9, 5], Op[4, 0]); + + Assert.Multiple(() => + { + Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); + Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); + }); + } + + [Test, Pairwise, Description("UMLAL{2} ., ., .")] + public void Umlal_V_16B8H_8H4S_4S2D([Values(0u)] uint Rd, + [Values(1u, 0u)] uint Rn, + [Values(2u, 0u)] uint Rm, + [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong Z, + [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong A, + [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong B, + [Values(0b00u, 0b01u, 0b10u)] uint size) // <16B8H, 8H4S, 4S2D> + { + uint Opcode = 0x6E208000; // UMLAL2 V0.8H, V0.16B, V0.16B + Opcode |= ((Rm & 31) << 16) | ((Rn & 31) << 5) | ((Rd & 31) << 0); + Opcode |= ((size & 3) << 22); + Bits Op = new Bits(Opcode); + + Vector128 V0 = MakeVectorE0E1(Z, Z); + Vector128 V1 = MakeVectorE1(A); + Vector128 V2 = MakeVectorE1(B); + AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1, V2: V2); + + AArch64.Vpart(0, 0, new Bits(Z)); AArch64.Vpart(0, 1, new Bits(Z)); + AArch64.Vpart(1, 1, new Bits(A)); + AArch64.Vpart(2, 1, new Bits(B)); + SimdFp.Umlal_V(Op[30], Op[23, 22], Op[20, 16], Op[9, 5], Op[4, 0]); + + Assert.Multiple(() => + { + Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); + Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); + }); + } + + [Test, Pairwise, Description("UMLSL{2} ., ., .")] + public void Umlsl_V_8B8H_4H4S_2S2D([Values(0u)] uint Rd, + [Values(1u, 0u)] uint Rn, + [Values(2u, 0u)] uint Rm, + [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong Z, + [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong A, + [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong B, + [Values(0b00u, 0b01u, 0b10u)] uint size) // <8B8H, 4H4S, 2S2D> + { + uint Opcode = 0x2E20A000; // UMLSL V0.8H, V0.8B, V0.8B + Opcode |= ((Rm & 31) << 16) | ((Rn & 31) << 5) | ((Rd & 31) << 0); + Opcode |= ((size & 3) << 22); + Bits Op = new Bits(Opcode); + + Vector128 V0 = MakeVectorE0E1(Z, Z); + Vector128 V1 = MakeVectorE0(A); + Vector128 V2 = MakeVectorE0(B); + AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1, V2: V2); + + AArch64.Vpart(0, 0, new Bits(Z)); AArch64.Vpart(0, 1, new Bits(Z)); + AArch64.Vpart(1, 0, new Bits(A)); + AArch64.Vpart(2, 0, new Bits(B)); + SimdFp.Umlsl_V(Op[30], Op[23, 22], Op[20, 16], Op[9, 5], Op[4, 0]); + + Assert.Multiple(() => + { + Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); + Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); + }); + } + + [Test, Pairwise, Description("UMLSL{2} ., ., .")] + public void Umlsl_V_16B8H_8H4S_4S2D([Values(0u)] uint Rd, + [Values(1u, 0u)] uint Rn, + [Values(2u, 0u)] uint Rm, + [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong Z, + [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong A, + [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong B, + [Values(0b00u, 0b01u, 0b10u)] uint size) // <16B8H, 8H4S, 4S2D> + { + uint Opcode = 0x6E20A000; // UMLSL2 V0.8H, V0.16B, V0.16B + Opcode |= ((Rm & 31) << 16) | ((Rn & 31) << 5) | ((Rd & 31) << 0); + Opcode |= ((size & 3) << 22); + Bits Op = new Bits(Opcode); + + Vector128 V0 = MakeVectorE0E1(Z, Z); + Vector128 V1 = MakeVectorE1(A); + Vector128 V2 = MakeVectorE1(B); + AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1, V2: V2); + + AArch64.Vpart(0, 0, new Bits(Z)); AArch64.Vpart(0, 1, new Bits(Z)); + AArch64.Vpart(1, 1, new Bits(A)); + AArch64.Vpart(2, 1, new Bits(B)); + SimdFp.Umlsl_V(Op[30], Op[23, 22], Op[20, 16], Op[9, 5], Op[4, 0]); + + Assert.Multiple(() => + { + Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); + Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); + }); + } + [Test, Pairwise, Description("UQADD , , ")] public void Uqadd_S_B_H_S_D([Values(0u)] uint Rd, [Values(1u, 0u)] uint Rn, @@ -3325,22 +3759,21 @@ namespace Ryujinx.Tests.Cpu [ValueSource("_1B1H1S1D_")] [Random(RndCnt)] ulong B, [Values(0b00u, 0b01u, 0b10u, 0b11u)] uint size) // { + const int QCFlagBit = 27; // Cumulative saturation bit. + uint Opcode = 0x7E200C00; // UQADD B0, B0, B0 Opcode |= ((Rm & 31) << 16) | ((Rn & 31) << 5) | ((Rd & 31) << 0); Opcode |= ((size & 3) << 22); Bits Op = new Bits(Opcode); - int Fpsr = (int)TestContext.CurrentContext.Random.NextUInt(); - Vector128 V0 = MakeVectorE0E1(Z, Z); Vector128 V1 = MakeVectorE0(A); Vector128 V2 = MakeVectorE0(B); - AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1, V2: V2, Fpsr: Fpsr); + AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1, V2: V2); AArch64.Vpart(0, 0, new Bits(Z)); AArch64.Vpart(0, 1, new Bits(Z)); AArch64.V(1, new Bits(A)); AArch64.V(2, new Bits(B)); - Shared.FPSR = new Bits((uint)Fpsr); SimdFp.Uqadd_S(Op[23, 22], Op[20, 16], Op[9, 5], Op[4, 0]); Assert.Multiple(() => @@ -3348,7 +3781,8 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); - Assert.That(ThreadState.Fpsr, Is.EqualTo((int)Shared.FPSR.ToUInt32())); + + Assert.That(((ThreadState.Fpsr >> QCFlagBit) & 1) != 0, Is.EqualTo(Shared.FPSR[QCFlagBit])); } [Test, Pairwise, Description("UQADD ., ., .")] @@ -3360,22 +3794,21 @@ namespace Ryujinx.Tests.Cpu [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong B, [Values(0b00u, 0b01u, 0b10u)] uint size) // <8B, 4H, 2S> { + const int QCFlagBit = 27; // Cumulative saturation bit. + uint Opcode = 0x2E200C00; // UQADD V0.8B, V0.8B, V0.8B Opcode |= ((Rm & 31) << 16) | ((Rn & 31) << 5) | ((Rd & 31) << 0); Opcode |= ((size & 3) << 22); Bits Op = new Bits(Opcode); - int Fpsr = (int)TestContext.CurrentContext.Random.NextUInt(); - Vector128 V0 = MakeVectorE0E1(Z, Z); Vector128 V1 = MakeVectorE0(A); Vector128 V2 = MakeVectorE0(B); - AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1, V2: V2, Fpsr: Fpsr); + AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1, V2: V2); AArch64.Vpart(0, 0, new Bits(Z)); AArch64.Vpart(0, 1, new Bits(Z)); AArch64.V(1, new Bits(A)); AArch64.V(2, new Bits(B)); - Shared.FPSR = new Bits((uint)Fpsr); SimdFp.Uqadd_V(Op[30], Op[23, 22], Op[20, 16], Op[9, 5], Op[4, 0]); Assert.Multiple(() => @@ -3383,7 +3816,8 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); - Assert.That(ThreadState.Fpsr, Is.EqualTo((int)Shared.FPSR.ToUInt32())); + + Assert.That(((ThreadState.Fpsr >> QCFlagBit) & 1) != 0, Is.EqualTo(Shared.FPSR[QCFlagBit])); } [Test, Pairwise, Description("UQADD ., ., .")] @@ -3395,22 +3829,21 @@ namespace Ryujinx.Tests.Cpu [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong B, [Values(0b00u, 0b01u, 0b10u, 0b11u)] uint size) // <16B, 8H, 4S, 2D> { + const int QCFlagBit = 27; // Cumulative saturation bit. + uint Opcode = 0x6E200C00; // UQADD V0.16B, V0.16B, V0.16B Opcode |= ((Rm & 31) << 16) | ((Rn & 31) << 5) | ((Rd & 31) << 0); Opcode |= ((size & 3) << 22); Bits Op = new Bits(Opcode); - int Fpsr = (int)TestContext.CurrentContext.Random.NextUInt(); - Vector128 V0 = MakeVectorE0E1(Z, Z); Vector128 V1 = MakeVectorE0E1(A, A); Vector128 V2 = MakeVectorE0E1(B, B); - AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1, V2: V2, Fpsr: Fpsr); + AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1, V2: V2); AArch64.Vpart(0, 0, new Bits(Z)); AArch64.Vpart(0, 1, new Bits(Z)); AArch64.Vpart(1, 0, new Bits(A)); AArch64.Vpart(1, 1, new Bits(A)); AArch64.Vpart(2, 0, new Bits(B)); AArch64.Vpart(2, 1, new Bits(B)); - Shared.FPSR = new Bits((uint)Fpsr); SimdFp.Uqadd_V(Op[30], Op[23, 22], Op[20, 16], Op[9, 5], Op[4, 0]); Assert.Multiple(() => @@ -3418,7 +3851,8 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); - Assert.That(ThreadState.Fpsr, Is.EqualTo((int)Shared.FPSR.ToUInt32())); + + Assert.That(((ThreadState.Fpsr >> QCFlagBit) & 1) != 0, Is.EqualTo(Shared.FPSR[QCFlagBit])); } [Test, Pairwise, Description("UQSUB , , ")] @@ -3430,22 +3864,21 @@ namespace Ryujinx.Tests.Cpu [ValueSource("_1B1H1S1D_")] [Random(RndCnt)] ulong B, [Values(0b00u, 0b01u, 0b10u, 0b11u)] uint size) // { + const int QCFlagBit = 27; // Cumulative saturation bit. + uint Opcode = 0x7E202C00; // UQSUB B0, B0, B0 Opcode |= ((Rm & 31) << 16) | ((Rn & 31) << 5) | ((Rd & 31) << 0); Opcode |= ((size & 3) << 22); Bits Op = new Bits(Opcode); - int Fpsr = (int)TestContext.CurrentContext.Random.NextUInt(); - Vector128 V0 = MakeVectorE0E1(Z, Z); Vector128 V1 = MakeVectorE0(A); Vector128 V2 = MakeVectorE0(B); - AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1, V2: V2, Fpsr: Fpsr); + AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1, V2: V2); AArch64.Vpart(0, 0, new Bits(Z)); AArch64.Vpart(0, 1, new Bits(Z)); AArch64.V(1, new Bits(A)); AArch64.V(2, new Bits(B)); - Shared.FPSR = new Bits((uint)Fpsr); SimdFp.Uqsub_S(Op[23, 22], Op[20, 16], Op[9, 5], Op[4, 0]); Assert.Multiple(() => @@ -3453,7 +3886,8 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); - Assert.That(ThreadState.Fpsr, Is.EqualTo((int)Shared.FPSR.ToUInt32())); + + Assert.That(((ThreadState.Fpsr >> QCFlagBit) & 1) != 0, Is.EqualTo(Shared.FPSR[QCFlagBit])); } [Test, Pairwise, Description("UQSUB ., ., .")] @@ -3465,22 +3899,21 @@ namespace Ryujinx.Tests.Cpu [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong B, [Values(0b00u, 0b01u, 0b10u)] uint size) // <8B, 4H, 2S> { + const int QCFlagBit = 27; // Cumulative saturation bit. + uint Opcode = 0x2E202C00; // UQSUB V0.8B, V0.8B, V0.8B Opcode |= ((Rm & 31) << 16) | ((Rn & 31) << 5) | ((Rd & 31) << 0); Opcode |= ((size & 3) << 22); Bits Op = new Bits(Opcode); - int Fpsr = (int)TestContext.CurrentContext.Random.NextUInt(); - Vector128 V0 = MakeVectorE0E1(Z, Z); Vector128 V1 = MakeVectorE0(A); Vector128 V2 = MakeVectorE0(B); - AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1, V2: V2, Fpsr: Fpsr); + AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1, V2: V2); AArch64.Vpart(0, 0, new Bits(Z)); AArch64.Vpart(0, 1, new Bits(Z)); AArch64.V(1, new Bits(A)); AArch64.V(2, new Bits(B)); - Shared.FPSR = new Bits((uint)Fpsr); SimdFp.Uqsub_V(Op[30], Op[23, 22], Op[20, 16], Op[9, 5], Op[4, 0]); Assert.Multiple(() => @@ -3488,7 +3921,8 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); - Assert.That(ThreadState.Fpsr, Is.EqualTo((int)Shared.FPSR.ToUInt32())); + + Assert.That(((ThreadState.Fpsr >> QCFlagBit) & 1) != 0, Is.EqualTo(Shared.FPSR[QCFlagBit])); } [Test, Pairwise, Description("UQSUB ., ., .")] @@ -3500,22 +3934,21 @@ namespace Ryujinx.Tests.Cpu [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong B, [Values(0b00u, 0b01u, 0b10u, 0b11u)] uint size) // <16B, 8H, 4S, 2D> { + const int QCFlagBit = 27; // Cumulative saturation bit. + uint Opcode = 0x6E202C00; // UQSUB V0.16B, V0.16B, V0.16B Opcode |= ((Rm & 31) << 16) | ((Rn & 31) << 5) | ((Rd & 31) << 0); Opcode |= ((size & 3) << 22); Bits Op = new Bits(Opcode); - int Fpsr = (int)TestContext.CurrentContext.Random.NextUInt(); - Vector128 V0 = MakeVectorE0E1(Z, Z); Vector128 V1 = MakeVectorE0E1(A, A); Vector128 V2 = MakeVectorE0E1(B, B); - AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1, V2: V2, Fpsr: Fpsr); + AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1, V2: V2); AArch64.Vpart(0, 0, new Bits(Z)); AArch64.Vpart(0, 1, new Bits(Z)); AArch64.Vpart(1, 0, new Bits(A)); AArch64.Vpart(1, 1, new Bits(A)); AArch64.Vpart(2, 0, new Bits(B)); AArch64.Vpart(2, 1, new Bits(B)); - Shared.FPSR = new Bits((uint)Fpsr); SimdFp.Uqsub_V(Op[30], Op[23, 22], Op[20, 16], Op[9, 5], Op[4, 0]); Assert.Multiple(() => @@ -3523,7 +3956,8 @@ namespace Ryujinx.Tests.Cpu Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); }); - Assert.That(ThreadState.Fpsr, Is.EqualTo((int)Shared.FPSR.ToUInt32())); + + Assert.That(((ThreadState.Fpsr >> QCFlagBit) & 1) != 0, Is.EqualTo(Shared.FPSR[QCFlagBit])); } [Test, Pairwise, Description("URHADD ., ., .")] @@ -3588,6 +4022,68 @@ namespace Ryujinx.Tests.Cpu }); } + [Test, Pairwise, Description("USUBL{2} ., ., .")] + public void Usubl_V_8B8H_4H4S_2S2D([Values(0u)] uint Rd, + [Values(1u, 0u)] uint Rn, + [Values(2u, 0u)] uint Rm, + [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong Z, + [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong A, + [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong B, + [Values(0b00u, 0b01u, 0b10u)] uint size) // <8B8H, 4H4S, 2S2D> + { + uint Opcode = 0x2E202000; // USUBL V0.8H, V0.8B, V0.8B + Opcode |= ((Rm & 31) << 16) | ((Rn & 31) << 5) | ((Rd & 31) << 0); + Opcode |= ((size & 3) << 22); + Bits Op = new Bits(Opcode); + + Vector128 V0 = MakeVectorE0E1(Z, Z); + Vector128 V1 = MakeVectorE0(A); + Vector128 V2 = MakeVectorE0(B); + AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1, V2: V2); + + AArch64.Vpart(0, 0, new Bits(Z)); AArch64.Vpart(0, 1, new Bits(Z)); + AArch64.Vpart(1, 0, new Bits(A)); + AArch64.Vpart(2, 0, new Bits(B)); + SimdFp.Usubl_V(Op[30], Op[23, 22], Op[20, 16], Op[9, 5], Op[4, 0]); + + Assert.Multiple(() => + { + Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); + Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); + }); + } + + [Test, Pairwise, Description("USUBL{2} ., ., .")] + public void Usubl_V_16B8H_8H4S_4S2D([Values(0u)] uint Rd, + [Values(1u, 0u)] uint Rn, + [Values(2u, 0u)] uint Rm, + [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong Z, + [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong A, + [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong B, + [Values(0b00u, 0b01u, 0b10u)] uint size) // <16B8H, 8H4S, 4S2D> + { + uint Opcode = 0x6E202000; // USUBL2 V0.8H, V0.16B, V0.16B + Opcode |= ((Rm & 31) << 16) | ((Rn & 31) << 5) | ((Rd & 31) << 0); + Opcode |= ((size & 3) << 22); + Bits Op = new Bits(Opcode); + + Vector128 V0 = MakeVectorE0E1(Z, Z); + Vector128 V1 = MakeVectorE1(A); + Vector128 V2 = MakeVectorE1(B); + AThreadState ThreadState = SingleOpcode(Opcode, V0: V0, V1: V1, V2: V2); + + AArch64.Vpart(0, 0, new Bits(Z)); AArch64.Vpart(0, 1, new Bits(Z)); + AArch64.Vpart(1, 1, new Bits(A)); + AArch64.Vpart(2, 1, new Bits(B)); + SimdFp.Usubl_V(Op[30], Op[23, 22], Op[20, 16], Op[9, 5], Op[4, 0]); + + Assert.Multiple(() => + { + Assert.That(GetVectorE0(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 0).ToUInt64())); + Assert.That(GetVectorE1(ThreadState.V0), Is.EqualTo(AArch64.Vpart(64, 0, 1).ToUInt64())); + }); + } + [Test, Pairwise, Description("USUBW{2} ., ., .")] public void Usubw_V_8B8H8H_4H4S4S_2S2D2D([Values(0u)] uint Rd, [Values(1u, 0u)] uint Rn, diff --git a/Ryujinx.Tests/Cpu/Tester/Instructions.cs b/Ryujinx.Tests/Cpu/Tester/Instructions.cs index 206d3963b..e3aa4e40b 100644 --- a/Ryujinx.Tests/Cpu/Tester/Instructions.cs +++ b/Ryujinx.Tests/Cpu/Tester/Instructions.cs @@ -2685,6 +2685,154 @@ namespace Ryujinx.Tests.Cpu.Tester V(d, result); } + // fcvtns_advsimd.html#FCVTNS_asisdmisc_R + public static void Fcvtns_S(Bits sz, Bits Rn, Bits Rd) + { + const bool U = false; + const bool o2 = false; + const bool o1 = false; + + /* Decode Scalar */ + int d = (int)UInt(Rd); + int n = (int)UInt(Rn); + + int esize = 32 << (int)UInt(sz); + int datasize = esize; + int elements = 1; + + FPRounding rounding = FPDecodeRounding(Bits.Concat(o1, o2)); + + bool unsigned = (U == true); + + /* Operation */ + /* CheckFPAdvSIMDEnabled64(); */ + + Bits result = new Bits(datasize); + Bits operand = V(datasize, n); + Bits element; + + for (int e = 0; e <= elements - 1; e++) + { + element = Elem(operand, e, esize); + + Elem(result, e, esize, FPToFixed(esize, element, 0, unsigned, FPCR, rounding)); + } + + V(d, result); + } + + // fcvtns_advsimd.html#FCVTNS_asimdmisc_R + public static void Fcvtns_V(bool Q, Bits sz, Bits Rn, Bits Rd) + { + const bool U = false; + const bool o2 = false; + const bool o1 = false; + + /* Decode Vector */ + int d = (int)UInt(Rd); + int n = (int)UInt(Rn); + + /* if sz:Q == '10' then ReservedValue(); */ + + int esize = 32 << (int)UInt(sz); + int datasize = (Q ? 128 : 64); + int elements = datasize / esize; + + FPRounding rounding = FPDecodeRounding(Bits.Concat(o1, o2)); + + bool unsigned = (U == true); + + /* Operation */ + /* CheckFPAdvSIMDEnabled64(); */ + + Bits result = new Bits(datasize); + Bits operand = V(datasize, n); + Bits element; + + for (int e = 0; e <= elements - 1; e++) + { + element = Elem(operand, e, esize); + + Elem(result, e, esize, FPToFixed(esize, element, 0, unsigned, FPCR, rounding)); + } + + V(d, result); + } + + // fcvtnu_advsimd.html#FCVTNU_asisdmisc_R + public static void Fcvtnu_S(Bits sz, Bits Rn, Bits Rd) + { + const bool U = true; + const bool o2 = false; + const bool o1 = false; + + /* Decode Scalar */ + int d = (int)UInt(Rd); + int n = (int)UInt(Rn); + + int esize = 32 << (int)UInt(sz); + int datasize = esize; + int elements = 1; + + FPRounding rounding = FPDecodeRounding(Bits.Concat(o1, o2)); + + bool unsigned = (U == true); + + /* Operation */ + /* CheckFPAdvSIMDEnabled64(); */ + + Bits result = new Bits(datasize); + Bits operand = V(datasize, n); + Bits element; + + for (int e = 0; e <= elements - 1; e++) + { + element = Elem(operand, e, esize); + + Elem(result, e, esize, FPToFixed(esize, element, 0, unsigned, FPCR, rounding)); + } + + V(d, result); + } + + // fcvtnu_advsimd.html#FCVTNU_asimdmisc_R + public static void Fcvtnu_V(bool Q, Bits sz, Bits Rn, Bits Rd) + { + const bool U = true; + const bool o2 = false; + const bool o1 = false; + + /* Decode Vector */ + int d = (int)UInt(Rd); + int n = (int)UInt(Rn); + + /* if sz:Q == '10' then ReservedValue(); */ + + int esize = 32 << (int)UInt(sz); + int datasize = (Q ? 128 : 64); + int elements = datasize / esize; + + FPRounding rounding = FPDecodeRounding(Bits.Concat(o1, o2)); + + bool unsigned = (U == true); + + /* Operation */ + /* CheckFPAdvSIMDEnabled64(); */ + + Bits result = new Bits(datasize); + Bits operand = V(datasize, n); + Bits element; + + for (int e = 0; e <= elements - 1; e++) + { + element = Elem(operand, e, esize); + + Elem(result, e, esize, FPToFixed(esize, element, 0, unsigned, FPCR, rounding)); + } + + V(d, result); + } + // neg_advsimd.html#NEG_asisdmisc_R public static void Neg_S(Bits size, Bits Rn, Bits Rd) { @@ -5122,6 +5270,57 @@ namespace Ryujinx.Tests.Cpu.Tester V(d, result); } + // saddl_advsimd.html + public static void Saddl_V(bool Q, Bits size, Bits Rm, Bits Rn, Bits Rd) + { + const bool U = false; + const bool o1 = false; + + /* Decode */ + int d = (int)UInt(Rd); + int n = (int)UInt(Rn); + int m = (int)UInt(Rm); + + /* if size == '11' then ReservedValue(); */ + + int esize = 8 << (int)UInt(size); + int datasize = 64; + int part = (int)UInt(Q); + int elements = datasize / esize; + + bool sub_op = (o1 == true); + bool unsigned = (U == true); + + /* Operation */ + /* CheckFPAdvSIMDEnabled64(); */ + + Bits result = new Bits(2 * datasize); + Bits operand1 = Vpart(datasize, n, part); + Bits operand2 = Vpart(datasize, m, part); + BigInteger element1; + BigInteger element2; + BigInteger sum; + + for (int e = 0; e <= elements - 1; e++) + { + element1 = Int(Elem(operand1, e, esize), unsigned); + element2 = Int(Elem(operand2, e, esize), unsigned); + + if (sub_op) + { + sum = element1 - element2; + } + else + { + sum = element1 + element2; + } + + Elem(result, e, 2 * esize, sum.SubBigInteger(2 * esize - 1, 0)); + } + + V(d, result); + } + // saddw_advsimd.html public static void Saddw_V(bool Q, Bits size, Bits Rm, Bits Rn, Bits Rd) { @@ -5333,6 +5532,116 @@ namespace Ryujinx.Tests.Cpu.Tester V(d, result); } + // smlal_advsimd_vec.html + public static void Smlal_V(bool Q, Bits size, Bits Rm, Bits Rn, Bits Rd) + { + const bool U = false; + const bool o1 = false; + + /* Decode */ + int d = (int)UInt(Rd); + int n = (int)UInt(Rn); + int m = (int)UInt(Rm); + + /* if size == '11' then ReservedValue(); */ + + int esize = 8 << (int)UInt(size); + int datasize = 64; + int part = (int)UInt(Q); + int elements = datasize / esize; + + bool sub_op = (o1 == true); + bool unsigned = (U == true); + + /* Operation */ + /* CheckFPAdvSIMDEnabled64(); */ + + Bits result = new Bits(2 * datasize); + Bits operand1 = Vpart(datasize, n, part); + Bits operand2 = Vpart(datasize, m, part); + Bits operand3 = V(2 * datasize, d); + BigInteger element1; + BigInteger element2; + Bits product; + Bits accum; + + for (int e = 0; e <= elements - 1; e++) + { + element1 = Int(Elem(operand1, e, esize), unsigned); + element2 = Int(Elem(operand2, e, esize), unsigned); + + product = (element1 * element2).SubBigInteger(2 * esize - 1, 0); + + if (sub_op) + { + accum = Elem(operand3, e, 2 * esize) - product; + } + else + { + accum = Elem(operand3, e, 2 * esize) + product; + } + + Elem(result, e, 2 * esize, accum); + } + + V(d, result); + } + + // smlsl_advsimd_vec.html + public static void Smlsl_V(bool Q, Bits size, Bits Rm, Bits Rn, Bits Rd) + { + const bool U = false; + const bool o1 = true; + + /* Decode */ + int d = (int)UInt(Rd); + int n = (int)UInt(Rn); + int m = (int)UInt(Rm); + + /* if size == '11' then ReservedValue(); */ + + int esize = 8 << (int)UInt(size); + int datasize = 64; + int part = (int)UInt(Q); + int elements = datasize / esize; + + bool sub_op = (o1 == true); + bool unsigned = (U == true); + + /* Operation */ + /* CheckFPAdvSIMDEnabled64(); */ + + Bits result = new Bits(2 * datasize); + Bits operand1 = Vpart(datasize, n, part); + Bits operand2 = Vpart(datasize, m, part); + Bits operand3 = V(2 * datasize, d); + BigInteger element1; + BigInteger element2; + Bits product; + Bits accum; + + for (int e = 0; e <= elements - 1; e++) + { + element1 = Int(Elem(operand1, e, esize), unsigned); + element2 = Int(Elem(operand2, e, esize), unsigned); + + product = (element1 * element2).SubBigInteger(2 * esize - 1, 0); + + if (sub_op) + { + accum = Elem(operand3, e, 2 * esize) - product; + } + else + { + accum = Elem(operand3, e, 2 * esize) + product; + } + + Elem(result, e, 2 * esize, accum); + } + + V(d, result); + } + // sqadd_advsimd.html#SQADD_asisdsame_only public static void Sqadd_S(Bits size, Bits Rm, Bits Rn, Bits Rd) { @@ -5771,6 +6080,57 @@ namespace Ryujinx.Tests.Cpu.Tester V(d, result); } + // ssubl_advsimd.html + public static void Ssubl_V(bool Q, Bits size, Bits Rm, Bits Rn, Bits Rd) + { + const bool U = false; + const bool o1 = true; + + /* Decode */ + int d = (int)UInt(Rd); + int n = (int)UInt(Rn); + int m = (int)UInt(Rm); + + /* if size == '11' then ReservedValue(); */ + + int esize = 8 << (int)UInt(size); + int datasize = 64; + int part = (int)UInt(Q); + int elements = datasize / esize; + + bool sub_op = (o1 == true); + bool unsigned = (U == true); + + /* Operation */ + /* CheckFPAdvSIMDEnabled64(); */ + + Bits result = new Bits(2 * datasize); + Bits operand1 = Vpart(datasize, n, part); + Bits operand2 = Vpart(datasize, m, part); + BigInteger element1; + BigInteger element2; + BigInteger sum; + + for (int e = 0; e <= elements - 1; e++) + { + element1 = Int(Elem(operand1, e, esize), unsigned); + element2 = Int(Elem(operand2, e, esize), unsigned); + + if (sub_op) + { + sum = element1 - element2; + } + else + { + sum = element1 + element2; + } + + Elem(result, e, 2 * esize, sum.SubBigInteger(2 * esize - 1, 0)); + } + + V(d, result); + } + // ssubw_advsimd.html public static void Ssubw_V(bool Q, Bits size, Bits Rm, Bits Rn, Bits Rd) { @@ -6212,6 +6572,57 @@ namespace Ryujinx.Tests.Cpu.Tester V(d, result); } + // uaddl_advsimd.html + public static void Uaddl_V(bool Q, Bits size, Bits Rm, Bits Rn, Bits Rd) + { + const bool U = true; + const bool o1 = false; + + /* Decode */ + int d = (int)UInt(Rd); + int n = (int)UInt(Rn); + int m = (int)UInt(Rm); + + /* if size == '11' then ReservedValue(); */ + + int esize = 8 << (int)UInt(size); + int datasize = 64; + int part = (int)UInt(Q); + int elements = datasize / esize; + + bool sub_op = (o1 == true); + bool unsigned = (U == true); + + /* Operation */ + /* CheckFPAdvSIMDEnabled64(); */ + + Bits result = new Bits(2 * datasize); + Bits operand1 = Vpart(datasize, n, part); + Bits operand2 = Vpart(datasize, m, part); + BigInteger element1; + BigInteger element2; + BigInteger sum; + + for (int e = 0; e <= elements - 1; e++) + { + element1 = Int(Elem(operand1, e, esize), unsigned); + element2 = Int(Elem(operand2, e, esize), unsigned); + + if (sub_op) + { + sum = element1 - element2; + } + else + { + sum = element1 + element2; + } + + Elem(result, e, 2 * esize, sum.SubBigInteger(2 * esize - 1, 0)); + } + + V(d, result); + } + // uaddw_advsimd.html public static void Uaddw_V(bool Q, Bits size, Bits Rm, Bits Rn, Bits Rd) { @@ -6345,6 +6756,116 @@ namespace Ryujinx.Tests.Cpu.Tester V(d, result); } + // umlal_advsimd_vec.html + public static void Umlal_V(bool Q, Bits size, Bits Rm, Bits Rn, Bits Rd) + { + const bool U = true; + const bool o1 = false; + + /* Decode */ + int d = (int)UInt(Rd); + int n = (int)UInt(Rn); + int m = (int)UInt(Rm); + + /* if size == '11' then ReservedValue(); */ + + int esize = 8 << (int)UInt(size); + int datasize = 64; + int part = (int)UInt(Q); + int elements = datasize / esize; + + bool sub_op = (o1 == true); + bool unsigned = (U == true); + + /* Operation */ + /* CheckFPAdvSIMDEnabled64(); */ + + Bits result = new Bits(2 * datasize); + Bits operand1 = Vpart(datasize, n, part); + Bits operand2 = Vpart(datasize, m, part); + Bits operand3 = V(2 * datasize, d); + BigInteger element1; + BigInteger element2; + Bits product; + Bits accum; + + for (int e = 0; e <= elements - 1; e++) + { + element1 = Int(Elem(operand1, e, esize), unsigned); + element2 = Int(Elem(operand2, e, esize), unsigned); + + product = (element1 * element2).SubBigInteger(2 * esize - 1, 0); + + if (sub_op) + { + accum = Elem(operand3, e, 2 * esize) - product; + } + else + { + accum = Elem(operand3, e, 2 * esize) + product; + } + + Elem(result, e, 2 * esize, accum); + } + + V(d, result); + } + + // umlsl_advsimd_vec.html + public static void Umlsl_V(bool Q, Bits size, Bits Rm, Bits Rn, Bits Rd) + { + const bool U = true; + const bool o1 = true; + + /* Decode */ + int d = (int)UInt(Rd); + int n = (int)UInt(Rn); + int m = (int)UInt(Rm); + + /* if size == '11' then ReservedValue(); */ + + int esize = 8 << (int)UInt(size); + int datasize = 64; + int part = (int)UInt(Q); + int elements = datasize / esize; + + bool sub_op = (o1 == true); + bool unsigned = (U == true); + + /* Operation */ + /* CheckFPAdvSIMDEnabled64(); */ + + Bits result = new Bits(2 * datasize); + Bits operand1 = Vpart(datasize, n, part); + Bits operand2 = Vpart(datasize, m, part); + Bits operand3 = V(2 * datasize, d); + BigInteger element1; + BigInteger element2; + Bits product; + Bits accum; + + for (int e = 0; e <= elements - 1; e++) + { + element1 = Int(Elem(operand1, e, esize), unsigned); + element2 = Int(Elem(operand2, e, esize), unsigned); + + product = (element1 * element2).SubBigInteger(2 * esize - 1, 0); + + if (sub_op) + { + accum = Elem(operand3, e, 2 * esize) - product; + } + else + { + accum = Elem(operand3, e, 2 * esize) + product; + } + + Elem(result, e, 2 * esize, accum); + } + + V(d, result); + } + // uqadd_advsimd.html#UQADD_asisdsame_only public static void Uqadd_S(Bits size, Bits Rm, Bits Rn, Bits Rd) { @@ -6579,6 +7100,57 @@ namespace Ryujinx.Tests.Cpu.Tester V(d, result); } + // usubl_advsimd.html + public static void Usubl_V(bool Q, Bits size, Bits Rm, Bits Rn, Bits Rd) + { + const bool U = true; + const bool o1 = true; + + /* Decode */ + int d = (int)UInt(Rd); + int n = (int)UInt(Rn); + int m = (int)UInt(Rm); + + /* if size == '11' then ReservedValue(); */ + + int esize = 8 << (int)UInt(size); + int datasize = 64; + int part = (int)UInt(Q); + int elements = datasize / esize; + + bool sub_op = (o1 == true); + bool unsigned = (U == true); + + /* Operation */ + /* CheckFPAdvSIMDEnabled64(); */ + + Bits result = new Bits(2 * datasize); + Bits operand1 = Vpart(datasize, n, part); + Bits operand2 = Vpart(datasize, m, part); + BigInteger element1; + BigInteger element2; + BigInteger sum; + + for (int e = 0; e <= elements - 1; e++) + { + element1 = Int(Elem(operand1, e, esize), unsigned); + element2 = Int(Elem(operand2, e, esize), unsigned); + + if (sub_op) + { + sum = element1 - element2; + } + else + { + sum = element1 + element2; + } + + Elem(result, e, 2 * esize, sum.SubBigInteger(2 * esize - 1, 0)); + } + + V(d, result); + } + // usubw_advsimd.html public static void Usubw_V(bool Q, Bits size, Bits Rm, Bits Rn, Bits Rd) { diff --git a/Ryujinx.Tests/Cpu/Tester/Pseudocode.cs b/Ryujinx.Tests/Cpu/Tester/Pseudocode.cs index 40bec9c54..f37774763 100644 --- a/Ryujinx.Tests/Cpu/Tester/Pseudocode.cs +++ b/Ryujinx.Tests/Cpu/Tester/Pseudocode.cs @@ -5,21 +5,19 @@ // https://alastairreid.github.io/asl-lexical-syntax/ -// | ------------------------|----------------------------------- | -// | ASL | C# | -// | ------------------------|----------------------------------- | -// | bit, bits(1); boolean | bool | -// | bits | Bits | -// | integer | BigInteger, int | -// | real | decimal | -// | ------------------------|----------------------------------- | -// | '0'; FALSE | false | -// | '1'; TRUE | true | -// | '010' | "010" | -// | bitsX IN {bitsY, bitsZ} | (bitsX == bitsY || bitsX == bitsZ) | -// | DIV | / | -// | MOD | % | -// | ------------------------|----------------------------------- | +// | ------------------------|-------------------------------- | +// | ASL | C# | +// | ------------------------|-------------------------------- | +// | bit, bits(1); boolean | bool | +// | bits | Bits | +// | integer | BigInteger, int | +// | real | decimal; double, float | +// | ------------------------|-------------------------------- | +// | '0'; FALSE | false | +// | '1'; TRUE | true | +// | '010' | "010" | +// | DIV, MOD | /, % | +// | ------------------------|-------------------------------- | using System; using System.Numerics; @@ -107,6 +105,7 @@ namespace Ryujinx.Tests.Cpu.Tester /* SP_EL1 = bits(64) UNKNOWN; */ SP_EL1.SetAll(false); + FPCR.SetAll(false); // TODO: Add named fields. FPSR.SetAll(false); // TODO: Add named fields. } @@ -458,6 +457,7 @@ namespace Ryujinx.Tests.Cpu.Tester #endregion #region "instrs/vector/reduce/reduceop/" + // shared_pseudocode.html#impl-aarch64.Reduce.3 public static Bits Reduce(ReduceOp op, Bits input, int esize) { int N = input.Count; @@ -528,6 +528,7 @@ namespace Ryujinx.Tests.Cpu.Tester SP_EL0 = new Bits(64, false); SP_EL1 = new Bits(64, false); + FPCR = new Bits(32, false); // TODO: Add named fields. FPSR = new Bits(32, false); // TODO: Add named fields. PSTATE.N = false; @@ -817,6 +818,36 @@ namespace Ryujinx.Tests.Cpu.Tester return (decimal)value; } + /* */ + public static float Real_32(BigInteger value) + { + if (value == BigInteger.Pow((BigInteger)2.0f, 1000)) + { + return float.PositiveInfinity; + } + if (value == -BigInteger.Pow((BigInteger)2.0f, 1000)) + { + return float.NegativeInfinity; + } + + return (float)value; + } + + /* */ + public static double Real_64(BigInteger value) + { + if (value == BigInteger.Pow((BigInteger)2.0, 10000)) + { + return double.PositiveInfinity; + } + if (value == -BigInteger.Pow((BigInteger)2.0, 10000)) + { + return double.NegativeInfinity; + } + + return (double)value; + } + // shared_pseudocode.html#impl-shared.ROR.2 public static Bits ROR(Bits x, int shift) { @@ -881,6 +912,36 @@ namespace Ryujinx.Tests.Cpu.Tester return (BigInteger)Decimal.Floor(x); } + /* */ + public static BigInteger RoundDown_32(float x) + { + if (float.IsPositiveInfinity(x)) + { + return BigInteger.Pow((BigInteger)2.0f, 1000); + } + if (float.IsNegativeInfinity(x)) + { + return -BigInteger.Pow((BigInteger)2.0f, 1000); + } + + return (BigInteger)MathF.Floor(x); + } + + /* */ + public static BigInteger RoundDown_64(double x) + { + if (double.IsPositiveInfinity(x)) + { + return BigInteger.Pow((BigInteger)2.0, 10000); + } + if (double.IsNegativeInfinity(x)) + { + return -BigInteger.Pow((BigInteger)2.0, 10000); + } + + return (BigInteger)Math.Floor(x); + } + // shared_pseudocode.html#impl-shared.RoundTowardsZero.1 public static BigInteger RoundTowardsZero(decimal x) { @@ -1091,6 +1152,398 @@ namespace Ryujinx.Tests.Cpu.Tester } #endregion +#region "functions/float/fpdecoderounding/" + /* shared_pseudocode.html#impl-shared.FPDecodeRounding.1 */ + public static FPRounding FPDecodeRounding(Bits rmode) + { + switch (rmode) + { + default: + case Bits bits when bits == "00": + return FPRounding.FPRounding_TIEEVEN; // N + case Bits bits when bits == "01": + return FPRounding.FPRounding_POSINF; // P + case Bits bits when bits == "10": + return FPRounding.FPRounding_NEGINF; // M + case Bits bits when bits == "11": + return FPRounding.FPRounding_ZERO; // Z + } + } +#endregion + +#region "functions/float/fpexc/" + // shared_pseudocode.html#FPExc + public enum FPExc {FPExc_InvalidOp, FPExc_DivideByZero, FPExc_Overflow, + FPExc_Underflow, FPExc_Inexact, FPExc_InputDenorm}; +#endregion + +#region "functions/float/fpprocessexception/" + // shared_pseudocode.html#impl-shared.FPProcessException.2 + public static void FPProcessException(FPExc exception, Bits _fpcr) + { + Bits fpcr = new Bits(_fpcr); // Clone. + + int cumul; + + // Determine the cumulative exception bit number + switch (exception) + { + default: + case FPExc.FPExc_InvalidOp: cumul = 0; break; + case FPExc.FPExc_DivideByZero: cumul = 1; break; + case FPExc.FPExc_Overflow: cumul = 2; break; + case FPExc.FPExc_Underflow: cumul = 3; break; + case FPExc.FPExc_Inexact: cumul = 4; break; + case FPExc.FPExc_InputDenorm: cumul = 7; break; + } + + int enable = cumul + 8; + + if (fpcr[enable]) + { + // Trapping of the exception enabled. + // It is IMPLEMENTATION DEFINED whether the enable bit may be set at all, and + // if so then how exceptions may be accumulated before calling FPTrapException() + /* IMPLEMENTATION_DEFINED "floating-point trap handling"; */ + + throw new NotImplementedException(); + }/* + else if (UsingAArch32()) + { + // Set the cumulative exception bit + FPSCR = '1'; + }*/ + else + { + // Set the cumulative exception bit + FPSR[cumul] = true; + } + } +#endregion + +#region "functions/float/fprounding/" + // shared_pseudocode.html#FPRounding + public enum FPRounding {FPRounding_TIEEVEN, FPRounding_POSINF, + FPRounding_NEGINF, FPRounding_ZERO, + FPRounding_TIEAWAY, FPRounding_ODD}; +#endregion + +#region "functions/float/fptofixed/" + /* shared_pseudocode.html#impl-shared.FPToFixed.5 */ + public static Bits FPToFixed(int M, Bits op, int fbits, bool unsigned, Bits _fpcr, FPRounding rounding) + { + int N = op.Count; + + /* assert N IN {16,32,64}; */ + /* assert M IN {16,32,64}; */ + /* assert fbits >= 0; */ + /* assert rounding != FPRounding_ODD; */ + + Bits fpcr = new Bits(_fpcr); // Clone. + + if (N == 16) + { + throw new NotImplementedException(); + } + else if (N == 32) + { + // Unpack using fpcr to determine if subnormals are flushed-to-zero + (FPType type, bool sign, float value) = FPUnpack_32(op, fpcr); + + // If NaN, set cumulative flag or take exception + if (type == FPType.FPType_SNaN || type == FPType.FPType_QNaN) + { + FPProcessException(FPExc.FPExc_InvalidOp, fpcr); + } + + // Scale by fractional bits and produce integer rounded towards minus-infinity + value = value * MathF.Pow(2.0f, fbits); + BigInteger int_result = RoundDown_32(value); + float error = value - Real_32(int_result); + + if (float.IsNaN(error)) + { + error = 0.0f; + } + + // Determine whether supplied rounding mode requires an increment + bool round_up; + + switch (rounding) + { + default: + case FPRounding.FPRounding_TIEEVEN: + round_up = (error > 0.5f || (error == 0.5f && int_result.SubBigInteger(0))); + break; + case FPRounding.FPRounding_POSINF: + round_up = (error != 0.0f); + break; + case FPRounding.FPRounding_NEGINF: + round_up = false; + break; + case FPRounding.FPRounding_ZERO: + round_up = (error != 0.0f && int_result < (BigInteger)0); + break; + case FPRounding.FPRounding_TIEAWAY: + round_up = (error > 0.5f || (error == 0.5f && int_result >= (BigInteger)0)); + break; + } + + if (round_up) + { + int_result = int_result + 1; + } + + // Generate saturated result and exceptions + (Bits result, bool overflow) = SatQ(int_result, M, unsigned); + + if (overflow) + { + FPProcessException(FPExc.FPExc_InvalidOp, fpcr); + } + else if (error != 0.0f) + { + FPProcessException(FPExc.FPExc_Inexact, fpcr); + } + + return result; + } + else /* if (N == 64) */ + { + // Unpack using fpcr to determine if subnormals are flushed-to-zero + (FPType type, bool sign, double value) = FPUnpack_64(op, fpcr); + + // If NaN, set cumulative flag or take exception + if (type == FPType.FPType_SNaN || type == FPType.FPType_QNaN) + { + FPProcessException(FPExc.FPExc_InvalidOp, fpcr); + } + + // Scale by fractional bits and produce integer rounded towards minus-infinity + value = value * Math.Pow(2.0, fbits); + BigInteger int_result = RoundDown_64(value); + double error = value - Real_64(int_result); + + if (double.IsNaN(error)) + { + error = 0.0; + } + + // Determine whether supplied rounding mode requires an increment + bool round_up; + + switch (rounding) + { + default: + case FPRounding.FPRounding_TIEEVEN: + round_up = (error > 0.5 || (error == 0.5 && int_result.SubBigInteger(0))); + break; + case FPRounding.FPRounding_POSINF: + round_up = (error != 0.0); + break; + case FPRounding.FPRounding_NEGINF: + round_up = false; + break; + case FPRounding.FPRounding_ZERO: + round_up = (error != 0.0 && int_result < (BigInteger)0); + break; + case FPRounding.FPRounding_TIEAWAY: + round_up = (error > 0.5 || (error == 0.5 && int_result >= (BigInteger)0)); + break; + } + + if (round_up) + { + int_result = int_result + 1; + } + + // Generate saturated result and exceptions + (Bits result, bool overflow) = SatQ(int_result, M, unsigned); + + if (overflow) + { + FPProcessException(FPExc.FPExc_InvalidOp, fpcr); + } + else if (error != 0.0) + { + FPProcessException(FPExc.FPExc_Inexact, fpcr); + } + + return result; + } + } +#endregion + +#region "functions/float/fptype/" + // shared_pseudocode.html#FPType + public enum FPType {FPType_Nonzero, FPType_Zero, FPType_Infinity, + FPType_QNaN, FPType_SNaN}; +#endregion + +#region "functions/float/fpunpack/" + /* shared_pseudocode.html#impl-shared.FPUnpack.2 */ + /* shared_pseudocode.html#impl-shared.FPUnpackBase.2 */ + /*public static (FPType, bool, real) FPUnpack_16(Bits fpval, Bits _fpcr) + { + int N = fpval.Count; + + // assert N == 16; + + Bits fpcr = new Bits(_fpcr); // Clone. + + fpcr[26] = false; + + return FPUnpackBase_16(fpval, fpcr); + }*/ + public static (FPType, bool, float) FPUnpack_32(Bits fpval, Bits _fpcr) + { + int N = fpval.Count; + + /* assert N == 32; */ + + Bits fpcr = new Bits(_fpcr); // Clone. + + FPType type; + float value; + + bool sign = fpval[31]; + Bits exp32 = fpval[30, 23]; + Bits frac32 = fpval[22, 0]; + + if (IsZero(exp32)) + { + // Produce zero if value is zero or flush-to-zero is selected. + if (IsZero(frac32) || fpcr[24]) + { + type = FPType.FPType_Zero; + value = 0.0f; + + // Denormalized input flushed to zero + if (!IsZero(frac32)) + { + FPProcessException(FPExc.FPExc_InputDenorm, fpcr); + } + } + else + { + type = FPType.FPType_Nonzero; + value = MathF.Pow(2.0f, -126) * (Real_32(UInt(frac32)) * MathF.Pow(2.0f, -23)); + } + } + else if (IsOnes(exp32)) + { + if (IsZero(frac32)) + { + type = FPType.FPType_Infinity; + /* value = 2.0^1000000; */ + value = MathF.Pow(2.0f, 1000); + } + else + { + type = frac32[22] ? FPType.FPType_QNaN : FPType.FPType_SNaN; + value = 0.0f; + } + } + else + { + type = FPType.FPType_Nonzero; + value = MathF.Pow(2.0f, (int)UInt(exp32) - 127) * (1.0f + Real_32(UInt(frac32)) * MathF.Pow(2.0f, -23)); + } + + if (sign) + { + value = -value; + } + + return (type, sign, value); + } + public static (FPType, bool, double) FPUnpack_64(Bits fpval, Bits _fpcr) + { + int N = fpval.Count; + + /* assert N == 64; */ + + Bits fpcr = new Bits(_fpcr); // Clone. + + FPType type; + double value; + + bool sign = fpval[63]; + Bits exp64 = fpval[62, 52]; + Bits frac64 = fpval[51, 0]; + + if (IsZero(exp64)) + { + // Produce zero if value is zero or flush-to-zero is selected. + if (IsZero(frac64) || fpcr[24]) + { + type = FPType.FPType_Zero; + value = 0.0; + + // Denormalized input flushed to zero + if (!IsZero(frac64)) + { + FPProcessException(FPExc.FPExc_InputDenorm, fpcr); + } + } + else + { + type = FPType.FPType_Nonzero; + value = Math.Pow(2.0, -1022) * (Real_64(UInt(frac64)) * Math.Pow(2.0, -52)); + } + } + else if (IsOnes(exp64)) + { + if (IsZero(frac64)) + { + type = FPType.FPType_Infinity; + /* value = 2.0^1000000; */ + value = Math.Pow(2.0, 10000); + } + else + { + type = frac64[51] ? FPType.FPType_QNaN : FPType.FPType_SNaN; + value = 0.0; + } + } + else + { + type = FPType.FPType_Nonzero; + value = Math.Pow(2.0, (int)UInt(exp64) - 1023) * (1.0 + Real_64(UInt(frac64)) * Math.Pow(2.0, -52)); + } + + if (sign) + { + value = -value; + } + + return (type, sign, value); + } + + /* shared_pseudocode.html#impl-shared.FPUnpackCV.2 */ + /* shared_pseudocode.html#impl-shared.FPUnpackBase.2 */ + /*public static (FPType, bool, real) FPUnpackCV_16(Bits fpval, Bits _fpcr) + { + int N = fpval.Count; + + // assert N == 16; + + Bits fpcr = new Bits(_fpcr); // Clone. + + fpcr[19] = false; + + return FPUnpackBase_16(fpval, fpcr); + }*/ + public static (FPType, bool, float) FPUnpackCV_32(Bits fpval, Bits _fpcr) + { + return FPUnpack_32(fpval, _fpcr); + } + public static (FPType, bool, double) FPUnpackCV_64(Bits fpval, Bits _fpcr) + { + return FPUnpack_64(fpval, _fpcr); + } +#endregion + #region "functions/integer/" /* shared_pseudocode.html#impl-shared.AddWithCarry.3 */ public static (Bits, Bits) AddWithCarry(int N, Bits x, Bits y, bool carry_in) @@ -1117,7 +1570,12 @@ namespace Ryujinx.Tests.Cpu.Tester public static Bits SP_EL0; public static Bits SP_EL1; + public static Bits FPCR; // TODO: Add named fields. + // [ 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 22 | 21 20 | 19 | 18 17 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 ] + // [ 0 | 0 | 0 | 0 | 0 | AHP | DN | FZ | RMode | Stride | FZ16 | Len | IDE | 0 | 0 | IXE | UFE | OFE | DZE | IOE | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 ] public static Bits FPSR; // TODO: Add named fields. + // [ 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 ] + // [ N | Z | C | V | QC | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | IDC | 0 | 0 | IXC | UFC | OFC | DZC | IOC ] #endregion #region "functions/system/" @@ -1178,6 +1636,8 @@ namespace Ryujinx.Tests.Cpu.Tester /* shared_pseudocode.html#impl-shared.HaveEL.1 */ public static bool HaveEL(Bits el) { + // TODO: Implement ASL: "IN" as C#: "Bits.In()". + /* if el IN {EL1,EL0} then */ if (el == EL1 || el == EL0) { return true; // EL1 and EL0 must exist From 35778afef953643a40c4455ef9261bca69c100f5 Mon Sep 17 00:00:00 2001 From: gdkchan Date: Sat, 1 Sep 2018 11:54:56 -0300 Subject: [PATCH 19/24] Improve handling on QueryGet on the gpu (#397) --- Ryujinx.HLE/Gpu/Engines/NvGpuEngine3d.cs | 37 +++++++++++++++++++----- 1 file changed, 29 insertions(+), 8 deletions(-) diff --git a/Ryujinx.HLE/Gpu/Engines/NvGpuEngine3d.cs b/Ryujinx.HLE/Gpu/Engines/NvGpuEngine3d.cs index 2010e43bd..0d2f3befd 100644 --- a/Ryujinx.HLE/Gpu/Engines/NvGpuEngine3d.cs +++ b/Ryujinx.HLE/Gpu/Engines/NvGpuEngine3d.cs @@ -108,7 +108,7 @@ namespace Ryujinx.HLE.Gpu.Engines { SetFrameBuffer(Vmm, 0); } - + SetZeta(Vmm); SetRenderTargets(); @@ -228,7 +228,7 @@ namespace Ryujinx.HLE.Gpu.Engines } long Key = Vmm.GetPhysicalAddress(ZA); - + int Width = ReadRegister(NvGpuEngine3dReg.ZetaHoriz); int Height = ReadRegister(NvGpuEngine3dReg.ZetaVert); @@ -748,22 +748,43 @@ namespace Ryujinx.HLE.Gpu.Engines WriteRegister(NvGpuEngine3dReg.IndexBatchCount, 0); } + private enum QueryMode + { + WriteSeq, + Sync, + WriteCounterAndTimestamp + } + private void QueryControl(NvGpuVmm Vmm, NvGpuPBEntry PBEntry) { + WriteRegister(PBEntry); + long Position = MakeInt64From2xInt32(NvGpuEngine3dReg.QueryAddress); int Seq = Registers[(int)NvGpuEngine3dReg.QuerySequence]; int Ctrl = Registers[(int)NvGpuEngine3dReg.QueryControl]; - int Mode = Ctrl & 3; + QueryMode Mode = (QueryMode)(Ctrl & 3); - if (Mode == 0) + switch (Mode) { - //Write mode. - Vmm.WriteInt32(Position, Seq); - } + case QueryMode.WriteSeq: Vmm.WriteInt32(Position, Seq); break; - WriteRegister(PBEntry); + case QueryMode.WriteCounterAndTimestamp: + { + //TODO: Implement counters. + long Counter = 1; + + long Timestamp = (uint)Environment.TickCount; + + Timestamp = (long)(Timestamp * 615384.615385); + + Vmm.WriteInt64(Position + 0, Counter); + Vmm.WriteInt64(Position + 8, Timestamp); + + break; + } + } } private void CbData(NvGpuVmm Vmm, NvGpuPBEntry PBEntry) From bf28d8f1aa4288fba9d2204b8fe1af573bc2a72e Mon Sep 17 00:00:00 2001 From: HorrorTroll Date: Sun, 2 Sep 2018 04:25:49 +0700 Subject: [PATCH 20/24] Add BGRA8Unorm, BGRA8Srgb, ZF32_X24S8 texture format (#377) * Add BGRA8Unorm, BGRA8Srgb, ZF32_X24S8 texture format * Add BGRA8Unorm, BGRA8Srgb, ZF32_X24S8 texture format * Revert "Add BGRA8Unorm, BGRA8Srgb, ZF32_X24S8 texture format" This reverts commit aea5c9db3a5e0b11545c3520f885e411a3587113. * Conflicts fix * Wrong fix * E * e --- Ryujinx.Graphics/Gal/GalTextureFormat.cs | 1 + Ryujinx.Graphics/Gal/ImageFormatConverter.cs | 13 ++++++++++--- Ryujinx.Graphics/Gal/OpenGL/OGLEnumConverter.cs | 7 ++++--- Ryujinx.HLE/Gpu/Texture/TextureHelper.cs | 1 + Ryujinx.HLE/Gpu/Texture/TextureReader.cs | 1 + 5 files changed, 17 insertions(+), 6 deletions(-) diff --git a/Ryujinx.Graphics/Gal/GalTextureFormat.cs b/Ryujinx.Graphics/Gal/GalTextureFormat.cs index ed3d3d85d..009d2b826 100644 --- a/Ryujinx.Graphics/Gal/GalTextureFormat.cs +++ b/Ryujinx.Graphics/Gal/GalTextureFormat.cs @@ -25,6 +25,7 @@ namespace Ryujinx.Graphics.Gal BC5 = 0x28, Z24S8 = 0x29, ZF32 = 0x2f, + ZF32_X24S8 = 0x30, Astc2D4x4 = 0x40, Astc2D5x5 = 0x41, Astc2D6x6 = 0x42, diff --git a/Ryujinx.Graphics/Gal/ImageFormatConverter.cs b/Ryujinx.Graphics/Gal/ImageFormatConverter.cs index a56ab1a3f..8684ba961 100644 --- a/Ryujinx.Graphics/Gal/ImageFormatConverter.cs +++ b/Ryujinx.Graphics/Gal/ImageFormatConverter.cs @@ -53,6 +53,7 @@ namespace Ryujinx.Graphics.Gal case GalTextureFormat.BC4: return GalImageFormat.BC4_UNORM_BLOCK; case GalTextureFormat.BC5: return GalImageFormat.BC5_UNORM_BLOCK; case GalTextureFormat.Z24S8: return GalImageFormat.D24_UNORM_S8_UINT; + case GalTextureFormat.ZF32_X24S8: return GalImageFormat.D32_SFLOAT_S8_UINT; case GalTextureFormat.Astc2D4x4: return GalImageFormat.ASTC_4x4_UNORM_BLOCK; case GalTextureFormat.Astc2D5x5: return GalImageFormat.ASTC_5x5_UNORM_BLOCK; case GalTextureFormat.Astc2D6x6: return GalImageFormat.ASTC_6x6_UNORM_BLOCK; @@ -145,6 +146,8 @@ namespace Ryujinx.Graphics.Gal case GalFrameBufferFormat.RG8Snorm: return GalImageFormat.R8_SNORM; case GalFrameBufferFormat.RGBA8Snorm: return GalImageFormat.A8B8G8R8_SNORM_PACK32; case GalFrameBufferFormat.RG8Unorm: return GalImageFormat.R8G8_UNORM; + case GalFrameBufferFormat.BGRA8Unorm: return GalImageFormat.A8B8G8R8_UNORM_PACK32; + case GalFrameBufferFormat.BGRA8Srgb: return GalImageFormat.A8B8G8R8_SRGB_PACK32; case GalFrameBufferFormat.RG32Float: return GalImageFormat.R32G32_SFLOAT; case GalFrameBufferFormat.RG32Sint: return GalImageFormat.R32G32_SINT; case GalFrameBufferFormat.RG32Uint: return GalImageFormat.R32G32_UINT; @@ -157,9 +160,10 @@ namespace Ryujinx.Graphics.Gal { switch (Format) { - case GalZetaFormat.Z32Float: return GalImageFormat.D32_SFLOAT; - case GalZetaFormat.S8Z24Unorm: return GalImageFormat.D24_UNORM_S8_UINT; - case GalZetaFormat.Z16Unorm: return GalImageFormat.D16_UNORM; + case GalZetaFormat.Z32Float: return GalImageFormat.D32_SFLOAT; + case GalZetaFormat.S8Z24Unorm: return GalImageFormat.D24_UNORM_S8_UINT; + case GalZetaFormat.Z16Unorm: return GalImageFormat.D16_UNORM; + case GalZetaFormat.Z32S8X24Float: return GalImageFormat.D32_SFLOAT_S8_UINT; } throw new NotImplementedException(Format.ToString()); @@ -237,6 +241,7 @@ namespace Ryujinx.Graphics.Gal case GalImageFormat.D24_UNORM_S8_UINT: case GalImageFormat.D32_SFLOAT: case GalImageFormat.D16_UNORM: + case GalImageFormat.D32_SFLOAT_S8_UINT: return false; } @@ -250,6 +255,7 @@ namespace Ryujinx.Graphics.Gal case GalImageFormat.D24_UNORM_S8_UINT: case GalImageFormat.D32_SFLOAT: case GalImageFormat.D16_UNORM: + case GalImageFormat.D32_SFLOAT_S8_UINT: return true; } @@ -263,6 +269,7 @@ namespace Ryujinx.Graphics.Gal switch (Format) { case GalImageFormat.D24_UNORM_S8_UINT: + case GalImageFormat.D32_SFLOAT_S8_UINT: return true; } diff --git a/Ryujinx.Graphics/Gal/OpenGL/OGLEnumConverter.cs b/Ryujinx.Graphics/Gal/OpenGL/OGLEnumConverter.cs index 07147cc08..959d0e329 100644 --- a/Ryujinx.Graphics/Gal/OpenGL/OGLEnumConverter.cs +++ b/Ryujinx.Graphics/Gal/OpenGL/OGLEnumConverter.cs @@ -171,9 +171,10 @@ namespace Ryujinx.Graphics.Gal.OpenGL case GalImageFormat.R4G4B4A4_UNORM_PACK16_REVERSED: return (PixelInternalFormat.Rgba4, PixelFormat.Rgba, PixelType.UnsignedShort4444Reversed); - case GalImageFormat.D24_UNORM_S8_UINT: return (PixelInternalFormat.Depth24Stencil8, PixelFormat.DepthStencil, PixelType.UnsignedInt248); - case GalImageFormat.D32_SFLOAT: return (PixelInternalFormat.DepthComponent32f, PixelFormat.DepthComponent, PixelType.Float); - case GalImageFormat.D16_UNORM: return (PixelInternalFormat.DepthComponent16, PixelFormat.DepthComponent, PixelType.UnsignedShort); + case GalImageFormat.D24_UNORM_S8_UINT: return (PixelInternalFormat.Depth24Stencil8, PixelFormat.DepthStencil, PixelType.UnsignedInt248); + case GalImageFormat.D32_SFLOAT: return (PixelInternalFormat.DepthComponent32f, PixelFormat.DepthComponent, PixelType.Float); + case GalImageFormat.D16_UNORM: return (PixelInternalFormat.DepthComponent16, PixelFormat.DepthComponent, PixelType.UnsignedShort); + case GalImageFormat.D32_SFLOAT_S8_UINT: return (PixelInternalFormat.Depth32fStencil8, PixelFormat.DepthStencil, PixelType.Float32UnsignedInt248Rev); } throw new NotImplementedException(Format.ToString()); diff --git a/Ryujinx.HLE/Gpu/Texture/TextureHelper.cs b/Ryujinx.HLE/Gpu/Texture/TextureHelper.cs index 89228b250..98da852ee 100644 --- a/Ryujinx.HLE/Gpu/Texture/TextureHelper.cs +++ b/Ryujinx.HLE/Gpu/Texture/TextureHelper.cs @@ -44,6 +44,7 @@ namespace Ryujinx.HLE.Gpu.Texture case GalImageFormat.R16G16B16A16_SNORM: case GalImageFormat.R16G16B16A16_UINT: case GalImageFormat.R16G16B16A16_UNORM: + case GalImageFormat.D32_SFLOAT_S8_UINT: case GalImageFormat.R32G32_SFLOAT: case GalImageFormat.R32G32_SINT: case GalImageFormat.R32G32_UINT: diff --git a/Ryujinx.HLE/Gpu/Texture/TextureReader.cs b/Ryujinx.HLE/Gpu/Texture/TextureReader.cs index 6bbc41cad..65fa7e6eb 100644 --- a/Ryujinx.HLE/Gpu/Texture/TextureReader.cs +++ b/Ryujinx.HLE/Gpu/Texture/TextureReader.cs @@ -33,6 +33,7 @@ namespace Ryujinx.HLE.Gpu.Texture case GalTextureFormat.BC4: return Read8Bpt4x4 (Memory, Texture); case GalTextureFormat.BC5: return Read16BptCompressedTexture(Memory, Texture, 4, 4); case GalTextureFormat.ZF32: return Read4Bpp (Memory, Texture); + case GalTextureFormat.ZF32_X24S8: return Read8Bpp (Memory, Texture); case GalTextureFormat.Astc2D4x4: return Read16BptCompressedTexture(Memory, Texture, 4, 4); case GalTextureFormat.Astc2D5x5: return Read16BptCompressedTexture(Memory, Texture, 5, 5); case GalTextureFormat.Astc2D6x6: return Read16BptCompressedTexture(Memory, Texture, 6, 6); From e72fd3f7a7cf770283f4cbd4b082677a83daf515 Mon Sep 17 00:00:00 2001 From: ReinUsesLisp Date: Sat, 1 Sep 2018 18:44:19 -0300 Subject: [PATCH 21/24] Shaders: Handle Ipa PASS argument as needed in Fragment Shaders (#392) --- Ryujinx.Graphics/Gal/Shader/GlslDecompiler.cs | 26 ++++++++++++++++++- .../Gal/Shader/ShaderDecodeAlu.cs | 6 ++++- Ryujinx.Graphics/Gal/Shader/ShaderIpaMode.cs | 10 +++++++ .../Gal/Shader/ShaderIrMetaIpa.cs | 12 +++++++++ 4 files changed, 52 insertions(+), 2 deletions(-) create mode 100644 Ryujinx.Graphics/Gal/Shader/ShaderIpaMode.cs create mode 100644 Ryujinx.Graphics/Gal/Shader/ShaderIrMetaIpa.cs diff --git a/Ryujinx.Graphics/Gal/Shader/GlslDecompiler.cs b/Ryujinx.Graphics/Gal/Shader/GlslDecompiler.cs index 104fd7235..ac34400e3 100644 --- a/Ryujinx.Graphics/Gal/Shader/GlslDecompiler.cs +++ b/Ryujinx.Graphics/Gal/Shader/GlslDecompiler.cs @@ -1026,7 +1026,31 @@ namespace Ryujinx.Graphics.Gal.Shader return "int(uint(" + GetOperExpr(Op, Op.OperandA) + "))"; } - private string GetIpaExpr(ShaderIrOp Op) => GetSrcExpr(Op.OperandA); + private string GetIpaExpr(ShaderIrOp Op) + { + ShaderIrMetaIpa Meta = (ShaderIrMetaIpa)Op.MetaData; + + ShaderIrOperAbuf Abuf = (ShaderIrOperAbuf)Op.OperandA; + + if (Meta.Mode == ShaderIpaMode.Pass) + { + int Index = Abuf.Offs >> 4; + int Elem = (Abuf.Offs >> 2) & 3; + + if (Decl.ShaderType == GalShaderType.Fragment && Index == GlslDecl.GlPositionVec4Index) + { + switch (Elem) + { + case 0: return "gl_FragCoord.x"; + case 1: return "gl_FragCoord.y"; + case 2: return "gl_FragCoord.z"; + case 3: return "1"; + } + } + } + + return GetSrcExpr(Op.OperandA); + } private string GetKilExpr(ShaderIrOp Op) => "discard"; diff --git a/Ryujinx.Graphics/Gal/Shader/ShaderDecodeAlu.cs b/Ryujinx.Graphics/Gal/Shader/ShaderDecodeAlu.cs index 5eb761dab..afff7e9b3 100644 --- a/Ryujinx.Graphics/Gal/Shader/ShaderDecodeAlu.cs +++ b/Ryujinx.Graphics/Gal/Shader/ShaderDecodeAlu.cs @@ -208,7 +208,11 @@ namespace Ryujinx.Graphics.Gal.Shader ShaderIrNode OperA = GetOperAbuf28(OpCode); ShaderIrNode OperB = GetOperGpr20 (OpCode); - ShaderIrOp Op = new ShaderIrOp(ShaderIrInst.Ipa, OperA, OperB); + ShaderIpaMode Mode = (ShaderIpaMode)((OpCode >> 54) & 3); + + ShaderIrMetaIpa Meta = new ShaderIrMetaIpa(Mode); + + ShaderIrOp Op = new ShaderIrOp(ShaderIrInst.Ipa, OperA, OperB, null, Meta); Block.AddNode(GetPredNode(new ShaderIrAsg(GetOperGpr0(OpCode), Op), OpCode)); } diff --git a/Ryujinx.Graphics/Gal/Shader/ShaderIpaMode.cs b/Ryujinx.Graphics/Gal/Shader/ShaderIpaMode.cs new file mode 100644 index 000000000..b3713fa48 --- /dev/null +++ b/Ryujinx.Graphics/Gal/Shader/ShaderIpaMode.cs @@ -0,0 +1,10 @@ +namespace Ryujinx.Graphics.Gal.Shader +{ + enum ShaderIpaMode + { + Pass = 0, + None = 1, + Constant = 2, + Sc = 3 + } +} \ No newline at end of file diff --git a/Ryujinx.Graphics/Gal/Shader/ShaderIrMetaIpa.cs b/Ryujinx.Graphics/Gal/Shader/ShaderIrMetaIpa.cs new file mode 100644 index 000000000..3b884621b --- /dev/null +++ b/Ryujinx.Graphics/Gal/Shader/ShaderIrMetaIpa.cs @@ -0,0 +1,12 @@ +namespace Ryujinx.Graphics.Gal.Shader +{ + class ShaderIrMetaIpa : ShaderIrMeta + { + public ShaderIpaMode Mode { get; private set; } + + public ShaderIrMetaIpa(ShaderIpaMode Mode) + { + this.Mode = Mode; + } + } +} \ No newline at end of file From b549daed034225a0b305dc40497d73983cc3827e Mon Sep 17 00:00:00 2001 From: gdkchan Date: Sat, 1 Sep 2018 18:51:51 -0300 Subject: [PATCH 22/24] Fix exception throw message for unimpl texture formats (#398) --- Ryujinx.Graphics/Gal/ImageFormatConverter.cs | 2 +- Ryujinx.HLE/Gpu/Texture/TextureHelper.cs | 2 +- Ryujinx.HLE/Gpu/Texture/TextureReader.cs | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Ryujinx.Graphics/Gal/ImageFormatConverter.cs b/Ryujinx.Graphics/Gal/ImageFormatConverter.cs index 8684ba961..7aa39f5fb 100644 --- a/Ryujinx.Graphics/Gal/ImageFormatConverter.cs +++ b/Ryujinx.Graphics/Gal/ImageFormatConverter.cs @@ -125,7 +125,7 @@ namespace Ryujinx.Graphics.Gal break; } - throw new NotImplementedException("0x" + Format.ToString("x2") + " " + Type.ToString()); + throw new NotImplementedException("0x" + ((int)Format).ToString("x2") + " " + Type.ToString()); } public static GalImageFormat ConvertFrameBuffer(GalFrameBufferFormat Format) diff --git a/Ryujinx.HLE/Gpu/Texture/TextureHelper.cs b/Ryujinx.HLE/Gpu/Texture/TextureHelper.cs index 98da852ee..2683174d8 100644 --- a/Ryujinx.HLE/Gpu/Texture/TextureHelper.cs +++ b/Ryujinx.HLE/Gpu/Texture/TextureHelper.cs @@ -178,7 +178,7 @@ namespace Ryujinx.HLE.Gpu.Texture } } - throw new NotImplementedException("0x" + Image.Format.ToString("x2")); + throw new NotImplementedException(Image.Format.ToString()); } public static int CompressedTextureSize(int TextureWidth, int TextureHeight, int BlockWidth, int BlockHeight, int Bpb) diff --git a/Ryujinx.HLE/Gpu/Texture/TextureReader.cs b/Ryujinx.HLE/Gpu/Texture/TextureReader.cs index 65fa7e6eb..d293bf9f1 100644 --- a/Ryujinx.HLE/Gpu/Texture/TextureReader.cs +++ b/Ryujinx.HLE/Gpu/Texture/TextureReader.cs @@ -50,7 +50,7 @@ namespace Ryujinx.HLE.Gpu.Texture case GalTextureFormat.Astc2D10x6: return Read16BptCompressedTexture(Memory, Texture, 10, 6); } - throw new NotImplementedException("0x" + Texture.Format.ToString("x2")); + throw new NotImplementedException("0x" + ((int)Texture.Format).ToString("x2")); } private unsafe static byte[] Read1Bpp(IAMemory Memory, TextureInfo Texture) From 675f3f6f816d4f315c2f319d6b323834dc252590 Mon Sep 17 00:00:00 2001 From: emmauss Date: Sun, 2 Sep 2018 01:04:20 +0300 Subject: [PATCH 23/24] Implement loading of profile image (#391) * implement loading of profile image * rename icon to profilepicture * rename icon file --- ...ceForApplication.cs => IAccountService.cs} | 4 +- Ryujinx.HLE/HOS/Services/Acc/IProfile.cs | 36 +++++++++++++++++- Ryujinx.HLE/HOS/Services/ServiceFactory.cs | 5 ++- Ryujinx.HLE/Ryujinx.HLE.csproj | 8 ++++ Ryujinx.HLE/RyujinxProfileImage.jpg | Bin 0 -> 5394 bytes 5 files changed, 48 insertions(+), 5 deletions(-) rename Ryujinx.HLE/HOS/Services/Acc/{IAccountServiceForApplication.cs => IAccountService.cs} (97%) create mode 100644 Ryujinx.HLE/RyujinxProfileImage.jpg diff --git a/Ryujinx.HLE/HOS/Services/Acc/IAccountServiceForApplication.cs b/Ryujinx.HLE/HOS/Services/Acc/IAccountService.cs similarity index 97% rename from Ryujinx.HLE/HOS/Services/Acc/IAccountServiceForApplication.cs rename to Ryujinx.HLE/HOS/Services/Acc/IAccountService.cs index 36dfd9efa..8fd7bfeaf 100644 --- a/Ryujinx.HLE/HOS/Services/Acc/IAccountServiceForApplication.cs +++ b/Ryujinx.HLE/HOS/Services/Acc/IAccountService.cs @@ -7,13 +7,13 @@ using static Ryujinx.HLE.HOS.ErrorCode; namespace Ryujinx.HLE.HOS.Services.Acc { - class IAccountServiceForApplication : IpcService + class IAccountService : IpcService { private Dictionary m_Commands; public override IReadOnlyDictionary Commands => m_Commands; - public IAccountServiceForApplication() + public IAccountService() { m_Commands = new Dictionary() { diff --git a/Ryujinx.HLE/HOS/Services/Acc/IProfile.cs b/Ryujinx.HLE/HOS/Services/Acc/IProfile.cs index 960cc49c0..316f16d08 100644 --- a/Ryujinx.HLE/HOS/Services/Acc/IProfile.cs +++ b/Ryujinx.HLE/HOS/Services/Acc/IProfile.cs @@ -3,7 +3,10 @@ using Ryujinx.HLE.HOS.Ipc; using Ryujinx.HLE.HOS.SystemState; using Ryujinx.HLE.Logging; using Ryujinx.HLE.Utilities; +using System; using System.Collections.Generic; +using System.IO; +using System.Reflection; using System.Text; namespace Ryujinx.HLE.HOS.Services.Acc @@ -16,15 +19,21 @@ namespace Ryujinx.HLE.HOS.Services.Acc private UserProfile Profile; + private Stream ProfilePictureStream; + public IProfile(UserProfile Profile) { m_Commands = new Dictionary() { - { 0, Get }, - { 1, GetBase } + { 0, Get }, + { 1, GetBase }, + { 10, GetImageSize }, + { 11, LoadImage }, }; this.Profile = Profile; + + ProfilePictureStream = Assembly.GetCallingAssembly().GetManifestResourceStream("Ryujinx.HLE.RyujinxProfileImage.jpg"); } public long Get(ServiceCtx Context) @@ -54,5 +63,28 @@ namespace Ryujinx.HLE.HOS.Services.Acc return 0; } + + private long LoadImage(ServiceCtx Context) + { + long BufferPosition = Context.Request.ReceiveBuff[0].Position; + long BufferLen = Context.Request.ReceiveBuff[0].Size; + + byte[] ProfilePictureData = new byte[BufferLen]; + + ProfilePictureStream.Read(ProfilePictureData, 0, ProfilePictureData.Length); + + Context.Memory.WriteBytes(BufferPosition, ProfilePictureData); + + Context.ResponseData.Write(ProfilePictureStream.Length); + + return 0; + } + + private long GetImageSize(ServiceCtx Context) + { + Context.ResponseData.Write(ProfilePictureStream.Length); + + return 0; + } } } \ No newline at end of file diff --git a/Ryujinx.HLE/HOS/Services/ServiceFactory.cs b/Ryujinx.HLE/HOS/Services/ServiceFactory.cs index babceb7db..5e65d1d10 100644 --- a/Ryujinx.HLE/HOS/Services/ServiceFactory.cs +++ b/Ryujinx.HLE/HOS/Services/ServiceFactory.cs @@ -31,7 +31,10 @@ namespace Ryujinx.HLE.HOS.Services switch (Name) { case "acc:u0": - return new IAccountServiceForApplication(); + return new IAccountService(); + + case "acc:u1": + return new IAccountService(); case "aoc:u": return new IAddOnContentManager(); diff --git a/Ryujinx.HLE/Ryujinx.HLE.csproj b/Ryujinx.HLE/Ryujinx.HLE.csproj index f7fb84a58..fa4c254e2 100644 --- a/Ryujinx.HLE/Ryujinx.HLE.csproj +++ b/Ryujinx.HLE/Ryujinx.HLE.csproj @@ -13,6 +13,14 @@ true + + + + + + + + diff --git a/Ryujinx.HLE/RyujinxProfileImage.jpg b/Ryujinx.HLE/RyujinxProfileImage.jpg new file mode 100644 index 0000000000000000000000000000000000000000..fe9ec2a9590d2d53ef1dcffc8078f5bd04e7b00f GIT binary patch literal 5394 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 Date: Tue, 4 Sep 2018 10:15:41 +1000 Subject: [PATCH 24/24] Asynchronously log messages to the Console window (#395) * Logging: Asynchronously log messages to the Console window Writing to the Console blocks until the write completes. This has the potential to block any code path that logs to the application logger. By queuing up log messages in an asynchronous queue and returning without blocking, we can speed up code paths that heavily log to the console (for example stubbed services like ServiceHid). From testing this results in a roughly 8% time decrease between Ryujinx startup and the splash screen in Super Mario Odyssey on my system - 00:03:19.591 down to 00:03:04.354. Depending on your system, YMMV. * Logging: Resolve code styling issues --- Ryujinx/Ui/ConsoleLog.cs | 41 ++++++++++++++++++++++++++++++++++++++-- Ryujinx/Ui/Program.cs | 2 +- 2 files changed, 40 insertions(+), 3 deletions(-) diff --git a/Ryujinx/Ui/ConsoleLog.cs b/Ryujinx/Ui/ConsoleLog.cs index 1a2899946..6fb92e333 100644 --- a/Ryujinx/Ui/ConsoleLog.cs +++ b/Ryujinx/Ui/ConsoleLog.cs @@ -1,5 +1,6 @@ using Ryujinx.HLE.Logging; using System; +using System.Collections.Concurrent; using System.Collections.Generic; using System.Threading; @@ -7,6 +8,10 @@ namespace Ryujinx { static class ConsoleLog { + private static Thread MessageThread; + + private static BlockingCollection MessageQueue; + private static Dictionary LogColors; private static object ConsoleLock; @@ -21,15 +26,39 @@ namespace Ryujinx { LogLevel.Error, ConsoleColor.Red } }; + MessageQueue = new BlockingCollection(); + ConsoleLock = new object(); + + MessageThread = new Thread(() => + { + while (!MessageQueue.IsCompleted) + { + try + { + PrintLog(MessageQueue.Take()); + } + catch (InvalidOperationException) + { + // IOE means that Take() was called on a completed collection. + // Some other thread can call CompleteAdding after we pass the + // IsCompleted check but before we call Take. + // We can simply catch the exception since the loop will break + // on the next iteration. + } + } + }); + + MessageThread.IsBackground = true; + MessageThread.Start(); } - public static void PrintLog(object sender, LogEventArgs e) + private static void PrintLog(LogEventArgs e) { string FormattedTime = e.Time.ToString(@"hh\:mm\:ss\.fff"); string CurrentThread = Thread.CurrentThread.ManagedThreadId.ToString("d4"); - + string Message = FormattedTime + " | " + CurrentThread + " " + e.Message; if (LogColors.TryGetValue(e.Level, out ConsoleColor Color)) @@ -47,5 +76,13 @@ namespace Ryujinx Console.WriteLine(Message); } } + + public static void Log(object sender, LogEventArgs e) + { + if (!MessageQueue.IsAddingCompleted) + { + MessageQueue.Add(e); + } + } } } \ No newline at end of file diff --git a/Ryujinx/Ui/Program.cs b/Ryujinx/Ui/Program.cs index 7acf73a55..fdbc59a5a 100644 --- a/Ryujinx/Ui/Program.cs +++ b/Ryujinx/Ui/Program.cs @@ -22,7 +22,7 @@ namespace Ryujinx Config.Read(Device); - Device.Log.Updated += ConsoleLog.PrintLog; + Device.Log.Updated += ConsoleLog.Log; if (args.Length == 1) {