aaa0e6c346
shader_bytecode: Fixup TEXS.F16 encoding
2018-12-26 01:35:44 -03:00
fdd649e2ef
Fixed uninitialized memory due to missing returns in canary
...
Functions which are suppose to crash on non canary builds usually don't return anything which lead to uninitialized memory being used.
2018-12-19 12:52:32 +11:00
ef061481c5
shader_bytecode: Fixup half float's operator B encoding
2018-12-18 04:28:50 -03:00
72599cc667
Implement postfactor multiplication/division for fmul instructions
2018-12-17 07:56:25 -08:00
59a8df1b14
gl_shader_decompiler: Implement TEXS.F16
2018-12-05 02:06:34 -03:00
f9a211220c
Merge pull request #1763 from ReinUsesLisp/bfi
...
gl_shader_decompiler: Implement BFI_IMM_R
2018-11-25 23:04:57 -05:00
d7d1ab15b6
Merge pull request #1760 from ReinUsesLisp/r2p
...
gl_shader_decompiler: Implement R2P_IMM
2018-11-25 22:38:42 -05:00
8ce90a4f0b
Merge pull request #1783 from ReinUsesLisp/clip-distances
...
gl_shader_decompiler: Implement clip distances
2018-11-25 22:35:30 -05:00
b6b78203cc
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
3135dbc29c
Added predicate comparison LessEqualWithNan ( #1736 )
...
* Added predicate comparison LessEqualWithNan
* oops
* Clang fix
2018-11-23 08:51:32 -08:00
b3853403b7
gl_shader_decompiler: Implement clip distances
2018-11-23 02:14:43 -03:00
8a5e6fce07
gl_shader_decompiler: Rename control codes to condition codes
2018-11-21 22:31:16 -03:00
642dfeda2a
gl_shader_decompiler: Implement BFI_IMM_R
2018-11-21 16:12:30 -03:00
d92afc7493
gl_shader_decompiler: Implement R2P_IMM
2018-11-21 04:56:00 -03:00
9afcbba8e4
Merge pull request #1527 from FernandoS27/assert-flow
...
Assert Control Flow Instructions using Control Codes
2018-11-01 00:34:56 -04:00
86e70cf302
Merge pull request #1528 from FernandoS27/assert-control-codes
...
Assert Control Codes Generation on Shader Instructions
2018-10-31 22:34:18 -04:00
5bb80ab009
Assert Control Codes Generation
2018-10-30 13:37:55 -04:00
7a5eda5914
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
3aa8b644a9
Assert Control Flow Instructions using Control Codes
2018-10-28 19:16:41 -04:00
ca142f35c0
Implemented LD_L and ST_L
2018-10-24 17:51:53 -04:00
ed8ca608a0
Implement PointSize
2018-10-23 15:08:00 -04:00
5716496239
Merge pull request #1519 from ReinUsesLisp/vsetp
...
gl_shader_decompiler: Implement VSETP
2018-10-23 10:22:37 -04:00
7d6dca0d0a
gl_shader_decompiler: Implement VSETP
2018-10-23 01:07:20 -03:00
5dfb43531c
gl_shader_decompiler: Abstract VMAD into a video subset
2018-10-23 01:07:20 -03:00
848a49112a
Merge pull request #1512 from ReinUsesLisp/brk
...
gl_shader_decompiler: Implement PBK and BRK
2018-10-23 00:01:38 -04:00
259da93567
Added Saturation to FMUL32I
2018-10-22 20:22:15 -04:00
5c5b4e8e7d
Fixed FSETP and FSET
2018-10-22 11:31:17 -04:00
b1f8bff7db
Merge pull request #1501 from ReinUsesLisp/half-float
...
gl_shader_decompiler: Implement H* instructions
2018-10-19 23:47:19 -04:00
41fb25349a
gl_shader_decompiler: Implement PBK and BRK
2018-10-17 21:30:45 -03:00
936c36a514
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
6312eec5ef
gl_shader_decompiler: Implement HSET2_R
2018-10-15 02:55:51 -03:00
4fc8ad67bf
gl_shader_decompiler: Implement HSETP2_R
2018-10-15 02:55:51 -03:00
3d65aa4caf
gl_shader_decompiler: Implement HFMA2 instructions
2018-10-15 02:55:51 -03:00
d93cdc2750
gl_shader_decompiler: Implement HADD2_IMM and HMUL2_IMM
2018-10-15 02:07:16 -03:00
d46e2a6e7a
gl_shader_decompiler: Implement non-immediate HADD2 and HMUL2 instructions
2018-10-15 02:04:31 -03:00
08d751d882
gl_shader_decompiler: Setup base for half float unpacking and setting
2018-10-15 01:58:30 -03:00
17290a4416
gl_shader_decompiler: Implement VMAD
2018-10-11 04:15:10 -03:00
ee4d538850
gl_shader_decompiler: Implement geometry shaders
2018-10-07 17:36:00 -03:00
a8f5fd787f
shader_bytecode: Lay out the Ipa-related enums better
...
This is more consistent with the surrounding enums.
2018-09-21 16:17:31 -04:00
272517cf7e
shader_bytecode: Make operator== and operator!= of IpaMode const qualified
...
These don't affect the state of the struct and can be const member
functions.
2018-09-21 16:17:27 -04:00
0284cbe7ec
Merge pull request #1279 from FernandoS27/csetp
...
shader_decompiler: Implemented (Partialy) Control Codes and CSETP
2018-09-18 22:10:48 -04:00
e4bb759c4b
Implemented I2I.CC on the NEU control code, used by SMO
2018-09-17 17:42:46 -04:00
e2ac8fb36d
Implemented CSETP
2018-09-17 17:42:44 -04:00
aac77bbd18
Implemented Control Codes
2018-09-17 17:42:43 -04:00
55a4756766
Added texture misc modes to texture instructions
2018-09-17 12:51:05 -04:00
076add4ccd
Merge pull request #1326 from FearlessTobi/port-4182
...
Port #4182 from Citra: "Prefix all size_t with std::"
2018-09-17 09:51:47 -04:00
c878a819d7
Shaders: Implemented multiple-word loads and stores to and from attribute memory.
...
This seems to be an optimization performed by nouveau.
2018-09-15 11:21:21 -05:00
63c2e32e20
Port #4182 from Citra: "Prefix all size_t with std::"
2018-09-15 15:21:06 +02:00
cc50857460
Merge pull request #1263 from FernandoS27/tex-mode
...
shader_decompiler: Implemented (Partially) Texture Processing Modes
2018-09-12 16:03:34 -04:00
a99d9db32f
Implemented Texture Processing Modes
2018-09-12 12:28:22 -04:00