1748 Commits

Author SHA1 Message Date
Themaister
d39f66a738 Emulate mailbox by wrapping acquire in a thread.
Needed on nVidia Windows since they don't support timeout == 0 ...
2018-09-08 15:56:49 +02:00
Themaister
9ebac87638 Vulkan: Emulate mailbox on Windows. 2018-09-08 11:47:58 +02:00
Themaister
af534f0fa8 Vulkan maintenance fixes.
- Use VkBuffer instead of linear VkImage for staging uploads.
  Not guaranteed to be supported, and desktop IHVs recommend using
  buffers.

- Fix validation error where swapchain recreation with reuse of the old
  VkSwapchainKHR does not create a fence properly, leading to validation
  error next time that swapchain index is observed.
2018-09-08 11:47:58 +02:00
Stuart Carnie
99f497de85 feat(Metal): Add support for screen shots 2018-09-02 17:55:02 -07:00
orbea
260ce526c2 Fix segfaults when starting vulkan without a working vulkan driver.
RetroArch will crash in several places when running vulkan in an
environment that does not have working vulkan drivers.

This should guard against those crashes and allow RetroArch to fail
safely in those cases.
2018-08-24 19:36:03 -07:00
twinaphex
90efa02718 Fix more scan-build issues 2018-08-18 16:16:17 +02:00
twinaphex
646e64c28c Fix some clang scan-build warnings/errors 2018-08-18 15:56:44 +02:00
Brad Parker
e2ff7478ca don't return uninitialized data 2018-08-17 07:49:25 -04:00
twinaphex
a1d5b0fd03 Update MSVC 2012 solution 2018-08-16 20:49:31 +02:00
Brad Parker
12539f310d use strl functions 2018-08-16 13:51:44 -04:00
twinaphex
6266065384 Fix more code when compiling without menu support 2018-08-16 09:59:51 +02:00
twinaphex
921e52e64f Remove old leftover buggy Win32 driver 2018-08-16 00:05:09 +02:00
twinaphex
6a64e27e3d (D3D8) Add HAVE_MENU ifdefs 2018-08-14 11:41:43 +02:00
twinaphex
db9f4697f6 Add HAVE_MENU ifdefs 2018-08-14 11:40:42 +02:00
twinaphex
9c0ed0f2c4 Don't use core profile GLSL shaders for OpenGLES 2018-07-18 10:06:30 +02:00
twinaphex
0d39701145 Get rid of double void argument 2018-07-14 00:54:14 +02:00
Stuart Carnie
167ad3b57d fix(Metal): Various Metal fixes
* OSD message background
* clear glui background
* add Metal to configuration
* added optional config to compile Metal build without OpenGL
* fixed fill_pathname_join_delim; if out_path and dir are same, don't
  strlcpy, as the results are undefined.
2018-07-12 21:33:18 -07:00
Brad Parker
ab27b7c85f initial SIXEL video driver 2018-07-12 16:55:08 -04:00
twinaphex
6b5ade4ac3 Should be no more deprecated warnings with core context GL for menu
shaders
2018-07-12 22:03:37 +02:00
twinaphex
60d7d1c793 Add xmb ribbon simple core shader 2018-07-12 21:34:17 +02:00
Stuart Carnie
40a1446c95 feat(Metal): Reload shader preset when Metal driver reinitialized 2018-07-07 07:31:43 -07:00
Stuart Carnie
74e1f24e90 feat(Metal): Full screen support
* I believe there is a race condition where the viewport is not set
  correctly on launch
2018-07-06 23:38:34 -07:00
Stuart Carnie
a19ea2ed07 feat(Metal): Add support for overlays 2018-07-04 13:12:40 -07:00
Stuart Carnie
048aa16599 feat(Metal): Support vsync enable / disable 2018-07-04 09:50:09 -07:00
Stuart Carnie
5e1f991e32 feat(Metal): initial xmb and glui menu support
TODOs

* menu shader pipeline effects
* refactor / optimize graphics rendering
2018-07-03 22:32:12 -07:00
Stuart Carnie
367c15f488 feat(Metal): font rendering
* FPS and other OSD messages render correctly
* add autoreleasepool around entire render loop to avoid memory leaks
2018-06-23 23:54:23 -07:00
Stuart Carnie
eacd52f009 fix(Metal): improve shader stability
* use MTKView, which handles layer and scaling changes automatically
  between displays
2018-06-23 13:33:27 -07:00
twinaphex
0d8729daa6 FIx warning 2018-06-21 08:12:02 +02:00
Stuart Carnie
411bcf8bdd feat(apple): Metal support for macOS
* includes rgui
* shader support

This is a work-in-progress and there are some bugs and visual artifacts
still to be fixed.
2018-06-20 21:33:45 -07:00
misson20000
1404b63219 fix for tearing (depends on libtransistor commit cf5d0403 in v2.0.0, which is yet to be released) 2018-05-30 18:04:58 -07:00
Tatsuya79
e96463645d
Disable gl hard sync in menu 2018-05-17 17:24:10 +02:00
twinaphex
6d2b5c8052 Move read_viewport function back to d3d9.c 2018-05-17 17:17:08 +02:00
twinaphex
2d540264e8 Start hooking up set_shader_mvp function 2018-05-15 06:02:10 +02:00
twinaphex
39f45a17d2 create d3d9_convert_geometry 2018-05-14 21:32:14 +02:00
twinaphex
e9054159ec Remove set_font_rect callback 2018-05-14 16:57:34 +02:00
twinaphex
232d3f4d92 Take out add_state_tracker function callback for D3D9 renderchain 2018-05-14 06:33:51 +02:00
twinaphex
94955eb3b5 (D3D8) Do less casting 2018-05-14 05:14:26 +02:00
twinaphex
cbe4c78979 (D3D8/D3D9) Cleanups 2018-05-14 04:55:33 +02:00
twinaphex
6a9b39da3f Get rid of d3d.h and xdk_defines.h 2018-05-14 03:57:27 +02:00
twinaphex
8beed4c1ec (360) Buildfix 2018-05-14 01:50:58 +02:00
twinaphex
380fa6fd5e Updates 2018-05-13 18:51:05 +02:00
twinaphex
46f23f9fbd Get rid of d3d_video_viewport 2018-05-13 18:24:19 +02:00
twinaphex
c6cc2c930c Create d3d9_log_info 2018-05-13 18:01:09 +02:00
twinaphex
659d8a4ec6 (GL) Cleanups 2018-05-13 14:34:41 +02:00
twinaphex
5bde17025a Move min_filter_to_mag to gl_common.h 2018-05-13 14:24:49 +02:00
twinaphex
08820b5245 Cleanup gl_update_input_size 2018-05-13 06:43:24 +02:00
twinaphex
1f944afff7 (GL) Cleanups 2018-05-13 06:34:15 +02:00
twinaphex
999f1db694 Cleanup 2018-05-13 06:30:13 +02:00
twinaphex
41295ef7b9 Remove viewport_info callback from D3D9 renderchain interface 2018-05-13 06:29:17 +02:00
twinaphex
dee50349ba Rename d3d_renderchain_driver to d3d9_renderchain_driver 2018-05-13 06:03:26 +02:00