Commit graph

350 commits

Author SHA1 Message Date
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
ReinUsesLisp
f4c2f0c35d gl_shader_decompiler: Implement HFMA2 instructions 2018-10-15 02:55:51 -03:00
ReinUsesLisp
d3a031608d gl_shader_decompiler: Implement HADD2_IMM and HMUL2_IMM 2018-10-15 02:07:16 -03:00
ReinUsesLisp
cc74fe2cef gl_shader_decompiler: Implement non-immediate HADD2 and HMUL2 instructions 2018-10-15 02:04:31 -03:00
ReinUsesLisp
fcb96ae125 gl_shader_decompiler: Setup base for half float unpacking and setting 2018-10-15 01:58:30 -03:00
FernandoS27
1a70753709 Propagate depth and depth_block on modules using decoders 2018-10-13 15:25:18 -04:00
ReinUsesLisp
0c0ff8f0f6 gl_shader_decompiler: Implement VMAD 2018-10-11 04:15:10 -03:00
bunnei
76c2760135 Merge pull request #1458 from FernandoS27/fix-render-target-block-settings
Fixed block height settings for RenderTargets and Depth Buffers
2018-10-10 21:24:07 -04:00
bunnei
2dd774a803 Merge pull request #1460 from FernandoS27/scissor_test
Implemented Scissor Testing
2018-10-10 12:04:10 -04:00
FernandoS27
df5575aa44 Add memory Layout to Render Targets and Depth Buffers 2018-10-09 22:28:19 -04:00
FernandoS27
020cee90ef Fixed block height settings for RenderTargets and Depth Buffers, and added block width and block depth 2018-10-09 21:14:32 -04:00
FernandoS27
85a8a0b038 Assert Scissor tests 2018-10-08 20:49:36 -04:00
ReinUsesLisp
f1dff1c269 gl_shader_decompiler: Implement geometry shaders 2018-10-07 17:36:00 -03:00
bunnei
26348d6ebb fermi_2d: Implement simple copies with AccelerateSurfaceCopy. 2018-10-06 03:20:04 -04:00
ReinUsesLisp
db80264fae gl_rasterizer: Implement quads topology 2018-10-04 00:03:44 -03:00