Commit graph

1224 commits

Author SHA1 Message Date
wheremyfoodat
2fc66fd3ba
Merge pull request #498 from wheremyfoodat/hle-dsp
Qt: Add support for dumping DSP firmware
2024-04-25 22:40:44 +00:00
wheremyfoodat
8c296905f4 Qt: Add support for dumping DSP firmware 2024-04-26 00:54:21 +03:00
PSI-Rockin
b797c92b2e [CRO] Offset the old data address by the start of the CRO
The old logic caused bad data relocations
2024-04-22 18:17:58 -04:00
wheremyfoodat
ea6818eb4b HLE DSP: Formatting 2024-04-14 13:13:19 +03:00
wheremyfoodat
1cc3bbf68d HLE DSP: Fix format and source type for audio buffers 2024-04-06 19:12:58 +03:00
wheremyfoodat
1c355041fa HLE DSP: Add embedded buffers 2024-04-06 16:56:11 +03:00
wheremyfoodat
37f9f5d894 HLE DSP: Track voice status better 2024-04-06 00:54:15 +03:00
wheremyfoodat
43a1c89478 HLE DSP: Init/deinit sources better 2024-04-05 20:53:17 +03:00
wheremyfoodat
5da93d17bd HLE DSP: More of it 2024-04-05 19:42:18 +03:00
wheremyfoodat
2548bde538 HLE DSP: Add frame types 2024-04-05 01:50:27 +03:00
wheremyfoodat
a85ca0459a HLE DSP: Proper audio pipe responses 2024-04-05 01:13:02 +03:00
wheremyfoodat
2e696deccf Add HLE DSP files 2024-04-05 00:44:31 +03:00
Wunk
5284109fd4
Implement shader-interpreter relative MOVA addressing (#471)
* Add shader uniform-read unit test

* Add unit test f24 vector formatter

* Add Address Register Offset shader unit test

* Implement float-uniform out-of-bound return value

In the case that the resulting float-uniform index is greater than the 96 slots that it has, a result of `{1,1,1,1}` is to be returned.

* Implement shader relative addressing

Fails on the negative unit tests at the moment but passes all of the
others.

* Fix `MOVA` source register indexing
2024-03-22 18:48:03 +02:00
Wunkolo
40e2774b7f Implement arm64 LG2/EX2 2024-03-19 21:26:13 -07: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
Wunk
c89fe05b8a
Fix shader-interpreter non-IEEE outputs (#459)
* Re-enable non-IEEE shader test

* Fix shader-interpreter RCP/RSQ output

Handle the `-0.0` special-case

* Fix shader-interpreter MIN/MAX output

Takes advantage of min/max's properties regarding non-finites to return
NaN depending on its input position:
```
max(NaN, 2.f) -> NaN
max(2.f, NaN) -> 2
min(NaN, 2.f) -> NaN
min(2.f, NaN) -> 2
```

* Fix shader-interpreter FLR indexing bug

`3 - 1` should be `3 - i`
2024-03-12 08:34:02 +02:00
SpikeHD
57193e7944
Stub ALL getNsDataIdList functions (#452)
* fix: stub ALL getNsDataIdList functions

* fix: spaces -> tabs
2024-03-09 13:45:38 +02:00
wheremyfoodat
048eca557e
Merge pull request #439 from wheremyfoodat/y2r-stubs
Y2R: Stub IsFinishedSending/Receiving functions
2024-03-07 18:17:56 +00:00
wheremyfoodat
d68b81c037
Merge pull request #444 from wheremyfoodat/gsp_read_hw_regs
GSP_GPU: Implement ReadHwRegs
2024-03-07 18:03:21 +00:00
wheremyfoodat
e4bea43fd6
Implement GetResourceLimitValue for thread count (#438) 2024-03-07 19:48:08 +02: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
361172b4de
GSP_GPU: Implement ReadHwRegs 2024-03-07 00:09:41 +00:00
wheremyfoodat
3505bf0df9
Y2R: Stub IsFinishedSending/Receiving functions 2024-03-06 00:37:12 +00:00
wheremyfoodat
5ba773a393 Add GLES detection to fragment shader recompiler 2024-03-03 21:04:12 +02:00
wheremyfoodat
4b07ebed86 Fix shader cache bypassing GL state manager 2024-03-03 01:51:45 +02:00
wheremyfoodat
e5c09a092d Fix specialized shaders on Android 2024-03-02 23:29:22 +02:00
wheremyfoodat
fc83d518e2 Hook up specialized shaders to GL renderer 2024-03-02 22:35:56 +02:00
wheremyfoodat
67fe3214fe Add shader cache 2024-03-02 20:41:23 +02:00
wheremyfoodat
fdfb012aa1 GL: Add RendererGL::getSpecializedShader 2024-02-29 01:28:00 +02:00
wheremyfoodat
ddc14cea09 Fix shader compilation errors 2024-02-29 00:56:24 +02:00
wheremyfoodat
58da6ea8a4 Merge branch 'master' into specialized-shaderz 2024-02-28 23:44:33 +02:00
wheremyfoodat
d459cb1d6c
Get audio output working with LLE DSP (#419)
* Implement audio output

* Semi-proper audio output

* Add audio enable and vsync settings

* Add audio enable and vsync settings

* Optimize audio output a bit

* Make max ring buffer timeout smaller

* Make max ring buffer timeout smaller

* Revert to spinlocking for audio sync

* Sleep emulator thread if too many samples queued

* Fix Teakra submodule breaking

* Don't start audio device too soon

* Fix IWYU errors

* Fix compilation errors on GCC/Clang

* Ignore std::hardware_destructive_interference_size on Android NDK

* Fix more IWYU errors
2024-02-24 03:26:23 +02:00
wheremyfoodat
6279ed699a
Store program ID and expose it in Lua (#414) 2024-02-22 16:26:31 +02:00
wheremyfoodat
505abbe532
Stub NWM_UDS::Initialize to fail 2024-02-20 21:59:33 +02:00
wheremyfoodat
093364f615
Merge pull request #410 from wheremyfoodat/dsp
WIP: DSP support
2024-02-19 19:34:05 +00:00
wheremyfoodat
f7c6ec3b57 Properly handle DSP interrupts in HLE 2024-02-19 18:50:41 +02:00
wheremyfoodat
7a5bb2859e Make DSP backends properly configurable 2024-02-19 17:57:21 +02:00
wheremyfoodat
33eb096ef8 Better DSP scheduling 2024-02-18 22:22:00 +02:00
wheremyfoodat
f58354af06 Update DSP semaphore on semaphore event signal
Fixes Pokemon X and other DSP-needy games...
2024-02-18 03:54:00 +02:00
wheremyfoodat
d3dc9e2f71 Forward interrupts properly in Teakra DSP core 2024-02-18 00:24:08 +02:00
wheremyfoodat
16a312ee15
Add GSP::GPU::SetBufferSwap 2024-02-17 18:15:06 +02:00
wheremyfoodat
5dd3c02ffb Moar Teak LLE
Co-Authored-By: PSISP <12768103+psi-rockin@users.noreply.github.com>
2024-02-17 03:48:37 +02:00
wheremyfoodat
363c71e66c Hook DSP interface to DSP service HLE
Co-Authored-By: PSISP <12768103+psi-rockin@users.noreply.github.com>
2024-02-17 01:36:10 +02:00
wheremyfoodat
0a51a80d91 Add DSP emulation interface
Co-Authored-By: PSISP <12768103+psi-rockin@users.noreply.github.com>
2024-02-17 00:39:55 +02:00
wheremyfoodat
3c25be4c63
CPU: Remove totalTicks (unused since scheduler was added) 2024-02-11 21:57:44 +00:00
wheremyfoodat
10654ce1ca GLSL generator: Add textures and alpha operations 2024-02-04 18:54:29 +02:00
wheremyfoodat
b256c89e23
[APT] Make logs slightly less cluttered for better debugging 2024-02-03 00:14:43 +02:00
wheremyfoodat
9dc12e0681 Merge branch 'master' into specialized-shaderz 2024-02-02 22:22:23 +02:00
wheremyfoodat
0be8c45e37 Fragment shader gen: Properly track TEV outputs 2024-02-02 01:51:37 +02:00
wheremyfoodat
7e77af0de8 GLSL Fragment Generator: Working color operations 2024-02-02 01:34:33 +02:00