Commit Graph

678 Commits

Author SHA1 Message Date
twinaphex b0013dbd68 Cleanups 2018-01-31 22:49:19 +01:00
aliaspider 5bc78d3ad5 (D3D11) Implement slang shader specification using Spirv-Cross.
(incomplete)
2018-01-31 01:08:36 +01:00
twinaphex 4aca11693e video_shader_driver_reset_to_defaults - early return if current_shader
is NULL
2018-01-26 04:14:44 +01:00
Brad Parker f087b150c9 Add quick menu option to watch shader files for changes and recompile automatically (Linux only for now) 2018-01-25 15:50:57 -05:00
twinaphex c227ce5ed2 Correct typo 2018-01-24 22:16:06 +01:00
twinaphex e79c19e52a Ifdef this for HAVE_D3D12 2018-01-24 21:38:32 +01:00
aliaspider 30d5cd1a07 (D3D10/11/12) add viewport settings.
- move some common routines to video_driver.c
2018-01-24 15:00:32 +01:00
aliaspider a5bf9d8dc6 (D3D10/11/12)
.add a d3d10 driver.
.add more utility functions to d3d*_common files.
.add an image transfer/convert function to dxgi_common.
.various refactors / style nits.
2018-01-23 18:04:55 +01:00
twinaphex 673a190d84 Merge d3d8_renderchain into d3d8.c 2018-01-23 07:18:46 +01:00
twinaphex 4b6c4e5a6a BUildfix for D3D enum 2018-01-23 04:25:37 +01:00
twinaphex d3c2d90a2c BUildfix 2018-01-23 03:53:35 +01:00
twinaphex 7e56ecba4b Cleanups 2018-01-23 03:22:00 +01:00
twinaphex 6cb2159a50 Buildfix for D3D8 renderchain 2018-01-23 03:00:34 +01:00
twinaphex d28d14079a Create separate D3D8 and D3D9 drivers 2018-01-23 02:55:33 +01:00
aliaspider 094196220d (D3D11/D3D12) initial video driver implementation.
- some headers from the windows 10 sdk need to be added to the include
path when targeting mingw :
   d3d11.h
   d3d11sdklayers.h
   d3d12.h
   d3d12sdklayers.h
   d3d12shader.h
   d3dcommon.h
   d3dcompiler.h
2018-01-21 04:10:45 +01:00
twinaphex 11f26ed549 Refactor verbosity code - try to avoid log calls if verbosity is not
set
2018-01-17 06:28:26 +01:00
twinaphex a8445c3ec4 D3D8 buildfix 2018-01-03 20:23:34 +01:00
twinaphex e87cd7382e Silence warning 2018-01-02 06:41:52 +01:00
twinaphex cf3a010ead Remove some HAVE_MENU ifdefs 2017-12-31 17:42:07 +01:00
twinaphex 8c2070947e Prevent some warnings 2017-12-29 13:00:24 +01:00
misson20000 6d2a7b1f26 Nintendo Switch (libtransistor) port 2017-12-29 00:10:01 +01:00
radius a7f989fdb6 fix fullscreen toggle 2017-12-17 13:16:40 -05:00
gblues 6904101c44 Clean up trailing whitespace
== DETAILS

