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
7dbd79750c
WIP libretro core update
2021-07-05 19:44:08 +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
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
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
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
150cfa29e7
Merge remote-tracking branch 'origin/master' into fh/directx
2021-04-29 19:06:38 +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
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
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
f107d380b9
WIP directx9 renderer
2021-04-12 22:49:04 +02:00
Flyinghead
24d172bd51
gl: use async PBO to copy texture back to vram
2021-04-08 10:33:14 +02:00
Flyinghead
9e9aa5b4d9
gl: proper vao use. define palette uniforms only when needed
2021-03-28 20:08:02 +02:00
Flyinghead
1abfa19636
set rendering resolution in discrete steps instead of scaling
2021-03-21 18:03:22 +01:00
scribam
8542675488
clang-tidy: run bugprone-incorrect-roundings
2021-03-15 19:52:54 +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
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
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
a7a70f9900
gl: don't present a frame if no previous render
2020-12-16 17:25:33 +01:00
Flyinghead
bb5b5d4512
only switch vulkan/opengl when needed
2020-12-15 20:16:35 +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
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
Flyinghead
170ae3477c
gl4: reset scissor test before rendering a-buffers
...
Issue #116
2020-10-10 19:07:40 +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
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
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
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
Flyinghead
5894992f70
android: don't use storage for default buttons.png
2020-03-24 23:31:34 +01:00
Flyinghead
54261b69c9
renderer: handle mipmap D-adjust param (convert to lod bias)
2020-03-18 18:51:34 +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
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
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
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
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
554d8005fa
gl: #version must be on first line or Mali compiler complains
2019-11-26 11:08:35 +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
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
8202ac420b
pvr,rend: more refactoring out of gles. Change texture id to 64b
2019-10-04 13:33:08 +02:00
Flyinghead
943a50b9bc
gl4: translucent modifier volumes need inverted depth too
2019-09-23 19:37:01 +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
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
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
a9dbbccf93
Unprotect VRAM before switching system. Fix texture cache clean
2019-07-28 17:06:12 +02:00
Flyinghead
cb35c80ee7
gl4: still need to update the depth buffer for TRs
2019-07-10 22:23:26 +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
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
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
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
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
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 miller
cc9d5ec55b
CMake/Master working, tested on windows with Clang && MSC (x86,x64)
2019-04-12 16:59:39 -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
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
fe30fe1e8e
OIT: reset scaling before drawing final quad
...
Fixes Wacky Races and Nomad Soul
2019-03-18 22:21:21 +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
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
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
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
1802c022fd
UI with ImGui
2019-02-06 19:57:13 +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
eef297706c
Bogus triangles due to huge negative z
...
Per-pixel only
Fixes vathlete
2018-11-19 15:38:44 +01:00
Flyinghead
6177a5b33a
Clear texture cache on exit
2018-10-29 18:02:47 +01:00
Flyinghead
77fae1ef09
Backport changes from libretro
2018-10-05 15:07:30 +02:00
Flyinghead
8116072f7e
Refactor shader selection/compilation. Avoid using glcache for texture
...
in GL4 renderer.
2018-10-04 15:55:41 +02:00