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
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
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
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
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
60ec054b59
support for VQ compressed paletted textures
2019-07-12 15:34:10 +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
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
8404c6322c
New logging framework stolen from dolphin
2019-06-30 21:06:46 +02:00
Flyinghead
99778a7715
per-pixel renderer: RTT might need bigger buffers than screen
2019-06-27 22:41:16 +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
ad5ab6240b
refactor vram lock/unlock code into new vmem.cpp functions
2019-06-19 14:49:14 +02:00
Flyinghead
d55d803c16
gles2 build fix
2019-05-21 19:11:47 +02:00
Flyinghead
433590b610
rend: Add per-strip TR sort option
2019-05-21 11:24:03 +02: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
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
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
David Miller
3d1b82854e
Merge branch 'master' into fh/win32-winresize
2019-04-12 13:03:30 -04: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
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
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
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
8fb1d80751
gui: display VMUs on pause
2019-03-29 17:35:00 +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
c809c6c56f
Merge branch 'fh/mymaster' into fh/master-merge
2019-03-25 16:47:47 +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
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
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
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
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
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
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
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
2ef90152c9
GL: add #if in shader for trilinear filtering
2018-11-23 22:33:51 +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
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
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