Commit Graph

281 Commits

Author SHA1 Message Date
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 b1defae3f7 vulkan renderer - WIP 2019-10-05 11:50:14 +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 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 bb89cb5c22 pvr: calculate emu speed over the last 2 frames in sync render
Games that do multiple renders per frame may hit a condition where one
of the renders is systematically dropped in synchronous render mode.
2019-09-25 21:08:39 +02:00
Flyinghead 9b063644c4 Per-game widescreen cheats
New option to make games render in 16/9 anamorphic format and stretch
screen to correct aspect ration.
2019-09-24 23:59:36 +02:00
Flyinghead f599891e08 pvr: face color and offset color should not be reset if not set
it's expected that polygons can reuse previous values for these colors
even for not immediately following polygons.
2019-09-22 20:00:09 +02:00
Flyinghead 55880b0dd4 537c2a4 broke rtt rendering 2019-09-22 18:20:43 +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 c408867ead pvr: reset tileclip value when resetting TA parser
fixes black players in NHL 2K with hle bios
2019-09-20 15:36:49 +02:00
Flyinghead 8194254fa1 pvr: restore TA ctx after rendering framebuffer
fixes Sakura Taisen 4 hang when starting game
2019-09-13 12:31:10 +02:00
Flyinghead 2bcc3c574b pvr: ignore data sent to TA if no prior list init
fixes Vigilante 8 freeze during FMV sequence
2019-09-12 15:07:57 +02:00
Flyinghead 25a2c52960 pvr: crash when CurrentPP is null 2019-09-11 23:21:14 +02:00
Flyinghead 8b949e1dca Get rid of time_sync timer. Clean-up 2019-09-11 15:09:23 +02:00
Flyinghead e1368f9713 reios: First polygon wasn't displayed in some cases 2019-09-11 14:08:54 +02:00
Flyinghead 0bd95cbba8 Delay Frame Swapping option to enable FB_R_SOF == FB_W_SOF detection 2019-09-09 14:58:53 +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 ee1ee56824 proper hard reset of sh4 mm registers
more clean up
2019-09-01 23:10:04 +02:00
Flyinghead 61f4cd4ecd Merge remote-tracking branch 'origin/master' into fh/hle-bios 2019-08-31 22:10:09 +02:00
Flyinghead 936cd6781b clean up 2019-08-31 17:36:34 +02:00
Flyinghead 2015d9a696 rename and clean up 2019-08-30 23:35:10 +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 cc8bab249f reios: serialize hle bios state. Fix save state compat with upstream and libretro 2019-08-19 18:19:27 +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 7ff225bfa0 PVR: detect direct FB writes in non-interlace. Fix packed 888 FB format 2019-08-09 12:03:09 +02:00
Flyinghead a9dbbccf93 Unprotect VRAM before switching system. Fix texture cache clean 2019-07-28 17:06:12 +02:00
Flyinghead e63d7d717e Fix Restart crash. Clear texture cache during reset 2019-07-13 10:59:20 +02:00
Flyinghead 14ddd01e39 compilation warnings 2019-07-12 17:53:17 +02:00
Flyinghead 58cb50f587 fix reset hang on naomi 2019-07-10 17:25:11 +02:00
Flyinghead cd0849a8f5 pvr: use new logging 2019-07-01 11:42:00 +02:00
Flyinghead 0a95a60ac6 less verbose logs. unbuffered stdout when test automation 2019-06-28 11:42:35 +02:00
Flyinghead 927298f353 naomi: fix coin chute (compiler bug?). Disable verify in TA parsing
Fix F1 World Grand Prix for Dreamcast
2019-06-25 19:10:20 +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 b226544d03 Merge remote-tracking branch 'origin/master' into fh/wince-dynarec 2019-06-21 14:37:32 +02:00
Flyinghead d1550357ce fix verify failed when switching to overview (app list) on android 2019-06-21 14:10:04 +02:00
Flyinghead 6ed098a929 wince: enable code block protection 2019-06-19 22:55:47 +02:00
Flyinghead becb0a5efe renderer: when a RTT frame is rendered, swap any pending frame first
Fixes Tony Hawks 1 & 2 black screen issue
2019-06-19 15:10:28 +02:00
Flyinghead ad5ab6240b refactor vram lock/unlock code into new vmem.cpp functions 2019-06-19 14:49:14 +02:00
Flyinghead 506756ea37 android: use common rend_thread() instead of a specific one
fixes the swap pending issue (double swap) on android
2019-05-25 18:48:00 +02:00
Flyinghead e3d95f2258 wince: unify _vmem and vmem32. Use 4GB virtual space on 64-bit arch
On 64-bit architectures, _vmem first tries to allocate 4GB then falls
back to 512 MB.
The same virtual space is now used by _vmem and vmem32 (mmu)
2019-05-23 11:40:33 +02:00
Flyinghead c2c0215e1b Merge remote-tracking branch 'origin/master' into fh/wince-dynarec 2019-05-22 14:13:00 +02:00
Flyinghead 37f379fe6b Better HBlank implementation 2019-05-21 18:27:15 +02:00
Flyinghead 74e7a95484 simplify test 2019-05-21 11:34:15 +02:00
Flyinghead 05f461c3c5 Use FB_R_SOF2 only to detect direct FB writes
Fixes flashing video in Virtua Fighter 3tb
2019-05-21 11:26:48 +02:00
Flyinghead 433590b610 rend: Add per-strip TR sort option 2019-05-21 11:24:03 +02:00
Flyinghead ac43a8c54e don't swap gl buffer until FB_R_SOF is set to the rendered framebuffer
Fixes flashing screens in South Park: Chef's Luv Shack, NFL Quarterback
Club 2000
Glitchy videos: The Next Tetris, Nightmare Creatures II, Rune Jade
Flashing rear-view mirror in Metropolis Street Racer
2019-05-17 17:13:48 +02:00
David Guillen Fandos 555b39b7e5 Merge remote-tracking branch 'origin/master' into vmemstuff2 2019-05-11 22:11:24 +02:00
David Guillen Fandos b74db6ef53 Moving vmem to separate files with a proper interface.
Works so far for Linux and Android, need to do some testing on Windows.
2019-05-11 22:09:52 +02:00
Flyinghead c5a74ccfb7 Fix Sort-DMA 2019-05-10 16:10:07 +02:00
Flyinghead eb725f9e66 x11: fix fallback to gl 3.0. fix crash when switching renderer.
Fallback to GL 3.1 when GL 4.3 isn't available was broken.
Fallback to GL 3.0 instead of 3.1.
Fix crash when switching renderer (per-pixel, per-triangle)
2019-05-10 11:15:44 +02:00
David Quintana ac9e6d147d Change speed-dependant limiting to rely on time dilation instead of frame rate. 2019-05-02 03:21:22 +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
Flyinghead c809c6c56f Merge branch 'fh/mymaster' into fh/master-merge 2019-03-25 16:47:47 +01:00
Flyinghead f454c79f08 TA: ISP_BACKGND_D has only 28 bits of precision
Calculate background depth accordingly
add extradepthscaling of 0.1 to wince games so the last four bits of
depth are significant
2019-03-20 16:31:12 +01:00
Flyinghead eb73c2fcf1 missing #include 2019-03-14 21:37:36 +01:00
Flyinghead e5b18cd8a0 wince: implement pref SQ to YUV converter and 32bit vram
implement incremental YUV conversion with pref SQ
implement access to 32bit VRAM with pref SQ
init YUV converter when TA_YUV_TEX_CTRL is set
set FIFO available space to 256 through SB_TFREM reg
fake FIFO status through SB_FFST reg
2019-03-14 21:35:33 +01:00
Flyinghead c2916e6f21 Wait between two frames when gui is open 2019-03-08 20:02:53 +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 492e771272 Content browser (WIP)
Get rid of the renderer thread. It is now the main/UI thread on all
platforms. The emulator runs in a separate thread.
Content browser displayed at startup.
2019-02-25 17:52:53 +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 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 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 5e65d2a19d Per-game configuration: create/delete from gui
Removed unused settings
Per-game setting can override any setting
Built-in per-game settings can be overriden
2019-02-16 14:25:54 +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 1fcfb6b10a Better fix for ImGui not showing on OSX
Enable vixl debug to track dsp crash
2019-02-09 15:12:35 +01:00
Flyinghead 7e4a271ce7 Fix ImGui on OSX 2019-02-08 10:22:53 +01:00
Flyinghead 1802c022fd UI with ImGui 2019-02-06 19:57:13 +01:00
Marcel Szewczyk 302bfcd582
Merge branch 'master' into mar753/render-to-texture-with-options 2018-12-30 18:26:31 +01:00
Flyinghead 031a40ec81 OSX: Fix crash when exiting. Add missing files to project 2018-12-29 17:42:08 +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 5763da184c Fix bug in WriteMemBlock_nommu_ptr when size is not word-aligned
Bump max opaque polygon to 8192 (alpilot)
Minor lr backport and clean up

