wheremyfoodat
c0621d0760
WIP arm64 shader recompiler
2024-01-03 00:39:36 +02:00
wheremyfoodat
1f8194dfa3
ShaderJIT: Make BREAK(C) emit a warning instead of crashing until implemented
2023-09-16 18:07:07 +03:00
wheremyfoodat
ccdf8f7722
Shader Interpreter: implement SGE
2023-08-12 23:46:42 +03:00
wheremyfoodat
85c586b3d0
[Shader JIT] Add DPHI
2023-08-12 23:36:56 +03:00
wheremyfoodat
0f973a4ae4
Fix immediate mode vertex submission
2023-08-12 17:52:50 +03:00
wheremyfoodat
9695b57bf5
[PICA] Rework how external registers work, format
2023-08-04 00:42:11 +03:00
wheremyfoodat
f84935142a
Merge remote-tracking branch 'upstream/master' into moar-gpu
2023-08-03 20:26:12 +03:00
GPUCode
58383ee431
Address review comments
2023-08-03 16:42:01 +03:00
GPUCode
f75a23b5a9
code: Better screen support
2023-08-02 22:26:08 +03:00
wheremyfoodat
f73138c5de
[Shader JIT] Implement SGE(I)
2023-08-02 19:30:35 +03:00
wheremyfoodat
5aa2e3c1d2
[Shader JIT] Add DPH
2023-08-02 00:23:05 +03:00
Wunkolo
d2241a25bc
Stub Vulkan backend support
...
A lot of the architecture of the emulator here does not allow for vulkan
to initialize easily since it involves a bit of data to be exchanged
between SDL and Vulkan. This commit just adds the foundational linkage
and library code for vulkan support.
2023-07-22 13:16:23 -07:00
wheremyfoodat
ae4a4dfc29
Hook up sw rendering backend
2023-07-22 20:47:19 +03:00
wheremyfoodat
31d1c6ff3f
Bonk people who select Vulkan as the renderer
2023-07-18 22:33:59 +03:00
Wunkolo
0b60cf6901
Migrate RenderType string functions to static Renderer functions
...
Also fix some IWYU build errors
2023-07-18 10:02:07 -07:00
Wunkolo
528ed510c2
Add string-based renderer backend configuration
...
Rather than using integer-indices, just use plaintext case-insensitive
names and leave the actual enum indexes as an implementation detail.
2023-07-17 18:02:01 -07:00
Wunkolo
ceff20f57f
Add configurable Renderer backend
...
There are still some initialization errors to work through, such as
config not being initialized properly by the time GPU tries to utilize
it too. Also some life-time issues. But manually forcing it to use the
Null backnd successfully works and allows games to be "played"
headlessly.
2023-07-17 10:13:34 -07:00
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