aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Graphics.Shader
AgeCommit message (Collapse)Author
2020-10-28Add scaling for Texture2DArray when using TexelFetch. (#1645)riperiperi
* Add scaling for Texture2DArray when using TexelFetch. * Should only really trigger for Texture2D. (do not emit texelfetch for TextureBufferArray(?) and Texture1DArray) * Address nit.
2020-10-28Avoid sampler conflicts on bindless samplers with the same name (#1642)gdkchan
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-21Get rid of Reflection.Emit dependency on CPU and Shader projects (#1626)gdkchan
* Get rid of Reflection.Emit dependency on CPU and Shader projects * Remove useless private sets * Missed those due to the alignment
2020-10-20Fix image binding format (#1625)gdkchan
* Fix image binding format * XML doc
2020-10-17Fix gl_in being used with built-in variables that are not per-vertex (#1624)gdkchan
2020-10-13Fix LOP3 (cbuf) shader instruction encoding (#1616)gdkchan
2020-10-13Fix output component register on pixel shaders (#1613)gdkchan
* Fix output component register on pixel shaders * Clean up usings * Do not advance if no component is enabled for the target, this keeps the previous behavior
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-10-03Improve BRX target detection heuristics (#1591)gdkchan
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-21Align register index between output targets on pixel shaders (#1559)gdkchan
2020-09-19Better viewport flipping and depth mode detection method (#1556)gdkchan
* Use a better viewport flipping approach * New approach to detect depth mode * nit: Sort method on the OpenGL backend * Adjust spacing on comment * Unswap near and far parameters based on ScaleZ
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-29Fix shader regression on Intel iGPUs by reverting layout changes (#1425)gdkchan
2020-07-26Implement BGRA texture support (#1418)gdkchan
* Implement BGRA texture support * Missing AppendLine * Remove empty lines * Address PR feedback
2020-07-15Initial transform feedback support (#1370)gdkchan
* Initial transform feedback support * Some nits and fixes * Update ReportCounterType and Write method * Can't change shader or TFB bindings while TFB is active * Fix geometry shader input names with new naming
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-28Fix wrong face culling once and for all (#1277)gdkchan
* Viewport swizzle support on NV and clip origin * Initialize default viewport swizzle state, emulate viewport swizzle on shaders when not supported * Address PR feedback
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-05-04Upgrade projects to C#8 (#1193)Ac_K
Some parts of our code needs C# 8 who isn't set as default in Visual Studio. To fix this we have to set the C# version correctly in the csproj files and then we are be able to build the project using Visual Studio.
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-22Update .NET Core to 3.1, and update NuGet Packages (#1121)Michael Kuklinski
* Updated all NuGet packages to latest, and updated the framework from .NET Core 3.0 to 3.1. * Updating appveyor settings for 3.1 Updating appveyor to use the netcoreapp3.1 path instead of 3.0. * Removing unneeded NuGet package System.Runtime.CompilerServices.Unsafe. * Removing unused NuGet package SharpFontCore. * Removing unused NuGet package TimeZoneConverter.Posix * Cleaning up by adding newline to a csproj. * Simplfying a NuGet conditional include, and adding a warning disable for an annoying NuGet package. * I'm not sure if .travis.yml is still used, but I'm updating its 'dotnet' version to the correct SDK. * Making the runtime version into its own environment variable so it's a bit easier to change in the future. * Removing OpenTK.NetStandard reference from Ryujinx.Common * Fixing indentation in Common.csproj * Updating the README to specify .NET Core 3.1. * Reverting the update of the GTKSharp package so it doesn't block the PR.
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-04-02Remove output interpolation qualifier (#1070)gdkchan
2020-03-30Implement FCMP shader instruction (#1067)gdkchan
2020-03-29Index constant buffer vec4s using ternary expressions. (#1015)riperiperi
* Index constant buffer vec4s using ternary expressions. * Remove indexed path. We determined that it had negligible impact. * Revert "Remove indexed path." This reverts commit 25ec4eddfa441e802bd957dfaabc83b23c6bae38. * Revert "Revert "Remove indexed path."" This reverts commit 7cd52fecb529dcb9e1a574533bd38531319f1268.
2020-03-29Move the OpActivator to OpCodeTable class for improve performance (#1001)Chenj168
* Move the OpActivator to OpCodeTable class, for reduce the use of ConcurrentDictionary * Modify code style.
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-23Implement textureQueryLevels (#1007)gdkchan
2020-03-15Improve shader sampler type selection (#989)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-14Update bindless to indexed conversion code pattern match (#938)gdkchan
* Update bindless to indexed conversion code pattern match * Correct index shift
2020-02-14Sign-extend shader memory instruction offsets (#934)gdkchan
2020-02-11Support compute uniform buffers emulated with global memory (#924)gdkchan
2020-02-02Use correct shader local memory size instead of a hardcoded size (#914)gdkchan
* Use correct shader local size instead of a hardcoded size * Remove unused uniform block * Update XML doc * Local memory size has 23 bits on maxwell * Generate compute QMD struct from nv open doc header * Remove dummy arrays when shared or local memory is not used, other improvements