Commit Graph

1366 Commits

Author SHA1 Message Date
twinaphex bde5a6dc19 Rename renderchain_driver_t to d3d_renderchain_driver_t 2017-09-05 04:21:40 +02:00
twinaphex 3eecbd7135 Fix d3d9_cg_renderchain.cpp 2017-09-05 03:27:00 +02:00
twinaphex 374b6115e1 Update HLSL backend 2017-09-05 03:21:58 +02:00
twinaphex c691bbaedc Start going through compilation errors 2017-09-05 00:57:58 +02:00
Brad Parker 35c4770c9b gdi: manually convert RGB444 to RGB555 to get around BI_BITFIELDS limitation on non-NT platforms 2017-09-01 20:52:58 -04:00
Brad Parker c7d7c5c909 gl: don't try to render a blank OSD message on every frame 2017-08-31 11:59:23 -04:00
Brad Parker 5e3531a5f2 win98: fix core video graphics corruption\nbitmapinfoheader size should never include masks, but this is undocumented 2017-08-30 00:48:02 -04:00
Brad Parker e3d68cd131 GDI: fix flickering of text 2017-08-22 23:39:42 -04:00
twinaphex 9c32d03c1e (Vulkan/Win32) C89_BUILD fixes 2017-08-12 17:56:30 +02:00
twinaphex c7615fdf00 Add RETRO_ENVIRONMENT_SET_HW_SHARED_CONTEXT 2017-08-07 18:06:03 +02:00
twinaphex ba36055632 (GX) Buildfix 2017-08-06 13:43:01 +02:00
twinaphex 169aea5ae1 (GX) Another buildfix 2017-08-06 05:54:46 +02:00
twinaphex 740ad823ab (GX) Buildfix 2017-08-06 05:52:40 +02:00
twinaphex 86f7972aa8 (Wii) Backport
0574b91595
- untested
2017-08-06 04:40:55 +02:00
Brad Parker b1904bcfa6 caca: enable OSD text drawing 2017-08-04 21:51:14 -04:00
Brad Parker c8e6a98651 gdi: enable OSD text drawing 2017-08-04 21:47:46 -04:00
twinaphex 9fe27117f2 Revert "(iOS) Take this out - see if it solves our issues"
This reverts commit 1cf6f2f20f.
2017-07-21 05:24:41 +01:00
twinaphex 1cf6f2f20f (iOS) Take this out - see if it solves our issues 2017-07-19 18:42:59 +01:00
twinaphex b11620e1eb Add retro_timers.h/retro_math.h 2017-06-28 04:41:38 +02:00
twinaphex 03ee897ae2 Try implementing core context version of XMB ribbon 2017-06-27 06:31:18 +02:00
ensrha 93ea78772d Add missing verbosity include 2017-06-19 14:38:26 +01:00
twinaphex c7ac70a923 Combine video_renderchain_driver.c and video_driver.c 2017-06-12 15:45:58 +02:00
Zoran Vuckovic 08b6fdb697 Add missing include directive 2017-06-12 14:13:08 +02:00
Daniel Jimenez 22fc07a839 Fix mirrored images in vertical games on 3DS (bug #4817)
On branch master
 Your branch is up-to-date with 'origin/master'.
 Changes to be committed:
	modified:   ctr_gfx.c
2017-06-11 18:12:37 -07:00
hizzlekizzle ba2cf008c6 update Cg menu ribbon for additive blending
Fixes solid white ribbon.
2017-05-30 20:13:58 -05:00
aliaspider 934f7c58ba (WiiU) enable networking. 2017-05-23 10:24:23 +01:00
aliaspider 801cc57e82 (WiiU) improve task scheduling. 2017-05-22 11:19:26 +01:00
aliaspider 634de19dc9 (WiiU) enable libretrodb. 2017-05-22 06:07:27 +01:00
aliaspider db490a69a3 (WiiU) add a menu display driver. enable MATERIALUI and XMB. 2017-05-22 01:45:40 +01:00
Jean-André Santoni 0b1716650b Use additive blending for the ribbon in GL and Vulkan 2017-05-22 01:29:56 +02:00
Jean-André Santoni 1bd07c34c7 Make the Vulkan ribbon consistant with the GL ribbon 2017-05-22 00:39:09 +02:00
aliaspider 8dee95651f (WiiU) add a font driver. 2017-05-21 03:05:41 +01:00
twinaphex b7b7c67ca3 Windows buildfix 2017-05-20 17:47:56 +02:00
twinaphex efce4d0abf Revert "Add cb_set_shader_coords"
This reverts commit 06df028722.
2017-05-19 21:21:40 +02:00
twinaphex 06df028722 Add cb_set_shader_coords 2017-05-19 21:13:44 +02:00
twinaphex d8f5065d64 Add cb_set_shader_mvp 2017-05-19 19:52:33 +02:00
twinaphex 64fdadf60f Use cb_shader_use 2017-05-19 19:42:34 +02:00
twinaphex 452c02653e Turn gl_set_shader_viewport into gl_set_shader_viewports 2017-05-19 19:39:46 +02:00
twinaphex a830051076 Update gx_gfx.c 2017-05-19 16:33:59 +02:00
twinaphex 2a54544eb3 Add cb_shader_use to video_frame_info 2017-05-19 14:24:19 +02:00
twinaphex 59b3344e72 Combine video_driver.c and video_shader_driver.c 2017-05-18 14:47:24 +02:00
twinaphex 4e04e95713 Buildfix 2017-05-18 04:03:49 +02:00
twinaphex 3f7a30a4b3 Start hooking up dummy callback functions to video_context_data
so that conditionals aren't necessary
2017-05-18 03:37:02 +02:00
twinaphex 941a5d4f94 Go through function callback for swap_buffers as well 2017-05-18 03:05:07 +02:00
twinaphex 86ee08b7a7 Add video context driver update window title callback
to video_frame_info_t
2017-05-18 02:53:12 +02:00
twinaphex 126a5bf121 Use string_is_equal_fast/string_is_not_equal_fast 2017-05-16 04:00:37 +02:00
aliaspider 36137d22e5 Vulkan: use the command buffer provided as parameter in
vulkan_copy_staging_to_dynamic.
2017-05-15 05:35:17 +01:00
twinaphex 80d9d1f143 Rewrite task_queue 2017-05-14 20:43:48 +02:00
twinaphex 17a15273ba Create function out of video_driver_is_focused - no longer
call video_driver_context_focus from video driver
2017-05-13 19:19:49 +02:00
twinaphex d4756f83e5 Stop calling video_driver_context_has_windowed from within video
drivers
2017-05-13 19:11:32 +02:00
twinaphex f6c8aba119 Move video_context_driver_update_window_title to video_driver_frame 2017-05-13 18:58:13 +02:00
twinaphex f928e57064 Combine video_context_driver.c and video_driver.c 2017-05-09 01:25:59 +02:00
twinaphex bac9973354 Cleanups 2017-05-09 00:58:01 +02:00
Andrew 858e15b837 Fix performance issue with max_swapchain_images
This fixes a performance problem introduced in my last commit when
max_swapchain_images == 3.

In my last commit I incorrectly stated the 3rd buffer was not being
used, after doing some additional testing I realized I was mistaken,
it can indeed be used due to the used page tracking.

Reverting that portion of my previous commit.
2017-05-05 16:58:17 -07:00
Andrew 01e25bd5c7 Fix max_swapchain_images and do some additional cleanup
When max_swapchain_images was originally added it worked properly,
but was subsequently broken by using the value to specify the number
of buffers allocated.

Due to how the dispmanx driver works, only 2 buffers are ever actually
used, so the 3rd buffer in the "swapchain" ended up doing nothing.

Fix this by restoring it to the original intent, that is, if
max_swapchain_images <= 2 wait for vsync after the flip (reducing
lag), otherwise wait at the last possible moment (increasing lag).

Additionally, fix up some unnecessary void* usage where type safety
could be maintained.
2017-05-04 18:45:59 -07:00
Andrew a1d094e64e Minor race fix and small cleanup to dispmanx_gfx
It's unlikely it was causing issues, but another race existed in the
dispmanx driver, it incremented the pending page count after sending the
update request.

If a context switch happened between sending the update and incrementing
the page count, the vsync callback would decrement it from 0 and cause
the uint to overflow.

Throw in a minor C89 fix and some whitespace fixups too.
2017-04-29 17:09:07 -07:00
twinaphex 4d419b2b56 (sdl_gfx.c) Update 2017-04-29 18:47:29 +02:00
twinaphex 60242e161a Buildfix 2017-04-29 18:45:58 +02:00
twinaphex dd83b4a043 (Vita) Buildfix 2017-04-29 17:52:16 +02:00
twinaphex e84adb504f Don't try to call video_driver_is_threaded from outside
gfx/video_driver.c - only exception right now - menu_display.c
2017-04-29 16:52:52 +02:00
twinaphex 91abbdd4f1 video_viewport_get_custom will never be NULL 2017-04-29 16:22:07 +02:00
twinaphex c8bf28842f Get rid of some calls to video_driver_viewport_get_custom 2017-04-29 16:11:31 +02:00
twinaphex 2322e77795 Add to video_frame_info 2017-04-29 16:07:02 +02:00
twinaphex 6930262ec2 Update/buildfixes 2017-04-29 12:44:45 +02:00
Francisco José García García afe173c883 [VITA] Really fix build 2017-04-29 12:02:26 +02:00
Twinaphex ccd4bdbd60 Merge pull request #4862 from andrewlxer/master
Fix dispmanx triple buffering race and re-enable triple buffering
2017-04-29 11:16:51 +02:00
Francisco José García García f7c56ddda3 [VITA] Fix build 2017-04-29 09:06:49 +02:00
Andrew 301a094ef9 Avoid potential dispmanx_gfx driver lockup
The dispmanx driver had a small race wherein if the vsync completed
between checking for a free page and waiting on the condvar, it would
hang forever waiting for a condition that would never fire.

I'm hoping this is what was causing the triple buffering lockups. In
my testing with it re-enabled and this fix, things are stable (and
much more performant than with triple buffering disabled).
2017-04-28 20:24:36 -07:00
Andrew 253c8cd997 Revert "DISPMANX: Disable triple buffering for now, for stability reasons."
This reverts commit 0b75671c21.
2017-04-28 20:20:43 -07:00
twinaphex 552845a94d Buildfixes 2017-04-29 02:39:32 +02:00
twinaphex 6d8789f4c1 (GX) Buildfix 2017-04-29 02:03:17 +02:00
twinaphex e6ab06a701 Move path variables 2017-04-29 00:39:29 +02:00
twinaphex f0c2d786ae Update arrays struct 2017-04-28 22:59:13 +02:00
twinaphex 87106b03c1 (3DS) Buildfix 2017-04-28 22:14:34 +02:00
twinaphex 05e4ec733e Move uint variables 2017-04-28 21:03:04 +02:00
twinaphex 4ef0809931 (GX) Another buildfix 2017-04-28 15:29:54 +02:00
twinaphex 684e83ef30 Updates 2017-04-28 15:19:39 +02:00
twinaphex 0da40fb3aa Move all float settings 2017-04-28 14:57:55 +02:00
twinaphex ed53be7c81 Move all bool settings 2017-04-28 14:11:34 +02:00
twinaphex cc095e56fc Start refactoring bool variables 2017-04-28 00:53:20 +02:00
twinaphex 2a13af52fc Revert "video_init function - video_info_t should not be const -"
This reverts commit c8bcbad4a7.
2017-04-24 12:25:14 +02:00
twinaphex e5b38315fe Revert "Add real_width and real_height to video_info struct - let"
This reverts commit 831ea1a507.
2017-04-24 12:25:07 +02:00
twinaphex 8a215ce30e Revert "Cut down on another video_driver_set_size call"
This reverts commit b951c84e01.
2017-04-24 12:24:55 +02:00
twinaphex b951c84e01 Cut down on another video_driver_set_size call 2017-04-24 12:23:09 +02:00
twinaphex 831ea1a507 Add real_width and real_height to video_info struct - let
the drivers set this depending on the video width/height they
get back from the video context driver
2017-04-24 12:18:28 +02:00
twinaphex c8bcbad4a7 video_init function - video_info_t should not be const -
try to set video_driver_width/video_driver_height outside
of video driver init function
2017-04-24 12:03:21 +02:00
twinaphex 5a3b78bad3 Get rid of more performance counters 2017-04-24 11:24:16 +02:00
twinaphex d06c963a19 Get rid of PERF_ENABLE blocks 2017-04-24 11:20:30 +02:00
twinaphex 365c7f9c8b (Video drivers) Cleanups 2017-04-24 10:08:32 +02:00
twinaphex 8efa2b146e Add this to d3d_alive 2017-04-24 09:44:15 +02:00
twinaphex 34852e159a Cut down on amount of times video_driver_build_info is called 2017-04-23 22:20:11 +02:00
twinaphex aea00f1e00 Use memcmp instead of string_is_equal for more instances 2017-04-23 12:17:51 +02:00
twinaphex 0f2a6f3dd2 Don't use performance counters in GL/Vulkan/video thread wrapper
unless PERF_ENABLE is defined
2017-04-23 11:31:11 +02:00
twinaphex a88284897b (D3D) Use C-style allocation for d3d->menu 2017-04-23 09:38:44 +02:00
twinaphex aa2c29ac8b (exynos_gfx.c) Use memcmp 2017-04-22 09:34:30 +02:00
twinaphex 6ebd4e139e Rewrite more string_is_equal call invocations as memcmp 2017-04-22 08:51:16 +02:00
twinaphex 5bfc513af4 Buildfixes 2017-04-19 02:03:01 +02:00
twinaphex 7790fc3647 MOve renderchain files to dir 2017-04-19 01:51:05 +02:00
twinaphex 32c91baca6 Move read_viewport and viewport_info to render_chain_gl_legacy.c 2017-04-19 01:25:34 +02:00
twinaphex 0c5a87b1d7 Create scaler_ctx_scale_direct 2017-04-16 11:03:29 +02:00
twinaphex 257410d058 Turn matrix_4x4_multiply into macro 2017-04-16 07:55:02 +02:00
twinaphex 32cebbbcba Turn more matrix_4x4 functions into macros 2017-04-16 04:00:20 +02:00
twinaphex fbd6d0ebc6 Turn more matrix 4x4 functions into macros 2017-04-16 03:53:07 +02:00
twinaphex 7f4b490fdb Prevent implicit memsets with struct video_viewport 2017-04-15 19:43:52 +02:00
twinaphex 55a0b7d1a9 Create default_ortho static variable 2017-03-25 10:22:57 +01:00
twinaphex 7d79e367f9 (GL) Prevent implicit memset; some other general cleanups 2017-03-25 10:18:24 +01:00
twinaphex d77c209c85 Cleanups 2017-03-25 10:13:18 +01:00
twinaphex a72cdb77ad Update logs 2017-03-24 01:33:22 +01:00
twinaphex 396857db9a Update logs 2017-03-24 01:28:58 +01:00
twinaphex 1b27c3dec1 Make some log messages more consistent 2017-03-24 00:28:21 +01:00
Twinaphex b7b3b2cb5f Try to prevent truckload of warnings on iOS 2017-02-26 10:33:03 +01:00
hunterk a1124b8ded (Vulkan) add bokeh menu shader for vulkan 2017-02-20 22:59:05 -06:00
twinaphex 0d873b6da1 (Vulkan) Add fancy snow for Vulkan 2017-02-20 21:51:58 +01:00
twinaphex 962149ef63 (Vulkan) Add pipeline_snow 2017-02-20 21:25:40 +01:00
Hans-Kristian Arntzen 2d88530c98 Vulkan: Simple snow pipeline works.
Some other fixes too.
2017-02-20 20:53:59 +01:00
aliaspider 461d6ed3e0 (WiiU) use the TV resolution instead of the gamepad resolution for
viewport settings. fixes #4655
2017-02-17 15:06:48 +01:00
vanfanel 0b75671c21 DISPMANX: Disable triple buffering for now, for stability reasons. 2017-02-12 19:27:59 +01:00
Nicolas Adenis-Lamarre 9993435cf9 sdl2 renderer: remove the random flashing black borders
on the batocera linux distribution (https://github.com/nadenislamarre/batocera.linux),
retroarch gives some flashing black borders sometimes when running a game.
It looks like sometimes the rendering is done without clearing the screen causing
this flashing effect.

Signed-off-by: Nicolas Adenis-Lamarre <nicolas.adenis.lamarre@gmail.com>
2017-02-08 22:31:26 +01:00
Brad Parker 373535f329 DOS: improve color accuracy and scaling, thanks to aliaspider 2017-02-08 00:17:12 -05:00
Brad Parker 0bdcdac2da DOS: scale menu frame to fit screen 2017-02-05 15:23:38 -05:00
Brad Parker 3dfe93b13f DOS: swap red/blue in rgui menu frame 2017-01-31 18:10:27 -05:00
Brad Parker 2661d5556b DOS: fix image scaling and colors for 16-bit core video 2017-01-30 13:51:41 -05:00
Brad Parker 343ac9fea7 DOS: scale 16-bit core video to fit screen 2017-01-29 00:48:22 -05:00
twinaphex 0d3703bc13 (Vita) Buildfix 2017-01-25 18:39:55 +01:00
twinaphex 0a7538f1b8 Create menu_display_get_fb_size 2017-01-25 18:32:16 +01:00
twinaphex 374fd57270 Remove the few performance counters that depend on runloop_ctl 2017-01-25 18:15:58 +01:00
twinaphex a9164b7124 Try to use performance counter plus functions in most cases 2017-01-25 17:12:43 +01:00
twinaphex 6661c0fb94 Rewrite performance counter stop/start/init into macros 2017-01-25 16:53:06 +01:00
twinaphex 3a4963b474 (vita2d_gfx.c) Cleanups 2017-01-24 14:08:28 +01:00
twinaphex 19d2649c61 Update psp1_gfx.c 2017-01-24 14:04:12 +01:00
twinaphex 93812f58ba We don't need the settings variable here 2017-01-24 14:02:09 +01:00
vanfanel ae3cdaccb9 DISPMANX: Add missing include and remove redundant one. 2017-01-24 13:58:55 +01:00
Twinaphex 7aaf193810 Merge pull request #4492 from aliaspider/master
(Wii) another fix devkitpro r29.
2017-01-24 01:26:06 +01:00
aliaspider 3a6e49311f (Wii) use C version of guMtxConcat (ps_guMtxConcat broken in devkitpro
r29).
2017-01-24 01:23:18 +01:00
Brad Parker 7c41903ecb GDI: fix color rendering of RGUI menu 2017-01-23 14:50:31 -05:00
aliaspider 021b510452 (WiiU) refactors/cleanups. 2017-01-23 16:14:05 +01:00
The Last Cabra 0e542037d8 Merge branch 'master' into master 2017-01-23 15:16:19 +01:00
twinaphex e0a560f60a Turn C++ comments into C comments 2017-01-23 01:37:19 +01:00
twinaphex a104c73738 Go back to this 2017-01-22 23:19:35 +01:00
twinaphex 8698525f86 Only show the frame when libretro_running is true 2017-01-22 21:42:42 +01:00
twinaphex 2f504b4057 (gfx/drivers) Get rid of remaining runloop.h / runloop_ctl
references inside gfx/drivers
2017-01-22 18:17:48 +01:00
twinaphex d4b7edff4a Cut down on menu_driver_ctl usage from within video drivers 2017-01-22 17:30:32 +01:00
Brad Parker 9d3c20929a DOS: vga palette looks ok now 2017-01-22 10:47:11 -05:00
Brad Parker 5c83e993ba DOS: use custom VGA color palette, rgui looks nice but still is not green 2017-01-22 10:47:11 -05:00
Brad Parker 89fc14d165 DOS: horizontal scale test 2017-01-22 10:47:11 -05:00
Brad Parker c4bfa6b0d2 DOS: initial VGA int13 graphics driver 2017-01-22 10:47:11 -05:00
twinaphex 96c8ca5a09 Header update #1 2017-01-22 13:40:32 +01:00
twinaphex 57f8c637bf Cut down on runloop_ctl calls inside gfx/drivers 2017-01-22 12:38:20 +01:00
Brad Parker 0290f4713c caca: fix font alignment 2017-01-21 15:39:35 -05:00
twinaphex b97b40af75 (vg.c) Buildfix 2017-01-21 18:54:13 +01:00