0
0
Fork 0
mirror of https://github.com/ryujinx-mirror/ryujinx.git synced 2024-12-27 05:05:45 +00:00
ryujinx-fork/Ryujinx.Graphics.Shader/Decoders
gdkchan d9d18439f6
Use a new approach for shader BRX targets (#2532)
* Use a new approach for shader BRX targets

* Make shader cache actually work

* Improve the shader pattern matching a bit

* Extend LDC search to predecessor blocks, catches more cases

* Nit

* Only save the amount of constant buffer data actually used. Avoids crashes on partially mapped buffers

* Ignore Rd on predicate instructions, as they do not have a Rd register (catches more cases)
2021-08-11 20:59:42 +02:00
..
AtomicOp.cs Implement ATOM shader instruction (#1687) 2020-11-10 01:06:46 +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 Use a new approach for shader BRX targets (#2532) 2021-08-11 20:59:42 +02: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 Use a new approach for shader BRX targets (#2532) 2021-08-11 20:59:42 +02: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 Salieri: shader cache (#1701) 2020-11-13 00:15:34 +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 Implement ATOM shader instruction (#1687) 2020-11-10 01:06:46 +01: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 Support conditional on BRK and SYNC shader instructions (#1878) 2021-01-08 22:55:55 -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 Support conditional on BRK and SYNC shader instructions (#1878) 2021-01-08 22:55:55 -03:00
OpCodeConditional.cs Fix remap when handle is 0 (#1882) 2021-01-10 10:11:31 +11: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 Support conditional on BRK and SYNC shader instructions (#1878) 2021-01-08 22:55:55 -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 Salieri: shader cache (#1701) 2020-11-13 00:15:34 +01: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 Fix shader LOP3 predicate write condition (#1910) 2021-01-14 01:07:50 +01: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 ATOM shader instruction (#1687) 2020-11-10 01:06:46 +01: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 Salieri: shader cache (#1701) 2020-11-13 00:15:34 +01:00
OpCodeTextureBase.cs Salieri: shader cache (#1701) 2020-11-13 00:15:34 +01:00
OpCodeTextureScalar.cs Salieri: shader cache (#1701) 2020-11-13 00:15:34 +01: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 Implement ATOM shader instruction (#1687) 2020-11-10 01:06:46 +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 Implement shader HelperThreadNV (#2163) 2021-04-02 21:50:35 +11: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