Commit graph

90 commits

Author SHA1 Message Date
wheremyfoodat
ba1c3a8ec5 Moar HTTP 2023-07-10 11:30:09 +03:00
Sky
17b08a25fa [GPU] Converted Depth/Color Surfaces to a ring buffer
Additionally made the surface cache search hit for any address that lies in the surface.

This should allow multiple races to be done in Mario Kart and fixes the intro video.
2023-07-06 11:18:14 -07:00
Sky
255947b2fc [GPU] Add texture surface cache eviction
Implemented as a simple ring buffer evicting the oldest entry for now.
2023-07-06 08:48:37 -07:00
wheremyfoodat
feacb9359d Formatting 2023-07-05 02:59:54 +03:00
wheremyfoodat
dd3e1ea72b Ditch more uniforms 2023-07-05 01:37:18 +03:00
wheremyfoodat
c282a44c27 [OpenGL renderer] Fewer uniform uploads 2023-07-05 01:12:13 +03:00
wheremyfoodat
a3d8f777b4 PicaVertex -> PICA::Vertex 2023-07-04 23:40:47 +03:00
wheremyfoodat
b403e9a66e Start work on GL state manager object 2023-07-04 23:27:38 +03:00
Sky
12dbaeaeb0 [GL] Initial Implementation of Lighting LUTs 2023-07-02 16:14:11 -07:00
Sky
6fababb93a [GL] Pipe Pica registers and implement ambient lighting 2023-07-01 16:43:57 -07:00
Sky
ca89909c00 Refactored Vertex Pipeline to always use Pica Formatted Vertex 2023-07-01 11:39:25 -07:00
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
9b1ed2084f [GPU] Implement initial support for multi-texturing 2023-06-20 00:01:12 +02: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
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
fleroviux
3aeef23b2e Merge branch 'bottom-screen' of github.com:fleroviux/Panda3DS into pica-tev-emulation 2023-06-17 12:38:33 +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
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
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
517d1abee8 [Renderer] Temporarily bump texture cache to 256 textures 2023-04-17 14:24:58 +03:00
wheremyfoodat
4bef096f04 [FS] Add directory stuff, clean up 2023-03-29 00:23:55 +03:00
wheremyfoodat
3ca324350b Fix derp 2023-03-26 20:45:51 +03:00
wheremyfoodat
e69e95af69 [FS] Implement SaveData sort of. 2023-03-12 03:19:46 +02:00
wheremyfoodat
f25bc2dd89 [PICA] Attempt depth offset/scale and depthmap enable 2023-03-04 03:42:01 +02:00
wheremyfoodat
eaab13b264 [PICA] Depth buffering v1 2023-03-03 00:59:55 +02:00
wheremyfoodat
3912fd4779 [PICA] Add blending, proper toggle between vertex colour & tex 2023-02-28 02:41:44 +02:00
wheremyfoodat
e80679fe77 Geometry pipeline v2
Co-Authored-By: Sky <skylersaleh@gmail.com>
2023-02-26 20:41:33 +02:00
wheremyfoodat
51130b295a [PICA] More textoor 2023-02-01 00:34:58 +02:00
wheremyfoodat
ce72368f01 [PICA] Texture cache v0.1 2023-01-31 22:59:37 +02:00
wheremyfoodat
dd17b2ecb8 [PICA] Start working on textures 2023-01-31 21:34:42 +02:00
wheremyfoodat
3ce9dc1d7b Surface cachin' again 2023-01-05 20:41:09 +02:00
wheremyfoodat
ecbb33b906 [GPU] Surface cache vol 1 2023-01-02 15:01:17 +02:00
wheremyfoodat
57ef4e25e7 Separate renderer and PICA completely 2023-01-01 22:06:54 +02:00