Commit Graph

364 Commits

Author SHA1 Message Date
ReinUsesLisp db0e7fa147 gl_shader_decompiler: Implement BFI_IMM_R 2018-11-21 16:12:30 -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
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
ReinUsesLisp 3c72944105 gl_shader_decompiler: Implement VSETP 2018-10-23 01:07:20 -03:00
ReinUsesLisp 95ebbee064 gl_shader_decompiler: Abstract VMAD into a video subset 2018-10-23 01:07:20 -03:00
bunnei 3b07693b50 Merge pull request #1512 from ReinUsesLisp/brk
gl_shader_decompiler: Implement PBK and BRK
2018-10-23 00:01:38 -04:00
FernandoS27 9183b82847 Added Saturation to FMUL32I 2018-10-22 20:22:15 -04:00
FernandoS27 de4f14e756 Implemented Alpha Testing 2018-10-22 15:07:30 -04:00
FernandoS27 2dc066f8f5 Fixed FSETP and FSET 2018-10-22 11:31:17 -04:00
Lioncash cdea084c7d engines/maxwell_*: Use nested namespace specifiers where applicable
These three source files are the only ones within the engines directory
that don't use nested namespaces. We may as well change these over to
keep things consistent.
2018-10-20 15:58:09 -04:00
Lioncash 92996ab8b3 maxwell_dma: Make variables const where applicable within HandleCopy()
These are never modified, so we can make that assumption explicit.
2018-10-20 15:56:01 -04:00
Lioncash 04e8b81de0 maxwell_dma: Make FlushAndInvalidate's size parameter a u64
This prevents truncation warnings at the lambda's usage sites.
2018-10-20 15:54:45 -04:00
Lioncash 5ddbef9c8a maxwell_dma: Remove unused variables in HandleCopy()
These pointer variables are never used, so we can get rid of them.
2018-10-20 15:53:24 -04:00
bunnei 9af9217dea Merge pull request #1501 from ReinUsesLisp/half-float
gl_shader_decompiler: Implement H* instructions
2018-10-19 23:47:19 -04:00
bunnei cb438209c7 GPU: Improved implementation of maxwell DMA (Subv). 2018-10-18 22:41:53 -04:00
bunnei 6a6fbb1478 GPU: Invalidate destination address of kepler_memory writes. 2018-10-18 22:41:13 -04:00
bunnei e3fdb2ff4b fermi_2d: Add support for more accurate surface copies. 2018-10-18 22:41:12 -04:00
ReinUsesLisp 57b3166673 gl_shader_decompiler: Implement PBK and BRK 2018-10-17 21:30:45 -03:00
FernandoS27 1469c546c3 Implement 3D Textures 2018-10-17 18:52:08 -04:00
ReinUsesLisp 40845c39c9 shader_bytecode: Add Control Code enum 0xf
Control Code 0xf means to unconditionally execute the instruction. This
value is passed to most BRA, EXIT and SYNC instructions (among others)
but this may not always be the case.
2018-10-15 15:36:47 -03:00
ReinUsesLisp f1a2fd02a5 gl_shader_decompiler: Implement HSET2_R 2018-10-15 02:55:51 -03:00
ReinUsesLisp 4769eac4b7 gl_shader_decompiler: Implement HSETP2_R 2018-10-15 02:55:51 -03:00