Commit graph

40 commits

Author SHA1 Message Date
wheremyfoodat
133082c232 x64 shader rec: Add support for PICA non-IEEE multiplication 2024-07-15 02:12:04 +03:00
Wunkolo
2b34ef4a89 Implement PICA200 compliant arm64 MUL
Adds `emitSafeMUL` to implement a PICA200 compliant multiplication that
handles the special `0 * inf = 0` case.
2024-03-14 12:30:42 -07:00
wheremyfoodat
25d8e5807f
Fix dynarmic submodule (#446)
* Remove dynarmic submodule

* Add dynarmic mirror

* Update oaknut

* Update shader JIT to work with latest oaknut

* Maybe fix oaknut finally

* hlep

* More arm64 shader derps

* Fixing more shader JIT brokenness

* aaaaaaaaaaaa

* Update shader_rec_emitter_arm64.hpp

* Update shader_rec_emitter_arm64.cpp
2024-03-07 19:47:21 +02:00
wheremyfoodat
6c2e0be07d [arm64 shader JIT] Booting OoT now 2024-01-04 23:25:46 +02:00
wheremyfoodat
fe01df588b Get some demos running on a64 shader JIT 2024-01-03 22:00:16 +02:00
wheremyfoodat
c0621d0760 WIP arm64 shader recompiler 2024-01-03 00:39:36 +02: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
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
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
17d57bd933 Specify vertex assembler JIT is currently unimplemented 2023-07-01 03:45:56 +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
137b652840 [Shader JIT] Attempt to add CALLC/JMPC/JMPU/LOOP 2023-06-11 23:43:47 +03:00
wheremyfoodat
48b2af6a17 [Shader JIT] Mix in AVX-128 in some places, fix cmp 2023-06-11 01:49:08 +03:00
wheremyfoodat
4655ae0842 [Shader JIT] Fix JIT-less build 2023-06-10 22:08:15 +03:00
wheremyfoodat
2cb249927e [ShaderJIT] FIx crashes, moar instructions 2023-06-10 01:28:28 +03:00
wheremyfoodat
1aea8199c5 [ShaderJIT] CALL, DP4, IFC, IFU, MUL, RSQ 2023-06-10 00:58:38 +03:00
wheremyfoodat
ca3ae7a16e [Shader JIT] Add more function definitions 2023-06-09 17:14:04 +03:00
wheremyfoodat
fd411245fa [Shader JIT] Get first JIT trangle 2023-06-09 02:28:59 +03:00
wheremyfoodat
9bb1f31fc9 [ShaderJIT] Add MOV 2023-06-09 00:46:17 +03:00
wheremyfoodat
fb11fd4440 Fix merge conflict screwing up everything 2023-06-08 22:50:59 +03:00
wheremyfoodat
46a47912d8 [ShaderJIT] Add const qualifier to JIT callbacks 2023-06-08 22:48:37 +03:00
wheremyfoodat
77cba3110d [Shader JIT] Add prologue & some more compilation stuffs 2023-06-08 22:22:28 +03:00
wheremyfoodat
415e276ef9 [Shader JIT] Moar 2023-06-08 18:51:03 +03:00
wheremyfoodat
6a70edca7e [Shader JIT[ Cache harder 2023-06-07 21:25:46 +03:00
wheremyfoodat
4064abfdeb [Shader JIT] Add caching 2023-06-07 20:33:37 +03:00
wheremyfoodat
364443d66f Moar 2023-06-07 18:22:07 +03:00
wheremyfoodat
cf9ed3d460 More shader JIT groundwork 2023-06-07 17:44:46 +03:00
wheremyfoodat
4541841da5 More boilerplate 2023-06-07 02:57:00 +03:00
wheremyfoodat
9ac8817ee3 More vertex loader JIT files 2023-06-07 02:16:22 +03:00
wheremyfoodat
31bb1e8e0b Add Xbyak submodule 2023-06-07 01:01:59 +03:00