0
0
mirror of https://github.com/Ishan09811/pine.git synced 2025-04-29 08:25:10 +00:00

2183 Commits

Author SHA1 Message Date
Ishan09811
fe60aa8312
presentation_engine: don't throw exception if swapchain has higher image count than maximum slot count 2025-01-15 19:09:46 +05:30
Ishan09811
ddaf3008cb
Implement shaderFloat64 support (#57) 2025-01-13 21:57:06 +05:30
Ishan09811
3a52c988eb
active_state: optimise `Refresh` to use buffer sequencing to avoid needing to regenerate the quad buffer every time (#56) 2025-01-11 19:55:48 +05:30
Ishan09811
2f1d08785b
EmulationActivity:Drawer: Fix custom game settings not opening when clicking on settings if using custom game settings (#52)
* EmulationActivity:Drawer: Fix custom game settings not opening when clicking on settings if using custom game settings

* Settings: set ``executor_slot_count_scale`` maxValue based on the device
2025-01-06 00:07:28 +05:30
Ishan09811
5302dad837
Implement speed limit option (#51) 2025-01-05 19:37:02 +05:30
Ishan09811
0a710eaf10
Implement Material SeekBarPreference (#50) 2025-01-04 17:34:36 +05:30
Ishan09811
9a72c247fc
Implement Anisotropic filtering option (#49) 2025-01-04 12:51:54 +05:30
Ishan09811
241a799a33
Update vkma to 3.2.0 (#48) 2025-01-03 17:18:28 +05:30
Ishan09811
ced874fd56
Fix ui flickering in some devices (#47) 2025-01-03 17:14:52 +05:30
Ishan09811
a649516149
Implement Vsync option (#46) 2025-01-02 18:49:59 +05:30
Ishan09811
58536da1a4
Input: Allow binding emulator menu + add pause button binding (#45) 2025-01-02 18:49:42 +05:30
Ishan09811
8131163261
IAudioRendererManager: Fix incorrect `transferMemorySize` (#42) 2024-12-31 18:24:39 +05:30
Ishan09811
525839eece
Implement Ambient mode (#44) 2024-12-31 18:24:14 +05:30
Ishan09811
26cfd98296
Refix theme changing logic (#43) 2024-12-30 19:17:35 +05:30
Ishan09811
4fc489c62a
shader_manager: Use multithreading to load the replacement shader files concurrently (#41) 2024-12-29 12:00:28 +05:30
Ishan09811
55efa7dc96
Implement Android 15 16kib page size support (#40) 2024-12-26 20:30:27 +05:30
Ishan09811
3ff78af28e
Update vulkan headers to 1.4+ (#39) 2024-12-23 14:17:00 +05:30
Ishan09811
544a0e2f40
Make `navigationBar` fully transparent + ui improvements (#37) 2024-12-22 00:26:47 +05:30
Ishan09811
3d9df8b827
Implement proper theme changing logic (#35)
recreate the activity when turning on or off material colors instead of restarting the entire application
2024-12-20 13:17:26 +05:30
Ishan09811
4cc4981d08
Implement proper pause and resume logic (#34) 2024-12-19 22:06:43 +05:30
Ishan09811
dd574b73d2
fix drawer pause button 2024-12-19 17:50:18 +05:30
Ishan09811
101a5c478b
Initial oboe sink support (#32) 2024-10-06 08:02:49 +05:30
Ishan09811
4859b7a685
Revert "Integrate GPU memory mapping using adrenotools_mem_gpu_allocate and a…" (#31)
This reverts commit 3fdef75d032a47225021da4b1bc8ec55f3922c30.
2024-10-06 01:24:01 +05:30
Ishan09811
3fdef75d03
Integrate GPU memory mapping using adrenotools_mem_gpu_allocate and adrenotools_mem_cpu_map (#30) 2024-10-05 18:39:06 +05:30
Ishan09811
1d0b0ec14d
Update libadrenotools submodule and adapt to API changes (#29)
- Updated the libadrenotools submodule to the latest version.
- Adapted the `adrenotools_open_libvulkan` calls to handle the new function signature.
  - Replaced the `adrenotools_gpu_mapping*` argument with a `void**` for user mapping.
  - Properly cast `userMappingHandle` to `adrenotools_gpu_mapping*` after loading Vulkan driver.
- Updated related code in `LoadVulkanDriver` to handle the new GPU mapping logic for both custom and built-in Vulkan drivers.
- Ensured backward compatibility with the new feature flags and import handling in the updated API.
2024-10-05 17:29:59 +05:30
Ishan09811
4fa5879f9a
Fix 2024-07-30 15:39:48 +05:30
Ishan09811
c406ab9852
fix 2024-07-30 13:34:29 +05:30
Ishan09811
5e74a8aff1
missing include 2024-07-30 12:42:11 +05:30
Ishan09811
36afe59d4f
fix 2024-07-30 12:22:39 +05:30
Ishan09811
e86459b167
Typo 2024-07-30 09:37:24 +05:30
Ishan09811
9458e12f5a
Implement sample shading option 2024-07-30 09:31:32 +05:30
Ishan09811
0dd6c15343
some fixes 2024-07-25 21:52:36 +05:30
Ishan09811
1ced510b4d
Update version to 1.0.0 2024-07-25 14:20:24 +05:30
Ishan09811
e5bb4afde8
typo 2024-07-25 00:38:53 +05:30
Ishan09811
67450f5403
Implement sustained performance option 2024-07-25 00:28:26 +05:30
Ishan09811
69ce06494e
typo 2024-07-24 22:36:13 +05:30
Ishan09811
b4181fffb7
fix 2024-07-24 20:31:02 +05:30
Ishan09811
d5bb5a8348
Typo 2024-07-24 20:23:35 +05:30
Ishan09811
7ddd9b6384
Implement JIT Fastmem option 2024-07-24 20:21:13 +05:30
Ishan09811
b3aec03fe4
refix 2024-07-24 19:01:31 +05:30
Ishan09811
3d63a718ef
fix 2024-07-24 18:51:35 +05:30
Ishan09811
9919c96160
Remove Unnecessary disable audio output option 2024-07-24 18:31:39 +05:30
Ishan09811
1d799d69a8 Update audio-core submodule 2024-07-24 13:32:43 +05:30
Ishan09811
1caf9c9d7a
add null `audioOutputEngine` option 2024-07-24 13:06:56 +05:30
Ishan09811
05a4cd661f
remove sdl2 option from audio output engine setting 2024-07-24 12:24:20 +05:30
Ishan09811
65c1fbf817
Implement `ConvertJStringToString` function 2024-07-24 11:57:26 +05:30
Ishan09811
a0e414f75c
convert jstring to string before passing to audio-core 2024-07-24 11:49:00 +05:30
Ishan09811
3826e32458 fix 2024-07-24 11:38:27 +05:30
Ishan09811
4ee44ec5f1
Implement `audioOutputEngine` option 2024-07-24 11:10:09 +05:30
Ishan09811
8398baf359
Implement Jit32 (#9)
* Introduce Jit32 and JitCore32 objects

* Initialize JIT when launching 32bit executables

* Introduce kernel objects for 32bit processes

This commit introduces two new kernel thread types, `KNceThread` and `Jit32Thread`.
`KNceThread`s behave like the previous kernel thread object by setting up thread state and jumping into guest code.
`KJit32Thread`s need to run guest code on a `JitCore32` object, so they perform the necessary state setup and then they also setup the jit core for executing guest code. A loop was introduced because jit execution might return when halted, either for an SVC or for preemption. In those cases the thread needs to wait to be scheduled before executing again.

The process object has also been updated to be able to create 32bit threads when running 32bit processes.

Additionally NCE's ThreadContext has been removed from DeviceState, since a thread is not an NCE thread only anymore, and IPC code has been changed to retrieve the tls region from the thread object.

* Introduce a preemption handler for scheduling with JIT

Scheduler initialization has been delayed until process information is available, as it needs to differentiate between 32bit and 64bit processes.

* Support initializing VMM for 32bit address spaces

* Implement GetThreadContext3 SVC for 32bit processes

* Introduce a thread local pointer to the current guest thread

This also gives easier access to the current guest process structure via the thread structure, just like any kernel does for their internal structures.

* Add a signal handler for JIT threads

* Implement coprocessor 15 accesses

* Implement exclusive memory writes and exclusive monitor

* Enable JIT fastmem

* Enable more JIT optimizations and log exceptions

* Fix incorrect logging call in QueryMemory

* Translate guest virtual addresses on direct accesses from SVCs

* Perform TLS page address translation for direct accesses

This allows the IPC code to work without modifications since `KThread::tlsRegion` now stores a host address that can be accessed directly.

* Add Dynarmic as a submodule

* Revert "Perform TLS page address translation for direct accesses"

This reverts commit 2e25b3f7e4f0687b038fa949648c74e3393da006.

* Revert "Translate guest virtual addresses on direct accesses from SVCs"

This reverts commit 7bec4e0902e6dbb6f06a2efac53a1e2127f44068.

* add an option to change cpu backend

* Fix

---------

Co-authored-by: lynxnb <niccolo.betto@gmail.com>
2024-07-23 23:59:15 +05:30