aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Graphics.Shader/Instructions/InstEmitTexture.cs
AgeCommit message (Collapse)Author
2023-04-27Move solution and projects to srcTSR Berry
2022-12-29Use vector outputs for texture operations (#3939)gdkchan
* Change AggregateType to include vector type counts * Replace VariableType uses with AggregateType and delete VariableType * Support new local vector types on SPIR-V and GLSL * Start using vector outputs for texture operations * Use vectors on more texture operations * Use vector output for ImageLoad operations * Replace all uses of single destination texture constructors with multi destination ones * Update textureGatherOffsets replacement to split vector operations * Shader cache version bump Co-authored-by: Ac_K <Acoustik666@gmail.com>
2022-09-13Fix bindless 1D textures having a buffer type on the shader (#3697)gdkchan
* Fix bindless 1D textures having a buffer type on the shader * Shader cache version bump
2021-12-08Fix SUATOM and other texture shader instructions with RZ dest (#2885)gdkchan
* Fix SUATOM and other texture shader instructions with RZ dest * Shader cache version bump
2021-11-14Fix shader integer from/to double conversion (#2831)gdkchan
2021-10-12Rewrite shader decoding stage (#2698)gdkchan
* Rewrite shader decoding stage * Fix P2R constant buffer encoding * Fix PSET/PSETP * PR feedback * Log unimplemented shader instructions * Implement NOP * Remove using * PR feedback
2021-09-02Fix TXQ for 3D textures. (#2613)riperiperi
* Fix TXQ for 3D textures. Assumes the texture is 3D if the component mask contains Z. This fixes a bug in UE4 games where parts of the map had garbage pointers to lighting voxels, as the lookup 3D texture was not being initialized. Most notable game is THPS1+2. May need another PR to keep image store data alive and properly flush it in order using the AutoDeleteCache. * Get sampler type for TextureSize from bound textures.
2021-08-31Implement Shader Instructions SUATOM and SURED (#2090)riperiperi
* Initial Implementation * Further improvements (no support for float/64-bit types) * Merge atomic and reduce instructions, add missing format switch * Fix rebase issues. * Not used. * Whoops. Fixed. * Partial implementation of inc/dec, cleanup and TODOs * Remove testing path * Address Feedback
2021-07-09Unscale textureSize when resolution scaling is used (#2441)gdkchan
* Unscale textureSize when resolution scaling is used * Fix textureSize on compute * Flag texture size as needing res scale values too
2021-06-23Fix shader texture LOD query (#2397)gdkchan
2021-05-19Move shader resource descriptor creation out of the backend (#2290)gdkchan
* Move shader resource descriptor creation out of the backend * Remove now unused code, and other nits * Shader cache version bump * Nits * Set format for bindless image load/store * Fix buffer write flag
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-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-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-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-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-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-01-09Address PR feedbackgdkchan
2020-01-09Support bindless texture gather shader instructiongdkchan
2020-01-09Make the shader translator more error resilient (part 2)gdk
2020-01-09Make the shader translator more error resilientgdk
2020-01-09Implement BFI, BRK, FLO, FSWZADD, PBK, SHFL and TXD shader instructions, ↵gdk
misc. fixes
2020-01-09Initial support for image stores, support texture sample on computegdk
2020-01-09Initial workgdk