wheremyfoodat
69c79a7f6c
Ubershader: Add lighting shadergen override
2024-07-20 03:40:50 +03:00
Paris Oplopoios
af552edd9d
Remove dependency of PICA regs in fragment config ( #541 )
...
Remove dependency of PICA regs in fragment config
Nyom
Nyom part 2
Nyom 3: The final nyom
Nyom 4: The nyomening
Nyom 5: The final Nyom for real
2024-07-20 02:37:49 +03:00
wheremyfoodat
eb7e02fbc2
Shadergen: Remove redundant whitespace generation
2024-07-19 18:20:21 +03:00
wheremyfoodat
9415cee59a
Enable shadergen by default for now
2024-07-19 18:02:42 +03:00
offtkp
e4550b3e4f
Fix pokedex3d on specialized shaders
2024-07-19 15:55:02 +03:00
wheremyfoodat
5c1e2912a3
Shadergen: Minimize shader compilation time by caching the default VS
2024-07-19 14:35:01 +03:00
wheremyfoodat
ac55c3e324
Shadergen: Fix small register decoding oopsie
2024-07-19 03:01:12 +03:00
offtkp
25098082c7
Use lutID instead of lutIndex
2024-07-19 02:45:09 +03:00
wheremyfoodat
90abf8a376
Fix signedness mess-ups in shaders
2024-07-19 01:31:04 +03:00
wheremyfoodat
53c76ae0d4
Shadergen: Fix spotlight
2024-07-18 23:57:43 +03:00
wheremyfoodat
bd38f9a8ab
Shadergen: Add spotlight
2024-07-18 23:34:23 +03:00
wheremyfoodat
2f50038db9
Shadergen: Lighting almost 100% working
2024-07-18 22:56:05 +03:00
wheremyfoodat
b4ae32960c
Moar lighting
2024-07-18 20:10:20 +03:00
wheremyfoodat
00037d8a5e
Shadergen: Start implementing lighting
2024-07-18 19:27:12 +03:00
wheremyfoodat
e1268f57b5
Shadergen: Fix attribute declarations
2024-07-18 04:23:00 +03:00
wheremyfoodat
7e480e35ec
Shadergen: Upload light uniforms
2024-07-18 03:37:11 +03:00
wheremyfoodat
ccf9693877
Shadergen: More lighting work
2024-07-18 02:57:41 +03:00
wheremyfoodat
ed00ddc805
Improve lighting register definitions
2024-07-18 00:55:57 +03:00
wheremyfoodat
0fc95ae8ef
Shadergen: Remove trailing newlines
2024-07-17 21:54:56 +03:00
wheremyfoodat
cb0e69847c
Hotfix UBO binding
2024-07-17 21:17:54 +03:00
wheremyfoodat
aad7bb817e
Add setting for ubershaders
2024-07-17 02:25:38 +03:00
wheremyfoodat
219a560cbe
Merge branch 'master' into specialized-shaders-2
2024-07-17 00:10:09 +03:00
wheremyfoodat
967d9398ce
Fix arm64 build
2024-07-16 22:28:20 +03:00
wheremyfoodat
0ecdf00e64
Add accurate shader multiplication option
2024-07-16 22:14:01 +03:00
wheremyfoodat
441aa2346c
Shadergen: Add clipping
2024-07-16 02:20:37 +03:00
wheremyfoodat
c02b382262
Perform alpha test with integers instead of floats
2024-07-16 00:58:52 +03:00
wheremyfoodat
db80131213
Shadergen: Previous buffer should be able to be set even for passthrough TEV stages
2024-07-15 18:27:22 +03:00
wheremyfoodat
b8a186d5cd
Shadergen: Fix add-multiply
2024-07-15 16:34:33 +03:00
wheremyfoodat
a2649ffb76
Simplify TEV code
2024-07-15 15:38:15 +03:00
wheremyfoodat
c535ae43ee
Shader recompiler: Fix dot3 RGBA
2024-07-15 14:34:59 +03:00
wheremyfoodat
11c9279329
Properly flush shader cache
2024-07-15 14:30:21 +03:00
wheremyfoodat
fe53214c86
Shader recompiler: Finish alpha test and stub lighting
2024-07-15 04:51:08 +03:00
wheremyfoodat
0878474e01
Shader recompiler: Add depth mapping
2024-07-15 04:30:04 +03:00
wheremyfoodat
c8eb1c1128
Shader recompiler: Add UBO
2024-07-15 04:10:55 +03:00
wheremyfoodat
fe4bbea2ef
Merge branch 'master' into specialized-shaders-2
2024-07-15 02:53:32 +03:00
wheremyfoodat
133082c232
x64 shader rec: Add support for PICA non-IEEE multiplication
2024-07-15 02:12:04 +03:00
wheremyfoodat
ea59933b18
Simplify alpha test code
2024-07-15 00:46:15 +03:00
wheremyfoodat
c73758959b
Merge branch 'master' into specialized-shaders-2
2024-07-14 23:57:12 +03:00
wheremyfoodat
0e4079f304
a64 shader recompiler: Add DPH/DPHI
2024-07-03 16:23:43 +03:00
wheremyfoodat
842943fa4c
GLSL shader gen: Add alpha test (...half of it I guess)
2024-05-13 00:51:40 +03:00
wheremyfoodat
798c651a17
Merge branch 'specialized-shaderz' into specialized-shaders-2
2024-05-12 23:20:12 +03:00
wheremyfoodat
f004aa6021
Implement GPUREG_VSH_OUTMAP_MASK
2024-04-29 23:02:33 +03:00
Wunk
5284109fd4
Implement shader-interpreter relative MOVA addressing ( #471 )
...
* Add shader uniform-read unit test
* Add unit test f24 vector formatter
* Add Address Register Offset shader unit test
* Implement float-uniform out-of-bound return value
In the case that the resulting float-uniform index is greater than the 96 slots that it has, a result of `{1,1,1,1}` is to be returned.
* Implement shader relative addressing
Fails on the negative unit tests at the moment but passes all of the
others.
* Fix `MOVA` source register indexing
2024-03-22 18:48:03 +02:00
Wunkolo
40e2774b7f
Implement arm64 LG2/EX2
2024-03-19 21:26:13 -07:00
Wunkolo
2b34ef4a89
Implement PICA200 compliant arm64 MUL
...
Adds `emitSafeMUL` to implement a PICA200 compliant multiplication that
handles the special `0 * inf = 0` case.
2024-03-14 12:30:42 -07:00
Wunk
c89fe05b8a
Fix shader-interpreter non-IEEE outputs ( #459 )
...
* Re-enable non-IEEE shader test
* Fix shader-interpreter RCP/RSQ output
Handle the `-0.0` special-case
* Fix shader-interpreter MIN/MAX output
Takes advantage of min/max's properties regarding non-finites to return
NaN depending on its input position:
```
max(NaN, 2.f) -> NaN
max(2.f, NaN) -> 2
min(NaN, 2.f) -> NaN
min(2.f, NaN) -> 2
```
* Fix shader-interpreter FLR indexing bug
`3 - 1` should be `3 - i`
2024-03-12 08:34:02 +02:00
wheremyfoodat
25d8e5807f
Fix dynarmic submodule ( #446 )
...
* Remove dynarmic submodule
* Add dynarmic mirror
* Update oaknut
* Update shader JIT to work with latest oaknut
* Maybe fix oaknut finally
* hlep
* More arm64 shader derps
* Fixing more shader JIT brokenness
* aaaaaaaaaaaa
* Update shader_rec_emitter_arm64.hpp
* Update shader_rec_emitter_arm64.cpp
2024-03-07 19:47:21 +02:00
wheremyfoodat
5ba773a393
Add GLES detection to fragment shader recompiler
2024-03-03 21:04:12 +02:00
wheremyfoodat
67fe3214fe
Add shader cache
2024-03-02 20:41:23 +02:00
wheremyfoodat
ddc14cea09
Fix shader compilation errors
2024-02-29 00:56:24 +02:00