Ryujinx/Ryujinx.Graphics.Shader/Decoders
gdkchan 49f970d5bd
Implement CAL and RET shader instructions (#1618)
* Add support for CAL and RET shader instructions

* Remove unused stuff

* Fix a bug that could cause the wrong values to be passed to a function

* Avoid repopulating function id dictionary every time

* PR feedback

* Fix vertex shader A/B merge
2020-10-25 17:00:44 -03:00
..
AtomicOp.cs Add ATOMS, LDS, POPC, RED, STS and VOTE shader instructions, start changing the way how global memory is handled 2020-01-09 02:13:00 +01:00
BarrierLevel.cs Address PR feedback 2020-01-09 02:13:00 +01:00
BarrierMode.cs Partial support for shader memory barriers 2020-01-09 02:13:00 +01:00
BitfieldExtensions.cs Implement shader LEA instruction and improve bindless image load/store (#1355) 2020-07-04 01:48:44 +02:00
Block.cs Address PR feedback 2020-01-09 02:13:00 +01:00
CbIndexMode.cs Add support for shader constant buffer slot indexing (#1608) 2020-10-12 21:40:50 -03:00
Condition.cs Initial work 2020-01-09 02:13:00 +01:00
ConditionalOperation.cs Initial work 2020-01-09 02:13:00 +01:00
Decoder.cs Implement CAL and RET shader instructions (#1618) 2020-10-25 17:00:44 -03:00
DecoderHelper.cs Initial support for double precision shader instructions. (#963) 2020-03-03 15:02:08 +01:00
FPHalfSwizzle.cs Initial work 2020-01-09 02:13:00 +01:00
FPMultiplyScale.cs Add partial support for the BRX shader instruction 2020-01-09 02:13:00 +01:00
FPType.cs Initial support for double precision shader instructions. (#963) 2020-03-03 15:02:08 +01:00
ImageComponents.cs Add per-source type memory change tracking, simplified state change tracking, other fixes 2020-01-09 02:13:00 +01:00
ImageDimensions.cs Initial support for image stores, support texture sample on compute 2020-01-09 02:13:00 +01:00
IntegerCondition.cs Initial work 2020-01-09 02:13:00 +01:00
IntegerHalfPart.cs Initial work 2020-01-09 02:13:00 +01:00
IntegerShift.cs Initial work 2020-01-09 02:13:00 +01:00
IntegerSize.cs Add a pass to turn global memory access into storage access, and do all storage related transformations on IR 2020-01-09 02:13:00 +01:00
IntegerType.cs Initial work 2020-01-09 02:13:00 +01:00
InterpolationMode.cs Initial work 2020-01-09 02:13:00 +01:00
IOpCode.cs Initial work 2020-01-09 02:13:00 +01:00
IOpCodeAlu.cs Add ATOMS, LDS, POPC, RED, STS and VOTE shader instructions, start changing the way how global memory is handled 2020-01-09 02:13:00 +01:00
IOpCodeCbuf.cs Initial work 2020-01-09 02:13:00 +01:00
IOpCodeFArith.cs Add partial support for the BRX shader instruction 2020-01-09 02:13:00 +01:00
IOpCodeHfma.cs Initial work 2020-01-09 02:13:00 +01:00
IOpCodeImm.cs Initial work 2020-01-09 02:13:00 +01:00
IOpCodeImmF.cs Initial work 2020-01-09 02:13:00 +01:00
IOpCodeLop.cs Initial work 2020-01-09 02:13:00 +01:00
IOpCodePredicate39.cs Add ATOMS, LDS, POPC, RED, STS and VOTE shader instructions, start changing the way how global memory is handled 2020-01-09 02:13:00 +01:00
IOpCodeRa.cs Initial work 2020-01-09 02:13:00 +01:00
IOpCodeRc.cs Initial work 2020-01-09 02:13:00 +01:00
IOpCodeRd.cs Initial work 2020-01-09 02:13:00 +01:00
IOpCodeReg.cs Initial work 2020-01-09 02:13:00 +01:00
IOpCodeRegCbuf.cs Initial work 2020-01-09 02:13:00 +01:00
IOpCodeTexture.cs Support bindless texture gather shader instruction 2020-01-09 02:13:00 +01:00
IOpCodeTld4.cs Support bindless texture gather shader instruction 2020-01-09 02:13:00 +01:00
LogicalOperation.cs Initial work 2020-01-09 02:13:00 +01:00
MufuOperation.cs Initial work 2020-01-09 02:13:00 +01:00
OpCode.cs Get rid of Reflection.Emit dependency on CPU and Shader projects (#1626) 2020-10-21 09:13:44 -03:00
OpCodeAlu.cs Get rid of Reflection.Emit dependency on CPU and Shader projects (#1626) 2020-10-21 09:13:44 -03:00
OpCodeAluCbuf.cs Get rid of Reflection.Emit dependency on CPU and Shader projects (#1626) 2020-10-21 09:13:44 -03:00
OpCodeAluImm.cs Get rid of Reflection.Emit dependency on CPU and Shader projects (#1626) 2020-10-21 09:13:44 -03:00
OpCodeAluImm2x10.cs Get rid of Reflection.Emit dependency on CPU and Shader projects (#1626) 2020-10-21 09:13:44 -03:00
OpCodeAluImm32.cs Get rid of Reflection.Emit dependency on CPU and Shader projects (#1626) 2020-10-21 09:13:44 -03:00
OpCodeAluReg.cs Get rid of Reflection.Emit dependency on CPU and Shader projects (#1626) 2020-10-21 09:13:44 -03:00
OpCodeAluRegCbuf.cs Get rid of Reflection.Emit dependency on CPU and Shader projects (#1626) 2020-10-21 09:13:44 -03:00
OpCodeAtom.cs Get rid of Reflection.Emit dependency on CPU and Shader projects (#1626) 2020-10-21 09:13:44 -03:00
OpCodeAttribute.cs Get rid of Reflection.Emit dependency on CPU and Shader projects (#1626) 2020-10-21 09:13:44 -03:00
OpCodeBarrier.cs Get rid of Reflection.Emit dependency on CPU and Shader projects (#1626) 2020-10-21 09:13:44 -03:00
OpCodeBranch.cs Get rid of Reflection.Emit dependency on CPU and Shader projects (#1626) 2020-10-21 09:13:44 -03:00
OpCodeBranchIndir.cs Get rid of Reflection.Emit dependency on CPU and Shader projects (#1626) 2020-10-21 09:13:44 -03:00
OpCodeBranchPop.cs Get rid of Reflection.Emit dependency on CPU and Shader projects (#1626) 2020-10-21 09:13:44 -03:00
OpCodeDArithImm.cs Get rid of Reflection.Emit dependency on CPU and Shader projects (#1626) 2020-10-21 09:13:44 -03:00
OpCodeExit.cs Get rid of Reflection.Emit dependency on CPU and Shader projects (#1626) 2020-10-21 09:13:44 -03:00
OpCodeFArith.cs Get rid of Reflection.Emit dependency on CPU and Shader projects (#1626) 2020-10-21 09:13:44 -03:00
OpCodeFArithCbuf.cs Get rid of Reflection.Emit dependency on CPU and Shader projects (#1626) 2020-10-21 09:13:44 -03:00
OpCodeFArithImm.cs Get rid of Reflection.Emit dependency on CPU and Shader projects (#1626) 2020-10-21 09:13:44 -03:00
OpCodeFArithImm32.cs Get rid of Reflection.Emit dependency on CPU and Shader projects (#1626) 2020-10-21 09:13:44 -03:00
OpCodeFArithReg.cs Get rid of Reflection.Emit dependency on CPU and Shader projects (#1626) 2020-10-21 09:13:44 -03:00
OpCodeFArithRegCbuf.cs Get rid of Reflection.Emit dependency on CPU and Shader projects (#1626) 2020-10-21 09:13:44 -03:00
OpCodeFsetImm.cs Get rid of Reflection.Emit dependency on CPU and Shader projects (#1626) 2020-10-21 09:13:44 -03:00
OpCodeHfma.cs Get rid of Reflection.Emit dependency on CPU and Shader projects (#1626) 2020-10-21 09:13:44 -03:00
OpCodeHfmaCbuf.cs Get rid of Reflection.Emit dependency on CPU and Shader projects (#1626) 2020-10-21 09:13:44 -03:00
OpCodeHfmaImm2x10.cs Get rid of Reflection.Emit dependency on CPU and Shader projects (#1626) 2020-10-21 09:13:44 -03:00
OpCodeHfmaImm32.cs Get rid of Reflection.Emit dependency on CPU and Shader projects (#1626) 2020-10-21 09:13:44 -03:00
OpCodeHfmaReg.cs Get rid of Reflection.Emit dependency on CPU and Shader projects (#1626) 2020-10-21 09:13:44 -03:00
OpCodeHfmaRegCbuf.cs Get rid of Reflection.Emit dependency on CPU and Shader projects (#1626) 2020-10-21 09:13:44 -03:00
OpCodeHsetImm2x10.cs Get rid of Reflection.Emit dependency on CPU and Shader projects (#1626) 2020-10-21 09:13:44 -03:00
OpCodeImage.cs Get rid of Reflection.Emit dependency on CPU and Shader projects (#1626) 2020-10-21 09:13:44 -03:00
OpCodeIpa.cs Get rid of Reflection.Emit dependency on CPU and Shader projects (#1626) 2020-10-21 09:13:44 -03:00
OpCodeLdc.cs Get rid of Reflection.Emit dependency on CPU and Shader projects (#1626) 2020-10-21 09:13:44 -03:00
OpCodeLop.cs Get rid of Reflection.Emit dependency on CPU and Shader projects (#1626) 2020-10-21 09:13:44 -03:00
OpCodeLopCbuf.cs Get rid of Reflection.Emit dependency on CPU and Shader projects (#1626) 2020-10-21 09:13:44 -03:00
OpCodeLopImm.cs Get rid of Reflection.Emit dependency on CPU and Shader projects (#1626) 2020-10-21 09:13:44 -03:00
OpCodeLopImm32.cs Get rid of Reflection.Emit dependency on CPU and Shader projects (#1626) 2020-10-21 09:13:44 -03:00
OpCodeLopReg.cs Get rid of Reflection.Emit dependency on CPU and Shader projects (#1626) 2020-10-21 09:13:44 -03:00
OpCodeMemory.cs Get rid of Reflection.Emit dependency on CPU and Shader projects (#1626) 2020-10-21 09:13:44 -03:00
OpCodeMemoryBarrier.cs Get rid of Reflection.Emit dependency on CPU and Shader projects (#1626) 2020-10-21 09:13:44 -03:00
OpCodePset.cs Get rid of Reflection.Emit dependency on CPU and Shader projects (#1626) 2020-10-21 09:13:44 -03:00
OpCodePush.cs Get rid of Reflection.Emit dependency on CPU and Shader projects (#1626) 2020-10-21 09:13:44 -03:00
OpCodeRed.cs Get rid of Reflection.Emit dependency on CPU and Shader projects (#1626) 2020-10-21 09:13:44 -03:00
OpCodeSet.cs Get rid of Reflection.Emit dependency on CPU and Shader projects (#1626) 2020-10-21 09:13:44 -03:00
OpCodeSetCbuf.cs Get rid of Reflection.Emit dependency on CPU and Shader projects (#1626) 2020-10-21 09:13:44 -03:00
OpCodeSetImm.cs Get rid of Reflection.Emit dependency on CPU and Shader projects (#1626) 2020-10-21 09:13:44 -03:00
OpCodeSetReg.cs Get rid of Reflection.Emit dependency on CPU and Shader projects (#1626) 2020-10-21 09:13:44 -03:00
OpCodeShuffle.cs Get rid of Reflection.Emit dependency on CPU and Shader projects (#1626) 2020-10-21 09:13:44 -03:00
OpCodeTable.cs Implement CAL and RET shader instructions (#1618) 2020-10-25 17:00:44 -03:00
OpCodeTex.cs Get rid of Reflection.Emit dependency on CPU and Shader projects (#1626) 2020-10-21 09:13:44 -03:00
OpCodeTexB.cs Get rid of Reflection.Emit dependency on CPU and Shader projects (#1626) 2020-10-21 09:13:44 -03:00
OpCodeTexs.cs Get rid of Reflection.Emit dependency on CPU and Shader projects (#1626) 2020-10-21 09:13:44 -03:00
OpCodeTexture.cs Get rid of Reflection.Emit dependency on CPU and Shader projects (#1626) 2020-10-21 09:13:44 -03:00
OpCodeTextureScalar.cs Get rid of Reflection.Emit dependency on CPU and Shader projects (#1626) 2020-10-21 09:13:44 -03:00
OpCodeTld.cs Get rid of Reflection.Emit dependency on CPU and Shader projects (#1626) 2020-10-21 09:13:44 -03:00
OpCodeTld4.cs Get rid of Reflection.Emit dependency on CPU and Shader projects (#1626) 2020-10-21 09:13:44 -03:00
OpCodeTld4B.cs Get rid of Reflection.Emit dependency on CPU and Shader projects (#1626) 2020-10-21 09:13:44 -03:00
OpCodeTld4s.cs Get rid of Reflection.Emit dependency on CPU and Shader projects (#1626) 2020-10-21 09:13:44 -03:00
OpCodeTlds.cs Get rid of Reflection.Emit dependency on CPU and Shader projects (#1626) 2020-10-21 09:13:44 -03:00
OpCodeTxd.cs Get rid of Reflection.Emit dependency on CPU and Shader projects (#1626) 2020-10-21 09:13:44 -03:00
OpCodeVideo.cs Get rid of Reflection.Emit dependency on CPU and Shader projects (#1626) 2020-10-21 09:13:44 -03:00
OpCodeVote.cs Get rid of Reflection.Emit dependency on CPU and Shader projects (#1626) 2020-10-21 09:13:44 -03:00
ReductionType.cs Add ATOMS, LDS, POPC, RED, STS and VOTE shader instructions, start changing the way how global memory is handled 2020-01-09 02:13:00 +01:00
Register.cs Initial work 2020-01-09 02:13:00 +01:00
RegisterConsts.cs Initial work 2020-01-09 02:13:00 +01:00
RegisterType.cs Initial work 2020-01-09 02:13:00 +01:00
RoundingMode.cs Initial work 2020-01-09 02:13:00 +01:00
ShuffleType.cs Implement BFI, BRK, FLO, FSWZADD, PBK, SHFL and TXD shader instructions, misc. fixes 2020-01-09 02:13:00 +01:00
SystemRegister.cs Add ATOMS, LDS, POPC, RED, STS and VOTE shader instructions, start changing the way how global memory is handled 2020-01-09 02:13:00 +01:00
TexelLoadTarget.cs Initial support for image stores, support texture sample on compute 2020-01-09 02:13:00 +01:00
TextureDimensions.cs Initial work 2020-01-09 02:13:00 +01:00
TextureGatherOffset.cs Initial work 2020-01-09 02:13:00 +01:00
TextureLodMode.cs Initial work 2020-01-09 02:13:00 +01:00
TextureProperty.cs Initial work 2020-01-09 02:13:00 +01:00
TextureTarget.cs Initial work 2020-01-09 02:13:00 +01:00
VideoPostOp.cs Implement VMNMX shader instruction (#1032) 2020-03-25 15:49:10 +01:00
VideoType.cs Implement VMNMX shader instruction (#1032) 2020-03-25 15:49:10 +01:00
VoteOp.cs Add ATOMS, LDS, POPC, RED, STS and VOTE shader instructions, start changing the way how global memory is handled 2020-01-09 02:13:00 +01:00
XmadCMode.cs Initial work 2020-01-09 02:13:00 +01:00