Flyinghead
1abfa19636
set rendering resolution in discrete steps instead of scaling
2021-03-21 18:03:22 +01:00
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
scribam
d715836c40
clang-tidy: run modernize-use-override
2021-03-13 17:28:32 +01:00
flyinghead
0e20d5976b
vram texture locks race condition
2021-03-05 18:22:42 +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
7697d37ec6
lightgun crosshair support
2021-01-23 15:59:57 +01:00
flyinghead
f3b86f6c14
gl: TextureCache -> GlTextureCache
2021-01-15 10:14:24 +01:00
Flyinghead
a859effa04
build fix
2020-12-27 09:10:19 +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
7744e1a262
vk: use-after-free if inFlight texture is deleted or cache cleared
2020-11-24 18:01:09 +01:00
Flyinghead
47f262a2c6
vk: use normal pipeline for raw fb display
...
raw fb also needs to be rotated/scaled
oit: draw opaque polys on first frame
2020-11-19 22:29:06 +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
125c1ff37d
gles: use int for palette_index uniform to avoid precision issues
...
Issue #104
2020-07-31 12:16:10 +02:00
Flyinghead
a1dd76818e
macOS build fix
2020-07-08 18:27:42 +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
6ee4b6de85
Replace OS_DARWIN by __APPLE__
2020-04-26 14:19:21 +02:00
Flyinghead
17a2c3644f
ui: add loading screen with cancel button. don't freeze ui on load
2020-04-20 18:52:02 +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
Flyinghead
786c8e7744
get rid of libpng and use stb_image_write instead. OSX: static link SDL
2020-04-08 15:34:21 +02:00
scribam
769770ab81
Replace cMutex by std::mutex
2020-03-30 23:00:43 +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
9ce25a4e72
gl: crash when deleting null shader
2020-03-29 12:30:22 +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
scribam
3ccd8c624f
libpng: use the public api to retrieve io_ptr
2020-03-25 18:15:32 +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
aff2b9e1af
fix simple texture bleeding case when upscaling. Clean up
2020-03-11 17:55:13 +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
03f096384b
generate mipmaps for custom textures when needed
2020-03-09 22:49:05 +01:00
Flyinghead
99f04ec753
nuke softrend
2020-02-26 23:41:05 +01:00
Flyinghead
e2b3ef147d
custom tex: recreate gl/vk texture when loading custom tex. vk crash
2020-02-19 14:31:35 +01:00
Flyinghead
dd80114bf7
osx build fix
2020-02-07 17:01:42 +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
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
5f265d03fe
vulkan: use a chain of final color attachments
...
glcache: clear tex param cache
2019-12-03 21:29:37 +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
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
5d6ac0acbb
gl: const everything
2019-10-25 22:47:20 +02: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
06e1456d4f
vulkan: memory allocator
2019-10-12 13:48:41 +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
970d959772
gles: build fix
2019-10-09 22:49:29 +02:00
Flyinghead
38f50c1b5a
gles: refactor rtt vram writeback out of gles
2019-10-09 21:14:31 +02:00
Flyinghead
b82a97853f
vulkan: fog support
2019-10-06 17:02:17 +02:00
Flyinghead
27e9acaac6
rend: refactor ReadFramebuffer() out of gles
2019-10-05 16:06:07 +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
ae4f378747
Add fast-forward mode
...
Fix buttons.png not being created if not first run
2019-09-27 14:15:29 +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
90dbaa5edd
gui: disable stencil test
2019-09-25 20:25:01 +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
537c2a4ed6
pvr: reset face and offset colors when not set in poly param
...
Fixes black ice in NHL 2K2 and black players in NHL 2K
Clean up
Don't build soft renderer
2019-09-21 22:53:09 +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
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