Commit graph

1739 commits

Author SHA1 Message Date
KojoZero
e2c3e2819c switched to @turol 2017 smaa fork, fixed opengl smaa implementation 2026-05-09 16:24:27 -07:00
KojoZero
140ab7807c setting up vulkan part 3 2026-05-06 18:52:40 -07:00
KojoZero
756d73531c setting up vulkan part 2 2026-05-06 17:53:27 -07:00
KojoZero
060cb7f7d5 setting up vulkan part 1 2026-05-06 15:58:37 -07:00
KojoZero
935031a1e7 fixed interlaced and anaglyph modes 2026-05-06 04:19:21 -07:00
KojoZero
508f5fe75e cleared alpha channel 2026-05-05 17:41:54 -07:00
KojoZero
4089382e00 fixed smaa edge detection and blend weight pass 2026-05-05 17:25:39 -07:00
KojoZero
c62fb29859 attempted build fix 2 2026-05-04 22:27:14 -07:00
KojoZero
894751724f attempted build fix 2026-05-04 22:13:32 -07:00
KojoZero
ebcc1e36f9 fixed game specific texture bugs 2026-05-04 21:24:15 -07:00
KojoZero
912c2d70e2 opengl linked antialiasing settings and scaling to gui 2026-05-04 18:26:22 -07:00
KojoZero
f14d870ec9 opengl optimized post processing performance 2026-05-04 15:44:03 -07:00
KojoZero
5a10bee0a9 opengl made antialiasing and scaling methods bound to variable 2026-05-04 01:55:51 -07:00
KojoZero
02ea2f8911 opengl implemented area sampling 2026-05-03 23:36:40 -07:00
KojoZero
05d5ff58af opengl smaa implemented 2026-05-03 16:10:43 -07:00
KojoZero
0bf83f5682 opengl smaa setup 2026-05-03 12:16:01 -07:00
KojoZero
652db82300 opengl implemented fxaa and gamma corrected bilinear 2026-05-03 02:38:19 -07:00
KojoZero
1877140f21 changing pipeline part 4 2026-05-02 23:13:27 -07:00
KojoZero
9bc89915a1 changing pipeline part 3 2026-05-02 12:06:58 -07:00
KojoZero
e3a0b19ead temp 2026-05-01 01:31:37 -07:00
KojoZero
479b078394 changing pipeline part 2 2026-04-30 18:54:11 -07:00
KojoZero
5e6ac1a315 changing pipeline part 1 2026-04-30 15:37:34 -07:00
PabloMK7
0fe6a8c7df
video_core: Properly handle non RGBA8 shadow textures (#2047)
Some checks failed
citra-build / source (push) Has been cancelled
citra-build / linux-x86_64 (appimage) (push) Has been cancelled
citra-build / linux-x86_64 (appimage-wayland) (push) Has been cancelled
citra-build / linux-x86_64 (gcc-nopch) (push) Has been cancelled
citra-build / linux-arm64 (clang) (push) Has been cancelled
citra-build / linux-arm64 (gcc-nopch) (push) Has been cancelled
citra-build / macos (push) Has been cancelled
citra-build / windows (msvc) (push) Has been cancelled
citra-build / windows (msys2) (push) Has been cancelled
citra-build / android (googleplay) (push) Has been cancelled
citra-build / android (vanilla) (push) Has been cancelled
citra-build / docker (push) Has been cancelled
citra-format / clang-format (push) Has been cancelled
citra-libretro / android (push) Has been cancelled
citra-libretro / linux (push) Has been cancelled
citra-libretro / windows (push) Has been cancelled
citra-libretro / macos (arm64) (push) Has been cancelled
citra-libretro / macos (x86_64) (push) Has been cancelled
citra-libretro / ios (push) Has been cancelled
citra-libretro / tvos (push) Has been cancelled
citra-transifex / transifex (push) Has been cancelled
2026-04-17 21:45:50 +02:00
PabloMK7
f1cd5f5ff4
video_core: fix color blend min/max mode in OpenGL (#2038)
* video_core: fix check for fragment color blend emulation

* video_core: Fix typo in gl fragment shader gen
2026-04-14 19:26:22 +02:00
Eric Warmenhoven
e8c75b4107
libretro: vulkan: wait before ticking (#2004)
Some checks are pending
citra-build / source (push) Waiting to run
citra-build / linux-x86_64 (appimage) (push) Waiting to run
citra-build / linux-x86_64 (appimage-wayland) (push) Waiting to run
citra-build / linux-x86_64 (gcc-nopch) (push) Waiting to run
citra-build / linux-arm64 (clang) (push) Waiting to run
citra-build / linux-arm64 (gcc-nopch) (push) Waiting to run
citra-build / macos (push) Waiting to run
citra-build / windows (msvc) (push) Waiting to run
citra-build / windows (msys2) (push) Waiting to run
citra-build / android (googleplay) (push) Waiting to run
citra-build / android (vanilla) (push) Waiting to run
citra-build / docker (push) Waiting to run
citra-format / clang-format (push) Waiting to run
citra-libretro / android (push) Waiting to run
citra-libretro / linux (push) Waiting to run
citra-libretro / windows (push) Waiting to run
citra-libretro / macos (arm64) (push) Waiting to run
citra-libretro / macos (x86_64) (push) Waiting to run
citra-libretro / ios (push) Waiting to run
citra-libretro / tvos (push) Waiting to run
citra-transifex / transifex (push) Waiting to run
Ensure the scheduler worker thread has finished processing all dispatched command chunks before the rasterizer cache's garbage collector destroys sentenced surfaces.
2026-04-11 22:56:09 +02:00
Wunkolo
4cbd75b413 shader_jit: Optimize GeometryEmitter SETEMIT state
The `SETEMIT`/`SETE` instruction only actually encodes 4 bits of possible state,
but this is currently expanded into three separate bytes of
data(four with padding) and requires three separate byte-writes for the x64 and
a64 JITs to write into. These 4 bits from the instruction can instead be
compacted into a singular 1-byte write from the JIT by encoding these 4 bits of
state into a singular byte at JIT-time, and unpacking this data is instead done
by `GeometryEmitter::Emit`. This also allows the serializer to use a singular
byte for all 3 fields now as well.
2026-04-05 23:02:56 +02:00
OpenSauce04
23393904e0 Fixed NetBSD build issues
- Added missing include
- Fixed X11 include directory not being included
2026-04-05 13:11:40 +01:00
PabloMK7
7e58ac5bcf android: Handle surface lost during swapchain creation 2026-03-27 18:31:13 +00:00
OpenSauce04
6715959382 shader_jit_a64_compiler: Added missing include
Fixes a build issue on ARM64 Linux w/ GCC

Fix proposed by PabloMK7
2026-03-12 17:18:29 +00:00
PabloMK7
a3db3be4a6
video_core: vulkan: Fix Framebuffer move behaviour (#1865) 2026-03-11 23:36:03 +01:00
Eric Warmenhoven
3a5fa35449 libretro: draw cursor in vulkan 2026-03-08 19:04:10 +00:00
PabloMK7
8d284aeccf
video_core: Fix a few vulkan validation issues (#1818) 2026-03-04 21:05:22 +01:00
PabloMK7
0f9d5f29f3
video_core: Move shader and pipeline compilation into separate workers (#1802) 2026-03-01 23:09:13 +01:00
PabloMK7
7d19679cc5
video_core: vk_texture_runtime: Refactor and fix resource leak (#1790) 2026-02-25 19:53:03 +01:00
PabloMK7
b3fd0b6c89
video_core: Apply texture filter to color surfaces (#1784) 2026-02-25 13:08:18 +01:00
Eric Warmenhoven
fe59958b63 older tvos hardware does not support layered rendering 2026-02-23 22:49:02 +00:00
PabloMK7
8b72dcb235
video_core: Do not spam file IO when reading vulkan shader disk cache (#1774) 2026-02-23 15:45:26 +01:00
PabloMK7
4c054ff2e7
video_core: Fix transferability issue in vulkan shader disk cache (#1770) 2026-02-22 22:41:24 +01:00
jbm11208
1092295f2a
Fix Shadow Rendering / Texture Filtering (#1675)
* video_core/renderer_vulkan: Add texture filtering

* Fix Shadow Rendering (again...)

* Make individual image views per res scale

* Refactor texture runtime

* Fix some magic numbers

* More fixes and filter pipeline cache.

* Refactor Surface and Handle move and destructor

---------

Co-authored-by: PabloMK7 <hackyglitch2@gmail.com>
2026-02-20 23:39:04 +01:00
Eric Warmenhoven
d9b77cc21e
Implement libretro core (#1215)
* libretro core

* Bringing citra libretro implementation over
* libretro: hook up vulkan renderer
* libretro: github actions
* libretro: gyro
* libretro: core options v2
* libretro: on ios turn off shader jit if unavailable
* moltenvk 1.3.0 introduces 8-bit indexes but allocates 16-bit for metal; this ends up allocating stream buffer * 2 = 132MiB. Instead, just use 16-bit indexes. (This will be necessary for standalone when bumping moltenvk version.)

* libretro core: address review feedback

* libretro: microphone support

* cmake: Add ENABLE_ROOM_STANDALONE to list of incompatible libretro flags

* libretro: proper initial geometry

* libretro: fix software renderer

* libretro: address review feedback

* .github/libretro.yml: Pin macOS runners at macOS 26

* ci: Remove explicit selection of Xcode 16.0

* .github/libretro.yml: remove unnecessary windows builder apt commands

* .github/libretro.yml: bump min macos version to 11.0

* ci: Re-enable CI jobs for all libretro cores

This is under the condition that we don't introduce build cache for these builds

---------

Co-authored-by: OpenSauce04 <opensauce04@gmail.com>
Co-authored-by: PabloMK7 <hackyglitch2@gmail.com>
2026-02-19 22:30:25 +00:00
PabloMK7
c43f24e489
video_core: Fixes to vulkan disk cache (#1748) 2026-02-17 14:22:48 +01:00
PabloMK7
304db9173b
video_core: vulkan: Add disk shader cache (#1725) 2026-02-16 15:59:22 +01:00
OpenSauce04
0c478d7614 Add "Enable display refresh rate detection" setting on desktop 2026-02-09 20:08:34 +00:00
PabloMK7
f010863ece
video_core: vulkan: Only store hashes in shader cache maps (#1710) 2026-02-02 18:25:03 +01:00
PabloMK7
f1fa564733
Revert: video_core/renderer_vulkan: Add texture filtering (#1678) 2026-01-24 23:48:54 +01:00
PabloMK7
95a6814752 video_core: Make all state dirty after loading a savestate 2026-01-22 19:42:21 +01:00
PabloMK7
b0fea112e8 core: Fix accurate multiplication loading (home menu and savestate) 2026-01-22 15:11:38 +01:00
jbm11208
0571187bd3
video_core/renderer_vulkan: fix shadow rendering (#1634) 2026-01-18 23:56:35 +01:00
PabloMK7
2b7de66245
core: Revert some hash operations to CityHash64 (#1609) 2026-01-11 16:26:46 +01:00
PabloMK7
5c863db0f2
video_core: Add patches for 3D Classics shaders (#1593) 2026-01-09 18:28:40 +01:00