Really simple code cleanup, because my editor flags trailing whitespaces
and it's pretty annoying.
2017-12-12 00:24:18 -08:00
Brad Parker 247b9ea973 add menu setting for window opacity, includes generic display server interface 2017-12-11 18:12:42 -05:00
twinaphex 241df59771 Get rid of include 2017-12-04 11:20:18 +01:00
Alcaro 0e91822ad1
#5802 2017-11-27 17:11:43 +01:00
twinaphex 00d57af005 C89_BUILD fixes 2017-11-26 22:53:42 +01:00
orbea e10dd4d95e Silence -Wunused-function warning. 2017-11-21 13:29:46 -08:00
Rob Loach 5a990841dc
Fix priority and timing of FPS and Fast Forward messages 2017-11-18 11:05:38 -05:00
twinaphex bfd815985f Rename function callback 2017-11-16 12:02:25 +01:00
twinaphex 721b5f9529 Add set_mvp function callback 2017-11-15 16:51:29 +01:00
twinaphex a5076df751 Implement set_mvp/set_coords - remove GL code from video_driver.c 2017-11-15 14:24:16 +01:00
twinaphex 619acbb5aa Start implementing video_driver_set_mvp properly 2017-11-15 14:16:06 +01:00
twinaphex 2b1481d97f Refactor set_mvp code a bit 2017-11-15 14:09:41 +01:00
twinaphex b50a667335 Buildfixes for Win32 2017-11-14 21:45:11 +01:00
twinaphex 229841b1c4 Create video_driver_set_coords 2017-11-14 21:43:13 +01:00
twinaphex 41daddfe1c Create video_driver_set_mvp 2017-11-14 21:22:44 +01:00
twinaphex e560adcc9f Refactor this - get rid of set_coords_fallback 2017-11-13 12:27:45 +01:00
twinaphex ade80dbe76 Move gl_ff_matrix to gfx/video_driver.c 2017-11-13 12:15:28 +01:00
twinaphex 2aea191835 Cleanups 2017-11-13 11:34:40 +01:00
twinaphex 6b6d1ee986 Create cb_set_coords 2017-11-13 11:26:53 +01:00
twinaphex ec123ef6ca Get rid of most of the HAVE_FBO usage 2017-11-13 06:20:30 +01:00
twinaphex c1c9e1897c Expand conditional 2017-11-11 19:12:32 +01:00
twinaphex 9c6edaff30 Update renderchain driver for GL 2017-11-07 10:10:52 +01:00
twinaphex f681cb455c Prepare GL renderchains 2017-11-07 07:56:18 +01:00
Brad Parker fc856c76a8 fix race condition reading OSD message in video driver 2017-10-29 23:28:02 -04:00
Brad Parker ee7590868a add option to remove frame count from FPS display 2017-10-13 20:35:55 -04:00
rz5 677229d541 (video driver) Style nit 2017-10-12 19:59:20 +01:00
rz5 24c1ad72ce (video driver) If we can't set flag data, do it later
Currently, there is at least one instance where video_context_driver_set_flags() is called when current_video_context.set_flags is set to NULL (see #5538). To solve this, we create 2 new global variables - one to store flag data and the other to symbolize we deferred setting flag data.
This way, the next time we do get_flags(), we first check if we have anything stored first.

Should fix #5538
2017-10-12 17:38:07 +01:00
Twinaphex 59cabfe80f Merge pull request #5454 from rz5/master
Prevent crashes caused by loading shaders in incompatible contexts
2017-10-11 17:25:25 +02:00
Alcaro 8d274f4f43 let's not include unneeded headers. 2017-10-03 00:03:55 +02:00
Alcaro b97853a536 Rename STRING_REP_ULONG to STRING_REP_USIZE 2017-10-02 22:51:51 +02:00
twinaphex 721afe22d8 (MSVC 2010) Compile griffin.c as C 2017-10-02 22:06:32 +02:00
twinaphex e9a072c1ce uniquely name D3D function for initing renderchain 2017-09-20 14:53:40 +02:00
r5 4a9325d01d (shaders) Avoid certain shader types when context isn't compatible.
@bparker06 to the rescue.
2017-09-18 03:46:17 +01:00
twinaphex 06a33aada8 Cleanups 2017-09-09 04:22:38 +02:00
twinaphex 30bff1ffab Cleanups 2017-09-09 04:11:46 +02:00
twinaphex c0207e9b56 Revert "Reduce size of variables"
This reverts commit 79f1166c6e.
2017-09-09 00:20:39 +02:00
twinaphex 79f1166c6e Reduce size of variables 2017-09-08 23:44:10 +02:00
twinaphex 02ac92b91d Cleanups 2017-09-08 16:43:34 +02:00
twinaphex c3bb76a05e Try to reduce variable sizes 2017-09-08 05:58:48 +02:00
Brad Parker 0a1b3fedc0 VC6 support (targets NT 3.51) 2017-09-06 23:03:02 -04:00
twinaphex bde5a6dc19 Rename renderchain_driver_t to d3d_renderchain_driver_t 2017-09-05 04:21:40 +02:00
twinaphex e1c139dda6 Buildfix 2017-09-05 00:10:24 +02:00
twinaphex b46c4b4db5 Create d3d8_renderchain.cpp and d3d9_hlsl_renderchain.cpp 2017-09-05 00:00:17 +02:00
twinaphex ef79711837 (MaterialUI) Hook up framebuffer opacity 2017-08-15 22:43:09 +02:00
twinaphex 0ed4b97bbc Revert "Don't hide 'Resolution' setting behind compile-time ifdefs anymore"
This reverts commit 365cfd22ee.
2017-08-13 18:05:51 +02:00
twinaphex 365cfd22ee Don't hide 'Resolution' setting behind compile-time ifdefs anymore 2017-08-09 10:33:36 +02:00
twinaphex c7615fdf00 Add RETRO_ENVIRONMENT_SET_HW_SHARED_CONTEXT 2017-08-07 18:06:03 +02:00
twinaphex b11620e1eb Add retro_timers.h/retro_math.h 2017-06-28 04:41:38 +02:00
twinaphex e0cc113689 Try to fix this regression https://github.com/libretro/RetroArch/issues/5060 2017-06-18 18:50:46 +02:00
twinaphex 4850af8eac Revert "Try to set use_hw_ctx in advance for Android"
This reverts commit c010c5b258.
2017-06-18 17:09:27 +02:00
twinaphex c010c5b258 Try to set use_hw_ctx in advance for Android 2017-06-18 16:45:36 +02:00
twinaphex c7ac70a923 Combine video_renderchain_driver.c and video_driver.c 2017-06-12 15:45:58 +02:00
Jean-André Santoni 364440813f Merge pull request #5009 from psyke83/xmbtrans
xmb: enable menu transparency support when emulation is paused (v2)
2017-06-11 21:23:24 +02:00
twinaphex f6c2d97ed5 Don't do these constant checks 2017-06-07 03:41:36 +02:00
twinaphex ae98ea7210 Remove unused function 2017-06-06 03:49:21 +02:00
Conn f413b23f06 xmb: enable menu transparency support when emulation is paused (v2)
Allow xmb menu driver transparency when "Pause when menu activated" is enabled (default setting).
This is also the default behaviour of the rgui driver and is helpful for users to preview
video/shader changes on the fly.

Issues fixed:

gfx/video_driver: enable menu transparency only when game is loaded (as a loaded core can display
                  black or corrupt image)
gfx/video_driver: don't clobber cached frame during driver reinit if game was loaded
                  (fixes missing menu background/paused foreground on full screen toggle)
menu/drivers/xmb: ensure transparency is applied when game is loaded and no shader pipeline active.
menu/menu_driver: explicitly apply transparency only for existing textures (i.e. wallpapers), to
                  avoid background of cores with no content yet loaded mixing with wallpaper.
2017-06-02 02:55:59 +01:00
twinaphex 44b4a4e028 Revert "xmb: enable menu transparency support when emulation is paused"
This reverts commit 17d0037bd5.
2017-06-01 17:21:55 +02:00
Conn 17d0037bd5 xmb: enable menu transparency support when emulation is paused
Allow xmb menu driver transparency when "Pause when menu activated" is enabled (default setting).
This is also the default behaviour of the rgui driver and is helpful for users to preview
video/shader changes on the fly.

Issues fixed:

gfx/video_driver: enable menu transparency only when game is loaded (as a loaded core can display
                  black or corrupt image)
gfx/video_driver: don't clobber cached frame (fixes missing background on full screen toggle)
menu/drivers/xmb: ensure transparency is applied when game is loaded and no shader pipeline active.
menu/menu_driver: explicitly apply transparency only for existing textures (i.e. wallpapers), to
                  avoid background of cores with no content yet loaded mixing with wallpaper.
2017-05-31 23:45:16 +01:00
Twinaphex 1be1386161 Revert "xmb: allow transparency when emulation paused" 2017-06-01 00:27:44 +02:00
Conn 57503051ea xmb: allow transparency when emulation paused
Allow xmb menu driver transparency when "Pause when menu activated" is enabled (default setting).
This is also the default behaviour of the rgui driver and is helpful for users to preview
video/shader changes on the fly.
2017-05-29 23:49:40 +01:00
Arto Vainiolehto 766e4f5110 Fix scaling bug in video_driver_translate_coord_viewport()
- now scaled_x and height are correctly calculated, using viewports's width and height, respectively, as the scaling factor
-- previously the scaling factor was the screen's width/height, which meant that if screen and viewport had different bounds, scaled_x/scaled_y were incorrectly calculated
2017-05-30 00:00:56 +03:00
twinaphex a0924a414f Get rid of some unnecessary function callback wrapper functions 2017-05-21 09:30:32 +02:00
twinaphex b7b7c67ca3 Windows buildfix 2017-05-20 17:47:56 +02:00
twinaphex c0431b34c9 Turn some variables static 2017-05-20 14:31:07 +02:00
twinaphex 6fea8f14c5 Call video_driver_cb_has_focus directly 2017-05-20 14:11:50 +02:00
twinaphex bd424da015 Turn video_driver_data and current_video into static variables again 2017-05-20 14:09:24 +02:00
twinaphex 5bcacf9b49 Create video_driver_cb_has_focus 2017-05-20 12:02:24 +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 c5485152aa Do away with conditional inside build_info 2017-05-19 15:59:28 +02:00
twinaphex 2a54544eb3 Add cb_shader_use to video_frame_info 2017-05-19 14:24:19 +02:00
twinaphex 4144c8de35 Prevent coverity warning 2017-05-19 13:54:43 +02:00
twinaphex b0398c1482 C89 build fixes 2017-05-19 03:34:53 +02:00
twinaphex 89dddaf9f0 Cleanups 2017-05-19 01:19:38 +02:00
twinaphex 4d24153870 Turn into static function 2017-05-19 00:07:24 +02:00
twinaphex 59b3344e72 Combine video_driver.c and video_shader_driver.c 2017-05-18 14:47:24 +02:00
twinaphex 49bf9b62ae Cleanups 2017-05-18 09:46:04 +02:00