Commit graph

349 commits

Author SHA1 Message Date
fleroviux
3aeef23b2e Merge branch 'bottom-screen' of github.com:fleroviux/Panda3DS into pica-tev-emulation 2023-06-17 12:38:33 +02:00
fleroviux
b854367676 [GPU] Move TEV uniforms update into its own method 2023-06-17 01:58:30 +02:00
wheremyfoodat
7b859ad602 Merge branch 'master' into bottom-screen 2023-06-17 02:19:30 +03:00
wheremyfoodat
245f0d2d18 Merge branch 'master' into bottom-screen 2023-06-17 02:11:14 +03:00
wheremyfoodat
1aab10bec7
Merge pull request #35 from Wunkolo/span-cpu-state
Use `std::span` for CPU register-state
2023-06-17 01:39:33 +03:00
wheremyfoodat
2f3bc5d38e [CPU] fprs() should return std::span<u32, 32> (Fixes memory corruption bug in threads.cpp) 2023-06-16 22:20:59 +03:00
wheremyfoodat
936302da2a Raise clang-format column size, make std::span support in opengl.hpp version-dependent 2023-06-16 22:06:59 +03: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
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
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
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
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
wheremyfoodat
7cc7dc09f4 [FS] Implement File::Flush and fix file function headers 2023-06-03 22:25:30 +03:00
wheremyfoodat
e9a8c2cb2e ExtSaveData pls 2023-06-03 22:04:26 +03:00
wheremyfoodat
e831d9f0e5
Update logger.hpp 2023-06-03 01:43:46 +03:00
wheremyfoodat
e3fb364d95 Add DLP::SRVR service 2023-06-03 01:25:51 +03:00
wheremyfoodat
62936ddfac [DSP] Annotate pipe 2 addresses 2023-06-03 01:24:52 +03:00
wheremyfoodat
433fcc9b69 [DSP] Add UnloadComponent 2023-06-03 01:24:51 +03:00
wheremyfoodat
fdeb45d188 [DSP] HLE DSP state & some of the audio pipe 2023-06-03 01:24:51 +03:00
wheremyfoodat
7034aa27d7 Add DLP::SRVR service 2023-05-27 00:32:43 +03:00
wheremyfoodat
4767a2053b [FS] Better GetFormatInfo 2023-05-20 15:39:31 +03:00
wheremyfoodat
9ec2964695 [FS] Add FormatThisUserSaveData 2023-05-20 01:24:30 +03:00
wheremyfoodat
6369fc8eb0 [DSP] Annotate pipe 2 addresses 2023-05-17 02:34:48 +03:00
wheremyfoodat
35aea21679 [DSP] Add UnloadComponent 2023-05-17 01:33:39 +03:00
wheremyfoodat
e7085dd830 [DSP] HLE DSP state & some of the audio pipe 2023-05-17 01:17:10 +03:00
wheremyfoodat
4dc04be350 [FS] Formatting archives v1 2023-05-16 23:37:52 +03:00
wheremyfoodat
2f5bb45d58 [FS] OpenArchiveHandle returns Result<T, E> 2023-05-16 20:49:31 +03:00
wheremyfoodat
0b0d6dcf4b [FS] Archive::OpenArchive returns Result<T, E> now 2023-05-14 19:31:51 +03:00
wheremyfoodat
37fb660c7f [FS] Added error codes 2023-05-14 18:23:54 +03:00
wheremyfoodat
cd1323d57e [PICA] == to >= in uniform upload 2023-05-08 23:05:47 +03:00
wheremyfoodat
09ba66ae60 [Kernel] Fully implement semaphores 2023-05-07 18:02:51 +03:00
wheremyfoodat
7c68e70ba4 MacOS OpenGL memes 2023-05-07 02:03:24 +03:00
wheremyfoodat
ac43c09ebd [CPU] Add better cycle counting 2023-05-07 00:36:36 +03:00
wheremyfoodat
aa1cfa7add [CFG] Add GetSystemModel 2023-05-01 20:37:48 +03:00
wheremyfoodat
6419098851 [HID] Implement events 2023-04-29 02:45:21 +03:00