aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Graphics.Gpu/Engine
AgeCommit message (Collapse)Author
2020-05-04Implement user-defined clipping on GL state pipeline (#1118)mageven
2020-04-30Fix depth clamp enable bit, unit scale for polygon offset. (#1178)riperiperi
Verified with deko3d and opengl driver code.
2020-04-25Implement texture buffers (#1152)gdkchan
* Implement texture buffers * Throw NotSupportedException where appropriate
2020-04-25Implement Constant Color blends (#1119)mageven
* Implement Constant Color blends and init blend states * Address gdkchan's comments Also adds Set methods to GpuState * Fix descriptions of QueryModified
2020-04-22Initial conditional rendering support (#1012)gdkchan
* Initial conditional rendering support * Properly reset state * Support conditional modes and skeleton a counter cache for future host conditional rendering * Address PR feedback
2020-04-22Implement SULD shader instruction (#1117)gdkchan
* Implement SULD shader instruction * Some nits
2020-04-21Suppress warnings from fields never used or never assigned (CS0169 and ↵Cristallix
CS0649) (#919) * chore : disable unwanted warnings and minor code cleanup * chore : remove more warnings * fix : reorder struct correctly * fix : restore _isKernel and remove useless comment * fix : copy/paste error * fix : restore CallMethod call * fix : whitespace * chore : clean using * feat : remove warnings * fix : simplify warning removal on struct * fix : revert fields deletion and code clean up * fix : re-add RE value * fix : typo
2020-04-20Report more realistic GPU timestamps when FastGpuTime is enabled (#1139)gdkchan
2020-04-19Implement GPU syncpoints (#980)Thog
* Implement GPU syncpoints This adds support for GPU syncpoints on the GPU backend & nvservices. Everything that was implemented here is based on my researches, hardware testing of the GM20B and reversing of nvservices (8.1.0). Thanks to @fincs for the informations about some behaviours of the pusher and for the initial informations about syncpoints. * syncpoint: address gdkchan's comments * Add some missing logic to handle SubmitGpfifo correctly * Handle the NV event API correctly * evnt => hostEvent * Finish addressing gdkchan's comments * nvservices: write the output buffer even when an error is returned * dma pusher: Implemnet prefetch barrier lso fix when the commands should be prefetch. * Partially fix prefetch barrier * Add a missing syncpoint check in QueryEvent of NvHostSyncPt * Address Ac_K's comments and fix GetSyncpoint for ChannelResourcePolicy == Channel * fix SyncptWait & SyncptWaitEx cmds logic * Address ripinperi's comments * Address gdkchan's comments * Move user event management to the control channel * Fix mm implementation, nvdec works again * Address ripinperi's comments * Address gdkchan's comments * Implement nvhost-ctrl close accurately + make nvservices dispose channels when stopping the emulator * Fix typo in MultiMediaOperationType
2020-04-17Implement Depth Clamping (#1120)mageven
* Implement Depth Clamping and add misc enums * Fix formatting
2020-04-07Simple GPU fixes (#1093)mageven
* Implement RasterizeEnable * Match viewport count to hardware * Simplify ScissorTest tracking around Blits * Disable RasterizerDiscard around Blits and track its state * Read RasterizeEnable reg as bool and add doc
2020-03-30Support constant attributes (with a value of zero) (#1066)gdkchan
* Support constant attributes (with a value of zero) * Remove extra line
2020-03-29Implement GPU scissors (#1058)gdkchan
* Implement GPU scissors * Remove unused using * Add missing changes for Clear
2020-02-11Support compute uniform buffers emulated with global memory (#924)gdkchan
2020-02-07Only enumerate cached textures that are modified when flushing. (#918)riperiperi
* Only enumarate cached textures that are modified when flushing, rather than all of them. * Remove locking. * Add missing clear. * Remove texture from modified list when data is disposed. In case the game does not call either flush method at any point. * Add ReferenceEqualityComparer from jD for the HashSet
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
2020-02-02Support configurable point size (#916)gdkchan
2020-01-22Ignore exit flag on branch delay slot (#899)gdkchan
2020-01-13Add a GetSpan method to the memory manager and use it on GPU (#877)gdkchan
2020-01-09Address PR feedbackgdkchan
Removes a useless null check Aligns some values to improve readability
2020-01-09Fix some shader disposal issuesgdkchan
2020-01-09Fix some spelling mistakesgdkchan
Thanks to LDj3SNuD for spotting these
2020-01-09Address PR feedbackgdkchan
2020-01-09Remove more unused codegdkchan
2020-01-09GPU resource disposalgdkchan
2020-01-09Add XML documentation to Ryujinx.Graphics.Gpu.Enginegdkchan
2020-01-09Change GPU errors to debug and reduce log messagesgdkchan
2020-01-09Some code cleanupgdkchan
2020-01-09Reimplement limited bindless textures supportgdkchan
2020-01-09Support texture rectangle targets (non-normalized coords)gdkchan
2020-01-09Use correct shared memory size (in words, not bytes)gdkchan
2020-01-09Ensure a valid shared memory size is usedgdkchan
2020-01-09Use dispatch params shared memory size when availablegdkchan
2020-01-09Fix draw indexed flag not being cleared for instanced draws, also avoid ↵gdkchan
state updates in the middle of a indexed draw
2020-01-09Support depth clip mode and disable shader fast math optimization on NVIDIA ↵gdkchan
as a workaround for compiler bugs (?)
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-09Initial support for the guest OpenGL driver (NVIDIA and Nouveau)gdkchan
2020-01-09Improved and simplified window texture presentationgdk
2020-01-09Correct ordering of compute buffer bindgdk
2020-01-09Separate sub-channel stategdk
2020-01-09Invalidate shaders when they are modifiedgdk
2020-01-09Fix image units bindings and shader dump in the presence of NOPsgdk
2020-01-09Add partial support for array of samplers, and add pass to identify them ↵gdk
from bindless texture accesses
2020-01-09Support copy of slices to 3D textures, remove old 3D render target layered ↵gdk
render support, do not delete textures with existing views created from them
2020-01-09Flush buffers on copiesgdk
2020-01-09Add per-source type memory change tracking, simplified state change ↵gdk
tracking, other fixes
2020-01-09Initial support for image stores, support texture sample on computegdk
2020-01-09Initial workgdk