greggameplayer
81ddf0d6c0
Implement BF10GF11RF11 TextureFormat ( #246 )
...
* add BF10GF11RF11 TextureFormat
* return correct PixelFormat & PixelType
* return correct texture size
* return correct Bytes Per Pixel
* correct PixelType
2018-07-19 01:26:28 +02:00
greggameplayer
4ae38a669e
Implement Z24S8 TextureFormat ( #247 )
...
* add Z24S8 TextureFormat
* return correct PixelFormat & PixelType
* return correct texture size
* return correct Bytes Per Pixel
* Correct PixelType
2018-07-19 01:19:37 +02:00
greggameplayer
16b71e832e
Implement BC6H_SF16 & BC6H_UF16 Texture Formats ( #255 )
...
* Implement BC6H_SF16 & BC6H_UF16
* correct coding style (1/5)
* correct coding style (2/5)
* correct coding style (3/5)
* correct coding style (4/5)
* correct coding style (5/5)
2018-07-16 15:09:34 -03:00
ReinUsesLisp
7ccd04b93b
Add config key to dump shaders in local directory ( #265 )
...
* Add config key to dump shaders in local directory
* Address feedback
2018-07-15 19:37:27 -03:00
gdkchan
e4175c19e1
Some small shader related fixes ( #258 )
...
* Some small shader related fixes
* Address PR feedback
2018-07-14 13:08:39 -03:00
gdkchan
c4feec7a6a
Add locking methods to the ogl resource cache ( #238 )
...
* Add locking methods to the ogl resource cache
* Remove some unused arguments
* Add the ZF32 texture format
2018-07-09 23:01:59 -03:00
ReinUsesLisp
b623e12e70
Implement GPU primitive restart ( #221 )
2018-07-08 13:14:35 -03:00
ReinUsesLisp
6e3f112e27
Disable front facing and face culling to avoid regression ( #226 )
...
* Disable tests for framebuffer blitting
2018-07-06 23:40:12 -03:00
ReinUsesLisp
1bc4d49e4d
Implement some GPU features ( #209 )
...
* 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-07-05 15:47:29 -03:00
ReinUsesLisp
1fc69f2792
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
386e6937d6
Add support for vertex base on indexed draws, fix index buffer first (untested) ( #197 )
2018-06-28 20:48:18 -03:00
gdkchan
c7e95b1a16
Somewhat better ClearBuffers implementation
2018-06-28 00:11:49 -03:00
gdkchan
c6e873368c
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
gdkchan
303f1adf9e
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
ReinUsesLisp
cd159367d1
Fix GL.CreateBuffers -> GL.GenBuffers ( #189 )
2018-06-26 02:30:46 -03:00
ReinUsesLisp
c8bedf558c
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
gdkchan
a7de328a4f
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
ReinUsesLisp
d3e3016b3f
Port from OpenTK.NETCore to OpenTK.NetStandard ( #176 )
...
* Minor code changes
* Forgot to remove a method
2018-06-21 18:10:19 -03:00
Lordmau5
76c745f79d
Implement R16 texture format ( #147 )
2018-06-12 09:29:44 -03:00
gdkchan
0e8e116e5b
Fix a small size related issue on MapBufferEx and add the BC7U texture format
2018-06-10 01:00:43 -03:00
gdkchan
4d24e4a01d
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
gdkchan
0447840a5a
Fix copy-paste mistake, also related to astc...
2018-06-02 13:39:52 -03:00
gdkchan
14a67565c8
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
4df1c5a9bc
Re add some texture formats that I somehow removed by accident on OGLEnumConverter
2018-06-02 00:53:50 -03:00
gdkchan
5f4591a8ac
Some small gpu improvements and shader improvements, add support for ASTC 4x4 textures (slow!)
2018-06-02 00:50:56 -03:00
gdkchan
4f35cdbb70
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
gdkchan
3f51356006
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
gdkchan
822a71602c
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
556298930f
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
gdkchan
ab56c9b2af
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
gdkchan
f40338c3e1
[GPU] Set frame buffer texture size to window size
2018-04-14 01:31:27 -03:00
gdkchan
9d07dda5a2
[GPU] Send correct window size to the vertex shader
2018-04-14 01:14:42 -03:00
gdkchan
f4bb7344b1
[GPU] Fix frame buffer being upside down in some cases
2018-04-14 00:39:24 -03:00
gdkchan
180ca8eeb7
[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
gdkchan
fab16f9aae
Fix for current framebuffer issues ( #78 )
...
[GPU] Fix some of the current framebuffer issues
2018-04-13 15:12:58 -03:00
gdkchan
27bde6d56f
[GPU] Add support for the BC4/5 texture formats
2018-04-10 18:54:50 -03:00
gdkchan
6fd8b6feff
Fix regression -- enable raw frame buffer rendering
2018-04-10 16:56:03 -03:00
gdkchan
38ea4de41f
[GPU] Add more shader instructions, add support for rgb565 textures
2018-04-10 16:50:32 -03:00
gdkchan
eacc7689ed
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
gdkchan
1b5df0a34d
Allow more than one process, free resources on process dispose, implement SvcExitThread
2018-03-12 01:14:12 -03:00
gdkchan
646d5e9ee1
Enable hardware frame buffer texture scaling
2018-02-28 23:37:40 -03:00
gdkchan
7796f1709e
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
gdkchan
a7912d0990
Somewhat better NvFlinger (I guess) ( fixes #30 )
2018-02-23 18:48:27 -03:00
emmauss
bf5ccf25b7
Split main project into core,graphics and chocolarm4 subproject ( #29 )
2018-02-20 17:09:23 -03:00