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
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
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
wheremyfoodat
e80679fe77
Geometry pipeline v2
...
Co-Authored-By: Sky <skylersaleh@gmail.com>
2023-02-26 20:41:33 +02:00
wheremyfoodat
dd17b2ecb8
[PICA] Start working on textures
2023-01-31 21:34:42 +02:00
wheremyfoodat
bbb62a83d0
[PICA] Implement RCP
2023-01-07 01:34:34 +02:00
wheremyfoodat
ecbb33b906
[GPU] Surface cache vol 1
2023-01-02 15:01:17 +02:00
wheremyfoodat
57ef4e25e7
Separate renderer and PICA completely
2023-01-01 22:06:54 +02:00
wheremyfoodat
e1ac986009
[GPU] DMA
2022-12-11 21:32:36 +02:00
wheremyfoodat
448f84ceb4
[PICA] Implement MAX
2022-12-07 02:31:41 +02:00
wheremyfoodat
f9079f9dce
[Shader interpreter] Implement CALL
2022-10-12 00:28:50 +03:00
wheremyfoodat
5f7804e99f
[GPU] Stub FlushCacheRange, increase size of shader memory
2022-10-09 19:48:51 +03:00
wheremyfoodat
8b85255f4c
[PICA] Alpha test and some new registers
2022-10-01 02:40:08 +03:00
wheremyfoodat
4d1bb6f866
[PICA] Fix more shader bugs
2022-09-27 02:27:41 +03:00
wheremyfoodat
f90dd2d60b
[PICA] Start fixing shader bugs & adding depth (Breaks Mario for now :( )
2022-09-27 00:31:59 +03:00
wheremyfoodat
979519f785
[PICA interpreter] Implement RSQ, MAD, CALLU and boot SM64
2022-09-26 01:05:03 +03:00
wheremyfoodat
f4fabdae40
[PICA interpreter] Implement min
2022-09-26 00:07:59 +03:00
wheremyfoodat
71814debac
[PICA interpreter] Implement ifc, cmp
2022-09-25 23:59:09 +03:00
wheremyfoodat
cd2da6d50f
[PICA] Implement dp3
2022-09-25 18:41:32 +03:00
wheremyfoodat
3706c7ee0c
[PICA] Implement loops
2022-09-25 18:34:36 +03:00
wheremyfoodat
a5c6fb858f
[PICA] Implement int uniforms
2022-09-25 17:45:59 +03:00
wheremyfoodat
9eb661c768
[PICA] Implement address registers
2022-09-25 16:12:35 +03:00
wheremyfoodat
63ff2ac0de
[PICA interpreter] Implement mova
2022-09-25 15:35:28 +03:00
wheremyfoodat
61212c9341
[PICA] Implement mul
2022-09-24 03:11:36 +03:00
wheremyfoodat
f22d389591
[PICA] Implement add
2022-09-24 03:05:59 +03:00
wheremyfoodat
be4fae5104
Trongle
2022-09-24 02:45:57 +03:00
wheremyfoodat
75070ca6ef
[PICA interpreter] Implement dp4, end
2022-09-23 15:49:56 +03:00
wheremyfoodat
ce07b7e5e0
[PICA] We can now upload floating point uniforms for real
2022-09-23 14:31:26 +03:00