aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.HLE/Gpu/Engines
AgeCommit message (Collapse)Author
2018-09-08Move GPU emulation from Ryujinx.HLE to Ryujinx.Graphics and misc changes (#402)ReinUsesLisp
* Move GPU LLE emulation from HLE to Graphics * Graphics: Move Gal/Texture to Texture * Remove Engines/ directory and namespace * Use tables for image formats * Abstract OpCode decoding * Simplify image table * Do not leak Read* symbols in TextureReader * Fixups * Rename IGalFrameBuffer -> IGalRenderTarget * Remove MaxBpp hardcoded value * Change yet again texture data and add G8R8 flipping * Rename GalFrameBufferFormat to GalSurfaceFormat * Unident EnsureSetup in ImageHandler * Add IsCompressed * Address some feedback
2018-09-01Improve handling on QueryGet on the gpu (#397)gdkchan
2018-08-25Implement vertex instancing (#381)ReinUsesLisp
2018-08-23Implement multiple rendertarget attachments and depth writting (#375)ReinUsesLisp
* Add depth writting * Implement multiple attachments * Address feedback
2018-08-23Avoid querying and setting texture bindings in hot code (#376)ReinUsesLisp
2018-08-19Rendertarget attachments, texture and image changes (#358)ReinUsesLisp
* Add multiple color outputs for fragment shaders * Add registers and gal enums * Use textures for framebuffers and split color and zeta framebuffers * Abstract texture and framebuffer targets as an image * Share images between framebuffers and textures * Unstub formats * Add some formats * Disable multiple attachments * Cache framebuffer attachments * Handle format types * Add some rendertarget formats * Code cleanup * Fixup half float types * Address feedback * Disable multiple attachments in shaders * Add A4B4G4R4 image format * Add reversed section for image enums
2018-08-16Remove artificial call count limit for EndGl (#357)gdkchan
2018-08-15More flexible memory manager (#307)gdkchan
* Keep track mapped buffers with fixed offsets * Started rewriting the memory manager * Initial support for MapPhysicalMemory and UnmapPhysicalMemory, other tweaks * MapPhysicalMemory/UnmapPhysicalMemory support, other tweaks * Rebased * Optimize the map/unmap physical memory svcs * Integrate shared font support * Fix address space reserve alignment * Some fixes related to gpu memory mapping * Some cleanup * Only try uploading const buffers that are really used * Check if memory region is contiguous * Rebased * Add missing count increment on IsRegionModified * Check for reads/writes outside of the address space, optimize translation with a tail call
2018-08-14Reset cache on command buffer execution instead of sync calls (#341)ReinUsesLisp
Also resets const buffer cache on CbData calls. Non-const buffer data might also change while a command buffer is executing but that's very unlikely.
2018-08-13Add partial support to the TEX.B shader instruction (#342)gdkchan
* Add partial support to the TEX.B shader instruction, fix for mixed indexed and non-indexed drawing * Better exception
2018-08-10Low level graphics API prerequisites (#319)ReinUsesLisp
* Add GalPipelineState and IGalPipeline * Separate UploadVertex call * Add ConstBuffer cache * Move Vertex Assembly into GalPipelineState * Move Uniform binds to GalPipelineState * Move framebuffer flip into a buffer * Rebase * Fix regression * Move clear values from VertexEndGl to ClearBuffers * Rename obscure names O->Old S->New
2018-07-29Cache changes (#302)ReinUsesLisp
* Skip repeated cache tests between same sync * Skip some checks for regions where just one resource is resident * Dehardcode residency page size * Some cleanup
2018-07-19Send data to OpenGL host without client-side copies (#285)ReinUsesLisp
* Directly send host address to buffer data * Cleanup OGLShader * Directly copy vertex and index data too * Revert shader bind "cache" * Address feedback
2018-07-19Support deswizzle of sparse tiled textures and some frame buffer fixes (#275)gdkchan
* Attempt to support deswizzle of sparse tiled textures * Use correct frame buffer and viewport sizes, started to clean up the copy engine * Correct texture width alignment * Use Scale/Translate registers to calculate viewport rect * Allow texture copy between frame buffers
2018-07-14Some small shader related fixes (#258)gdkchan
* Some small shader related fixes * Address PR feedback
2018-07-12Loop GLScreen with custom method (#244)ReinUsesLisp
* Loop GLScreen with custom method * Fix deadlocks * Fix screen resizing * Change event to bool * Try to fix quitting error * Set title from main thread * Queue max 1 vsync, fix high FPS after a slowdown
2018-07-09Add locking methods to the ogl resource cache (#238)gdkchan
* Add locking methods to the ogl resource cache * Remove some unused arguments * Add the ZF32 texture format
2018-07-08Query multiple pages at once with GetWriteWatch (#222)gdkchan
* Query multiple pages at once with GetWriteWatch * Allow multiple buffer types to share the same page, aways use the physical address as cache key * Remove a variable that is no longer needed
2018-07-08Implement GPU primitive restart (#221)ReinUsesLisp
2018-07-06Disable front facing and face culling to avoid regression (#226)ReinUsesLisp
* Disable tests for framebuffer blitting
2018-07-05Implement some GPU features (#209)ReinUsesLisp
* Implement stencil testing * Implement depth testing * Implement face culling * Implement front face * Comparison functions now take OGL enums too * Fix front facing when flipping was used * Add depth and stencil clear values
2018-06-28Add support for vertex base on indexed draws, fix index buffer first ↵gdkchan
(untested) (#197)
2018-06-28Somewhat better ClearBuffers implementationgdkchan
2018-06-27Add support for Vertex Program A and other small shader improvements (#192)gdkchan
* Add WIP support for Vertex Program A, add the FADD_I32 shader instruction, small fix on FFMA_I encoding, nits * Add separate subroutines for program A/B, and copy attributes to a temp * Move finalization code to main * Add new line after flip uniform on the shader * Handle possible case where VPB uses an output attribute written by VPA but not available on the vbo * Address PR feedback
2018-06-27Fix vertex buffer size on the gpu when the draw vertex count is less than ↵gdkchan
the buffer size, added a few more registers (currently not implemented)
2018-06-23Small OpenGL Renderer refactoring (#177)gdkchan
* Call OpenGL functions directly, remove the pfifo thread, some refactoring * Fix PerformanceStatistics calculating the wrong host fps, remove wait event on PFIFO as this wasn't exactly was causing the freezes (may replace with an exception later) * Organized the Gpu folder a bit more, renamed a few things, address PR feedback * Make PerformanceStatistics thread safe * Remove unused constant * Use unlimited update rate for better pref