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
Flyinghead
f5a60ee5f1
New option to display VMUs in game
2019-04-08 15:54:37 +02:00
Flyinghead
47bb509f02
Add horizontal screen stretching option
...
fix scissor test when scaling/stretching
fix infiniloop when starting a game fails
2019-04-08 00:21:06 +02:00
Flyinghead
408d16b299
imgui: clear color buffer before drawing background tex
...
fixes blinking edges on nvidia shield and other glitches
2019-04-07 23:33:24 +02:00
Flyinghead
4b7e4f4677
custom textures: fix race conditions
2019-04-06 19:38:00 +02:00
Christoph "baka0815" Schwerdtfeger
16f9200bfa
AUDIO: Allow selection of backend
2019-04-05 22:22:46 +02:00
Flyinghead
d524e3381d
only update the fog texture if fog is enabled
2019-04-04 22:54:36 +02:00
Flyinghead
05df2f06e2
imgui: use glcache, don't save/restore state
...
gl4: backport shader map changes from gl renderer
2019-04-04 22:26:21 +02:00
Flyinghead
3a73938240
UI for fog disable option
2019-04-04 20:05:13 +02:00
Flyinghead
ec95c95b89
add option to disable fog effects
2019-04-04 19:26:15 +02:00
Flyinghead
994d52e012
gl: put shaders in a map and set uniforms once for all before each frame
2019-04-04 19:08:21 +02:00
Flyinghead
382279b12e
imgui: use glcache
2019-04-04 19:07:09 +02:00
Flyinghead
f83a06d9c0
glcache was always disabled
2019-04-04 19:06:46 +02:00
Flyinghead
125cccaa5a
gles: only use GLES3 functions on android
2019-04-04 08:10:32 +00:00
Flyinghead
eadf3047c0
gles: no runtime load of libGLESv2 on non-android platforms
2019-04-03 20:24:28 +00:00
flyinghead
7f0489ff28
visual studio compatibility
...
no modem support
no zip or 7z support so no naomi for now
hacked a .asm file as vs doesn't support inline assembly -> code dup
2019-03-30 19:26:05 +01:00
flyinghead
26f02e22da
Merge pull request #1531 from reicast/fh/smc-option
...
dynarec: add option to control smc code checks: faster, fast, full
2019-03-30 13:27:45 +01:00
flyinghead
c02a6969df
win32: add app icon and version resource
2019-03-30 12:32:37 +01:00
Stefanos Kornilios Mitsis Poiitidis
af6993a819
dynarec: Refactor smc-option a bit
2019-03-30 07:16:44 +01:00
Flyinghead
7f44bb9956
vmu: pass bus id and port to callback
2019-03-29 19:54:59 +01:00
Flyinghead
6438a402df
dynarec: add option to control smc code checks: none, fast, full
2019-03-29 19:23:37 +01:00
Flyinghead
8fb1d80751
gui: display VMUs on pause
2019-03-29 17:35:00 +01:00
Flyinghead
0a301a4758
android: use a single activity with simple layout
...
remove most of the android ui remains
NativeGLActivity is the unique activity
handle window focus in/out events
refresh folder list when access to external storage is granted
record audio permission request must not overlap with external storage
perm req
2019-03-27 21:09:53 +01:00
Flyinghead
1ef8caff88
include TCW in HD texture hash
...
Soul Calibur has textures sharing the same data but with different
formats
2019-03-26 21:14:39 +01:00
Flyinghead
a3f9764936
Add Boot Dreamcast BIOS option
...
Reload roms/flash when starting a new game
Better naomi reset (still have issues)
Fix error reporting with Naomi
2019-03-26 17:20:44 +01:00
Flyinghead
22b08bea74
maple: disconnect/reconnect maple devices when config changes
...
Wait 100ms between disconnect and reconnect to let game detect it
2019-03-25 18:46:57 +01:00
Flyinghead
c809c6c56f
Merge branch 'fh/mymaster' into fh/master-merge
2019-03-25 16:47:47 +01:00
Flyinghead
fe30fe1e8e
OIT: reset scaling before drawing final quad
...
Fixes Wacky Races and Nomad Soul
2019-03-18 22:21:21 +01:00
Flyinghead
69484e4ae8
start game passed as command line argument
2019-03-13 21:54:04 +01:00
Flyinghead
54e9dc8338
Do not scale clipping values with rtt-upscale if rendering to vram
...
Enable RTT-to-vram for Flag to Flag (rear view mirrors)
2019-03-08 20:06:17 +01:00
Flyinghead
45ed8cbc02
android: install buttons.png and reload it. Record audio permission.
...
install buttons.png when saving settings (home dir may have changed)
reload buttons.png if previous load failed when rendering
hide surface view when microphone is enabled to ask for permission
2019-03-05 23:50:52 +01:00
Flyinghead
91c7417c22
android: replace /mnt/media_rw by /storage for portable storage
2019-03-05 16:56:19 +01:00
Flyinghead
11416990de
Show home directory in settings and allow to change it (android only)
2019-03-05 12:45:11 +01:00
Flyinghead
ee0161e9c4
build fix
2019-03-05 03:15:11 +01:00
Flyinghead
ca58c323cd
Moved most android settings into the new gui
...
virtual gamepad editing and settings
home directory setup during onboarding
start content browser at app startup after getting permission
Use imgui osd to display error messages (msgboxf)
Added About tab in settings with version, git hash and Send logcat
button (android)
2019-03-05 00:54:01 +01:00
Flyinghead
71ea60cc36
android: use pseudo-root folder to list storage locations
...
still missing changes in java and android.cpp
2019-03-04 21:49:36 +01:00
Flyinghead
e0de4210ac
VJoy: decouple from emulator rendering. Use same code for gl and gl4
2019-03-02 14:20:05 +01:00
Flyinghead
41e4c805de
OSX: support new input system. Use existing emulator thread.
...
Added new OSD notification feature, combined with FPS counter, moved to
GUI
OSX: don't create and manage a new emulator thread but use existing one
OSX: keyboard and mouse use new input system
2019-02-27 23:02:25 +01:00
flyinghead
b1bb89909e
win32 fixes
...
use imgui id to allow multiple contents with same name
2019-02-25 19:15:59 +01:00
Flyinghead
492e771272
Content browser (WIP)
...
Get rid of the renderer thread. It is now the main/UI thread on all
platforms. The emulator runs in a separate thread.
Content browser displayed at startup.
2019-02-25 17:52:53 +01:00
flyinghead
94f346a1e0
win32: use new input system
2019-02-21 17:57:51 +01:00
Flyinghead
4ae11053ce
use smart pointers to avoid crash when a gamepad is disconnected
2019-02-21 14:49:27 +01:00
Flyinghead
8e4e2c67f2
evdev: use new input system. detect hot-plugged devices with udev
2019-02-21 12:46:00 +01:00
Flyinghead
26e43ed9bd
Fix scissor test when screen scaling is on
...
Use full screen for gui settings
2019-02-20 23:22:58 +01:00
Flyinghead
0f1630a1b7
Use proper VAOs for the per-pixel renderer
2019-02-20 19:22:24 +01:00
Flyinghead
c98b685872
android: old GLSurfaceView view/activity working again
...
EmuThread now a top-level class shared by both views
2019-02-20 16:59:50 +01:00
Flyinghead
f4da389665
android: use gl3w loader and EGL
2019-02-20 00:09:34 +01:00
Flyinghead
3a847bf4da
use GL_UNSIGNED_BYTE instead of GL_UNSIGNED_INT_8_8_8_8
2019-02-19 23:15:34 +01:00
flyinghead
9ac43772fd
win32 build fixes
2019-02-19 22:35:29 +01:00
Flyinghead
054b4662fd
getting rid of `#ifdef GLES` to use the same code for all envs
...
Added latest GL 4.6 header files
2019-02-19 21:40:21 +01:00
Flyinghead
1276a58d87
move imgui renderer into rend/gles. Fix gl4 term function
2019-02-19 17:43:25 +01:00
Flyinghead
a808a8f36f
dynamically bind GLES functions
...
Compile with GLES 3.2 headers but no library
split gl_term into generic and platform-/loader-specific stuff
allow full desktop GL context creation with EGL
2019-02-19 17:21:50 +01:00
Flyinghead
9526fada5e
Added RenderLastFrame() to Renderer interface
...
implement screen scaling for per-pixel renderer
fix output FBO not being freed/recreated when GL context is reset
refactor DrawQuad on per-pixel renderer
2019-02-19 11:36:59 +01:00
Flyinghead
810182c4fe
Scale down native resolution setting
2019-02-19 00:49:24 +01:00
Flyinghead
e2c839dde3
GLES: detect gl extensions and use packed depth/stencil buffer for RTT
2019-02-18 17:42:07 +01:00
Flyinghead
e426bc8058
android: call eglMakeCurrent() before rendering or deleting context
...
Flush texture cache and terminate gui before releasing the EGL context
2019-02-18 13:14:12 +01:00
Flyinghead
666205d2a1
Define gl_term for all platforms. Delete all textures on context close.
2019-02-18 09:35:27 +01:00
Flyinghead
5701227e55
build fix
2019-02-18 00:38:11 +01:00
Flyinghead
4c1acfeab1
android: native egl surface
...
fps counter using imgui
restart emulator with new game in same process
2019-02-18 00:25:06 +01:00
Flyinghead
dcbdf3a59d
set glClearStencil to 0 before clearing, just in case
...
fix printf format string
2019-02-16 14:30:08 +01:00
Flyinghead
5e65d2a19d
Per-game configuration: create/delete from gui
...
Removed unused settings
Per-game setting can override any setting
Built-in per-game settings can be overriden
2019-02-16 14:25:54 +01:00
Flyinghead
edba937b6f
Save last rendered frame if gl driver doesn't preserve the swap buffers
...
Fixes flashing screen with nvidia shield when no frame is rendered
2019-02-14 12:40:17 +01:00
Flyinghead
3320669bd4
android: use new input system
...
support for gamepads and mice on android
2019-02-13 20:29:49 +01:00
Flyinghead
e82b9c9b18
android: remove deprecated GL2GLINative activity
2019-02-12 17:57:11 +01:00
Flyinghead
85b428c2e1
SDL: gamepad hot-plugging
2019-02-12 15:56:44 +01:00
Flyinghead
8b5c2a3fac
New input handling/mapping system, SDL only for now. Gui wip
2019-02-12 11:30:24 +01:00
Marcel Szewczyk
d370fd6709
PR requested changes; Adreno 506 generalized to Adreno
2019-02-11 19:02:52 +01:00
Marcel
3b951c0232
Vertical scale factor support added - typo fix
2019-02-11 11:15:01 +01:00
Marcel Szewczyk
8d4188159e
Vertical scale factor support added - fixes Crazy Taxi pause menu background positioning
2019-02-10 11:51:14 +01:00
Marcel Szewczyk
7869a84f88
Additional fixes/cleanup
2019-02-10 01:10:51 +01:00
Flyinghead
66dc13b376
gui: help tooltips
2019-02-09 22:15:08 +01:00
Flyinghead
ee1caeb6c2
gui: improve layout and touch device ux
2019-02-09 21:20:03 +01:00
Marcel Szewczyk
8893f97435
Handle odd screen resolution (POCOPHONE fix)
2019-02-08 22:20:02 +01:00
Marcel Szewczyk
a65436cc6c
Handle dynamic resolution change during emulation (LRR mode)
2019-02-08 22:15:45 +01:00
flyinghead
3cdd39170d
win32: call os_DoEvents on the emu/main thread and other fixes
2019-02-07 19:20:10 +01:00
Flyinghead
82f156f143
Gamepad support to GUI. Wire evdev, SDL and windows
...
Allow dc_stop() to work even when the emu is paused
2019-02-07 16:59:24 +01:00
Flyinghead
598ea65c16
Android: use boolean prefs when possible. OSX build fix
...
Use jboolean instead of jint
Fix crash when navigating UI with popup keyboard's next button
Remove unused UI (PVR rendering)
OSX fixes
2019-02-06 22:28:04 +01:00
Flyinghead
1802c022fd
UI with ImGui
2019-02-06 19:57:13 +01:00
Flyinghead
78fd92f95a
No custom textures if no threads
2019-02-06 18:50:56 +01:00
Marcel Szewczyk
b26b12054b
Merge branch 'master' of https://github.com/reicast/reicast-emulator into mar753/render-to-texture-with-options
2019-02-06 17:39:12 +01:00
Flyinghead
2ff6d1b819
Fix render to texture buffer alpha channel for 1555
...
Saturate alpha when strictly greater than threshold, not >=
Don't put rendered texture in cache if rendering to texture buffer
(VRAM)
Fixes Skies of Arcadia start menu
Restore VRAM lock if null
2019-02-03 17:53:02 +01:00
Marcel Szewczyk
377fb6ace0
rend.ResolutionPercentage acceptable values are now from 1 to 100; naming fix
2019-01-25 16:43:46 +01:00
Marcel Szewczyk
aa3475738a
Revert "LRR: Support for OpenGL 2 added"
...
This reverts commit c33c0cade8
.
2019-01-20 11:05:53 +01:00
Marcel Szewczyk
88b9debc89
Revert "RTT: Support for OpenGL 2 added"
...
This reverts commit 86339c337d
.
2019-01-20 11:03:30 +01:00
Marcel Szewczyk
86339c337d
RTT: Support for OpenGL 2 added
2019-01-18 19:46:46 +01:00
Marcel Szewczyk
c33c0cade8
LRR: Support for OpenGL 2 added
2019-01-18 18:42:46 +01:00
Marcel Szewczyk
f0c4fe6fdc
Additional improvements/fixes
2019-01-18 18:39:48 +01:00
flyinghead
ed3f866835
win32 build fix
2019-01-16 17:42:36 +01:00
Marcel Szewczyk
77d997401b
RTT: Performance improved for DC RGB565 and ARGB4444 textures - glReadPixels() removed
2019-01-14 20:42:48 +01:00
Marcel Szewczyk
6499a82513
RTT: Additional small fixes
2019-01-14 19:32:56 +01:00
Marcel Szewczyk
a9affb8ac2
RTT: Stencil support for full OpenGL >= 3.0 added
2019-01-13 19:04:33 +01:00
Marcel Szewczyk
82bbe690b1
Stencil support for OpenGL added - requires OpenGL >= 3
2019-01-13 17:33:23 +01:00
Marcel Szewczyk
27360a1c41
Lgtm warnings fixed
2019-01-12 13:17:43 +01:00
Marcel Szewczyk
7e900a4e86
Merge branch 'master' of https://github.com/reicast/reicast-emulator into lowering_rendering_resolution_option
2019-01-09 00:01:03 +01:00
Marcel Szewczyk
e285d7f9ba
Additional improvements to lowering rendering resolution feature
2019-01-08 23:35:48 +01:00
Marcel Szewczyk
8571be39fd
Rendering resolution lowering (horizontal and vertical) is possible from the configuration menu
2019-01-07 23:55:43 +01:00
Marcel Szewczyk
2aadb3cdd4
RTT: Stencil support added (extension required)
2019-01-07 21:37:16 +01:00
Marcel Szewczyk
7e26a172f4
Changing screen resolution: Rendering quad created
2019-01-06 22:16:21 +01:00
Flyinghead
15fa475f8a
Move DumpTexture() to CustomTexture and other fixes
2019-01-02 09:33:19 +01:00
Flyinghead
ecb689051f
Custom textures fixes
2018-12-30 22:23:23 +01:00
Flyinghead
9a3dd1c2d1
build fix
2018-12-30 19:44:18 +01:00
Flyinghead
3f98c2ba3c
Don't delete a texture when async load is pending
2018-12-30 19:19:27 +01:00
Flyinghead
e7fee139e4
build fix
2018-12-30 18:50:24 +01:00
Flyinghead
dd280ee24d
Custom textures loading and dumping
2018-12-30 18:42:55 +01:00
Marcel Szewczyk
302bfcd582
Merge branch 'master' into mar753/render-to-texture-with-options
2018-12-30 18:26:31 +01:00
Marcel Szewczyk
7450c247d3
Minor formatting fixes
2018-12-30 12:17:39 +01:00
Marcel Szewczyk
127072ec8d
RTT: Fixed slow rendering of RGBA5551 framebuffer format on Adreno 506
2018-12-30 12:16:34 +01:00
Marcel Szewczyk
0761ee713e
RTT: glReadPixels() functions are now compatible with OpenGL ES 2.0
2018-12-30 12:13:45 +01:00
Marcel Szewczyk
e981dd14f8
Render to texture full multipass support added; RTT stride textures support added
2018-12-30 12:08:51 +01:00
Flyinghead
655d36a719
Convert vertex indices to u16 wih GLES2
...
GLES2 doesn't support 32-bit indexes so convert them to u16 when needed
2018-12-13 22:26:25 +01:00
Flyinghead
5664bfb9b6
pvr: use u32 for vertex indices to avoid overflow
...
Fixes alpilot glitches
2018-12-13 10:57:51 +01:00
Flyinghead
9fe13e20e8
Clip high z vertices
...
Fixes Soul Calibur intro bogus triangles
2018-12-06 20:46:23 +01:00
Flyinghead
93436c5ec1
Partially revert previous commit as it causes problems with RTT
2018-11-30 18:15:47 +01:00
Flyinghead
284dcf35a7
Add StrideSel to texture cache key as well
2018-11-30 18:06:32 +01:00
Flyinghead
63337d5178
Add ScanOrder to texture cache key
...
Fixes corrupted title screen in Grandia II
2018-11-30 17:56:57 +01:00
Flyinghead
7dc5fef352
Use xxhash for palette hashing
...
15 us -> 6 us
2018-11-30 15:24:04 +01:00
Flyinghead
2ef90152c9
GL: add #if in shader for trilinear filtering
2018-11-23 22:33:51 +01:00
Flyinghead
eef297706c
Bogus triangles due to huge negative z
...
Per-pixel only
Fixes vathlete
2018-11-19 15:38:44 +01:00
Marcel Szewczyk
4d39c10c91
Build fixes
2018-11-11 23:22:17 +01:00
Marcel Szewczyk
5f19eb7ae8
Rtt menu options are now handled by GLES
2018-11-11 22:01:18 +01:00
Marcel Szewczyk
4fd9de54ce
Added rtt menu options
2018-11-11 17:55:18 +01:00
Flyinghead
4bce2bbbbf
OSX wants GLSL 1.4 or later
2018-10-30 11:48:44 +01:00
Flyinghead
6177a5b33a
Clear texture cache on exit
2018-10-29 18:02:47 +01:00
Flyinghead
ffb72cd0b6
Texture-based fog table
2018-10-29 00:31:24 +01:00
Flyinghead
96157de639
Enable log2 depth at runtime when supported (GL, GLES 3)
...
Fix issues with pixel scaling and scissoring.
Wacky Races should not be playable.
2018-10-28 22:09:36 +01:00
Marcel Szewczyk
f309a59fac
Render to texture single pass implemented
2018-10-28 20:16:45 +01:00
Flyinghead
77fae1ef09
Backport changes from libretro
2018-10-05 15:07:30 +02:00
Flyinghead
124f920170
Backport GL 2.0 support from libretro core
2018-10-04 22:37:35 +02:00
Flyinghead
8116072f7e
Refactor shader selection/compilation. Avoid using glcache for texture
...
in GL4 renderer.
2018-10-04 15:55:41 +02:00
Flyinghead
7203681202
Less code dup
2018-10-04 14:49:20 +02:00
Flyinghead
3a929aeeb1
Terminate A-buffers cleanly. Call renderer Term() at shutdown.
...
Less code dup.
2018-10-04 14:04:15 +02:00
Flyinghead
b8ae998252
If GL4 renderer is not supported, fall back to default. Fix SDL GL init.
2018-10-04 13:37:45 +02:00
Flyinghead
0260b00c00
Less code dup
2018-10-04 12:32:26 +02:00
Flyinghead
1dfc9902b7
Share scale_x and scale_y between GL and GL4 renderers. Don't use
...
ShaderUniforms in OSD.
2018-10-04 12:03:00 +02:00
flyinghead
ef5e8593fa
GL4: Initialize atomic buffer correctly. Limit size of pixel buffer.
...
SetupMainVBO should be static
2018-10-04 10:58:33 +02:00
Flyinghead
3f791d6f04
Merge OIT renderer into master
2018-10-04 10:29:23 +02:00
Flyinghead
0627530e33
GL: avoid white lines on the screen sides due to rounding
2018-10-02 12:28:42 -04:00
Flyinghead
5d8d1bd107
GL: Partial redraws. OSD fixes
...
EGL: Request the surface to be preserved between two rendering
Clear the sides of the screen when not rendering widescreen.
Do not re-create GL resources multiple times (android)
2018-09-30 12:39:47 +02:00
Flyinghead
9de8379434
GL: clear gl framebuffer before drawing a direct FB write
2018-09-29 18:10:43 +02:00
Flyinghead
407a579bfc
GL: take pixel scaling into account for OSD buttons and text coords
...
Fixes OSD with Wacky Races and JoJo's Bizarre Adventure
2018-09-29 14:48:18 +02:00
Flyinghead
c49e6c17d0
gl: isinf() issues with GLES3. Use it with GL only
...
Fixes black screen in PSO and Sonic Adventure 2 on Android
2018-09-27 21:45:03 +02:00
Flyinghead
48225e7516
Don't serialize uneeded stuff. Fix windows build.
2018-09-20 22:00:03 +02:00
Flyinghead
f355dda6a4
savestates: build fixes
2018-09-20 20:06:54 +02:00
Flyinghead
7ce4fccb37
Merge remote-tracking branch 'origin/master' into fh/mymaster
2018-09-20 17:28:41 +02:00
Flyinghead
df61073c39
Clip textures that extend past the end of VRAM.
...
Only load the valid portion of it.
Fixes Shenmue Space Harrier mini-arcade game.
Disable verify on non-square twiddled textures for Quake 3.
2018-09-18 12:01:16 +02:00
Flyinghead
663b77cee6
Fix OpenGL compile error with VMWare WS14 driver
2018-09-17 13:02:07 +02:00
Flyinghead
2a8591798f
Only clamp color if tsp.ColorClamp is set. Thanks p1pkin
2018-09-12 17:50:42 +02:00
Flyinghead
e54ac36544
Texture cache optimization for frequent palette updates
...
Some old 2D games change palettes very frequently, which causes the
texture to be updated for each render.
This change uses a hash of the palette to detect changes, and include
the palette type in the cache key to distinguish textures of different
depth.
2018-09-06 12:11:55 +02:00
Flyinghead
4a08856775
Render-to-texture upscaling must be accounted for when clipping
2018-09-05 15:07:30 +02:00
Christoph "baka0815" Schwerdtfeger
d3de815a0a
Softrend: clean up if/else
2018-09-04 21:01:03 +02:00
Christoph "baka0815" Schwerdtfeger
f96e0f1e5d
Softrend: Error if no softrenderer backend found
2018-09-04 20:41:25 +02:00
Christoph "baka0815" Schwerdtfeger
981eb1b5ef
Softrend: works only with X11
...
If X11 support is not there, reicast doesn't compile because the softrenderer needs it.
Use #ifdef to do X11 only if SUPPORT_X11 is set.
2018-09-04 19:08:39 +02:00
Flyinghead
f202b3b143
Add new ExtraDepthScale setting to scale huge Z values.
...
Use 1e26 for Samurai Shodown 6 (NAOMI)
2018-09-04 18:37:59 +02:00
Flyinghead
239e178226
Simplify framebuffer drawing and fix OSD
2018-09-03 15:05:37 +02:00
Flyinghead
228b40136f
Only do color clamp when fog is on
2018-09-02 22:57:59 +02:00
Flyinghead
96e9bce0e0
(Fog) Color clamping support
2018-09-01 12:56:37 +02:00
Flyinghead
e59d7eaf3d
Direct framebuffer writes support
2018-08-26 16:58:10 +02:00
Ender's Games
75215ec0d1
Core: Address some obvious lgtm issues
2018-08-21 02:52:03 -04:00
Abandoned Cart
62837f4db0
Merge pull request #1235 from reicast/fh/alpha-pt-rounding-fix
...
Float math in alpha calculation causes some punch-through textures to…
2018-08-21 00:09:06 -04:00
Flyinghead
ba78184461
Fix per-polygon sort option
2018-08-20 15:51:55 +02:00
Ender's Games
8d9d40dffc
Core: Changes provided by Android NDK compiler
2018-08-19 01:54:15 -04:00
Flyinghead
ffb25a470d
Fix Wacky Races missing half screen
2018-08-17 18:33:24 +02:00
Flyinghead
f3bbb06d8c
GL: Missing float precision qualifier in Bump Map calc
2018-08-13 18:21:52 +02:00
Flyinghead
65a759b3fe
Merge branch 'fh/mymaster' of https://github.com/reicast/reicast-emulator into fh/mymaster
2018-08-07 09:45:10 +02:00
Flyinghead
c0c06ed8ff
Renderer: select shader at runtime based on the GL context version
...
The GL renderer now detects the version of the current GL context and
compiles the shaders accordingly. Supports GLES2, GLES3 and desktop GL.
Android: use 8,8,8 framebuffer instead of 5,6,5. Requests a 8-bit
stencil buffer (modifier volumes)
2018-08-07 09:44:52 +02:00
Flyinghead
7ff93f9256
OSX: disable OpenMP as it's not available. Time to deprecate Apple...
2018-08-04 19:10:53 +02:00
Flyinghead
fddf56c5a2
Fix TA overrun detection. Bump up verts to 2 MB, idx to 120K and TR
...
polys to 8K
2018-08-03 09:55:53 +02:00
Flyinghead
feaca43b25
Build fixes
2018-08-02 18:44:51 +02:00
Flyinghead
85781e96ec
Use OpenMP instead of ctpl for multithreading
2018-08-02 17:31:38 +02:00
Flyinghead
3a7a08f3fb
Do not clear the framebuffer before rendering. Fix scissoring coords.
...
The framebuffer is cleared by the background plane using global clipping
coordinates. This allows multiple rendering to different locations on
the framebuffer.
Fixes flashing menus in Vanishing Point, loading screens in Test Drive
Le Mans and Vigilante 8.
Better rear view mirror in Metropolis Street Racer.
2018-08-02 17:20:18 +02:00
Flyinghead
31d8c1f091
Backport texture upscaling with xBRZ
2018-08-01 19:43:01 +02:00
Flyinghead
1533091151
Clipping: do pixel scaling only when not rendering to a texture
2018-07-30 18:57:32 +02:00
Flyinghead
63a70e0f62
isinf not available in GLES 2
2018-07-29 19:24:14 +02:00
Flyinghead
0e881254ef
Fix clipping when pixel_double is on.
...
Fixes 4 Wheel Thunder split screen issue.
2018-07-29 17:31:14 +02:00
Flyinghead
b1686a8f6a
Do not allow inf z value in the vertex shader. Clamp w to a very small value.
...
Fixes ground triangles clipping in Soulcalibur intro sequence.
2018-07-24 16:55:48 +02:00
Flyinghead
07a36ee256
avoid named struct initializers
2018-07-24 11:22:56 +02:00
Flyinghead
2e08d7a6c9
round() not available in GLES2. Using floor() instead
2018-07-23 20:55:53 +02:00
Flyinghead
86235bb4a3
Float math in alpha calculation causes some punch-through textures to have alpha noise.
2018-07-23 15:15:05 +02:00
Flyinghead
4b5e863aa7
Use log2 depth scaling in fragment shader when available.
...
Currently a compile time option (!GLES). Fixes many depth issues (Dynamite Cop, Cannon Spike, etc.)
2018-07-23 10:25:55 +02:00
Flyinghead
09eab8cb03
Saturate alpha channel for YUV textures
2018-07-18 22:35:55 +02:00
Flyinghead
e637dcf8f9
reinstate line deleted by previous commit
2018-07-18 16:07:17 +02:00
Flyinghead
cc8569fcf8
Fix 8888 high-quality textures on GLES/arm
...
GLES doesn't support uint 8888 so bytes must be swapped on little endian
architecture.
2018-07-18 16:01:40 +02:00
Flyinghead
dc835dd64d
Dump shaders source if compile fails
2018-07-16 16:52:11 +02:00
Flyinghead
0284d635d2
Upscale rendered-to textures
...
Increase the size of RTT textures by a given integer factor. Defaults to
1.
This gives much better quality textures, particularly visible when used
fullscreen for transition or pause screens.
2018-07-16 16:28:48 +02:00
Flyinghead
bb2d860902
Use red channel for fog table in GL but continue using alpha channel in
...
GLES. Alpha channel is supported only in GL compat mode, not core.
2018-07-14 10:48:16 +02:00
Flyinghead
87f8c5194f
Better fix for texture cache key needing StrideSel
...
StrideSel and ScanOrder are no longer part of the texture cache key
since that breaks RTT texture matching. But they are updated at lookup
time so they will be used if the tex is updated later.
Fixes RTT-based xfade screens in Skies of Arcadia.
2018-07-11 22:08:10 +02:00
Flyinghead
d5d711cf32
Clipping scissor fix: x offset must only be added once
2018-07-11 20:06:43 +02:00
Flyinghead
1be4203ffe
Far plane is at depth 0 in classic renderer.
2018-07-09 23:25:18 +02:00
Flyinghead
c035635341
Clipping scissor Y coordinates must be inverted when rendering to screen
...
Fixes top of screen missing in San Francisco Rush 2049
2018-07-09 23:22:13 +02:00
Flyinghead
889f722e73
Fix PAL4 textures
2018-07-09 19:20:33 +02:00
Flyinghead
18b2d8273f
Improve paletted and YUV texture quality.
...
Paletted textures using a 32-bit palette and YUV textures are now
converted to 8888 format, which results in a lossless conversion.
Fixes background texture quality in Alone in the Dark.
2018-07-09 14:59:53 +02:00
Flyinghead
a89ff1e432
Ignore depth func for autosort TR polys.
...
This was a remain of the previous Always depth hack.
2018-07-07 08:46:29 +02:00
Flyinghead
e067534f26
When sorting translucent triangle, keep the third vertex in place.
...
In flat shading mode, the third vertex of a triangle defines its color
so we must maintain its index.
Fixes the remaining color polygons seen in Evolution - The World of
Sacred Device.
2018-07-06 20:02:43 +02:00
Flyinghead
a1997637bb
Trilinear filtering limited implementation.
...
Fixes lighter field areas in NFL 2K2
2018-07-03 20:36:13 +02:00
Flyinghead
3c4913a35a
Merge remote-tracking branch 'upstream/master'
2018-07-03 15:46:25 +02:00
Flyinghead
69263eddc0
Bump mapping support
2018-07-02 15:23:47 +02:00
Flyinghead
295395c680
Flat shading support
2018-07-01 20:25:06 +02:00
Flyinghead
3ddcc272bf
Fix autosort/presort mode selection. Per render pass sort mode.
...
The previous algorithm to determine the sort mode for TR polys was
faulty. And the sort mode can vary between passes for multipass
rendering. This also removes the need for the hack to support Always
depth mode with autosorted TR polys. Should fix the Resident Evil 3 menu
problem.
2018-06-30 12:33:11 +02:00
Flyinghead
7ecd384612
StrideSel is now part of the texture cache and must be set by RTT
2018-06-29 19:03:43 +02:00
Flyinghead
f18aa63a67
Add stride and scan order to texture cache key as they are used to update the texture
...
Fixes glitchy FMV title screen in Bomberman Online
2018-06-29 11:59:48 +02:00
Flyinghead
a94f01ee78
Force autosort TR triangles using depth func Always to be drawn on top of others
...
When autosorting triangles, ignore the depth of triangles using the depth func Always and force
them to be on top. Seems to help Psyvariar 2.
2018-06-28 13:21:40 +02:00