From 0e95a8271ac96b2c54907858140e2511a25a2b10 Mon Sep 17 00:00:00 2001 From: Marco Carvalho Date: Fri, 9 Jun 2023 14:44:22 -0300 Subject: [PATCH] Non-flags enums should not be used in bitwise operations (#5214) --- src/ARMeilleure/IntermediateRepresentation/Intrinsic.cs | 3 +++ src/Ryujinx.Graphics.Shader/Decoders/InstDecoders.cs | 3 +++ src/Ryujinx.Graphics.Shader/Decoders/InstProps.cs | 3 +++ src/Ryujinx.Graphics.Shader/Translation/AggregateType.cs | 5 ++++- src/Ryujinx.HLE/HOS/Kernel/Threading/ThreadSchedState.cs | 3 +++ 5 files changed, 16 insertions(+), 1 deletion(-) diff --git a/src/ARMeilleure/IntermediateRepresentation/Intrinsic.cs b/src/ARMeilleure/IntermediateRepresentation/Intrinsic.cs index f5a776fa..df5d39ae 100644 --- a/src/ARMeilleure/IntermediateRepresentation/Intrinsic.cs +++ b/src/ARMeilleure/IntermediateRepresentation/Intrinsic.cs @@ -1,5 +1,8 @@ +using System; + namespace ARMeilleure.IntermediateRepresentation { + [Flags] enum Intrinsic : ushort { // X86 (SSE and AVX) diff --git a/src/Ryujinx.Graphics.Shader/Decoders/InstDecoders.cs b/src/Ryujinx.Graphics.Shader/Decoders/InstDecoders.cs index 13676293..c7c506ec 100644 --- a/src/Ryujinx.Graphics.Shader/Decoders/InstDecoders.cs +++ b/src/Ryujinx.Graphics.Shader/Decoders/InstDecoders.cs @@ -1,3 +1,5 @@ +using System; + namespace Ryujinx.Graphics.Shader.Decoders { enum AlSize @@ -711,6 +713,7 @@ namespace Ryujinx.Graphics.Shader.Decoders TexSamplerBorderColor = 22, } + [Flags] enum VectorSelect { U8B0 = 0, diff --git a/src/Ryujinx.Graphics.Shader/Decoders/InstProps.cs b/src/Ryujinx.Graphics.Shader/Decoders/InstProps.cs index 1af94ab5..3f39e631 100644 --- a/src/Ryujinx.Graphics.Shader/Decoders/InstProps.cs +++ b/src/Ryujinx.Graphics.Shader/Decoders/InstProps.cs @@ -1,5 +1,8 @@ +using System; + namespace Ryujinx.Graphics.Shader.Decoders { + [Flags] enum InstProps : ushort { None = 0, diff --git a/src/Ryujinx.Graphics.Shader/Translation/AggregateType.cs b/src/Ryujinx.Graphics.Shader/Translation/AggregateType.cs index b1b40f65..a54eddc5 100644 --- a/src/Ryujinx.Graphics.Shader/Translation/AggregateType.cs +++ b/src/Ryujinx.Graphics.Shader/Translation/AggregateType.cs @@ -1,5 +1,8 @@ -namespace Ryujinx.Graphics.Shader.Translation +using System; + +namespace Ryujinx.Graphics.Shader.Translation { + [Flags] enum AggregateType { Invalid, diff --git a/src/Ryujinx.HLE/HOS/Kernel/Threading/ThreadSchedState.cs b/src/Ryujinx.HLE/HOS/Kernel/Threading/ThreadSchedState.cs index 9577075c..1d09e021 100644 --- a/src/Ryujinx.HLE/HOS/Kernel/Threading/ThreadSchedState.cs +++ b/src/Ryujinx.HLE/HOS/Kernel/Threading/ThreadSchedState.cs @@ -1,5 +1,8 @@ +using System; + namespace Ryujinx.HLE.HOS.Kernel.Threading { + [Flags] enum ThreadSchedState : ushort { LowMask = 0xf,