1180 Commits

Author SHA1 Message Date
Brad Parker
ab27b7c85f initial SIXEL video driver 2018-07-12 16:55:08 -04:00
Brandon Wright
c81aab345c Lock sizes of enum fields at 32 bits. 2018-07-11 16:37:37 -05:00
Stuart Carnie
01df2c5e88 fix(Metal): Check for nil drawable 2018-07-06 23:37:15 -07:00
Dwedit
838dcc8a5a Move Message loop call to right before video_driver_get_status call 2018-07-05 20:07:01 -05:00
twinaphex
c3d469dd8e Revert "Moved WIN32 message loop out of win32_check_window, and into just before the call to runloop_iterate"
This reverts commit 71086283691f0247459df827de41de472a4874a2.
2018-07-05 02:42:16 +02:00
Twinaphex
95500f5631
Merge pull request #6948 from stuartcarnie/sgc-metal
feat(Metal): Add support for overlays
2018-07-04 22:52:29 +02:00
Stuart Carnie
a19ea2ed07 feat(Metal): Add support for overlays 2018-07-04 13:12:40 -07:00
Dwedit
7108628369 Moved WIN32 message loop out of win32_check_window, and into just before the call to runloop_iterate 2018-07-04 14:20:38 -05:00
Twinaphex
63a071b85a
Merge pull request #6945 from Themaister/master
Vulkan: WSI stability fixes
2018-07-04 21:04:08 +02:00
Hans-Kristian Arntzen
52cb0fe375 Vulkan: Fix crash when we get two create_swapchain errors in a row. 2018-07-04 20:25:03 +02:00
Hans-Kristian Arntzen
f1d2dac213 Vulkan: Fix various stability issues with WSI.
Added an ifdef to trigger "hardening" which will return spurious errors
for critical WSI things like acquire next image, queue submit and
surface dimension queries.
2018-07-04 19:45:54 +02:00
Stuart Carnie
048aa16599 feat(Metal): Support vsync enable / disable 2018-07-04 09:50:09 -07:00
Stuart Carnie
844e5e15d0 fix(Metal): fix XRGBA rendering; no nil texture; undefined stuff bad 2018-07-04 08:50:46 -07:00
Stuart Carnie
30d2192338 fix(Metal): Fix release build crash for misaligned read 2018-07-04 00:16:14 -07:00
Stuart Carnie
44ca1062b0 formatting 2018-07-03 22:32:12 -07:00
Stuart Carnie
a0900ec433 feat(Metal): full xmb pipeline support
Menu TODOs:

* understand why ribbon does not look the same as GL
* add clear support to `MenuDisplay` for glui
2018-07-03 22:32:12 -07:00
Stuart Carnie
4a101734a1 More cleanup
* use single render command encoder for display for better performance
* Context handles all rendering and presentation
2018-07-03 22:32:12 -07:00
Stuart Carnie
1c5d94aca1 Improve performance; don't care about previous state ofcolor attachment
Color attachment is being completely overwritten.
2018-07-03 22:32:12 -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
Themaister
f2cae17021 Vulkan: Try to avoid creating swapchains redundantly.
Win32: Only make resize events when needed.
Do not create swapchain unless necessary.
Deal better with Windows WSI workarounds.
2018-07-01 16:21:09 +02:00
Themaister
c4ba8d26a0 Support multiple displays in VK_KHR_display. 2018-07-01 01:21:51 +02: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
Stuart Carnie
ee8d82dcfe add additional project files 2018-06-23 13:33:27 -07:00
Twinaphex
467aa30131 Cleanups 2018-06-21 07:26:05 +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
Hans-Kristian Arntzen
16c797f057 Vulkan: Fix two validation errors.
- Mipgen was only transitioning the first miplevel to GENERAL.
  Fix the image barrier helper function to transition all levels and
  layers.

- Validation layer was complaining that a VkSwapchainKHR was not
  properly destroyed. After recycling the swapchain, destroy the old
  one.
2018-06-06 23:23:32 +02:00
twinaphex
23b0444afe Update libretro-common 2018-05-28 17:30:56 +02:00
twinaphex
c7c1983c91 Update d3d9_set_pixel_shader 2018-05-18 20:43:12 +02:00
twinaphex
8fadef7082 Update d3d9_set_vertex_shader 2018-05-17 23:23:17 +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
e1368a9209 (Cg D3D9) Buildfix 2018-05-14 21:42:14 +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
2c5112f3ac Cleanups 2018-05-14 05:07:12 +02:00
twinaphex
c40c08375c (d3d9_common.h) Cleanups 2018-05-14 05:04:45 +02:00
twinaphex
cbe4c78979 (D3D8/D3D9) Cleanups 2018-05-14 04:55:33 +02:00
twinaphex
606d700bf2 No more D3D8/D3D9 header includes in d3d_common.c 2018-05-14 04:36:08 +02:00
twinaphex
8733a41e58 (d3d_common.c) Get rid of these header includes 2018-05-14 04:00:27 +02:00
twinaphex
6a9b39da3f Get rid of d3d.h and xdk_defines.h 2018-05-14 03:57:27 +02:00
twinaphex
d1c1e4e2aa Move D3D9_DECL_FVF_TEXCOORD to d3d9_common.h 2018-05-14 03:17:26 +02:00
twinaphex
2dae506e88 (MSVC2003) Buildfix 2018-05-14 01:11:47 +02:00
twinaphex
aea89bfde3 Cleanups 2018-05-14 00:37:03 +02:00
twinaphex
8a78b69689 Buildfix 2018-05-14 00:31:58 +02:00
Stuart Carnie
0a4ff225be Update Vulkan 2018-05-13 21:35:18 +02:00
twinaphex
85da5360d2 (D3D9) Update 2018-05-13 18:47:24 +02:00
twinaphex
34149e510e (D3D9) Cleanups 2018-05-13 18:36:17 +02:00
twinaphex
33d2c2d422 (D3D9) Cleanups 2018-05-13 18:33:16 +02:00