Commit graph

15 commits

Author SHA1 Message Date
gdkchan
d4187aaa9d
Allow "reinterpretation" of framebuffer/zeta formats (#418)
* (Re)Implement format reinterpretation, other changes

* Implement writeback to guest memory, some refactoring

* More refactoring, implement reinterpretation the old way again

* Clean up

* Some fixes on M2MF (old Dma engine), added partial support for P2MF, fix conditional ssy, add Z24S8 zeta format, other fixes

* nit: Formatting

* Address PR feedback
2018-09-18 01:30:35 -03:00
ReinUsesLisp
ce1d5be212 Move GPU emulation from Ryujinx.HLE to Ryujinx.Graphics and misc changes (#402)
* 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-08 14:51:50 -03:00
ReinUsesLisp
42dc925c3d Implement SSY/SYNC shader instructions (#382)
* Use a program counter to control shaders' flow

* Cleanup

* Implement SSY/SYNC

* Address feedback

* Fixup commentary

* Fixup Ssy instruction
2018-08-31 13:14:04 -03:00
ReinUsesLisp
afc44850be Avoid gpr overwritting on Ld_C instruction (#371)
* Avoid gpr overwritting on LD_C instruction

* Address feedback

* Ignore invalid registers
2018-08-20 23:31:10 -03:00
gdkchan
4f499b6845
Fix FMUL and TEXS shader instructions (#347) 2018-08-13 19:46:36 -03:00
gdkchan
09593ae6d8
Add partial support to the TEX.B shader instruction (#342)
* Add partial support to the TEX.B shader instruction, fix for mixed indexed and non-indexed drawing

* Better exception
2018-08-13 18:22:09 -03:00
ReinUsesLisp
cd203e98f2 Implement Geometry shaders (#280)
* Implement Geometry shaders

* Add EmitVertex() and EndPrimitive()

* Read output geometry data from header

* Stub Vmad

* Add Iadd_I32

* Stub Mov_S (S2R)

* Stub Isberd

* Change vertex index to gpr39 in Abuf

* Add stub messages for consistency

* Do not print input block when there is no attributes

* Use GL_ARB_enhanced_layouts

* Skip geometry shaders when there's no GL_ARB_enhanced_layouts

* Address feedback

* Address feedback
2018-07-19 02:33:27 -03:00
ReinUsesLisp
9cbf908cf5 Add FaceAttr in GLSL, unmanaged case in EmitTex and ConstantColorG80 blend factor (#207)
* Add FaceAttr (0x3fc) input attribute in GLSL

* Implement unmanaged case in EmitTex

* Add ConstantColor for 0xC001 (G80) from PR #145
2018-07-03 20:06:13 -03:00
gdkchan
4731c7545d Fix mistake on astc conversion, make some static methods that shouldn't be public private, remove old commmented out code 2018-06-02 11:44:52 -03:00
gdkchan
53a6922f87 Some small gpu improvements and shader improvements, add support for ASTC 4x4 textures (slow!) 2018-06-02 00:50:56 -03:00
gdkchan
b19c474082 Added more shader instructions, including BFE, BRA (partial), FMNMX, ISCADD, SHL, LD_C, some shader related fixes, added support for texture component selection 2018-05-17 15:25:42 -03:00
gdkchan
5f0dd965bf Ignore ZR target texture color registers on shader 2018-04-30 14:32:54 -03:00
gdkchan
c8c86a3854
Fix for current framebuffer issues (#78)
[GPU] Fix some of the current framebuffer issues
2018-04-13 15:12:58 -03:00
gdkchan
feb2680a6c [GPU] Add more shader instructions, add support for rgb565 textures 2018-04-10 16:50:32 -03:00
gdkchan
b9aa3966c0 Merge shader branch, adding support for GLSL decompilation, a macro
interpreter, and a rewrite of the GPU code.
2018-04-08 16:41:38 -03:00