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
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
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
b82a97853f
vulkan: fog support
2019-10-06 17:02:17 +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
ae4f378747
Add fast-forward mode
...
Fix buttons.png not being created if not first run
2019-09-27 14:15:29 +02:00
Flyinghead
8792c06adc
gl4: use same depth direction as gles. Round scale_y value.
2019-09-17 13:35:23 +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
scribam
49b7e0682b
Cleanup
2019-09-07 20:36:13 +02:00
scribam
bdf2029e99
Simplify libpng/zlib integration
2019-09-04 19:59:51 +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
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
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
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
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
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
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
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
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
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
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
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
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 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
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
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
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
Marcel Szewczyk
82bbe690b1
Stencil support for OpenGL added - requires OpenGL >= 3
2019-01-13 17:33:23 +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
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
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
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
9fe13e20e8
Clip high z vertices
...
Fixes Soul Calibur intro bogus triangles
2018-12-06 20:46:23 +01:00
Flyinghead
2ef90152c9
GL: add #if in shader for trilinear filtering
2018-11-23 22:33:51 +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