Fix corruption in doa2[m] and alpilot
Fix missing sound in Jambo Safari
2018-12-12 12:40:04 +01:00
Flyinghead 5ac99d3ad5 pvr: gouraud affects drawing. don't die if render queue not empty after
waiting.
2018-12-11 23:14:14 +01:00
Flyinghead 864939da42 minor lr backport 2018-12-11 23:11:21 +01:00
Marcel Szewczyk 5f19eb7ae8 Rtt menu options are now handled by GLES 2018-11-11 22:01:18 +01:00
Flyinghead dc9780eb46 Android: fix black screen at boot on some devices 2018-10-29 20:03:47 +01:00
Flyinghead 3e9d8d8a07 Free TA contexts on exit 2018-10-29 20:02:12 +01:00
Flyinghead 6177a5b33a Clear texture cache on exit 2018-10-29 18:02:47 +01:00
Flyinghead 8a56710841 New save state format 2018-10-29 15:11:34 +01:00
Marcel Szewczyk f309a59fac Render to texture single pass implemented 2018-10-28 20:16:45 +01:00
Flyinghead cdb5cf662b Initialize PVR function pointer to non-null 2018-10-28 11:33:35 -04:00
Flyinghead 0cfd8f5494 Sprites face culling is reversed.
Fixes South Park Rally and Wacky Races invisible menus.
2018-10-28 09:43:48 -04:00
Flyinghead cfbd261c75 Initialize PVR function pointer to non-null 2018-10-26 18:17:30 +02:00
Flyinghead cab0bdbe42 Fix light gun y position in VGA mode 2018-10-12 17:19:03 +02:00
Flyinghead f24edb4df5 Don't die on ObjectList PVR list type
NAOMI Virtual On Oratorio
2018-10-12 17:18:21 +02:00
Flyinghead 27b710e589 ifdef's around renderer types 2018-10-04 20:01:14 +02:00
Flyinghead b47be37b32 Dynamic switching between GL3 - GL4 renderers 2018-10-04 19:44:52 +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 3f791d6f04 Merge OIT renderer into master 2018-10-04 10:29:23 +02:00
Flyinghead 41899230fb Some games send TA data without calling ListInit first. Don't crash in that case.
Fixes crashes in Looney Tunes Space Race, Test Drive Le Mans and others.
2018-10-02 10:25:15 +02:00
Flyinghead 601fafa1ad Light gun support 2018-10-01 20:34:35 +02:00
Ender's Games ee3a474ee4 Revert "Interrupt Hack setting w/ less stigma"
This reverts commits e5c0f0e, eebf3fc, 14fc7d9
2018-09-26 09:06:07 -04:00
Flyinghead e3bb0a09ab Detect TA overruns and cancel the rendering. Increase vertices, indices
and translucent polygons max count.

Fixes crashes in D2 and Triggerheart Exelica.
2018-09-26 09:42:43 +02:00
flyinghead c135ab0e90 Win32: fix msvc build. removed tick thread 2018-09-25 14:09:07 +02:00
Flyinghead 411baa6b8e OSX: Save states support. Build fixes. 2018-09-23 16:18:35 +02:00
Flyinghead de147549c3 Save states implementation 2018-09-20 19:48:46 +02:00