Commit graph

1096 commits

Author SHA1 Message Date
wheremyfoodat
519fb35c5f Less UB 2023-06-16 14:22:29 +03:00
fleroviux
2e85f30c10 [GPU] attempt to emulate the previous TEV color buffer 2023-06-16 01:34:11 +02:00
fleroviux
d153133070 [GPU] fix missing break statements in 'previous' combiner mode implementation 2023-06-16 00:52:00 +02:00
fleroviux
1aa4dea63e [GPU] Add the remaining two TEV units
Looks like I overlooked the fact there actually are fix texture combiners,
not just four. The last two texture combiners are easy to miss, because
there are other GPU registers between the first four combiners and the last two.
2023-06-16 00:41:48 +02:00
fleroviux
e7435e3fdf [GPU] implement TEV combiner chaining and the remaining combine modes 2023-06-16 00:33:42 +02:00
fleroviux
525890bff7 [GPU] Upload configuration for all texture combiners to the shader program
Upload the configuration register values for the remaining texture combiners to the
shader program's uniforms. This is in preparation for emulating those texture combiners next.
2023-06-15 23:27:33 +02:00
fleroviux
e66370598a Fix the formatting which I broke (sorry) 2023-06-15 23:01:16 +02:00
fleroviux
4322ebda2c [GPU] Start texture combiner implementation
This commit first implements experimental and incomplete
texture combiner support. Currently only the first texture combiner
is implemented. Many sources and combine modes are not implemented yet.
2023-06-15 22:45:13 +02:00
wheremyfoodat
79c3cf2661 [Shader JIT] Less UB 2023-06-15 19:30:51 +03:00
wheremyfoodat
3cf4bdd95f [Shader JIT] Use rotl+xor for combining hashes
Co-Authored-By: Wunk <wunkolo@gmail.com>
2023-06-15 01:58:00 +03:00
wheremyfoodat
87ac4d5a0f {GL renderer] Better screen stub 2023-06-14 21:47:17 +03:00
wheremyfoodat
f0f7327b90 [PICA] Switch to xxh3 by default 2023-06-14 15:39:29 +03:00
wheremyfoodat
f82b27ddba Add xxhash 2023-06-14 14:46:11 +03:00
wheremyfoodat
3606c005c5 Merge branch 'master' into dynapica 2023-06-14 13:55:15 +03:00
wheremyfoodat
8284c3cda4 Remove printf 2023-06-14 13:49:47 +03:00
wheremyfoodat
8e90b8a103 [GPU] Bottom screen stub 2023-06-13 22:47:01 +03:00
wheremyfoodat
2520b2cb46 [GPU] Disable blend when rendering output texture 2023-06-13 20:38:17 +03:00
wheremyfoodat
4f619086e9 [HID] Add touchscreen 2023-06-13 15:44:55 +03:00
wheremyfoodat
5200c10b27 [Emulator] Handle left click 2023-06-13 15:41:02 +03:00
wheremyfoodat
f538d38c98 [Shader JIT] Add index = 3 to indexed register addressing 2023-06-12 00:16:21 +03:00
wheremyfoodat
3f2b713c4b [Shader JIT] Attempt to implement FLR and CALLU 2023-06-11 23:51:45 +03:00
wheremyfoodat
137b652840 [Shader JIT] Attempt to add CALLC/JMPC/JMPU/LOOP 2023-06-11 23:43:47 +03:00
wheremyfoodat
0c213900bc
[FS] Actually add FlushFile 2023-06-11 23:24:12 +03:00
wheremyfoodat
71fd8de92f [Shader JIT] Add MIN 2023-06-11 22:08:02 +03:00
wheremyfoodat
ff3c162ebc Merge branch 'master' into dynapica 2023-06-11 14:44:24 +03:00
wheremyfoodat
315ab1fa16 Merge branch 'master' into dynapica 2023-06-11 14:43:03 +03:00
wheremyfoodat
378258ed0b [DSP] Fix up warnings/logs 2023-06-11 14:20:13 +03:00
wheremyfoodat
ccd7ef3a23 [DSP] Add other pipes for Picross 3D 2023-06-11 14:11:50 +03:00
wheremyfoodat
cf35491fb1 [APT] Stub APT::PreloadLibraryApplet 2023-06-11 13:28:21 +03:00
wheremyfoodat
cba1ce8fb8 Implement 8-bit VRAM writes 2023-06-11 13:14:35 +03:00
wheremyfoodat
5fa4e9e178
[SaveData] Handle size == 0 in CreateFile 2023-06-11 12:31:42 +03:00
Wunkolo
8a852d2cab Implement SaveDataArchive::createFile
Based on `ExtSaveDataArchive::createFile`. Gets some games farther that
try to create save-data upon boot.
2023-06-11 01:05:48 -07:00
wheremyfoodat
48b2af6a17 [Shader JIT] Mix in AVX-128 in some places, fix cmp 2023-06-11 01:49:08 +03:00
wheremyfoodat
18df6f9531 [ShaderJIT: MOVA] Fix oopsie 2023-06-10 23:49:42 +03:00
wheremyfoodat
239cc3e495 Typo
Co-Authored-By: liuk707 <62625900+liuk7071@users.noreply.github.com>
2023-06-10 23:37:26 +03:00
wheremyfoodat
402991a7ce Comment 2023-06-10 23:33:28 +03:00
wheremyfoodat
b5dbc40587 [Shader JIT] Fix CMP instruction when cmpX == cmpY 2023-06-10 23:18:33 +03:00
wheremyfoodat
158cbb8be1 [Shader JIT] Improve call/return 2023-06-10 21:50:05 +03:00
wheremyfoodat
7e6f267462 [Shader JIT] Implement returning 2023-06-10 18:20:15 +03:00
wheremyfoodat
3c0ca97b55 [Shader JIT] Add indexed register addressing 2023-06-10 17:54:07 +03:00
wheremyfoodat
5dcd828f66 [ShaderJIT] Implement mova 2023-06-10 17:25:16 +03:00
wheremyfoodat
48e25870a5 Add const equvalent for OpenGL::Vector operator[] 2023-06-10 16:09:13 +03:00
wheremyfoodat
df414acc23 [ShaderJIT] Migrate to #18 2023-06-10 14:04:15 +03:00
wheremyfoodat
b04ad7215b Clean up some getBits code 2023-06-10 13:22:34 +03:00
wheremyfoodat
bf125bf2cf Merge branch 'master' into dynapica 2023-06-10 12:55:43 +03:00
wheremyfoodat
deba1561ce Merge branch 'master' into dynapica 2023-06-10 12:54:59 +03:00
wheremyfoodat
fd600a59c1
Merge pull request #18 from Wunkolo/bext
Add `Helpers:{getBits,getBit}`
2023-06-10 12:54:31 +03:00
Wunkolo
2c94d0d683 Add Helpers:{getBits,getBit}
`constexpr` functions for extractint bitfields that lends itself a bit
better to emitting instructions like `bextr` on x86 or `ubfx` on arm64.
And may subjectively make things a bit more readable.
"Extract `5` bits" rather than `& 0x1F`.
2023-06-10 00:48:06 -07:00
Wunkolo
2edc9d5fb7 Remove #pragma once from source file 2023-06-09 20:31:25 -07:00
wheremyfoodat
2cb249927e [ShaderJIT] FIx crashes, moar instructions 2023-06-10 01:28:28 +03:00