Commit graph

420 commits

Author SHA1 Message Date
fleroviux
1416456035 [GPU] DOT3_RGB(A) modes should remap the operands from [0, 1] to [-1, +1] range 2023-06-18 01:32:32 +02:00
fleroviux
3aeef23b2e Merge branch 'bottom-screen' of github.com:fleroviux/Panda3DS into pica-tev-emulation 2023-06-17 12:38:33 +02:00
fleroviux
c9642292aa [GPU] Do scale on the final texture combiner output, not the individual sources 2023-06-17 02:06:05 +02:00
fleroviux
b854367676 [GPU] Move TEV uniforms update into its own method 2023-06-17 01:58:30 +02:00
fleroviux
a368d77005 [GPU] respect GPUREG_TEXENVi_SCALE 2023-06-17 01:42:53 +02:00
fleroviux
aef808cdfc [GPU] Cleanup TEV shader code to be less redundant 2023-06-17 01:35:35 +02:00
fleroviux
c3acf2b393 [GPU] cleanup and optimize the TEV shader functions 2023-06-17 01:27:26 +02:00
wheremyfoodat
5b3266be34 Fix merge conflict 2023-06-17 02:22:19 +03:00
wheremyfoodat
7b859ad602 Merge branch 'master' into bottom-screen 2023-06-17 02:19:30 +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
fleroviux
76d6140797 [GPU] Fix order of operands to mix() in the interpolation combine mode. 2023-06-17 00:12:07 +02:00
fleroviux
bcf6401d4d [GPU] Output mangenta when an unimplemented TEV source is used 2023-06-16 23:39:05 +02: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
fleroviux
2e85f30c10 [GPU] attempt to emulate the previous TEV color buffer 2023-06-16 01:34:11 +02:00
fleroviux
d153133070 [GPU] fix missing break statements in 'previous' combiner mode implementation 2023-06-16 00:52:00 +02:00
fleroviux
1aa4dea63e [GPU] Add the remaining two TEV units
Looks like I overlooked the fact there actually are fix texture combiners,
not just four. The last two texture combiners are easy to miss, because
there are other GPU registers between the first four combiners and the last two.
2023-06-16 00:41:48 +02:00
fleroviux
e7435e3fdf [GPU] implement TEV combiner chaining and the remaining combine modes 2023-06-16 00:33:42 +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
e66370598a Fix the formatting which I broke (sorry) 2023-06-15 23:01:16 +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
87ac4d5a0f {GL renderer] Better screen stub 2023-06-14 21:47:17 +03:00
wheremyfoodat
8284c3cda4 Remove printf 2023-06-14 13:49:47 +03:00
wheremyfoodat
8e90b8a103 [GPU] Bottom screen stub 2023-06-13 22:47:01 +03:00
wheremyfoodat
2520b2cb46 [GPU] Disable blend when rendering output texture 2023-06-13 20:38:17 +03:00
wheremyfoodat
4f619086e9 [HID] Add touchscreen 2023-06-13 15:44:55 +03:00
wheremyfoodat
5200c10b27 [Emulator] Handle left click 2023-06-13 15:41:02 +03:00
wheremyfoodat
0c213900bc
[FS] Actually add FlushFile 2023-06-11 23:24:12 +03:00
wheremyfoodat
378258ed0b [DSP] Fix up warnings/logs 2023-06-11 14:20:13 +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
5fa4e9e178
[SaveData] Handle size == 0 in CreateFile 2023-06-11 12:31:42 +03:00
Wunkolo
8a852d2cab Implement SaveDataArchive::createFile
Based on `ExtSaveDataArchive::createFile`. Gets some games farther that
try to create save-data upon boot.
2023-06-11 01:05:48 -07:00
wheremyfoodat
fd600a59c1
Merge pull request #18 from Wunkolo/bext
Add `Helpers:{getBits,getBit}`
2023-06-10 12:54:31 +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
Wunkolo
2edc9d5fb7 Remove #pragma once from source file 2023-06-09 20:31:25 -07:00
wheremyfoodat
dea8b9ec2e [HID] Redo service 2023-06-06 00:57:48 +03:00
liuk7071
608bf88c5f Basic input 2023-06-05 13:25:06 +02: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
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
01d16fdfd1 [FS] Better DeleteFile, fclose when file session is closed 2023-05-20 02:32:36 +03:00
wheremyfoodat
9ec2964695 [FS] Add FormatThisUserSaveData 2023-05-20 01:24:30 +03:00
wheremyfoodat
a530350eda [FS] Media type = 2 is cart, not 1... 2023-05-20 01:04:51 +03:00
wheremyfoodat
c7f676efd2 [DSP] Add missing break 2023-05-18 03:44:29 +03:00
wheremyfoodat
5a1cc39cb6 [DSP] Reset audio pipe properly 2023-05-18 03:36:19 +03:00
wheremyfoodat
35aea21679 [DSP] Add UnloadComponent 2023-05-17 01:33:39 +03:00