Commit graph

565 commits

Author SHA1 Message Date
Mat M
6506dbc577 Update src/video_core/engines/shader_bytecode.h
Co-Authored-By: FernandoS27 <fsahmkow27@gmail.com>
2019-02-03 21:27:26 -04:00
Fernando Sahmkow
4133c86d71 Fix TXQ not using the component mask. 2019-02-03 18:17:18 -04:00
ReinUsesLisp
af1543712d video_core: Assert on invalid GPU to CPU address queries 2019-02-03 04:58:40 -03:00
ReinUsesLisp
c73b44fc35 maxwell_3d: Allow sampler handles with TSC id zero 2019-02-03 04:58:40 -03:00
ReinUsesLisp
04fe4a72b9 maxwell_3d: Allow texture handles with TIC id zero
Also remove "enabled" field from Tegra::Texture::FullTextureInfo because
it would become unused.
2019-02-03 04:58:24 -03:00
ReinUsesLisp
5ae8a056fe shader_bytecode: Rename BytesN enums to BitsN 2019-02-03 00:25:40 -03:00
ReinUsesLisp
12fbe5dcf8 shader_ir: Unify constant buffer offset values
Constant buffer values on the shader IR were using different offsets if
the access direct or indirect. cbuf34 has a non-multiplied offset while
cbuf36 does. On shader decoding this commit multiplies it by four on
cbuf34 queries.
2019-01-30 02:45:50 -03:00
ReinUsesLisp
d516c50fe2 shader_decode: Implement LDG and basic cbuf tracking 2019-01-30 00:00:15 -03:00
bunnei
b1a4671770 Merge pull request #1927 from ReinUsesLisp/shader-ir
video_core: Replace gl_shader_decompiler with an IR based decompiler
2019-01-25 23:42:14 -05:00
ReinUsesLisp
fdb76f6147 maxwell_3d: Set rt_separate_frag_data to 1 by default
Commercial games assume that this value is 1 but they never set it. On
the other hand nouveau manually sets this register. On
ConfigureFramebuffers we were asserting for what we are actually
implementing (according to envytools).
2019-01-22 04:14:29 -03:00
ReinUsesLisp
095b8f822b shader_decode: Implement VMAD and VSETP 2019-01-15 17:54:53 -03:00
ReinUsesLisp
54bffa5381 shader_decode: Implement HFMA2 2019-01-15 17:54:52 -03:00
ReinUsesLisp
bcf228b15c shader_decode: Fixup clang-format 2019-01-15 17:54:52 -03:00
ReinUsesLisp
25f868d8be shader_ir: Initial implementation 2019-01-15 17:54:49 -03:00
ReinUsesLisp
2b5088a8e9 shader_bytecode: Fixup encoding 2019-01-15 17:54:49 -03:00
ReinUsesLisp
f03f054819 shader_header: Make local memory size getter constant 2019-01-15 17:54:49 -03:00
ReinUsesLisp
1c8411dc8d gl_rasterizer_cache: Use dirty flags for the depth buffer 2019-01-07 16:22:28 -03:00
ReinUsesLisp
6e932fe118 gl_rasterizer_cache: Use dirty flags for color buffers 2019-01-07 16:20:39 -03:00
ReinUsesLisp
5fec808e30 gl_shader_cache: Use dirty flags for shaders 2019-01-07 16:13:12 -03:00
ReinUsesLisp
a04b5e9a42 shader_bytecode: Fixup TEXS.F16 encoding 2018-12-26 01:35:44 -03:00
David Marcec
1dfb0a513a 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
ReinUsesLisp
40f57b087c shader_bytecode: Fixup half float's operator B encoding 2018-12-18 04:28:50 -03:00
heapo
63c820c8b1 Implement postfactor multiplication/division for fmul instructions 2018-12-17 07:56:25 -08:00
ReinUsesLisp
e228750f52 gl_shader_decompiler: Implement TEXS.F16 2018-12-05 02:06:34 -03:00
ReinUsesLisp
5861ae801a gl_rasterizer: Enable clip distances when set in register and in shader 2018-11-29 16:58:20 -03:00
bunnei
6149038433 Merge pull request #1808 from Tinob/master
Fix clip distance and viewport
2018-11-28 17:47:28 -05:00
bunnei
e7b2a0c728 Merge pull request #1786 from Tinob/DepthClamp
Add Depth Clamp Support
2018-11-28 17:46:55 -05:00
bunnei
6a068c80f7 Merge pull request #1792 from bunnei/dma-pusher
gpu: Rewrite GPU command list processing with DmaPusher class.
2018-11-28 10:12:37 -05:00
bunnei
397bb88cec Merge pull request #1735 from FernandoS27/tex-spacing
Texture decoder: Implemented Tile Width Spacing
2018-11-27 19:21:17 -05:00
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
Rodolfo Bogado
07e7586b63 Implement depth clamp 2018-11-26 20:56:32 -03:00
Rodolfo Bogado
0eabde665d Add support for Clip Distance enabled register 2018-11-26 20:45:21 -03: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
FernandoS27
b509890e4c Implemented Tile Width Spacing 2018-11-26 09:05:12 -04: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