Commit Graph
845 Commits
Author SHA1 Message Date
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
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
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
wheremyfoodatandGitHub 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
wheremyfoodatandGitHub 0bd77856e5 Merge pull request #42 from marysaka/misc/glad
misc: Switch from gl3w to glad
2023-06-17 12:53:33 +03: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
wheremyfoodatandGitHub 6c29e3e0be Merge pull request #41 from marysaka/fix/linux-cstdint-helper
fix: fix build on Linux with gcc
2023-06-17 11:45:59 +03: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 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
wheremyfoodatandGitHub 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
wheremyfoodatandGitHub 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
wheremyfoodatandGitHub 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
wheremyfoodatandGitHub 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
wheremyfoodatandGitHub 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
wheremyfoodatandGitHub cd77acdd28 Merge pull request #29 from Wunkolo/clang-format
Add `.clang-format`
2023-06-15 12:00:38 +03:00
wheremyfoodatandGitHub 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
wheremyfoodatandGitHub 2e4ae1328a Add Discord badge for real 2023-06-15 04:02:44 +03:00
wheremyfoodatandGitHub b378287f79 Merge pull request #28 from wheremyfoodat/discord-badge
Add Discord link
2023-06-15 03:56:23 +03:00
wheremyfoodatandGitHub 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
wheremyfoodatandWunk 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