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