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
edfd4bc860
Explicit GLSL "position" attribute location ( #199 )
2018-06-28 22:01:58 -03:00
3e81421b2f
Add support for vertex base on indexed draws, fix index buffer first (untested) ( #197 )
2018-06-28 20:48:18 -03:00
22f138628b
Somewhat better ClearBuffers implementation
2018-06-28 00:11:49 -03:00
e6eeb6f09f
Add support for Vertex Program A and other small shader improvements ( #192 )
...
* 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-27 23:55:08 -03:00
900a84ae0a
Fix vertex buffer size on the gpu when the draw vertex count is less than the buffer size, added a few more registers (currently not implemented)
2018-06-27 01:32:28 -03:00
af5f059d4e
Fix GL.CreateBuffers -> GL.GenBuffers ( #189 )
2018-06-26 02:30:46 -03:00
09dfefed1f
Implementation of UBOs instead of uniform constant arrays ( #186 )
...
* Sort uniform binding to avoid possible failures in drivers fewer bindings
* Throw exception for Cbuf overflow
* Search for free bindings instead of using locked ones
* EnsureAllocated when binding buffers
* Fix uniform bindings
* Remove spaces
* Use 64 KiB UBOs when available
* Remove double colon
* Use IdentationStr and avoid division in Cbuf offset
* Add spaces
2018-06-26 02:10:54 -03:00
e7559f128f
Small OpenGL Renderer refactoring ( #177 )
...
* 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
2018-06-23 21:39:25 -03:00
c26ddd6259
Fix 3 graphics related issues ( #180 )
...
* Fix 3 graphics related bugs
* OGLShader shouldn't be public (yet)
2018-06-23 02:00:44 -03:00
a4020bb398
Port from OpenTK.NETCore to OpenTK.NetStandard ( #176 )
...
* Minor code changes
* Forgot to remove a method
2018-06-21 18:10:19 -03:00
98e6a34608
Implement R16 texture format ( #147 )
2018-06-12 09:29:44 -03:00
9176180abb
Minor shader fixes
2018-06-12 09:26:49 -03:00
49fd76db0f
Fix a small size related issue on MapBufferEx and add the BC7U texture format
2018-06-10 01:00:43 -03:00
231fae1a4c
Texture/Vertex/Index data cache ( #132 )
...
* Initial implementation of the texture cache
* Cache vertex and index data aswell, some cleanup
* Improve handling of the cache by storing cached ranges on a list for each page
* Delete old data from the caches automatically, ensure that the cache is cleaned when the mapping/size changes, and some general cleanup
2018-06-08 21:15:56 -03:00
f03a43fa38
Fix copy-paste mistake, also related to astc...
2018-06-02 13:39:52 -03:00
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
7a6ce48184
Re add some texture formats that I somehow removed by accident on OGLEnumConverter
2018-06-02 00:53:50 -03:00
53a6922f87
Some small gpu improvements and shader improvements, add support for ASTC 4x4 textures (slow!)
2018-06-02 00:50:56 -03:00
aeb1bbf50c
Add an ASTC Decoder (Not currently used in Ryujinx) ( #131 )
...
* Add an ASTC Decoder (Not currently used in Ryujinx)
* Update ASTCDecoder.cs
2018-06-01 15:00:16 -03:00
f43dd08064
Added support for more shader instructions and texture formats, fix swapped channels in RGB565 and RGBA5551? texture formats, allow zero values on blending registers, initial work to build CFG on the shader decoder, update the BRA instruction to work with it (WIP)
2018-05-29 20:37:10 -03:00
79e0070363
Improve shader sending method to GAL, use a memory interface instead of reading a fixed array size and sending every time
2018-05-22 22:43:31 -03:00
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
5f0dd965bf
Ignore ZR target texture color registers on shader
2018-04-30 14:32:54 -03:00
f73a182b20
Properly support multiple vertex buffers, stub 2 ioctls, fix a shader issue, change the way how the vertex buffer size is calculated for the buffers with limit = 0
2018-04-29 17:58:38 -03:00
a38a72b062
Some small sync primitive fixes, logging fixes, started to implement the 2D engine on the GPU, fixed DrawArrays, implemented a few more shader instructions, made a start on nvdrv refactor, etc...
2018-04-25 23:12:26 -03:00
03002f6537
Add SvcSetThreadActivity, tweak SignalProcessWideKey, add fmul32i shader instructions and other small fixes
2018-04-19 16:18:30 -03:00
494e6dfa1e
[GPU] Set frame buffer texture size to window size
2018-04-14 01:31:27 -03:00
7dd14a4f3a
[GPU] Send correct window size to the vertex shader
2018-04-14 01:14:42 -03:00
42ebfdff7f
[GPU] Fix frame buffer being upside down in some cases
2018-04-14 00:39:24 -03:00
47100ec8c1
[GPU] Avoid drawing the frame buffer with alpha blend enabled, use correct blend enable register, clear the buffer before drawing
2018-04-13 22:42:55 -03:00
032c442505
[GPU] Remove 1f in RCP instruction emitter on glsl decompiler
2018-04-13 16:01:29 -03:00
8ab76a7bd4
[GPU] Do not use the f suffix on float contants on the shader glsl code
2018-04-13 15:53:16 -03:00
237eaeb920
Bump glsl version to support layout qualifier
2018-04-13 15:36:12 -03:00
c8c86a3854
Fix for current framebuffer issues ( #78 )
...
[GPU] Fix some of the current framebuffer issues
2018-04-13 15:12:58 -03:00
7b2f471d4f
[GPU] Add support for the BC4/5 texture formats
2018-04-10 18:54:50 -03:00
f57fd95fd9
Fix regression -- enable raw frame buffer rendering
2018-04-10 16:56:03 -03:00
feb2680a6c
[GPU] Add more shader instructions, add support for rgb565 textures
2018-04-10 16:50:32 -03:00
e9cfdef098
Add A1B5G5R5 texture format. ( #76 )
...
* Update GalTextureFormat.cs
* Update TextureReader.cs
2018-04-08 18:08:36 -03:00
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
7a27990faa
Allow more than one process, free resources on process dispose, implement SvcExitThread
2018-03-12 01:14:12 -03:00
5d8a615c21
Enable hardware frame buffer texture scaling
2018-02-28 23:37:40 -03:00
3936c93448
Map heap on heap base region, fix for thread start on homebrew, add FCVTMU and FCVTPU (general) instructions, fix FMOV (higher 64 bits) encodings, improve emit code for FCVT* (general) instructions
2018-02-23 21:59:38 -03:00
2ed733b1d5
Somewhat better NvFlinger (I guess) ( fixes #30 )
2018-02-23 18:48:27 -03:00
62b827f474
Split main project into core,graphics and chocolarm4 subproject ( #29 )
2018-02-20 17:09:23 -03:00