Flyinghead
5703bc7df2
ui: arcade games appear twice if the game list is updated
2022-12-23 10:13:26 +01:00
Flyinghead
95a00a165a
sentry: upload crashes after reading emu.cfg to comply with user choice
...
android: get rid of Send Logs button
2022-12-23 10:06:24 +01:00
Flyinghead
599bc8a823
arm64 dynarec: need up to 5 ops for mem accesses
...
Issue #837
2022-12-22 14:55:42 +01:00
Flyinghead
9578841480
pvr: fix texture bleeding before making indexes
...
fix crash with sorted triangles.
Issue #836
2022-12-22 13:15:32 +01:00
Flyinghead
b5d8cecd91
android: delay sentry upload to avoid broken pipe. Log more stuff
...
tentative fix for the broken pipe error when uploading to sentry on
android.
init log and sleep for 5 secs before upload
log git version, gpu name and version, renderer type and game id
2022-12-21 16:49:08 +01:00
Matt Phillips
6d913f42c8
Host-side profiler - initial commit ( #834 )
...
* Host-side (Flycast) profiler - initial commit
* Profiler - configurable frame warning time
* Compile fix for !DC_PROFILER
2022-12-21 11:24:11 +01:00
Flyinghead
1e0a875fa3
sentry: various fixes. Upload last log lines with the minidump
2022-12-21 11:23:15 +01:00
Flyinghead
4d77ce5a66
unused function
2022-12-20 22:24:15 +01:00
Flyinghead
f3a6fb7d8b
sentry.io integration
2022-12-20 21:52:46 +01:00
Flyinghead
b6f73d96ca
vk,dx: provoking vtx with sorted triangles. No depth write in per-strip
...
Provoking vertex wasn't set with sorted triangles (dx9, dx11, vulkan)
vk,dx9: No depth write in per-strip as in opengl and dx11.
2022-12-20 21:47:19 +01:00
Matt Phillips
13f3c8281f
Fixed single stepping, added support for vCont packets and ranged stepping (faster), initial work to support other breakpoint types
2022-12-18 16:27:38 +01:00
Flyinghead
0107435a73
iOS build fix
2022-12-17 11:25:58 +01:00
Flyinghead
ce674a872a
dyna: implement missing ops: ldc/stc sr/fpscr, tas, div1
...
add dynarec implementations for missing ldc and stc ops with sr and
fpscr
add dynarec implementation for tas.b
canonical implementation for div1
delete unused reg_old_sr_status and reg_sr
2022-12-17 11:09:51 +01:00
Flyinghead
51758b965e
ggpo: disable full framebuffer emulation. memwatch perf fix
...
Disable full framebuffer emulation with ggpo if threaded rendering is
enabled. Would require thread synchronization on VRAM page map.
memwatch: do single lookup on page map in hit()
2022-12-17 10:54:01 +01:00
Flyinghead
7fec511463
maple: don't recreate devs on rollback. Raise error if dest is invalid
...
maple: raise error is maple dest dma address isn't on RAM
maple: don't recreate maple devices when loading a rollback savestate
2022-12-17 10:51:12 +01:00
Flyinghead
2800927fa1
arm64 dynarec: can't rely on faultAddress with 512 MB vmem
...
Use x0 instead
2022-12-16 20:40:23 +01:00
Flyinghead
f133e3cccb
verify() must not call a function with side-effect
2022-12-16 20:40:23 +01:00
Matt Phillips
b0a520fe18
Various GDB fixes and improvements ( #832 )
...
* Enabled GDB server, compile fix for MSVC, added GDB option to config
* GDB - 'vMustReplyEmpty' should not be explicitly handled, it is a test for how the target responds to unknown vpackets (which was incorrect)
* GDB wait for debugger option to allow debugging from bootstrap, and Event::Resume moved after renderer init so agent.interrupt() can pause the renderer
* Draw "Waiting for debugger", and fixed UI not rendering last frame before a state change
* Fixed GDB regs/mem endianness
2022-12-16 20:34:30 +01:00
Matt Phillips
0c081a9597
Support for comma separated "-config section:key=value,section:key=value,..." command line syntax
...
(cherry picked from commit 451997d01e
)
2022-12-15 22:49:55 +01:00
Matt Phillips
7176460de3
External windows serial console ( #828 )
...
* Open external console for serial output on Windows
(cherry picked from commit e41a1410b9
)
* Compile fix for _UNICODE
(cherry picked from commit 4e6927bd27
)
2022-12-15 22:49:20 +01:00
Matt Phillips
733a1fa73d
Added USE_DX9 and USE_DX11 as configurable options in CMake
2022-12-15 22:48:38 +01:00
Flyinghead
e3809ba058
gl: macOS build fix
2022-12-14 23:43:36 +01:00
Flyinghead
4d3de39c64
gl: no GL_PRIMITIVE_RESTART and glPrimitiveRestartIndex in GLES
2022-12-13 23:42:11 +01:00
Flyinghead
1765e50703
lr: missing symbols and functions
2022-12-13 23:33:24 +01:00
Flyinghead
f9feaa313b
pvr: sort triangles during parse. Use primitive restart
...
Sort triangles during ta_parse. Use the same index as other polys. Store
results in rend_context.
Use primitive restart if available to avoid too many degenerate
triangles.
Update renderers.
2022-12-13 22:57:57 +01:00
Flyinghead
9781d8971a
gl: use static buffers for quad vertices
2022-12-13 20:56:19 +01:00
Flyinghead
a0a9b5bbc5
holly: crash when reading a write-only register
2022-12-12 22:15:12 +01:00
Flyinghead
c684faf423
naomi widescreen cheats: initd, initdv2, gunsur2, spawn, cspike, jambo
...
Widescreen cheats for initd, initdv2, gunsur2, spawn, cspike, jambo,
soulsurf.
Courtesy of Goddamn Superhero
Disable ws chear for House of the Dead 2 (wrong gun coordinates)
2022-12-11 16:33:30 +01:00
Flyinghead
cdca559d99
ggpo: optimize memwatch, save/load state. endOfFrame on vblank in
...
ggpo: Optimize memwatch and load/save state. Unprotect memory before restoring a state. Smaller timesync wait. Missing error handling.
pvr: call ggpo::endOfFrame() on vblank in only
ssa: fix warning
2022-12-10 17:19:34 +01:00
Flyinghead
d76dff8594
ggpo: don't call exit on assert. clean up logging
...
Don't call exit when an assertion fails, throw an exception instead. Log
ggpo API errors.
Deleted most ggpo logging methods and use flycast logging.
2022-12-10 13:06:31 +01:00
Flyinghead
1ab4eb00c0
tex cache: minor key mask fix. egl: no need for depth/stencil surface
...
Part of PalSelect was used as cache key for palette textures
PrintTexture fix
egl,wgl,xgl: No need for depth/stencil surface
gl: non-functional refactoring
2022-12-09 17:49:32 +01:00
Flyinghead
32e3e7d9c5
vmem: no more 4GB vmem mode. only map elan RAM in naomi2 mode
...
Do not attempt to reserve 4GM of virtual space on 64-bit hosts. Use
512MB everywhere.
Don't map elan RAM if not needed and dont protect/unprotect it in
memwatch.
2022-12-09 17:37:49 +01:00
Flyinghead
98123b9215
vk: don't sort triangles in per-strip mode
...
useless and now crashes since vertices aren't in ascending order anymore
2022-12-08 21:35:51 +01:00
Flyinghead
9069a49145
pvr: take jitter into account in spg sheduler. fix scheduler edge case
...
Take jitter into account when calculating current scanline
Scheduler would miss the next int if it's on the next scanline
Support for Hblank interrupt mode 2 (every scanline)
2022-12-06 22:04:37 +01:00
Flyinghead
d417237e64
Merge remote-tracking branch 'origin/master' into dev
...
# Conflicts:
# core/emulator.cpp
2022-12-06 21:47:50 +01:00
Flyinghead
446619ce85
atomiswave only has 2 MB of aica ram
...
new savestate version
build.h clean up
2022-12-06 20:51:45 +01:00
Flyinghead
f5fa1f6210
holly, sh4: reg access handlers don't need size. SB_FFST constant 0
2022-12-06 20:42:00 +01:00
Flyinghead
976fb99aa3
pvr: naomi mvsc2 needs more rendering cycles
...
Regression introduced by 0b0e64304e
2022-12-06 19:50:34 +01:00
Flyinghead
a0529d1cfc
drop support for legacy .reicast config dir (linux, macOS)
2022-12-06 18:09:43 +01:00
Flyinghead
8001af9743
sh4: proper write masks for memory-mapped registers
2022-12-06 17:58:30 +01:00
Flyinghead
e48b72a859
race condition causing emu thread exceptions to be ignored
...
in multithreaded mode, checkStatus() *must* be called to report
exceptions thrown by the emu thread
2022-12-05 21:24:27 +01:00
Flyinghead
71ba018782
widescreen cheatcode for vf3tb US
...
courtesy of goddamn superhero
2022-12-05 18:36:49 +01:00
Flyinghead
59ff44132b
aica: get rid of audio samples batching
...
Some audio issues are reported because of this option and the now
correctly clocked aica cpu.
2022-12-05 18:34:52 +01:00
scribam
8a0323ec08
deps: update sdl to version 2.26.1
2022-12-04 16:32:08 +01:00
Flyinghead
4c7df6c7f4
pvr: don't merge polys in per-triangle. merge polys in per-strip
...
Merging polygons in per-triangle can produces a large number of
degenerate triangles (up to x3), which must then be sorted, resulting in
a performance hit. This is useless since the sorted triangles are merged
after being sorted. (Regression introduced by
20d25059bf
)
Issue #818
In per-strip mode, polygons are now sorted before creating the index and
merging. So it doesn't have to be done in the renderer anymore.
2022-12-04 16:31:39 +01:00
Flyinghead
a40210c55c
no aica batching for Tony Hawk's 1 & 2
2022-11-29 17:27:31 +01:00
Flyinghead
034f90c1e0
ggpo: zero-init unused but sent inputs
...
avoids lots of useless rollbacks
2022-11-29 17:12:15 +01:00
DisasterMo
64223927b8
Fix Crowdin config & workflow
...
Also add new languages and update translation scripts
2022-11-28 15:00:25 +01:00
tunip3
e2c03255bb
make Xbox display scale scale with res instead of just switching between 2 presets for 1080p and 4k
2022-11-25 19:21:10 +01:00
scribam
63495d3a6a
deps: update sdl to version 2.26.0
2022-11-22 17:23:32 +01:00
scribam
88466ec352
vulkan: add missing simplification (follow-up from 8426bcad
)
2022-11-19 12:53:28 +01:00
scribam
f6532ca27a
fix some warnings
2022-11-19 12:52:26 +01:00
Flyinghead
76cf989455
disable free play for radirgy noa
...
Issue #527
2022-11-14 16:00:11 +01:00
Flyinghead
5b8e932509
move steam deck hack to sdl/sdl.cpp
2022-11-14 15:59:19 +01:00
scribam
993b705d8b
vulkan: use dynamic dispatch loader
2022-11-09 17:20:05 +01:00
Flyinghead
19204882c4
pvr: reschedule spg when SPG_HBLANK_INT is updated
...
Fixes Triggerheart Exelica input lag
Issue #691
2022-11-04 18:34:43 +01:00
vkedwardli
605dc59f8d
Fix Steam Deck's Game Mode also
2022-11-04 16:01:06 +01:00
Flyinghead
2332884d8b
maple: lower xfer rate to 1 Mbps. More accurate payload size calculation
...
Maple bus max xfer rate is 2 Mbps but actual speed is 1 Mbps.
Fixes Slave Zero (PAL) freeze with HLE.
Some improvements on payload size calc. Clean up.
2022-11-04 11:22:50 +01:00
Flyinghead
94f3d80a75
Merge remote-tracking branch 'origin/master' into dev
...
# Conflicts:
# CMakeLists.txt
# core/hw/pvr/Renderer_if.cpp
# core/oslib/audiobackend_alsa.cpp
# core/rend/vulkan/desc_set.h
# core/rend/vulkan/oit/oit_drawer.cpp
2022-11-02 20:12:34 +01:00
Flyinghead
0b0e64304e
pvr: adaptive end-of-render interrupt delay
...
EoR interrupt delay now depends on the TA context size.
Issue #634
Fixes issues with FMV in some WinCE games (Resident Evil 2, Next Tetris,
Nightmare Creatures 2)
2022-11-01 18:29:44 +01:00
Flyinghead
5a1a766bd4
pvr: emu unresponsive if no render. Present when FB_R_SOF = FB_W_SOF
...
Fix no input polling while waiting for present.
Present frame immediately if FB_R_SOF = FB_W_SOF.
2022-11-01 18:23:54 +01:00
Flyinghead
c15f446ffc
hle bios: fix pal detection for some pal wince games
...
Caesar's Palace 2K, The Next Tetris, KISS
2022-10-31 11:31:21 +01:00
Flyinghead
40dbf53792
pvr: use render pass # to read the right tile when marking blocks
...
Fixes Unreal Tournament flashing/black screen.
gl: mark vram area in rtt to avoid overwriting data (Worms World Party)
Force Worms World Party to use CopyToVRam (regression due to
6a5db32d5d
)
Don't calculate precise aspect ratio and use 4/3 instead (or more if
widescreen or stretch).
Fix clipping issue when using SCALER_CTL.vscalefactor. Avoir crash when
clip values are >= width or height.
vulkan: RenderFramebuffer wasn't working at all if !EmulateFramebuffer
2022-10-30 12:10:24 +01:00
vkedwardli
0cbf6f6601
Fixing Steam Deck's wrong dpi caused by incorrect 60mm * 60mm EDID ( #796 )
2022-10-27 22:00:22 +02:00
bslenul
c8fc873cf9
[Game List] Separate DC and arcade games
2022-10-26 15:37:17 +02:00
Flyinghead
b935bef906
gl: missing init of width and height in GlFramebuffer
...
gl,vk,dx9,dx11: always use the TA context copy for TA_GLOB_TILE_CLIP and
SCALER_CTL
2022-10-25 17:50:41 +02:00
Flyinghead
c1f0dd81d2
pvr: copy pvr regs at start_render time to avoid concurrent update
...
copy TA_GLOB_TILE_CLIP and SCALER_CTL to rend context when starting
render. Use rend context copy to calculate framebuffer size.
Fixes framebuffer size glitches in vf4 water stages.
lr: pass aspect ratio when resizing.
dx11: Wrong sizing of rotated games.
gl: test automation fixes.
2022-10-25 15:00:04 +02:00
Flyinghead
5722dc90f0
Full framebuffer emulation. Renderer interface changes
...
Helps for:
Densha de Go! 2, Issue #171
Vigilante 8, Issue #275
Xtreme Sports
Sonic Shuffle
The Ring of the Nibelungen
2022-10-23 16:32:42 +02:00
Flyinghead
e3c260f4ca
pvr: don't use op list to mark block if tile pointer is null
...
Naomi Doom sets the opaque list block to null in the tile, but op size
in TA_ALLOC_CTRL is non-zero. So use the TR list in this case.
Issue #682
2022-10-23 15:49:23 +02:00
Flyinghead
d1e48c657e
missing overrides
2022-10-23 15:44:12 +02:00
Flyinghead
decf70c87c
get rid of INLINE, NOINLINE, __forceinline
2022-10-22 22:14:19 +02:00
Flyinghead
922df88cdd
msvc build fix
2022-10-22 13:05:11 +02:00
Flyinghead
f25aeee756
audio: don't crash if audio init fails. Fall back to auto
...
Don't crash if an audio backend fails to initialize.
Fall back to auto or run without sound.
Better audio backend framework
2022-10-22 12:08:05 +02:00
Edward Li
2b36953fdc
Always fills the window with responsive size
2022-10-21 10:55:34 +02:00
Edward Li
1dcf302665
Add Aspect Fit & Aspect Fill description for Widescreen and Super Widescreen
2022-10-21 10:54:59 +02:00
Flyinghead
1fd95c2886
Roadsters (US) doesn't support RGB cable
...
Issue #791
Compile warnings
2022-10-21 10:54:26 +02:00
Edward Li
93e1d7fcee
`rend_resize_renderer_if_needed` check for window size changes also
2022-10-20 09:51:04 +02:00
Flyinghead
b2b860bb8e
gl: vmu not showing and memory corruption
...
Fix vmu not displayed
Memory corruption when restarting gl driver (android)
2022-10-20 09:49:53 +02:00
Flyinghead
0bd88fc9d9
gui: div by zero crash if window is too small
2022-10-19 10:07:48 +02:00
Flyinghead
20f9450218
ignore start() if emulator already started
...
can happen on android
2022-10-19 10:06:53 +02:00
flyinghead
401c402afc
Revert "cmake: use more system libs ( #775 )" ( #785 )
...
This reverts commit c5c941e928
.
2022-10-19 10:04:21 +02:00
Flyinghead
77a105d888
set USE_DX9 in CMakeLists.txt instead of build.h
2022-10-18 10:12:27 +02:00
Flyinghead
257c6b729f
rzip: allow multiple writes
2022-10-18 10:08:02 +02:00
Alexandre Bouvier
c5c941e928
cmake: use more system libs ( #775 )
2022-10-18 10:04:15 +02:00
Edward Li
6add19fb04
unprotect elan memory during `dc_reset` hard
2022-10-15 21:32:49 +02:00
Flyinghead
02d4b821d7
naomi: allow eeprom-based settings to be overridden (rotate, region)
2022-10-12 22:59:46 +02:00
scribam
3b3391c0d1
deps: update sdl to version 2.24.1
2022-10-08 18:33:11 +02:00
scribam
8426bcad27
vulkan: simplify function calls
2022-10-08 18:32:01 +02:00
Flyinghead
7da0549b8c
operator [0] on empty vector crashes
...
Issue #763
2022-10-04 18:21:10 +02:00
Flyinghead
b821ece052
alsa: default to 'auto' device if configured one can't be opened
...
Issue #762
2022-10-02 17:09:13 +02:00
Flyinghead
b240da41e0
lr: use VK_API_VERSION_MAJOR/MINOR/PATCH
2022-09-26 11:19:15 +02:00
Flyinghead
1858cf3b33
Merge remote-tracking branch 'origin/master' into dev
2022-09-24 19:28:38 +02:00
Edward Li
2b8f5a7b9d
Print correct version info for Vulkan and MoltenVK
2022-09-21 14:43:28 +02:00
Edward Li
c2e1425209
Stop Apple fanboys from asking where is Metal
2022-09-21 14:43:28 +02:00
scribam
c9c1218234
vulkan: add deps as submodules and sync with Vulkan 1.3.224.1
2022-09-18 16:56:56 +02:00
scribam
11d776aea1
vulkan: remove external files
2022-09-18 16:56:56 +02:00
Flyinghead
f88abf9987
extra depth scaling for south park rally
...
fixes car depth on character selection screen
2022-09-14 17:52:35 +02:00
Flyinghead
4a4fa7792f
vk oit: limit drawer swap chain to 2, same as non-oit
...
Fixes flashing during partial redraws (south park rally)
2022-09-14 17:48:57 +02:00
Flyinghead
aa97a6d64f
pvr: last naomi2 poly was ignored in some cases
...
Fix the disappearing moustache in wild riders
Fix other potential edge cases in pvr parsing
2022-08-25 19:34:23 +02:00
Flyinghead
e0d87eb093
Merge remote-tracking branch 'origin/master' into dev
...
# Conflicts:
# core/rend/gui.cpp
2022-08-22 13:09:56 +02:00