Commit Graph

275 Commits

Author SHA1 Message Date
Flyinghead 75dd5305c4 Revert "ci: use devkitpro/devkita64:latest (#672)" due to regression
Several games are freezing at start up
Issue #783
This reverts commit 3d00ac338b.
2022-11-15 17:52:12 +01:00
scribam 993b705d8b vulkan: use dynamic dispatch loader 2022-11-09 17:20:05 +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 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
scribam 4de9076b49 macos: fix cmake post build command with ninja 2022-10-22 14:09:13 +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
Alexandre Bouvier c5c941e928
cmake: use more system libs (#775) 2022-10-18 10:04:15 +02:00
scribam 3d00ac338b
ci: use devkitpro/devkita64:latest (#672) 2022-10-09 19:08:54 +02:00
scribam 387b9778f3
cmake: remove "-static-openmp" for apple (#773)
Fix warning "clang: warning: argument unused during compilation: '-static-openmp' [-Wunused-command-line-argument]"
2022-10-08 19:18:50 +02:00
Alexandre Bouvier df61b1046a cmake: normalize whitespaces 2022-10-08 18:32:36 +02:00
Piotr Jagiełło 2d56dddf7a cmake: execute git commands in the source directory 2022-10-05 10:45:18 +02:00
Flyinghead d85baba1d3 Merge remote-tracking branch 'origin/dev' 2022-09-26 11:07:33 +02:00
Edward Li 8a44b909a4 [Apple] Proper version handling for Info.plist 2022-09-26 11:06:31 +02:00
Flyinghead 1858cf3b33 Merge remote-tracking branch 'origin/master' into dev 2022-09-24 19:28:38 +02:00
Flyinghead 7288c7b541 win32: build win app, not console 2022-09-23 16:38:49 +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
Flyinghead 73adbc660b win32: build win app, not console 2022-09-14 17:46:14 +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
scribam 72136c2bfc deps: update sdl to version 2.24.0 2022-08-22 12:29:34 +02:00
GABO1423 69125b490e
(UWP) Build Tweaks (#709)
* (UWP) Disable Vulkan Build Flag

* (CI) Remove UWP Build Flag
2022-08-04 17:37:06 +02:00
Flyinghead 9070c246d4 move iso9660.h 2022-07-28 10:43:44 +02:00
Flyinghead ad8b41adb0 boxart: extract 0GDTEX.PVR. Offline scraping
extract iso9660 file system utility out of reios
.pvr limited parser
2022-07-21 10:43:45 +02:00
vkedwardli b5eb8694f6
macOS Breakpad (#683)
* Breakpad.framework and dump_syms

* Use ExceptionHandler manually instead of using public methods from the framework

* Change macOS buildType to RelWithDebInfo and enable building Breakpad framework

* Enable symbol upload on GitHub runner

* Compile Breakpad directly instead of embedding the Breakpad.framework

* Print minidump location also

* Ignore `EXC_MASK_BAD_ACCESS` again
2022-07-05 14:36:21 +02:00
Flyinghead 19112aecb2 Merge remote-tracking branch 'origin/master' into dev
# Conflicts:
#	core/hw/naomi/naomi_cart.cpp
2022-07-01 12:42:37 +02:00
vkedwardli 44e96c544b
Use `source_group` to create folder hierarchy for Xcode project (#679) 2022-06-30 14:10:15 +02:00
Flyinghead b5b0875203 android keyboard support 2022-06-26 22:04:36 +02:00
Flyinghead 11ecb473b6 new option to broadcast digital outputs over the network
Similar to MAME's "-output network" option. Should be compatible with
MAME Hooker and the like.

Limit boxart images loaded per frame to 10.
2022-06-16 16:50:26 +02:00
Flyinghead 7982fdac1c switch needs curl 2022-06-15 23:13:01 +02:00
Flyinghead 5eb302898f box art fetch and display
Issue #22
2022-06-15 21:22:12 +02:00
flyinghead 3780299803 win32 raw api: user-friendly names for devices
Issue #664
2022-06-10 17:20:29 +02:00
Gabriel Morazán 3ec7f293ee
(Libretro) Allow a DX11 only core to be built. (#657)
Main use case is Xbox systems.
2022-06-01 22:27:51 +02:00
vkedwardli 5c579de459
Enable Texture Upscaling on macOS (#645)
* Compile a universal libomp
* static linking OpenMP
2022-05-28 13:00:20 +02:00
Edward Li baab70c509 Rumble using MacBook's Taptic Engine (take 2) 2022-05-17 16:37:37 +02:00
scribam 12929c4571 openmp: use _OPENMP preprocessor, search openmp pkg unconditionally if enabled 2022-05-17 16:36:57 +02:00
scribam 101a831534 cmake/macos: remove multitouch library 2022-05-01 12:34:43 +02:00
Flyinghead c348f4ccad allow a core without open gl to be built
Issue #515
2022-04-30 18:05:12 +02:00
Flyinghead 039c666247 more types.h clean up. better aica handler templates 2022-04-15 17:03:49 +02:00
Flyinghead f2f4010203 clean up types.h, refactoring 2022-04-14 11:34:45 +02:00
Flyinghead ddfc00ed9f Merge remote-tracking branch 'origin/master' into dev 2022-04-13 16:29:41 +02:00
scribam f46bccfecd cmake: reunified dx9 files 2022-04-10 11:28:09 +02:00
scribam 20302cd378 cmake: add XCODE_ATTRIBUTE_PRODUCT_BUNDLE_IDENTIFIER 2022-04-07 23:09:08 +02:00
Flyinghead bf61f5cfe8 Merge remote-tracking branch 'origin/master' into dev 2022-04-04 12:11:10 +02:00
scribam 274f2fe10d ci: add ninja, update actions and ccache support 2022-04-03 15:38:49 +02:00
Flyinghead 53b5588bda Merge remote-tracking branch 'origin/master' into dev 2022-03-13 11:01:27 +01:00
scribam ed066df469 deps: update miniupnpc 2022-02-28 07:24:36 +01:00
Flyinghead 3a62e432da switch: revert a92c2899c8
back to .obj instead of .o
2022-02-25 18:35:58 +01:00
cmitu 4b10402c5b Disable stencil usage on low end VC4 devices (Pi3)
Make the libretro core boot again when using the legacy VC4 GLES drivers.
Based on https://github.com/libretro/flycast/commit/ee9cd16f

Fixes: https://github.com/flyinghead/flycast/issues/539
2022-02-24 07:17:48 +01:00
Flyinghead a92c2899c8 switch build: cmake is now producing .o instead of .obj 2022-02-18 16:42:05 +01:00
Flyinghead d736dd027d naomi2: initd card support. lua: fix multi-threading crash
initial d card reader support. insert card button.
lua: use mutex to enforce thread-safety
2022-02-16 19:02:04 +01:00
flyinghead 8d071bf4ea naomi2: dx11 support. fix ambient color. no depth write in per-strip
dx11: naomi2 support
n2: ambient color was swapping red and blue
gl, dx11: don't write depth in per-strip to avoid missing geometry,
prefer wrong depth order/blending for now
optimize naomi2 per-triangle sorting
2022-02-13 21:01:45 +01:00
Flyinghead e1038ea632 naomi2: fix regressions. 2-volume and bump mapping support WIP
optimize open gl uniforms
2022-01-26 22:15:10 +01:00
Flyinghead cb99e7d920 naomi2: do T&L on the gpu. bypass TA format. env mapping.
fix model/instance/matrix parsing
handle culling reversed model flag
geometry shader for near plane clipping
2022-01-25 15:37:04 +01:00
Flyinghead 4335aa563f naomi2 WIP 2022-01-16 22:41:42 +01:00
Julien Reichardt a8080c5db3 Fix missing `libSDL2.a` static library on Linux 2022-01-01 18:29:46 +01:00
Flyinghead 2d41d993e3 macOS: patch SDL to compile in metal and vulkan
https://github.com/libsdl-org/SDL/issues/5010
2021-12-25 21:45:13 +01:00
scribam fde683a82e ci: cmake install for switch builds 2021-12-23 22:31:39 +01:00
asdf288 e61951a319 Fix typo in GLES2 library name 2021-12-23 22:31:25 +01:00
Flyinghead 300c74e3fc Merge remote-tracking branch 'origin/master' into net-rollback
# Conflicts:
#	CMakeLists.txt
#	shell/libretro/libretro.cpp
#	shell/libretro/libretro_core_options.h
2021-12-22 21:31:17 +01:00
Flyinghead bb88dcfe66 android CI: install libcurl for breakpad. Disable breakpad on macOS 2021-12-20 16:08:22 +01:00
Flyinghead 970e594009 Build with breakpad submodule. Use gcc 11 on windows. 2021-12-20 15:45:46 +01:00
scribam 109cb81ab7 ci: add cmake install and refactor artifact generation 2021-12-20 14:36:48 +01:00
cmitu c10c3a1cfe cmake: amend 2b827e43, fix the typo for GLES3_LIBRARIES 2021-12-19 13:28:47 +01:00
scribam 73fa0e3efc cmake/deps: update sdl to version 2.0.18 2021-12-19 11:18:24 +01:00
cmitu 2b827e43d7 cmake: add more GLES3 library names
Some systems provide the GLES3 implementation in the same GLESv2 library file, most notably Mesa.
Added the alternative library name when GLES3 is requested.

This makes the build work on the Pi4 - I've only tested it with the libretro core and the GLES 3.1 context is succesfully used.
2021-12-19 10:56:32 +01:00
cmitu e706368225 cmake: add support for legacy RPI GLES2 libs
Raspberry Pi 3 can use the legacy Broadcom GLES2 libraries from /opt/vc/lib.
They are the default GLESv2 libraries on Raspberry PI OS 10 (Buster) and older.
2021-12-19 10:56:32 +01:00
flyinghead b1e0bc90ba uwp: remove angle, upload to S3. windows: don't build SDL 2021-12-18 11:50:03 +01:00
Flyinghead dc5acd24b2 Merge remote-tracking branch 'origin/master' into net-rollback 2021-12-17 12:40:37 +01:00
flyinghead 6a3a8d5578 libretro: dx11 support. dx11 shader cache. dx9 clipping planes
dx11: use 32-bit float depth texture to avoid loss of precision (SA2 into logo)
dx11: cache shader blobs to disk if not provided by OS
dx11: swap interval depends on screen refresh rate (1 for 60 Hz, 2 for 120 Hz, ...)
dx9: use clipping planes to avoid interpolation errors in rasterizer (daytona, mermaid lake)
directsound: use comptr
gui: fix navigation issue with OptionArrowButtons due to missing id
2021-12-13 21:02:44 +01:00
flyinghead 0478ec9696 dx11: per-pixel renderer 2021-12-11 18:53:35 +01:00
flyinghead 6a8f1b941e dx11: overlay support. inside clipping. 4K support on xbox. log fix
dx11: support for vmu and lightgun crosshair overlays
dx11: implement inside clipping (fixes 18 wheeler rear view mirror)
dx11: tentative 4K support on xbox
iOS,uwp: save log file in home (iOS)/data(uwp) directory
uwp: don't sign app on pull requests
2021-11-29 18:22:25 +01:00
scribam 8164c96379 deps: update libchdr and remove patch 2021-11-27 14:31:22 +01:00
orbea ef3af9aad3
cmake: Add an install target (#421)
Don't install glslang or xbyak
2021-11-27 10:42:09 +01:00
flyinghead f91847dad0 DX11 renderer WIP 2021-11-26 18:08:41 +01:00
flyinghead e4bfeb9e44 picotcp: MSVC support 2021-11-24 13:41:04 +01:00
flyinghead bc34024e32 uwp: fix crash when opening menu/canceling load. CI job 2021-11-20 16:18:27 +01:00
flyinghead e12912450c missing changes 2021-11-19 23:29:35 +01:00
flyinghead 8262c9ece7 UWP support - WIP 2021-11-19 23:18:45 +01:00
Flyinghead 8f80bcb159 New serialize framework. Delay maple dma xfer
New serialize framework. Refactor serialization into modules.
Maple dma xfer must not be executed immediately. Delay until interrupt
is raised.
Fixes Geist Force freeze at start.
2021-11-13 15:56:42 +01:00
Flyinghead ac5abd96bb ui: imgui driver, GraphicsContext interface, dx9 swap interval
Refactor imgui backend code into imgui drivers for gl, vk, dx9
Generic GraphicsContext interface for gl/vk/dx9 contexts
Simplify graphics api switching code
dx9, gl(sdl): set swap interval based on monitor refresh rate.
2021-11-10 20:35:30 +01:00
Flyinghead 35e1fb9ae5 cmake: change default libretro target 2021-11-10 10:17:40 +01:00
scribam d100067e02 cmake: use AltKit default include directory for AltKit-Swift.h 2021-11-08 11:58:42 +01:00
Flyinghead 17bbb7f145 vk: disable small tex optimization on macOS. Fix libMoltenVK embedding
small textures linear optimization leads to texture corruption with
moltenvk.
Copy libMoltenVk to correct runtime output dir.
2021-11-02 09:44:24 +01:00
Flyinghead 71c4ec34d5 iOS build fix 2021-11-01 13:30:36 +01:00
Flyinghead da3ed74c4e vulkan: moltenvk support on macOS - WIP
sdl: save/restore window position in config
2021-11-01 13:05:22 +01:00
Flyinghead ab45b5ec8a ggpo: keyboard/mouse games support. Fix chat when keyboard disabled
ggpo: support for arcade games using keyboard (totd, luptype) and
mouse/rotary encoders (waiwai drive)
Chat and UI now usable when the keyboard is not set to a maple port.
2021-10-19 16:56:46 +02:00
Flyinghead db93a4c4a7 ggpo: in-game chat
use menu key to open/close chat window
disable keyboard/mouse controllers when using chat
disabled controllers can now use emu keys (menu, escape, ff)
2021-10-18 16:40:17 +02:00
Flyinghead cf653640b3 ggpo: verify md5 of bios, game and savestate
Verify md5 of flash, eeprom, vmus if no savestate used
Use chd header SHA1 as digest
Load .state.net state file at start

Force real BIOS for some games
2021-10-16 17:56:21 +02:00
Flyinghead 163888f329 GameShark cheat codes support 2021-10-10 17:24:17 +02:00
Flyinghead 8183bf7f95 linux build fix 2021-10-03 20:42:25 +02:00
flyinghead 82bec1e324 lua: build fix for linux and win. dx9: crash on exit 2021-10-03 20:22:52 +02:00
Flyinghead 897cc01f93 some lua bindings 2021-10-03 18:34:27 +02:00
Flyinghead 699dcdaf5b Merge remote-tracking branch 'origin/master' into net-rollback
# Conflicts:
#	core/hw/maple/maple_if.cpp
#	core/rend/mainui.cpp
#	shell/libretro/libretro.cpp
2021-09-30 15:03:29 +02:00
scribam 1fa233aae7 Remove makefiles and xcode project files 2021-09-27 11:52:18 +02:00
scribam 25fdeac697 cmake: iOS minor fixes 2021-09-25 16:04:05 +02:00
Flyinghead 65956dbc8d input: merge buttons and axes
Default mappings for arcade and console
Default mappings for arcade stick/hitbox
Proper handling of inverted axes
ggpo: automatic analog setting for arcade games
2021-09-19 18:27:21 +02:00
Cameron Bates e1fa2b9831 [iOS] GCMouse support (#353) 2021-09-14 11:51:44 +02:00
Edward Li 043175ae4d Rumble using MacBook's Taptic Engine 2021-09-14 11:44:37 +02:00
Flyinghead e8b73e22b7 Merge remote-tracking branch 'origin/libretro' into net-rollback 2021-09-11 18:11:36 +02:00