Flyinghead
da3ed74c4e
vulkan: moltenvk support on macOS - WIP
...
sdl: save/restore window position in config
2021-11-01 13:05:22 +01: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
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
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
fb40bb22df
vk: CommandPool size must be 2. Fix lightgun xhair validation error
2021-09-27 11:19:50 +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
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
117f47e3a2
rend: shader builder utility
2021-07-19 12:49:47 +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
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
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
c205a888a9
options: anisotropic filtering, oit pixel buffer size, fast gdrom load
2021-07-06 16:19:12 +02:00
Flyinghead
7dbd79750c
WIP libretro core update
2021-07-05 19:44:08 +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
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
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
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
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
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
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
3474901e58
wsi: swap immediately when fast forwarding
2021-04-20 10:56:49 +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
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
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
1e6874c5eb
SDL2/SDL.h -> SDL.h
2021-03-21 20:07:53 +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
1abfa19636
set rendering resolution in discrete steps instead of scaling
2021-03-21 18:03:22 +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
d715836c40
clang-tidy: run modernize-use-override
2021-03-13 17:28:32 +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
8259b8ba02
x86 msvc build fix. Build 32bit SDL. Force renderer type at startup
2021-03-01 12:49:41 +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
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
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
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
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
2c8b5aa7f8
vs2019 build tentative fix
2021-01-04 18:56:15 +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
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
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
b147f71ffa
fix crash with vulkan an android
...
compiler bug?
2020-12-08 15:45:39 +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
7744e1a262
vk: use-after-free if inFlight texture is deleted or cache cleared
2020-11-24 18:01:09 +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
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
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
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
Flyinghead
17a2c3644f
ui: add loading screen with cancel button. don't freeze ui on load
2020-04-20 18:52:02 +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
786c8e7744
get rid of libpng and use stb_image_write instead. OSX: static link SDL
2020-04-08 15:34:21 +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
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
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
scribam
0035871422
Replace RELEASE by NDEBUG
2020-03-29 10:12:32 +02: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
Flyinghead
5894992f70
android: don't use storage for default buttons.png
2020-03-24 23:31:34 +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
aff2b9e1af
fix simple texture bleeding case when upscaling. Clean up
2020-03-11 17:55:13 +01:00
Flyinghead
03f096384b
generate mipmaps for custom textures when needed
2020-03-09 22:49:05 +01:00
Flyinghead
6bfde76514
vk: avoid calling List::head() in loops
2020-02-25 16:34:49 +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
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
b79c074444
axe wchar
2020-01-31 23:51:12 +01:00
Flyinghead
e017fba9c1
vulkan: fix scissoring when SSAA > x1 in widescreen mode
2020-01-30 20:08:30 +01: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
3b83a4e4d5
minor changes
2020-01-16 22:19:07 +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