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
28d7227ba5
clang-tidy: run modernize-use-bool-literals
2021-03-13 17:28:32 +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
125c1ff37d
gles: use int for palette_index uniform to avoid precision issues
...
Issue #104
2020-07-31 12:16:10 +02:00
Flyinghead
7449230af8
handle some palette textures on the GPU
...
get rid of PixerPacker templates
no need for GLSL precision qualifier in GL4
2020-07-08 18:17:15 +02:00
Flyinghead
fec79624df
gl/gl4: simplify clipping. share code with vulkan
2020-05-11 16:11:31 +02:00
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
4bf6802855
Cleanup include headers
2020-03-29 14:26:21 +02:00
Flyinghead
54261b69c9
renderer: handle mipmap D-adjust param (convert to lod bias)
2020-03-18 18:51:34 +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
ff69efff48
ignore trilinear filtering if texture isn't mipmapped
...
fixes shenmue snowflakes color
2020-01-21 19:52:09 +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
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
5d6ac0acbb
gl: const everything
2019-10-25 22:47:20 +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
2a89874812
decouple imgui from gles renderer
2019-10-19 18:34:24 +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
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
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
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
8792c06adc
gl4: use same depth direction as gles. Round scale_y value.
2019-09-17 13:35:23 +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
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
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
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
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
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
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
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
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
125cccaa5a
gles: only use GLES3 functions on android
2019-04-04 08:10:32 +00: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
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
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
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
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
2ef90152c9
GL: add #if in shader for trilinear filtering
2018-11-23 22:33:51 +01:00
Flyinghead
0260b00c00
Less code dup
2018-10-04 12:32:26 +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
2a8591798f
Only clamp color if tsp.ColorClamp is set. Thanks p1pkin
2018-09-12 17:50:42 +02:00
Flyinghead
4a08856775
Render-to-texture upscaling must be accounted for when clipping
2018-09-05 15:07:30 +02:00
Flyinghead
239e178226
Simplify framebuffer drawing and fix OSD
2018-09-03 15:05:37 +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
Flyinghead
ba78184461
Fix per-polygon sort option
2018-08-20 15:51:55 +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
0e881254ef
Fix clipping when pixel_double is on.
...
Fixes 4 Wheel Thunder split screen issue.
2018-07-29 17:31:14 +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
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
Flyinghead
6871061ca0
Modifier Volumes: summing up with triangles is faster than using a quad.
2018-06-26 15:38:55 +02:00
Flyinghead
7c93727b5e
Improve modifier volume parsing and drawing logic.
...
Parse modifier volumes similarily to other polys (first, count, params).
Draw all triangles in one shot and use quad to sum up instead of
redrawing entire strip. Use OR operation for open volumes/quads
(Soulcalibur).
2018-06-26 14:45:58 +02:00
Flyinghead
08b8d30589
Implement clipping. Enabled by default.
2018-06-09 18:11:47 +02:00
Flyinghead
7640a35720
Draw modifier volumes only if enabled in settings (defaults to true)
2018-06-09 17:22:01 +02:00
Flyinghead
a345fcc4c7
Draw modifier volumes after punch-through so they can be shadowed as
...
well.
2018-05-23 14:31:11 +02:00
Flyinghead
2f9dcfabd8
Use FPU_SHAD_SCALE.scale_factor for shadow intensity instead of
...
hardcoded value.
2018-05-23 12:26:24 +02:00
Flyinghead
bccfb5b70c
Faster implementation for translucent polys depth pass. Disabled by
...
default. Auto-enabled for Cosmic Smash.
2018-05-22 15:47:02 +02:00
Flyinghead
9098fd5a22
Autosort poly: Write to the depth buffer in a second pass, and only if
...
multipass rendering.
2018-05-20 21:41:31 +02:00
Flyinghead
2d904372a9
Multipass issues: depth mask must be enabled for autosorted tr poly.
...
Depth buffer must NOT be cleared b/w passes, same for stencil I guess.
2018-05-20 14:16:43 +02:00
Flyinghead
c35aa4262c
Fix OpenGL errors with modvols and multipass
2018-05-19 18:51:30 +02:00
Flyinghead
c427997269
Enable modifier volumes. Fix for exclusion volumes. Prevent overflow of modifier triangles (JGR).
2018-05-19 10:13:00 +02:00
Flyinghead
d596f988c8
Revert 99bc20220e
2018-05-17 11:17:51 +02:00
Flyinghead
99bc20220e
Simplify clipping
2018-05-17 10:32:52 +02:00
Flyinghead
80c193b3de
Cache texture parameters. Fixed exclusion volume modifiers.
2018-05-16 19:34:45 +02:00
Flyinghead
d8165376be
GL cache fix
2018-05-15 16:09:50 +02:00
Flyinghead
de046c4620
Use OpenGL state cache. Allocate texture ids in bulk. Avoid modifier
...
volumes entirely when not needed.
2018-05-15 15:22:26 +02:00
Flyinghead
699c2986a5
WIP
2018-05-14 12:48:22 +02:00
Flyinghead
43c125c208
Better texture cache: avoid duplicate. Attempt to put the RTT texture in
...
the cache to avoid copy to/from vram.
2018-05-11 15:29:24 +02:00
Flyinghead
683cbbba3e
Multipass rendering
2018-05-10 21:28:20 +02:00
Flyinghead
2e4ec3a1ed
Added RTT support
2018-05-08 18:47:00 +02:00
Flyinghead
9f13ded502
Enable Modifier Volumes. Fix modtrig buffer overflow and stencil reset.
2018-05-04 18:18:04 +02:00
Flyinghead
cc88561d4a
Implemented clipping (Daytona USA menus)
2018-05-02 15:41:42 +02:00
Stefanos Kornilios Mitsis Poiitidis
2b1aaf061d
Isolate GLES, add DESKTOPGL option to core.mk
2014-10-22 14:39:07 +02:00
Stefanos Kornilios Mitsis Poiitidis
531863bca4
Fix rendering: GL3+ needs VAO, initialize screen_width/screen_height
...
*yay* it works now *dances*
2014-06-27 00:51:57 +03:00
Stefanos Kornilios Mitsis Poiitidis
ee2a1b7d20
Split CFLAGS/CXXFLAGS on core.mk, warning fixes
2014-05-12 20:53:43 +03:00
Stefanos Kornilios Mitsis Poiitidis
f1ef4877b8
Cleanup textures after they are dead for a while
2014-05-08 04:29:14 +03:00
Stefanos Kornilios Mitsis Poiitidis
411aade5e2
Improve async/mt rendering & sync logic.
...
Should fix texture staging issues for now, without degrading performance
Fixes #49 (mvsc2, sf3, etc sprites)
2014-05-02 03:45:31 +03:00
Stefanos Kornilios Mitsis Poiitidis
f5d29677b3
Merge branch 'androidui'
...
Conflicts:
core/hw/pvr/spg.cpp
core/hw/sh4/interpr/sh4_interpreter.cpp
reicast/android/src/com/reicast/emulator/MainActivity.java
2013-12-28 22:28:50 +01:00
Stefanos Kornilios Mitsis Poiitidis
7ef9de3cae
Moving code around, cleanups
2013-12-28 22:20:08 +01:00