Commit Graph

155 Commits

Author SHA1 Message Date
squidbus
bf34665a8f externals: Update and simplify MoltenVK setup. (#3747) 2025-10-23 10:17:47 +03:00
squidbus
110a735a04 externals: Update MoltenVK (#3694) 2025-10-01 18:52:12 -07:00
Marcin Mikołajczyk
7bd3eb485f Epoll (#3476)
* Epoll

* Change companion util stub to return NO_EVENT

* Revert "Change companion util stub to return NO_EVENT"

This reverts commit 8dd9913cda39b641cd3b65925e1f31fa713e8a24.

* added wepoll

* shallow..

* dist branch

* updated wepoll

* compiles on windows

---------

Co-authored-by: georgemoralis <giorgosmrls@gmail.com>
2025-09-18 11:53:04 +03:00
squidbus
e402ea3de4 externals: Update MoltenVK and re-enable private API use (#3594) 2025-09-13 10:32:10 -07:00
squidbus
70d33be7b7 externals/MoltenVK: Disable MVK_USE_METAL_PRIVATE_API (#3591) 2025-09-13 05:06:29 -07:00
squidbus
ce6681b991 externals: Update libusb to fix more ABI issues. (#3551) 2025-09-07 14:39:16 -07:00
squidbus
1d459474a2 externals: Update SDL3 (#3466) 2025-08-27 21:42:24 -07:00
squidbus
defd826a73 externals: Update MoltenVK (#3435) 2025-08-19 19:05:15 -07:00
Alexandre Bouvier
51559033ef hwinfo: track the correct commit (#3419) 2025-08-15 11:29:53 +03:00
rainmakerv2
2c906dc280 Log user CPU, total RAM, and OS (#3402)
* cpu info

Update cpu_info.h

Revert "Update cpu_info.h"

This reverts commit 6db3814e7f8162ca546c33479942d7204524b281.

Revert "cpu info"

This reverts commit cfecdf694fd7bee0fdf025c3933ff7b9498a1c3f.

hardware info

* log OS

* Round RAM, add space

* switch temporarily to local fork

* Update CMakeLists.txt

* set shallow = true for submodule

* Log logical cores as well

* point submodule to shadps4 fork
2025-08-14 13:04:08 +03:00
Marcin Mikołajczyk
923c5f3ef5 Include epoll-shim library (#3312) 2025-07-25 16:53:46 +03:00
georgemoralis
a4c5fa4b5c Using custom usb lib (#3284)
* added ext-libusb to overcome sysv_abi changes

* Fully remove libusb submodule
2025-07-21 12:24:11 +03:00
TheTurtle
4407ebdd9b shader_recompiler: Implement guest barycentrics (#3245)
* shader_recompiler: Implement guest barycentrics

* Review comments and some cleanup
2025-07-15 18:49:12 +03:00
TheTurtle
8bc30270c8 shader_recompiler: Implement ff1 with subgroup ops (#3225) 2025-07-10 21:52:56 +03:00
squidbus
0444e590e0 mac: Fix building on macOS 26. (#3073) 2025-06-09 19:29:15 -07:00
squidbus
d124f40503 externals: Update MoltenVK (#2979) 2025-05-22 18:22:05 -07:00
Lander Gallastegi
f9bbde9c79 video_core: Implement DMA. (#2819)
* Import memory

* 64K pages and fix memory mapping

* Queue coverage

* Buffer syncing, faulted readback adn BDA in Buffer

* Base DMA implementation

* Preparations for implementing SPV DMA access

* Base impl (pending 16K pages and getbuffersize)

* 16K pages and stack overflow fix

* clang-format

* clang-format but for real this time

* Try to fix macOS build

* Correct decltype

* Add testing log

* Fix stride and patch phi node blocks

* No need to check if it is a deleted buffer

* Clang format once more

* Offset in bytes

* Removed host buffers (may do it in another PR)

Also some random barrier fixes

* Add IR dumping from my read-const branch

* clang-format

* Correct size insteed of end

* Fix incorrect assert

* Possible fix for NieR deadlock

* Copy to avoid deadlock

* Use 2 mutexes insteed of copy

* Attempt to range sync error

* Revert "Attempt to range sync error"

This reverts commit dd287b48682b50f215680bb0956e39c2809bf3fe.

* Fix size truncated when syncing range

And memory barrier

* Some fixes (and async testing (doesn't work))

* Use compute to parse fault buffer

* Process faults on submit

* Only sync in the first time we see a readconst

Thsi is partialy wrong. We need to save the state into the submission context itself, not the rasterizer since we can yield and process another sumission (if im not understanding wrong).

* Use spec const and 32 bit atomic

* 32 bit counter

* Fix store_index

* Better sync (WIP, breaks PR now)

* Fixes for better sync

* Better sync

* Remove memory coveragte logic

* Point sirit to upstream

* Less waiting and barriers

* Correctly checkout moltenvk

* Bring back applying pending operations in wait

* Sync the whole buffer insteed of only the range

* Implement recursive shared/scoped locks

* Iterators

* Faster syncing with ranges

* Some alignment fixes

* fixed clang format

* Fix clang-format again

* Port page_manager from readbacks-poc

* clang-format

* Defer memory protect

* Remove RENDERER_TRACE

* Experiment: only sync on first readconst

* Added profiling (will be removed)

* Don't sync entire buffers

* Added logging for testing

* Updated temporary workaround to use 4k pages

* clang.-format

* Cleanup part 1

* Make ReadConst a SPIR-V function

---------

Co-authored-by: georgemoralis <giorgosmrls@gmail.com>
2025-05-22 21:00:15 +03:00
squidbus
aeb4536988 externals: Remove winpthreads. (#2932) 2025-05-15 13:59:34 -07:00
squidbus
c6ea7d8f76 externals: Update SDL3 (#2896) 2025-05-10 13:02:45 +03:00
Marcin Mikołajczyk
c08f92aca1 Implement IMAGE_ATOMIC_FMIN and IMAGE_ATOMIC_FMAX for 32bit floats (#2820)
* Implement IMAGE_ATOMIC_FMIN and IMAGE_ATOMIC_FMAX for 32bit floats

* Handle missing VK_EXT_shader_atomic_float2
2025-04-30 11:42:08 -07:00
squidbus
15d6a45dcd externals: Simplify MoltenVK bundling. (#2842) 2025-04-24 19:40:50 -07:00
squidbus
53ca64f6ff renderer_vulkan: Support loading Vulkan layers on macOS SDL build. (#2832) 2025-04-23 01:10:03 -07:00
squidbus
247e935353 externals: Update MoltenVK (#2791) 2025-04-15 17:13:19 -07:00
georgemoralis
2b633fd3c5 downgrade libpng to fix an issue with linux-qt (#2784)
* downgrade libpng

* revert cmake change
2025-04-14 14:08:39 +03:00
squidbus
d188d14e19 hotfix: Update discord-rpc to remove invasive macOS minimum linker flag. 2025-04-13 12:18:37 -07:00
Vinicius Rangel
aec6e330dc Update ImGui submodule (#2779)
* update imgui submodule

* fix imgui breaking changes

* update ffmpeg-core submodule
2025-04-13 19:27:20 +03:00
georgemoralis
6ebed7ce69 update submodules (#2773) 2025-04-12 18:01:39 +03:00
squidbus
b8f6ef1c0b externals: Update MoltenVK (#2754) 2025-04-07 12:23:04 +03:00
squidbus
afd0251dd2 shader_recompiler: Use VK_AMD_shader_trinary_minmax when available. (#2739)
Some checks are pending
Build and Release / reuse (push) Waiting to run
Build and Release / clang-format (push) Waiting to run
Build and Release / get-info (push) Waiting to run
Build and Release / windows-sdl (push) Blocked by required conditions
Build and Release / windows-qt (push) Blocked by required conditions
Build and Release / macos-sdl (push) Blocked by required conditions
Build and Release / macos-qt (push) Blocked by required conditions
Build and Release / linux-sdl (push) Blocked by required conditions
Build and Release / linux-qt (push) Blocked by required conditions
Build and Release / linux-sdl-gcc (push) Blocked by required conditions
Build and Release / linux-qt-gcc (push) Blocked by required conditions
Build and Release / pre-release (push) Blocked by required conditions
* shader_recompiler: Use VK_AMD_shader_trinary_minmax when available.

* shader_recompiler: Simplify signed/unsigned trinary instruction variants.
2025-04-02 23:36:54 +03:00
georgemoralis
9ee5d066a2 hotfix: issue with cmake 4
Some checks are pending
Build and Release / reuse (push) Waiting to run
Build and Release / clang-format (push) Waiting to run
Build and Release / get-info (push) Waiting to run
Build and Release / windows-sdl (push) Blocked by required conditions
Build and Release / windows-qt (push) Blocked by required conditions
Build and Release / macos-sdl (push) Blocked by required conditions
Build and Release / macos-qt (push) Blocked by required conditions
Build and Release / linux-sdl (push) Blocked by required conditions
Build and Release / linux-qt (push) Blocked by required conditions
Build and Release / linux-sdl-gcc (push) Blocked by required conditions
Build and Release / linux-qt-gcc (push) Blocked by required conditions
Build and Release / pre-release (push) Blocked by required conditions
Update Translation / Update Translation (push) Has been skipped
2025-04-01 13:22:32 +03:00
Alexandre Bouvier
a2a1ecde0a cmake: fix system libusb discovery (#2731)
Some checks are pending
Build and Release / reuse (push) Waiting to run
Build and Release / clang-format (push) Waiting to run
Build and Release / get-info (push) Waiting to run
Build and Release / windows-sdl (push) Blocked by required conditions
Build and Release / windows-qt (push) Blocked by required conditions
Build and Release / macos-sdl (push) Blocked by required conditions
Build and Release / macos-qt (push) Blocked by required conditions
Build and Release / linux-sdl (push) Blocked by required conditions
Build and Release / linux-qt (push) Blocked by required conditions
Build and Release / linux-sdl-gcc (push) Blocked by required conditions
Build and Release / linux-qt-gcc (push) Blocked by required conditions
Build and Release / pre-release (push) Blocked by required conditions
2025-03-31 22:29:52 +03:00
Joshua de Reeper
7533206d89 usbd: Implement libusb passthrough (#2271)
Some checks are pending
Build and Release / reuse (push) Waiting to run
Build and Release / clang-format (push) Waiting to run
Build and Release / get-info (push) Waiting to run
Build and Release / windows-sdl (push) Blocked by required conditions
Build and Release / windows-qt (push) Blocked by required conditions
Build and Release / macos-sdl (push) Blocked by required conditions
Build and Release / macos-qt (push) Blocked by required conditions
Build and Release / linux-sdl (push) Blocked by required conditions
Build and Release / linux-qt (push) Blocked by required conditions
Build and Release / linux-sdl-gcc (push) Blocked by required conditions
Build and Release / linux-qt-gcc (push) Blocked by required conditions
Build and Release / pre-release (push) Blocked by required conditions
Update Translation / Update Translation (push) Has been skipped
* usbd: Implement libusb passthrough

* clang-format

* only do kernel activities on non-windows

* use variable to represent "fake" windows kernel driver

---------

Co-authored-by: georgemoralis <giorgosmrls@gmail.com>
2025-03-31 18:55:21 +03:00
squidbus
be7d646e83 externals: Remove need for cryptopp build. (#2707) 2025-03-29 10:32:06 +02:00
georgemoralis
2e54afb295 fix debug version for cryptopp (#2664)
Some checks are pending
Build and Release / reuse (push) Waiting to run
Build and Release / clang-format (push) Waiting to run
Build and Release / get-info (push) Waiting to run
Build and Release / windows-sdl (push) Blocked by required conditions
Build and Release / windows-qt (push) Blocked by required conditions
Build and Release / macos-sdl (push) Blocked by required conditions
Build and Release / macos-qt (push) Blocked by required conditions
Build and Release / linux-sdl (push) Blocked by required conditions
Build and Release / linux-qt (push) Blocked by required conditions
Build and Release / linux-sdl-gcc (push) Blocked by required conditions
Build and Release / linux-qt-gcc (push) Blocked by required conditions
Build and Release / pre-release (push) Blocked by required conditions
Update Translation / Update Translation (push) Has been skipped
2025-03-21 16:12:14 +02:00
squidbus
171f755c13 build: Compile for Sandy Bridge CPU target. (#2651)
Some checks are pending
Build and Release / reuse (push) Waiting to run
Build and Release / clang-format (push) Waiting to run
Build and Release / get-info (push) Waiting to run
Build and Release / windows-sdl (push) Blocked by required conditions
Build and Release / windows-qt (push) Blocked by required conditions
Build and Release / macos-sdl (push) Blocked by required conditions
Build and Release / macos-qt (push) Blocked by required conditions
Build and Release / linux-sdl (push) Blocked by required conditions
Build and Release / linux-qt (push) Blocked by required conditions
Build and Release / linux-sdl-gcc (push) Blocked by required conditions
Build and Release / linux-qt-gcc (push) Blocked by required conditions
Build and Release / pre-release (push) Blocked by required conditions
2025-03-18 16:02:34 -07:00
Osyotr
be6840f6a9 cmake: Cleanup (#2535)
- Don't call enable_language before project.
See CMake docs for CMP0165.
- Remove boost-related cache variables.
It's too late to set them because Boost::headers has already been found.
- Don't build SDL3-test library.
Not used by shadps4.
- Remove /Zc:preprocessor from toml11's INTERFACE_COMPILE_OPTIONS.
Clang-cl does not support this flag and emits a lot of warnings.
- Remove dummy.cpp and make gcn a proper INTERFACE target.
2025-02-25 20:46:26 +02:00
Vladislav Mikhalin
bc0b42ee53 Update libatrac9 (#2524) 2025-02-24 08:26:14 +03:00
squidbus
5b3e156197 externals: Update MoltenVK (#2492) 2025-02-21 12:41:36 +02:00
squidbus
cfe249debe shader_recompiler: Replace texel buffers with in-shader buffer format interpretation (#2363)
* shader_recompiler: Replace texel buffers with in-shader buffer format interpretation

* shader_recompiler: Move 10/11-bit float conversion to functions and address some comments.

* vulkan: Remove VK_KHR_maintenance5 as it is no longer needed for buffer views.

* shader_recompiler: Add helpers for composites and bitfields in pack/unpack.

* shader_recompiler: Use initializer_list for bitfield insert helper.
2025-02-06 20:40:49 -08:00
squidbus
132a9d7d35 externals: Update MoltenVK (#2280)
Small fix for pipeline serialization from last change.
2025-01-30 01:38:34 -08:00
squidbus
0575853be1 externals: Update MoltenVK. (#2264)
Adds support for VK_EXT_depth_clip_control
2025-01-28 17:56:05 -08:00
squidbus
6f04ea18e4 externals: Update MoltenVK (#2249)
Fixes broken vertex binding dynamic stride when used with tessellation.
2025-01-26 19:28:58 -08:00
squidbus
361532418c externals: Update SPIRV-Cross for MoltenVK (#2237) 2025-01-24 12:47:24 -08:00
squidbus
56f4b8a2b8 shader_recompiler: Implement shader export formats. (#2226) 2025-01-24 10:41:58 -08:00
georgemoralis
e652369f22 sdl3 update (#2221) 2025-01-23 23:58:43 +02:00
squidbus
a3967ccdb4 externals: Update vulkan-headers (#2197) 2025-01-20 14:48:32 +02:00
squidbus
4719d32295 sdl: Respect text input main thread requirements. (#2138) 2025-01-12 22:44:42 +02:00
squidbus
725814ce01 shader_recompiler: Improvements to array and cube handling. (#2083)
* shader_recompiler: Account for instruction array flag in image type.

* shader_recompiler: Check da flag for all mimg instructions.

* shader_recompiler: Convert cube images into 2D arrays.

* shader_recompiler: Move image resource functions into sharp type.

* shader_recompiler: Use native AMD cube instructions when possible.

* specialization: Fix buffer storage mistake.
2025-01-10 10:48:12 +02:00
squidbus
e791ff4c5c externals: Update discord-rpc. (#2094) 2025-01-08 13:50:39 +02:00
squidbus
48c51bd9ef audio: Accurate audio output timing. (#1986)
* audio: Accurate audio output timing.

* audio: Handle SDL audio queue stalls.

* audio: Format info cleanup.
2024-12-31 12:38:52 +02:00