Commit graph

785 commits

Author SHA1 Message Date
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
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
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
dafa919e1b
Merge pull request #33 from Wunkolo/span-vertex
Use `std::span` to pass vertex data
2023-06-17 01:38:40 +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
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
wheremyfoodat
c6f5d19983
Merge pull request #34 from Wunkolo/pica-regs-helpers
Add missing header for regs.hpp
2023-06-16 16:05:07 +03: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
wheremyfoodat
519fb35c5f Less UB 2023-06-16 14:22:29 +03: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
f8e89f4db1
Merge pull request #31 from wheremyfoodat/discord-for-real
Add a Discord link that actually links to the discord
2023-06-15 19:42:57 +03:00
wheremyfoodat
d4e2e78556
Fix Discord link 2023-06-15 19:42:20 +03:00
wheremyfoodat
79c3cf2661 [Shader JIT] Less UB 2023-06-15 19:30:51 +03:00
wheremyfoodat
cd77acdd28
Merge pull request #29 from Wunkolo/clang-format
Add `.clang-format`
2023-06-15 12:00:38 +03:00
wheremyfoodat
9095bf4445
Update .clang-format 2023-06-15 11:44:49 +03:00
Wunkolo
dd0831361d Add .clang-format
Use the command `clang-format -i tests/**/*.c src/**/*.cpp include/**/*.hpp`
to process all of the project's files.
Using the one from [pcsx-redux](https://github.com/grumpycoders/pcsx-redux/blob/main/src/.clang-format)
as a basis and then made additional edits to be the _least_ disruptive
to the pre-existing formatting patterns.
2023-06-15 00:37:49 -07:00
wheremyfoodat
2e4ae1328a
Add Discord badge for real 2023-06-15 04:02:44 +03:00
wheremyfoodat
b378287f79
Merge pull request #28 from wheremyfoodat/discord-badge
Add Discord link
2023-06-15 03:56:23 +03:00
wheremyfoodat
e55a4ab04b
Add discord badge in readme 2023-06-15 03:55:33 +03:00
wheremyfoodat
19ab9b08e0 Add LTO toggle 2023-06-15 02:42:01 +03:00
wheremyfoodat
3cf4bdd95f [Shader JIT] Use rotl+xor for combining hashes
Co-Authored-By: Wunk <wunkolo@gmail.com>
2023-06-15 01:58:00 +03:00
wheremyfoodat
18776702e0 Update images 2023-06-14 22:27:34 +03:00
wheremyfoodat
87ac4d5a0f {GL renderer] Better screen stub 2023-06-14 21:47:17 +03: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
8284c3cda4 Remove printf 2023-06-14 13:49:47 +03:00
wheremyfoodat
1aa59f5e51
Add CI stickers 2023-06-14 12:38:30 +03:00
wheremyfoodat
194b1ce9c2
Merge pull request #25 from wheremyfoodat/Windows-CI
Create Windows_Build.yml
2023-06-14 12:35:56 +03:00
wheremyfoodat
bef2593ed2
Update Windows_Build.yml 2023-06-14 12:13:24 +03:00
wheremyfoodat
fea1bbf3ac
Create Windows_Build.yml 2023-06-14 12:12:39 +03:00