nmzik
6396dc9a85
feat(input): add host input remapping
...
Add compact keyboard and mouse mapping with analog-stick defaults and integrate a global remapping editor into the Qt launcher.
Based on the host input remapping work from PR #109 .
Co-authored-by: DistantMyth <thetarun3@gmail.com >
2026-08-04 03:24:34 +02:00
nmzik
a3a00464bc
fix(launcher): focus emulator window on launch
2026-08-04 02:51:11 +02:00
nmzik
9304921132
add fullscreen mode
2026-08-04 02:26:50 +02:00
nmzik
c13a1d752b
renderer: remove duplicate vertex and index buffer rebind
2026-08-04 02:26:50 +02:00
nmzik
51d0e02543
perf: sync only GPU-dirty readbacks
2026-08-04 02:26:50 +02:00
Ali Almohaya
e8752aca7e
feat: identify build provenance in window title ( #159 )
...
* feat: identify build provenance in window title
* fix: propagate generated version dependency
---------
Co-authored-by: nmzik <Nmzik@mail.ru >
2026-08-04 01:04:10 +02:00
nmzik
26f0c7b0bf
perf: reduce texture registration and lookup overhead
2026-08-03 08:18:05 +02:00
nmzik
53feb6cb19
graphics: log image descriptor specialization mismatches
2026-08-03 04:02:35 +02:00
nmzik
86a586025f
renderer: expand rectangle lists with tessellation
...
Remove the legacy NGG rectangle workaround and its configuration toggle.
2026-08-03 00:35:02 +02:00
nmzik
06cbd602c1
graphics: preserve indirect instance state
2026-08-03 00:35:02 +02:00
nmzik
055d0920d7
renderer: allow array storage views at nonzero mips
2026-08-03 00:35:02 +02:00
nmzik
f2ee98fe31
renderer: separate tiled and linear texture capacities
2026-08-03 00:35:02 +02:00
nmzik
207cef9602
renderer: report invalid texture upload layout
2026-08-03 00:35:02 +02:00
nmzik
fb5ecec455
renderer: ignore stale stencil state for depth-only targets
2026-08-02 14:14:32 +02:00
nmzik
fc8d2a3b83
guest_gpu: remove memory-unmap submission deadlock + remove legacy agc buffering
2026-08-02 13:26:29 +02:00
nmzik
59b8fad341
graphics: support 3D color render targets
2026-08-02 09:38:57 +02:00
nmzik
b877b4be9c
graphics: perf - batch GPU page watcher updates at 4 MiB granularity
2026-08-02 08:39:50 +02:00
nmzik
9da7fc5dd6
renderer: minor optimizations
2026-08-02 08:34:44 +02:00
nmzik
da0d33224d
renderer: eliminate extra copy for small streaming buffers
2026-08-02 08:34:44 +02:00
nmzik
4631b96178
perf(gpu): run dirty-page validation only in debug builds
2026-08-02 04:58:56 +02:00
nmzik
44d7f2a3e8
shader cfg: handle shared early exits
...
Duplicate small shared exit tails so each selection gets its own merge block. This keeps overlapping early-exit ladders on structured SPIR-V and adds a regression test.
2026-08-02 03:16:08 +02:00
nmzik
2dcb90066c
shader cfg: normalize loop structure
...
Give loops one header and one continue path before SPIR-V generation. This handles conditional headers and multiple latches without falling back to a dispatcher.
2026-08-02 03:15:26 +02:00
nmzik
51a33cc363
shader cfg: handle loop control branches
...
Keep simple break, continue, and repeat branches in structured control flow. Split conflicting merge blocks and add regression tests for nested loop exits.
2026-08-02 03:14:39 +02:00
Claxten
43f30d3ab2
graphics: shader: ignore unused sampler border state
...
* Sampler dword 3 only matters when a clamp mode uses border color
(values >= 4). When no border mode is active, dword 3 is unused
but can still vary across loop iterations due to wave-lane spills.
This makes resource tracking think the descriptor is dynamic and
fail with "unsupported GPU selection".
* Fix by zeroing dword 3 when all clamp modes are non-border.
Signed-off-by: Claxten <claxten10@gmail.com >
2026-08-02 02:42:15 +02:00
Claxten
c1a5927036
graphics: pm4: accept trailing PM4 type-2 packets
...
* A one-dword type-2 NOP is a valid packet tail. Parse it normally instead of aborting command-buffer dumps.
Signed-off-by: Claxten <claxten10@gmail.com >
2026-08-02 02:07:37 +02:00
Claxten
bc436548a9
graphics: support packed 10-10-10-2 uint buffers
...
Signed-off-by: Claxten <claxten10@gmail.com >
2026-08-02 01:44:21 +02:00
nmzik
a65d17a5d6
renderer: skip debug checks when stencil&depth is not active
2026-08-01 00:22:24 +02:00
nmzik
c690aeea62
add HiS PM4 handler, accept Ngs2CustomMastering
2026-08-01 00:12:42 +02:00
nmzik
f830d6b2e4
renderer: remove legacy code left from refactoring
2026-07-31 23:13:48 +02:00
nmzik
d68a477276
renderer: broaden compatibility
2026-07-31 22:24:56 +02:00
nmzik
8977d4d2f0
shader: add descriptor log
2026-07-31 21:29:26 +02:00
nmzik
4b4e3bf3cf
pm4: implement missing selectors
2026-07-31 19:45:47 +02:00
nmzik
846002c5eb
shader: fix invalid texture descriptors and add missing format
2026-07-31 17:30:31 +02:00
nmzik
d8a4c83cc7
format src and tests with clang-format
2026-07-31 11:36:12 +02:00
nmzik
68be13345a
fix(shader): support multisampled depth image loads
2026-07-31 11:36:12 +02:00
nmzik
167da0abe0
shader: fix readlane/writelane for inactive host lanes
2026-07-31 11:36:12 +02:00
nmzik
48c31d61ee
Implement VideoDec2
2026-07-31 11:36:12 +02:00
nmzik
212282d693
fix(shader): preserve packed UINT16 MRT exports
2026-07-31 11:36:12 +02:00
nmzik
6bca35d1f5
renderer: broaden compatibility
2026-07-31 11:36:12 +02:00
Nikos
3b75a5659a
shader: specialize cube image descriptors ( #134 )
...
* shader: specialize cube image descriptors
Track whether image descriptors refer to cube maps during resource specialization, and apply the coordinate offset conversion when sampling cube maps as 2D image arrays in SPIR-V emission.
* shader: fix cube array coordinate lowering
---------
Co-authored-by: nmzik <Nmzik@mail.ru >
2026-07-31 03:59:10 +02:00
nmzik
2f5396c6a5
Rework guest memory tracking/virtual address space/direct and flexible memory ( #135 )
...
* Rework guest memory tracking
* add unknwon flag
* Fix macOS guest address-space reservation
2026-07-31 03:07:17 +02:00
nmzik
d04938c88c
Embedded fetch shader: Fix overlapping buffer loads ( #133 )
...
Fix overlapping buffer loads. Fixes many games
2026-07-30 05:08:38 +02:00
nmzik
3965d41d36
texture_cache: fix exact-match reuse across different tile modes
2026-07-30 00:10:40 +02:00
nmzik
c508c4a9c0
shader_recompiler: allow GDS append/consume offsets
2026-07-30 00:10:40 +02:00
nmzik
cc76827e63
Fix vertex buffer ranges crossing memory mappings
2026-07-29 21:05:24 +02:00
nmzik
832bc84100
fix(shader): stabilize scalar provenance phis in cyclic CFGs
2026-07-29 21:05:24 +02:00
nmzik
b9ae2537ef
renderer: broaden compatibility
2026-07-29 18:47:26 +02:00
nmzik
0b9edaa721
graphics: broaden storage image atomic compatibility
2026-07-29 18:47:24 +02:00
nmzik
8a244677d7
fix(renderer): resolve delayed GPU page faults through buffer and texture caches
2026-07-29 18:47:19 +02:00
nmzik
f6e01e5403
Optimize bulk memory invalidation ( #124 )
...
* Per page -> per range search (optimization)
2026-07-29 05:09:36 +02:00