Commit graph

215 commits

Author SHA1 Message Date
Wunkolo
553d23974a Use std::span to pass vertex data
Starts utilizing
[std::span](https://en.cppreference.com/w/cpp/container/span) to
indicate a non-owning view of a contiguous array of elements rather than
`T* data, usize count`.
2023-06-16 07:28:35 -07:00
wheremyfoodat
519fb35c5f Less UB 2023-06-16 14:22:29 +03: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
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
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
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
ccd7ef3a23 [DSP] Add other pipes for Picross 3D 2023-06-11 14:11:50 +03:00
wheremyfoodat
cba1ce8fb8 Implement 8-bit VRAM writes 2023-06-11 13:14:35 +03: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
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
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
wheremyfoodat
2cb249927e [ShaderJIT] FIx crashes, moar instructions 2023-06-10 01:28:28 +03:00
wheremyfoodat
1aea8199c5 [ShaderJIT] CALL, DP4, IFC, IFU, MUL, RSQ 2023-06-10 00:58:38 +03:00
wheremyfoodat
1fe44c0098 [ShaderJIT] Add cmp 2023-06-09 22:31:06 +03:00
wheremyfoodat
ca3ae7a16e [Shader JIT] Add more function definitions 2023-06-09 17:14:04 +03:00
wheremyfoodat
fd411245fa [Shader JIT] Get first JIT trangle 2023-06-09 02:28:59 +03:00
wheremyfoodat
9bb1f31fc9 [ShaderJIT] Add MOV 2023-06-09 00:46:17 +03:00
wheremyfoodat
a8611072ea Merge branch 'dynapica' of https://github.com/wheremyfoodat/Panda3DS into dynapica 2023-06-08 22:50:30 +03:00
wheremyfoodat
46a47912d8 [ShaderJIT] Add const qualifier to JIT callbacks 2023-06-08 22:48:37 +03:00
wheremyfoodat
d5eea4b58c [ShaderJIT] Add const qualifier to JIT callbacks 2023-06-08 22:44:57 +03:00
wheremyfoodat
77cba3110d [Shader JIT] Add prologue & some more compilation stuffs 2023-06-08 22:22:28 +03:00
wheremyfoodat
415e276ef9 [Shader JIT] Moar 2023-06-08 18:51:03 +03:00
wheremyfoodat
6a70edca7e [Shader JIT[ Cache harder 2023-06-07 21:25:46 +03:00
wheremyfoodat
4064abfdeb [Shader JIT] Add caching 2023-06-07 20:33:37 +03:00
wheremyfoodat
364443d66f Moar 2023-06-07 18:22:07 +03:00
wheremyfoodat
cf9ed3d460 More shader JIT groundwork 2023-06-07 17:44:46 +03:00
wheremyfoodat
392fa6e595 [PICA] Fix slti/sgei operand descriptor 2023-04-26 21:55:18 +03:00
wheremyfoodat
ab5f6cf31c [PICA] Add slt, sgei 2023-04-26 21:46:10 +03:00
wheremyfoodat
3a674a1ba0 [FS] Implement ControlArchive 2023-04-12 02:19:16 +03:00
wheremyfoodat
eaa7b4d55b [PICA] Implement immediate mode triangle strip & fan 2023-04-11 20:06:18 +03:00
wheremyfoodat
4bef096f04 [FS] Add directory stuff, clean up 2023-03-29 00:23:55 +03:00
wheremyfoodat
5d6bf24a9d [Kernel] Add memory mirroring function & throw warning on mprotect 2023-03-21 02:32:47 +02:00
wheremyfoodat
c6fed2641c [PICA] Implement SLTI 2023-03-12 05:05:19 +02:00
wheremyfoodat
26cce7c58f [PICA] Implement madi 2023-03-12 04:55:06 +02:00