Commit graph

257 commits

Author SHA1 Message Date
wheremyfoodat
826f0ac039 Fix up comments and readme 2023-07-16 19:23:42 +03:00
wheremyfoodat
786c3e8a5c
Merge pull request #98 from Wunkolo/modular-gl
Allow conditional OpenGL rendering backend
2023-07-16 03:48:07 +03:00
wheremyfoodat
f43c252e55 Switch LOG2/EX2 from x87 to SSE (adjusted from Citra)
Co-Authored-By: merry <8682882+merryhime@users.noreply.github.com>
Co-Authored-By: Wunk <wunkolo@gmail.com>
2023-07-16 01:34:59 +03:00
wheremyfoodat
7b6cd90d36 Cleanup for #98 2023-07-15 04:56:43 +03:00
Wunkolo
a636a0d1da Replace ENABLE_OPENGL with PANDA3DS_ENABLE_OPENGL 2023-07-11 11:28:06 -07:00
Wunkolo
9e32b6d4bf Remove OpenGL-specific vector-types
Removes dependency on the OpenGL header and rendering backen for its
`OpenGL::Vector` type in favor of a more standard array.
2023-07-11 11:27:35 -07:00
Wunkolo
2a1683ba62 Introduce "Renderer" abstraction layer
Adds a `renderer` class for which a rendering backend must implement and
will conditionally use OpenGL in the case that `ENABLE_GL` is enabled.
2023-07-11 11:27:35 -07:00
wheremyfoodat
15ede3bd6e [Shader JIT] Temporary EXP2/LOG2 implementations in x87 2023-07-09 01:29:51 +03:00
wheremyfoodat
075409130b
Fix typo 2023-07-08 22:06:53 +03:00
wheremyfoodat
817b3de945 [GPU] Implement vertex padding 2023-07-08 20:23:43 +03:00
wheremyfoodat
1037f93f61 Hook shader JIT to config file 2023-07-08 16:23:20 +03:00
wheremyfoodat
53db56ad9d [GPU] Set lightingLUTDirty to true on reset because paranoia 2023-07-05 21:48:30 +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
wheremyfoodat
f7ad66c708 [PICA] Add some clipping definitions 2023-07-04 19:51:07 +03:00
wheremyfoodat
e854d4ba63 Formatting 2023-07-04 18:15:27 +03:00
Sky
12dbaeaeb0 [GL] Initial Implementation of Lighting LUTs 2023-07-02 16:14:11 -07:00
wheremyfoodat
1ac3a474da Fix formatting & cmake 2023-07-01 22:35:07 +03:00
Sky
ca89909c00 Refactored Vertex Pipeline to always use Pica Formatted Vertex 2023-07-01 11:39:25 -07:00
wheremyfoodat
66d71f817c Fix triangle fans 2023-07-01 16:39:33 +03:00
wheremyfoodat
ba6779cfa1 Temporarily disable shader JIT by default 2023-07-01 03:43:44 +03:00
wheremyfoodat
7d56af26af [Shader interpreter] Add LG2/EX2 2023-07-01 02:17:19 +03:00
wheremyfoodat
005db316cf More shader instruction definitions 2023-07-01 01:17:04 +03:00
wheremyfoodat
726897231c [Shader JIT] Fix swizzle when loading from indexed reg 2023-07-01 00:49:34 +03:00
wheremyfoodat
5fecb6023a [Shader JIT] Fix MAD (again) 2023-06-30 23:59:34 +03:00
wheremyfoodat
3199f8ae67 [Shader JIT] Stub EMIT/SETEMIT 2023-06-30 14:39:25 +03:00
wheremyfoodat
3476d336ca [Shader JIT] Implement SLT/SLTI/MADI 2023-06-30 14:17:35 +03:00
wheremyfoodat
8a13b8c878 [Shader JIT] Compile MAD to FMA when possible 2023-06-30 02:02:56 +03:00
wheremyfoodat
cd04ed3770 [ShaderJIT] Fix storeRegister kinda hackily 2023-06-30 01:42:36 +03:00
wheremyfoodat
121653b806 [ShaderJIT] Add logging utility for diffing 2023-06-29 22:02:17 +03:00
wheremyfoodat
3603ee1e13 [ShaderJIT] Move prepare call to top of DrawArrays 2023-06-29 18:50:10 +03:00
wheremyfoodat
2ffb3a58bf Merge branch 'GamingProcessingUnit' into dynapica 2023-06-29 01:14:40 +03:00
wheremyfoodat
3ec446b0a2 [GPU] Implement vertex cache 2023-06-29 00:56:01 +03:00
wheremyfoodat
b027cda648 [Shader JIT[ Remove shadow stack stuff, remove pushing/popping context pointer 2023-06-28 22:31:51 +03:00
wheremyfoodat
28e9d87573 [Shader JIT] Start migrating to new, better ABI 2023-06-28 22:22:09 +03:00
wheremyfoodat
02d07f29d7 Merge remote-tracking branch 'origin/GamingProcessingUnit' into dynapica 2023-06-27 18:53:59 +03: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
wheremyfoodat
6b5ec74aa4 [OutputVertex] Avoid unnamed struct 2023-06-18 23:59:41 +03:00
wheremyfoodat
952e2d6d22 More accurate VAO implementation 2023-06-18 23:20:28 +03: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
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
wheremyfoodat
519fb35c5f Less UB 2023-06-16 14:22:29 +03:00
wheremyfoodat
79c3cf2661 [Shader JIT] Less UB 2023-06-15 19:30:51 +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
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
f538d38c98 [Shader JIT] Add index = 3 to indexed register addressing 2023-06-12 00:16:21 +03:00
wheremyfoodat
3f2b713c4b [Shader JIT] Attempt to implement FLR and CALLU 2023-06-11 23:51:45 +03:00