Commit graph

224 commits

Author SHA1 Message Date
wheremyfoodat
b027cda648 [Shader JIT[ Remove shadow stack stuff, remove pushing/popping context pointer 2023-06-28 22:31:51 +03:00
wheremyfoodat
28e9d87573 [Shader JIT] Start migrating to new, better ABI 2023-06-28 22:22:09 +03:00
wheremyfoodat
02d07f29d7 Merge remote-tracking branch 'origin/GamingProcessingUnit' into dynapica 2023-06-27 18:53:59 +03:00
fleroviux
4cb7e3625b Merge branch 'master' of github.com:fleroviux/Panda3DS into pica-tev-emulation 2023-06-20 22:47:47 +02:00
fleroviux
9b1ed2084f [GPU] Implement initial support for multi-texturing 2023-06-20 00:01:12 +02:00
wheremyfoodat
6b5ec74aa4 [OutputVertex] Avoid unnamed struct 2023-06-18 23:59:41 +03:00
wheremyfoodat
952e2d6d22 More accurate VAO implementation 2023-06-18 23:20:28 +03:00
Wunkolo
838d3f27f9 Migrate PICA-types into PICA namespace
Rather than prefixing these types with `PICA`, a namespace is used instead.
2023-06-17 18:23:47 -07:00
Wunkolo
78a3f9fa23 Add PICA texel-format and topology types
Slowly stepping the codebase towards having renderer-agnostic types and keeping the translation of PICA-types to OpenGL/VK/DX/Software/etc to the renderer-backend.
2023-06-17 12:26:41 -07:00
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