Commit graph

232 commits

Author SHA1 Message Date
pent0
941791b1d4 shader: Add glsl compiler. 2022-05-31 00:12:16 +02:00
sunho
df1378486d shader: support regformat vertex attributes. 2022-05-31 00:12:16 +02:00
pent0
f803e61520 shader: Assume 0 means integral type
- How it samples depends on the active texture type.
  So fix some games.
2022-05-30 23:46:57 +02:00
pent0
48ddae8c28 renderer: Fix proj typo and stenciling ref got removed.
- And leftover image bindings
2022-05-30 23:46:57 +02:00
pent0
764342b6e4 renderer: Add depth-stencil surface cache sampling and U32U32 texture surface. 2022-05-30 23:46:57 +02:00
pent0
b7256ff275 shader: Correct buffer copy to register offset. 2022-05-30 15:14:06 +02:00
pent0
fae2ad163b renderer: Preserve f16f16f16f16 surface data as u16u16u16u16.
- Some drivers clamped the value nan and the data lost meaning
2022-05-30 15:01:09 +02:00
Zangetsu38
50f12efeb2 shader/spirv recompiler: handle default sampler value when no exist. 2022-05-30 14:43:57 +02:00
Macdu
7736233ebe shader: Fix VMAD dest repeat 2022-05-29 01:18:48 +02:00
Macdu
055d2d9321 shader: Handle 16-bit bitwise instructions 2022-05-27 16:47:23 +02:00
pent0
4d4bacac80 shader/gxp parser: Set default sampler and stripped symbols.
- should fix crash to allow ingame of DQB and Durara relay.
2022-05-27 15:43:12 +02:00
pent0
c399dcb00e renderer/gl: Reuse the cached surface if available and support casting.
Move screen render to renderer module. It does not make much sense to be in app module now.
2022-05-27 14:38:44 +02:00
Macdu
2791bc3eed shader: Fix i16mad 2022-05-26 21:55:51 +02:00
pent0
639a1aeaf3 shader: Fix INTERNAL2 source and source mask for VDP. 2022-05-20 10:57:12 +02:00
pent0
6b4832ded8 shader: Implement I16MAD for spir-v. 2022-05-20 10:57:12 +02:00
pent0
58808c9c59 shader/branch cond: Fix typo of OpINotEqual. 2022-05-20 10:57:12 +02:00
pent0
01b23ec9e5 shader/alu/dual: Adjust config 3 layout of dual.
- Based on some tests that is visible on assasin's creed chronicles.
  All 3 text shaders all have src_config = 3. And it uses internals1 x unified.
2022-05-19 14:41:17 +02:00
pent0
498cd0ae32 shader: Fix source load comp count not matching dest mask.
- Just use it right away on vector operation
2022-05-18 23:41:40 +02:00
hobyst
e335a78e30 renderer & shader: Replace Microprofile with Tracy 2022-05-07 17:52:12 +02:00
bookmist
0b9f69f3ad shader: update version of SPIRV-Cross and glslang 2022-04-21 13:00:12 +02:00
pent0
17bf2263eb shader: Implement gradient LOD mode for smp.
- Fix stay black screen
2022-04-12 16:43:00 +02:00
pent0
7acd5eb011 shader: Fix normalize signed type.
- For Gravity rush texture (japan studio/skin/cloth)

Co-authored-by: Zangetsu38 <dante38@free.fr>
2022-03-29 18:42:29 +02:00
Zangetsu38
9d316d431b shader/usse utilities: fix get comp_count value. 2022-03-25 04:23:19 +01:00
pent0
509467c531 shader: Fix VDP not store whole dest mask. 2022-03-23 14:46:58 +01:00
Sergi Granell
230ea66a64 shader: spirv_recompiler: use std::ifstream instead of fs::ifstream 2022-03-21 20:16:59 +07:00
Sergi Granell
ee05d7d2ca shader: spirv_recompiler: add missing include <list> 2022-03-21 20:16:59 +07:00
Sergi Granell
3a26283a0f shader: SwizzleChannel: add C_ prefix
It might conflict with system headers (ctype.h).
2022-03-21 20:16:59 +07:00
bookmist
931bbe4103 shader/branch_cond: fix a warning 2022-03-17 06:16:05 +01:00
Zangetsu38
77fd8e8f78 project: run format. 2022-03-16 02:11:11 +01:00
pent0
e747ef9cee shader: Implement LIMM
- Fix bald miku.
2022-03-16 02:10:48 +01:00
Sergi Granell
bbd110e47e gxm: split public SceGxm types and internal+opaque SceGxm types 2022-03-16 07:57:54 +07:00
tcoyvwac
6ce0f913bb shader/translator: refactor using standard algorithms
Prefer std::any_of over raw range-for loop.
2022-02-19 17:47:06 +01:00
bookmist
9f6772c36d shader/translator: optimisation. implement operation any OR 0 as assign 2022-02-06 20:34:43 +01:00
pent0
2f41b0e253 shader: Fix non-F32 components not all stored 2021-12-08 13:20:55 +01:00
pent0
4a654d8a62 shader: Correct default UB index in input analyzing. 2021-12-07 14:32:11 +01:00
Larry
4675931e37 shader: Fix vert and frag shaders may have same sampler symbols 2021-11-30 06:17:37 +01:00
Larry
7f679634ed modules/SceGxm: Add first step cube texture support. 2021-11-30 06:17:37 +01:00
Larry
d356352e94 renderer: fix interlock missing. 2021-11-24 13:55:35 +01:00
Larry
ef9510cfae modules/SceGxm: Implement sceGxmSetVertexTexture.
- Add vertex texture implementation, add set vertex texture for non precomputed
2021-11-24 10:20:56 +01:00
Larry
61e46ef350 shader: Try correct address of non-fetch load/store. 2021-11-24 10:16:01 +01:00
Larry
65baa66720 shader: Correct src2_vscomp apply condition 2021-11-23 16:19:49 +01:00
pent0
a435a49bcf shader: Group all buffers to single SSBO per stage
renderer: Fix wrong uniform buffer location in SSBO
2021-11-17 15:54:54 +01:00
pent0
4ed3c5eb39 renderer: Upgrade to OpenGL 4.3 2021-11-10 05:43:18 +01:00
pent0
439d282dd1 shader: Detect final conditional merge point in a loop-only block
- and add continue node
2021-10-18 14:30:35 +02:00
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