Commit graph

301 commits

Author SHA1 Message Date
wheremyfoodat
082b6216b3
Update home menu branch (#759)
* Fix typo (#680)

Co-authored-by: Noumi <139501014+noumidev@users.noreply.github.com>

* More PTM stuff

Co-Authored-By: Noumi <139501014+noumidev@users.noreply.github.com>

* Make system language configurable

* Fix building crypto++ for x64 target on Apple silicon MacOS

* Attempt to switch to M1 runners again

* Prevent selecting Vulkan renderer in Qt frontend and present a message

* Libretro: Add system language option

* Only enable audio by default on libretro for now

* CMake: Bump version

* Store configuration file in AppData root if not in working directory (#693)

* Store configuration file in AppData root if not in working directory

This fixes MacOS app bundles, as the emulator cannot write the config
file into the app bundle.

* Remove duplicate fs calls

* I'm an idiot sandwich

---------

Co-authored-by: wheremyfoodat <44909372+wheremyfoodat@users.noreply.github.com>

* GL: Add usingGLES to driverInfo struct (#694)

* Wayland fixes part 1

* Support GLES on desktop

* Qt: Fix Wayland support

Qt will only create a Wayland surface when show() is called on the main
window and on the ScreenWidget. Thus, call the function before creating
the GL context.

Doesn't cause regressions on XWayland, untested in other platforms.

Fixes #586

* No need to call screen->show() twice

* Fix disabling Wayland & building on some distros (#700)

* GLES: Properly stub out logic ops

* Fix git versioning

* Android_Build: Implement ccache (#703)

* Android_Build: Implement ccache

* Update Android_Build.yml

* Update Android_Build.yml

---------

Co-authored-by: wheremyfoodat <44909372+wheremyfoodat@users.noreply.github.com>

* Removed dead Citra link in readme (#706)

* CRO: Lighter icache flushes

* Implement Luma icache SVCs

* Add missing SVC logs

* GPU: Add sw texture copies

* Use vk::detail::DynamicLoader instead of vk::DynamicLoader (#710)

* Use vk::detail::DynamicLoader instead of vk::DynamicLoader

* Update renderer_vk.cpp

* Vk: Fix typo

* Vk: Lock CI runners to SDK version 1.3.301 temporarily

* Vk: Fixing CI pt 2

* Vulkan: Fixing CI pt 3

* Vk: Fix typo

* Temporarily give 80MB to all processes (#715)

* Try to cross-compile Libretro core for arm64 (#717)

* Try to cross-compile Libretro core for arm64

* Bonk

* Update Hydra_Build.yml

* [WIP] Libretro: Add audio support (#714)

* Libretro: Add audio support

* Adding audio interface part 1

* Audio device pt 2

* More audio device

* More audio device

* Morea uudi odevice

* More audio device

* More audio device

* More audio device

---------

Co-authored-by: wheremyfoodat <44909372+wheremyfoodat@users.noreply.github.com>

* Libretro audio device: Fix frame count

* Mark audio devices as final

* Add toggle for libretro audio device (#719)

* Very important work (#720)

* Very important work

* Most important fix

* Add more HLE service calls for eshop (#721)

* CI: Fix Vulkan SDK action (#723)

* GPU registers: Fix writes to some registers ignoring the mask (#725)

Co-authored-by: henry <23128103+atem2069@users.noreply.github.com>

* OLED theme

* OLED theme config fix (#736)

Co-authored-by: smiRaphi <neogt404@gmail.com>

* Adding Swedish translation

* Fix Metal renderer compilation on iOS

* [Core] Improve iOS compilation workflow

* [Qt] Hook Swedish to UI

* AppDataDocumentProvider: Typo (#740)

* More iOS work

* More iOS progress

* More iOS work

* AppDataDocumentProvider: Add missing ``COLUMN_FLAGS`` in the default document projectation (#741)

Fixes unable to copy files from device to app's internal storage problem

* More iOS work

* ios: Simplify MTKView interface (still doesn't work though)

* ios: Pass CAMetalLayer instead of void* to Obj-C++ bridging header

* Fix bridging cast

* FINALLY IOS GRAPHICS

* ios: Remove printf spam

* Metal: Reimplement some texture formats on iOS

* metal: implement texture decoder

* metal: check for format support

* metal: implement texture swizzling

* metal: remove unused texture functions

* Shadergen types: Add Metal & MSL

* Format

* Undo submodule changes

* Readme: Add Chonkystation 3

* Metal: Use std::unique_ptr for texture decode

* AppDataDocumentProvider: Allow to remove documents (#744)

* AppDataDocumentProvider: Allow to remove documents

* Typo

* Metal renderer fixes for iOS

* iOS driver: Add doc comments

* iOS: Add frontend & frontend build files (#746)

* iOS: Add SwiftUI part to repo

* Add iOS build script

* Update SDL2 submodule

* Fix iOS build script

* CI: Update xcode tools for iOS

* Update iOS_Build.yml

* Update iOS build

* Lower XCode version

* A

* Update project.pbxproj

* Update iOS_Build.yml

* Update iOS_Build.yml

* Update build.sh

* iOS: Fail on build error

* iOS: Add file picker (#747)

* iOS: Add file picker

* Fix lock placement

* Qt: Add runpog icon (#752)

* Update discord-rpc submodule (#753)

* Remove cryptoppwin submodule (#754)

* Add optional texture hashing

* Fix build on new Vk SDK (#757)

Co-authored-by: Nadia Holmquist Pedersen <893884+nadiaholmquist@users.noreply.github.com>

* CI: Use new Vulkan SDK

---------

Co-authored-by: Noumi <139501014+noumidev@users.noreply.github.com>
Co-authored-by: Thomas <thomas@thomasw.dev>
Co-authored-by: Thomas <twvd@users.noreply.github.com>
Co-authored-by: Daniel López Guimaraes <danielectra@outlook.com>
Co-authored-by: Jonian Guveli <jonian@hardpixel.eu>
Co-authored-by: Ishan09811 <156402647+Ishan09811@users.noreply.github.com>
Co-authored-by: Auxy6858 <71662994+Auxy6858@users.noreply.github.com>
Co-authored-by: Paris Oplopoios <parisoplop@gmail.com>
Co-authored-by: henry <23128103+atem2069@users.noreply.github.com>
Co-authored-by: smiRaphi <neogt404@gmail.com>
Co-authored-by: smiRaphi <87574679+smiRaphi@users.noreply.github.com>
Co-authored-by: Daniel Nylander <po@danielnylander.se>
Co-authored-by: Samuliak <samuliak77@gmail.com>
Co-authored-by: Albert <45282415+ggrtk@users.noreply.github.com>
Co-authored-by: Nadia Holmquist Pedersen <893884+nadiaholmquist@users.noreply.github.com>
2025-06-23 04:59:22 +03:00
wheremyfoodat
38ef0dbe4c Backup Noumi's Home Menu changes from her deleted repo
Co-Authored-By: Noumi <139501014+noumidev@users.noreply.github.com>
2024-12-09 22:05:38 +02:00
wheremyfoodat
cbf1e414a5
Merge pull request #675 from wheremyfoodat/TWL-Photo
FS: Stub card SPI and some other things
2024-12-09 19:12:32 +02:00
wheremyfoodat
cc669d7cab FS: Stub card SPI and some other things 2024-12-09 19:08:30 +02:00
Thomas
875464d6b4
Add Dutch translation (#674) 2024-12-08 23:56:21 +02:00
wheremyfoodat
055dbc7fb6 FS: Stub TWL_SOUND 2024-12-08 22:49:46 +02:00
wheremyfoodat
b436fdca64 FS: Stub TWL_PHOTO 2024-12-08 22:33:14 +02:00
wheremyfoodat
4af4780f18
Merge pull request #671 from twvd/universal
Add MacOS ARM64 and Universal builds to GitHub Actions
2024-12-08 12:32:54 +02:00
Thomas
303b106137 CMake: support CMAKE_OSX_ARCHITECTURES (one arch/build) 2024-12-08 10:45:10 +01:00
Gabriel Machado
da907499a0
Qt: Portuguese (Brasillian) (#670)
* pt-br

* rename

* some fix

* Limear

* pt-br to pt_br

* Typo

---------

Co-authored-by: wheremyfoodat <44909372+wheremyfoodat@users.noreply.github.com>
2024-12-07 15:54:45 +02:00
Daniel López Guimaraes
4606be05ec
Qt: Add Spanish translation (#669)
Every string is translated except for two of the color themes `Cream`
and `Greetings Cat` as I'm unsure where to literally translate it or
keep the original name.
2024-12-06 19:29:35 +02:00
wheremyfoodat
bfdc6f0240
Qt: Add translation support (#664)
* Translation PoC

* i18n but better

* More Greek translation

* Add proper translation UI

* Linux CI: Install qt6-tools-dev
2024-12-04 21:08:33 +02:00
wheremyfoodat
545ac81d81
Qt: Add SkyEmu duck icon (#657) 2024-12-02 19:41:51 +02:00
Jonian Guveli
156328fbfb
[WIP] Qt: Add config window controls (#655)
* Qt: Add config window controls

* Fix Windows build

* Fix audio slider

* Qt configs: Make thread-safe, properly update audio enable & renderdoc settings

* Qt configs: Add `connectCheckbox` function

* Qt configs: Add `connectCheckbox` function

* Rename spuLayout

* Add Discord RPC reloading

* Allow configuring the app icon

* Qt: Serialize icon & theme, properly set them

* Add rnap and rcow icons

* Qt: Fix forceShadergen config

---------

Co-authored-by: wheremyfoodat <44909372+wheremyfoodat@users.noreply.github.com>
2024-12-01 23:06:47 +02:00
wheremyfoodat
7e51f50999 Add DSP firmware database 2024-11-30 23:34:38 +02:00
wheremyfoodat
93c143d79d
Silence some clang-cl warnings 2024-11-24 18:33:13 +02:00
wheremyfoodat
878ff419fd DSP: Add SSE quad-conversion code
Co-Authored-By: Kelpsy <138107494+kelpsyberry@users.noreply.github.com>
2024-11-20 18:09:57 +02:00
wheremyfoodat
33f45cf1f5 Merge branch 'master' into more-dsp 2024-11-20 02:40:20 +02:00
wheremyfoodat
224ddac07c
Fix SIMD on MSVC (#639) 2024-11-20 02:29:27 +02:00
wheremyfoodat
20a6e0bf0d
Allow compilation with clang-cl (#638) 2024-11-20 00:57:52 +02:00
Nadia Holmquist Pedersen
f4eb8bc644 cmake: Add a USE_SYSTEM_SDL2 option 2024-11-12 16:49:10 +01:00
wheremyfoodat
69e8e1c2c4 Add audio interpolation helpers 2024-11-09 23:11:19 +02:00
wheremyfoodat
b214782a15
Merge pull request #578 from SamoZ256/metal2
Metal backend
2024-11-09 15:33:46 +02:00
wheremyfoodat
a1601b5c8b
Qt: Add rsyn icon to resources 2024-11-06 19:23:21 +02:00
Samuliak
f322ba5102
Merge branch 'master' into metal2 2024-11-05 19:05:23 +01:00
wheremyfoodat
8fc6675a05 Sort out icons on desktop 2024-11-03 14:08:39 +02:00
SamoZ256
02f8250aff
Merge branch 'master' into metal2 2024-10-31 13:45:58 +01:00
Samuliak
272c24d8e4
don't bind resources unnecessarily 2024-10-31 13:45:05 +01:00
Samuliak
158be432fc
rework the lut system 2024-10-31 09:25:01 +01:00
wheremyfoodat
8c80099339 Implement shared font relocation 2024-10-22 19:13:25 +03:00
wheremyfoodat
5d28f11ccf
GPU: Add optimized NEON path for analyzing index buffers (#613)
* Implement ARM NEON index buffer analysis

* NEON: Fix initial index buffer minima/maxima

* NEON: Fix vertex count comparison for index buffer analysis

* GPU: Add SSE4.1 path for index buffer analysis

* Fix oopsie

* Fix oopsie, again
2024-10-20 20:02:02 +03:00
wheremyfoodat
c97a174cd1
Silence invalid offsetof warning 2024-10-19 18:16:33 +03:00
wheremyfoodat
49a94a13c5
Moar shader decompiler (#559)
* Renderer: Add prepareForDraw callback

* Add fmt submodule and port shader decompiler instructions to it

* Add shader acceleration setting

* Hook up vertex shaders to shader cache

* Shader decompiler: Fix redundant compilations

* Shader Decompiler: Fix vertex attribute upload

* Shader compiler: Simplify generated code for reading and faster compilation

* Further simplify shader decompiler output

* Shader decompiler: More smallen-ing

* Shader decompiler: Get PICA uniforms uploaded to the GPU

* Shader decompiler: Readd clipping

* Shader decompiler: Actually `break` on control flow instructions

* Shader decompiler: More control flow handling

* Shader decompiler: Fix desitnation mask

* Shader Decomp: Remove pair member capture in lambda (unsupported on NDK)

* Disgusting changes to handle the fact that hw shader shaders are 2x as big

* Shader decompiler: Implement proper output semantic mapping

* Moar instructions

* Shader decompiler: Add FLR/SLT/SLTI/SGE/SGEI

* Shader decompiler: Add register indexing

* Shader decompiler: Optimize mova with both x and y masked

* Shader decompiler: Add DPH/DPHI

* Fix shader caching being broken

* PICA decompiler: Cache VS uniforms

* Simply vertex cache code

* Simplify vertex cache code

* Shader decompiler: Add loops

* Shader decompiler: Implement safe multiplication

* Shader decompiler: Implement LG2/EX2

* Shader decompiler: More control flow

* Shader decompiler: Fix JMPU condition

* Shader decompiler: Convert main function to void

* PICA: Start implementing GPU vertex fetch

* More hw VAO work

* More hw VAO work

* More GPU vertex fetch code

* Add GL Stream Buffer from Duckstation

* GL: Actually upload data to stream buffers

* GPU: Cleanup immediate mode handling

* Get first renders working with accelerated draws

* Shader decompiler: Fix control flow analysis bugs

* HW shaders: Accelerate indexed draws

* Shader decompiler: Add support for compilation errors

* GLSL decompiler: Fall back for LITP

* Add Renderdoc scope classes

* Fix control flow analysis bug

* HW shaders: Fix attribute fetch

* Rewriting hw vertex fetch

* Stream buffer: Fix copy-paste mistake

* HW shaders: Fix indexed rendering

* HW shaders: Add padding attributes

* HW shaders: Avoid redundant glVertexAttrib4f calls

* HW shaders: Fix loops

* HW shaders: Make generated shaders slightly smaller

* Fix libretro build

* HW shaders: Fix android

* Remove redundant ubershader checks

* Set accelerate shader default to true

* Shader decompiler: Don't declare VS input attributes as an array

* Change ubuntu-latest to Ubuntu 24.04 because Microsoft screwed up their CI again

* fix merge conflict bug
2024-10-19 16:53:51 +03:00
wheremyfoodat
fa9ce5fc70
GLES: Implement logic ops via fb fetch (#608)
* GLES: Implement logic ops via fb fetch

* Attempt to fix deprecated libglx-mesa0 package

* Update Qt_Build.yml

* GLES: Enable fb fetch instead of requiring it

* GLES: Add support for GL_ARM_shader_framebuffer_fetch

* Fix GL_EXT_shader_framebuffer_fetch behavior
2024-10-14 00:17:24 +03:00
SamoZ256
779e30e3e5
Merge branch 'master' into metal2 2024-09-24 09:22:17 +02:00
wheremyfoodat
683b4186d8 Qt: Add CMake target for generating translations 2024-09-16 23:36:42 +03:00
wheremyfoodat
545bbd5c45 HLE DSP: Implement AAC audio decoder 2024-09-05 00:06:48 +03:00
wheremyfoodat
9055076d0d Add fdk-aac & AAC request structure 2024-09-04 22:31:19 +03:00
Jonian Guveli
4adc50039c
Add build option for opengl profile (#592)
* Add opengl_profile build option

on android the option is set to OpenGLES by default

* Replace android checks with using_gles
2024-08-28 12:01:55 +00:00
wheremyfoodat
2754df9b94
Add renderdoc API support (#585)
* Add renderdoc API support

* FIx renderdoc include directory

* Fix RenderDoc linking

* Fix Renderdoc linking (again)

* Maybe fix renderdoc
2024-08-23 05:30:25 +03:00
wheremyfoodat
c694ce9a25 Improved git versioning 2024-08-20 13:20:14 +03:00
Jonian Guveli
dfc7b59de2 Get application version from git 2024-08-20 12:30:19 +03:00
wheremyfoodat
4a90b1ede1
Compile SDL in libretro frontend 2024-08-18 01:18:08 +03:00
Eric Warmenhoven
992c9fb98c add libretro gitlab CI file 2024-08-17 17:09:46 -04:00
wheremyfoodat
dbdf21b1ab Improve accelerometer algorithm 2024-08-16 17:54:15 +03:00
Samuliak
45eda2f120 bring back cmake changes 2024-08-16 12:25:46 +02:00
Samuliak
98b5d56021 metal: add all the files 2024-08-16 10:06:56 +02:00
wheremyfoodat
d208c24c0c Implement controller gyroscope in SDL 2024-08-14 22:35:02 +03:00
wheremyfoodat
d1922798c5 CMake: Disable /GS when using MSVC for user builds 2024-07-31 18:22:14 +03:00
wheremyfoodat
11e7eb7fd6 SDL: Fixup touchscreen code 2024-07-26 12:08:10 +03:00