fleroviux
6b610a82d6
[GPU] Move texture binding into its own method
2023-06-20 22:58:52 +02:00
fleroviux
4cb7e3625b
Merge branch 'master' of github.com:fleroviux/Panda3DS into pica-tev-emulation
2023-06-20 22:47:47 +02:00
fleroviux
f8a8abd2c6
Merge branch 'master' of github.com:fleroviux/Panda3DS into pica-tev-emulation
2023-06-20 22:34:39 +02:00
wheremyfoodat
dbe293bb52
Merge pull request #43 from Wunkolo/pica-types
...
Add PICA texel-format and topology types
2023-06-20 13:26:58 +03:00
fleroviux
9b1ed2084f
[GPU] Implement initial support for multi-texturing
2023-06-20 00:01:12 +02:00
wheremyfoodat
88e3eb1558
Add std::bit_cast fallback for Helpers::bit_cast and run clang-format
2023-06-18 23:33:10 +03:00
fleroviux
927bf9fe32
Merge branch 'GamingProcessingUnit' of github.com:fleroviux/Panda3DS into pica-tev-emulation
2023-06-18 22:27:24 +02:00
wheremyfoodat
952e2d6d22
More accurate VAO implementation
2023-06-18 23:20:28 +03:00
Sky
e9b3b7c2a2
Add workaround helper for bit_cast and missing #include <bit>
...
Allows compilation on native macOS build system.
2023-06-18 12:33:34 -07: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
wheremyfoodat
d0ae5f0546
Merge pull request #37 from marysaka/feat/proper-hle-result
...
hle: Add proper type for result code
2023-06-17 18:39:36 +03:00
fleroviux
78827886fe
Merge branch 'master' of github.com:fleroviux/Panda3DS into pica-tev-emulation
2023-06-17 12:39:48 +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
Mary
f3010f0909
misc: Switch from gl3w to glad
...
Also add more checks on window and context creation.
2023-06-17 11:26:18 +02:00
Mary
a799da1ec5
fix: fix build on Linux with gcc
...
Tested on Fedora 38, helpers.hpp was missing an import.
2023-06-17 10:11:35 +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
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
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