twinaphex
4738ef545c
Change interval type to signed int
2018-09-12 00:08:13 +02:00
Themaister
a1989afba9
Vulkan: Fix race condition in threaded mailbox emulation.
2018-09-10 19:35:13 +02:00
Themaister
d338dac277
Only do mailbox emulation for fullscreen.
...
Too large impact on performance in Windowed mode.
2018-09-08 16:27:25 +02:00
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
157d1e7e63
Only use mailbox emulation on AMD.
2018-09-08 11:47:58 +02:00
Themaister
66c4f8fd35
Make sure to always clear out swapchain_fence_signalled.
2018-09-08 11:47:58 +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
Stuart Carnie
9d22aacaa7
refactor: Add vertex buffer struct to ShaderTypes and remove global
2018-09-02 17:53:18 -07:00
Stuart Carnie
eadc3f4a91
fix(Metal): Fix SIGFAULT if any attribute is 0
2018-09-01 16:13:23 -07:00
Stuart Carnie
802697fdec
fix(Metal): Use textures for pixel conversion
2018-09-01 11:58:37 -07:00
Stuart Carnie
577d81071e
fix(Metal): Cleanup shader logging messages
2018-09-01 11:58:37 -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
7250181319
Add some __WINRT__ ifdefs
2018-08-17 14:51:27 +02:00
twinaphex
4a54826d9b
Remove unused variable
2018-08-16 21:14:56 +02:00
twinaphex
a1d5b0fd03
Update MSVC 2012 solution
2018-08-16 20:49:31 +02:00
twinaphex
921e52e64f
Remove old leftover buggy Win32 driver
2018-08-16 00:05:09 +02:00
Wiktor Strzębała
45799ee034
Bring up touch support for wayland subsystem for sailfish os devices
...
Touch code cleanup
Make variabled static as suggest bparker06
C89 compilation error fix (at least for loops)
More C89 fixes
Signed-off-by: Wiktor Strzębała <wiktorek140@tlen.pl>
2018-08-09 20:49:27 +02:00
Stuart Carnie
0291c41afa
fix(Metal): Fix blank screen after full screen toggle; window focus
2018-07-14 11:18:21 -07:00
Dwedit
fa00eda625
Relocation of Win32 Message Loop Fix is now tied to whether threaded video is enabled or not
...
Menu bar is removed if threaded video is enabled, due to code currently being unsafe when using threaded video.
2018-07-13 22:34:03 -05:00
twinaphex
abc6eb7d8c
Revert "Re-revert this - causes issues with toggling fullscreen with threaded"
...
This reverts commit 52a55695ce
.
2018-07-14 00:22:52 +02:00
twinaphex
52a55695ce
Re-revert this - causes issues with toggling fullscreen with threaded
...
video mode and GL driver
2018-07-14 00:10:21 +02:00
twinaphex
38a35e53fd
Revert "Move Message loop call to right before video_driver_get_status
call"
...
This reverts commit 838dcc8a5a
.
2018-07-14 00:01:25 +02:00
Stuart Carnie
13a9aca88a
fix(Metal): Render search box correctly
2018-07-12 23:15:24 -07: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
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 7108628369
.
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
twinaphex
46f23f9fbd
Get rid of d3d_video_viewport
2018-05-13 18:24:19 +02:00
twinaphex
5bde17025a
Move min_filter_to_mag to gl_common.h
2018-05-13 14:24:49 +02:00
twinaphex
41295ef7b9
Remove viewport_info callback from D3D9 renderchain interface
2018-05-13 06:29:17 +02:00
twinaphex
27170674a5
(D3D9) Cleanups
2018-05-13 06:22:12 +02:00
twinaphex
dee50349ba
Rename d3d_renderchain_driver to d3d9_renderchain_driver
2018-05-13 06:03:26 +02:00
twinaphex
494ddb16d9
Get rid of viewport_info callback function - was the same for both
...
GL1 and GL2 renderchains
2018-05-13 05:56:44 +02:00
twinaphex
6996e72b49
Move renderchain driver interface to gl_common.h - and replace
...
some void pointers in function callbacks with gl_t
2018-05-13 05:53:35 +02:00
twinaphex
be502a39fd
Cleanups
2018-05-12 19:24:04 +02:00
twinaphex
58ac7c320e
(dxgi_common.c) Add more __WINRT__ ifdefs
2018-05-12 19:22:37 +02:00
twinaphex
542294900f
(WinRT) More compilation fixes
2018-05-12 19:03:39 +02:00
Dwedit
387d4d87eb
Fix core selection appearing unnecessarily
...
Re-order the dialog items in core selection dialog to make the listbox have focus
Removed the "do wm close" stuff.
2018-05-09 21:04:23 -05:00
Dwedit
f3f0d4f787
Unify File Open and File Drag Drop code
...
* Code in `win32_drag_query_file` was split off into `win32_load_content_from_gui`
* File Open dialog now uses the same code as drag drop instead of the non-working code that was in there before.
* File Dialog and Core Select Dialog show and hide mouse cursor if they were invoked in fullscreen mode
2018-05-09 21:04:23 -05:00
twinaphex
46f7742afc
Some early WinRT commits
2018-05-09 16:13:29 +02:00
twinaphex
82ebb9576f
Create d3d9_video_t and d3d8_video_t
2018-05-03 22:03:12 +02:00
Dwedit
81457d74d3
Use WINAPI
instead of __stdcall
, not sure what keywords I can use or not, so I'll just use the macro instead of the keyword
2018-05-02 22:09:20 -05:00
Dwedit
0d2f9b9b11
Fix __stdcall calling convention for Win32 32-bit builds
2018-05-02 21:59:07 -05:00
twinaphex
95278d39f7
Buildfix for MSVC 2003
2018-05-02 01:03:40 +02:00
twinaphex
33c1d55801
GetDisplayConfigBufferSizes and QueryDisplayConfig now go
...
through function pointers for backwards compatibility
2018-05-01 21:44:10 +02:00
Brad Parker
a1aefc901c
Qt WIMP GUI
2018-04-30 14:33:05 -04:00
twinaphex
714f7b7b13
Cleanups
2018-04-27 23:21:44 +02:00
twinaphex
72428a23c5
(shader_vulkan.cpp) Move some functions to vulkan_common.c
2018-04-24 07:07:58 +02:00
twinaphex
77d815a572
Get rid of warning
2018-04-23 17:48:31 +02:00
twinaphex
789ef63dee
(360) Don't bake in HAVE_XUI anymore; buildfixes for C++
2018-04-23 17:35:36 +02:00
twinaphex
fec8d3294c
Cleanup
2018-04-23 17:23:14 +02:00