wheremyfoodat
005db316cf
More shader instruction definitions
2023-07-01 01:17:04 +03:00
wheremyfoodat
726897231c
[Shader JIT] Fix swizzle when loading from indexed reg
2023-07-01 00:49:34 +03:00
wheremyfoodat
5fecb6023a
[Shader JIT] Fix MAD (again)
2023-06-30 23:59:34 +03:00
wheremyfoodat
3199f8ae67
[Shader JIT] Stub EMIT/SETEMIT
2023-06-30 14:39:25 +03:00
wheremyfoodat
3476d336ca
[Shader JIT] Implement SLT/SLTI/MADI
2023-06-30 14:17:35 +03:00
wheremyfoodat
8a13b8c878
[Shader JIT] Compile MAD to FMA when possible
2023-06-30 02:02:56 +03:00
wheremyfoodat
cd04ed3770
[ShaderJIT] Fix storeRegister kinda hackily
2023-06-30 01:42:36 +03:00
wheremyfoodat
121653b806
[ShaderJIT] Add logging utility for diffing
2023-06-29 22:02:17 +03:00
wheremyfoodat
3603ee1e13
[ShaderJIT] Move prepare call to top of DrawArrays
2023-06-29 18:50:10 +03:00
wheremyfoodat
2ffb3a58bf
Merge branch 'GamingProcessingUnit' into dynapica
2023-06-29 01:14:40 +03:00
wheremyfoodat
3ec446b0a2
[GPU] Implement vertex cache
2023-06-29 00:56:01 +03:00
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