Commit graph

338 commits

Author SHA1 Message Date
pent0
aa97bff0fe shader/tests: Disable 2021-10-17 21:27:18 +02:00
pent0
024a26f487 shader: Rewrite analyzer and recompiler to based on node tree 2021-10-17 21:27:18 +02:00
Zangetsu38
2ca60801e7 shader: Correct value of bits_max.
- Set 8 only when use_double_reg is true.
2021-10-15 21:23:37 +02:00
pent0
9cb2063d50 shader: Minor correction on order of modifiers and types
- Abs(-a) is just pointless, why we still keeping that. Reorder the modifiers
- If type of vdual is f16, there's no reason for the unified result not to be f16
- Coord type of texture query was wrongly assigned, the original code is the type of the PA, not the type of the uniform. I take a guess here, but it is likely to be F32 most of the times
2021-09-19 21:17:46 +02:00
pent0
d36b787927 shader: Set z to w on flat viewport. 2021-09-19 21:17:46 +02:00
hobyst
168dfb19ca Add license notice on source files which didn't have one
- Also updated the copyright notice year on all files to 2021
2021-08-19 23:14:27 +02:00
bythos14
e6eba479ef Name unknown fields in SceGxmProgram
Also defined some program flags.
2021-07-23 20:27:27 +07:00
Zangetsu38
586a440a2a shader: Correct bits of VTST sources on non-F32 data type.
- Fix crash on A virus named tom & ONE PIECE Unlimited WR.

Co-authored-by: pent0 <fewdspuckrito@gmail.com>
2021-07-19 15:03:08 +02:00
pent0
a1a10b30bd shader: Support copy non aligned buffer 2021-05-31 18:58:34 +02:00
Foma Nikitin
02e8847526 shader: Fix mask write decoding and vmad2 modifiers 2021-05-28 09:36:35 +02:00
sunho
fc21e2c96f renderer: Overhaul fragment masking 2021-05-27 04:06:42 +02:00
DerRM
bf2cd46b89 shader: Fix USSE swizzle accessors
for example when having assembly like:
VF16MUL pa0.xyzw pa2.111w pa0.xyz1
the wrong swizzle is used in the generated spirv
2021-05-24 15:21:32 +02:00
pent0
7f0ced1f79 shader: Implement SOP2M 2021-05-24 02:31:12 +02:00
sunho
b9ed7723b1 shader: Use only first vdual op's src_count to decide swizzle format 2021-05-21 20:21:21 +02:00
sunho
80d29e85bc shader: Fix vmovc8 and vmovc
(cherry picked from commit 404198b90c9dede1a87adf62d0d8875c526647cb)
2021-05-21 20:21:21 +02:00
sunho
daab859409 shader: Add basic implementation of VTSTMSK 2021-05-21 20:21:21 +02:00
sunho
e17d2057c2 shader: Support uint in data_type_str 2021-05-21 20:21:21 +02:00
sunho
c8948ff204 shader: template make_uniform_vector_from_type 2021-05-21 20:21:21 +02:00
pent0
7fb0c4ed1a shader: Eliminate bias for normalize 2021-05-21 20:19:39 +02:00
sunho
5a5b9b78d7 shader/vpck: Correct no cycling 2021-05-21 20:19:09 +02:00
sunho
4f6f66c6de shader: Disable early fragment test in non-nativecolor shaders 2021-05-19 16:10:54 +02:00
pent0
91d61d2100 shader: Eliminate the use of big memory array for fetching ease 2021-05-19 16:10:06 +02:00
bookmist
dc460ddb83 shader/translator: add DUAL FADD handling 2021-05-12 00:13:11 +02:00
Foma Nikitin
18666c9aec shader: Fix frag coord getting not available on fragment input generation. 2021-05-11 15:15:13 +02:00
pent0
14a8a9f0e3 shader: Fix int to float reinterpret casting missing cases. 2021-05-09 17:27:43 +02:00
pent0
70e0224403 shader/utils: Handle constant swizzle inside FPCONSTANT swizzling 2021-04-30 08:59:34 +02:00
pent0
8bd0578966 shader/utils: Support loading FPCONSTANT as U32 and U16. 2021-04-30 08:59:34 +02:00
bookmist
abdab99cfc shader: fix compiler warnings 2021-04-26 02:02:17 +02:00
bookmist
1ac4815bee gxm: small refactoring 2021-04-26 02:02:17 +02:00
pent0
36d7103a11 gxm: Handle front/back fragment disable. 2021-04-21 08:15:28 +07:00
totlmstr
ec39def5cd util: Use std::optional for C++17 builds
Boost.Optional is still used for lower C++ standard builds.
2021-04-21 08:14:40 +07:00
pent0
c60cf33705 shader/alu: Fix maximum bits allowed on decode_dest when destination is not unified vector.
Since we did not double, the maximum bits should be 1 less, so 7.
2021-04-06 01:40:45 +02:00
pent0
93f0c31484
shader/alu: Correct when to double register for unified dest dual (#1212) 2021-04-04 10:21:46 +02:00
Zangetsu38
7302bd664c shader: expand out register bank size.
Fix dbz
2021-03-16 23:08:45 +01:00
mangren
9f49c63e98 shader: Implement POINTCOORD
fix shader crash TxK
2021-03-16 20:20:40 +07:00
pent0
640ec5b786
renderer/opengl: Use spir-v when possible (#1180) 2021-03-02 20:44:14 +01:00
korenkonder
416d5014e0
shader/alu: Fix typos for vsrc1 and one warning. (#1173) 2021-02-22 16:46:57 +01:00
Pedro Montes Alcalde
100a7a6bfe
vita3k: Some refactor on compiler warnings (#1170) 2021-02-22 15:59:47 +01:00
mangren
ea371b1bef shader: Handle stripped symbols shader 2021-02-19 21:01:49 +07:00
mangren
e61594c38d gxm: Remove compability features for handwritten shader 2021-02-16 10:21:36 +01:00
mangren
2cebd902c1 shader: Only multiply flip vec with viewport enable
fix weird issues with viewport disabled game not working with hardware flip
2021-02-16 06:07:18 +01:00
mangren
5f113bdd2a shader: Add location decorator for each input attribute
rules are linear allocation, each variable has size in float unit aligned to 4
2021-02-16 06:07:18 +01:00
mangren
1159952df7 shader: Implement built in VertexID and InstanceID 2021-02-07 10:19:38 +01:00
mangren
986a4302a2 shader/translator: Fix wrong source bits in smp 2021-02-05 23:03:23 +01:00
mangren
949b1801b1 shader: Correct buffer load base offset
Fill in a missing field, collected from analysing multiple shaders
2021-02-05 23:03:23 +01:00
mangren
4223989e63 shader: Correct source number of VDP and VMAD
Also the predicates translation
2021-02-05 23:03:23 +01:00
mangren
6a4a57ee50 shader: Correct predicates of Non-mad instruction
They seems to use custom
2021-02-05 23:03:23 +01:00
mangren
933277adc9 shader: Correct mask write f32 2021-02-05 23:03:23 +01:00
mangren
0d061c9037 shader/translator: Add support for detecting CMP integer 2021-02-05 23:03:23 +01:00
mangren
048a5cb6f1 shader/ialu: Implement I8MAD 2021-02-05 23:03:23 +01:00