diff --git a/src/Ryujinx.Graphics.Gpu/Engine/Compute/ComputeClassState.cs b/src/Ryujinx.Graphics.Gpu/Engine/Compute/ComputeClassState.cs index 5d81de5de6..73dd31b233 100644 --- a/src/Ryujinx.Graphics.Gpu/Engine/Compute/ComputeClassState.cs +++ b/src/Ryujinx.Graphics.Gpu/Engine/Compute/ComputeClassState.cs @@ -100,22 +100,22 @@ namespace Ryujinx.Graphics.Gpu.Engine.Compute { #pragma warning disable CS0649 public uint SetObject; - public int SetObjectClassId => (int)((SetObject >> 0) & 0xFFFF); + public int SetObjectClassId => (int)(SetObject & 0xFFFF); public int SetObjectEngineId => (int)((SetObject >> 16) & 0x1F); public fixed uint Reserved04[63]; public uint NoOperation; public uint SetNotifyA; - public int SetNotifyAAddressUpper => (int)((SetNotifyA >> 0) & 0xFF); + public int SetNotifyAAddressUpper => (int)(SetNotifyA & 0xFF); public uint SetNotifyB; public uint Notify; public NotifyType NotifyType => (NotifyType)(Notify); public uint WaitForIdle; public fixed uint Reserved114[7]; public uint SetGlobalRenderEnableA; - public int SetGlobalRenderEnableAOffsetUpper => (int)((SetGlobalRenderEnableA >> 0) & 0xFF); + public int SetGlobalRenderEnableAOffsetUpper => (int)(SetGlobalRenderEnableA & 0xFF); public uint SetGlobalRenderEnableB; public uint SetGlobalRenderEnableC; - public int SetGlobalRenderEnableCMode => (int)((SetGlobalRenderEnableC >> 0) & 0x7); + public int SetGlobalRenderEnableCMode => (int)(SetGlobalRenderEnableC & 0x7); public uint SendGoIdle; public uint PmTrigger; public uint PmTriggerWfi; @@ -126,11 +126,11 @@ namespace Ryujinx.Graphics.Gpu.Engine.Compute public uint LineLengthIn; public uint LineCount; public uint OffsetOutUpper; - public int OffsetOutUpperValue => (int)((OffsetOutUpper >> 0) & 0xFF); + public int OffsetOutUpperValue => (int)(OffsetOutUpper & 0xFF); public uint OffsetOut; public uint PitchOut; public uint SetDstBlockSize; - public SetDstBlockSizeWidth SetDstBlockSizeWidth => (SetDstBlockSizeWidth)((SetDstBlockSize >> 0) & 0xF); + public SetDstBlockSizeWidth SetDstBlockSizeWidth => (SetDstBlockSizeWidth)(SetDstBlockSize & 0xF); public SetDstBlockSizeHeight SetDstBlockSizeHeight => (SetDstBlockSizeHeight)((SetDstBlockSize >> 4) & 0xF); public SetDstBlockSizeDepth SetDstBlockSizeDepth => (SetDstBlockSizeDepth)((SetDstBlockSize >> 8) & 0xF); public uint SetDstWidth; @@ -138,11 +138,11 @@ namespace Ryujinx.Graphics.Gpu.Engine.Compute public uint SetDstDepth; public uint SetDstLayer; public uint SetDstOriginBytesX; - public int SetDstOriginBytesXV => (int)((SetDstOriginBytesX >> 0) & 0xFFFFF); + public int SetDstOriginBytesXV => (int)(SetDstOriginBytesX & 0xFFFFF); public uint SetDstOriginSamplesY; - public int SetDstOriginSamplesYV => (int)((SetDstOriginSamplesY >> 0) & 0xFFFF); + public int SetDstOriginSamplesYV => (int)(SetDstOriginSamplesY & 0xFFFF); public uint LaunchDma; - public LaunchDmaDstMemoryLayout LaunchDmaDstMemoryLayout => (LaunchDmaDstMemoryLayout)((LaunchDma >> 0) & 0x1); + public LaunchDmaDstMemoryLayout LaunchDmaDstMemoryLayout => (LaunchDmaDstMemoryLayout)(LaunchDma & 0x1); public LaunchDmaCompletionType LaunchDmaCompletionType => (LaunchDmaCompletionType)((LaunchDma >> 4) & 0x3); public LaunchDmaInterruptType LaunchDmaInterruptType => (LaunchDmaInterruptType)((LaunchDma >> 8) & 0x3); public LaunchDmaSemaphoreStructSize LaunchDmaSemaphoreStructSize => (LaunchDmaSemaphoreStructSize)((LaunchDma >> 12) & 0x1); @@ -153,7 +153,7 @@ namespace Ryujinx.Graphics.Gpu.Engine.Compute public uint LoadInlineData; public fixed uint Reserved1B8[9]; public uint SetI2mSemaphoreA; - public int SetI2mSemaphoreAOffsetUpper => (int)((SetI2mSemaphoreA >> 0) & 0xFF); + public int SetI2mSemaphoreAOffsetUpper => (int)(SetI2mSemaphoreA & 0xFF); public uint SetI2mSemaphoreB; public uint SetI2mSemaphoreC; public fixed uint Reserved1E8[2]; @@ -162,7 +162,7 @@ namespace Ryujinx.Graphics.Gpu.Engine.Compute public uint SetI2mSpareNoop02; public uint SetI2mSpareNoop03; public uint SetValidSpanOverflowAreaA; - public int SetValidSpanOverflowAreaAAddressUpper => (int)((SetValidSpanOverflowAreaA >> 0) & 0xFF); + public int SetValidSpanOverflowAreaAAddressUpper => (int)(SetValidSpanOverflowAreaA & 0xFF); public uint SetValidSpanOverflowAreaB; public uint SetValidSpanOverflowAreaC; public uint SetCoalesceWaitingPeriodUnit; @@ -185,12 +185,12 @@ namespace Ryujinx.Graphics.Gpu.Engine.Compute public uint SetReservedSwMethod06; public uint SetReservedSwMethod07; public uint SetCwdControl; - public SetCwdControlSmSelection SetCwdControlSmSelection => (SetCwdControlSmSelection)((SetCwdControl >> 0) & 0x1); + public SetCwdControlSmSelection SetCwdControlSmSelection => (SetCwdControlSmSelection)(SetCwdControl & 0x1); public uint InvalidateTextureHeaderCacheNoWfi; - public InvalidateCacheLines InvalidateTextureHeaderCacheNoWfiLines => (InvalidateCacheLines)((InvalidateTextureHeaderCacheNoWfi >> 0) & 0x1); + public InvalidateCacheLines InvalidateTextureHeaderCacheNoWfiLines => (InvalidateCacheLines)(InvalidateTextureHeaderCacheNoWfi & 0x1); public int InvalidateTextureHeaderCacheNoWfiTag => (int)((InvalidateTextureHeaderCacheNoWfi >> 4) & 0x3FFFFF); public uint SetCwdRefCounter; - public int SetCwdRefCounterSelect => (int)((SetCwdRefCounter >> 0) & 0x3F); + public int SetCwdRefCounterSelect => (int)(SetCwdRefCounter & 0x3F); public int SetCwdRefCounterValue => (int)((SetCwdRefCounter >> 8) & 0xFFFF); public uint SetReservedSwMethod08; public uint SetReservedSwMethod09; @@ -201,28 +201,28 @@ namespace Ryujinx.Graphics.Gpu.Engine.Compute public uint SetReservedSwMethod14; public uint SetReservedSwMethod15; public uint SetGwcScgType; - public SetGwcScgTypeScgType SetGwcScgTypeScgType => (SetGwcScgTypeScgType)((SetGwcScgType >> 0) & 0x1); + public SetGwcScgTypeScgType SetGwcScgTypeScgType => (SetGwcScgTypeScgType)(SetGwcScgType & 0x1); public uint SetScgControl; - public int SetScgControlCompute1MaxSmCount => (int)((SetScgControl >> 0) & 0x1FF); + public int SetScgControlCompute1MaxSmCount => (int)(SetScgControl & 0x1FF); public uint InvalidateConstantBufferCacheA; - public int InvalidateConstantBufferCacheAAddressUpper => (int)((InvalidateConstantBufferCacheA >> 0) & 0xFF); + public int InvalidateConstantBufferCacheAAddressUpper => (int)(InvalidateConstantBufferCacheA & 0xFF); public uint InvalidateConstantBufferCacheB; public uint InvalidateConstantBufferCacheC; - public int InvalidateConstantBufferCacheCByteCount => (int)((InvalidateConstantBufferCacheC >> 0) & 0x1FFFF); + public int InvalidateConstantBufferCacheCByteCount => (int)(InvalidateConstantBufferCacheC & 0x1FFFF); public bool InvalidateConstantBufferCacheCThruL2 => (InvalidateConstantBufferCacheC & 0x80000000) != 0; public uint SetComputeClassVersion; - public int SetComputeClassVersionCurrent => (int)((SetComputeClassVersion >> 0) & 0xFFFF); + public int SetComputeClassVersionCurrent => (int)(SetComputeClassVersion & 0xFFFF); public int SetComputeClassVersionOldestSupported => (int)((SetComputeClassVersion >> 16) & 0xFFFF); public uint CheckComputeClassVersion; - public int CheckComputeClassVersionCurrent => (int)((CheckComputeClassVersion >> 0) & 0xFFFF); + public int CheckComputeClassVersionCurrent => (int)(CheckComputeClassVersion & 0xFFFF); public int CheckComputeClassVersionOldestSupported => (int)((CheckComputeClassVersion >> 16) & 0xFFFF); public uint SetQmdVersion; - public int SetQmdVersionCurrent => (int)((SetQmdVersion >> 0) & 0xFFFF); + public int SetQmdVersionCurrent => (int)(SetQmdVersion & 0xFFFF); public int SetQmdVersionOldestSupported => (int)((SetQmdVersion >> 16) & 0xFFFF); public uint SetWfiConfig; public bool SetWfiConfigEnableScgTypeWfi => (SetWfiConfig & 0x1) != 0; public uint CheckQmdVersion; - public int CheckQmdVersionCurrent => (int)((CheckQmdVersion >> 0) & 0xFFFF); + public int CheckQmdVersionCurrent => (int)(CheckQmdVersion & 0xFFFF); public int CheckQmdVersionOldestSupported => (int)((CheckQmdVersion >> 16) & 0xFFFF); public uint WaitForIdleScgType; public uint InvalidateSkedCaches; @@ -231,28 +231,28 @@ namespace Ryujinx.Graphics.Gpu.Engine.Compute public bool SetScgRenderEnableControlCompute1UsesRenderEnable => (SetScgRenderEnableControl & 0x1) != 0; public fixed uint Reserved2A0[4]; public uint SetCwdSlotCount; - public int SetCwdSlotCountV => (int)((SetCwdSlotCount >> 0) & 0xFF); + public int SetCwdSlotCountV => (int)(SetCwdSlotCount & 0xFF); public uint SendPcasA; public uint SendPcasB; - public int SendPcasBFrom => (int)((SendPcasB >> 0) & 0xFFFFFF); + public int SendPcasBFrom => (int)(SendPcasB & 0xFFFFFF); public int SendPcasBDelta => (int)((SendPcasB >> 24) & 0xFF); public uint SendSignalingPcasB; public bool SendSignalingPcasBInvalidate => (SendSignalingPcasB & 0x1) != 0; public bool SendSignalingPcasBSchedule => (SendSignalingPcasB & 0x2) != 0; public fixed uint Reserved2C0[9]; public uint SetShaderLocalMemoryNonThrottledA; - public int SetShaderLocalMemoryNonThrottledASizeUpper => (int)((SetShaderLocalMemoryNonThrottledA >> 0) & 0xFF); + public int SetShaderLocalMemoryNonThrottledASizeUpper => (int)(SetShaderLocalMemoryNonThrottledA & 0xFF); public uint SetShaderLocalMemoryNonThrottledB; public uint SetShaderLocalMemoryNonThrottledC; - public int SetShaderLocalMemoryNonThrottledCMaxSmCount => (int)((SetShaderLocalMemoryNonThrottledC >> 0) & 0x1FF); + public int SetShaderLocalMemoryNonThrottledCMaxSmCount => (int)(SetShaderLocalMemoryNonThrottledC & 0x1FF); public uint SetShaderLocalMemoryThrottledA; - public int SetShaderLocalMemoryThrottledASizeUpper => (int)((SetShaderLocalMemoryThrottledA >> 0) & 0xFF); + public int SetShaderLocalMemoryThrottledASizeUpper => (int)(SetShaderLocalMemoryThrottledA & 0xFF); public uint SetShaderLocalMemoryThrottledB; public uint SetShaderLocalMemoryThrottledC; - public int SetShaderLocalMemoryThrottledCMaxSmCount => (int)((SetShaderLocalMemoryThrottledC >> 0) & 0x1FF); + public int SetShaderLocalMemoryThrottledCMaxSmCount => (int)(SetShaderLocalMemoryThrottledC & 0x1FF); public fixed uint Reserved2FC[5]; public uint SetSpaVersion; - public int SetSpaVersionMinor => (int)((SetSpaVersion >> 0) & 0xFF); + public int SetSpaVersionMinor => (int)(SetSpaVersion & 0xFF); public int SetSpaVersionMajor => (int)((SetSpaVersion >> 8) & 0xFF); public fixed uint Reserved314[123]; public uint SetFalcon00; @@ -291,14 +291,14 @@ namespace Ryujinx.Graphics.Gpu.Engine.Compute public uint SetShaderLocalMemoryWindow; public fixed uint Reserved780[4]; public uint SetShaderLocalMemoryA; - public int SetShaderLocalMemoryAAddressUpper => (int)((SetShaderLocalMemoryA >> 0) & 0xFF); + public int SetShaderLocalMemoryAAddressUpper => (int)(SetShaderLocalMemoryA & 0xFF); public uint SetShaderLocalMemoryB; public fixed uint Reserved798[383]; public uint SetShaderCacheControl; public bool SetShaderCacheControlIcachePrefetchEnable => (SetShaderCacheControl & 0x1) != 0; public fixed uint ReservedD98[19]; public uint SetSmTimeoutInterval; - public int SetSmTimeoutIntervalCounterBit => (int)((SetSmTimeoutInterval >> 0) & 0x3F); + public int SetSmTimeoutIntervalCounterBit => (int)(SetSmTimeoutInterval & 0x3F); public fixed uint ReservedDE8[87]; public uint SetSpareNoop12; public uint SetSpareNoop13; @@ -324,48 +324,48 @@ namespace Ryujinx.Graphics.Gpu.Engine.Compute public bool InvalidateTextureHeaderCacheAllV => (InvalidateTextureHeaderCacheAll & 0x1) != 0; public fixed uint Reserved1214[29]; public uint InvalidateTextureDataCacheNoWfi; - public InvalidateCacheLines InvalidateTextureDataCacheNoWfiLines => (InvalidateCacheLines)((InvalidateTextureDataCacheNoWfi >> 0) & 0x1); + public InvalidateCacheLines InvalidateTextureDataCacheNoWfiLines => (InvalidateCacheLines)(InvalidateTextureDataCacheNoWfi & 0x1); public int InvalidateTextureDataCacheNoWfiTag => (int)((InvalidateTextureDataCacheNoWfi >> 4) & 0x3FFFFF); public fixed uint Reserved128C[7]; public uint ActivatePerfSettingsForComputeContext; public bool ActivatePerfSettingsForComputeContextAll => (ActivatePerfSettingsForComputeContext & 0x1) != 0; public fixed uint Reserved12AC[33]; public uint InvalidateSamplerCache; - public InvalidateCacheLines InvalidateSamplerCacheLines => (InvalidateCacheLines)((InvalidateSamplerCache >> 0) & 0x1); + public InvalidateCacheLines InvalidateSamplerCacheLines => (InvalidateCacheLines)(InvalidateSamplerCache & 0x1); public int InvalidateSamplerCacheTag => (int)((InvalidateSamplerCache >> 4) & 0x3FFFFF); public uint InvalidateTextureHeaderCache; - public InvalidateCacheLines InvalidateTextureHeaderCacheLines => (InvalidateCacheLines)((InvalidateTextureHeaderCache >> 0) & 0x1); + public InvalidateCacheLines InvalidateTextureHeaderCacheLines => (InvalidateCacheLines)(InvalidateTextureHeaderCache & 0x1); public int InvalidateTextureHeaderCacheTag => (int)((InvalidateTextureHeaderCache >> 4) & 0x3FFFFF); public uint InvalidateTextureDataCache; - public InvalidateCacheLines InvalidateTextureDataCacheLines => (InvalidateCacheLines)((InvalidateTextureDataCache >> 0) & 0x1); + public InvalidateCacheLines InvalidateTextureDataCacheLines => (InvalidateCacheLines)(InvalidateTextureDataCache & 0x1); public int InvalidateTextureDataCacheTag => (int)((InvalidateTextureDataCache >> 4) & 0x3FFFFF); public fixed uint Reserved133C[58]; public uint InvalidateSamplerCacheNoWfi; - public InvalidateCacheLines InvalidateSamplerCacheNoWfiLines => (InvalidateCacheLines)((InvalidateSamplerCacheNoWfi >> 0) & 0x1); + public InvalidateCacheLines InvalidateSamplerCacheNoWfiLines => (InvalidateCacheLines)(InvalidateSamplerCacheNoWfi & 0x1); public int InvalidateSamplerCacheNoWfiTag => (int)((InvalidateSamplerCacheNoWfi >> 4) & 0x3FFFFF); public fixed uint Reserved1428[64]; public uint SetShaderExceptions; public bool SetShaderExceptionsEnable => (SetShaderExceptions & 0x1) != 0; public fixed uint Reserved152C[9]; public uint SetRenderEnableA; - public int SetRenderEnableAOffsetUpper => (int)((SetRenderEnableA >> 0) & 0xFF); + public int SetRenderEnableAOffsetUpper => (int)(SetRenderEnableA & 0xFF); public uint SetRenderEnableB; public uint SetRenderEnableC; - public int SetRenderEnableCMode => (int)((SetRenderEnableC >> 0) & 0x7); + public int SetRenderEnableCMode => (int)(SetRenderEnableC & 0x7); public uint SetTexSamplerPoolA; - public int SetTexSamplerPoolAOffsetUpper => (int)((SetTexSamplerPoolA >> 0) & 0xFF); + public int SetTexSamplerPoolAOffsetUpper => (int)(SetTexSamplerPoolA & 0xFF); public uint SetTexSamplerPoolB; public uint SetTexSamplerPoolC; - public int SetTexSamplerPoolCMaximumIndex => (int)((SetTexSamplerPoolC >> 0) & 0xFFFFF); + public int SetTexSamplerPoolCMaximumIndex => (int)(SetTexSamplerPoolC & 0xFFFFF); public fixed uint Reserved1568[3]; public uint SetTexHeaderPoolA; - public int SetTexHeaderPoolAOffsetUpper => (int)((SetTexHeaderPoolA >> 0) & 0xFF); + public int SetTexHeaderPoolAOffsetUpper => (int)(SetTexHeaderPoolA & 0xFF); public uint SetTexHeaderPoolB; public uint SetTexHeaderPoolC; - public int SetTexHeaderPoolCMaximumIndex => (int)((SetTexHeaderPoolC >> 0) & 0x3FFFFF); + public int SetTexHeaderPoolCMaximumIndex => (int)(SetTexHeaderPoolC & 0x3FFFFF); public fixed uint Reserved1580[34]; public uint SetProgramRegionA; - public int SetProgramRegionAAddressUpper => (int)((SetProgramRegionA >> 0) & 0xFF); + public int SetProgramRegionAAddressUpper => (int)(SetProgramRegionA & 0xFF); public uint SetProgramRegionB; public fixed uint Reserved1610[34]; public uint InvalidateShaderCachesNoWfi; @@ -374,7 +374,7 @@ namespace Ryujinx.Graphics.Gpu.Engine.Compute public bool InvalidateShaderCachesNoWfiConstant => (InvalidateShaderCachesNoWfi & 0x1000) != 0; public fixed uint Reserved169C[170]; public uint SetRenderEnableOverride; - public SetRenderEnableOverrideMode SetRenderEnableOverrideMode => (SetRenderEnableOverrideMode)((SetRenderEnableOverride >> 0) & 0x3); + public SetRenderEnableOverrideMode SetRenderEnableOverrideMode => (SetRenderEnableOverrideMode)(SetRenderEnableOverride & 0x3); public fixed uint Reserved1948[57]; public uint PipeNop; public uint SetSpare00; @@ -383,11 +383,11 @@ namespace Ryujinx.Graphics.Gpu.Engine.Compute public uint SetSpare03; public fixed uint Reserved1A40[48]; public uint SetReportSemaphoreA; - public int SetReportSemaphoreAOffsetUpper => (int)((SetReportSemaphoreA >> 0) & 0xFF); + public int SetReportSemaphoreAOffsetUpper => (int)(SetReportSemaphoreA & 0xFF); public uint SetReportSemaphoreB; public uint SetReportSemaphoreC; public uint SetReportSemaphoreD; - public SetReportSemaphoreDOperation SetReportSemaphoreDOperation => (SetReportSemaphoreDOperation)((SetReportSemaphoreD >> 0) & 0x3); + public SetReportSemaphoreDOperation SetReportSemaphoreDOperation => (SetReportSemaphoreDOperation)(SetReportSemaphoreD & 0x3); public bool SetReportSemaphoreDAwakenEnable => (SetReportSemaphoreD & 0x100000) != 0; public SetReportSemaphoreDStructureSize SetReportSemaphoreDStructureSize => (SetReportSemaphoreDStructureSize)((SetReportSemaphoreD >> 28) & 0x1); public bool SetReportSemaphoreDFlushDisable => (SetReportSemaphoreD & 0x4) != 0; @@ -396,7 +396,7 @@ namespace Ryujinx.Graphics.Gpu.Engine.Compute public SetReportSemaphoreDReductionFormat SetReportSemaphoreDReductionFormat => (SetReportSemaphoreDReductionFormat)((SetReportSemaphoreD >> 17) & 0x3); public fixed uint Reserved1B10[702]; public uint SetBindlessTexture; - public int SetBindlessTextureConstantBufferSlotSelect => (int)((SetBindlessTexture >> 0) & 0x7); + public int SetBindlessTextureConstantBufferSlotSelect => (int)(SetBindlessTexture & 0x7); public uint SetTrapHandler; public fixed uint Reserved2610[843]; public Array8 SetShaderPerformanceCounterValueUpper; @@ -423,11 +423,11 @@ namespace Ryujinx.Graphics.Gpu.Engine.Compute public bool SetShaderPerformanceCounterControlBWindowed(int i) => (SetShaderPerformanceCounterControlB[i] & 0x8) != 0; public int SetShaderPerformanceCounterControlBFunc(int i) => (int)((SetShaderPerformanceCounterControlB[i] >> 4) & 0xFFFF); public uint SetShaderPerformanceCounterTrapControl; - public int SetShaderPerformanceCounterTrapControlMask => (int)((SetShaderPerformanceCounterTrapControl >> 0) & 0xFF); + public int SetShaderPerformanceCounterTrapControlMask => (int)(SetShaderPerformanceCounterTrapControl & 0xFF); public uint StartShaderPerformanceCounter; - public int StartShaderPerformanceCounterCounterMask => (int)((StartShaderPerformanceCounter >> 0) & 0xFF); + public int StartShaderPerformanceCounterCounterMask => (int)(StartShaderPerformanceCounter & 0xFF); public uint StopShaderPerformanceCounter; - public int StopShaderPerformanceCounterCounterMask => (int)((StopShaderPerformanceCounter >> 0) & 0xFF); + public int StopShaderPerformanceCounterCounterMask => (int)(StopShaderPerformanceCounter & 0xFF); public fixed uint Reserved33E8[6]; public MmeShadowScratch SetMmeShadowScratch; #pragma warning restore CS0649 diff --git a/src/Ryujinx.Graphics.Gpu/Engine/Dma/DmaClassState.cs b/src/Ryujinx.Graphics.Gpu/Engine/Dma/DmaClassState.cs index 7de4d5f08d..6f3b91f2c5 100644 --- a/src/Ryujinx.Graphics.Gpu/Engine/Dma/DmaClassState.cs +++ b/src/Ryujinx.Graphics.Gpu/Engine/Dma/DmaClassState.cs @@ -186,22 +186,22 @@ namespace Ryujinx.Graphics.Gpu.Engine.Dma public uint PmTrigger; public fixed uint Reserved144[63]; public uint SetSemaphoreA; - public int SetSemaphoreAUpper => (int)((SetSemaphoreA >> 0) & 0xFF); + public int SetSemaphoreAUpper => (int)(SetSemaphoreA & 0xFF); public uint SetSemaphoreB; public uint SetSemaphorePayload; public fixed uint Reserved24C[2]; public uint SetRenderEnableA; - public int SetRenderEnableAUpper => (int)((SetRenderEnableA >> 0) & 0xFF); + public int SetRenderEnableAUpper => (int)(SetRenderEnableA & 0xFF); public uint SetRenderEnableB; public uint SetRenderEnableC; - public int SetRenderEnableCMode => (int)((SetRenderEnableC >> 0) & 0x7); + public int SetRenderEnableCMode => (int)(SetRenderEnableC & 0x7); public uint SetSrcPhysMode; - public SetPhysModeTarget SetSrcPhysModeTarget => (SetPhysModeTarget)((SetSrcPhysMode >> 0) & 0x3); + public SetPhysModeTarget SetSrcPhysModeTarget => (SetPhysModeTarget)(SetSrcPhysMode & 0x3); public uint SetDstPhysMode; - public SetPhysModeTarget SetDstPhysModeTarget => (SetPhysModeTarget)((SetDstPhysMode >> 0) & 0x3); + public SetPhysModeTarget SetDstPhysModeTarget => (SetPhysModeTarget)(SetDstPhysMode & 0x3); public fixed uint Reserved268[38]; public uint LaunchDma; - public LaunchDmaDataTransferType LaunchDmaDataTransferType => (LaunchDmaDataTransferType)((LaunchDma >> 0) & 0x3); + public LaunchDmaDataTransferType LaunchDmaDataTransferType => (LaunchDmaDataTransferType)(LaunchDma & 0x3); public bool LaunchDmaFlushEnable => (LaunchDma & 0x4) != 0; public LaunchDmaSemaphoreType LaunchDmaSemaphoreType => (LaunchDmaSemaphoreType)((LaunchDma >> 3) & 0x3); public LaunchDmaInterruptType LaunchDmaInterruptType => (LaunchDmaInterruptType)((LaunchDma >> 5) & 0x3); @@ -218,10 +218,10 @@ namespace Ryujinx.Graphics.Gpu.Engine.Dma public LaunchDmaBypassL2 LaunchDmaBypassL2 => (LaunchDmaBypassL2)((LaunchDma >> 20) & 0x1); public fixed uint Reserved304[63]; public uint OffsetInUpper; - public int OffsetInUpperUpper => (int)((OffsetInUpper >> 0) & 0xFF); + public int OffsetInUpperUpper => (int)(OffsetInUpper & 0xFF); public uint OffsetInLower; public uint OffsetOutUpper; - public int OffsetOutUpperUpper => (int)((OffsetOutUpper >> 0) & 0xFF); + public int OffsetOutUpperUpper => (int)(OffsetOutUpper & 0xFF); public uint OffsetOutLower; public uint PitchIn; public uint PitchOut; @@ -231,7 +231,7 @@ namespace Ryujinx.Graphics.Gpu.Engine.Dma public uint SetRemapConstA; public uint SetRemapConstB; public uint SetRemapComponents; - public SetRemapComponentsDst SetRemapComponentsDstX => (SetRemapComponentsDst)((SetRemapComponents >> 0) & 0x7); + public SetRemapComponentsDst SetRemapComponentsDstX => (SetRemapComponentsDst)(SetRemapComponents & 0x7); public SetRemapComponentsDst SetRemapComponentsDstY => (SetRemapComponentsDst)((SetRemapComponents >> 4) & 0x7); public SetRemapComponentsDst SetRemapComponentsDstZ => (SetRemapComponentsDst)((SetRemapComponents >> 8) & 0x7); public SetRemapComponentsDst SetRemapComponentsDstW => (SetRemapComponentsDst)((SetRemapComponents >> 12) & 0x7); @@ -239,7 +239,7 @@ namespace Ryujinx.Graphics.Gpu.Engine.Dma public SetRemapComponentsNumComponents SetRemapComponentsNumSrcComponents => (SetRemapComponentsNumComponents)((SetRemapComponents >> 20) & 0x3); public SetRemapComponentsNumComponents SetRemapComponentsNumDstComponents => (SetRemapComponentsNumComponents)((SetRemapComponents >> 24) & 0x3); public uint SetDstBlockSize; - public SetBlockSizeWidth SetDstBlockSizeWidth => (SetBlockSizeWidth)((SetDstBlockSize >> 0) & 0xF); + public SetBlockSizeWidth SetDstBlockSizeWidth => (SetBlockSizeWidth)(SetDstBlockSize & 0xF); public SetBlockSizeHeight SetDstBlockSizeHeight => (SetBlockSizeHeight)((SetDstBlockSize >> 4) & 0xF); public SetBlockSizeDepth SetDstBlockSizeDepth => (SetBlockSizeDepth)((SetDstBlockSize >> 8) & 0xF); public SetBlockSizeGobHeight SetDstBlockSizeGobHeight => (SetBlockSizeGobHeight)((SetDstBlockSize >> 12) & 0xF); @@ -248,11 +248,11 @@ namespace Ryujinx.Graphics.Gpu.Engine.Dma public uint SetDstDepth; public uint SetDstLayer; public uint SetDstOrigin; - public int SetDstOriginX => (int)((SetDstOrigin >> 0) & 0xFFFF); + public int SetDstOriginX => (int)(SetDstOrigin & 0xFFFF); public int SetDstOriginY => (int)((SetDstOrigin >> 16) & 0xFFFF); public uint Reserved724; public uint SetSrcBlockSize; - public SetBlockSizeWidth SetSrcBlockSizeWidth => (SetBlockSizeWidth)((SetSrcBlockSize >> 0) & 0xF); + public SetBlockSizeWidth SetSrcBlockSizeWidth => (SetBlockSizeWidth)(SetSrcBlockSize & 0xF); public SetBlockSizeHeight SetSrcBlockSizeHeight => (SetBlockSizeHeight)((SetSrcBlockSize >> 4) & 0xF); public SetBlockSizeDepth SetSrcBlockSizeDepth => (SetBlockSizeDepth)((SetSrcBlockSize >> 8) & 0xF); public SetBlockSizeGobHeight SetSrcBlockSizeGobHeight => (SetBlockSizeGobHeight)((SetSrcBlockSize >> 12) & 0xF); @@ -261,7 +261,7 @@ namespace Ryujinx.Graphics.Gpu.Engine.Dma public uint SetSrcDepth; public uint SetSrcLayer; public uint SetSrcOrigin; - public int SetSrcOriginX => (int)((SetSrcOrigin >> 0) & 0xFFFF); + public int SetSrcOriginX => (int)(SetSrcOrigin & 0xFFFF); public int SetSrcOriginY => (int)((SetSrcOrigin >> 16) & 0xFFFF); public fixed uint Reserved740[629]; public uint PmTriggerEnd; diff --git a/src/Ryujinx.Graphics.Gpu/Engine/GPFifo/CompressedMethod.cs b/src/Ryujinx.Graphics.Gpu/Engine/GPFifo/CompressedMethod.cs index 458dc8f6f5..d082ee9dda 100644 --- a/src/Ryujinx.Graphics.Gpu/Engine/GPFifo/CompressedMethod.cs +++ b/src/Ryujinx.Graphics.Gpu/Engine/GPFifo/CompressedMethod.cs @@ -29,7 +29,7 @@ namespace Ryujinx.Graphics.Gpu.Engine.GPFifo public uint Method; #pragma warning restore CS0649 public int MethodAddressOld => (int)((Method >> 2) & 0x7FF); - public int MethodAddress => (int)((Method >> 0) & 0xFFF); + public int MethodAddress => (int)(Method & 0xFFF); public int SubdeviceMask => (int)((Method >> 4) & 0xFFF); public int MethodSubchannel => (int)((Method >> 13) & 0x7); public TertOp TertOp => (TertOp)((Method >> 16) & 0x3); diff --git a/src/Ryujinx.Graphics.Gpu/Engine/GPFifo/GPEntry.cs b/src/Ryujinx.Graphics.Gpu/Engine/GPFifo/GPEntry.cs index b1b236e774..31ba3217d6 100644 --- a/src/Ryujinx.Graphics.Gpu/Engine/GPFifo/GPEntry.cs +++ b/src/Ryujinx.Graphics.Gpu/Engine/GPFifo/GPEntry.cs @@ -39,17 +39,17 @@ namespace Ryujinx.Graphics.Gpu.Engine.GPFifo #pragma warning disable CS0649 public uint Entry0; #pragma warning restore CS0649 - public Entry0Fetch Entry0Fetch => (Entry0Fetch)((Entry0 >> 0) & 0x1); + public Entry0Fetch Entry0Fetch => (Entry0Fetch)(Entry0 & 0x1); public int Entry0Get => (int)((Entry0 >> 2) & 0x3FFFFFFF); public int Entry0Operand => (int)(Entry0); #pragma warning disable CS0649 public uint Entry1; #pragma warning restore CS0649 - public int Entry1GetHi => (int)((Entry1 >> 0) & 0xFF); + public int Entry1GetHi => (int)(Entry1 & 0xFF); public Entry1Priv Entry1Priv => (Entry1Priv)((Entry1 >> 8) & 0x1); public Entry1Level Entry1Level => (Entry1Level)((Entry1 >> 9) & 0x1); public int Entry1Length => (int)((Entry1 >> 10) & 0x1FFFFF); public Entry1Sync Entry1Sync => (Entry1Sync)((Entry1 >> 31) & 0x1); - public Entry1Opcode Entry1Opcode => (Entry1Opcode)((Entry1 >> 0) & 0xFF); + public Entry1Opcode Entry1Opcode => (Entry1Opcode)(Entry1 & 0xFF); } } diff --git a/src/Ryujinx.Graphics.Gpu/Engine/GPFifo/GPFifoClassState.cs b/src/Ryujinx.Graphics.Gpu/Engine/GPFifo/GPFifoClassState.cs index 07d062eb62..ebfe156646 100644 --- a/src/Ryujinx.Graphics.Gpu/Engine/GPFifo/GPFifoClassState.cs +++ b/src/Ryujinx.Graphics.Gpu/Engine/GPFifo/GPFifoClassState.cs @@ -153,7 +153,7 @@ namespace Ryujinx.Graphics.Gpu.Engine.GPFifo { #pragma warning disable CS0649 public uint SetObject; - public int SetObjectNvclass => (int)((SetObject >> 0) & 0xFFFF); + public int SetObjectNvclass => (int)(SetObject & 0xFFFF); public int SetObjectEngine => (int)((SetObject >> 16) & 0x1F); public uint Illegal; public int IllegalHandle => (int)(Illegal); @@ -161,13 +161,13 @@ namespace Ryujinx.Graphics.Gpu.Engine.GPFifo public int NopHandle => (int)(Nop); public uint Reserved0C; public uint Semaphorea; - public int SemaphoreaOffsetUpper => (int)((Semaphorea >> 0) & 0xFF); + public int SemaphoreaOffsetUpper => (int)(Semaphorea & 0xFF); public uint Semaphoreb; public int SemaphorebOffsetLower => (int)((Semaphoreb >> 2) & 0x3FFFFFFF); public uint Semaphorec; public int SemaphorecPayload => (int)(Semaphorec); public uint Semaphored; - public SemaphoredOperation SemaphoredOperation => (SemaphoredOperation)((Semaphored >> 0) & 0x1F); + public SemaphoredOperation SemaphoredOperation => (SemaphoredOperation)(Semaphored & 0x1F); public SemaphoredAcquireSwitch SemaphoredAcquireSwitch => (SemaphoredAcquireSwitch)((Semaphored >> 12) & 0x1); public SemaphoredReleaseWfi SemaphoredReleaseWfi => (SemaphoredReleaseWfi)((Semaphored >> 20) & 0x1); public SemaphoredReleaseSize SemaphoredReleaseSize => (SemaphoredReleaseSize)((Semaphored >> 24) & 0x1); @@ -181,14 +181,14 @@ namespace Ryujinx.Graphics.Gpu.Engine.GPFifo public uint Reserved2C; public uint MemOpC; public int MemOpCOperandLow => (int)((MemOpC >> 2) & 0x3FFFFFFF); - public MemOpCTlbInvalidatePdb MemOpCTlbInvalidatePdb => (MemOpCTlbInvalidatePdb)((MemOpC >> 0) & 0x1); + public MemOpCTlbInvalidatePdb MemOpCTlbInvalidatePdb => (MemOpCTlbInvalidatePdb)(MemOpC & 0x1); public MemOpCTlbInvalidateGpc MemOpCTlbInvalidateGpc => (MemOpCTlbInvalidateGpc)((MemOpC >> 1) & 0x1); public MemOpCTlbInvalidateTarget MemOpCTlbInvalidateTarget => (MemOpCTlbInvalidateTarget)((MemOpC >> 10) & 0x3); public int MemOpCTlbInvalidateAddrLo => (int)((MemOpC >> 12) & 0xFFFFF); public uint MemOpD; - public int MemOpDOperandHigh => (int)((MemOpD >> 0) & 0xFF); + public int MemOpDOperandHigh => (int)(MemOpD & 0xFF); public MemOpDOperation MemOpDOperation => (MemOpDOperation)((MemOpD >> 27) & 0x1F); - public int MemOpDTlbInvalidateAddrHi => (int)((MemOpD >> 0) & 0xFF); + public int MemOpDTlbInvalidateAddrHi => (int)(MemOpD & 0xFF); public uint Reserved38; public uint Reserved3C; public uint Reserved40; @@ -207,15 +207,15 @@ namespace Ryujinx.Graphics.Gpu.Engine.GPFifo public uint Syncpointa; public int SyncpointaPayload => (int)(Syncpointa); public uint Syncpointb; - public SyncpointbOperation SyncpointbOperation => (SyncpointbOperation)((Syncpointb >> 0) & 0x1); + public SyncpointbOperation SyncpointbOperation => (SyncpointbOperation)(Syncpointb & 0x1); public SyncpointbWaitSwitch SyncpointbWaitSwitch => (SyncpointbWaitSwitch)((Syncpointb >> 4) & 0x1); public int SyncpointbSyncptIndex => (int)((Syncpointb >> 8) & 0xFFF); public uint Wfi; - public WfiScope WfiScope => (WfiScope)((Wfi >> 0) & 0x1); + public WfiScope WfiScope => (WfiScope)(Wfi & 0x1); public uint CrcCheck; public int CrcCheckValue => (int)(CrcCheck); public uint Yield; - public YieldOp YieldOp => (YieldOp)((Yield >> 0) & 0x3); + public YieldOp YieldOp => (YieldOp)(Yield & 0x3); // TODO: Eventually move this to per-engine state. public Array31 Reserved84; public uint NoOperation; diff --git a/src/Ryujinx.Graphics.Gpu/Engine/InlineToMemory/InlineToMemoryClassState.cs b/src/Ryujinx.Graphics.Gpu/Engine/InlineToMemory/InlineToMemoryClassState.cs index d0c82a5e47..f6d9602a6f 100644 --- a/src/Ryujinx.Graphics.Gpu/Engine/InlineToMemory/InlineToMemoryClassState.cs +++ b/src/Ryujinx.Graphics.Gpu/Engine/InlineToMemory/InlineToMemoryClassState.cs @@ -113,22 +113,22 @@ namespace Ryujinx.Graphics.Gpu.Engine.InlineToMemory { #pragma warning disable CS0649 public uint SetObject; - public int SetObjectClassId => (int)((SetObject >> 0) & 0xFFFF); + public int SetObjectClassId => (int)(SetObject & 0xFFFF); public int SetObjectEngineId => (int)((SetObject >> 16) & 0x1F); public fixed uint Reserved04[63]; public uint NoOperation; public uint SetNotifyA; - public int SetNotifyAAddressUpper => (int)((SetNotifyA >> 0) & 0xFF); + public int SetNotifyAAddressUpper => (int)(SetNotifyA & 0xFF); public uint SetNotifyB; public uint Notify; public NotifyType NotifyType => (NotifyType)(Notify); public uint WaitForIdle; public fixed uint Reserved114[7]; public uint SetGlobalRenderEnableA; - public int SetGlobalRenderEnableAOffsetUpper => (int)((SetGlobalRenderEnableA >> 0) & 0xFF); + public int SetGlobalRenderEnableAOffsetUpper => (int)(SetGlobalRenderEnableA & 0xFF); public uint SetGlobalRenderEnableB; public uint SetGlobalRenderEnableC; - public int SetGlobalRenderEnableCMode => (int)((SetGlobalRenderEnableC >> 0) & 0x7); + public int SetGlobalRenderEnableCMode => (int)(SetGlobalRenderEnableC & 0x7); public uint SendGoIdle; public uint PmTrigger; public uint PmTriggerWfi; @@ -139,11 +139,11 @@ namespace Ryujinx.Graphics.Gpu.Engine.InlineToMemory public uint LineLengthIn; public uint LineCount; public uint OffsetOutUpper; - public int OffsetOutUpperValue => (int)((OffsetOutUpper >> 0) & 0xFF); + public int OffsetOutUpperValue => (int)(OffsetOutUpper & 0xFF); public uint OffsetOut; public uint PitchOut; public uint SetDstBlockSize; - public SetDstBlockSizeWidth SetDstBlockSizeWidth => (SetDstBlockSizeWidth)((SetDstBlockSize >> 0) & 0xF); + public SetDstBlockSizeWidth SetDstBlockSizeWidth => (SetDstBlockSizeWidth)(SetDstBlockSize & 0xF); public SetDstBlockSizeHeight SetDstBlockSizeHeight => (SetDstBlockSizeHeight)((SetDstBlockSize >> 4) & 0xF); public SetDstBlockSizeDepth SetDstBlockSizeDepth => (SetDstBlockSizeDepth)((SetDstBlockSize >> 8) & 0xF); public uint SetDstWidth; @@ -151,11 +151,11 @@ namespace Ryujinx.Graphics.Gpu.Engine.InlineToMemory public uint SetDstDepth; public uint SetDstLayer; public uint SetDstOriginBytesX; - public int SetDstOriginBytesXV => (int)((SetDstOriginBytesX >> 0) & 0xFFFFF); + public int SetDstOriginBytesXV => (int)(SetDstOriginBytesX & 0xFFFFF); public uint SetDstOriginSamplesY; - public int SetDstOriginSamplesYV => (int)((SetDstOriginSamplesY >> 0) & 0xFFFF); + public int SetDstOriginSamplesYV => (int)(SetDstOriginSamplesY & 0xFFFF); public uint LaunchDma; - public LaunchDmaDstMemoryLayout LaunchDmaDstMemoryLayout => (LaunchDmaDstMemoryLayout)((LaunchDma >> 0) & 0x1); + public LaunchDmaDstMemoryLayout LaunchDmaDstMemoryLayout => (LaunchDmaDstMemoryLayout)(LaunchDma & 0x1); public LaunchDmaCompletionType LaunchDmaCompletionType => (LaunchDmaCompletionType)((LaunchDma >> 4) & 0x3); public LaunchDmaInterruptType LaunchDmaInterruptType => (LaunchDmaInterruptType)((LaunchDma >> 8) & 0x3); public LaunchDmaSemaphoreStructSize LaunchDmaSemaphoreStructSize => (LaunchDmaSemaphoreStructSize)((LaunchDma >> 12) & 0x1); @@ -166,7 +166,7 @@ namespace Ryujinx.Graphics.Gpu.Engine.InlineToMemory public uint LoadInlineData; public fixed uint Reserved1B8[9]; public uint SetI2mSemaphoreA; - public int SetI2mSemaphoreAOffsetUpper => (int)((SetI2mSemaphoreA >> 0) & 0xFF); + public int SetI2mSemaphoreAOffsetUpper => (int)(SetI2mSemaphoreA & 0xFF); public uint SetI2mSemaphoreB; public uint SetI2mSemaphoreC; public fixed uint Reserved1E8[2]; diff --git a/src/Ryujinx.Graphics.Gpu/Engine/Threed/ThreedClassState.cs b/src/Ryujinx.Graphics.Gpu/Engine/Threed/ThreedClassState.cs index 8f26f38ffc..beda2dbfe5 100644 --- a/src/Ryujinx.Graphics.Gpu/Engine/Threed/ThreedClassState.cs +++ b/src/Ryujinx.Graphics.Gpu/Engine/Threed/ThreedClassState.cs @@ -746,12 +746,12 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed { #pragma warning disable CS0649 public uint SetObject; - public int SetObjectClassId => (int)((SetObject >> 0) & 0xFFFF); + public int SetObjectClassId => (int)(SetObject & 0xFFFF); public int SetObjectEngineId => (int)((SetObject >> 16) & 0x1F); public fixed uint Reserved04[63]; public uint NoOperation; public uint SetNotifyA; - public int SetNotifyAAddressUpper => (int)((SetNotifyA >> 0) & 0xFF); + public int SetNotifyAAddressUpper => (int)(SetNotifyA & 0xFF); public uint SetNotifyB; public uint Notify; public NotifyType NotifyType => (NotifyType)(Notify); @@ -761,13 +761,13 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed public uint LoadMmeStartAddressRamPointer; public uint LoadMmeStartAddressRam; public uint SetMmeShadowRamControl; - public SetMmeShadowRamControlMode SetMmeShadowRamControlMode => (SetMmeShadowRamControlMode)((SetMmeShadowRamControl >> 0) & 0x3); + public SetMmeShadowRamControlMode SetMmeShadowRamControlMode => (SetMmeShadowRamControlMode)(SetMmeShadowRamControl & 0x3); public fixed uint Reserved128[2]; public uint SetGlobalRenderEnableA; - public int SetGlobalRenderEnableAOffsetUpper => (int)((SetGlobalRenderEnableA >> 0) & 0xFF); + public int SetGlobalRenderEnableAOffsetUpper => (int)(SetGlobalRenderEnableA & 0xFF); public uint SetGlobalRenderEnableB; public uint SetGlobalRenderEnableC; - public int SetGlobalRenderEnableCMode => (int)((SetGlobalRenderEnableC >> 0) & 0x7); + public int SetGlobalRenderEnableCMode => (int)(SetGlobalRenderEnableC & 0x7); public uint SendGoIdle; public uint PmTrigger; public uint PmTriggerWfi; @@ -778,11 +778,11 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed public uint LineLengthIn; public uint LineCount; public uint OffsetOutUpper; - public int OffsetOutUpperValue => (int)((OffsetOutUpper >> 0) & 0xFF); + public int OffsetOutUpperValue => (int)(OffsetOutUpper & 0xFF); public uint OffsetOut; public uint PitchOut; public uint SetDstBlockSize; - public SetDstBlockSizeWidth SetDstBlockSizeWidth => (SetDstBlockSizeWidth)((SetDstBlockSize >> 0) & 0xF); + public SetDstBlockSizeWidth SetDstBlockSizeWidth => (SetDstBlockSizeWidth)(SetDstBlockSize & 0xF); public SetDstBlockSizeHeight SetDstBlockSizeHeight => (SetDstBlockSizeHeight)((SetDstBlockSize >> 4) & 0xF); public SetDstBlockSizeDepth SetDstBlockSizeDepth => (SetDstBlockSizeDepth)((SetDstBlockSize >> 8) & 0xF); public uint SetDstWidth; @@ -790,11 +790,11 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed public uint SetDstDepth; public uint SetDstLayer; public uint SetDstOriginBytesX; - public int SetDstOriginBytesXV => (int)((SetDstOriginBytesX >> 0) & 0xFFFFF); + public int SetDstOriginBytesXV => (int)(SetDstOriginBytesX & 0xFFFFF); public uint SetDstOriginSamplesY; - public int SetDstOriginSamplesYV => (int)((SetDstOriginSamplesY >> 0) & 0xFFFF); + public int SetDstOriginSamplesYV => (int)(SetDstOriginSamplesY & 0xFFFF); public uint LaunchDma; - public LaunchDmaDstMemoryLayout LaunchDmaDstMemoryLayout => (LaunchDmaDstMemoryLayout)((LaunchDma >> 0) & 0x1); + public LaunchDmaDstMemoryLayout LaunchDmaDstMemoryLayout => (LaunchDmaDstMemoryLayout)(LaunchDma & 0x1); public LaunchDmaCompletionType LaunchDmaCompletionType => (LaunchDmaCompletionType)((LaunchDma >> 4) & 0x3); public LaunchDmaInterruptType LaunchDmaInterruptType => (LaunchDmaInterruptType)((LaunchDma >> 8) & 0x3); public LaunchDmaSemaphoreStructSize LaunchDmaSemaphoreStructSize => (LaunchDmaSemaphoreStructSize)((LaunchDma >> 12) & 0x1); diff --git a/src/Ryujinx.Graphics.Gpu/Engine/Twod/TwodClassState.cs b/src/Ryujinx.Graphics.Gpu/Engine/Twod/TwodClassState.cs index 46fddb04c0..55e5019fc3 100644 --- a/src/Ryujinx.Graphics.Gpu/Engine/Twod/TwodClassState.cs +++ b/src/Ryujinx.Graphics.Gpu/Engine/Twod/TwodClassState.cs @@ -499,12 +499,12 @@ namespace Ryujinx.Graphics.Gpu.Engine.Twod { #pragma warning disable CS0649 public uint SetObject; - public int SetObjectClassId => (int)((SetObject >> 0) & 0xFFFF); + public int SetObjectClassId => (int)(SetObject & 0xFFFF); public int SetObjectEngineId => (int)((SetObject >> 16) & 0x1F); public fixed uint Reserved04[63]; public uint NoOperation; public uint SetNotifyA; - public int SetNotifyAAddressUpper => (int)((SetNotifyA >> 0) & 0x1FFFFFF); + public int SetNotifyAAddressUpper => (int)(SetNotifyA & 0x1FFFFFF); public uint SetNotifyB; public uint Notify; public NotifyType NotifyType => (NotifyType)(Notify); @@ -514,13 +514,13 @@ namespace Ryujinx.Graphics.Gpu.Engine.Twod public uint LoadMmeStartAddressRamPointer; public uint LoadMmeStartAddressRam; public uint SetMmeShadowRamControl; - public SetMmeShadowRamControlMode SetMmeShadowRamControlMode => (SetMmeShadowRamControlMode)((SetMmeShadowRamControl >> 0) & 0x3); + public SetMmeShadowRamControlMode SetMmeShadowRamControlMode => (SetMmeShadowRamControlMode)(SetMmeShadowRamControl & 0x3); public fixed uint Reserved128[2]; public uint SetGlobalRenderEnableA; - public int SetGlobalRenderEnableAOffsetUpper => (int)((SetGlobalRenderEnableA >> 0) & 0xFF); + public int SetGlobalRenderEnableAOffsetUpper => (int)(SetGlobalRenderEnableA & 0xFF); public uint SetGlobalRenderEnableB; public uint SetGlobalRenderEnableC; - public int SetGlobalRenderEnableCMode => (int)((SetGlobalRenderEnableC >> 0) & 0x7); + public int SetGlobalRenderEnableCMode => (int)(SetGlobalRenderEnableC & 0x7); public uint SendGoIdle; public uint PmTrigger; public fixed uint Reserved144[3]; @@ -533,9 +533,9 @@ namespace Ryujinx.Graphics.Gpu.Engine.Twod public int SetMmeSwitchStateRestoreMacro => (int)((SetMmeSwitchState >> 12) & 0xFF); public fixed uint Reserved1F0[4]; public uint SetDstFormat; - public SetDstFormatV SetDstFormatV => (SetDstFormatV)((SetDstFormat >> 0) & 0xFF); + public SetDstFormatV SetDstFormatV => (SetDstFormatV)(SetDstFormat & 0xFF); public uint SetDstMemoryLayout; - public SetDstMemoryLayoutV SetDstMemoryLayoutV => (SetDstMemoryLayoutV)((SetDstMemoryLayout >> 0) & 0x1); + public SetDstMemoryLayoutV SetDstMemoryLayoutV => (SetDstMemoryLayoutV)(SetDstMemoryLayout & 0x1); public uint SetDstBlockSize; public SetDstBlockSizeHeight SetDstBlockSizeHeight => (SetDstBlockSizeHeight)((SetDstBlockSize >> 4) & 0x7); public SetDstBlockSizeDepth SetDstBlockSizeDepth => (SetDstBlockSizeDepth)((SetDstBlockSize >> 8) & 0x7); @@ -545,37 +545,37 @@ namespace Ryujinx.Graphics.Gpu.Engine.Twod public uint SetDstWidth; public uint SetDstHeight; public uint SetDstOffsetUpper; - public int SetDstOffsetUpperV => (int)((SetDstOffsetUpper >> 0) & 0xFF); + public int SetDstOffsetUpperV => (int)(SetDstOffsetUpper & 0xFF); public uint SetDstOffsetLower; public uint FlushAndInvalidateRopMiniCache; public bool FlushAndInvalidateRopMiniCacheV => (FlushAndInvalidateRopMiniCache & 0x1) != 0; public uint SetSpareNoop06; public uint SetSrcFormat; - public SetSrcFormatV SetSrcFormatV => (SetSrcFormatV)((SetSrcFormat >> 0) & 0xFF); + public SetSrcFormatV SetSrcFormatV => (SetSrcFormatV)(SetSrcFormat & 0xFF); public uint SetSrcMemoryLayout; - public SetSrcMemoryLayoutV SetSrcMemoryLayoutV => (SetSrcMemoryLayoutV)((SetSrcMemoryLayout >> 0) & 0x1); + public SetSrcMemoryLayoutV SetSrcMemoryLayoutV => (SetSrcMemoryLayoutV)(SetSrcMemoryLayout & 0x1); public uint SetSrcBlockSize; public SetSrcBlockSizeHeight SetSrcBlockSizeHeight => (SetSrcBlockSizeHeight)((SetSrcBlockSize >> 4) & 0x7); public SetSrcBlockSizeDepth SetSrcBlockSizeDepth => (SetSrcBlockSizeDepth)((SetSrcBlockSize >> 8) & 0x7); public uint SetSrcDepth; public uint TwodInvalidateTextureDataCache; - public TwodInvalidateTextureDataCacheV TwodInvalidateTextureDataCacheV => (TwodInvalidateTextureDataCacheV)((TwodInvalidateTextureDataCache >> 0) & 0x3); + public TwodInvalidateTextureDataCacheV TwodInvalidateTextureDataCacheV => (TwodInvalidateTextureDataCacheV)(TwodInvalidateTextureDataCache & 0x3); public uint SetSrcPitch; public uint SetSrcWidth; public uint SetSrcHeight; public uint SetSrcOffsetUpper; - public int SetSrcOffsetUpperV => (int)((SetSrcOffsetUpper >> 0) & 0xFF); + public int SetSrcOffsetUpperV => (int)(SetSrcOffsetUpper & 0xFF); public uint SetSrcOffsetLower; public uint SetPixelsFromMemorySectorPromotion; - public SetPixelsFromMemorySectorPromotionV SetPixelsFromMemorySectorPromotionV => (SetPixelsFromMemorySectorPromotionV)((SetPixelsFromMemorySectorPromotion >> 0) & 0x3); + public SetPixelsFromMemorySectorPromotionV SetPixelsFromMemorySectorPromotionV => (SetPixelsFromMemorySectorPromotionV)(SetPixelsFromMemorySectorPromotion & 0x3); public uint SetSpareNoop12; public uint SetNumProcessingClusters; - public SetNumProcessingClustersV SetNumProcessingClustersV => (SetNumProcessingClustersV)((SetNumProcessingClusters >> 0) & 0x1); + public SetNumProcessingClustersV SetNumProcessingClustersV => (SetNumProcessingClustersV)(SetNumProcessingClusters & 0x1); public uint SetRenderEnableA; - public int SetRenderEnableAOffsetUpper => (int)((SetRenderEnableA >> 0) & 0xFF); + public int SetRenderEnableAOffsetUpper => (int)(SetRenderEnableA & 0xFF); public uint SetRenderEnableB; public uint SetRenderEnableC; - public int SetRenderEnableCMode => (int)((SetRenderEnableC >> 0) & 0x7); + public int SetRenderEnableCMode => (int)(SetRenderEnableC & 0x7); public uint SetSpareNoop08; public uint SetSpareNoop01; public uint SetSpareNoop11; @@ -587,25 +587,25 @@ namespace Ryujinx.Graphics.Gpu.Engine.Twod public uint SetClipEnable; public bool SetClipEnableV => (SetClipEnable & 0x1) != 0; public uint SetColorKeyFormat; - public SetColorKeyFormatV SetColorKeyFormatV => (SetColorKeyFormatV)((SetColorKeyFormat >> 0) & 0x7); + public SetColorKeyFormatV SetColorKeyFormatV => (SetColorKeyFormatV)(SetColorKeyFormat & 0x7); public uint SetColorKey; public uint SetColorKeyEnable; public bool SetColorKeyEnableV => (SetColorKeyEnable & 0x1) != 0; public uint SetRop; - public int SetRopV => (int)((SetRop >> 0) & 0xFF); + public int SetRopV => (int)(SetRop & 0xFF); public uint SetBeta1; public uint SetBeta4; - public int SetBeta4B => (int)((SetBeta4 >> 0) & 0xFF); + public int SetBeta4B => (int)(SetBeta4 & 0xFF); public int SetBeta4G => (int)((SetBeta4 >> 8) & 0xFF); public int SetBeta4R => (int)((SetBeta4 >> 16) & 0xFF); public int SetBeta4A => (int)((SetBeta4 >> 24) & 0xFF); public uint SetOperation; - public SetOperationV SetOperationV => (SetOperationV)((SetOperation >> 0) & 0x7); + public SetOperationV SetOperationV => (SetOperationV)(SetOperation & 0x7); public uint SetPatternOffset; - public int SetPatternOffsetX => (int)((SetPatternOffset >> 0) & 0x3F); + public int SetPatternOffsetX => (int)(SetPatternOffset & 0x3F); public int SetPatternOffsetY => (int)((SetPatternOffset >> 8) & 0x3F); public uint SetPatternSelect; - public SetPatternSelectV SetPatternSelectV => (SetPatternSelectV)((SetPatternSelect >> 0) & 0x3); + public SetPatternSelectV SetPatternSelectV => (SetPatternSelectV)(SetPatternSelect & 0x3); public uint SetDstColorRenderToZetaSurface; public bool SetDstColorRenderToZetaSurfaceV => (SetDstColorRenderToZetaSurface & 0x1) != 0; public uint SetSpareNoop04; @@ -618,15 +618,15 @@ namespace Ryujinx.Graphics.Gpu.Engine.Twod public bool SetCompressionEnable => (SetCompression & 0x1) != 0; public uint SetSpareNoop09; public uint SetRenderEnableOverride; - public SetRenderEnableOverrideMode SetRenderEnableOverrideMode => (SetRenderEnableOverrideMode)((SetRenderEnableOverride >> 0) & 0x3); + public SetRenderEnableOverrideMode SetRenderEnableOverrideMode => (SetRenderEnableOverrideMode)(SetRenderEnableOverride & 0x3); public uint SetPixelsFromMemoryDirection; - public SetPixelsFromMemoryDirectionHorizontal SetPixelsFromMemoryDirectionHorizontal => (SetPixelsFromMemoryDirectionHorizontal)((SetPixelsFromMemoryDirection >> 0) & 0x3); + public SetPixelsFromMemoryDirectionHorizontal SetPixelsFromMemoryDirectionHorizontal => (SetPixelsFromMemoryDirectionHorizontal)(SetPixelsFromMemoryDirection & 0x3); public SetPixelsFromMemoryDirectionVertical SetPixelsFromMemoryDirectionVertical => (SetPixelsFromMemoryDirectionVertical)((SetPixelsFromMemoryDirection >> 4) & 0x3); public uint SetSpareNoop10; public uint SetMonochromePatternColorFormat; - public SetMonochromePatternColorFormatV SetMonochromePatternColorFormatV => (SetMonochromePatternColorFormatV)((SetMonochromePatternColorFormat >> 0) & 0x7); + public SetMonochromePatternColorFormatV SetMonochromePatternColorFormatV => (SetMonochromePatternColorFormatV)(SetMonochromePatternColorFormat & 0x7); public uint SetMonochromePatternFormat; - public SetMonochromePatternFormatV SetMonochromePatternFormatV => (SetMonochromePatternFormatV)((SetMonochromePatternFormat >> 0) & 0x1); + public SetMonochromePatternFormatV SetMonochromePatternFormatV => (SetMonochromePatternFormatV)(SetMonochromePatternFormat & 0x1); public uint SetMonochromePatternColor0; public uint SetMonochromePatternColor1; public uint SetMonochromePattern0; @@ -662,26 +662,26 @@ namespace Ryujinx.Graphics.Gpu.Engine.Twod public uint SetRenderSolidPrimColor2; public uint SetRenderSolidPrimColor3; public uint SetMmeMemAddressA; - public int SetMmeMemAddressAUpper => (int)((SetMmeMemAddressA >> 0) & 0x1FFFFFF); + public int SetMmeMemAddressAUpper => (int)(SetMmeMemAddressA & 0x1FFFFFF); public uint SetMmeMemAddressB; public uint SetMmeDataRamAddress; public uint MmeDmaRead; public uint MmeDmaReadFifoed; public uint MmeDmaWrite; public uint MmeDmaReduction; - public MmeDmaReductionReductionOp MmeDmaReductionReductionOp => (MmeDmaReductionReductionOp)((MmeDmaReduction >> 0) & 0x7); + public MmeDmaReductionReductionOp MmeDmaReductionReductionOp => (MmeDmaReductionReductionOp)(MmeDmaReduction & 0x7); public MmeDmaReductionReductionFormat MmeDmaReductionReductionFormat => (MmeDmaReductionReductionFormat)((MmeDmaReduction >> 4) & 0x3); public MmeDmaReductionReductionSize MmeDmaReductionReductionSize => (MmeDmaReductionReductionSize)((MmeDmaReduction >> 8) & 0x1); public uint MmeDmaSysmembar; public bool MmeDmaSysmembarV => (MmeDmaSysmembar & 0x1) != 0; public uint MmeDmaSync; public uint SetMmeDataFifoConfig; - public SetMmeDataFifoConfigFifoSize SetMmeDataFifoConfigFifoSize => (SetMmeDataFifoConfigFifoSize)((SetMmeDataFifoConfig >> 0) & 0x7); + public SetMmeDataFifoConfigFifoSize SetMmeDataFifoConfigFifoSize => (SetMmeDataFifoConfigFifoSize)(SetMmeDataFifoConfig & 0x7); public fixed uint Reserved578[2]; public uint RenderSolidPrimMode; - public RenderSolidPrimModeV RenderSolidPrimModeV => (RenderSolidPrimModeV)((RenderSolidPrimMode >> 0) & 0x7); + public RenderSolidPrimModeV RenderSolidPrimModeV => (RenderSolidPrimModeV)(RenderSolidPrimMode & 0x7); public uint SetRenderSolidPrimColorFormat; - public SetRenderSolidPrimColorFormatV SetRenderSolidPrimColorFormatV => (SetRenderSolidPrimColorFormatV)((SetRenderSolidPrimColorFormat >> 0) & 0xFF); + public SetRenderSolidPrimColorFormatV SetRenderSolidPrimColorFormatV => (SetRenderSolidPrimColorFormatV)(SetRenderSolidPrimColorFormat & 0xFF); public uint SetRenderSolidPrimColor; public uint SetRenderSolidLineTieBreakBits; public bool SetRenderSolidLineTieBreakBitsXmajXincYinc => (SetRenderSolidLineTieBreakBits & 0x1) != 0; @@ -690,24 +690,24 @@ namespace Ryujinx.Graphics.Gpu.Engine.Twod public bool SetRenderSolidLineTieBreakBitsYmajXdecYinc => (SetRenderSolidLineTieBreakBits & 0x1000) != 0; public fixed uint Reserved590[20]; public uint RenderSolidPrimPointXY; - public int RenderSolidPrimPointXYX => (int)((RenderSolidPrimPointXY >> 0) & 0xFFFF); + public int RenderSolidPrimPointXYX => (int)(RenderSolidPrimPointXY & 0xFFFF); public int RenderSolidPrimPointXYY => (int)((RenderSolidPrimPointXY >> 16) & 0xFFFF); public fixed uint Reserved5E4[7]; public Array64 RenderSolidPrimPoint; public uint SetPixelsFromCpuDataType; - public SetPixelsFromCpuDataTypeV SetPixelsFromCpuDataTypeV => (SetPixelsFromCpuDataTypeV)((SetPixelsFromCpuDataType >> 0) & 0x1); + public SetPixelsFromCpuDataTypeV SetPixelsFromCpuDataTypeV => (SetPixelsFromCpuDataTypeV)(SetPixelsFromCpuDataType & 0x1); public uint SetPixelsFromCpuColorFormat; - public SetPixelsFromCpuColorFormatV SetPixelsFromCpuColorFormatV => (SetPixelsFromCpuColorFormatV)((SetPixelsFromCpuColorFormat >> 0) & 0xFF); + public SetPixelsFromCpuColorFormatV SetPixelsFromCpuColorFormatV => (SetPixelsFromCpuColorFormatV)(SetPixelsFromCpuColorFormat & 0xFF); public uint SetPixelsFromCpuIndexFormat; - public SetPixelsFromCpuIndexFormatV SetPixelsFromCpuIndexFormatV => (SetPixelsFromCpuIndexFormatV)((SetPixelsFromCpuIndexFormat >> 0) & 0x3); + public SetPixelsFromCpuIndexFormatV SetPixelsFromCpuIndexFormatV => (SetPixelsFromCpuIndexFormatV)(SetPixelsFromCpuIndexFormat & 0x3); public uint SetPixelsFromCpuMonoFormat; - public SetPixelsFromCpuMonoFormatV SetPixelsFromCpuMonoFormatV => (SetPixelsFromCpuMonoFormatV)((SetPixelsFromCpuMonoFormat >> 0) & 0x1); + public SetPixelsFromCpuMonoFormatV SetPixelsFromCpuMonoFormatV => (SetPixelsFromCpuMonoFormatV)(SetPixelsFromCpuMonoFormat & 0x1); public uint SetPixelsFromCpuWrap; - public SetPixelsFromCpuWrapV SetPixelsFromCpuWrapV => (SetPixelsFromCpuWrapV)((SetPixelsFromCpuWrap >> 0) & 0x3); + public SetPixelsFromCpuWrapV SetPixelsFromCpuWrapV => (SetPixelsFromCpuWrapV)(SetPixelsFromCpuWrap & 0x3); public uint SetPixelsFromCpuColor0; public uint SetPixelsFromCpuColor1; public uint SetPixelsFromCpuMonoOpacity; - public SetPixelsFromCpuMonoOpacityV SetPixelsFromCpuMonoOpacityV => (SetPixelsFromCpuMonoOpacityV)((SetPixelsFromCpuMonoOpacity >> 0) & 0x1); + public SetPixelsFromCpuMonoOpacityV SetPixelsFromCpuMonoOpacityV => (SetPixelsFromCpuMonoOpacityV)(SetPixelsFromCpuMonoOpacity & 0x1); public fixed uint Reserved820[6]; public uint SetPixelsFromCpuSrcWidth; public uint SetPixelsFromCpuSrcHeight; @@ -753,13 +753,13 @@ namespace Ryujinx.Graphics.Gpu.Engine.Twod public bool SetBigEndianControlOverride => (SetBigEndianControl & 0x10000000) != 0; public fixed uint Reserved874[3]; public uint SetPixelsFromMemoryBlockShape; - public SetPixelsFromMemoryBlockShapeV SetPixelsFromMemoryBlockShapeV => (SetPixelsFromMemoryBlockShapeV)((SetPixelsFromMemoryBlockShape >> 0) & 0x7); + public SetPixelsFromMemoryBlockShapeV SetPixelsFromMemoryBlockShapeV => (SetPixelsFromMemoryBlockShapeV)(SetPixelsFromMemoryBlockShape & 0x7); public uint SetPixelsFromMemoryCorralSize; - public int SetPixelsFromMemoryCorralSizeV => (int)((SetPixelsFromMemoryCorralSize >> 0) & 0x3FF); + public int SetPixelsFromMemoryCorralSizeV => (int)(SetPixelsFromMemoryCorralSize & 0x3FF); public uint SetPixelsFromMemorySafeOverlap; public bool SetPixelsFromMemorySafeOverlapV => (SetPixelsFromMemorySafeOverlap & 0x1) != 0; public uint SetPixelsFromMemorySampleMode; - public SetPixelsFromMemorySampleModeOrigin SetPixelsFromMemorySampleModeOrigin => (SetPixelsFromMemorySampleModeOrigin)((SetPixelsFromMemorySampleMode >> 0) & 0x1); + public SetPixelsFromMemorySampleModeOrigin SetPixelsFromMemorySampleModeOrigin => (SetPixelsFromMemorySampleModeOrigin)(SetPixelsFromMemorySampleMode & 0x1); public SetPixelsFromMemorySampleModeFilter SetPixelsFromMemorySampleModeFilter => (SetPixelsFromMemorySampleModeFilter)((SetPixelsFromMemorySampleMode >> 4) & 0x1); public fixed uint Reserved890[8]; public uint SetPixelsFromMemoryDstX0; diff --git a/src/Ryujinx.Graphics.Shader/Decoders/InstDecoders.cs b/src/Ryujinx.Graphics.Shader/Decoders/InstDecoders.cs index 0c22ddc051..1367629388 100644 --- a/src/Ryujinx.Graphics.Shader/Decoders/InstDecoders.cs +++ b/src/Ryujinx.Graphics.Shader/Decoders/InstDecoders.cs @@ -851,14 +851,14 @@ namespace Ryujinx.Graphics.Shader.Decoders public InstConditional(ulong opcode) => _opcode = opcode; public int Pred => (int)((_opcode >> 16) & 0x7); public bool PredInv => (_opcode & 0x80000) != 0; - public Ccc Ccc => (Ccc)((_opcode >> 0) & 0x1F); + public Ccc Ccc => (Ccc)(_opcode & 0x1F); } struct InstAl2p { private ulong _opcode; public InstAl2p(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); public bool PredInv => (_opcode & 0x80000) != 0; @@ -872,7 +872,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstAld(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int SrcB => (int)((_opcode >> 39) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); @@ -889,7 +889,7 @@ namespace Ryujinx.Graphics.Shader.Decoders private ulong _opcode; public InstAst(ulong opcode) => _opcode = opcode; public int SrcA => (int)((_opcode >> 8) & 0xFF); - public int SrcB => (int)((_opcode >> 0) & 0xFF); + public int SrcB => (int)(_opcode & 0xFF); public int SrcC => (int)((_opcode >> 39) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); public bool PredInv => (_opcode & 0x80000) != 0; @@ -903,7 +903,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstAtom(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int SrcB => (int)((_opcode >> 20) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); @@ -918,7 +918,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstAtomCas(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int SrcB => (int)((_opcode >> 20) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); @@ -931,7 +931,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstAtoms(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int SrcB => (int)((_opcode >> 20) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); @@ -945,7 +945,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstAtomsCas(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int SrcB => (int)((_opcode >> 20) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); @@ -957,7 +957,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstB2r(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int DestPred => (int)((_opcode >> 45) & 0x7); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); @@ -985,7 +985,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstBfeR(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int SrcB => (int)((_opcode >> 20) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); @@ -999,7 +999,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstBfeI(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int Imm20 => (int)((_opcode >> 37) & 0x80000) | (int)((_opcode >> 20) & 0x7FFFF); public int Pred => (int)((_opcode >> 16) & 0x7); @@ -1013,7 +1013,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstBfeC(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int CbufSlot => (int)((_opcode >> 34) & 0x1F); public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF); @@ -1028,7 +1028,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstBfiR(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int SrcB => (int)((_opcode >> 20) & 0xFF); public int SrcC => (int)((_opcode >> 39) & 0xFF); @@ -1041,7 +1041,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstBfiI(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int Imm20 => (int)((_opcode >> 37) & 0x80000) | (int)((_opcode >> 20) & 0x7FFFF); public int SrcC => (int)((_opcode >> 39) & 0xFF); @@ -1054,7 +1054,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstBfiC(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int CbufSlot => (int)((_opcode >> 34) & 0x1F); public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF); @@ -1068,7 +1068,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstBfiRc(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int SrcC => (int)((_opcode >> 39) & 0xFF); public int CbufSlot => (int)((_opcode >> 34) & 0x1F); @@ -1092,7 +1092,7 @@ namespace Ryujinx.Graphics.Shader.Decoders public InstBra(ulong opcode) => _opcode = opcode; public int Pred => (int)((_opcode >> 16) & 0x7); public bool PredInv => (_opcode & 0x80000) != 0; - public Ccc Ccc => (Ccc)((_opcode >> 0) & 0x1F); + public Ccc Ccc => (Ccc)(_opcode & 0x1F); public int Imm24 => (int)((_opcode >> 20) & 0xFFFFFF); public bool Ca => (_opcode & 0x20) != 0; public bool Lmt => (_opcode & 0x40) != 0; @@ -1105,7 +1105,7 @@ namespace Ryujinx.Graphics.Shader.Decoders public InstBrk(ulong opcode) => _opcode = opcode; public int Pred => (int)((_opcode >> 16) & 0x7); public bool PredInv => (_opcode & 0x80000) != 0; - public Ccc Ccc => (Ccc)((_opcode >> 0) & 0x1F); + public Ccc Ccc => (Ccc)(_opcode & 0x1F); } struct InstBrx @@ -1115,7 +1115,7 @@ namespace Ryujinx.Graphics.Shader.Decoders public int SrcA => (int)((_opcode >> 8) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); public bool PredInv => (_opcode & 0x80000) != 0; - public Ccc Ccc => (Ccc)((_opcode >> 0) & 0x1F); + public Ccc Ccc => (Ccc)(_opcode & 0x1F); public int Imm24 => (int)((_opcode >> 20) & 0xFFFFFF); public bool Ca => (_opcode & 0x20) != 0; public bool Lmt => (_opcode & 0x40) != 0; @@ -1140,7 +1140,7 @@ namespace Ryujinx.Graphics.Shader.Decoders public int Imm30 => (int)((_opcode >> 22) & 0x3FFFFFFF); public bool E => (_opcode & 0x10000000000000) != 0; public CacheType Cache => (CacheType)((_opcode >> 4) & 0x7); - public CctlOp CctlOp => (CctlOp)((_opcode >> 0) & 0xF); + public CctlOp CctlOp => (CctlOp)(_opcode & 0xF); } struct InstCctll @@ -1152,7 +1152,7 @@ namespace Ryujinx.Graphics.Shader.Decoders public bool PredInv => (_opcode & 0x80000) != 0; public int Imm22 => (int)((_opcode >> 22) & 0x3FFFFF); public int Cache => (int)((_opcode >> 4) & 0x3); - public CctlOp CctlOp => (CctlOp)((_opcode >> 0) & 0xF); + public CctlOp CctlOp => (CctlOp)(_opcode & 0xF); } struct InstCctlt @@ -1162,7 +1162,7 @@ namespace Ryujinx.Graphics.Shader.Decoders public int Pred => (int)((_opcode >> 16) & 0x7); public bool PredInv => (_opcode & 0x80000) != 0; public int TsIdx13 => (int)((_opcode >> 36) & 0x1FFF); - public CctltOp CctltOp => (CctltOp)((_opcode >> 0) & 0x3); + public CctltOp CctltOp => (CctltOp)(_opcode & 0x3); } struct InstCctltR @@ -1170,7 +1170,7 @@ namespace Ryujinx.Graphics.Shader.Decoders private ulong _opcode; public InstCctltR(ulong opcode) => _opcode = opcode; public int SrcC => (int)((_opcode >> 39) & 0xFF); - public CctltOp CctltOp => (CctltOp)((_opcode >> 0) & 0x3); + public CctltOp CctltOp => (CctltOp)(_opcode & 0x3); } struct InstCont @@ -1179,14 +1179,14 @@ namespace Ryujinx.Graphics.Shader.Decoders public InstCont(ulong opcode) => _opcode = opcode; public int Pred => (int)((_opcode >> 16) & 0x7); public bool PredInv => (_opcode & 0x80000) != 0; - public Ccc Ccc => (Ccc)((_opcode >> 0) & 0x1F); + public Ccc Ccc => (Ccc)(_opcode & 0x1F); } struct InstCset { private ulong _opcode; public InstCset(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); public bool PredInv => (_opcode & 0x80000) != 0; public bool WriteCC => (_opcode & 0x800000000000) != 0; @@ -1206,7 +1206,7 @@ namespace Ryujinx.Graphics.Shader.Decoders public bool WriteCC => (_opcode & 0x800000000000) != 0; public Ccc Ccc => (Ccc)((_opcode >> 8) & 0x1F); public int DestPred => (int)((_opcode >> 3) & 0x7); - public int DestPredInv => (int)((_opcode >> 0) & 0x7); + public int DestPredInv => (int)(_opcode & 0x7); public int SrcPred => (int)((_opcode >> 39) & 0x7); public bool SrcPredInv => (_opcode & 0x40000000000) != 0; public BoolOp Bop => (BoolOp)((_opcode >> 45) & 0x3); @@ -1216,7 +1216,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstCs2r(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); public bool PredInv => (_opcode & 0x80000) != 0; public SReg SReg => (SReg)((_opcode >> 20) & 0xFF); @@ -1226,7 +1226,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstDaddR(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int SrcB => (int)((_opcode >> 20) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); @@ -1243,7 +1243,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstDaddI(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int Imm20 => (int)((_opcode >> 37) & 0x80000) | (int)((_opcode >> 20) & 0x7FFFF); public int Pred => (int)((_opcode >> 16) & 0x7); @@ -1260,7 +1260,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstDaddC(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int CbufSlot => (int)((_opcode >> 34) & 0x1F); public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF); @@ -1283,14 +1283,14 @@ namespace Ryujinx.Graphics.Shader.Decoders public bool Le => (_opcode & 0x20000000) != 0; public int Sbid => (int)((_opcode >> 26) & 0x7); public int PendCnt => (int)((_opcode >> 20) & 0x3F); - public int Imm6 => (int)((_opcode >> 0) & 0x3F); + public int Imm6 => (int)(_opcode & 0x3F); } struct InstDfmaR { private ulong _opcode; public InstDfmaR(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int SrcB => (int)((_opcode >> 20) & 0xFF); public int SrcC => (int)((_opcode >> 39) & 0xFF); @@ -1306,7 +1306,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstDfmaI(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int Imm20 => (int)((_opcode >> 37) & 0x80000) | (int)((_opcode >> 20) & 0x7FFFF); public int SrcC => (int)((_opcode >> 39) & 0xFF); @@ -1322,7 +1322,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstDfmaC(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int CbufSlot => (int)((_opcode >> 34) & 0x1F); public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF); @@ -1339,7 +1339,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstDfmaRc(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int SrcC => (int)((_opcode >> 39) & 0xFF); public int CbufSlot => (int)((_opcode >> 34) & 0x1F); @@ -1356,7 +1356,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstDmnmxR(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int SrcB => (int)((_opcode >> 20) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); @@ -1374,7 +1374,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstDmnmxI(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int Imm20 => (int)((_opcode >> 37) & 0x80000) | (int)((_opcode >> 20) & 0x7FFFF); public int Pred => (int)((_opcode >> 16) & 0x7); @@ -1392,7 +1392,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstDmnmxC(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int CbufSlot => (int)((_opcode >> 34) & 0x1F); public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF); @@ -1411,7 +1411,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstDmulR(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int SrcB => (int)((_opcode >> 20) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); @@ -1425,7 +1425,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstDmulI(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int Imm20 => (int)((_opcode >> 37) & 0x80000) | (int)((_opcode >> 20) & 0x7FFFF); public int Pred => (int)((_opcode >> 16) & 0x7); @@ -1439,7 +1439,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstDmulC(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int CbufSlot => (int)((_opcode >> 34) & 0x1F); public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF); @@ -1454,7 +1454,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstDsetR(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int SrcB => (int)((_opcode >> 20) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); @@ -1475,7 +1475,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstDsetI(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int Imm20 => (int)((_opcode >> 37) & 0x80000) | (int)((_opcode >> 20) & 0x7FFFF); public int Pred => (int)((_opcode >> 16) & 0x7); @@ -1496,7 +1496,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstDsetC(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int CbufSlot => (int)((_opcode >> 34) & 0x1F); public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF); @@ -1531,7 +1531,7 @@ namespace Ryujinx.Graphics.Shader.Decoders public bool AbsA => (_opcode & 0x80) != 0; public bool NegB => (_opcode & 0x40) != 0; public int DestPred => (int)((_opcode >> 3) & 0x7); - public int DestPredInv => (int)((_opcode >> 0) & 0x7); + public int DestPredInv => (int)(_opcode & 0x7); } struct InstDsetpI @@ -1551,7 +1551,7 @@ namespace Ryujinx.Graphics.Shader.Decoders public bool AbsA => (_opcode & 0x80) != 0; public bool NegB => (_opcode & 0x40) != 0; public int DestPred => (int)((_opcode >> 3) & 0x7); - public int DestPredInv => (int)((_opcode >> 0) & 0x7); + public int DestPredInv => (int)(_opcode & 0x7); } struct InstDsetpC @@ -1572,7 +1572,7 @@ namespace Ryujinx.Graphics.Shader.Decoders public bool AbsA => (_opcode & 0x80) != 0; public bool NegB => (_opcode & 0x40) != 0; public int DestPred => (int)((_opcode >> 3) & 0x7); - public int DestPredInv => (int)((_opcode >> 0) & 0x7); + public int DestPredInv => (int)(_opcode & 0x7); } struct InstExit @@ -1581,7 +1581,7 @@ namespace Ryujinx.Graphics.Shader.Decoders public InstExit(ulong opcode) => _opcode = opcode; public int Pred => (int)((_opcode >> 16) & 0x7); public bool PredInv => (_opcode & 0x80000) != 0; - public Ccc Ccc => (Ccc)((_opcode >> 0) & 0x1F); + public Ccc Ccc => (Ccc)(_opcode & 0x1F); public bool KeepRefCnt => (_opcode & 0x20) != 0; } @@ -1589,7 +1589,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstF2fR(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcB => (int)((_opcode >> 20) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); public bool PredInv => (_opcode & 0x80000) != 0; @@ -1608,7 +1608,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstF2fI(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int Imm20 => (int)((_opcode >> 37) & 0x80000) | (int)((_opcode >> 20) & 0x7FFFF); public int Pred => (int)((_opcode >> 16) & 0x7); public bool PredInv => (_opcode & 0x80000) != 0; @@ -1627,7 +1627,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstF2fC(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int CbufSlot => (int)((_opcode >> 34) & 0x1F); public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF); public int Pred => (int)((_opcode >> 16) & 0x7); @@ -1647,7 +1647,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstF2iR(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcB => (int)((_opcode >> 20) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); public bool PredInv => (_opcode & 0x80000) != 0; @@ -1665,7 +1665,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstF2iI(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int Imm20 => (int)((_opcode >> 37) & 0x80000) | (int)((_opcode >> 20) & 0x7FFFF); public int Pred => (int)((_opcode >> 16) & 0x7); public bool PredInv => (_opcode & 0x80000) != 0; @@ -1683,7 +1683,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstF2iC(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int CbufSlot => (int)((_opcode >> 34) & 0x1F); public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF); public int Pred => (int)((_opcode >> 16) & 0x7); @@ -1702,7 +1702,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstFaddR(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int SrcB => (int)((_opcode >> 20) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); @@ -1721,7 +1721,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstFaddI(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int Imm20 => (int)((_opcode >> 37) & 0x80000) | (int)((_opcode >> 20) & 0x7FFFF); public int Pred => (int)((_opcode >> 16) & 0x7); @@ -1740,7 +1740,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstFaddC(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int CbufSlot => (int)((_opcode >> 34) & 0x1F); public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF); @@ -1760,7 +1760,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstFadd32i(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); public bool PredInv => (_opcode & 0x80000) != 0; @@ -1826,7 +1826,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstFcmpR(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int SrcB => (int)((_opcode >> 20) & 0xFF); public int SrcC => (int)((_opcode >> 39) & 0xFF); @@ -1840,7 +1840,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstFcmpI(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int Imm20 => (int)((_opcode >> 37) & 0x80000) | (int)((_opcode >> 20) & 0x7FFFF); public int SrcC => (int)((_opcode >> 39) & 0xFF); @@ -1854,7 +1854,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstFcmpC(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int CbufSlot => (int)((_opcode >> 34) & 0x1F); public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF); @@ -1869,7 +1869,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstFcmpRc(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int SrcC => (int)((_opcode >> 39) & 0xFF); public int CbufSlot => (int)((_opcode >> 34) & 0x1F); @@ -1884,7 +1884,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstFfmaR(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int SrcB => (int)((_opcode >> 20) & 0xFF); public int SrcC => (int)((_opcode >> 39) & 0xFF); @@ -1902,7 +1902,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstFfmaI(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int Imm20 => (int)((_opcode >> 37) & 0x80000) | (int)((_opcode >> 20) & 0x7FFFF); public int SrcC => (int)((_opcode >> 39) & 0xFF); @@ -1920,7 +1920,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstFfmaC(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int CbufSlot => (int)((_opcode >> 34) & 0x1F); public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF); @@ -1939,7 +1939,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstFfmaRc(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int SrcC => (int)((_opcode >> 39) & 0xFF); public int CbufSlot => (int)((_opcode >> 34) & 0x1F); @@ -1958,7 +1958,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstFfma32i(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int Imm32 => (int)(_opcode >> 20); public int Pred => (int)((_opcode >> 16) & 0x7); @@ -1974,7 +1974,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstFloR(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcB => (int)((_opcode >> 20) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); public bool PredInv => (_opcode & 0x80000) != 0; @@ -1988,7 +1988,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstFloI(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int Imm20 => (int)((_opcode >> 37) & 0x80000) | (int)((_opcode >> 20) & 0x7FFFF); public int Pred => (int)((_opcode >> 16) & 0x7); public bool PredInv => (_opcode & 0x80000) != 0; @@ -2002,7 +2002,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstFloC(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int CbufSlot => (int)((_opcode >> 34) & 0x1F); public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF); public int Pred => (int)((_opcode >> 16) & 0x7); @@ -2017,7 +2017,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstFmnmxR(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int SrcB => (int)((_opcode >> 20) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); @@ -2036,7 +2036,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstFmnmxI(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int Imm20 => (int)((_opcode >> 37) & 0x80000) | (int)((_opcode >> 20) & 0x7FFFF); public int Pred => (int)((_opcode >> 16) & 0x7); @@ -2055,7 +2055,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstFmnmxC(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int CbufSlot => (int)((_opcode >> 34) & 0x1F); public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF); @@ -2075,7 +2075,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstFmulR(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int SrcB => (int)((_opcode >> 20) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); @@ -2092,7 +2092,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstFmulI(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int Imm20 => (int)((_opcode >> 37) & 0x80000) | (int)((_opcode >> 20) & 0x7FFFF); public int Pred => (int)((_opcode >> 16) & 0x7); @@ -2109,7 +2109,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstFmulC(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int CbufSlot => (int)((_opcode >> 34) & 0x1F); public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF); @@ -2127,7 +2127,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstFmul32i(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); public bool PredInv => (_opcode & 0x80000) != 0; @@ -2141,7 +2141,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstFsetR(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int SrcB => (int)((_opcode >> 20) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); @@ -2163,7 +2163,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstFsetC(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int CbufSlot => (int)((_opcode >> 34) & 0x1F); public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF); @@ -2186,7 +2186,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstFsetI(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int Imm20 => (int)((_opcode >> 37) & 0x80000) | (int)((_opcode >> 20) & 0x7FFFF); public int Pred => (int)((_opcode >> 16) & 0x7); @@ -2209,7 +2209,7 @@ namespace Ryujinx.Graphics.Shader.Decoders private ulong _opcode; public InstFsetpR(ulong opcode) => _opcode = opcode; public int DestPred => (int)((_opcode >> 3) & 0x7); - public int DestPredInv => (int)((_opcode >> 0) & 0x7); + public int DestPredInv => (int)(_opcode & 0x7); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int SrcB => (int)((_opcode >> 20) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); @@ -2231,7 +2231,7 @@ namespace Ryujinx.Graphics.Shader.Decoders private ulong _opcode; public InstFsetpI(ulong opcode) => _opcode = opcode; public int DestPred => (int)((_opcode >> 3) & 0x7); - public int DestPredInv => (int)((_opcode >> 0) & 0x7); + public int DestPredInv => (int)(_opcode & 0x7); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int Imm20 => (int)((_opcode >> 37) & 0x80000) | (int)((_opcode >> 20) & 0x7FFFF); public int Pred => (int)((_opcode >> 16) & 0x7); @@ -2253,7 +2253,7 @@ namespace Ryujinx.Graphics.Shader.Decoders private ulong _opcode; public InstFsetpC(ulong opcode) => _opcode = opcode; public int DestPred => (int)((_opcode >> 3) & 0x7); - public int DestPredInv => (int)((_opcode >> 0) & 0x7); + public int DestPredInv => (int)(_opcode & 0x7); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int CbufSlot => (int)((_opcode >> 34) & 0x1F); public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF); @@ -2275,7 +2275,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstFswzadd(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int SrcB => (int)((_opcode >> 20) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); @@ -2291,21 +2291,21 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstGetcrsptr(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); } struct InstGetlmembase { private ulong _opcode; public InstGetlmembase(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); } struct InstHadd2R { private ulong _opcode; public InstHadd2R(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int SrcB => (int)((_opcode >> 20) & 0xFF); public OFmt OFmt => (OFmt)((_opcode >> 49) & 0x3); @@ -2325,7 +2325,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstHadd2I(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int BimmH0 => (int)((_opcode >> 20) & 0x3FF); public int BimmH1 => (int)((_opcode >> 47) & 0x200) | (int)((_opcode >> 30) & 0x1FF); @@ -2343,7 +2343,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstHadd2C(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int CbufSlot => (int)((_opcode >> 34) & 0x1F); public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF); @@ -2363,7 +2363,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstHadd232i(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int Imm => (int)(_opcode >> 20); public HalfSwizzle ASwizzle => (HalfSwizzle)((_opcode >> 53) & 0x3); @@ -2378,7 +2378,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstHfma2R(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int SrcB => (int)((_opcode >> 20) & 0xFF); public int SrcC => (int)((_opcode >> 39) & 0xFF); @@ -2398,7 +2398,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstHfma2I(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int BimmH0 => (int)((_opcode >> 20) & 0x3FF); public int BimmH1 => (int)((_opcode >> 47) & 0x200) | (int)((_opcode >> 30) & 0x1FF); @@ -2417,7 +2417,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstHfma2C(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int CbufSlot => (int)((_opcode >> 34) & 0x1F); public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF); @@ -2437,7 +2437,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstHfma2Rc(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int CbufSlot => (int)((_opcode >> 34) & 0x1F); public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF); @@ -2457,7 +2457,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstHfma232i(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int Imm => (int)(_opcode >> 20); public HalfSwizzle ASwizzle => (HalfSwizzle)((_opcode >> 47) & 0x3); @@ -2471,7 +2471,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstHmul2R(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int SrcB => (int)((_opcode >> 20) & 0xFF); public OFmt OFmt => (OFmt)((_opcode >> 49) & 0x3); @@ -2490,7 +2490,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstHmul2I(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int BimmH0 => (int)((_opcode >> 20) & 0x3FF); public int BimmH1 => (int)((_opcode >> 47) & 0x200) | (int)((_opcode >> 30) & 0x1FF); @@ -2508,7 +2508,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstHmul2C(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int CbufSlot => (int)((_opcode >> 34) & 0x1F); public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF); @@ -2527,7 +2527,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstHmul232i(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int Imm32 => (int)(_opcode >> 20); public HalfSwizzle ASwizzle => (HalfSwizzle)((_opcode >> 53) & 0x3); @@ -2541,7 +2541,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstHset2R(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int SrcB => (int)((_opcode >> 20) & 0xFF); public HalfSwizzle ASwizzle => (HalfSwizzle)((_opcode >> 47) & 0x3); @@ -2564,7 +2564,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstHset2I(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int BimmH0 => (int)((_opcode >> 20) & 0x3FF); public int BimmH1 => (int)((_opcode >> 47) & 0x200) | (int)((_opcode >> 30) & 0x1FF); @@ -2585,7 +2585,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstHset2C(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int CbufSlot => (int)((_opcode >> 34) & 0x1F); public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF); @@ -2608,7 +2608,7 @@ namespace Ryujinx.Graphics.Shader.Decoders private ulong _opcode; public InstHsetp2R(ulong opcode) => _opcode = opcode; public int DestPred => (int)((_opcode >> 3) & 0x7); - public int DestPredInv => (int)((_opcode >> 0) & 0x7); + public int DestPredInv => (int)(_opcode & 0x7); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int SrcB => (int)((_opcode >> 20) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); @@ -2632,7 +2632,7 @@ namespace Ryujinx.Graphics.Shader.Decoders private ulong _opcode; public InstHsetp2I(ulong opcode) => _opcode = opcode; public int DestPred => (int)((_opcode >> 3) & 0x7); - public int DestPredInv => (int)((_opcode >> 0) & 0x7); + public int DestPredInv => (int)(_opcode & 0x7); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); public bool PredInv => (_opcode & 0x80000) != 0; @@ -2654,7 +2654,7 @@ namespace Ryujinx.Graphics.Shader.Decoders private ulong _opcode; public InstHsetp2C(ulong opcode) => _opcode = opcode; public int DestPred => (int)((_opcode >> 3) & 0x7); - public int DestPredInv => (int)((_opcode >> 0) & 0x7); + public int DestPredInv => (int)(_opcode & 0x7); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int CbufSlot => (int)((_opcode >> 34) & 0x1F); public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF); @@ -2677,7 +2677,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstI2fR(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcB => (int)((_opcode >> 20) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); public bool PredInv => (_opcode & 0x80000) != 0; @@ -2694,7 +2694,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstI2fI(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int Imm20 => (int)((_opcode >> 37) & 0x80000) | (int)((_opcode >> 20) & 0x7FFFF); public int Pred => (int)((_opcode >> 16) & 0x7); public bool PredInv => (_opcode & 0x80000) != 0; @@ -2711,7 +2711,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstI2fC(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int CbufSlot => (int)((_opcode >> 34) & 0x1F); public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF); public int Pred => (int)((_opcode >> 16) & 0x7); @@ -2729,7 +2729,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstI2iR(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcB => (int)((_opcode >> 20) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); public bool PredInv => (_opcode & 0x80000) != 0; @@ -2746,7 +2746,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstI2iI(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int Imm20 => (int)((_opcode >> 37) & 0x80000) | (int)((_opcode >> 20) & 0x7FFFF); public int Pred => (int)((_opcode >> 16) & 0x7); public bool PredInv => (_opcode & 0x80000) != 0; @@ -2763,7 +2763,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstI2iC(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int CbufSlot => (int)((_opcode >> 34) & 0x1F); public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF); public int Pred => (int)((_opcode >> 16) & 0x7); @@ -2781,7 +2781,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstIaddR(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int SrcB => (int)((_opcode >> 20) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); @@ -2796,7 +2796,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstIaddI(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int Imm20 => (int)((_opcode >> 37) & 0x80000) | (int)((_opcode >> 20) & 0x7FFFF); public int Pred => (int)((_opcode >> 16) & 0x7); @@ -2811,7 +2811,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstIaddC(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int CbufSlot => (int)((_opcode >> 34) & 0x1F); public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF); @@ -2827,7 +2827,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstIadd32i(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); public bool PredInv => (_opcode & 0x80000) != 0; @@ -2842,7 +2842,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstIadd3R(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int SrcB => (int)((_opcode >> 20) & 0xFF); public int SrcC => (int)((_opcode >> 39) & 0xFF); @@ -2863,7 +2863,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstIadd3I(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int Imm20 => (int)((_opcode >> 37) & 0x80000) | (int)((_opcode >> 20) & 0x7FFFF); public int SrcC => (int)((_opcode >> 39) & 0xFF); @@ -2880,7 +2880,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstIadd3C(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int CbufSlot => (int)((_opcode >> 34) & 0x1F); public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF); @@ -2898,7 +2898,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstIcmpR(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int SrcB => (int)((_opcode >> 20) & 0xFF); public int SrcC => (int)((_opcode >> 39) & 0xFF); @@ -2912,7 +2912,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstIcmpI(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int Imm20 => (int)((_opcode >> 37) & 0x80000) | (int)((_opcode >> 20) & 0x7FFFF); public int SrcC => (int)((_opcode >> 39) & 0xFF); @@ -2926,7 +2926,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstIcmpC(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int CbufSlot => (int)((_opcode >> 34) & 0x1F); public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF); @@ -2941,7 +2941,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstIcmpRc(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int SrcC => (int)((_opcode >> 39) & 0xFF); public int CbufSlot => (int)((_opcode >> 34) & 0x1F); @@ -2964,7 +2964,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstIdpR(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int SrcB => (int)((_opcode >> 20) & 0xFF); public int SrcC => (int)((_opcode >> 39) & 0xFF); @@ -2980,7 +2980,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstIdpC(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int CbufSlot => (int)((_opcode >> 34) & 0x1F); public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF); @@ -2997,7 +2997,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstImadR(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int SrcB => (int)((_opcode >> 20) & 0xFF); public int SrcC => (int)((_opcode >> 39) & 0xFF); @@ -3016,7 +3016,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstImadI(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int Imm20 => (int)((_opcode >> 37) & 0x80000) | (int)((_opcode >> 20) & 0x7FFFF); public int SrcC => (int)((_opcode >> 39) & 0xFF); @@ -3035,7 +3035,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstImadC(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int CbufSlot => (int)((_opcode >> 34) & 0x1F); public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF); @@ -3055,7 +3055,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstImadRc(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int SrcC => (int)((_opcode >> 39) & 0xFF); public int CbufSlot => (int)((_opcode >> 34) & 0x1F); @@ -3075,7 +3075,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstImad32i(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); public bool PredInv => (_opcode & 0x80000) != 0; @@ -3091,7 +3091,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstImadspR(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int SrcB => (int)((_opcode >> 20) & 0xFF); public int SrcC => (int)((_opcode >> 39) & 0xFF); @@ -3106,7 +3106,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstImadspI(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int Imm20 => (int)((_opcode >> 37) & 0x80000) | (int)((_opcode >> 20) & 0x7FFFF); public int SrcC => (int)((_opcode >> 39) & 0xFF); @@ -3121,7 +3121,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstImadspC(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int CbufSlot => (int)((_opcode >> 34) & 0x1F); public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF); @@ -3137,7 +3137,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstImadspRc(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int SrcC => (int)((_opcode >> 39) & 0xFF); public int CbufSlot => (int)((_opcode >> 34) & 0x1F); @@ -3153,7 +3153,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstImnmxR(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int SrcB => (int)((_opcode >> 20) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); @@ -3169,7 +3169,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstImnmxI(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int Imm20 => (int)((_opcode >> 37) & 0x80000) | (int)((_opcode >> 20) & 0x7FFFF); public int Pred => (int)((_opcode >> 16) & 0x7); @@ -3185,7 +3185,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstImnmxC(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int CbufSlot => (int)((_opcode >> 34) & 0x1F); public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF); @@ -3202,7 +3202,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstImulR(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int SrcB => (int)((_opcode >> 20) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); @@ -3217,7 +3217,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstImulI(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int Imm20 => (int)((_opcode >> 37) & 0x80000) | (int)((_opcode >> 20) & 0x7FFFF); public int Pred => (int)((_opcode >> 16) & 0x7); @@ -3232,7 +3232,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstImulC(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int CbufSlot => (int)((_opcode >> 34) & 0x1F); public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF); @@ -3248,7 +3248,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstImul32i(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); public bool PredInv => (_opcode & 0x80000) != 0; @@ -3263,7 +3263,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstIpa(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int SrcB => (int)((_opcode >> 20) & 0xFF); public int SrcC => (int)((_opcode >> 39) & 0xFF); @@ -3282,7 +3282,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstIsberd(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); public bool PredInv => (_opcode & 0x80000) != 0; @@ -3296,7 +3296,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstIscaddR(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int SrcB => (int)((_opcode >> 20) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); @@ -3310,7 +3310,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstIscaddI(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int Imm20 => (int)((_opcode >> 37) & 0x80000) | (int)((_opcode >> 20) & 0x7FFFF); public int Pred => (int)((_opcode >> 16) & 0x7); @@ -3324,7 +3324,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstIscaddC(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int CbufSlot => (int)((_opcode >> 34) & 0x1F); public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF); @@ -3339,7 +3339,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstIscadd32i(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); public bool PredInv => (_opcode & 0x80000) != 0; @@ -3352,7 +3352,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstIsetR(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int SrcB => (int)((_opcode >> 20) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); @@ -3371,7 +3371,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstIsetI(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int Imm20 => (int)((_opcode >> 37) & 0x80000) | (int)((_opcode >> 20) & 0x7FFFF); public int Pred => (int)((_opcode >> 16) & 0x7); @@ -3390,7 +3390,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstIsetC(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int CbufSlot => (int)((_opcode >> 34) & 0x1F); public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF); @@ -3421,7 +3421,7 @@ namespace Ryujinx.Graphics.Shader.Decoders public int SrcPred => (int)((_opcode >> 39) & 0x7); public bool SrcPredInv => (_opcode & 0x40000000000) != 0; public int DestPred => (int)((_opcode >> 3) & 0x7); - public int DestPredInv => (int)((_opcode >> 0) & 0x7); + public int DestPredInv => (int)(_opcode & 0x7); } struct InstIsetpI @@ -3439,7 +3439,7 @@ namespace Ryujinx.Graphics.Shader.Decoders public int SrcPred => (int)((_opcode >> 39) & 0x7); public bool SrcPredInv => (_opcode & 0x40000000000) != 0; public int DestPred => (int)((_opcode >> 3) & 0x7); - public int DestPredInv => (int)((_opcode >> 0) & 0x7); + public int DestPredInv => (int)(_opcode & 0x7); } struct InstIsetpC @@ -3458,7 +3458,7 @@ namespace Ryujinx.Graphics.Shader.Decoders public int SrcPred => (int)((_opcode >> 39) & 0x7); public bool SrcPredInv => (_opcode & 0x40000000000) != 0; public int DestPred => (int)((_opcode >> 3) & 0x7); - public int DestPredInv => (int)((_opcode >> 0) & 0x7); + public int DestPredInv => (int)(_opcode & 0x7); } struct InstJcal @@ -3477,7 +3477,7 @@ namespace Ryujinx.Graphics.Shader.Decoders public int SrcA => (int)((_opcode >> 8) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); public bool PredInv => (_opcode & 0x80000) != 0; - public Ccc Ccc => (Ccc)((_opcode >> 0) & 0x1F); + public Ccc Ccc => (Ccc)(_opcode & 0x1F); public bool Ca => (_opcode & 0x20) != 0; public int Imm32 => (int)(_opcode >> 20); public bool Lmt => (_opcode & 0x40) != 0; @@ -3491,7 +3491,7 @@ namespace Ryujinx.Graphics.Shader.Decoders public int SrcA => (int)((_opcode >> 8) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); public bool PredInv => (_opcode & 0x80000) != 0; - public Ccc Ccc => (Ccc)((_opcode >> 0) & 0x1F); + public Ccc Ccc => (Ccc)(_opcode & 0x1F); public bool Ca => (_opcode & 0x20) != 0; public int Imm32 => (int)(_opcode >> 20); public bool Lmt => (_opcode & 0x40) != 0; @@ -3503,14 +3503,14 @@ namespace Ryujinx.Graphics.Shader.Decoders public InstKil(ulong opcode) => _opcode = opcode; public int Pred => (int)((_opcode >> 16) & 0x7); public bool PredInv => (_opcode & 0x80000) != 0; - public Ccc Ccc => (Ccc)((_opcode >> 0) & 0x1F); + public Ccc Ccc => (Ccc)(_opcode & 0x1F); } struct InstLd { private ulong _opcode; public InstLd(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); public bool PredInv => (_opcode & 0x80000) != 0; @@ -3525,7 +3525,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstLdc(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); public bool PredInv => (_opcode & 0x80000) != 0; @@ -3539,7 +3539,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstLdg(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); public bool PredInv => (_opcode & 0x80000) != 0; @@ -3553,7 +3553,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstLdl(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); public bool PredInv => (_opcode & 0x80000) != 0; @@ -3566,7 +3566,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstLds(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); public bool PredInv => (_opcode & 0x80000) != 0; @@ -3579,7 +3579,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstLeaR(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int SrcB => (int)((_opcode >> 20) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); @@ -3595,7 +3595,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstLeaI(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int Imm20 => (int)((_opcode >> 37) & 0x80000) | (int)((_opcode >> 20) & 0x7FFFF); public int Pred => (int)((_opcode >> 16) & 0x7); @@ -3611,7 +3611,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstLeaC(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int CbufSlot => (int)((_opcode >> 34) & 0x1F); public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF); @@ -3628,7 +3628,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstLeaHiR(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int SrcB => (int)((_opcode >> 20) & 0xFF); public int SrcC => (int)((_opcode >> 39) & 0xFF); @@ -3645,7 +3645,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstLeaHiC(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int CbufSlot => (int)((_opcode >> 34) & 0x1F); public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF); @@ -3669,14 +3669,14 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstLongjmp(ulong opcode) => _opcode = opcode; - public Ccc Ccc => (Ccc)((_opcode >> 0) & 0x1F); + public Ccc Ccc => (Ccc)(_opcode & 0x1F); } struct InstLopR { private ulong _opcode; public InstLopR(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int SrcB => (int)((_opcode >> 20) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); @@ -3694,7 +3694,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstLopI(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int Imm20 => (int)((_opcode >> 37) & 0x80000) | (int)((_opcode >> 20) & 0x7FFFF); public int Pred => (int)((_opcode >> 16) & 0x7); @@ -3712,7 +3712,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstLopC(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int CbufSlot => (int)((_opcode >> 34) & 0x1F); public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF); @@ -3731,7 +3731,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstLop3R(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int SrcB => (int)((_opcode >> 20) & 0xFF); public int SrcC => (int)((_opcode >> 39) & 0xFF); @@ -3748,7 +3748,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstLop3I(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int Imm20 => (int)((_opcode >> 37) & 0x80000) | (int)((_opcode >> 20) & 0x7FFFF); public int SrcC => (int)((_opcode >> 39) & 0xFF); @@ -3763,7 +3763,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstLop3C(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int CbufSlot => (int)((_opcode >> 34) & 0x1F); public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF); @@ -3779,7 +3779,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstLop32i(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); public bool PredInv => (_opcode & 0x80000) != 0; @@ -3798,14 +3798,14 @@ namespace Ryujinx.Graphics.Shader.Decoders public int Pred => (int)((_opcode >> 16) & 0x7); public bool PredInv => (_opcode & 0x80000) != 0; public Membar Membar => (Membar)((_opcode >> 8) & 0x3); - public Ivall Ivall => (Ivall)((_opcode >> 0) & 0x3); + public Ivall Ivall => (Ivall)(_opcode & 0x3); } struct InstMovR { private ulong _opcode; public InstMovR(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 20) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); public bool PredInv => (_opcode & 0x80000) != 0; @@ -3816,7 +3816,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstMovI(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int Imm20 => (int)((_opcode >> 37) & 0x80000) | (int)((_opcode >> 20) & 0x7FFFF); public int Pred => (int)((_opcode >> 16) & 0x7); public bool PredInv => (_opcode & 0x80000) != 0; @@ -3827,7 +3827,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstMovC(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int CbufSlot => (int)((_opcode >> 34) & 0x1F); public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF); public int Pred => (int)((_opcode >> 16) & 0x7); @@ -3839,7 +3839,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstMov32i(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int Imm32 => (int)(_opcode >> 20); public int Pred => (int)((_opcode >> 16) & 0x7); public bool PredInv => (_opcode & 0x80000) != 0; @@ -3850,7 +3850,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstMufu(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); public bool PredInv => (_opcode & 0x80000) != 0; @@ -3875,7 +3875,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstOutR(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int SrcB => (int)((_opcode >> 20) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); @@ -3887,7 +3887,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstOutI(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int Imm20 => (int)((_opcode >> 37) & 0x80000) | (int)((_opcode >> 20) & 0x7FFFF); public int Pred => (int)((_opcode >> 16) & 0x7); @@ -3899,7 +3899,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstOutC(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int CbufSlot => (int)((_opcode >> 34) & 0x1F); public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF); @@ -3912,7 +3912,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstP2rR(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int SrcB => (int)((_opcode >> 20) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); @@ -3925,7 +3925,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstP2rI(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int Imm20 => (int)((_opcode >> 37) & 0x80000) | (int)((_opcode >> 20) & 0x7FFFF); public int Pred => (int)((_opcode >> 16) & 0x7); @@ -3938,7 +3938,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstP2rC(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int CbufSlot => (int)((_opcode >> 34) & 0x1F); public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF); @@ -3975,7 +3975,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstPixld(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); public bool PredInv => (_opcode & 0x80000) != 0; @@ -3996,7 +3996,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstPopcR(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcB => (int)((_opcode >> 20) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); public bool PredInv => (_opcode & 0x80000) != 0; @@ -4007,7 +4007,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstPopcI(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int Imm20 => (int)((_opcode >> 37) & 0x80000) | (int)((_opcode >> 20) & 0x7FFFF); public int Pred => (int)((_opcode >> 16) & 0x7); public bool PredInv => (_opcode & 0x80000) != 0; @@ -4018,7 +4018,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstPopcC(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int CbufSlot => (int)((_opcode >> 34) & 0x1F); public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF); public int Pred => (int)((_opcode >> 16) & 0x7); @@ -4039,7 +4039,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstPrmtR(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int SrcB => (int)((_opcode >> 20) & 0xFF); public int SrcC => (int)((_opcode >> 39) & 0xFF); @@ -4052,7 +4052,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstPrmtI(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int Imm20 => (int)((_opcode >> 37) & 0x80000) | (int)((_opcode >> 20) & 0x7FFFF); public int SrcC => (int)((_opcode >> 39) & 0xFF); @@ -4065,7 +4065,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstPrmtC(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int CbufSlot => (int)((_opcode >> 34) & 0x1F); public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF); @@ -4079,7 +4079,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstPrmtRc(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int SrcC => (int)((_opcode >> 39) & 0xFF); public int CbufSlot => (int)((_opcode >> 34) & 0x1F); @@ -4093,7 +4093,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstPset(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); public bool PredInv => (_opcode & 0x80000) != 0; public bool WriteCC => (_opcode & 0x800000000000) != 0; @@ -4115,7 +4115,7 @@ namespace Ryujinx.Graphics.Shader.Decoders public int DestPred => (int)((_opcode >> 3) & 0x7); public int Pred => (int)((_opcode >> 16) & 0x7); public bool PredInv => (_opcode & 0x80000) != 0; - public int DestPredInv => (int)((_opcode >> 0) & 0x7); + public int DestPredInv => (int)(_opcode & 0x7); public int Src2Pred => (int)((_opcode >> 12) & 0x7); public bool Src2PredInv => (_opcode & 0x8000) != 0; public int Src1Pred => (int)((_opcode >> 29) & 0x7); @@ -4185,7 +4185,7 @@ namespace Ryujinx.Graphics.Shader.Decoders private ulong _opcode; public InstRed(ulong opcode) => _opcode = opcode; public int SrcA => (int)((_opcode >> 8) & 0xFF); - public int SrcB => (int)((_opcode >> 0) & 0xFF); + public int SrcB => (int)(_opcode & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); public bool PredInv => (_opcode & 0x80000) != 0; public int Imm20 => (int)((_opcode >> 28) & 0xFFFFF); @@ -4200,14 +4200,14 @@ namespace Ryujinx.Graphics.Shader.Decoders public InstRet(ulong opcode) => _opcode = opcode; public int Pred => (int)((_opcode >> 16) & 0x7); public bool PredInv => (_opcode & 0x80000) != 0; - public Ccc Ccc => (Ccc)((_opcode >> 0) & 0x1F); + public Ccc Ccc => (Ccc)(_opcode & 0x1F); } struct InstRroR { private ulong _opcode; public InstRroR(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcB => (int)((_opcode >> 20) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); public bool PredInv => (_opcode & 0x80000) != 0; @@ -4220,7 +4220,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstRroI(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int Imm20 => (int)((_opcode >> 37) & 0x80000) | (int)((_opcode >> 20) & 0x7FFFF); public int Pred => (int)((_opcode >> 16) & 0x7); public bool PredInv => (_opcode & 0x80000) != 0; @@ -4233,7 +4233,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstRroC(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int CbufSlot => (int)((_opcode >> 34) & 0x1F); public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF); public int Pred => (int)((_opcode >> 16) & 0x7); @@ -4253,7 +4253,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstS2r(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); public bool PredInv => (_opcode & 0x80000) != 0; public SReg SReg => (SReg)((_opcode >> 20) & 0xFF); @@ -4269,7 +4269,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstSelR(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int SrcB => (int)((_opcode >> 20) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); @@ -4282,7 +4282,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstSelI(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int Imm20 => (int)((_opcode >> 37) & 0x80000) | (int)((_opcode >> 20) & 0x7FFFF); public int Pred => (int)((_opcode >> 16) & 0x7); @@ -4295,7 +4295,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstSelC(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int CbufSlot => (int)((_opcode >> 34) & 0x1F); public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF); @@ -4323,7 +4323,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstShfLR(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int SrcB => (int)((_opcode >> 20) & 0xFF); public int SrcC => (int)((_opcode >> 39) & 0xFF); @@ -4339,7 +4339,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstShfRR(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int SrcB => (int)((_opcode >> 20) & 0xFF); public int SrcC => (int)((_opcode >> 39) & 0xFF); @@ -4355,7 +4355,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstShfLI(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int SrcC => (int)((_opcode >> 39) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); @@ -4371,7 +4371,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstShfRI(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int SrcC => (int)((_opcode >> 39) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); @@ -4387,7 +4387,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstShfl(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int SrcB => (int)((_opcode >> 20) & 0xFF); public int SrcC => (int)((_opcode >> 39) & 0xFF); @@ -4405,7 +4405,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstShlR(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int SrcB => (int)((_opcode >> 20) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); @@ -4419,7 +4419,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstShlI(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int Imm20 => (int)((_opcode >> 37) & 0x80000) | (int)((_opcode >> 20) & 0x7FFFF); public int Pred => (int)((_opcode >> 16) & 0x7); @@ -4433,7 +4433,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstShlC(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int CbufSlot => (int)((_opcode >> 34) & 0x1F); public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF); @@ -4448,7 +4448,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstShrR(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int SrcB => (int)((_opcode >> 20) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); @@ -4464,7 +4464,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstShrI(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int Imm20 => (int)((_opcode >> 37) & 0x80000) | (int)((_opcode >> 20) & 0x7FFFF); public int Pred => (int)((_opcode >> 16) & 0x7); @@ -4480,7 +4480,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstShrC(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int CbufSlot => (int)((_opcode >> 34) & 0x1F); public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF); @@ -4505,7 +4505,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstSt(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); public bool PredInv => (_opcode & 0x80000) != 0; @@ -4520,7 +4520,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstStg(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); public bool PredInv => (_opcode & 0x80000) != 0; @@ -4534,7 +4534,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstStl(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); public bool PredInv => (_opcode & 0x80000) != 0; @@ -4555,7 +4555,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstSts(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); public bool PredInv => (_opcode & 0x80000) != 0; @@ -4567,7 +4567,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstSuatomB(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int SrcB => (int)((_opcode >> 20) & 0xFF); public int SrcC => (int)((_opcode >> 39) & 0xFF); @@ -4584,7 +4584,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstSuatom(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int SrcB => (int)((_opcode >> 20) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); @@ -4601,7 +4601,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstSuatomB2(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int SrcB => (int)((_opcode >> 20) & 0xFF); public int SrcC => (int)((_opcode >> 39) & 0xFF); @@ -4619,7 +4619,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstSuatomCasB(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int SrcB => (int)((_opcode >> 20) & 0xFF); public int SrcC => (int)((_opcode >> 39) & 0xFF); @@ -4636,7 +4636,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstSuatomCas(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int SrcB => (int)((_opcode >> 20) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); @@ -4653,7 +4653,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstSuldDB(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int SrcC => (int)((_opcode >> 39) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); @@ -4670,7 +4670,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstSuldD(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); public bool PredInv => (_opcode & 0x80000) != 0; @@ -4687,7 +4687,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstSuldB(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int SrcC => (int)((_opcode >> 39) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); @@ -4703,7 +4703,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstSuld(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); public bool PredInv => (_opcode & 0x80000) != 0; @@ -4719,7 +4719,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstSuredB(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int SrcC => (int)((_opcode >> 39) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); @@ -4735,7 +4735,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstSured(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); public bool PredInv => (_opcode & 0x80000) != 0; @@ -4751,7 +4751,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstSustDB(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int SrcC => (int)((_opcode >> 39) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); @@ -4767,7 +4767,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstSustD(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); public bool PredInv => (_opcode & 0x80000) != 0; @@ -4783,7 +4783,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstSustB(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int SrcC => (int)((_opcode >> 39) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); @@ -4798,7 +4798,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstSust(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); public bool PredInv => (_opcode & 0x80000) != 0; @@ -4815,14 +4815,14 @@ namespace Ryujinx.Graphics.Shader.Decoders public InstSync(ulong opcode) => _opcode = opcode; public int Pred => (int)((_opcode >> 16) & 0x7); public bool PredInv => (_opcode & 0x80000) != 0; - public Ccc Ccc => (Ccc)((_opcode >> 0) & 0x1F); + public Ccc Ccc => (Ccc)(_opcode & 0x1F); } struct InstTex { private ulong _opcode; public InstTex(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int SrcB => (int)((_opcode >> 20) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); @@ -4843,7 +4843,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstTexB(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int SrcB => (int)((_opcode >> 20) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); @@ -4863,7 +4863,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstTexs(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int SrcB => (int)((_opcode >> 20) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); @@ -4879,7 +4879,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstTld(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int SrcB => (int)((_opcode >> 20) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); @@ -4899,7 +4899,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstTldB(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int SrcB => (int)((_opcode >> 20) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); @@ -4918,7 +4918,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstTlds(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int SrcB => (int)((_opcode >> 20) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); @@ -4934,7 +4934,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstTld4(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int SrcB => (int)((_opcode >> 20) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); @@ -4955,7 +4955,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstTld4B(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int SrcB => (int)((_opcode >> 20) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); @@ -4975,7 +4975,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstTld4s(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int SrcB => (int)((_opcode >> 20) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); @@ -4992,7 +4992,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstTmml(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int SrcB => (int)((_opcode >> 20) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); @@ -5008,7 +5008,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstTmmlB(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int SrcB => (int)((_opcode >> 20) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); @@ -5023,7 +5023,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstTxa(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); public bool PredInv => (_opcode & 0x80000) != 0; @@ -5037,7 +5037,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstTxd(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int SrcB => (int)((_opcode >> 20) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); @@ -5055,7 +5055,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstTxdB(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int SrcB => (int)((_opcode >> 20) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); @@ -5072,7 +5072,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstTxq(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); public bool PredInv => (_opcode & 0x80000) != 0; @@ -5086,7 +5086,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstTxqB(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); public bool PredInv => (_opcode & 0x80000) != 0; @@ -5099,7 +5099,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstVabsdiff(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int SrcB => (int)((_opcode >> 20) & 0xFF); public int SrcC => (int)((_opcode >> 39) & 0xFF); @@ -5118,7 +5118,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstVabsdiff4(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int SrcB => (int)((_opcode >> 20) & 0xFF); public int SrcC => (int)((_opcode >> 39) & 0xFF); @@ -5139,7 +5139,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstVadd(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int SrcB => (int)((_opcode >> 20) & 0xFF); public int SrcC => (int)((_opcode >> 39) & 0xFF); @@ -5160,7 +5160,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstVmad(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int SrcB => (int)((_opcode >> 20) & 0xFF); public int SrcC => (int)((_opcode >> 39) & 0xFF); @@ -5180,7 +5180,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstVmnmx(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int SrcB => (int)((_opcode >> 20) & 0xFF); public int SrcC => (int)((_opcode >> 39) & 0xFF); @@ -5201,7 +5201,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstVote(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); public bool PredInv => (_opcode & 0x80000) != 0; public int SrcPred => (int)((_opcode >> 39) & 0x7); @@ -5224,7 +5224,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstVset(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int SrcB => (int)((_opcode >> 20) & 0xFF); public int SrcC => (int)((_opcode >> 39) & 0xFF); @@ -5254,7 +5254,7 @@ namespace Ryujinx.Graphics.Shader.Decoders public int SrcPred => (int)((_opcode >> 39) & 0x7); public bool SrcPredInv => (_opcode & 0x40000000000) != 0; public int DestPred => (int)((_opcode >> 3) & 0x7); - public int DestPredInv => (int)((_opcode >> 0) & 0x7); + public int DestPredInv => (int)(_opcode & 0x7); public bool BVideo => (_opcode & 0x4000000000000) != 0; } @@ -5262,7 +5262,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstVshl(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int SrcB => (int)((_opcode >> 20) & 0xFF); public int SrcC => (int)((_opcode >> 39) & 0xFF); @@ -5282,7 +5282,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstVshr(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int SrcB => (int)((_opcode >> 20) & 0xFF); public int SrcC => (int)((_opcode >> 39) & 0xFF); @@ -5302,7 +5302,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstXmadR(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int SrcB => (int)((_opcode >> 20) & 0xFF); public int SrcC => (int)((_opcode >> 39) & 0xFF); @@ -5323,7 +5323,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstXmadI(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int SrcC => (int)((_opcode >> 39) & 0xFF); public int Pred => (int)((_opcode >> 16) & 0x7); @@ -5343,7 +5343,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstXmadC(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int CbufSlot => (int)((_opcode >> 34) & 0x1F); public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF); @@ -5365,7 +5365,7 @@ namespace Ryujinx.Graphics.Shader.Decoders { private ulong _opcode; public InstXmadRc(ulong opcode) => _opcode = opcode; - public int Dest => (int)((_opcode >> 0) & 0xFF); + public int Dest => (int)(_opcode & 0xFF); public int SrcA => (int)((_opcode >> 8) & 0xFF); public int SrcC => (int)((_opcode >> 39) & 0xFF); public int CbufSlot => (int)((_opcode >> 34) & 0x1F); diff --git a/src/Ryujinx.Graphics.Shader/TextureHandle.cs b/src/Ryujinx.Graphics.Shader/TextureHandle.cs index 39d5c1c324..a59c8cd4a1 100644 --- a/src/Ryujinx.Graphics.Shader/TextureHandle.cs +++ b/src/Ryujinx.Graphics.Shader/TextureHandle.cs @@ -61,7 +61,7 @@ namespace Ryujinx.Graphics.Shader [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int UnpackTextureId(int packedId) { - return (packedId >> 0) & 0xfffff; + return packedId & 0xfffff; } /// diff --git a/src/Ryujinx.Graphics.Vulkan/PipelineUid.cs b/src/Ryujinx.Graphics.Vulkan/PipelineUid.cs index bf23f47140..f404be744c 100644 --- a/src/Ryujinx.Graphics.Vulkan/PipelineUid.cs +++ b/src/Ryujinx.Graphics.Vulkan/PipelineUid.cs @@ -25,7 +25,7 @@ namespace Ryujinx.Graphics.Vulkan private uint VertexAttributeDescriptionsCount => (byte)((Id6 >> 38) & 0xFF); private uint VertexBindingDescriptionsCount => (byte)((Id6 >> 46) & 0xFF); private uint ViewportsCount => (byte)((Id6 >> 54) & 0xFF); - private uint ScissorsCount => (byte)((Id7 >> 0) & 0xFF); + private uint ScissorsCount => (byte)(Id7 & 0xFF); private uint ColorBlendAttachmentStateCount => (byte)((Id7 >> 8) & 0xFF); private bool HasDepthStencil => ((Id7 >> 63) & 0x1) != 0UL; diff --git a/src/Ryujinx.HLE/HOS/Kernel/Process/KHandleTable.cs b/src/Ryujinx.HLE/HOS/Kernel/Process/KHandleTable.cs index 50f04e90ca..6dd7e5b788 100644 --- a/src/Ryujinx.HLE/HOS/Kernel/Process/KHandleTable.cs +++ b/src/Ryujinx.HLE/HOS/Kernel/Process/KHandleTable.cs @@ -137,7 +137,7 @@ namespace Ryujinx.HLE.HOS.Kernel.Process public void CancelHandleReservation(int handle) { - int index = (handle >> 0) & 0x7fff; + int index = handle & 0x7fff; lock (_table) {