aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Graphics.Shader/Instructions
AgeCommit message (Collapse)Author
2021-01-28Support multiple destination operands on shader IR and shuffle predicates ↵gdkchan
(#1964) * Support multiple destination operands on shader IR and shuffle predicates * Cache version change
2021-01-14Fix shader LOP3 predicate write condition (#1910)gdkchan
* Fix LOP3 predicate write condition * Bump shader cache version
2021-01-13Implement shader CC mode for ISCADD, X mode for ISETP and fix STL/STS/STG ↵gdkchan
with RZ (#1901) * Implement shader CC mode for ISCADD, X mode for ISETP and fix STS/STG with RZ * Fix STG too and bump shader cache version * Fix wrong name * Fix Carry being inverted on comparison
2021-01-08Support conditional on BRK and SYNC shader instructions (#1878)gdkchan
* Support conditional on BRK and SYNC shader instructions * Add TODO comment and bump cache version
2020-11-13Salieri: shader cache (#1701)Mary
Here come Salieri, my implementation of a disk shader cache! "I'm sure you know why I named it that." "It doesn't really mean anything." This implementation collects shaders at runtime and cache them to be later compiled when starting a game.
2020-11-10Implement ATOM shader instruction (#1687)gdkchan
* Implement ATOM shader instruction * Fix reduction type decoding
2020-11-02Support res scale on images, correctly blacklist for SUST, move logic out of ↵riperiperi
backend. (#1657) * Support res scale on images, correctly blacklist for SUST, move logic out of backend. * Fix Typo
2020-10-25Implement CAL and RET shader instructions (#1618)gdkchan
* 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-25Fix shader image load/store array index register (#1637)gdkchan
* Fix shader image load/store array index register * Y should come before the array index
2020-10-12Implement LEA.HI shader instruction (#1609)gdkchan
2020-10-12Add support for shader constant buffer slot indexing (#1608)gdkchan
* Add support for shader constant buffer slot indexing * Fix typo
2020-09-29Convert 1D texture targets to 2D (#1584)gdkchan
* Convert 1D texture targets to 2D * Fix typo * Simplify some code * Should mask that too * Consistency
2020-09-01Fix PSL and MRG flags on XMAD cbuf-reg shader instruction (#1520)gdkchan
2020-07-30Refactor shader translator ShaderConfig and reduce the number of out args ↵gdkchan
(#1438)
2020-07-07Implement Zero-Configuration Resolution Scaling (#1365)riperiperi
* Initial implementation of Render Target Scaling Works with most games I have. No GUI option right now, it is hardcoded. Missing handling for texelFetch operation. * Realtime Configuration, refactoring. * texelFetch scaling on fragment shader (WIP) * Improve Shader-Side changes. * Fix potential crash when no color/depth bound * Workaround random uses of textures in compute. This was blacklisting textures in a few games despite causing no bugs. Will eventually add full support so this doesn't break anything. * Fix scales oscillating when changing between non-native scales. * Scaled textures on compute, cleanup, lazier uniform update. * Cleanup. * Fix stupidity * Address Thog Feedback. * Cover most of GDK's feedback (two comments remain) * Fix bad rename * Move IsDepthStencil to FormatExtensions, add docs. * Fix default config, square texture detection. * Three final fixes: - Nearest copy when texture is integer format. - Texture2D -> Texture3D copy correctly blacklists the texture before trying an unscaled copy (caused driver error) - Discount small textures. * Remove scale threshold. Not needed right now - we'll see if we run into problems. * All CPU modification blacklists scale. * Fix comment.
2020-07-04Implement shader LEA instruction and improve bindless image load/store (#1355)gdkchan
2020-05-27Support separate textures and samplers (#1216)gdkchan
* Support separate textures and samplers * Add missing bindless flag, fix SNORM format on buffer textures * Add missing separation * Add comments about the new handles
2020-05-27Omit image format if possible, and fix BA bit (#1280)gdkchan
* Omit image format if possible, and fix BA bit * Match extension name
2020-05-23Implement TMML and TMML.B (#1270)Thog
* Implement TMML and TMML.B This implement TMML and TMML.B instructions * Fix TmmlB declaration alignment * Address gdkchan's comments * Fix inverted encoding definitions
2020-05-06Refactor shader GPU state and memory access (#1203)gdkchan
* Refactor shader GPU state and memory access * Fix NVDEC project build * Address PR feedback and add missing XML comments
2020-04-25Fix mode and Reg08.H1 decoding on XMAD instruction (#1156)gdkchan
2020-04-25Implement texture buffers (#1152)gdkchan
* Implement texture buffers * Throw NotSupportedException where appropriate
2020-04-22Remove leftover of debugging code for shader texture format (#1141)gdkchan
2020-04-22Implement SULD shader instruction (#1117)gdkchan
* Implement SULD shader instruction * Some nits
2020-04-15Fix negation of HADD2 constant buffer source (#1116)gdkchan
2020-04-03Better IPA shader instruction implementation (#1082)gdkchan
* Fix varying interpolation on fragment shader * Some nits * Alignment
2020-03-30Implement FCMP shader instruction (#1067)gdkchan
2020-03-26Implement NOP and stub DEPBAR shader instructions (#1041)Elise
* Implement NOP and stub DEPBAR shader instruction * Fix a few issues and formatting stuff * Remove OpCodeNop/Depbar and use OpCode instead * Fix NOP shader instruction opcode * Fix formatting
2020-03-25Implement VMNMX shader instruction (#1032)gdkchan
* Implement VMNMX shader instruction * No need for the gap on the enum * Fix typo
2020-03-23Implement ICMP shader instruction (#1010)gdkchan
2020-03-06Fix branch with CC and predicate, and a case of SYNC propagation (#967)jduncanator
2020-03-03Initial support for double precision shader instructions. (#963)gdkchan
* Implement DADD, DFMA and DMUL shader instructions * Rename FP to FP32 * Correct double immediate * Classic mistake
2020-02-14Sign-extend shader memory instruction offsets (#934)gdkchan
2020-02-02Support flat interpolation qualifier on shaders (#915)gdkchan
2020-01-09Remove some unused args on the shader translatorgdkchan
2020-01-09Fix FADD32I check for Ra negationgdkchan
2020-01-09Address PR feedbackgdkchan
Add TODO comment for GL_EXT_polygon_offset_clamp
2020-01-09Address PR feedbackgdkchan
2020-01-09Support CC on FSET shader instruction, fix CC on ISET.BF shader instructiongdkchan
2020-01-09Partial support for shader memory barriersgdkchan
2020-01-09Remove some usings that are not neededgdkchan
2020-01-09Support bindless texture gather shader instructiongdkchan
2020-01-09Fix wrong maximum id on sampler pool in some casesgdkchan
2020-01-09Support shared color mask, implement more shader instructionsgdkchan
Support shared color masks (used by Nouveau and maybe the NVIDIA driver). Support draw buffers (also required by OpenGL). Support viewport transform disable (disabled for now as it breaks some games). Fix instanced rendering draw being ignored for multi draw. Fix IADD and IADD3 immediate shader encodings, that was not matching some ops. Implement FFMA32I shader instruction. Implement IMAD shader instruction.
2020-01-09Add a pass to turn global memory access into storage access, and do all ↵gdk
storage related transformations on IR
2020-01-09Partial support for branch with CC, and fix a edge case of branch out of ↵gdk
loop on shaders
2020-01-09Simplified F2I shader instruction codegengdk
2020-01-09Implement HSET2 shader instruction and fix errors uncovered by Rodrigo testsgdk
2020-01-09Add PSET shader instructiongdk
2020-01-09Add R2P shader instructiongdk