Commit Graph

383 Commits

Author SHA1 Message Date
bunnei f8b215e361 gpu: Rewrite GPU command list processing with DmaPusher class.
- More accurate impl., fixes Undertale (among other games).
2018-11-26 23:14:01 -05:00
bunnei dae6451ca5 Merge pull request #1794 from Tinob/master
Add support for viewport_transfom_enable register
2018-11-26 18:34:09 -05:00
bunnei c5fb7fafd4 Merge pull request #1723 from degasus/dirty_flags
gl_rasterizer: Skip VB upload if the state is clean.
2018-11-26 18:33:22 -05:00
Marcos fc09b5cc26 GPU States: Implement Polygon Offset. This is used in SMO all the time. (#1784)
* GPU States: Implement Polygon Offset. This is used in SMO all the time.

* Clang Format fixes.

* Initialize polygon_offset in the constructor.
2018-11-26 18:31:44 -05:00
bunnei ff5abaa0d9 Merge pull request #1798 from ReinUsesLisp/y-direction
gl_shader_decompiler: Implement S2R's Y_DIRECTION
2018-11-26 18:25:42 -05:00
bunnei bfcbcc989e Merge pull request #1763 from ReinUsesLisp/bfi
gl_shader_decompiler: Implement BFI_IMM_R
2018-11-25 23:04:57 -05:00
bunnei b793e04646 Merge pull request #1760 from ReinUsesLisp/r2p
gl_shader_decompiler: Implement R2P_IMM
2018-11-25 22:38:42 -05:00
bunnei 3885f36323 Merge pull request #1783 from ReinUsesLisp/clip-distances
gl_shader_decompiler: Implement clip distances
2018-11-25 22:35:30 -05:00
ReinUsesLisp ac2c2ded06 gl_shader_decompiler: Implement S2R's Y_DIRECTION 2018-11-25 04:37:29 -03:00
Rodolfo Bogado dd86a7ee67 Add support for viewport_transfom_enable register 2018-11-24 13:17:48 -03:00
bunnei 254f9854dc Merge pull request #1785 from Tinob/master
Add support for clear_flags register
2018-11-23 23:55:56 -05:00
bunnei d4339a4c76 Merge pull request #1769 from ReinUsesLisp/cc
gl_shader_decompiler: Rename cc to condition code and name internal flags
2018-11-23 23:31:04 -05:00
Rodolfo Bogado d311047172 Add support for clear_flags register 2018-11-24 00:16:33 -03:00
Hexagon12 7ba80865a9 Added predicate comparison LessEqualWithNan (#1736)
* Added predicate comparison LessEqualWithNan

* oops

* Clang fix
2018-11-23 08:51:32 -08:00
ReinUsesLisp 52c844eeec gl_shader_decompiler: Implement clip distances 2018-11-23 02:14:43 -03:00
bunnei e17f9a1ed9 maxwell_3d: Implement alternate blend equations.
- Used by Undertale.
2018-11-22 00:51:01 -05:00
ReinUsesLisp bd4b3f0cc2 gl_shader_decompiler: Rename control codes to condition codes 2018-11-21 22:31:16 -03:00
ReinUsesLisp db0e7fa147 gl_shader_decompiler: Implement BFI_IMM_R 2018-11-21 16:12:30 -03:00
ReinUsesLisp e933f0851a gl_shader_decompiler: Implement R2P_IMM 2018-11-21 04:56:00 -03:00
bunnei 953c140eca maxwell_3d: Initialize rasterizer color mask registers as enabled.
- Fixes rendering regression with Sonic Mania.
2018-11-20 19:58:06 -05:00
Rodolfo Bogado a6fbb1ec16 small fix for alphaToOne bit location 2018-11-17 19:59:34 -03:00
Rodolfo Bogado f53a271874 fix for gcc compilation 2018-11-17 19:59:34 -03:00
Rodolfo Bogado 00ae363ad5 add AlphaToCoverage and AlphaToOne 2018-11-17 19:59:34 -03:00
Rodolfo Bogado bb20c5b8a0 add support for fragment_color_clamp 2018-11-17 19:59:33 -03:00
Rodolfo Bogado b85b478d33 set default value for point size register 2018-11-17 19:59:33 -03:00
Rodolfo Bogado bcf804a44e fix viewport and scissor behavior 2018-11-17 19:59:32 -03:00
Markus Wick 264030c070 gl_rasterizer: Skip VB upload if the state is clean. 2018-11-17 14:28:54 +01:00
Frederic L 56a27afdea gl_rasterizer: Minor cleanup
Minor code cleanup from unaddressed feedback in #1654
2018-11-13 14:07:23 +01:00
Rodolfo Bogado a7c68376fe Try to fix problems with stencil test in some games, relax translation to opengl enums to avoid crashing and only generate logs of the errors. 2018-11-11 16:31:00 -03:00
bunnei cceecc05e3 Merge pull request #1654 from degasus/dirty_flags
gl_rasterizer: Skip VAO binding if the state is clean.
2018-11-11 08:17:57 -08:00
Markus Wick 755aa28572 gl_rasterizer: Skip VAO binding if the state is clean. 2018-11-06 22:31:33 +01:00
Rodolfo Bogado 92d9f97224 Add support to color mask to avoid issues in blending caused by wrong values in the alpha channel in some render targets. 2018-11-05 00:24:19 -03:00
Rodolfo Bogado fbd0d677a3 Implement multi-target viewports and blending 2018-11-04 20:49:48 -03:00
bunnei 50b2aed937 Merge pull request #1527 from FernandoS27/assert-flow
Assert Control Flow Instructions using Control Codes
2018-11-01 00:34:56 -04:00
bunnei 42b74a5e41 maxwell_3d: Restructure macro upload to use a single macro code memory.
- Fixes an issue where macros could be skipped.
- Fixes rendering of distant objects in Super Mario Odyssey.
2018-10-31 23:29:21 -04:00
bunnei 7bca4ea21a Merge pull request #1528 from FernandoS27/assert-control-codes
Assert Control Codes Generation on Shader Instructions
2018-10-31 22:34:18 -04:00
FernandoS27 906d2fd5af Assert Control Codes Generation 2018-10-30 13:37:55 -04:00
Frederic L c76f4b6aec global: Use std::optional instead of boost::optional (#1578)
* get rid of boost::optional

* Remove optional references

* Use std::reference_wrapper for optional references

* Fix clang format

* Fix clang format part 2

* Adressed feedback

* Fix clang format and MacOS build
2018-10-30 00:03:25 -04:00
FernandoS27 8b69038887 Assert Control Flow Instructions using Control Codes 2018-10-28 19:16:41 -04:00
Rodolfo Bogado 1670155ee2 Implement sRGB Support, including workarounds for nvidia driver issues and QT sRGB support 2018-10-28 01:13:55 -03:00
bunnei b22ff96e0a gl_rasterizer: Implement primitive restart. 2018-10-26 00:42:57 -04:00
bunnei 688ddb4c94 Merge pull request #1533 from FernandoS27/lmem
Implemented Shader Local Memory
2018-10-26 00:16:25 -04:00
bunnei 2bc1f075bb maxwell_3d: Add code for initializing register defaults. 2018-10-25 23:42:39 -04:00
FernandoS27 159bedd74f Implemented LD_L and ST_L 2018-10-24 17:51:53 -04:00
bunnei 4322798a5d Merge pull request #1554 from FernandoS27/pointsize
Implement PointSize Output Attribute.
2018-10-24 17:38:38 -04:00
Lioncash 0afddad95c maxwell_3d: Remove unused variable within ProcessQueryGet() 2018-10-23 23:50:16 -04:00
FernandoS27 3326b552d0 Implement PointSize 2018-10-23 15:08:00 -04:00
bunnei a12540e948 Merge pull request #1519 from ReinUsesLisp/vsetp
gl_shader_decompiler: Implement VSETP
2018-10-23 10:22:37 -04:00
bunnei c1e228e29c Merge pull request #1539 from lioncash/dma
maxwell_dma: Silence compilation warnings
2018-10-23 10:22:12 -04:00
bunnei ad2c4e1b45 Merge pull request #1470 from FernandoS27/alpha_testing
Implemented Alpha Test using Shader Emulation
2018-10-23 10:21:30 -04:00