Commit graph

472 commits

Author SHA1 Message Date
Mary
122b1b2727 hle: Add proper type for result code
This should clean up all HLE errorcode in the codebase.

I didn't removed Rust::Result as this should be a cleanup for another
iteration.
2023-06-16 20:09:37 +02: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
Wunkolo
fde93381a5 Use std::span for CPU register-state
Following the trend of #33: `std::span` provides some useful utility
functions like `size_bytes()` and `as_bytes()` and serves as a better
non-owning "chunk of data"-type over just passing around an
`std::array&`.
2023-06-16 07:24:37 -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
fleroviux
2e85f30c10 [GPU] attempt to emulate the previous TEV color buffer 2023-06-16 01:34:11 +02:00
fleroviux
525890bff7 [GPU] Upload configuration for all texture combiners to the shader program
Upload the configuration register values for the remaining texture combiners to the
shader program's uniforms. This is in preparation for emulating those texture combiners next.
2023-06-15 23:27:33 +02:00
fleroviux
4322ebda2c [GPU] Start texture combiner implementation
This commit first implements experimental and incomplete
texture combiner support. Currently only the first texture combiner
is implemented. Many sources and combine modes are not implemented yet.
2023-06-15 22:45:13 +02: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
3606c005c5 Merge branch 'master' into dynapica 2023-06-14 13:55:15 +03:00
wheremyfoodat
8e90b8a103 [GPU] Bottom screen stub 2023-06-13 22:47:01 +03:00
wheremyfoodat
5200c10b27 [Emulator] Handle left click 2023-06-13 15:41:02 +03:00
wheremyfoodat
137b652840 [Shader JIT] Attempt to add CALLC/JMPC/JMPU/LOOP 2023-06-11 23:43:47 +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
cf35491fb1 [APT] Stub APT::PreloadLibraryApplet 2023-06-11 13:28:21 +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
4655ae0842 [Shader JIT] Fix JIT-less build 2023-06-10 22:08:15 +03:00
wheremyfoodat
48e25870a5 Add const equvalent for OpenGL::Vector operator[] 2023-06-10 16:09:13 +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
wheremyfoodat
deba1561ce Merge branch 'master' into dynapica 2023-06-10 12:54:59 +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
c7e3343974
Merge pull request #13 from wheremyfoodat/HID
HID service make-over
2023-06-06 18:42:53 +03:00
xkevio
dee81bc62d Add <type_traits> header for std::integral_constant 2023-06-06 02:11:07 +02:00
xkevio
463c47af4f Fix GCC build error by correctly including <utility> header
This is needed to not rely on implementation defined behavior
regarding transitive header includes, here for std::integer_sequence.
2023-06-06 01:57:07 +02:00
wheremyfoodat
dea8b9ec2e [HID] Redo service 2023-06-06 00:57:48 +03:00
wheremyfoodat
629e00251c [HID] Remap keys 2023-06-05 22:43:59 +03:00
wheremyfoodat
0c0e7a4cb9 Clean up srv interface for HID 2023-06-05 15:28:44 +03:00
liuk7071
608bf88c5f Basic input 2023-06-05 13:25:06 +02:00
wheremyfoodat
1b3c17c9a0 Merge branch 'master' into DSP-n-FS-work 2023-06-03 22:51:41 +03:00