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
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