Commit graph

232 commits

Author SHA1 Message Date
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
mangren
ae25063e0e shader/translator: Use all 4 components when do ALU dot 2021-01-16 20:02:47 +01:00
pent0
9e5b977bc4
Merge pull request #1081 from pent0/vtt
shader: Fix typos and implement high/low modifier for IMAD32
2021-01-08 21:51:26 +07:00
mangren
f6f20a3775 shader: Correct constant lookup
fix regressions and also clear out how it works
2021-01-08 20:40:40 +07:00
mangren
9ad5c13012 shader: Rotate VDP write mask instead giving current repeat
Well because disasm is wrong lol and no easy way to fix
2021-01-08 20:40:29 +07:00
mangren
5b922469c1 shader: Correct repeat offset behaviour on GPI sources
- Don't ignore INTERNAL repeat mode on GPI sources
- Otherwise GPI source does not get affected by repeat offset
2021-01-08 20:32:09 +07:00
mangren
5024698b1d shader: Add repeat multiplier and edge cases of its for VMOV and VPCK 2021-01-07 00:22:09 +07:00