Commit Graph
100 Commits
Author SHA1 Message Date
gdkchanandjduncanator b8e3909d80 Add a GetSpan method to the memory manager and use it on GPU (#877) 2020-01-13 10:27:50 +11:00
gdkchanandjduncanator 8b90924c1e Support instanced draw of quads" (#881) 2020-01-13 09:14:50 +11:00
gdkchanandjduncanator 2bb39ff03e Replace glFinish with barrier for WaitForIdle (#878) 2020-01-13 09:12:40 +11:00
gdkchanandThog 80707f9311 Add runtime identifiers to new projects 2020-01-09 02:13:00 +01:00
gdkchanandThog 29a825b43b Address PR feedback
Removes a useless null check

Aligns some values to improve readability
2020-01-09 02:13:00 +01:00
gdkchanandThog 912e43e979 Remove some unused args on the shader translator 2020-01-09 02:13:00 +01:00
gdkchanandThog 6407729a1d Fix FADD32I check for Ra negation 2020-01-09 02:13:00 +01:00
gdkchanandThog e3c919f086 Remove FFMPEG dependency from README 2020-01-09 02:13:00 +01:00
gdkchanandThog 18814d44b2 Address PR feedback
Add TODO comment for GL_EXT_polygon_offset_clamp
2020-01-09 02:13:00 +01:00
gdkchanandThog 383452f5cf Fix some shader disposal issues 2020-01-09 02:13:00 +01:00
gdkchanandThog a11f6f5235 Fix some spelling mistakes
Thanks to LDj3SNuD for spotting these
2020-01-09 02:13:00 +01:00
gdkchanandThog 23d8516763 Fix ShaderTools 2020-01-09 02:13:00 +01:00
gdkchanandThog 92703af555 Address PR feedback 2020-01-09 02:13:00 +01:00
gdkchanandThog 40ef18d759 Target .NET Core 3.0 for NVDEC project 2020-01-09 02:13:00 +01:00
gdkchanandThog 0dbfe3c23e Re-add NVDEC project (not integrated) 2020-01-09 02:13:00 +01:00
gdkchanandThog 6e092c0558 More code cleanup 2020-01-09 02:13:00 +01:00
gdkchanandThog 9bfb373bdf Remove more unused code 2020-01-09 02:13:00 +01:00
gdkchanandThog 59fdaa744b GPU resource disposal 2020-01-09 02:13:00 +01:00
gdkchanandThog f7bcc884e4 Add XML documentation to Ryujinx.Graphics.Gpu 2020-01-09 02:13:00 +01:00
gdkchanandThog 4a4e2f7c72 Add XML documentation to Ryujinx.Graphics.Gpu.Engine 2020-01-09 02:13:00 +01:00
gdkchanandThog d1c0a64e6a Add XML documentation to Ryujinx.Graphics.Gpu.State 2020-01-09 02:13:00 +01:00
gdkchanandThog 430faeb8ef Add XML documentation to Ryujinx.Graphics.Gpu.Shader 2020-01-09 02:13:00 +01:00
gdkchanandThog e58b540c4e Add XML documentation to Ryujinx.Graphics.Gpu.Memory 2020-01-09 02:13:00 +01:00
gdkchanandThog 80ff2eab29 Change GPU errors to debug and reduce log messages 2020-01-09 02:13:00 +01:00
gdkchanandThog bacb278dc1 Fix typos pointed out by LDj3SNuD 2020-01-09 02:13:00 +01:00
gdkchanandThog c5b9088914 Remove some error logging to avoid log spam 2020-01-09 02:13:00 +01:00
gdkchanandThog ffaad0eaac Fix missing S8 format on texture compatibility check 2020-01-09 02:13:00 +01:00
gdkchanandThog 32764f9560 Add XML documentation to Ryujinx.Graphics.Gpu.Image 2020-01-09 02:13:00 +01:00
gdkchanandThog 53bbc1311f Fix AstcDecoder Success property never being set to true 2020-01-09 02:13:00 +01:00
gdkchanandThog 654e617fe7 Some code cleanup 2020-01-09 02:13:00 +01:00
gdkchanandThog af8498d679 Add basic error logging to the GPU 2020-01-09 02:13:00 +01:00
gdkchanandThog 947e14d3be Reimplement limited bindless textures support 2020-01-09 02:13:00 +01:00
gdkchanandThog 647d0962df Initialize GPU physical memory accessor from KProcess, to allow homebrew that never maps anything on the GPU to work 2020-01-09 02:13:00 +01:00
gdkchanandThog 6cf9a04d98 Stop memory modification check when a invalid address is found 2020-01-09 02:13:00 +01:00
gdkchanandThog a718b60d06 Fix exception on shader translator when adding goto temp variable 2020-01-09 02:13:00 +01:00
gdkchanandThog 82957fa96b Support CC on FSET shader instruction, fix CC on ISET.BF shader instruction 2020-01-09 02:13:00 +01:00
gdkchanandThog 9d7a142a48 Support texture rectangle targets (non-normalized coords) 2020-01-09 02:13:00 +01:00
gdkchanandThog 2eccc7023a Partial support for shader memory barriers 2020-01-09 02:13:00 +01:00
gdkchanandThog 1a550e810c Copy 16 bytes at a time for layout conversion, if possible 2020-01-09 02:13:00 +01:00
gdkchanandThog cfe5fec0cf Remove some usings that are not needed 2020-01-09 02:13:00 +01:00
gdkchanandThog 171c3d54c6 Correct non-constant offset rewrite for texelFetch 2020-01-09 02:13:00 +01:00
gdkchanandThog f2c85c5d58 Support non-constant texture offsets on non-NVIDIA gpus 2020-01-09 02:13:00 +01:00
gdkchanandThog 3323a3a042 Use correct shared memory size (in words, not bytes) 2020-01-09 02:13:00 +01:00
gdkchanandThog ad3bc2531b Ensure a valid shared memory size is used 2020-01-09 02:13:00 +01:00
gdkchanandThog 66d91cbc6c Use dispatch params shared memory size when available 2020-01-09 02:13:00 +01:00
gdkchanandThog 0d9672f3ae Use maximum shared memory size supported by hardware 2020-01-09 02:13:00 +01:00
gdkchanandThog 375ee0ba96 Fix draw indexed flag not being cleared for instanced draws, also avoid state updates in the middle of a indexed draw 2020-01-09 02:13:00 +01:00
gdkchanandThog 23b8a86d35 Support 3D ASTC textures (using 2D blocks) 2020-01-09 02:13:00 +01:00
gdkchanandThog 6b13c5b439 Support bindless texture gather shader instruction 2020-01-09 02:13:00 +01:00
gdkchanandThog 7ce5584f9e Support depth clip mode and disable shader fast math optimization on NVIDIA as a workaround for compiler bugs (?) 2020-01-09 02:13:00 +01:00
gdkchanandThog 17fb11ddb9 Fix wrong maximum id on sampler pool in some cases 2020-01-09 02:13:00 +01:00
gdkchanandThog cb171f6ebf Support shared color mask, implement more shader instructions
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-09 02:13:00 +01:00
gdkchanandThog e25b7c9848 Initial support for the guest OpenGL driver (NVIDIA and Nouveau) 2020-01-09 02:13:00 +01:00
gdkandThog 6a98c643ca 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
gdkandThog 396768f3b4 Fix texture 0 not being bound for compute 2020-01-09 02:13:00 +01:00
gdkandThog 442485adb3 Partial support for branch with CC, and fix a edge case of branch out of loop on shaders 2020-01-09 02:13:00 +01:00
gdkandThog 99f236fcf0 Simplified F2I shader instruction codegen 2020-01-09 02:13:00 +01:00
gdkandThog b8528c6317 Implement HSET2 shader instruction and fix errors uncovered by Rodrigo tests 2020-01-09 02:13:00 +01:00
gdkandThog 65428f5842 Fix shader code comparison method 2020-01-09 02:13:00 +01:00
gdkandThog d0c7732fe2 Optimize RangeList by not doing an allocation on every call to the Find methods 2020-01-09 02:13:00 +01:00
gdkandThog e0c95b18eb Add PSET shader instruction 2020-01-09 02:13:00 +01:00
gdkandThog 73e68edd09 Revert "Simplify shader uniform buffer access codegen"
This reverts commit 2fe9ebaf118d690be8d0cb302529dd359d7c402b.
2020-01-09 02:13:00 +01:00
gdkandThog 1df78e7ad6 Simplify shader uniform buffer access codegen 2020-01-09 02:13:00 +01:00
gdkandThog 16d88c21fc Improved and simplified window texture presentation 2020-01-09 02:13:00 +01:00
gdkandThog b2b2e04669 Small optimizations on texture and sampler pool invalidation 2020-01-09 02:13:00 +01:00
gdkandThog 3ac023bb60 Correct ordering of compute buffer bind 2020-01-09 02:13:00 +01:00
gdkandThog 79de8fd490 Share texture pool cache between graphics and compute 2020-01-09 02:13:00 +01:00
gdkandThog 2437ccca0e Separate sub-channel state 2020-01-09 02:13:00 +01:00
gdkandThog 3ca675223a Remove TranslatorConfig struct 2020-01-09 02:13:00 +01:00
gdkandThog 6a8ba6d600 Add R2P shader instruction 2020-01-09 02:13:00 +01:00
gdkandThog 8eb773d81f Make the shader translator more error resilient (part 2) 2020-01-09 02:13:00 +01:00
gdkandThog 04102e5c9d Make the shader translator more error resilient 2020-01-09 02:13:00 +01:00
gdkandThog eea73bc421 Add missing check for BRX, do not add a out of bounds block to the queue 2020-01-09 02:13:00 +01:00
gdkandThog 6e399061ce Invalidate shaders when they are modified 2020-01-09 02:13:00 +01:00
gdkandThog f0a59f345c Add partial support for the BRX shader instruction 2020-01-09 02:13:00 +01:00
gdkandThog d274328c31 Fix image units bindings and shader dump in the presence of NOPs 2020-01-09 02:13:00 +01:00
gdkandThog d620aa7d1b Revert "Check for ASTC support on the list of supported compressed formats"
This reverts commit 38a993510f64346649529b8fd2af6683bef05aa6.
2020-01-09 02:13:00 +01:00
gdkandThog cd47600e57 Check for ASTC support on the list of supported compressed formats 2020-01-09 02:13:00 +01:00
gdkandThog f6e96551bf Fix regression on load/store local (wrong type) 2020-01-09 02:13:00 +01:00
gdkandThog fd196b3d19 Do not throw for invalid ASTC compressed textures 2020-01-09 02:13:00 +01:00
gdkandThog 769c02235f 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
gdkandThog 1e8bc29f32 Use a more efficient range list on the buffer manager 2020-01-09 02:13:00 +01:00
gdkandThog a31fced221 Remove some unused constants and other code 2020-01-09 02:13:00 +01:00
gdkandThog 3ab5c23f49 Add partial support for array of samplers, and add pass to identify them from bindless texture accesses 2020-01-09 02:13:00 +01:00
gdkandThog 63345a3098 Support window resizing 2020-01-09 02:13:00 +01:00
gdkandThog 278a4c317c Implement BFI, BRK, FLO, FSWZADD, PBK, SHFL and TXD shader instructions, misc. fixes 2020-01-09 02:13:00 +01:00
gdkandThog d786d8d2b9 Support copy of slices to 3D textures, remove old 3D render target layered render support, do not delete textures with existing views created from them 2020-01-09 02:13:00 +01:00
gdkandThog 3bcc395253 Add shader support for the round mode on the F2F instruction, support mipmaps on ASTC compressed textures 2020-01-09 02:13:00 +01:00
gdkandThog d3fcab8511 Fix shader FMUL32I instruction saturation 2020-01-09 02:13:00 +01:00
gdkandThog f2e84ff566 Flush buffers on copies 2020-01-09 02:13:00 +01:00
gdkandThog 8cba252b23 Add per-source type memory change tracking, simplified state change tracking, other fixes 2020-01-09 02:13:00 +01:00
gdkandThog 1b7d955195 Initial support for image stores, support texture sample on compute 2020-01-09 02:13:00 +01:00
gdkandThog 717ace6f6e Fix incorrect saturation on HADD2 and HMUL2 shader instructions 2020-01-09 02:13:00 +01:00
gdkandThog 873bb4c15a Fix BC6 Signed/Unsigned float texture formats 2020-01-09 02:13:00 +01:00
gdkandThog f90ee9b707 Handle quad and quad strip primitive types using triangle fans 2020-01-09 02:13:00 +01:00
gdkandThog cdeeac163f Improved Min/Mip -> MinFilter enum conversion 2020-01-09 02:13:00 +01:00
gdkandThog 1bb08742c1 Calculate width from stride on texture copies 2020-01-09 02:13:00 +01:00
gdkandThog 1876b346fe Initial work 2020-01-09 02:13:00 +01:00
gdkchanandAc_K 87bfe681ef Fix remap ioctl map offset (#852)
* Fix remap ioctl map offset

* Correct offset type
2019-12-25 02:54:26 +01:00
gdkchanandGitHub e5858e2c7d Add a limit for the number of instructions in a function (#843) 2019-12-14 18:18:51 -03:00