Commit graph

399 commits

Author SHA1 Message Date
OpenSauce04
b2805cbebc Use archive.org snapshots of remaining Citra links for now
Should be changed out for appropriate replacements when they are available

Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
2024-07-01 20:30:39 +00:00
Reg Tiangha
c13595cc70 externals: Update xbyak from v7.06 to v7.07 2024-06-29 11:28:40 +00:00
Reg Tiangha
c56ff95a12 externals: Update glslang from 14.2.0 to 14.3.0 2024-06-29 11:28:40 +00:00
Reg Tiangha
23345dc9ac externals: Update sdl from 2.30.3 to 2.30.4 2024-06-29 11:28:40 +00:00
Reg Tiangha
8b9f234daa externals: Update vma to 3.1.0 2024-06-29 11:28:40 +00:00
Reg Tiangha
2e011e99c3
externals: update openal-soft to HEAD 2024-05-22 09:13:51 -06:00
Reg Tiangha
e08fd85420
externals: update zstd to v1.5.6-HEAD 2024-05-22 09:12:29 -06:00
Reg Tiangha
766c9faac1
externals: update vulkan-headers from vulkan-sdk-1.3.275 to vulkan-sdk-1.3.283 2024-05-22 09:11:39 -06:00
Reg Tiangha
7d8f12fad7
externals: update vma to HEAD 2024-05-22 09:10:01 -06:00
Reg Tiangha
1484d31711
externals: update sdl2 from 2.30.2 to 2.30.3 2024-05-22 09:09:03 -06:00
Reg Tiangha
2e43cf2fbb
externals: update libyuv to HEAD 2024-05-22 09:08:16 -06:00
Reg Tiangha
240d112a61
externals: update glslang from 14.1.0 to 14.2.0 2024-05-22 09:07:05 -06:00
Reg Tiangha
e31faa5e62
externals: update faad2 to HEAD 2024-05-22 09:06:23 -06:00
Reg Tiangha
85dbafe507
externals: update enet to v1.3.18 2024-05-22 09:05:17 -06:00
Reg Tiangha
0f9c02c019
externals: update cubeb to HEAD 2024-05-22 09:03:32 -06:00
Reg Tiangha
d1ccbdf1ee
externals: update catch2 from v3.5.4 to v3.6.0 2024-05-22 09:01:56 -06:00
Reg Tiangha
f758720785
externals: update libyuv to HEAD 2024-04-11 08:45:20 -06:00
Reg Tiangha
56b4070db0
externals: update cubeb to HEAD 2024-04-11 08:41:07 -06:00
Reg Tiangha
f643399d1b
externals: update openal-soft to HEAD 2024-04-11 08:40:19 -06:00
Reg Tiangha
34667b9231
externals: update sdl2 from 2.30.1 to 2.30.2-HEAD 2024-04-11 08:38:55 -06:00
Reg Tiangha
96da5b6667
externals: update catch2 from v3.5.3 to v3.5.4 2024-04-11 08:26:08 -06:00
Reg Tiangha
f9a44c30b6 externals: allow external SPIR-V Optimization 2024-04-07 19:37:27 +01:00
Reg Tiangha
870e32be6f externals: update glslang from 12.2.0 to 14.1.0-HEAD 2024-04-07 19:37:27 +01:00
Reg Tiangha
7455bec491 externals: update vulkan-headers from vulkan-sdk-1.3.275.0 to v1.3.281 2024-04-07 19:37:27 +01:00
Reg Tiangha
1e70329772 externals: update vma to HEAD 2024-04-07 19:37:27 +01:00
OpenSauce
6cf2c37392
The big rebrand commit
- Rebranded executable files to reference Lime instead of Citra
- Rebranded many files in the source tree to reference Lime instead of Citra
- Rebranded many resource files to reference Lime instead of Citra
- Rebranded all instances of Citra's reverse DNS to Lime's reverse DNS
- Other small misc rebrands
2024-03-31 16:50:40 +01:00
Reg Tiangha
0a30d6fdd8
Update various submodules (#26)
* externals: update catch2 from v3.3.2 to v3.5.3

* externals: update zstd from v1.5.5 to v1.5.6

* externals: update xbyak from v6.68 to v7.06

* externals: update soundtouch from 2.3.2 to 2.3.3

* externals: update oaknut from 2.0.2 to HEAD

* externals: update sdl2 from 2.25.5 to 2.30.1

* externals: update cubeb to HEAD

* externals: update openal-soft from 1.23.1 to HEAD

* externals: update nihstro to HEAD

* externals: update lodepng to HEAD

* externals: update libyuv to HEAD

* externals: update faad2 from 2.11.0 to HEAD

* externals: update enet to HEAD

* externals: update cpp-jwt to HEAD

* externals: update inih from r56 to r58

* externals: update libusb from 1.0.27-rc2 to 1.0.27

* externals: update getopt from 1.0-2015.06.19 to 1.1-2022.09.25

* externals: update httplib from v0.11.2 to v0.14.3

* externals: update json from 3.11.2 to 3.11.3

* externals: update fmt from 10.1.1 to 10.2.1

* externals: update dynarmic from 6.6.2 to 6.7.0-HEAD
2024-03-31 01:01:49 -03:00
RyzenDew
12b838cc7f
Revert "Update icons and strings" 2024-03-08 01:55:15 -04:00
Angelo Trotta
6601120c01 Fix default qt_theme
- Fixed error when compiling caused by the Lime image change and renaming.
- Updated compatibility list UI to reflect changes from Citra to Lime
2024-03-07 11:08:01 +01:00
Castor215
749a721aa2
externals: disable system cpp-httplib if it is a shared object (#7446)
Co-authored-by: Castor216 <davidjamescastor215@proton.me>
2024-02-17 06:39:38 -08:00
Steveice10
19784355f9
build: Improve support for Windows cross-compilation. (#7389)
* build: Improve support for Windows cross-compilation.

* build: Move linuxdeploy download to bundle target execution time.
2024-02-05 10:09:50 -08:00
Steveice10
c978c074db
build: Update and re-enable cubeb on macOS. (#7405) 2024-02-01 15:29:14 -08:00
Steveice10
9f5d5c6ddd
externals: Remove broken android-ifaddrs. (#7410) 2024-02-01 06:39:13 -08:00
merry
63feac6bb3
externals: Update dynarmic to 6.6.1, Update oaknut to 2.0.1 (#7398) 2024-01-30 19:50:39 -08:00
Steveice10
82294425e3
build: Add flags to toggle specific renderer backends. (#7375) 2024-01-21 23:29:46 -08:00
Steveice10
2ce0a9e899
renderer_vulkan: Update to support MoltenVK 1.2.7 (#7335) 2024-01-09 11:33:47 -08:00
Daniel López Guimaraes
dccb8f6b17
gamemode: Fix compile issues (#7276)
The Linux build fails to compile because gamemode will try to link
against `common` when it's not needed.
2023-12-22 19:29:44 +05:30
Tobias
c7e9f8449e
Port yuzu-emu/yuzu#11946: "Enable (Feral Interactive) Gamemode on Linux" (#7245) 2023-12-20 06:08:07 -08:00
SuperSamus
98f17f8f04
externals: fix find Crypto++ (#7189)
Co-authored-by: Martino Fontana <tinozzo123@gmail.com>
2023-11-20 04:07:41 -08:00
Castor215
ba702043f0
externals: allow user to use system Catch2 (#7190) 2023-11-18 15:54:27 -08:00
SuperSamus
2a4c60c1dd
externals: fix find OpenAL (#7188) 2023-11-18 15:54:18 -08:00
Castor215
6f05dd9d1d
externals: allow user to use system Vulkan headers (#7155) 2023-11-12 13:02:23 -08:00
Castor215
b74c91457e
externals: allow user to use system VulkanMemoryAllocator (#7149) 2023-11-11 11:52:28 -08:00
Castor215
80ac6c03b5
externals: allow user to use system openal (#7145) 2023-11-10 13:15:02 -08:00
Steveice10
d4f31bc617
video_core: Fix fragment shader interlock usage on OpenGL. (#7144) 2023-11-10 13:14:52 -08:00
Castor215
fcc0fd671a
externals: allow user to use system lodepng (#7138) 2023-11-08 15:39:24 -08:00
Steveice10
4dd6e12e46
externals: Update faad2 and remove SBR configuration workaround. (#7128) 2023-11-07 18:12:03 -08:00
Wunk
e13735b624
video_core: Implement an arm64 shader-jit backend (#7002)
* externals: Add oaksim submodule

Used for emitting ARM64 assembly

* common: Implement aarch64 ABI

Utilize oaknut to implement a stack frame.

* tests: Allow shader-jit tests for x64 and a64

Run the shader-jit tests for both x86_64 and arm64 targets

* video_core: Initialize arm64 shader-jit backend

Passes all current unit tests!

* shader_jit_a64: protect/unprotect memory when jit-ing

Required on MacOS. Memory needs to be fully unprotected and then
re-protected when writing or there will be memory access errors on
MacOS.

* shader_jit_a64: Fix ARM64-Imm overflow

These conditionals were throwing exceptions since the immediate values
were overflowing the available space in the `EOR` instructions. Instead
they are generated from `MOV` and then `EOR`-ed after.

* shader_jit_a64: Fix Geometry shader conditional

* shader_jit_a64: Replace `ADRL` with `MOVP2R`

Fixes some immediate-generation exceptions.

* common/aarch64: Fix CallFarFunction

* shader_jit_a64: Optimize `SantitizedMul`

Co-authored-by: merryhime <merryhime@users.noreply.github.com>

* shader_jit_a64: Fix address register offset behavior

Based on https://github.com/citra-emu/citra/pull/6942
Passes unit tests.

* shader_jit_a64: Fix `RET` address offset

A64 stack is 16-byte aligned rather than 8. So a direct port of the x64
code won't work. Fixes weird branches into invalid memory for any
shaders with subroutines.

* shader_jit_a64: Increase max program size

Tuned for A64 program size.

* shader_jit_a64: Use `UBFX` for extracting loop-state

Co-authored-by: JosJuice <JosJuice@users.noreply.github.com>

* shader_jit_a64: Optimize `SUB+CMP` to `SUBS`

Co-authored-by: JosJuice <JosJuice@users.noreply.github.com>

* shader_jit_a64: Optimize `CMP+B` to `CBNZ`

Co-authored-by: JosJuice <JosJuice@users.noreply.github.com>

* shader_jit_a64: Use `FMOV` for `ONE` vector

Co-authored-by: JosJuice <JosJuice@users.noreply.github.com>

* shader_jit_a64: Remove x86-specific documentation

* shader_jit_a64: Use `UBFX` to extract exponent

Co-authored-by: JosJuice <JosJuice@users.noreply.github.com>

* shader_jit_a64: Remove redundant MIN/MAX `SRC2`-NaN check

Special handling only needs to check SRC1 for NaN, not SRC2.
It would work as follows in the four possible cases:

No NaN: No special handling needed.
Only SRC1 is NaN: The special handling is triggered because SRC1 is NaN, and SRC2 is picked.
Only SRC2 is NaN: FMAX automatically picks SRC2 because it always picks the NaN if there is one.
Both SRC1 and SRC2 are NaN: The special handling is triggered because SRC1 is NaN, and SRC2 is picked.

Co-authored-by: JosJuice <JosJuice@users.noreply.github.com>

* shader_jit/tests:: Add catch-stringifier for vec2f/vec3f

* shader_jit/tests: Add Dest Mask unit test

* shader_jit_a64: Fix Dest-Mask `BSL` operand order

Passes the dest-mask unit tests now.

* shader_jit_a64: Use `MOVI` for DestEnable mask

Accelerate certain cases of masking with MOVI as well

Co-authored-by: JosJuice <JosJuice@users.noreply.github.com>

* shader_jit/tests: Add source-swizzle unit test

This is not expansive. Generating all `4^4` cases seems to make Catch2
crash. So I've added some component-masking(non-reordering) tests based
on the Dest-Mask unit-test and some additional ones to test
broadcasts/splats and component re-ordering.

* shader_jit_a64: Fix swizzle index generation

This was still generating `SHUFPS` indices and not the ones that we wanted for the `TBL` instruction. Passes all unit tests now.

* shader_jit/tests: Add `ShaderSetup` constructor to `ShaderTest`

Rather than using the direct output of `CompileShaderSetup` allow a
`ShaderSetup` object to be passed in directly.  This enabled the ability
emit assembly that is not directly supported by nihstro.

* shader_jit/tests: Add `CALL` unit-test

Tests nested `CALL` instructions to eventually reach an `EX2`
instruction.

EX2 is picked in particular since it is implemented as an even deeper
dispatch and ensures subroutines are properly implemented between `CALL`
instructions and implementation-calls.

* shader_jit_a64: Fix nested `BL` subroutines

`lr` was getting writen over by nested calls to `BL`, causing undefined
behavior with mixtures of `CALL`, `EX2`, and `LG2` instructions.

Each usage of `BL` is now protected with a stach push/pop to preserve
and restore teh `lr` register to allow nested subroutines to work
properly.

* shader_jit/tests: Allocate generated tests on heap

Each of these generated shader-test objects were causing the stack to
overflow.  Allocate each of the generated tests on the heap and use
unique_ptr so they only exist within the life-time of the `REQUIRE`
statement.

* shader_jit_a64: Preserve `lr` register from external function calls

`EMIT` makes an external function call, and should be preserving `lr`

* shader_jit/tests: Add `MAD` unit-test

The Inline Asm version requires an upstream fix:
https://github.com/neobrain/nihstro/issues/68

Instead, the program code is manually configured and added.

* shader_jit/tests: Fix uninitialized instructions

These `union`-type instruction-types were uninitialized, causing tests
to indeterminantly fail at times.

* shader_jit_a64: Remove unneeded `MOV`

Residue from the direct-port of x64 code.

* shader_jit_a64: Use `std::array` for `instr_table`

Add some type-safety and const-correctness around this type as well.

* shader_jit_a64: Avoid c-style offset casting

Add some more const-correctness to this function as well.

* video_core: Add arch preprocessor comments

* common/aarch64: Use X16 as the veneer register

https://developer.arm.com/documentation/102374/0101/Procedure-Call-Standard

* shader_jit/tests: Add uniform reading unit-test

Particularly to ensure that addresses are being properly truncated

* common/aarch64: Use `X0` as `ABI_RETURN`

`X8` is used as the indirect return result value in the case that the
result is bigger than 128-bits. Principally `X0` is the general-case
return register though.

* common/aarch64: Add veneer register note

`LR` is generally overwritten by `BLR` anyways, and would also be a safe
veneer to utilize for far-calls.

* shader_jit_a64: Remove unneeded scratch register from `SanitizedMul`

* shader_jit_a64: Fix CALLU condition

Should be `EQ` not `NE`. Fixes the regression on Kid Icarus.
No known regressions anymore!

---------

Co-authored-by: merryhime <merryhime@users.noreply.github.com>
Co-authored-by: JosJuice <JosJuice@users.noreply.github.com>
2023-11-05 21:40:31 +01:00
Steveice10
27bad3a699
audio_core: Replace AAC decoders with single FAAD2-based decoder. (#7098) 2023-11-04 14:56:13 -07:00
Castor215
89d5d4a2b6
externals: allow user to use system cubeb (#7107) 2023-11-02 17:33:40 -07:00