Commit Graph
433 Commits
Author SHA1 Message Date
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 17d57bd933 Specify vertex assembler JIT is currently unimplemented 2023-07-01 03:45:56 +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 e6f616cd59 Fix merge 2023-06-30 23:34:25 +03:00
wheremyfoodat 8b703dd147 Merge branch 'master' into dynapica 2023-06-30 16:01:49 +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 121653b806 [ShaderJIT] Add logging utility for diffing 2023-06-29 22:02:17 +03:00
wheremyfoodat 84fd0affa8 [GL renderer] Fix up float * vec4 mul 2023-06-29 21:37:31 +03:00
wheremyfoodat 28e9d87573 [Shader JIT] Start migrating to new, better ABI 2023-06-28 22:22:09 +03:00
wheremyfoodat d028c1cb64 Bonk headers 2023-06-28 03:39:04 +03:00
wheremyfoodat f65d9480a5 Merge remote-tracking branch 'upstream/master' into io-file-cpp 2023-06-28 03:22:58 +03:00
wheremyfoodat e09eaee6e7 Merge branch 'master' into io-file-cpp 2023-06-28 02:53:26 +03:00
wheremyfoodat e86aec0c33 More clang-format 2023-06-28 01:53:26 +03:00
wheremyfoodat 29806ff8e5 clang-format 2023-06-28 01:48:34 +03:00
wheremyfoodat 71582eff6d [Controller] Slightly better analog handling 2023-06-28 01:40:23 +03:00
wheremyfoodat acd21c6908 Merge remote-tracking branch 'upstream/master' into feature/basic-controller-input 2023-06-28 00:20:54 +03:00
Nadia Holmquist Pedersen 71dddc0020 Add basic controller input using the SDL2 GameController API 2023-06-27 22:40:38 +02:00
wheremyfoodat 02d07f29d7 Merge remote-tracking branch 'origin/GamingProcessingUnit' into dynapica 2023-06-27 18:53:59 +03:00
wheremyfoodat 747a9345e3 Some more thinning 2023-06-27 18:08:57 +03:00
wheremyfoodat 432b4b847b Making helpers.hpp thinner 2023-06-27 01:49:12 +03:00
wheremyfoodat 3cf8427670 [Crypto] Slightly more robust error handling 2023-06-27 01:12:17 +03:00
Mary 0494ca0064 Address comments 2023-06-22 17:41:09 +02:00
Mary 6bdc754e86 fix: Use CHAR_BIT instead of UINT8_WIDTH
Fix building on Windows
2023-06-22 17:41:09 +02:00
Mary 86dd7f54f5 feat: Add support for encrypted NCSD
Missing version 1 support and seeded crypto but that would be enough for now.
2023-06-22 17:41:08 +02:00
Mary 2e5bc0cb14 feat: crypto: Add basic AES keyslot manager
We loads keys from AppData/Alber/sysdata/aes_keys.txt.

NOTE: We do differ from other emulators by not hardcoding the generator key, it's the user responsibility to provide it in aes_keys.txt.
2023-06-22 17:37:21 +02:00
wheremyfoodatandGitHub bf85b405af Merge pull request #48 from Wunkolo/gl-object-label
Add OpenGL object-naming and scoping
2023-06-21 13:48:49 +03:00
Wunkolo 9746dd5eb2 Add TexEnv PICA register offsets 2023-06-20 14:55:12 -07:00
fleroviux 7ebbfbf1ef [GPU] Remove magic constants in TEV and texture binding code as much as possible 2023-06-20 23:43:43 +02: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 f8a8abd2c6 Merge branch 'master' of github.com:fleroviux/Panda3DS into pica-tev-emulation 2023-06-20 22:34:39 +02:00
Wunkolo 62fdb29646 Add GPU_DEBUG_INFO CMake-Option
Adds a project-wide setting for allowing renderer code to add additional
diagnostic data.  Currently used to allow `opengl.hpp` to conditionally
implement debug-labeling and scopes.
2023-06-20 11:04:52 -07:00
Wunkolo dbf0597bd8 Add DebugScope utility-class for RAII-based OpenGL debug-scopes
Simply define this object in a C++ scope like:
```cpp
OpenGL::DebugScope glScope("Renderer::display");
```
and it will associate all functions within the current scope within a
named group. Supports `printf` formatting.
2023-06-20 10:10:11 -07:00
wheremyfoodatandGitHub dbe293bb52 Merge pull request #43 from Wunkolo/pica-types
Add PICA texel-format and topology types
2023-06-20 13:26:58 +03:00
Wunkolo 1251cecc88 Add setObjectLabel for naming OpenGL functions
Add `OPENGL_PRINTF_FORMAT` and `OPENGL_PRINTF_FORMAT_ATTR` macros for providing
printf diagnostic information across platforms.
2023-06-19 23:48:16 -07:00
Wunkolo 1b9f270b19 Migrate IOFile implementation to io_file.cpp
Makes the implementation of `IOFile` private, allowing inclusions and
defines such as `#define fseeko` and `#include <io.h>` to not poison
client-code or the global namespace.
2023-06-19 19:37:36 -07:00
fleroviux 9b1ed2084f [GPU] Implement initial support for multi-texturing 2023-06-20 00:01:12 +02:00
wheremyfoodatandGitHub 88e3eb1558 Add std::bit_cast fallback for Helpers::bit_cast and run clang-format 2023-06-18 23:33:10 +03:00
fleroviux 927bf9fe32 Merge branch 'GamingProcessingUnit' of github.com:fleroviux/Panda3DS into pica-tev-emulation 2023-06-18 22:27:24 +02:00
wheremyfoodat 952e2d6d22 More accurate VAO implementation 2023-06-18 23:20:28 +03:00
Sky e9b3b7c2a2 Add workaround helper for bit_cast and missing #include <bit>
Allows compilation on native macOS build system.
2023-06-18 12:33:34 -07: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 134e16d8ea Replace Texture::Formats with PICA::ColorFmt
This enum was a duplicate of the PICA one. Now the PICA one is more
complete. Migrate `textureFormatToString` to be next to the enums
definition.
2023-06-18 00:10:04 -07:00
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