aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Graphics.Shader/CodeGen/Glsl/Instructions/InstGen.cs
AgeCommit message (Collapse)Author
2023-04-27Move solution and projects to srcTSR Berry
2023-04-25Refactor attribute handling on the shader generator (#4565)gdkchan
* Refactor attribute handling on the shader generator * Implement gl_ViewportMask[] * Add back the Intel FrontFacing bug workaround * Fix GLSL transform feedback outputs mistmatch with fragment stage * Shader cache version bump * Fix geometry shader recognition * PR feedback * Delete GetOperandDef and GetOperandUse * Remove replacements that are no longer needed on GLSL compilation on Vulkan * Fix incorrect load for per-patch outputs * Fix build
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-11-12Use vector transform feedback outputs if possible (#3832)gdkchan
2021-12-08Implement remaining shader double-precision instructions (#2845)gdkchan
* Implement remaining shader double-precision instructions * Shader cache version bump
2021-10-28Add support for fragment shader interlock (#2768)gdkchan
* Support coherent images * Add support for fragment shader interlock * Change to tree based match approach * Refactor + check for branch targets and external registers * Make detection more robust * Use Intel fragment shader ordering if interlock is not available, use nothing if both are not available * Remove unused field
2021-10-18Fix shader 8-bit and 16-bit STS/STG (#2741)gdkchan
* Fix 8 and 16-bit STG * Fix 8 and 16-bit STS * Shader cache version bump
2021-10-18Another workaround for NVIDIA driver 496.13 shader bug (#2750)riperiperi
* Another workaround for NVIDIA driver 496.13 shader bug This might work better than the other one. Give this a test to see if it fixes/doesn't fix issues with the other one. The problem seems to be when any variable assignment happens with a negation. `temp_1 = -temp_0;` seems to trigger weird behaviour, but `temp_1 = 0.0 - temp_0;` does not. This also might to extend towards integer types? * Update cache version * Add disclaimer comment * Wording
2021-09-19Use shader subgroup extensions if shader ballot is not supported (#2627)gdkchan
* Use shader subgroup extensions if shader ballot is not supported * Shader cache version bump + cleanup * The type is still required on the table
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-08-27Initial support for shader attribute indexing (#2546)gdkchan
* Initial support for shader attribute indexing * Support output indexing too, other improvements * Fix order * Address feedback
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
2021-05-01Fix shader buffer write flag on atomic instructions (#2261)gdkchan
* Fix shader buffer write flag on atomic instructions * Shader cache version bump
2021-01-27Fix regression on shader atomic SSBO operations (#1967)gdkchan
* Fix regression on shader atomic SSBO operations * Update comment
2021-01-26Add support for shader atomic min/max (S32) (#1948)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-12Add support for shader constant buffer slot indexing (#1608)gdkchan
* Add support for shader constant buffer slot indexing * Fix typo
2020-07-29Fix shader regression on Intel iGPUs by reverting layout changes (#1425)gdkchan
2020-04-22Implement SULD shader instruction (#1117)gdkchan
* Implement SULD shader instruction * Some nits
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-01-09Support non-constant texture offsets on non-NVIDIA gpusgdkchan
2020-01-09Add a pass to turn global memory access into storage access, and do all ↵gdk
storage related transformations on IR
2020-01-09Add ATOMS, LDS, POPC, RED, STS and VOTE shader instructions, start changing ↵gdk
the way how global memory is handled
2020-01-09Initial support for image stores, support texture sample on computegdk
2020-01-09Initial workgdk