Commit graph

138 commits

Author SHA1 Message Date
wheremyfoodat
952e2d6d22 More accurate VAO implementation 2023-06-18 23:20:28 +03:00
Wunkolo
6ee3f73335 Bisect TextureFmt and ColorFmt
Makes framebuffer-formats unrepresentable from texture formats while
allowing them to alias each other. Add utility functions as well that
just re-use the `TextureFmt` ones.
2023-06-18 08:22:14 -07:00
Wunkolo
134e16d8ea Replace Texture::Formats with PICA::ColorFmt
This enum was a duplicate of the PICA one. Now the PICA one is more
complete. Migrate `textureFormatToString` to be next to the enums
definition.
2023-06-18 00:10:04 -07:00
Wunkolo
5f07f77c94 Move hasStencil to regs.hpp 2023-06-17 23:27:19 -07: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
0199918cd2 Add missing header for regs.hpp
This enum was using the `u32` type without including `helpers.hpp`, causing weird intermediate compiler errors when making incremental builds.
2023-06-16 05:48:33 -07:00
wheremyfoodat
b34d009520 Add comments explaining the hashing algorithms 2023-06-14 16:51:38 +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
137b652840 [Shader JIT] Attempt to add CALLC/JMPC/JMPU/LOOP 2023-06-11 23:43:47 +03:00
wheremyfoodat
48b2af6a17 [Shader JIT] Mix in AVX-128 in some places, fix cmp 2023-06-11 01:49:08 +03:00
wheremyfoodat
4655ae0842 [Shader JIT] Fix JIT-less build 2023-06-10 22:08: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
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
fb11fd4440 Fix merge conflict screwing up everything 2023-06-08 22:50:59 +03:00
wheremyfoodat
46a47912d8 [ShaderJIT] Add const qualifier to JIT callbacks 2023-06-08 22:48:37 +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
4541841da5 More boilerplate 2023-06-07 02:57:00 +03:00
wheremyfoodat
9ac8817ee3 More vertex loader JIT files 2023-06-07 02:16:22 +03:00
wheremyfoodat
31bb1e8e0b Add Xbyak submodule 2023-06-07 01:01:59 +03:00
wheremyfoodat
cd1323d57e [PICA] == to >= in uniform upload 2023-05-08 23:05:47 +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
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
wheremyfoodat
672e782990 [PICA] Implement FLR 2023-03-12 04:47:34 +02:00
wheremyfoodat
63075f1830 [PICA] Indexed add 2023-03-12 04:39:27 +02:00
wheremyfoodat
e69e95af69 [FS] Implement SaveData sort of. 2023-03-12 03:19:46 +02:00
wheremyfoodat
9f61fc0a4e [PICA] Implement JMPC 2023-03-11 00:06:42 +02:00
wheremyfoodat
3be6553207 [PICA] Add JMPU 2023-03-10 04:50:47 +02:00
wheremyfoodat
9f7a86fc01 [PICA] Add support for nested command lists 2023-03-10 04:39:41 +02:00
wheremyfoodat
4b85ac8cc5 [PICA] Implement CALLC 2023-03-10 00:00:54 +02:00
wheremyfoodat
922424b8d0 Immediate mode vertex submission attempt 1 2023-03-06 01:43:39 +02:00
wheremyfoodat
6ecdf71dbc [PICA] Add VSH_ATTR_NUM to reg definition 2023-03-06 01:24:05 +02:00
wheremyfoodat
e9673c9255 [PICA] Add DepthmapEnable reg to enum 2023-03-04 03:32:11 +02:00
wheremyfoodat
f9669ce79c [PICA] Add depth buffer format reg 2023-03-03 00:58:36 +02:00
wheremyfoodat
8d82ffeee7 [PICA] Commit forgotten texture code (Oops) 2023-02-27 15:39:27 +02:00
wheremyfoodat
bf34410e4b [PICA] Blending register definitions 2023-02-27 01:59:28 +02:00