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
8947100701
libretro: missing new param to gl4GetProgram
2022-01-25 15:43:30 +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
45ba648622
dx11: VersionHelpers.h -> versionhelpers.h
...
the mingw version is all lowercase
2022-01-19 14:37:49 +01:00
Flyinghead
62ec3546d6
dx11: uwp doesn't need texture conversions
2022-01-16 10:37:55 +01:00
Flyinghead
8bb0bd05f9
ui: limit scaling further on small low-resolution screens (retroid)
2022-01-16 09:58:33 +01:00
Flyinghead
e538242962
dx11: convert 16-bit textures to 32 bits on windows7
...
1555, 4444 and 565 aren't supported on win7
Issue: https://github.com/libretro/flycast/issues/1123
2022-01-16 09:54:39 +01:00
cmitu
8dcf0f58b5
postprocess: fix GLES2-only build
...
Added a missing `ifndef` guard for `glBindVertexArray`, useful for GLES2-only builds.
2022-01-02 10:51:03 +01:00
Flyinghead
d86305a7c3
android: on-screen gamepad not editable in Open GL
...
Swap wasn't called during editing
Issue #464
2021-12-26 16:03:19 +01:00
Flyinghead
3f82c7fb6f
iOS: use play and record audio session only when necessary
...
Change audio session to play and record when a microphone is connected.
Use a play only session otherwise. Issue #360
Hide VSync-related gui option.
2021-12-21 21:36:12 +01:00
flyinghead
b1e0bc90ba
uwp: remove angle, upload to S3. windows: don't build SDL
2021-12-18 11:50:03 +01:00
Flyinghead
e02afb34d1
dx11: wrong shadow scale factor. vk: object leak. Code duplication
...
dx11: shadow scale factor inverted in per-pixel
vulkan: clear deleted overlay images when terminating
Use color struct for FOG_COL_VERT, FOG_COL_RAM, FOG_CLAMP_MIN,
FOG_CLAMP_MAX and VO_BORDER_COL. Avoid code duplication in renderers.
2021-12-17 13:40:42 +01:00
Flyinghead
71d016722e
vulkan: fix various validation errors
...
oit: skip to new frame even if previous frame was never presented
libretro: quad pipeline used for overlay must use subpass 2 in per-pixel
overlay: delay destruction of VMUs images
libretro: WaitIdle on queue instead of wait_sync_index
2021-12-16 21:26:55 +01:00
flyinghead
5fca12af49
msvc compilation warnings
2021-12-15 17:58:58 +01:00
flyinghead
2f47f72957
dx11: recreate texture if dimensions or format change. Clear rtt depth
...
Fixes a crash when switching Copy to VRam on as the RTT texture is no
longer upscaled when updated.
Clear RTT depth/stencil before render.
2021-12-15 11:32:04 +01:00
flyinghead
de35cf9840
dx11: fix fullscreen toggling
...
Prevent DXGI from monitoring Alt+Enter and let SDL handle it
2021-12-15 10:37:52 +01:00
flyinghead
18d8107992
dx11: no color interpolation for flat shading
...
Fixes Evolution WoSD
refactor setFirstProvokingVertex (dx9, dx11, vk)
Set .1 depth scale for V-Rallye to fix missing background image in menus
(dx11, dx9)
2021-12-15 09:37:58 +01:00
flyinghead
2478b72a3e
lr dx11: fix exit crash. Save shader cache where vk cache is
2021-12-14 16:48:23 +01:00
flyinghead
4d60150345
libretro: dx11 crash in single-threaded. Use compiler and feature level
...
libretro: Null first frame erroneously set as valid causing a crash with dx11 (single-threaded rendering)
libretro: pass dx11 compiler pointer to shaders
dx11: use feature level to check if per-pixel is supported
2021-12-14 10:41:04 +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
scribam
08828991e7
dx11: msvc x86 build fix
2021-12-12 18:43:36 +01:00
flyinghead
4c14a96888
vk, gl4: out of bound array index when sorting pixels
2021-12-12 18:42:50 +01:00
flyinghead
0478ec9696
dx11: per-pixel renderer
2021-12-11 18:53:35 +01:00
flyinghead
46044c068b
cheats: don't rely on cheat count on load. Fix compile warnings
2021-12-11 18:33:28 +01:00
flyinghead
b79c049bd4
dx11: wrong shader hash calculation
2021-12-09 09:26:36 +01:00
flyinghead
27041cbf59
dx11: better clipping algo. modvol cull mode. win: exception code
...
dx11: use faster clipping algorithm for modifier volumes
dx11: modifier volumes need cull mode. Fixes Daytona shadows.
win: the fault handler was treating some software exceptions as fatal (msvc)
uwp: remove async hacks and disable MS task wait exception. Fixes error reporting when loading a game.
2021-12-06 17:43:22 +01:00
flyinghead
7820c9bc44
dx9/11: fix rtt2vram crash. dx11: modvol fix and more
...
dx11: clip modvol triangles before sending them to the gpu
dx9,11: wrong source pointer for rtt to vram
dx11: handle source RowPitch when copy rtt to vram
dx11: crash at reinit
dx11: wrong scissor with direct fb rendering
dx11: blend ops are different for the alpha channel
Fix mingw CI build
2021-12-04 19:16:11 +01:00
flyinghead
191f1c38df
dx11: scissoring fix. 4K UI scaling
...
Clearing of side columns in 4:3 uses the quad drawer so it needs to be
called early. Border color was wrong. Fixes GTA2.
Scale UI x2 in 4K mode.
2021-12-03 15:48:42 +01:00
flyinghead
99195c3f4c
dx11: set clip planes on X and Y. rend: Force palette update at init
...
dx11: Set clip planes at X -1/1 and Y -1/1 to avoid rasterizer errors.
Fixes Daytona Mermaid lake depth issues
dx11: fix texture wrap around at UV 1 with nearest filtering
dx9: inside clipping
all renderers: force full palette update at init
2021-12-01 14:54:03 +01:00
flyinghead
280c159078
uwp: fix dirent. Implement access() and stat()
...
Use UWP version of FindFirstFileEx
Implement basic access() and stat()
Add home dir to list of drives
Allow external storage folders to be added and scanned for games
2021-12-01 14:40:17 +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
flyinghead
d071adea9a
dx11: fix modifier volumes, rotation. sdl: on-screen keyboard support
...
dx11: Back face stencil ops need to be set
dx11: Rotate CCW instead of CW
dx11: Present with NO_WAIT when fast forwarding
sdl: support for on-screen keyboard. Delay keys up by one frame to allow quick key presses.
ui: better fix to wait for future on UWP
2021-11-28 16:19:03 +01:00
flyinghead
4ab3f01867
uwp: external storage support. enable picotcp
2021-11-27 14:30:36 +01:00
flyinghead
f91847dad0
DX11 renderer WIP
2021-11-26 18:08:41 +01:00
BornPosthumous
417ffc09f8
Allows override of flycast.lua file ( #411 )
2021-11-21 15:16:11 +01:00
flyinghead
5b933cde61
uwp: use ccache for CI. gui_util.h typo
2021-11-20 18:24:21 +01:00
flyinghead
bc34024e32
uwp: fix crash when opening menu/canceling load. CI job
2021-11-20 16:18:27 +01:00
flyinghead
8262c9ece7
UWP support - WIP
2021-11-19 23:18:45 +01:00
Flyinghead
e56ecfec40
vk,dx9: black screen/crash in single-threaded on direct fb access
...
When rendering happens after the render timeout (initial sega copyright
screen and more), the frame is never swapped and never displayed. Causes
a crash in vk since the acquired swapchain image is never
presented/released.
2021-11-11 11:17:39 +01:00
Flyinghead
7583db3bef
vk: option to duplicate frames to simulate swap interval > 1
...
Issue #293
2021-11-10 20:55:22 +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
aa944ac5e8
vk: fix vmu transparency in lr core
2021-11-10 18:42:11 +01:00
Flyinghead
a04fd06e38
gl: iOS doesn't like smooth. More precision needed for vertex colors
2021-11-09 10:38:41 +01:00
Flyinghead
99ee526ac5
gles3 doesn't support noperspective. vk needs higher prec for color/uv/z
...
noperspective not supported in gles 3. Use smooth instead
Vulkan now needs higher precision for colors, UV and z (adreno 630)
2021-11-08 16:53:47 +01:00
Flyinghead
06ef0e5fdc
vk,gl: use w=1 in shaders. Fix translucent modvols
...
Use w=1 to avoid multiply/divide of xy as in dx9
Disable rendering when video output disabled
Use original w value in pixel struct to avoid precision loss (samsptk)
vk oit: missing memory barrier was producing Tr modvol glitches (JSR)
gl oit: Tr modvol needs full vertex shader
2021-11-07 18:21:44 +01:00
Flyinghead
7c53413bc5
vk oit: fix depth-only Tr pass
...
Cosmic smash
2021-11-05 18:36:09 +01:00
Flyinghead
986baccf83
lr build fix
2021-11-04 13:11:18 +01:00
Flyinghead
32d31e7644
vk: implement TranslucentPolygonDepthMask
...
Fixes Cosmic Smash
vma: instance is needed at init
Partial vk support for iOS
2021-11-04 09:13:47 +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
da3ed74c4e
vulkan: moltenvk support on macOS - WIP
...
sdl: save/restore window position in config
2021-11-01 13:05:22 +01:00
Flyinghead
46ae8f92cc
input: per game input mapping
2021-11-01 12:39:50 +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
1c6e722961
android: add app external & internal files dir. Race condition at start
...
Fix crash at startup due to race condition with game scanner
Don't allow selection of non-writable folder during onboarding
Add private internal and external Files folders to list of storage
locations to choose from
Assign first external android gamepad to port A instead of B
ui: Fix layout of controller mapping dialog when port=All
2021-10-14 11:39:27 +02:00
Flyinghead
f9d5b8eb74
ui: limit max scaling on small low-res screens (<= 640x480)
2021-10-12 17:34:42 +02:00
Flyinghead
bcc3337c58
cheats: support for bit-level RA codes
...
log start of address space, RAM, VRAM, audio RAM at boot
fix add cheat dialog layout
don't crash on wrong gdrom unlock code
2021-10-12 17:28:01 +02:00
Flyinghead
163888f329
GameShark cheat codes support
2021-10-10 17:24:17 +02:00
Flyinghead
19bd6d0bca
test automation clean up
...
less #ifdef
force mute audio
don't force vsync
2021-10-10 16:26:36 +02:00
Flyinghead
1072235b1a
lua: ui bindings
2021-10-04 19:42:45 +02:00
flyinghead
82bec1e324
lua: build fix for linux and win. dx9: crash on exit
2021-10-03 20:22:52 +02:00
Flyinghead
5bcfa35737
Better background game loader
...
Pass LoadProgress object to report load progress and cancel
Better UI
Cancel with exception
Fix issues when stopping/exiting in !threaded
dx9: call gui_term on shutdown
2021-10-02 11:30:40 +02:00
Flyinghead
c1bcf91dd6
pvr: render timeout when using ggpo or !threaded
...
will cause ggpo desyncs with previous versions
2021-10-01 16:48:01 +02:00
Flyinghead
a6248905a0
ggpo: report UDP bind error. Better error reporting for net init
...
fix ggpo lib warnings
2021-09-30 17:24:51 +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
Flyinghead
2803ee8274
imgread.ImagePath clean up. ggpo: poll input late if !thread
2021-09-30 14:24:17 +02:00
Flyinghead
0d2e6f5e98
remove safe mode/div matching option
...
mismatched delete/free() in TexCache.cpp
2021-09-29 11:57:51 +02:00
Flyinghead
99bf7f77c4
single-threaded mode. refactoring.
...
single-threaded mode similar to libretro core
stateful Emulator object
disable memory watcher when !gppo
ggpo: poll input as late as possible in !threaded
2021-09-29 10:22:58 +02:00
Flyinghead
7fe2ab720f
refactor screen_width/height
2021-09-27 20:29:23 +02:00
Flyinghead
18cecc8d38
gl,vk: use VO_BORDER_COL for clear color
2021-09-27 13:39:08 +02:00
Flyinghead
1dc01314a1
input: don't poll input on emu thread
...
fixes device reset errors with dx9 on Alt+Enter and other renderer
crashes
2021-09-27 11:51:39 +02:00
Flyinghead
fb40bb22df
vk: CommandPool size must be 2. Fix lightgun xhair validation error
2021-09-27 11:19:50 +02:00
Flyinghead
41ac140076
ggpo: lightgun support for arcade games
...
ui: display button names in arcade mode only
2021-09-26 21:28:31 +02:00
Flyinghead
1725dbfa98
input: fix arcade mode for on-screen gamepads.
...
Use same layout as gamepad arcade for on-screen gamepads (ABXYRL)
map RT and LT to buttons 5 and 6 in arcade
android: Fix non-working fast-forward button
Use maple port in lastAxisValue state
naomi: use default alienfnt buttons: 1-4
2021-09-21 15:56:01 +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
Flyinghead
d75072362a
vk oit: work around adreno 600 driver regression
...
Android 11 adreno 600 driver v502: PixelBuffer.pixels.length() is
returning 0 in some cases.
Issue #361
2021-09-18 18:08:52 +02:00
Flyinghead
7fd954e10d
rend: apply vscalefactor to scissor in 240p/480p
...
fixes SF3 3rd strike half-screen in 240p mode
2021-09-16 19:27:59 +02:00
Flyinghead
05d495b282
dx9: Fix RenderLastFrame
...
Fixes black blackground when opening the menu during a game
2021-09-15 17:24:55 +02:00
Cameron Bates
501c6f260a
Remove mouse invert option and invert gcmouse by default
2021-09-14 23:43:16 +02:00
Cameron Bates
e1fa2b9831
[iOS] GCMouse support ( #353 )
2021-09-14 11:51:44 +02:00
Flyinghead
480e85f615
ggpo: UI for analog axes settings. Display stats option
2021-09-12 17:42:58 +02:00
Flyinghead
e8b73e22b7
Merge remote-tracking branch 'origin/libretro' into net-rollback
2021-09-11 18:11:36 +02:00
Flyinghead
ad2e142b01
ui: Show mouse cursor when emu throws an exception. lr: fix vulkan init
2021-09-10 15:32:13 +02:00
Flyinghead
88fa5d5c41
arm64 dsp: don't JitWriteProtect twice. ios: Hide VSync. pvr: fix mutex
2021-09-10 15:26:18 +02:00
Flyinghead
e45ec4324f
Merge remote-tracking branch 'origin/master' into libretro
2021-09-10 12:19:29 +02:00
Flyinghead
3ced57a263
network: use interface for startup. avoid deadlock on exit
...
Use common interface for naomi and ggpo
Simpler ggpo interface
Fix deadlocks on exit with ggpo
2021-09-09 18:17:05 +02:00
Flyinghead
458868a634
ggpo: always save delta ram. Disable ff,cheats,savestates when online
...
ggpo: always save delta ram on save_game_state as frames may be rerun
and resaved
Global network online status (ggpo, naomi, modem, bba)
Disable fast forward, cheats and savestates when online.
2021-09-08 17:18:01 +02:00
Flyinghead
8594d11693
maple: refactor usage of rt/lt. zero out joystick values if ggpo active
...
Fix mouse cursor being invisible when emu throws an exception
2021-09-07 16:30:56 +02:00
Flyinghead
a4c14ebef7
Merge remote-tracking branch 'origin/libretro' into net-rollback
2021-09-07 15:02:39 +02:00
Flyinghead
599874c9c1
dx9: VSync option support
2021-09-07 14:16:05 +02:00
Flyinghead
a3d50fc197
Merge remote-tracking branch 'origin/libretro' into net-rollback
2021-09-05 20:07:37 +02:00
Flyinghead
35e77976a6
ui: use input from all keyboards
...
Issue #339
2021-09-05 10:29:12 +02:00
Enrique Santos
e3aca85efd
ggpo: add frame delay to settings ( #343 )
2021-09-04 18:47:21 +02:00
Flyinghead
e02ccbf32a
gl: update fog and texture palette in Process()
2021-09-03 11:12:47 +02:00
Flyinghead
b362a55c04
ggpo: rollback glitches. win32 init. switch build. stats
...
Block net rollbacks until the current frame has been processed to avoid
glitched textures.
Call WSAStartup at init on windows
Display net stats when in game
Switch build fix
2021-09-03 11:11:46 +02:00
Flyinghead
69d0801121
net rollback with ggpo
2021-09-02 17:51:23 +02:00
vkedwardli
a51f310e96
Add volume slider in audio settings ( #329 )
...
Use logarithmic volume scale
2021-08-26 13:30:23 +02:00
Flyinghead
2a849ccba5
ui: hide dirs on iOS. Fix home on android. force even width rendering
...
Hide content and home dirs on iOS
Show home dir and allow change on android
Force even width for rendering resolution
2021-08-26 10:08:50 +02:00
vkedwardli
7a33ae35e0
[macOS] Fix DelayFrameSwapping and optimise Vsync logic ( #307 )
...
* Support macOS 10.15 and 11
* Enable VSync option on macOS. Use "swapOnVSync" logic from other wsi
* Limit `mainui_rend_frame()` to 5 iterations max: 4 renders and the final swap
2021-08-24 11:43:19 +02:00
Flyinghead
2f03922b43
build fix
2021-08-23 14:25:27 +02:00
Flyinghead
5db2856270
missing changes from previous commit
2021-08-23 14:16:52 +02:00
Flyinghead
e3e3229612
iOS: multiple controller/rumble support. GL: fix black screen after RTT
...
iOS:
* multiple controllers support. Rumble support.
* fix audio recording
* declare CHD/GDI/CUE/CDI content types
* start game when opening file URL
* Use safe area for UI and virtual gamepad
* Better icons
2021-08-23 14:02:12 +02:00
Flyinghead
1bea7853ef
iOS: CI job, JIT status, touch fixes
2021-08-10 17:04:36 +02:00
Flyinghead
12f302d356
iOS: uv need high precision in fragment shader. cmake build. virtual joystick. AltKit integration
2021-08-10 11:32:22 +02:00
Flyinghead
77e7c25e9c
iOS support. Work in progress
2021-08-06 10:30:30 +02:00
Flyinghead
37eace9db4
osx: lockup when emulator aborts. Race condition when starting emu
2021-08-05 17:43:26 +02:00
Flyinghead
951e70328f
Use exception when load content fails. ui: graceful stop on fatal error
...
libretro: catch/detect fatal errors and shutdown
2021-08-03 10:05:09 +02:00
Flyinghead
2dd7717128
glGetString(GL_EXTENSIONS) may return null in core contexts
...
xcode project missing update
2021-08-03 09:49:20 +02:00
Flyinghead
7561ce753a
unwind info for arm64. use static c++ lib for android
...
include oboe static libs
get rid of old regalloc
2021-07-29 17:46:46 +02:00
Flyinghead
de060d66ab
don't save flash if no game started. libretro: fix notifications
...
compilation warnings, non-functional changes
2021-07-20 19:21:11 +02:00
Flyinghead
4a77f847b4
libretro: fix arcade flash files path. ui: stop spamming dc_stop
2021-07-20 10:06:44 +02:00
Flyinghead
117f47e3a2
rend: shader builder utility
2021-07-19 12:49:47 +02:00
Flyinghead
af76a09e03
gl: repeat % operator for printf. remove Switch special case
2021-07-18 18:15:35 +02:00
Flyinghead
9e5769912b
gl: workaround nouveau bug (oit). Use float palette coords for switch
...
Don't switch render type before terminating current one.
2021-07-17 15:53:47 +02:00
Flyinghead
e112f2d8af
gl: GLES2 build compatibility
2021-07-15 19:24:56 +02:00
Flyinghead
ed0caa119a
Merge remote-tracking branch 'origin/master' into libretro
...
# Conflicts:
# CMakeLists.txt
2021-07-15 18:43:29 +02:00
Flyinghead
f768146d8e
switch: unneeded init functions. needed exit one
2021-07-15 16:50:54 +02:00
Flyinghead
412083d9ea
libretro: blank vmus at unload/reset
2021-07-15 15:43:10 +02:00
Flyinghead
07cdb42ff7
switch: set UI scaling factor depending on docking mode
2021-07-15 14:44:39 +02:00
Flyinghead
0d7a2128b6
libretro: fix 32-bit arm build. delete useless #def in pvr2 filter
2021-07-15 12:06:04 +02:00
Flyinghead
8e6dc54b16
switch: add .. entry to folder chooser. start at /
2021-07-14 20:55:22 +02:00
Flyinghead
a2efde1103
libretro: more switch fixes
...
combine all static libraries into one
save/restore gl state in !threaded mode
patch libchdr
build fixes
2021-07-13 18:51:40 +02:00
Flyinghead
63a3f02368
libretro: better switch support
2021-07-12 20:14:21 +02:00
Flyinghead
994e6826b4
libretro: option changes (resolution, widescreen, rotation)
...
Use RETRO_ENVIRONMENT_SET_SYSTEM_AV_INFO or
RETRO_ENVIRONMENT_SET_GEOMETRY to report resolution/aspect ratio
changes.
Handle rotation without restarting.
2021-07-12 09:57:58 +02:00
Flyinghead
97991fd8fc
gl: delete libretro vmu and crosshair textures when terminating
2021-07-11 20:43:04 +02:00
Flyinghead
345dab9633
libretro: fix nvidia palette issue. request 3.2 to get a core gl ctx
2021-07-09 13:10:30 +02:00
Flyinghead
5c952021b7
libretro: vmu and crosshair display. lightgun fixes
2021-07-08 20:09:09 +02:00
Flyinghead
b66e6560ca
libretro: vulkan support
2021-07-08 12:47:00 +02:00
Flyinghead
042f2e0224
custom textures: saturate colors when dumping RGBA4444 and RGBA5551
2021-07-07 17:19:13 +02:00
Flyinghead
205f2690d6
gl4: delete fog & palette textures when terminating
...
fixes fullscreen toggle screen corruption
2021-07-07 10:54:10 +02:00
scribam
aeea301ee3
Minor include header changes
2021-07-07 10:37:11 +02:00
flyinghead
ef506d49aa
libretro: pvr2 postprocessing filter
2021-07-06 21:37:47 +02:00
flyinghead
c205a888a9
options: anisotropic filtering, oit pixel buffer size, fast gdrom load
2021-07-06 16:19:12 +02:00
flyinghead
a3b66aec1f
libretro: win32 support. build fix.
2021-07-06 13:22:54 +02:00
Flyinghead
7dbd79750c
WIP libretro core update
2021-07-05 19:44:08 +02:00
flyinghead
c5ce475359
Merge remote-tracking branch 'origin/master' into fh/directx
...
# Conflicts:
# core/input/gamepad_device.cpp
2021-07-04 17:53:49 +02:00
Enrique Santos
46e3258629
Controller Mapping: System Profiles & Unmap Button ( #269 )
...
* add unmap button
* separate controller profiles for dc & arcade games
* loads current system mapping on menu exit
* simplify, use default filename for dc controls
* create blank mapping file for sdl controllers if not found
2021-06-27 12:49:47 +02:00
Flyinghead
b3ad0a62c1
gl: fix multiple rendering with GLES 2
...
fixes split-screen multiplayer for SW1 Racer, Q3, Re-volt
2021-06-19 10:48:32 +02:00
Flyinghead
7f49accc22
Merge remote-tracking branch 'origin/master' into fh/directx
2021-06-07 20:53:31 +02:00
Flyinghead
b8c2a695b8
ui: allow drag scrolling anywhere. change some ui elements
...
allow scrolling by dragging (almost) anywhere
move physical devices before dreamcast ones
hide insets when displaying full screen window
reduce scroll bar size on android
fix controller mapping column sizes
2021-06-07 12:18:05 +02:00
scribam
d6545b253b
Misc cleanup
2021-06-06 11:15:06 +02:00
Flyinghead
293761bdf5
gui: separate auto-load and auto-save options. Fix tool tips on android
2021-06-04 11:11:23 +02:00
Flyinghead
58974c9305
savestate slots
2021-06-03 13:50:40 +02:00
keita yoshimoto
cddb6609f1
Multiple save states ( #248 )
2021-06-03 13:22:40 +02:00
Flyinghead
c3bc5cfc3b
vk oit: use a 2nd depth attachment for subpass 1
...
subpass 1 needs writable depth buffer (see
9f60c5e854
)
2021-05-30 18:20:04 +02:00
scribam
57ae9022dd
Update Windows resource and version.h.in files
2021-05-28 14:56:04 +02:00
flyinghead
7ed68952ba
Merge remote-tracking branch 'origin/master' into fh/directx
...
# Conflicts:
# core/deps/patches/SDL.patch
# core/hw/maple/maple_devs.cpp
# core/rend/gl4/gles.cpp
# core/rend/gles/gles.cpp
# core/rend/gui.cpp
# core/rend/gui.h
# shell/apple/emulator-osx/reicast-osx.xcodeproj/project.pbxproj
2021-05-26 22:38:48 +02:00
flyinghead
4696733eb4
dx9: linear filtering for fog texture. swap only when frame rendered
2021-05-26 21:40:43 +02:00
Flyinghead
86d014c3e4
gl: crash when rtt copy to vram due to wrong pbo size
...
fixes Baldr Force crash
2021-05-26 09:53:29 +02:00
Flyinghead
9f60c5e854
rend: PT alpha must be set before shading
...
Fixes Langrisser Millennium intro fmv and title/main screen. Issue #249
vk oit: use depth buffer like gl oit
2021-05-25 14:15:37 +02:00
vkedwardli
2b62f8c607
Fix macOS cmake & Xcode project ( #255 )
...
* Update zlib reference for Xcode project
* Add CoreHaptics.framework for Xcode project
* Capitalize app bundle
* Use local FindSDL2.cmake script for macOS
* Use `macOS` instead of the old `OSX`
2021-05-25 10:11:58 +02:00
Flyinghead
4cced8ffa0
android: add content path ui too wide when inset present
2021-05-20 10:45:12 +02:00
Flyinghead
373dffc65a
wince: ditch vmem32. use address LUT in dynarec. finer grained flush
2021-05-17 11:59:34 +02:00
Flyinghead
5769d7e64f
vk: typo in previous commit height -> width
2021-05-11 16:47:54 +02:00
Flyinghead
408c65fcbf
gl4: pack/unpack pixel colors. pack poly params. share GLSL with vk
2021-05-11 10:38:17 +02:00
Flyinghead
fb38b224f4
rend: get rid of RenderToTextureUpscale option. Use RenderResolution
2021-05-10 20:07:23 +02:00
Flyinghead
a4019dd205
new VSync option
2021-05-10 18:02:06 +02:00
Flyinghead
affc9f262c
gl: update palette on context [re]init
...
backport from fh/directx
fixes black textures in SoulCalibur when switching back to app (android)
2021-05-03 09:57:45 +02:00
Flyinghead
d20fc971c9
android: display cutouts support. render last frame when editing vjoy
...
render in display cutouts
gl/vk: render last frame when editing virtual gamepad
gl: Fix background handling
gui: reset vmus when stopping game
2021-05-02 11:31:44 +02:00
Flyinghead
5dd15e2942
android: oboe driver error handling. Set buffer size to burst size
...
oboe: handle lost of audio and recording streams and attempt reopen.
When using aaudio, set the oboe buffer size to the burst size.
gui: really ignore AutomaticLatency for oboe driver
Issue #182
2021-05-01 12:19:04 +02:00
Flyinghead
6dfa9f7786
android: oboe audio driver. get rid of build variants
...
Issue #182
2021-04-30 19:57:11 +02:00
Flyinghead
acd8620139
android: add zh_HK locale
2021-04-30 18:26:35 +02:00
Flyinghead
150cfa29e7
Merge remote-tracking branch 'origin/master' into fh/directx
2021-04-29 19:06:38 +02:00
flyinghead
b90cdf9588
RawInput driver. Multiple keyboards support
...
Merge Keyboard and KbGamepad
Always use system mouse for UI
Issue #138
Fix DX9 when not using SDL
2021-04-29 18:58:04 +02:00
flyinghead
6316479930
get rid of unneeded pixel unpacker and use better name
2021-04-29 18:38:58 +02:00
Flyinghead
92ccd6eb26
android: load Asian glyphs depending on locale
...
Issue #225
2021-04-22 11:12:51 +02:00
Flyinghead
805dac3039
Resize renderer after [re]init
...
Fixes crash on Android when app is brought back to the foreground
Issue #228
2021-04-22 10:59:40 +02:00
Edward Li
2bd77ba9c4
missing a space
2021-04-22 02:21:04 +08:00
Edward Li
ba955f6659
Re-enable the content path warning dialog
2021-04-22 02:17:18 +08:00
Edward Li
01898d5f41
Fix scanner cannot be stopped
2021-04-22 02:16:18 +08:00
Flyinghead
3dd3595a79
disable emulator Exit on android
...
Issue #222
2021-04-20 16:32:49 +02:00
Flyinghead
c0b5721920
Super widescreen option
...
Issue #209
2021-04-20 16:06:03 +02:00
Flyinghead
44fd67ffd2
In command line mode, exit the emulator when pressing Exit
...
Issue #222
2021-04-20 15:57:30 +02:00
Flyinghead
3474901e58
wsi: swap immediately when fast forwarding
2021-04-20 10:56:49 +02:00
Flyinghead
d55a26c242
flatpak: better screenshots. Indicate where to put BIOS files.
2021-04-19 19:12:00 +02:00
flyinghead
8909368033
dsound: dedicated audio thread. configurable latency
...
Use dedicated thread to fill the audio buffer, fill with silence when
underrun, wait for notification events instead of busy loop.
Configurable ring buffer size / latency.
2021-04-19 11:13:27 +02:00
flyinghead
f9603dc11a
vk: use texture pointers instead of u64
2021-04-17 19:04:00 +02:00
flyinghead
5359e9a09d
allow gpu-handled palette textures to be replaced by custom version
...
Issue #219
Fix incorrect texture size calculation for VQ textures.
Reorder BaseTextureCacheData fields to have hottest on top
2021-04-17 18:40:58 +02:00
flyinghead
28d2c6db73
dx9: rotate 90deg
2021-04-16 21:58:37 +02:00
flyinghead
abc8b18b78
dx9: mipmaps. load/dump textures. vmu/crosshair display.
...
upload all texture mipmaps to gpu
dump textures. load custom textures
vmu and lightgun xhair display
fix dx9 half-pixel offset
fix 565_32 unpacker bug
2021-04-16 18:30:47 +02:00
flyinghead
c889bfa6d4
dx9: copy to vram. clipping. fix depth/stencil size. better reset
...
Coordinate device reset with dxcontext. Keep compiled shaders.
Don't use automatic depth/stencil on backbuffer. Manually handle it.
Implement scissoring/clipping
multipass translucent depth
Render-to-texture copy to vram
2021-04-15 15:17:32 +02:00
flyinghead
b549c56b23
build fix. default Delay Frame Swapping to true
2021-04-13 11:20:11 +02:00
flyinghead
f107d380b9
WIP directx9 renderer
2021-04-12 22:49:04 +02:00
Flyinghead
4a8ce39bfd
vk: use a single command buffer for all texture updates
2021-04-08 10:38:26 +02:00
Flyinghead
24d172bd51
gl: use async PBO to copy texture back to vram
2021-04-08 10:33:14 +02:00
Flyinghead
72968290bf
cheats: support for .CHT cheat files
...
Issue #167
gui: no need to save background in opengl, use RenderLastFrame instead
disable cheats when online
2021-04-06 11:41:41 +02:00
Flyinghead
904bed862e
arm32: store queue dynarec optim. ditch Unstable Optimizations
...
shrink Sh4Context.pad size except on arm32
reset sh4 before mem to unlock ram
2021-03-29 14:26:55 +02:00
Flyinghead
9e9aa5b4d9
gl: proper vao use. define palette uniforms only when needed
2021-03-28 20:08:02 +02:00
Flyinghead
dc0c5baece
move vram to pvr
2021-03-28 20:08:02 +02:00
Flyinghead
569c23ca95
pvr: use pvr_read32p/pvr_write32p to access 32b vram
2021-03-28 20:08:02 +02:00
scribam
767a1b6a8d
gui: fix wrong index CrosshairColor
2021-03-28 11:38:43 +02:00
scribam
d0c2c269b0
glcache: call glDeleteTextures if texture cache size > 0 during reset
2021-03-27 19:56:11 +01:00
Flyinghead
1e6874c5eb
SDL2/SDL.h -> SDL.h
2021-03-21 20:07:53 +01:00
Flyinghead
d8a25e73f2
cmake fixes. makefile clean up. load gles3 driver with sdl
...
add FindSDL2.cmake and don't provide wrong hint
cmake: option to disable vulkan
don't use/link with egl if using sdl
remove ARM_HARDFP and use standard __ARM_PCS_VFP #def
hide texture upscaling options if no openmp
2021-03-21 18:03:22 +01:00
Flyinghead
06be0d927b
screen stretching always in final horiz direction. lightgun coords fix
...
gl: strech direct fb texture based on stretching and rotation
Fix lighgun coords when stretching and/or rotating
Dimension render size based on stretching and rotation
vk: lightgun crosshair disappears near 0-edge -> scissoring x and y must
be >= 0
always stretch horizontally even when rotating
2021-03-21 18:03:22 +01:00
Flyinghead
685dcd1c8a
Variable length arrays not supported by msvc. Fix MacOS project
2021-03-21 18:03:22 +01:00
Flyinghead
1abfa19636
set rendering resolution in discrete steps instead of scaling
2021-03-21 18:03:22 +01:00
Flyinghead
58c936fa6c
android: expose sound latency setting. default to auto
...
Issue #182
remove video Clipping option
remove audio LimitFPS option
2021-03-16 10:15:23 +01:00
scribam
8542675488
clang-tidy: run bugprone-incorrect-roundings
2021-03-15 19:52:54 +01:00
scribam
092ee6d8a5
clang-tidy: run readability-container-size-empty
2021-03-15 19:52:54 +01:00
scribam
913fbef952
clang-tidy: run readability-inconsistent-declaration-parameter-name and improve parameter names
2021-03-15 19:52:54 +01:00
scribam
26ebcdf9f5
clang-tidy: run modernize-use-equals-default
2021-03-14 21:52:42 +01:00
scribam
fe17d79e8d
clang-tidy: run performance-unnecessary-value-param
2021-03-13 17:28:33 +01:00
scribam
af0c267d96
clang-tidy: run modernize-use-emplace
2021-03-13 17:28:32 +01:00
scribam
d1239dea89
clang-tidy: run modernize-redundant-void-arg
2021-03-13 17:28:32 +01:00
scribam
28d7227ba5
clang-tidy: run modernize-use-bool-literals
2021-03-13 17:28:32 +01:00
scribam
d715836c40
clang-tidy: run modernize-use-override
2021-03-13 17:28:32 +01:00
scribam
1cc3490f51
Remove HOST_OS references
2021-03-13 11:38:34 +01:00
flyinghead
99e37500e9
vk: renderer wasn't always resized when window is
...
Issue #199
2021-03-08 21:04:51 +01:00
flyinghead
0e20d5976b
vram texture locks race condition
2021-03-05 18:22:42 +01:00
flyinghead
ee9e64a253
gui: prevent crash when starting a game while game scanner is running
2021-03-05 18:20:55 +01:00
Flyinghead
ca107953fe
Vulkan renderer setting was reset to off when starting a game
2021-03-03 09:40:52 +01:00
flyinghead
8259b8ba02
x86 msvc build fix. Build 32bit SDL. Force renderer type at startup
2021-03-01 12:49:41 +01:00
flyinghead
72a61786f4
win32: crash when opening texture pack
...
Issue #187
2021-03-01 12:44:38 +01:00
Flyinghead
c3a95594f9
New option system
...
Fix per-game settings (Issue #115 )
Automatic load/save state (Issue #173 )
Reload Naomi/AW BIOS after per-game settings are loaded to allow
per-game BIOS region. (Issue #96 )
Restrict Soul Reaver widescreen cheat to the EU version (Issue #188 )
Disable UI elements for overridden settings
Clean up/simplify legacy Naomi ROM loading
2021-03-01 10:13:40 +01:00
Flyinghead
859a8dc8fb
vulkan: wrong viewport with widescreen and SSAA x2
...
Issue #172
2021-02-21 08:33:31 +01:00
Edward Li
25e66d6972
Keeping the original scaling calculation for other OSes
2021-02-18 07:24:05 +08:00
Edward Li
50ece2a831
Handling scaling properly on macOS
2021-02-18 06:03:14 +08:00
Edward Li
78aaf39792
Edit comment
2021-02-01 22:56:12 +08:00
Edward Li
4bbf4e3b65
Precompose characters for game scanner also
2021-02-01 20:01:56 +08:00
Edward Li
eda6603808
Use `preferredLanguages` to detect system language
2021-02-01 19:57:28 +08:00
Edward Li
94caf86d4d
Precompose unicode characters before displaying since HFS+ and APFS is using decomposed form
2021-02-01 19:42:18 +08:00
Edward Li
98c4343410
Font loading for macOS
2021-02-01 19:40:12 +08:00
Edward Li
7d73920ac2
Using the official common character list from the governments
2021-02-01 19:38:29 +08:00
Flyinghead
1a8b25cc34
vk: bump sampler pool size. use swap chain size 3. no mailbox on AMD
...
Increase descriptor set pool size for combined image sampler to
accomodate for games using a stupidly large number of textures.
Don't use mailbox mode on AMD as it needs 5(!) swap chain images on
linux.
Return to a swap chain size of 3 since it's the min for AMD.
2021-02-01 12:04:55 +01:00
Flyinghead
a71c897d56
vk oit: crash when rendering to texture
2021-01-31 17:30:34 +01:00
flyinghead
6105365065
win32: load Asian glyphs from system fonts based on current code page
2021-01-31 16:08:10 +01:00
flyinghead
0fe0c6c653
gl: crosshair not displaying without fps cpunter or vmu
2021-01-28 18:57:04 +01:00
flyinghead
562660134e
vulkan: fix resize crash with overlay
2021-01-26 18:12:37 +01:00
flyinghead
7697d37ec6
lightgun crosshair support
2021-01-23 15:59:57 +01:00
flyinghead
d217f5232a
win32 and macOS fixes
2021-01-21 22:44:51 +01:00
flyinghead
ed7bd06f96
win32: multiple mice support. Patch and build SDL
2021-01-21 21:00:46 +01:00
flyinghead
119948cfdb
more event use cases
2021-01-19 23:52:28 +01:00
flyinghead
87e9fdd0ac
allow subfolders in custom texture folders
...
make file iterator to be used by custom tex and game scanner
added some missing nowide::getenv
2021-01-19 16:58:26 +01:00
flyinghead
16dec49e08
windows: use utf8 internally. Support latin2, cyrillic, etc. pathnames
...
upgrade libzip to 1.7
imgui: use all glyphs from font including latin2, cyrillic, greek, etc.
2021-01-19 11:11:01 +01:00
flyinghead
417b470cbb
sdl: fall back to open gl if vulkan init fails
2021-01-16 19:09:22 +01:00
flyinghead
49627eaf53
vk: first framebuffer wasn't cleared
2021-01-16 18:50:54 +01:00
flyinghead
f3b86f6c14
gl: TextureCache -> GlTextureCache
2021-01-15 10:14:24 +01:00
Flyinghead
1727413247
vulkan: fix crash on minimize and resize. clear framebuffer on resize
...
many vulkan fixes related to init/term/reset
2021-01-09 18:16:39 +01:00
Flyinghead
4a103a1de3
process input when no frame is rendered
2021-01-08 21:47:33 +01:00
Flyinghead
ac7bd2a6a0
free()/delete[] mismatch
2021-01-04 21:21:35 +01:00
Flyinghead
2c8b5aa7f8
vs2019 build tentative fix
2021-01-04 18:56:15 +01:00
Flyinghead
0fd9912f02
gui: get rid of content winodw border
2021-01-03 21:26:56 +01:00
Flyinghead
889fc8256d
broadband adapter support
2021-01-02 21:19:50 +01:00
Flyinghead
a859effa04
build fix
2020-12-27 09:10:19 +01:00
Flyinghead
a0b099df7c
gl: when loading custom textures, don't delete regular textures until after the current frame
...
regular textures might be referenced by the current frame and deleting them cause gl errors
Issue #144
2020-12-27 08:58:48 +01:00
Flyinghead
7a889803fd
renderer: mipmapped textures render as black when dumping textures
...
Issue #144
2020-12-26 22:59:20 +01:00
Flyinghead
a00aad5fa7
pvr: auto frame skip to replace current and previous synchronous rendering
...
Restore previous synchronous rendering behaviour (normal auto frame skip)
No frame skipping when disabled
better cpu speed measure over 4 vblanks
2020-12-25 12:08:44 +01:00
Flyinghead
ee157db078
macos: microphone support. Audio latency setting
2020-12-24 08:58:46 +01:00
Flyinghead
1a59f8bade
vk: reset lastFrameView to nil when switching renderer
...
fix crash when switching per-tri/per-pix
2020-12-21 20:09:23 +01:00
Flyinghead
632731bede
vmem: map area 4 access to vram
...
pass DDT0101 diag test
fix vmem handler bug with >= 8 handlers
ch2-DMA: use SB_LMMODE1 for upper mirror
dmac: update SAR and DAR according to CHCR.SM and CHCR.DM
use function templates for vram 32b handlers
clean up
2020-12-20 17:25:28 +01:00
Flyinghead
a7a70f9900
gl: don't present a frame if no previous render
2020-12-16 17:25:33 +01:00
Flyinghead
3f1326a3ac
rend: read framebuffer as non-interlaced when possible
2020-12-16 14:40:11 +01:00
Flyinghead
190ab6690a
vk: create staging buffer for texture if null
...
Fixes SF3 double impact crash
better texture cache cleanup
2020-12-16 14:37:28 +01:00
Flyinghead
bb5b5d4512
only switch vulkan/opengl when needed
2020-12-15 20:16:35 +01:00
Flyinghead
04cd7db2cd
pvr: serialize TA render passes
...
use enum for renderer type
2020-12-15 16:27:34 +01:00
Flyinghead
c03cf8eb45
rend: multi-render, delay swap, refactor main ui loop
...
move ui loop out of hw/pvr
vk: implement multi-rendering, delay swap. Load fb before render pass
fps counter now counts frames, not renders
vk: force ignoreTexAlpha for 565 texture in case the supporting texture
has an alpha channel (RTT). Fixes Alone in the Dark cinematic scenes.
pvr: better detection of frame swapping (FB_R_SOF/FB_W_SOF)
pvr: synchronous rendering now always waits for render in progress
(speed measurement not reliable, render skipped when multi-rendering)
vk: limit swap chain size to 2
2020-12-15 15:09:42 +01:00
Flyinghead
d960f8e9f5
lightgun: handle screen stretching, rotation and tall aspect ratio
...
Issue #139
move jvs stuff into maple_jvs.cpp
2020-12-09 13:48:58 +01:00
Flyinghead
fd244eb8b9
android: create data directory if needed at startup and onboarding
2020-12-08 17:15:51 +01:00
Flyinghead
b147f71ffa
fix crash with vulkan an android
...
compiler bug?
2020-12-08 15:45:39 +01:00
Flyinghead
adeacd89f4
input: implement reload. remap some naomi games input
...
implement lightgun reload (dc, naomi)
kcode[] set to 32 bits
revamped mapping for naomi keys
remapped btns for some naomi games
display game button/axes names in UI
2020-12-02 14:40:50 +01:00
Flyinghead
8905410aa4
clean up
2020-11-30 21:59:13 +01:00
Flyinghead
8f77a5482a
config/data folders improvements
...
linux: look for legacy ~/.reicast and ~/.reicast/data
else look for ~/.config/flycast and ~/.local/share/flycast
and ~/.config/reicast and ~/.local/share/reicast
(defaults to flycast)
look for bios files in home folder and data folders (android, windows
,macos), then in game folder.
on linux, search in /usr/share/flycast and /usr/local/share/flycast and
legacy locations
2020-11-26 16:45:57 +01:00
Flyinghead
93dc87f17f
rend: fix race condition when clearing texture cache
2020-11-25 23:22:45 +01:00
Flyinghead
fad94ca759
upgrade imgui to 1.8. Allow scrolling settings by dragging empty space
2020-11-25 13:54:27 +01:00
Flyinghead
289ff59008
gui: fix content path incorrect popup. fix potential race condition
2020-11-25 10:20:03 +01:00
Flyinghead
7744e1a262
vk: use-after-free if inFlight texture is deleted or cache cleared
2020-11-24 18:01:09 +01:00
Flyinghead
4cb361bf9f
input: allow binding controller buttons/axes to more than 1 player
...
Issue #68
2020-11-21 17:57:23 +01:00
Flyinghead
3e3fa08430
input: use btn/axes names in ui. fix mouse btn mapping
...
Use button and axis names in mapping UI
Mouse button remapping was impossible
x11: use same config names for window size as sdl/win
2020-11-20 22:10:14 +01:00
Flyinghead
ee66afb7f6
vk: recreate swap chain if presentation failed. retry creation if fails
2020-11-20 21:13:18 +01:00
Flyinghead
47f262a2c6
vk: use normal pipeline for raw fb display
...
raw fb also needs to be rotated/scaled
oit: draw opaque polys on first frame
2020-11-19 22:29:06 +01:00
Flyinghead
953200b87b
gl: Use 32x32 palette texture to avoid precision issues
...
fixes kofxi graphics corruption on Mali-400/450
fix macos github action
2020-11-19 11:56:10 +01:00
Flyinghead
6280ed1507
use top/bottom black bars when screen is narrower than 4:3
...
Issue #127
2020-11-17 17:53:26 +01:00
Edward Li
11336a3e1f
use `unsigned int` instead of `uint`
2020-11-04 06:34:25 +08:00
Edward Li
4516f9790a
Restore the problematic Content Path if user clicks cancel
2020-11-04 05:59:25 +08:00
Edward Li
fe1c77b9ae
Display relevant game files in the select_directory_popup
2020-11-04 05:45:52 +08:00
Edward Li
4bd50b9182
Display warning when it takes too long to find a game
2020-11-04 05:45:38 +08:00
Flyinghead
170ae3477c
gl4: reset scissor test before rendering a-buffers
...
Issue #116
2020-10-10 19:07:40 +02:00
Flyinghead
125c1ff37d
gles: use int for palette_index uniform to avoid precision issues
...
Issue #104
2020-07-31 12:16:10 +02:00
Flyinghead
4ecf43a08d
vulkan: revert to using 3 swap images. fix crash when switching gl/vk
...
Fix Hello Kitty crash with empty first TR polygon
Fix Test Drive Le Mans crash on invalid textures
Fix wldkickspw crash with invalid TA data
2020-07-11 17:38:41 +02:00
Flyinghead
1713124711
vulkan: linear tiling for small texs. don't track in-flight texs
...
Linear tiling is faster for small, frequently updated textures
When lots of textures are updated each frame, a skipped frame will
destroy/recreate all textures, causing another skipped frame, etc. So
in-flight texture tracking is disabled, except for RTT textures
Limit swap chain to 2 images
Refactor base and oit renderers to avoid code dup
2020-07-10 18:50:53 +02:00
Flyinghead
a1dd76818e
macOS build fix
2020-07-08 18:27:42 +02:00
Flyinghead
7449230af8
handle some palette textures on the GPU
...
get rid of PixerPacker templates
no need for GLSL precision qualifier in GL4
2020-07-08 18:17:15 +02:00
Flyinghead
fee28194fb
savestate: save sq_remap, save aw cart state, fix lr aw format
...
save AW cart state
save sq_remap used for mini-mmu with store queues
allow loading lr aw savestate. upgrade to v11
aica: saturate EG register
savestate: save current TA data
texcache: fix race condition when deleting a texture
handle 1x1 YUV tex as 565
2020-07-06 16:28:53 +02:00
Flyinghead
5cfed1e482
div32: get rid of edge cases. simplify
2020-06-15 16:56:09 +02:00
Flyinghead
0fd51fb52a
android: ignore audio latency. skip less frames in synchronous mode
...
android: use minimum size for audio buffer
alsa: use period size of 1024 instead of 512
hide audio latency option for android, win32 and mac
relax frame skipping formula
2020-06-05 21:16:48 +02:00
Flyinghead
fec79624df
gl/gl4: simplify clipping. share code with vulkan
2020-05-11 16:11:31 +02:00
Flyinghead
b907aa2d98
fix GLES2 build
2020-05-09 12:07:49 +02:00
Flyinghead
34575d577c
fix sdl+egl build. get rid of USES_HOMEDIR. thread deadlock at exit
...
fix odroid xu3 build
sdl: use left or right alt+enter to maximize window
deadlock at exit if dc_exit called from emu thread
2020-05-08 18:41:36 +02:00
scribam
6ee4b6de85
Replace OS_DARWIN by __APPLE__
2020-04-26 14:19:21 +02:00
scribam
429957f830
Compilation fix for MSVC
2020-04-23 13:37:07 +02:00
Flyinghead
bec7a9f452
network: start network before starting game to configure eeprom/flash
...
do second net sync when comm board is reset
close menu/cancel loading when pressing menu button
2020-04-22 19:11:49 +02:00
Flyinghead
17a2c3644f
ui: add loading screen with cancel button. don't freeze ui on load
2020-04-20 18:52:02 +02:00
Flyinghead
06313dd540
naomi: auto configure eeprom and bbsram for network
2020-04-19 21:45:15 +02:00
Flyinghead
98b2a32eae
naomi: auto-rotate screen, no widescreen when rot, lightgun as analog
...
rotate screen for naomi games that need it
disable widescreen when rotating screen
detect lightgun games and enable proper settings
disable model 3 comm board for atomiswave
2020-04-17 22:11:11 +02:00
Flyinghead
c364d6379b
input: per controller instance mapping file. Hide DPad U/D/L/R
...
Try to load a per-controller instance mapping file first, then fallback
to the per device type file.
Hide DPad U/D/L/R and DPad2 U/D/L/R in analog axes mapping to avoid
confusion.
2020-04-17 17:55:43 +02:00
Flyinghead
a41a81f5dd
naomi: network code for model 3 comm board
2020-04-14 17:43:11 +02:00
Flyinghead
381f0f0f95
ui: scan games in a background thread. hide unknown zips and naomi chds
2020-04-09 11:44:19 +02:00
Flyinghead
786c8e7744
get rid of libpng and use stb_image_write instead. OSX: static link SDL
2020-04-08 15:34:21 +02:00
scribam
5b60e3e47b
Load custom textures with stb_image exclusively and remove loadPNGData function
2020-04-07 19:17:16 +02:00
flyinghead
2711912bcf
Merge pull request #66 from tokuio/axis_buttons
...
Add ability to map analogue triggers to digital buttons
2020-04-07 17:23:51 +02:00
Flyinghead
b2af81cdb0
custom textures: use strtoll since long is 32-bit on windows
2020-04-07 16:32:38 +02:00
Flyinghead
cc2ddad53b
custom textures: support JPEG format
2020-04-07 14:32:09 +02:00
tokuio
f5887d64c2
Add ability to map analogue triggers to digital buttons
2020-04-07 01:33:05 +01:00
Flyinghead
553447ed76
allow buttons to be mapped to left analog stick
...
Issue #55
2020-04-04 18:18:36 +02:00
scribam
0077bbe295
Remove unused deposterize code
2020-04-03 18:55:02 +02:00
Flyinghead
d1b29a59d2
vulkan: re-enable vulkan 1.1 on Android. Fix TEST_AUTOMATION
...
disable vmem32 for Heroes of Might and Magic III
support no vmem in _vmem.cpp
2020-04-03 16:32:53 +02:00
Flyinghead
37d3625bf3
gui: Add log to file option. don't create log file if disabled
2020-04-02 12:20:03 +02:00
Flyinghead
ca3c2a2387
rend: use original palette data to compute palette hash
2020-04-01 17:12:55 +02:00
Flyinghead
320d0a5ce7
fix crash when TR polys count is 0
2020-03-31 21:09:42 +02:00
scribam
769770ab81
Replace cMutex by std::mutex
2020-03-30 23:00:43 +02:00
scribam
a155282fd0
Cleanup compiler warnings (mostly sign-compare)
2020-03-30 23:00:43 +02:00
scribam
e99aac3575
Remove "using namespace std;"
2020-03-30 23:00:43 +02:00
scribam
9a420b0093
Remove macros EMUERROR
2020-03-30 22:18:44 +02:00
Flyinghead
b3e466afed
sort triangles even with 1 poly
...
fixes missing Naomi boot logo and vtennis2 black frame during replay
2020-03-30 18:48:06 +02:00
scribam
4bf6802855
Cleanup include headers
2020-03-29 14:26:21 +02:00
scribam
c731cbcaf8
deps/vulkan: Update vk_mem_alloc.h to version 2.3
2020-03-29 13:28:06 +02:00
Flyinghead
9ce25a4e72
gl: crash when deleting null shader
2020-03-29 12:30:22 +02:00
scribam
0035871422
Replace RELEASE by NDEBUG
2020-03-29 10:12:32 +02:00
Flyinghead
c5a42a57bc
limit maple schedule time, allow vram 8-bit reads, minor changes
2020-03-28 12:19:36 +01:00
Flyinghead
8ada1d5320
pvr: defer index building and strip merging, filter out infinite verts
...
don't reset tileclip_val on each frame (Irides - master of blocks)
spg clean up
2020-03-27 13:03:49 +01:00
scribam
3ccd8c624f
libpng: use the public api to retrieve io_ptr
2020-03-25 18:15:32 +01:00
tokuio
7e4a31c786
Add game description to roms in file list
2020-03-25 12:49:58 +00:00
Flyinghead
5894992f70
android: don't use storage for default buttons.png
2020-03-24 23:31:34 +01:00
Flyinghead
5a1b7374e5
change icons. display error message when game fails to load.
2020-03-21 15:05:38 +01:00
Flyinghead
0c2e95185c
support for right analog stick. Fix gunsur2 inputs
2020-03-20 16:57:50 +01:00
Flyinghead
34ac18479f
osx build fix
2020-03-18 19:09:25 +01:00
Flyinghead
54261b69c9
renderer: handle mipmap D-adjust param (convert to lod bias)
2020-03-18 18:51:34 +01:00
Flyinghead
268b0cdcfd
vulkan: mipmap levels must be 4-byte aligned
2020-03-17 19:24:00 +01:00
Flyinghead
ef223bb20d
vulkan: disable vulkan 1.1 on android for now
...
Issue #30
2020-03-17 16:34:14 +01:00
Flyinghead
1abfdaf64e
audio: pulse async driver, null driver, latency setting
...
Pulse: use async API instead of simple API
Null driver: no audio driver with accurate timing
Add latency setting to alsa, pulse and android drivers
android: start and stop AudioTrack on audiobackend init/term
Simplify audiostream. Get rid of "none" option
2020-03-14 22:46:40 +01:00
Flyinghead
e3313d27b2
custom texture: stop loader thread before loading state
2020-03-13 18:01:33 +01:00
Flyinghead
4e73af0f94
Mem leaks in input mapping/jvs/x11. Fix crash when latin-1 char is input
...
Fix warnings
2020-03-12 16:09:05 +01:00
Flyinghead
aff2b9e1af
fix simple texture bleeding case when upscaling. Clean up
2020-03-11 17:55:13 +01:00
Flyinghead
8567c42b30
gl4: Use GL_LINEAR_MIPMAP_LINEAR for mipmapped textures
...
improve custom texture packs rendering quality
2020-03-10 17:55:44 +01:00
Flyinghead
a5171a1d09
gl,gl4: don't use GL_NEAREST_MIPMAP_LINEAR if tex isn't mipmapped
...
fixes black grass in Virtua Striker 2
2020-03-10 15:32:17 +01:00
Flyinghead
5b644cf1ca
gl: switch to GL_NEAREST_MIPMAP_LINEAR for mipmapped textures
2020-03-09 23:29:02 +01:00
Flyinghead
03f096384b
generate mipmaps for custom textures when needed
2020-03-09 22:49:05 +01:00
Flyinghead
797dabe11f
Add more buttons for arcade games. Show arcade mapping in UI.
...
Issue #40
2020-03-09 19:44:16 +01:00
Flyinghead
99f04ec753
nuke softrend
2020-02-26 23:41:05 +01:00
Flyinghead
6bfde76514
vk: avoid calling List::head() in loops
2020-02-25 16:34:49 +01:00
Flyinghead
dd29a62811
remove buggy LimitFPSAuto option
2020-02-25 12:52:21 +01:00
Flyinghead
0ff22ed0a6
custom tex: disable mipmapping when dumping textures
2020-02-21 16:16:54 +01:00
Flyinghead
75bfd25224
custom tex: support v1 (content+pal) and v3 (...+format) hashes only
2020-02-19 18:48:56 +01:00
Flyinghead
e2b3ef147d
custom tex: recreate gl/vk texture when loading custom tex. vk crash
2020-02-19 14:31:35 +01:00
Flyinghead
9f565f2d41
vulkan: corrupted textures with mipmap and xBRZ
2020-02-17 18:26:14 +01:00
Flyinghead
3ddce6dd45
fix crash when enabling xBRZ filtering
2020-02-17 18:26:14 +01:00
Flyinghead
84ba8afe0f
Ignore tex address and stride in texture hash
2020-02-09 23:08:11 +01:00
Flyinghead
3f7ea1fda9
fix crash for 1x1 TW textures
2020-02-07 20:41:59 +01:00
Flyinghead
391cbdc044
restore previous twiddle table for non-square tex
2020-02-07 19:13:23 +01:00
Flyinghead
dd80114bf7
osx build fix
2020-02-07 17:01:42 +01:00
Flyinghead
9826afa063
upload all texture mipmap levels to gpu
...
implemented for gl/gl4/vulkan/oit
don't auto-generate mipmaps in vulkan
simpler/smaller detwiddle table
use std::lock_guard with cMutex
2020-02-07 16:55:32 +01:00
Flyinghead
49c6a55f24
vulkan oit: pass native blend function values to shader, not vulkan ones
...
Fixes missing texture in Plasma Sword start screen
2020-02-06 11:39:05 +01:00
Flyinghead
333b21fac4
Fix .elf support. Init aica irq mask/level during HLE boot
...
BSC PCTRA is 32-bit wide
2020-02-05 18:02:44 +01:00
Flyinghead
b79c074444
axe wchar
2020-01-31 23:51:12 +01:00
Flyinghead
80a0f467d7
fix crash when screen scaling is custom. fix rpi3 build
...
DiscSwap and InitDrive are now the same
2020-01-31 18:33:16 +01:00
Flyinghead
e017fba9c1
vulkan: fix scissoring when SSAA > x1 in widescreen mode
2020-01-30 20:08:30 +01:00
flyinghead
d6fe3526a4
Merge pull request #35 from vkedwardli/enable-upscaling
...
Enable upscaling for up to 8x SSAA
2020-01-30 19:03:15 +01:00
Flyinghead
aaaf093af7
Allow ejecting and changing the disk while in-game
2020-01-30 19:01:47 +01:00
Edward Li
1d72f66de9
Enable upscaling for up to 8x SSAA
2020-01-30 03:31:42 +08:00
scribam
4161ca9b07
msvc build fixes
2020-01-28 19:08:22 +01:00
Flyinghead
ff69efff48
ignore trilinear filtering if texture isn't mipmapped
...
fixes shenmue snowflakes color
2020-01-21 19:52:09 +01:00
Flyinghead
ef3512a2f3
gl4: fix blending issue when autosort=0
...
Fixes Sturmwind menu
2020-01-20 22:37:24 +01:00
Flyinghead
3b83a4e4d5
minor changes
2020-01-16 22:19:07 +01:00
Flyinghead
7f30c7078d
pvr: better saturation of colors when converting tex to higher precision
2020-01-15 10:55:25 +01:00
flyinghead
36a7c00507
win32: fix crash when switching to vulkan
...
fix recursive call to VulkanContext::Init
still crashing when starting with vk and switching to GL
2020-01-08 10:58:24 +01:00
Flyinghead
43d924ceae
vulkan: reset physical device at init
...
don't use PhysicalDeviceProperties2KHR with vulkan 1.0
tentative fix for issue #30
2020-01-06 21:33:31 +01:00
Flyinghead
a6839f57e7
vulkan: only use per-pixel sorting when needed
2020-01-05 23:03:44 +01:00
Flyinghead
f7655091b0
gl4: only use per-pixel sorting when needed
...
if not using autosort, there's no need to use per-pixel sorting
fixes issues with Psyvariar2 and HeadHunter
2020-01-05 20:44:39 +01:00
Flyinghead
d49373b0f9
vulkan: VMU display
...
Reset pipeline when switching per-triangle/per-strip
Adreno workaround test typo
clean up
2019-12-25 13:09:54 +01:00
Flyinghead
be50fca2d6
gl: (oit) Far plane is 0 in final depth test. minor gl cache reset fix
...
other misc changes
2019-12-25 13:05:42 +01:00
flyinghead
3415ce5577
win32: detect platform. SDL support
2019-12-22 23:49:52 +01:00
flyinghead
424a02cdf3
vulkan: workaround for intel driver bug when depth write is disabled
...
backport adreno driver translucent modvol workaround
2019-12-22 17:48:24 +01:00
Flyinghead
29fd406dd8
vulkan: crash on windows when switching from gl to vulkan
...
Destroy and recreate window when switching from gl to vulkan
VkGetPhysicalDeviceProperties2 crash with old nvidia driver (376)
2019-12-14 17:53:01 +01:00
Flyinghead
c683e0ded8
vulkan: push constants when starting render pass to avoid crash (mali)
2019-12-11 22:31:35 +01:00
Flyinghead
78987074a6
renderer: add 32bpp conversion routines for bump map textures
2019-12-10 16:15:14 +01:00
Flyinghead
5ac104fb0e
Disable startx/starty crt shifts for now. vk: fix OIT buffer size issue
2019-12-10 15:19:41 +01:00
Flyinghead
066093553f
vulkan: copy provoking vertex. crash when rtt2vram. rtt vram stride
...
setImageLayout was missing TransferSrcOptimal as source layout
Vulkan needs the first vertex to be the provoking vertex so copy 3rd on
1st when flat shading.
VRAM stride was incorrect (RTT to VRAM)
2019-12-10 12:51:10 +01:00
Flyinghead
637ad3b214
vulkan: delay destroying in-flight images. Fix inside clipping.
...
Keep in-use imave and image views when the texture is updated.
Fix inside clipping (18 wheeler rear mirror)
Wait until the graphics queue is idle before changing shared buffers and
attachments.
Refactoring
2019-12-09 19:37:14 +01:00
Flyinghead
3b86c57d0e
texture corruptions with some wince games
...
vram wasn't protected in some cases
Worms World Party, Tomb Raider - Final Revelation, Hundred Swords
2019-12-09 13:17:58 +01:00
Flyinghead
a1981c48b6
vulkan: transition oit depth attachment after init. Avoid empty buffer
2019-12-08 22:39:30 +01:00
Flyinghead
369624b28f
vulkan: check if api 1.1 is available. fix screenshot R&B swap
2019-12-08 22:22:40 +01:00
Flyinghead
a331c7bd84
vulkan: missing BeginFrame call
2019-12-07 22:13:22 +01:00
Flyinghead
9acbfae25d
vulkan: don't allocate more than allowed
2019-12-07 22:12:14 +01:00
Flyinghead
e14115683e
vulkan: don't use anisotropic filtering with nearest. Set max to 4
...
fixes issues with adreno
2019-12-06 17:16:59 +01:00
Flyinghead
4730da31d5
vulkan: fix modvols. fix depth-write disabled poly. optimizations
...
stencil must be reset to zero if poly isn't shadowed -> fixes jet set
radio "see-through" shadows
take culling into account for modvols
oit: reduce per-pixel and per-poly mem usage
oit: framebuffers weren't resized when needed
oit: poly with depth write disabled weren't drawn (Soul calibur missing
water surface)
Fix glsl error when two-volume mode needs fog attachment
2019-12-05 18:48:54 +01:00
Flyinghead
21b2eb3e5d
vulkan: fix clipping (alpilot black screen)
2019-12-04 19:06:14 +01:00
Flyinghead
cd49b32473
vulkan: allocate oit buffers in device-local mem. NVidia fixes
...
BufferData was always allocated in host visible mem, regardless of the
mem property argument.
NVidia gpus don't support blitting to 565 and 5551, which is needed for
mipmaps, so convert to 8888 instead.
Use optimal tiling for oit pointers image (linear not supported by
nvidia and probably slower anyway)
oit screen drawer uses multiple final attachments
Set non-oit depth attachment as transient and lazily allocate mem
2019-12-04 15:51:26 +01:00
Flyinghead
8f80b427df
vulkan: move oit renderer to own directory
2019-12-04 09:41:27 +01:00
Flyinghead
5f265d03fe
vulkan: use a chain of final color attachments
...
glcache: clear tex param cache
2019-12-03 21:29:37 +01:00
Flyinghead
6865d74a85
vulkan: use last rendered frame as background for ui
2019-11-30 12:14:36 +01:00
Flyinghead
cf7aa4f310
vulkan: disable debug
2019-11-29 19:54:43 +01:00
Flyinghead
0280fcc9d4
vulkan: render to temp fbo then to screen
...
renderers render to image which is blitted to the screen by the context
batch texture updates command buffers and submit once
fix screen scaling
2019-11-29 19:28:22 +01:00
Flyinghead
dae0908735
vulkan oit: fix imgui overlay
...
re-init imgui with the oit render pass when running game. use regular
render pass otherwise.
2019-11-26 18:28:48 +01:00
Flyinghead
ed538f7dce
vulkan: osx and arm32 build fix
2019-11-26 12:12:43 +01:00
Flyinghead
554d8005fa
gl: #version must be on first line or Mali compiler complains
2019-11-26 11:08:35 +01:00
Flyinghead
a944cd08c6
vulkan: use amd mem allocator
2019-11-26 10:42:44 +01:00
Flyinghead
2c26d379df
renderer: fix scissoring with hscale, pixel_double, vscale...
...
Fixes Wacky Races, ECW Hardcore and Cho - Hatsumei Boy Kanipan cropped
screen
2019-11-18 15:57:18 +01:00
Flyinghead
a4053715af
vulkan: skip TR & final pass on first frame before clearing buffers
2019-11-15 11:24:00 +01:00
Flyinghead
01af8e5f5e
vulkan: fix texture LoD, enable anisotropic filtering
...
fixes textures being grainy when seen from a distance
2019-11-15 11:17:01 +01:00
Flyinghead
78eb1829d8
gles2: calculate fog depth in vertex shader in case highp not supported
...
Mali-400/450 don't support highp floats in the fragment shader. This
causes overflows when computing fog density in some game scenes. To work
around that, calculate fog density in vertex shader and use
interpolation.
vulkan,gl: Get rid of extra_depth_scale in fragment shader by
integrating it in fog density
2019-11-14 22:10:40 +01:00
Flyinghead
09f5d25133
vulkan: automation screenshot. less code duplication
...
fix assert on exit due to not released vmem
fix crash when resizing window
2019-11-13 20:08:14 +01:00
Flyinghead
9928af2506
vulkan: terminate shader compiler only once if inited
...
fixes assert/crash when switching rendering api
2019-11-13 12:56:40 +01:00
Flyinghead
72c2ee1008
vulkan oit: RTT support
...
Fix Tr modifier volumes mem barrier
Simplify desc sets
2019-11-12 19:39:58 +01:00
Flyinghead
7b8840a330
Merge remote-tracking branch 'origin/master' into fh/vulkan
2019-11-10 21:01:29 +01:00
Flyinghead
25fb888d26
vulkan oit: get rid of depth2 attachment
2019-11-10 17:59:21 +01:00
Flyinghead
c10f075266
vulkan: OIT renderer WIP
2019-11-10 11:27:19 +01:00
Flyinghead
b8c1d6657d
vulkan: quad buffer, extract shader compiler
...
fetch color format, storage buffer alignment and stores/atomics support
at init
support for framebuffers used as input attachments
use Allocator instead of VulkanAllocator
return handles instead of unique handles
2019-11-10 10:16:18 +01:00
Flyinghead
5d6ac0acbb
gl: const everything
2019-10-25 22:47:20 +02:00
Flyinghead
ba51c873d0
vulkan: fix missing geometry in multipass
2019-10-25 22:30:34 +02:00
Vai Kong Edward Li
5772e2a679
Custom Textures / Dump Textures supports NAOMI also
2019-10-26 03:56:59 +08:00
Flyinghead
920e2bf039
vulkan: return Device instead of UniqueDevice from context
2019-10-25 19:20:15 +02:00
Flyinghead
5e4dacfa67
Fix renderer selection issue in gui. Use raw strings for shader source
2019-10-23 19:23:19 +02:00
Flyinghead
07958f08ae
refactor xform matrix out of gles. use xform matrix in vulkan
2019-10-23 18:13:28 +02:00
Flyinghead
2f363a7355
Merge remote-tracking branch 'origin/fh/gl-scale-mat' into fh/vulkan
...
# Conflicts:
# core/rend/TexCache.h
# core/rend/gl4/gles.cpp
# core/rend/gles/gles.cpp
# core/rend/gles/gles.h
# shell/apple/emulator-osx/reicast-osx.xcodeproj/project.pbxproj
2019-10-21 19:49:53 +02:00
Flyinghead
86818389ac
move texture cache to a template class. vulkan: OSD on android
...
store texture in the cache map instead of the heap
make related functions member of the class (CollectCleanup, killtex ->
Clear)
refactor common OSD stuff into rend/osd
vulkan support for OSD
2019-10-21 16:39:16 +02:00
Flyinghead
2a89874812
decouple imgui from gles renderer
2019-10-19 18:34:24 +02:00
Flyinghead
6611e9bf5e
gl: refactor wsi into their own class.Allow dynamic vk<->gl switch
2019-10-18 21:57:08 +02:00
flyinghead
dffaed7dd9
vulkan: prefer optimal depth format. use same format for rtt
...
Try to find an optimal depth format then fall back to linear
Use same depth format for rtt depth attachments
Allow RenderToTextureBuffer setting to be changed at runtime
Enable vulkan on windows
2019-10-16 10:40:06 +02:00
flyinghead
c3cbfbdfb0
vulkan: android build fix
2019-10-15 21:50:42 +02:00
flyinghead
a6c56ba748
vulkan: windows support
2019-10-15 21:25:24 +02:00
Flyinghead
43d87877be
vulkan: some ui
2019-10-15 16:52:02 +02:00
Flyinghead
d28a7f45c5
vulkan: android support
...
align uniform buffers according to physical device requirements
destroy old swap chain before creating new one
some drivers don't support some 16-bit texture formats for optimal
tiling
2019-10-15 16:49:20 +02:00
Flyinghead
e3a997b642
vulkan: direct framebuffer writes support
...
alternate between 2 texture drawers
Fix scissor scale when pixel_double is on
Ingore Present() when nothing has been rendered
2019-10-14 17:41:49 +02:00
Flyinghead
fb52b38ac3
texture upscaling was missing some paletted alpha channel formats
...
Fixes dark pixels on edges when using xbrz upscaling (Capcom vs SNK 2)
2019-10-14 15:15:20 +02:00
Flyinghead
f8d4b08618
vulkan: increase some descriptor pool sizes. Use 3 swap chain images
2019-10-13 22:40:11 +02:00
Flyinghead
4c29a9bad7
vulkan: better tile clipping
2019-10-13 22:01:20 +02:00
Flyinghead
af0b0eac42
vulkan: mipmap support
2019-10-13 18:42:28 +02:00
Flyinghead
06e1456d4f
vulkan: memory allocator
2019-10-12 13:48:41 +02:00
Flyinghead
459a2b973e
vulkan: make staging buffer visible to host for rtt2vram. Minor changes
2019-10-12 13:48:41 +02:00
Flyinghead
2bac2afe98
gles: fix depth issue when drawing quads on gles2
...
Fix Gunlord black screen on GLES 2
2019-10-12 13:48:41 +02:00
Flyinghead
e9ecda2b31
vulkan: fix regression on color blending state
2019-10-09 22:59:01 +02:00
Flyinghead
970d959772
gles: build fix
2019-10-09 22:49:29 +02:00
Flyinghead
becdd213fe
android: build vulkan renderer
2019-10-09 22:44:06 +02:00
Flyinghead
6406523720
vulkan: RTT support
2019-10-09 21:18:06 +02:00
Flyinghead
38f50c1b5a
gles: refactor rtt vram writeback out of gles
2019-10-09 21:14:31 +02:00
Flyinghead
e09e895f22
vulkan: better image update. Don't kill in-flight command buffers
...
Transition images back to transfer and update them instead of
deleting/recreating.
Keep track of in-flight texture command buffers and free them when idle.
2019-10-07 17:45:11 +02:00
Flyinghead
b790a336e9
vulkan: modifier volumes
2019-10-07 12:30:56 +02:00
Flyinghead
8d520fa5e4
vulkan: per-triangle sorting
2019-10-06 21:21:31 +02:00
Flyinghead
b82a97853f
vulkan: fog support
2019-10-06 17:02:17 +02:00
Flyinghead
8f8f270cfc
vulkan: use separate command buffer to upload tex. Limit desc set size.
2019-10-06 14:31:39 +02:00
Flyinghead
751f30003d
rend: fix stride regression introduced in 24b973f7
...
Fix YUV textures corruption
2019-10-06 14:16:12 +02:00
Flyinghead
ebec2966d7
vulkan: create SamplerManager. Use staging buffer for textures
...
Samplers shouldn't be tied to a texture
Using a staging buffer fixes most texture glitches
2019-10-06 12:24:07 +02:00
scribam
1e54de93fa
gui: Replace "std:string" by "std::string"
2019-10-06 10:58:44 +02:00
Flyinghead
5b35b52fda
vulkan: fix uniforms alignment. Use push constants for per-poly params
...
Fix clipping, trilinear alpha
Imgui FPS counter
2019-10-05 23:29:39 +02:00
Flyinghead
929976c147
android build fix
2019-10-05 18:45:42 +02:00
Flyinghead
fc752e6efb
proper OSX build fix
2019-10-05 19:44:25 +03:00
Flyinghead
bbab62810a
OSX build fix
2019-10-05 19:29:23 +03:00
Flyinghead
d23b7bff7b
vulkan: recreate swap chain on resize. flush samplers when updating tex
2019-10-05 16:09:28 +02:00
Flyinghead
27e9acaac6
rend: refactor ReadFramebuffer() out of gles
2019-10-05 16:06:07 +02:00
Flyinghead
b1defae3f7
vulkan renderer - WIP
2019-10-05 11:50:14 +02:00
Flyinghead
8202ac420b
pvr,rend: more refactoring out of gles. Change texture id to 64b
2019-10-04 13:33:08 +02:00
Flyinghead
24b973f763
rend: refactor texture cache and poly/triangle sorters out of gles
2019-10-04 12:22:18 +02:00
Flyinghead
87023c722d
Hide unsafe optimizations on all but arm32 platform
...
Non-functional changes
2019-09-30 15:36:39 +02:00
Flyinghead
6ab8b185c8
Protect vram pages only when needed. Use lambda for xbrz paralleliz.
...
Each vram page is now protected only once.
Get rid of std:function and std::bind and use lambda expressions.
2019-09-30 15:31:06 +02:00
Flyinghead
9d3ee3b57f
dyna: get rid of SmcCheckLevel options. Fix rec-cpp
...
Block check is now full or off depending on block protection
rec-cpp: Add missing opcode call classes and allow for immediate args
2019-09-29 18:18:46 +02:00
Flyinghead
ae4f378747
Add fast-forward mode
...
Fix buttons.png not being created if not first run
2019-09-27 14:15:29 +02:00
Flyinghead
219a001631
pvr: eliminate empty polygons and render passes
...
initialize sprite face base & offset colors to white
never join TR poly strips
re-enable depth after mod vols
2019-09-25 23:28:53 +02:00
Flyinghead
90dbaa5edd
gui: disable stencil test
2019-09-25 20:25:01 +02:00
Flyinghead
334211f3a0
gl: build fix
2019-09-25 15:44:21 +02:00
Flyinghead
3fd3e097ac
gl: fix modvol issue introduced by 8792c06
2019-09-25 13:54:38 +02:00
Flyinghead
9b063644c4
Per-game widescreen cheats
...
New option to make games render in 16/9 anamorphic format and stretch
screen to correct aspect ration.
2019-09-24 23:59:36 +02:00
Flyinghead
943a50b9bc
gl4: translucent modifier volumes need inverted depth too
2019-09-23 19:37:01 +02:00
Flyinghead
537c2a4ed6
pvr: reset face and offset colors when not set in poly param
...
Fixes black ice in NHL 2K2 and black players in NHL 2K
Clean up
Don't build soft renderer
2019-09-21 22:53:09 +02:00
Flyinghead
8792c06adc
gl4: use same depth direction as gles. Round scale_y value.
2019-09-17 13:35:23 +02:00
Raph
732e685ea7
gl4: unbind the depth tex from the fbo before reading from it
...
fixes diagonal pixel line issue with AMD gpu
should help issue #16
2019-09-15 18:30:44 +02:00
Flyinghead
ed90bcebee
partially revert 1a019b79b0
...
move the punch-through alpha test back to where it was (before shading)
fixes SF Rush missing chars on copyright screen
2019-09-12 18:54:14 +02:00
Flyinghead
2bdfdf96c1
gl4: fix invisible framebuffer direct writes with hle bios
...
Fixes hidden & dangerous black screens in hle bios mode
2019-09-11 21:10:02 +02:00
Flyinghead
8b949e1dca
Get rid of time_sync timer. Clean-up
2019-09-11 15:09:23 +02:00
Flyinghead
11c95c41d3
Hide legacy Naomi roms (.bin, .dat. lst) by default
2019-09-10 21:56:58 +02:00
Flyinghead
0bd95cbba8
Delay Frame Swapping option to enable FB_R_SOF == FB_W_SOF detection
2019-09-09 14:58:53 +02:00
scribam
49b7e0682b
Cleanup
2019-09-07 20:36:13 +02:00
scribam
e0fb50488d
deps: Update xxhash integration
2019-09-06 21:05:19 +02:00
scribam
bdf2029e99
Simplify libpng/zlib integration
2019-09-04 19:59:51 +02:00
Flyinghead
b4d33a6c70
Merge remote-tracking branch 'origin/master' into fh/hle-bios
2019-09-03 19:14:39 +02:00
scribam
21fa8ecfba
deps/windows: Update dirent integration
...
Source: https://github.com/tronkko/dirent/blob/1.23.2/include/dirent.h
2019-09-02 22:57:53 +02:00
Flyinghead
aadc9c3bfc
Detect game region/vga support and set options accordingly
...
Better IP.BIN parsing (wince, vga)
Use wince flag and boot filename for wince detection
Switch to TV composite if vga unsupported
Switch to supported BIOS region if current is unsupported or default
2019-09-01 16:35:12 +02:00
Flyinghead
61f4cd4ecd
Merge remote-tracking branch 'origin/master' into fh/hle-bios
2019-08-31 22:10:09 +02:00
Flyinghead
2015d9a696
rename and clean up
2019-08-30 23:35:10 +02:00
Flyinghead
e173b83574
New option to force WinCE mode
2019-08-28 20:47:47 +02:00
scribam
269297be18
Use _WIN32 to handle Windows specific code
2019-08-28 20:37:53 +02:00
scribam
61382316c9
Use __ANDROID__ to handle specific Android code
2019-08-28 20:37:53 +02:00
Flyinghead
7c8ce6267a
use lroundf(x) instead of x + 0.5f
2019-08-17 18:19:33 +03:00
Flyinghead
cf22e942cb
android build fix
2019-08-12 21:16:32 +02:00
Flyinghead
93e009bf1a
gl: use matrices for ndc and viewport calculations
...
Support VO_STARTX and VO_STARTY for shifting displayed frame
Add glm to deps
Calculate NDC, scissoring and viewport matrices once
Reduce code duplication
2019-08-12 19:56:44 +02:00
Flyinghead
1a019b79b0
GL: blending support for punch-through polys
...
Disable trilinear filtering for PTs
PT alpha test should be done after color+tex shading according to documentation
2019-08-09 12:05:56 +02:00
Flyinghead
7ff225bfa0
PVR: detect direct FB writes in non-interlace. Fix packed 888 FB format
2019-08-09 12:03:09 +02:00
Flyinghead
b38affe87c
Build fix
2019-08-08 08:30:38 +02:00
Flyinghead
69f2b343b1
OSX: command line args support. test automation
...
allow test automation on other platforms (win32, OSX, ...)
2019-08-08 08:22:33 +02:00
Flyinghead
6059831ec7
reios fixes
2019-07-30 19:04:51 +02:00
Flyinghead
a9dbbccf93
Unprotect VRAM before switching system. Fix texture cache clean
2019-07-28 17:06:12 +02:00
Flyinghead
9932d9bf43
OSX: fix bios files path (now in /data/)
2019-07-24 18:24:58 +02:00
Flyinghead
326bc580ec
Merge branch 'fh/unified' into fh/wince-dynarec
2019-07-13 12:50:19 +02:00
Flyinghead
bbc11a30aa
Naomi rename vars and clean up. Logging changes.
2019-07-13 12:44:10 +02:00
Flyinghead
e63d7d717e
Fix Restart crash. Clear texture cache during reset
2019-07-13 10:59:20 +02:00
Flyinghead
68acf48d64
Support for Twin Stick and Ascii FT Stick
2019-07-12 19:18:39 +02:00
Flyinghead
60ec054b59
support for VQ compressed paletted textures
2019-07-12 15:34:10 +02:00
Flyinghead
eb38564922
use exceptions for startup errors
2019-07-11 19:23:21 +02:00
Flyinghead
cb35c80ee7
gl4: still need to update the depth buffer for TRs
2019-07-10 22:23:26 +02:00
Flyinghead
f3a91de1af
Unify dreamcast, naomi and atomiswave builds WIP
2019-07-09 23:52:19 +02:00
Flyinghead
632aa95c2d
gl4: depth test issue in non-autosort mode
...
Depth testing is done in the fragment shader so it shouldn't be done
in the a-buffer shader for the first pixel, or until the depth is updated.
Fixes flashlight and lightstorm effects in Alone in the Dark
2019-07-09 15:25:15 +02:00
Flyinghead
329230bf8d
Fix Naomi reset. Add some per-game settings
...
Re-Volt needs 100 extra deptch scale for perfect menus
Tom Clancy's Rainbow Six needs RTT to vram for correct loading screens
2019-07-08 16:31:50 +02:00
Flyinghead
478b1c719c
gl4: do a depth-only TR pass in non-autosort mode
...
fixes HeadHunter map/radar issue
2019-07-08 16:30:07 +02:00
Flyinghead
dbbc1819e8
remove NACL
2019-07-07 22:56:23 +02:00
Flyinghead
9eef02a1e8
pvr: ignore Z Write Disable for punch-through polys?
...
tentative fix for Worms World Party
2019-07-07 22:13:43 +02:00
Flyinghead
2c8094f987
renderer,sdl: use new logging
2019-07-01 17:41:15 +02:00
Flyinghead
ad4218d617
audio: use new logging
...
other logging changes
2019-07-01 17:17:08 +02:00
Flyinghead
8404c6322c
New logging framework stolen from dolphin
2019-06-30 21:06:46 +02:00
Flyinghead
838cbe59e3
gl4: get rid of scaling params and use normalized coords in abuffer
...
add Eternal Arcadia and Yu Suzuki Game Works to render rtt to vram game list
2019-06-30 11:40:42 +02:00
Flyinghead
a14bf29f5f
gl4: scaling and coords must be different with rtt vs screen
2019-06-28 18:26:36 +02:00
Flyinghead
5f5f300604
gl4: fix issue with RTT regarding buffer dimension
...
fixes shadow in THPS 1 & 2
2019-06-28 17:37:06 +02:00
Flyinghead
99778a7715
per-pixel renderer: RTT might need bigger buffers than screen
2019-06-27 22:41:16 +02:00
Flyinghead
f862903a74
Don't unprotect vram when a texture is updated
...
Adjacent textures in other pages still need vram protection
Fixes texture corruption in many games since ad5ab6240b
2019-06-23 21:30:46 +02:00
Flyinghead
112e272075
renderer: support non-integer v-scaling factor
...
Fixes missing half-screen in Wacky Races (PAL), Buzz Lightyear of Star Command (PAL),
Tom Clancy's Rainbow Six - Rogue Spear + Mission Pack - Urban Operations (PAL), Sega Worldwide Soccer 2000 (PAL)
Input record and replay support for test automation
2019-06-23 12:17:24 +02:00
Flyinghead
862d892e89
texture corruption resulting from misaligned page unprotection
2019-06-21 23:31:45 +02:00
Flyinghead
b226544d03
Merge remote-tracking branch 'origin/master' into fh/wince-dynarec
2019-06-21 14:37:32 +02:00
Flyinghead
9f66847469
name change
2019-06-20 21:50:19 +02:00
Flyinghead
ad5ab6240b
refactor vram lock/unlock code into new vmem.cpp functions
2019-06-19 14:49:14 +02:00
Flyinghead
bd30752b86
Use auto& to avoid copy when iterating. Inline mmu_Read/WriteMemNoEx
2019-06-08 13:04:35 +02:00
Flyinghead
506756ea37
android: use common rend_thread() instead of a specific one
...
fixes the swap pending issue (double swap) on android
2019-05-25 18:48:00 +02:00
Flyinghead
fa10b9ed2f
Wrong offset in VramLockedWrite
2019-05-24 17:44:54 +02:00
Flyinghead
e3d95f2258
wince: unify _vmem and vmem32. Use 4GB virtual space on 64-bit arch
...
On 64-bit architectures, _vmem first tries to allocate 4GB then falls
back to 512 MB.
The same virtual space is now used by _vmem and vmem32 (mmu)
2019-05-23 11:40:33 +02:00
Flyinghead
c2c0215e1b
Merge remote-tracking branch 'origin/master' into fh/wince-dynarec
2019-05-22 14:13:00 +02:00
Flyinghead
d55d803c16
gles2 build fix
2019-05-21 19:11:47 +02:00
Flyinghead
3bf32f5adf
Merge remote-tracking branch 'origin/fh/limitfps-option'
2019-05-21 11:42:07 +02:00
Flyinghead
74844c8940
disable per-pixel renderer on OSX
2019-05-21 11:26:18 +02:00
Flyinghead
433590b610
rend: Add per-strip TR sort option
2019-05-21 11:24:03 +02:00
Flyinghead
07b3f83343
audio: new option for automatic limitFPS
...
LimitFPS now can be enabled, disabled or automatic. The latter option
doesn't wait for audio if the emulator is running slow (over the last 2
secs)
Renamed `Audio Backend` to `Audio Driver` in the UI.
2019-05-20 19:12:28 +02:00
Flyinghead
8d078a923b
wince: force aica.NoBatch (missing change)
2019-05-17 17:01:20 +02:00
flyinghead
a6b773a23e
Merge pull request #1603 from reicast/fh/gles-dynload
...
Fix build errors on GL ES 2.0 platforms (RPi...)
2019-05-17 12:15:07 +02:00
drhilarius
c92a997f11
Fixes for cmake + msvc
...
Also now builds .asm file for dynarec jit with msvc
2019-05-16 03:05:16 -07:00
Flyinghead
6053a465f7
fix win32 build
2019-05-15 13:07:52 +02:00
Flyinghead
d9f2f9ae1d
rend: define GLES2 and GLES3
...
GLES2 will only use GL ES 2.0 API functions, compile-time linked
GLES3 loads functions dynamically and supports both GL ES 2.0 and 3.0
2019-05-15 12:54:03 +02:00
Flyinghead
0dd555c5c8
Merge branch 'master' into fh/gles-dynload
2019-05-15 11:49:57 +02:00
David Guillen Fandos
cbc2af29ad
Fix small issues for mingw builds on Linux
...
Doenst like the paths, big surprise. I tipically build it like:
make platform=win32 CXX=x86_64-w64-mingw32-g++ \
WINDRES=x86_64-w64-mingw32-windres \
CC=x86_64-w64-mingw32-gcc
2019-05-12 17:44:19 +02:00
David Guillen Fandos
b74db6ef53
Moving vmem to separate files with a proper interface.
...
Works so far for Linux and Android, need to do some testing on Windows.
2019-05-11 22:09:52 +02:00
Flyinghead
3cd9736fca
Ignore vscalefactor if < 1
...
fix black screen on some intel platforms
2019-05-08 21:33:49 +02:00
Flyinghead
c330cdd88e
fix scissor test and vertical scaling when using the Y scaler
...
Fixes missing bottom half-screen in Mr Driller (PAL, 60 Hz), Kaen Seibo,
Mahjong Taikai II Special, Pon'n'Music 1 and 2 when in TV Composite and
RGB.
Fixes stretched screen in Cho - Hatsumei Boy Kanipan.
2019-05-06 15:23:54 +02:00
skmp
3f8328da25
Merge pull request #1568 from reicast/baka/audio_options
...
AUDIO: Allow backend specific settings
2019-05-03 03:57:17 +03:00
Christoph "baka0815" Schwerdtfeger
99033e297c
AUDIO: Implement integer and checkbox options
...
I remove "text" as a possibility for the moment as we're currently not having **any** text option.
2019-05-02 20:24:49 +02:00
Christoph "baka0815" Schwerdtfeger
684ba26ec0
AUDIO: Reorganize settings
...
Move DSP and FPS above the slug selection so that all slug specific settings are after the slug selection.
2019-05-02 18:41:45 +02:00
Flyinghead
810b8a59da
wince: 32-bit virtual mem space
...
use fast mem read/write for x64 and arm64 dynarecs
2019-04-29 18:23:00 +02:00
David Guillen Fandos
3692ea7ae6
Improve stdclass.h/cpp support for non-Linux non-Windows platforms
...
Simplifies having implementation on platform separated files, which is a
pain for platforms which are not Windows but not Linux either (and yet
support pthreads).
Some minor cleanup here and there while we are at it.
2019-04-27 14:34:10 +02:00
Christoph "baka0815" Schwerdtfeger
0a3c361da2
AUDIO: Allow backend specific settings
2019-04-24 21:41:38 +02:00
david miller
cc9d5ec55b
CMake/Master working, tested on windows with Clang && MSC (x86,x64)
2019-04-12 16:59:39 -04:00
David Miller
3d1b82854e
Merge branch 'master' into fh/win32-winresize
2019-04-12 13:03:30 -04:00
flyinghead
8cdbb9c2fd
Merge pull request #1548 from reicast/fh/float-vmu
...
Float VMU option. Android renderer native thread. 90° screen rotation option. AW fixes.
2019-04-10 21:53:41 +02:00
Flyinghead
0445542ec2
gl: 90deg screen rotation option. Fix scissor/clip wrt scale/stretch
...
90deg CC screen rotation option for some arcade games
Fix scissoring and clipping when screen scaling/stretching/rotating
Clear shader cache when screen rotation changes
Properly delete all gl programs and shaders when needed
2019-04-09 15:18:48 +02:00
Flyinghead
0a6f503efc
Don't use screen stretching parameter for RTT
2019-04-08 21:51:59 +02:00
baka0815
56374377dd
Merge pull request #1543 from reicast/baka/select_audio
...
AUDIO: Make backend configurable
2019-04-08 18:33:53 +02:00