Commit Graph

1888 Commits

Author SHA1 Message Date
twinaphex e5ca68a518 Simplify video_driver_get_ptr 2021-03-21 17:33:44 +01:00
sonninnos 1e95683c06 (WINRAW) Key position fixes 2021-03-20 00:58:11 +02:00
twinaphex 4d8db1a091 Small cleanups 2021-02-20 10:05:41 +01:00
sonninnos f333cd0df8 Logging level adjustments 2021-02-18 19:28:08 +02:00
sonninnos 6c3c2bea5f Logging cleanups 2021-02-18 18:35:31 +02:00
sonninnos aad12cc663 (Windows) Mouse grabbing/clipping with alt-tab 2021-02-07 20:18:04 +02:00
sonninnos e39ade0f05 (WIN32) Cursor clipping for grabbed mouse 2021-02-02 14:15:58 +02:00
Autechre 7ea1d7d0da
Revert "Mac buildfixes (#11933)" (#11934)
This reverts commit 18a6880900.
2021-01-24 03:56:05 +01:00
Autechre 18a6880900
Mac buildfixes (#11933)
* (Metal/WindowListener) Fix duplicate symbol errors by
moving implementation of WindowListener to cocoa_common.m

* (Apple) Cleanup some conditionals

* (Cocoa) Cut down on OSX ifdefs in Cocoa-specific code
2021-01-24 03:53:10 +01:00
Autechre a49b02c44b
(Mac) Makefile changes for supporting Metal build (#11929)
* (QB) Add rule for Metal - define HAVE_COCOA_METAL for now
when building for Metal, and HAVE_COCOA for non-Metal build

* Make necessary changes to Makefile.common and qb/config.libs.sh:
- Disable OpenGL for now for Metal build
- Take Metal conditional out of OpenGL block in Makefile.common

* (Metal) Header fixes for compiling without Xcode/Griffin

* (Mac) Some buildfixes for non-Xcode building

* (cocoa_common.h) Restructure to no longer use -DOSX

* (Apple) More buildfixes

* (Apple) Cleanups
2021-01-22 22:20:38 +01:00
Autechre cff0a4e202
MSVC2003 buildfix - (#11915)
* MIIM_STRING and MIIM_FTYPE only available if WINVER is higher than
or equal to 0x0500
2021-01-21 03:07:46 +01:00
Autechre 39e84fd5b2
Refactor Win32 menubar code - (#11914)
* Get rid of camelCase notation
* Turn functions into static functions if not used outside
* Rewrite while (true) as for (;;)
* Some general cleanups
2021-01-21 02:59:30 +01:00
twinaphex 1e9f6f175e (OSX) Fix PowerPC build 2021-01-17 05:02:07 +01:00
OsirizX b96a0c495a [VITA] Add support for Vita GLES2 (PIGLET) 2021-01-06 19:14:30 +01:00
Autechre 9797ba9f27
Merge pull request #11743 from HyperspaceMadness/Shaders_Fix_Simple_Preset_Relative_Texture_Paths
Shaders Load Refactor and Fix Referenced Texture Loading
2020-12-31 16:13:20 +01:00
Dwedit 217b6d2f9d Restored missing comments and fixes 2020-12-28 16:45:33 -05:00
Dwedit 34a31f8a1c ui_win32_application.c: Add support for accelerators to main win32 message loop
rarch.rc: Add accelerators for Open (Ctrl+O) and Fullscreen (Alt+Enter)
ui_win32_resource.h: Add accelerator resource ID definition
win32_common.c: Load accelerators, Localize Win32 menu items to current language, and display shortcut keys
2020-12-28 16:39:39 -05:00
HyperspaceMadness 0c526b6498 Shaders Load Refactor and Fix Referenced Texture Loading
Partial update to work with shaders directly

More Edits

More changes

more shader fixes

More Fixes Compiling, reference load still wrong

Added Feedback & things are working

Logging Fixes

Log Fix

More Fixes

Added Feedback Logging

Fixes for file pathing in Linux

Fix GLCore and Crash in QT Saving

Code Cleanup

Removed Unused Function filepath.c

Code Cleanup
2020-12-26 21:09:27 -05:00
aliaspider 16f997172f (D3D12) allocate rt_view descriptors for feedback render targets too. 2020-12-20 08:08:04 +01:00
aliaspider bf2adda421 (D3D12) move D3D12SignalCommandQueue to d3d12_gfx_sync. 2020-12-20 07:13:11 +01:00
aliaspider 1681322ffc (D3D12) fix the D3D12GetCompletedValue function wrapper.
- a function wrapper shouldn't contain any NULL checks, and it should
return the original UINT64 value, not a boolean.
2020-12-20 07:08:33 +01:00
twinaphex 7d313647ae (D3D11) Add flip model support - fallback to blit model for OSes
where flip model is not supported (windows 7 and earlier). Will add
a menu option later allowing the user to switch inbetween the two
2020-12-17 14:39:58 +01:00
twinaphex d6a0bdaa30 (D3D12) Increase this to 2048 - avoids D3D12 crash on startup 2020-12-17 09:41:05 +01:00
twinaphex 2d588ca4ef Simplify vulkan_create_texture 2020-12-15 08:00:22 +01:00
twinaphex cdca5d0afc Turn vulkan_copy_staging_to_dynamic into macro 2020-12-15 07:20:33 +01:00
twinaphex d70420a12d vulkan_copy_staging_to_dynamic - put sync texture to GPU
outside of the function
2020-12-15 07:01:00 +01:00
aliaspider c6b77f6c62 (D3D11) get the hwrender texture format from the view desc
the format set in the texture desc isn't necessarily the same as the
view format.
2020-11-15 15:07:53 +01:00
aliaspider b3134fc05a (D3D11) fix slang shaders 2020-11-15 13:04:24 +01:00
aliaspider b7d3efc503 (D3D11) rename D3D11SetState to D3D11SetRasterizerState. 2020-11-14 04:29:44 +01:00
Tony Jansson f497608055 (WINRAW) Keyboard mods fix 2020-11-13 04:25:07 +02:00
Tony Jansson eca9c452d8 (DINPUT) Simultaneous shift sticky fix 2020-11-09 21:20:46 +02:00
twinaphex 44b7234756 Move cheat_manager and state_manager to root folder 2020-10-15 05:29:20 +02:00
Tony Jansson c2e8752395 (DINPUT+WINRAW) Keyboard fixes 2020-10-14 21:23:06 +03:00
twinaphex c01e8d52a5 Small cleanups to vulkan_create_texture 2020-10-12 01:53:21 +02:00
Connor McLaughlin 12382c057a (video/d3d11) Cache view left bound by hw renderers
Fixes garbage/black screen when menu is active.
2020-10-01 00:19:11 +10:00
twinaphex bc43db1789 Remove gfx_display_get_coords_array 2020-09-25 10:31:07 +02:00
Tony Jansson a0eee521e3 (Vulkan) Fix CPU usage when minimized 2020-09-23 04:17:30 +03:00
Tony Jansson bb1c853ecd (Vulkan) Reduce log spam 2020-09-23 02:00:03 +03:00
Ophidon 2f36c94f3f Variable BFI
BFI support added for 180hz / 240hz / etc. Solves issue with image retention from voltage issues at 120hz BFI. Also disabled BFI while in menu, as if set to an incorrect value for the current refresh rate, could cause severe flickering and difficulty reverting to the correct value.
2020-09-18 11:57:32 -04:00
twinaphex 4e594c6437 Move win32_window_init outside of ui_win32.c and to gfx/common/win32_common.c 2020-09-16 10:29:50 +02:00
Soar Qin 728c2b3af4 fix over-translating codes for window ClassName, as an additional fix to 3c6552b 2020-09-11 01:38:58 +08:00
Autechre 2d3c63f545
Merge pull request #11248 from justinweiss/update-libctru
[3DS] Update to libctru 2.0
2020-09-10 06:49:54 +02:00
twinaphex 197f6a7763 Struct reordering, alignment 2020-09-01 19:59:56 +02:00
twinaphex e810b0251a (GL) Cleanups 2020-09-01 19:54:41 +02:00
twinaphex 5f08605680 Refactor joypad drivers 2020-08-30 05:29:32 +02:00
twinaphex 8999d6e4a6 (DInput) Set a userdata struct for the window message loop properly -
get rid of input_get_data - we no longer need it
2020-08-29 03:41:33 +02:00
twinaphex d02d9573ab Silence unused variable warnings 2020-08-28 05:05:15 +02:00
twinaphex 4d1cfa9c41 Make the 'raw' versions the generic function for the message loop
callback - this way it's reused for SDL2 input driver too
2020-08-28 02:55:39 +02:00
twinaphex 32279c3a70 Split up wnd_proc_common_internal into two - one for dinput,
one for raw
2020-08-28 02:21:13 +02:00
twinaphex 73fc7c9873 Rename create_graphics_context to create_wgl_context 2020-08-28 01:29:23 +02:00
twinaphex d249f83c85 (Win32) Message loop - more cleanups 2020-08-28 01:20:54 +02:00
twinaphex 5f2e810879 Deduplicate code in WndProc function callback implementations 2020-08-28 00:38:15 +02:00
twinaphex 7b30d4eec2 Move macro up in the file 2020-08-27 12:13:21 +02:00
Justin Weiss 9ae2514009 [3DS] Update to libctru 2.0
Set USE_CTRULIB_2=1 to build with libctru 2.0. When unset, this code
is compatible with the older toolchain.

Some 2.0 changes addressed rare problems in earlier versions:

- Save / restore stack pointer for init / exit
  Otherwise, it could be outside of the range we deallocate.
- Run aptMainLoop in the audio driver to react correctly to sleep events

Other changes for 2.0:

- Remove ninjhax1 -- requires outdated APIs that have been removed
- Switch from __sync_arbiter to syncArbitrateAddress
- Use implicit gxCmdBuf
- Use gpuPresentBuffer for double buffering
2020-08-26 19:08:12 -07:00
twinaphex b4d26aca9c Turn vulkan_write_quad_vbo into macro 2020-08-27 02:29:32 +02:00
twinaphex 9672d9b12f Cleanup 2020-08-27 02:07:33 +02:00
twinaphex 6b3fcf79f0 (DXGI) Turn these into macros 2020-08-24 00:04:12 +02:00
twinaphex 54c31348ce Further simplify vulkan_write_quad_vbo 2020-08-19 06:06:30 +02:00
twinaphex 2f405c4088 Optimize vulkan_write_quad_vbo 2020-08-19 05:32:40 +02:00
twinaphex 6136035f2e Optimize vulkan_write_quad_vbo 2020-08-19 04:59:14 +02:00
twinaphex bbb4d12881 (vulkan_common.c) Optimize array access 2020-08-19 03:19:21 +02:00
twinaphex 4177ea4256 Update 2020-08-17 15:11:48 +02:00
twinaphex c81d06d0a1 Reorder structs, alignment 2020-08-17 15:09:19 +02:00
twinaphex f09df7c6e3 Reorder structs, alignment 2020-08-15 19:43:17 +02:00
twinaphex acfb7d0a23 Reorder structs, alignment 2020-08-14 23:13:05 +02:00
twinaphex 327d82cc1d Struct reordering/alignment 2020-08-14 22:21:05 +02:00
twinaphex bfc8a7beca Reorder structs/alignment 2020-08-14 21:45:41 +02:00
twinaphex dffa052958 Rearrange draw struct 2020-08-14 15:58:43 +02:00
twinaphex 379cc9ca4a Small cleanup to get_refresh_rate function 2020-08-04 03:12:51 +02:00
twinaphex 84d849f49b Optimize vulkan_acquire_next_image 2020-08-03 19:12:55 +02:00
twinaphex 72afa2f932 Cleanups 2020-08-03 16:33:54 +02:00
twinaphex 3653451c40 Cleanup 2020-08-03 15:51:07 +02:00
twinaphex fe59fdb39a Cleanups 2020-08-03 15:49:44 +02:00
twinaphex 332bcc7f9e Remove dxgi_update_title 2020-08-03 15:48:08 +02:00
twinaphex 89461eb6a5 Move vulkan gpu_list to struct data 2020-08-03 15:30:46 +02:00
twinaphex 2d10d9fd7a (D3D10) Move these static global variables to D3D10 struct 2020-08-03 12:39:46 +02:00
twinaphex db80281b0f (D3D11) Move static global variables to D3D11 state 2020-08-03 12:36:51 +02:00
Autechre 6c7143d02d
Merge pull request #10981 from yoshisuga/yoshisuga/ios-metal
iOS/tvOS Metal Renderer
2020-07-21 20:41:07 +02:00
twinaphex a5a3d64b18 (Vulkan) Cleanups 2020-07-20 06:31:15 +02:00
twinaphex 9ac9309991 Optimize call to vulkan_present 2020-07-20 04:45:12 +02:00
Yoshi Sugawara b83823f1f1 Add preprocessor flags for tvOS and other build settings; fix compiler errors when building for tvOS sdk 2020-07-19 11:42:19 -10:00
Yoshi Sugawara a2327be378 improved readability for references to the platform specific metal storage mode option; removed support for btstack since its not compiling and is less relevant for the iOS platform; removed commented out code 2020-07-19 07:48:07 -10:00
Yoshi Sugawara fd9ac64d55 Merge branch 'master' into yoshisuga/ios-metal 2020-07-19 00:33:54 -10:00
Yoshi Sugawara a19f1451cd removed debug logging statements; enable multi touch on metal view to support touchscreen controls; fixed setting the metal view drawable size based on the view bounds size in pixels 2020-07-19 00:11:15 -10:00
twinaphex 7c66f0adbc Simplify win32_check_window 2020-07-18 17:09:07 +02:00
twinaphex 04a0c55add Cleanups 2020-07-18 16:54:14 +02:00
twinaphex baa349f2ec Cleanup 2020-07-17 02:32:37 +02:00
twinaphex df73277ca8 (WGL) Bind different callback for Vulkan 2020-07-17 02:31:12 +02:00
Yoshi Sugawara 897aee0bcf add more logging, use autolayout constraints to pin metal view to superview to support orientation changes easier 2020-07-14 17:49:38 -10:00
twinaphex 88f742894d Move wayland header to input/common 2020-07-14 14:32:37 +02:00
twinaphex 0a492a49be (Vulkan) Fix regression 2020-07-13 15:22:27 +02:00
twinaphex 39d3dd4b3c Revert vulkan_framebuffer_generate_mips 2020-07-10 11:20:50 +02:00
Bernhard Schelling e0a9ded6a3 Fix invalid calls to dinput_handle_message when input driver is not set to dinput 2020-07-09 22:32:43 +09:00
twinaphex 77d630a0a5 (GDI) Only render framebuffer texture when menu is enabled 2020-07-09 09:40:13 +02:00
twinaphex f56b6a3a0f (GDI) Merge gdi_ctx.c into gdi_gfx.c 2020-07-09 09:25:10 +02:00
twinaphex e10f4eed8d (Vulkan) Cleanups 2020-07-09 03:48:42 +02:00
twinaphex e48ffd14cd Cleanups 2020-07-09 00:24:09 +02:00
twinaphex b94a3928e4 (MSVC) Buildfix 2020-07-07 21:04:45 +02:00
Yoshi Sugawara 6308ba1acb support ApplePlatform for iOS and conform app delegate class to it, move app delegate class to apple_platform.h, fix metal references for iOS 2020-07-07 05:03:42 -10:00
twinaphex 00518d3470 Add TODO/FIXME notes 2020-07-07 03:02:55 +02:00
Connor McLaughlin 7b7cffd545 (Vulkan) Fix incorrect structure type in vulkan_create_buffer 2020-07-05 22:36:58 +10:00
twinaphex 85d3a3723e (Vulkan) VULKAN_TRANSFER_IMAGE_OWNERSHIP - reuse existing macro 2020-07-03 18:05:40 +02:00
twinaphex 09180e64b5 Start unifying more macros 2020-07-03 18:00:40 +02:00
twinaphex a7a74a1d92 Cleanup 2020-07-03 17:51:07 +02:00
twinaphex 276e86a403 (Vulkan) Turn some of these functions into macros 2020-07-03 17:48:46 +02:00
twinaphex 25f682249f (Vulkan) Turn vulkan_image_layout_transition into macro 2020-07-03 08:45:53 +02:00
twinaphex 7a22eb1f44 Turn vulkan_image_layout_transition_levels into macro 2020-07-03 08:32:33 +02:00
twinaphex 108dc26c86 (MSVC 2010) Buildfix 2020-07-03 08:04:15 +02:00
twinaphex d9b4b44091 (Winraw) Cleanups 2020-07-02 07:07:42 +02:00
twinaphex 87b9c2a367 Add HAVE_REWIND switch 2020-07-01 21:04:05 +02:00
twinaphex 570f6ffb87 vulkan_copy_staging_to_dynamic - avoid memset 2020-06-29 00:14:50 +02:00
twinaphex 26969dd4e1 (Vulkan) Avoid callocs and memsets 2020-06-28 23:56:33 +02:00
twinaphex c600fbc6ff Cleanups 2020-06-28 21:33:07 +02:00
twinaphex bc73a815b7 Prevent memsets for vk->tracker 2020-06-28 19:18:48 +02:00
twinaphex 9e65ab63fe (vulkan_common) Prevent memsets and implicit memsets 2020-06-28 18:45:46 +02:00
twinaphex 9684bde88a Cleanup vulkan_create_texture 2020-06-28 18:25:17 +02:00
twinaphex 776e95d4e1 (vulkan_common.c) Cleanups 2020-06-27 18:28:33 +02:00
twinaphex 72d1a313ae (vulkan_common.c) Cleanups 2020-06-27 18:17:33 +02:00
twinaphex d8cf551608 Silence 'suggest braces around initialization of subobject' warning 2020-06-11 17:38:11 +02:00
Themaister f089e1ccf5 Vulkan: Do not emulate mailbox on Android. 2020-06-09 00:24:29 +02:00
Themaister cd4f22c275 Vulkan: Add path which uses WSI acquire semaphores.
Fence wait path has some issues on certain platforms. For now, gate this
on whether the GPU is integrated or not.
2020-06-09 00:24:29 +02:00
Themaister 15df55d011 Vulkan: Refactor swapchain index and frame index.
Do not tie these concepts together, it will not work for upcoming
refactor of swapchain logic.
2020-06-09 00:24:29 +02:00
Themaister 6f68571805 Vulkan: Use VK_LAYER_KHRONOS_validation in VULKAN_DEBUG=1.
LUNARG_standard_validation was deprecated and removed ages ago.
2020-06-09 00:24:28 +02:00
twinaphex fc491e9ea4 Add more environ logs 2020-06-08 17:32:36 +02:00
twinaphex 2660182d52 Get rid of gfx_widgets_ready call inside
gfx_widgets_frame
2020-06-08 05:45:15 +02:00
twinaphex 573eddb5a4 (Metal) Always run this regardless 2020-06-08 03:28:32 +02:00
twinaphex be76958070 Unneeded gdi_has_menu_frame 2020-06-07 02:56:56 +02:00
twinaphex b42897d0b6 (GDI) Weird code - clean this up 2020-06-07 02:55:51 +02:00
Guo Yunhe e9916df9d0 Change keys to upper case 2020-06-02 10:28:00 +03:00
Rinnegatamante 14a6c42e0d [VITA] Using a global to prevent erroneous vitaGL re-initializations. 2020-06-01 11:12:16 +02:00
twinaphex bc226305d7 (x11_common.c) Cleanup 2020-05-24 19:38:41 +02:00
twinaphex ad1aa59ce1 Cleanup != NULL comparisons 2020-05-19 21:15:06 +02:00
twinaphex 9ace693ec0 Refactor menu_driver_frame 2020-05-19 16:20:43 +02:00
twinaphex bde18ba86a Style nits 2020-05-12 14:36:27 +02:00
Olivier PARRA 5813228c6c [FIXES]GPU capture on Metal/OSX/NVidia
[FIX]RetroArch CRASH on Metal internal assert
_validateGetBytes:39: failed assertion `texture must not be a
framebufferOnly texture.' GPU Capture were done on a
framebufferOnly texture. Fix it by setting framebufferOnly
CAMetalLayer property to NO. Subsequent MTLTexture inherits from
this property.

[FIX]Capture black frames. Resulting PNG screenshots were black.
Since GPU texture where not sync with CPU,
getBytes:bytesPerRow:fromRegion:mipmapLevel: behavior is undefined
Fix it by adding synchronizeResource command to blitCommandEncoder
In order to keep performances, syncing is done ONLY when a GPU
Capture is requested.

[FIX]Corrupted image due to incorrect viewport copy
Modify code in charge of copying MTLTexture bytes to 24bits PNG
buffer.
2020-04-02 23:01:48 +02:00
twinaphex 7986561598 Rename menu widgets to display widgets 2020-03-13 03:58:33 +01:00
twinaphex 7f8c13ae09 (GDI/Win32) Refactor code - handle doubleclick press on title bar
inside DInput driver
2020-03-13 02:20:31 +01:00
twinaphex 30e8ec6543 (win32_common.c) Put g_win32_resized into struct 2020-03-13 00:15:51 +01:00
twinaphex c796f3268b (win32_common.c) Cleanups 2020-03-13 00:11:21 +01:00
twinaphex b4da4940eb Revert "(Win32) Move global state to struct"
This reverts commit dfa1288988.
2020-03-12 22:10:24 +01:00
twinaphex 26bb0105c0 (Vita) Buildfix 2020-03-12 20:54:38 +01:00
twinaphex dfa1288988 (Win32) Move global state to struct 2020-03-12 17:47:49 +01:00
jdgleaver 086c68bca7 Enable widget persistence across drivers_init()/driver_uninit() events 2020-03-11 11:47:13 +00:00
twinaphex abcfe03059 (Metal) Simplification 2020-03-10 19:03:34 +01:00
Twinaphex d81e756fa7 (Metal) Buildfix 2020-03-10 03:37:48 +01:00
twinaphex f4c5036c3c Get rid of video_frame_info dep for fonts 2020-03-10 03:24:59 +01:00
Twinaphex 783f16b198 Updates 2020-03-10 02:48:01 +01:00
twinaphex a395bf9355 (Drivers font) Start getting rid of video_frame_info dependency 2020-03-09 21:56:03 +01:00
twinaphex c16568cf32 (gfx drivers display) No more video_frame_info dependency 2020-03-08 22:06:08 +01:00
twinaphex 874510152e (drivers_display) Get rid of video_frame_info argument for
get_default_mvp
2020-03-08 19:59:03 +01:00
twinaphex 3e706fe5b2 (D3D9 renderchain) Take out video_frame_info dependencies 2020-03-08 19:03:57 +01:00
twinaphex f0bf2df92f Get rid of stale PERF_START/PERF_STOP macros in d3d files 2020-03-07 23:16:25 +01:00
twinaphex 935393b391 Cleanups 2020-03-07 23:12:02 +01:00
twinaphex 212f32e2fd Get rid of the static asserts 2020-03-07 22:54:57 +01:00
twinaphex 83ac24e7f1 (VGA) Move static global variables to struct 2020-03-07 19:33:03 +01:00
twinaphex daea169e5d (GL1) Move static global variables into struct 2020-03-07 17:47:26 +01:00
twinaphex b1337d0a21 (GL) Move shared_context_use into struct 2020-03-07 17:34:35 +01:00
twinaphex 8ec6447b18 (FPGA) Move regOp to struct too 2020-03-07 17:30:56 +01:00
twinaphex 87f34eb12f Add missing header 2020-03-07 17:29:08 +01:00
twinaphex 3e35fb8672 (D3D8/D3D9) Move static global to struct 2020-03-07 17:04:06 +01:00
twinaphex d63daacdf9 (GDI) Put gdi_menu_frame into struct 2020-03-07 16:50:25 +01:00
twinaphex efe72dea94 (Caca) Put everything into the struct 2020-03-07 16:42:12 +01:00
twinaphex 203b4d7f80 (GDI) Move these variables to struct 2020-03-07 16:31:04 +01:00
twinaphex bdc31234d5 (Caca) Move caca global state to struct 2020-03-07 06:03:32 +01:00
twinaphex f588e7f646 Buildfix 2020-03-07 04:22:20 +01:00
twinaphex 250468a1ba drm_get_connector - cleanup 2020-03-06 23:18:22 +01:00
twinaphex 304cd05dc6 (X11) Buildfix 2020-03-06 23:00:06 +01:00
twinaphex 4d7b627421 Get rid of video_info dependency for set_video_mode 2020-03-06 22:58:12 +01:00
twinaphex 68664fdf1d update_title - we don't need video_info 2020-03-06 22:11:44 +01:00
twinaphex 8b43e1b4ef Can get rid of IS_SHUTDOWN 2020-03-06 20:32:22 +01:00
twinaphex 4aae293e3d Remove is_shutdown from check_window 2020-03-06 20:29:31 +01:00
jdgleaver 7873b5f044 (QT) Populate 'db_name' and 'crc32' fields when adding entries to content history 2020-03-06 14:00:04 +00:00
twinaphex a7d679d391 Rename WndProcGL to WndProcWGL 2020-03-05 18:45:41 +01:00
twinaphex da60c1bb96 Header cleanups 2020-03-05 14:06:04 +01:00
twinaphex 1167a06a5a Settings Cleanups 2020-03-02 20:34:31 +01:00
twinaphex 1b0ab1c05f Cleanups 2020-02-21 07:34:53 +01:00
twinaphex ab94af68c1 Cut down on settings access 2020-02-19 19:31:00 +01:00
twinaphex 682462fb20 Cleanups 2020-02-19 19:23:10 +01:00
twinaphex 7c7d0f596a HAVE_MENU_WIDGETS now decoupled from HAVE_MENU 2020-02-17 21:28:42 +01:00
twinaphex b00bf17153 Move menu_widgets to gfx/ and call it gfx_widgets 2020-02-17 01:54:07 +01:00
twinaphex b229f267e4 Rename menu_widgets to gfx_widgets 2020-02-17 01:43:40 +01:00
twinaphex 47af95469a (font_driver.c) Remove configuration.h dependency 2020-02-16 21:59:03 +01:00
twinaphex c71469c715 Rename menu_display to gfx_display 2020-02-16 15:10:07 +01:00
twinaphex cb0c145e3d Cleanups 2020-02-14 12:55:36 +01:00
twinaphex 2e0f921ded Cleanups 2020-02-13 02:18:38 +01:00
twinaphex 64c515bac4 Turn while (true) into for (;;) for easier MSVC backwards compatibility 2020-02-01 04:15:22 +01:00
twinaphex f0e889b552 Change prototype of video_driver_set_size 2020-01-31 15:06:50 +01:00
twinaphex 74cd84399f Cleanups - Replace '== NULL' 2020-01-30 16:47:33 +01:00
trioan 0e20be17cc
fix vulkan_framebuffer_generate_mips (msvc2017)
{0} initializer
2020-01-25 21:14:28 -05:00
twinaphex 920e89a506 Move pass set texture to vulkan_common.c 2020-01-22 14:27:24 +01:00
twinaphex 376ad6d61d move more C functions over to gl_core.c 2020-01-22 13:12:00 +01:00
twinaphex 90874b434e (shader_vulkan.cpp) Move more C code to vulkan_common.c 2020-01-22 12:09:08 +01:00
twinaphex bcf8ff3d0a (shader_gl_core) Get rid of ConfigDeleter - move C code to gl_core.c 2020-01-22 11:57:06 +01:00
twinaphex f853632260 Move framebuffer generate_mips function to vulkan_common.c 2020-01-22 10:52:20 +01:00
twinaphex e9c73bd9a6 (Vulkan) Move more C code to vulkan_common.c 2020-01-22 10:41:38 +01:00
twinaphex ef27a660a7 (shader vulkan) Cleanups - moving C code out of the C++ file 2020-01-22 10:11:42 +01:00
twinaphex 8a989b65ee Cleanup 2020-01-19 13:19:25 +01:00
twinaphex 826b2245ec WndProcCommon - small optimization 2020-01-19 12:17:26 +01:00
twinaphex f852209040 Silence some unused variable warnings on some targets 2020-01-19 06:04:37 +01:00
twinaphex 51d6b467d6 (Win32) Buildfix 2020-01-19 04:56:12 +01:00
twinaphex c26c9483ec Cleanup WNDPROC functions 2020-01-18 11:34:50 +01:00
twinaphex a01e6652df Replace ZeroMemory with memset 2020-01-18 10:46:25 +01:00
twinaphex 57c00e7e26 Cleanup 2020-01-18 10:41:26 +01:00
twinaphex a67896ab2b Cleanup 2020-01-18 09:37:16 +01:00
twinaphex 142503d3b5 move win32_menu_loop and win32_browser to win32_common 2020-01-18 09:28:46 +01:00
twinaphex f97e557194 (DRM/EGL) Buildfix 2020-01-06 00:33:28 +01:00
twinaphex 4380b73ca6 Add HAVE_DYNAMIC_EGL option 2020-01-05 19:14:47 +01:00
twinaphex 6e0971fc61 (EGL) Call EGL common calls 2020-01-04 19:58:57 +01:00
twinaphex d5cdfbb7ba Move all EGL functions to egl_common.c file 2020-01-04 19:22:02 +01:00
twinaphex 1216c3ef6d (OSX/Metal) Buildfix 2020-01-04 17:44:33 +01:00
twinaphex 3e1f56d57f Change function signature of win32_has_focus 2020-01-04 15:49:23 +01:00
twinaphex 91baea201a Change function signature of win32_show_cursor 2020-01-04 15:40:02 +01:00
twinaphex 53dbd69751 (EGL) Create egl_bind_api 2020-01-04 15:09:42 +01:00
twinaphex 6c97a7514c (Vulkan) turn superfluous functions in vulkan_common.c into macros
to avoid unnecessary function overhead
2020-01-03 20:20:59 +01:00
twinaphex 051342cc8b Rewrite win32_get_video_output 2019-12-20 07:15:03 +01:00
Hans-Kristian Arntzen 96723c6f70 Vulkan/Android: Workaround weird WSI return codes in landscape mode.
Android WSI wants you to use preTransform, and if it is not used
correctly, Android 10 will return VK_SUBOPTIMAL_KHR, and we would create
a new swapchain every frame.

This workaround just ignores this error, since it's not really an error.
A more "proper" fix is to use prerotate and modify the MVP matrices,
which might help certain devices with crummy display processors.
2019-12-17 19:08:20 +01:00
driver1998 a8a4e60171 [ANGLE] Cleanup 2019-12-06 13:59:22 +08:00
driver1998 de203390be [Windows] Add ANGLE support 2019-12-06 13:24:17 +08:00
Twinaphex 002f2ab6e7
Merge pull request #9801 from cmitu/kms-video-mode-selection
KMSDRM: better detection for the current video mode
2019-12-05 23:39:02 +01:00
cmitu 3953659901 KMSDRM: better detection for the current video mode 2019-12-01 06:45:43 +00:00
Jean-André Santoni c0dfcd2adf
Fix Metal build 2019-11-30 12:49:52 +07:00
Rinnegatamante 6394342b9c [VITA] Add gl1 video driver support through vitaGL. 2019-11-12 11:54:00 +01:00
Twinaphex 4ac264b1d0
Merge pull request #9591 from Rinnegatamante/videodrivers2
Graceful switching between videodrivers #2.
2019-10-15 22:49:17 +02:00
orbea 55d123d95a Fix build when SDL2 is not built against wayland.
Fixes https://github.com/libretro/RetroArch/issues/9583.
2019-10-15 09:10:18 -07:00
Rinnegatamante d1a74e1b96 Fix for crash on Linux. 2019-10-15 09:07:15 +02:00
jdgleaver 3057c31798 (Menu Input) Add mouse/touchscreen gesture support + full gesture support for XMB 2019-09-30 16:55:41 +01:00
Tor Arne Vestbø b5cf9b639e metal: Improve shader debugging
Having the path to each shader is helpful when debugging the
rendering pipeline. The render command encoder label is limited
to just the filename of the shader, as the graphics debugging
UI in Xcode doesn't handle long names very well.

We don't encode the pass number into the string as the shaders
can be organized in a graph, not just a linked list, so an
indexed order can be misrepresenting the flow.
2019-09-25 22:36:40 +02:00
Tor Arne Vestbø 91caf28bfc metal: Add some missing debug labels and groups 2019-09-25 22:36:40 +02:00
twinaphex f33264f7a6 (X11) XStoreName is a useless wrapper function around XChangeProperty 2019-09-22 13:00:44 +02:00
twinaphex c5b3428408 Add sdl2_common.c/.h 2019-09-22 12:40:40 +02:00
twinaphex ad1fb29092 (Metal) Refactor 2019-09-22 10:28:51 +02:00
twinaphex c7fd375120 Create video_driver_display_userdata_{set/get} 2019-09-22 07:35:05 +02:00
twinaphex 302e2fdc53 Move show memory details outside of the video context driver and
into retroarch.c - avoid lots of code duplication
2019-09-21 07:49:33 +02:00
Brad Parker c7c7d0988e initial network video driver, sends raw frames over TCP 2019-09-17 04:18:44 +02:00
Tor Arne Vestbø af75ddd04a metal: Draw video stats on top of overlay 2019-09-02 20:02:16 +02:00
Tor Arne Vestbø 204407b64a metal: Set up correct viewport before rendering overlay 2019-09-02 18:02:30 +02:00
Tor Arne Vestbø 48d28aa734 metal: Split menu drawing out from core drawing 2019-09-02 18:02:30 +02:00
Tor Arne Vestbø e6227f9898 Use correct uniforms when blitting menu frame with Metal
Fixes broken rgui with the Metal video driver.
2019-09-02 13:01:42 +02:00
Brad Parker 4e9cd6ff3e win32: set menubar language to same as config 2019-08-29 16:36:09 -04:00
twinaphex 2609747243 MSVC buildfix 2019-08-29 20:20:35 +02:00
twinaphex 718d65d95d Take this out - too unsafe - fixes D3D12 driver 2019-08-29 12:30:56 +02:00
twinaphex 029f1c403e Turn function static 2019-08-29 10:16:26 +02:00
twinaphex 967aae04c8 Cleanups 2019-08-29 09:55:27 +02:00
twinaphex 9a49da10e5 (WndProcCommon) Put this back in 2019-08-29 09:31:08 +02:00
twinaphex df4f2a67e3 (Win32) Simplify WndProcCommon 2019-08-29 02:26:32 +02:00
twinaphex 3a7515c82f Cut down on code duplication 2019-08-28 23:58:15 +02:00
twinaphex aa428e4a82 (X11) Better resizing of menu when window is resized 2019-08-24 20:50:06 +02:00
twinaphex 8780541de9 (Win32) Add deferred menu context reset - menu should properly rescale now
when we do a Win32 window resize
2019-08-24 20:03:09 +02:00
jdgleaver f85c0737e4 (3DS) Build fix 2019-08-24 14:37:45 +01:00
LazyBumHorse a882901e39 save unmodified auto-shaders as a reference instead of a copy, see:
- implement #reference directive for auto-shaders
 - replace usual preset saving and loading functions with video_shader_read_preset() and video_shader_write_preset()
 - apply saved presets automatically for console menus
 - move auto-shader saving logic from menus into menu_shader.c menu_shader_manager_save_auto_preset()
 - refactor menu_shader_manager_save_preset() into menu_shader_manager_save_preset_internal()
2019-08-22 16:57:28 +02:00
Twinaphex 3bc5c15526
Merge pull request #9309 from LazyBumHorse/fix_vulkan_gpu_list
fix handling of vulkan_gpu_list
2019-08-15 18:17:56 +02:00
LazyBumHorse 3c6a46d95d fix handling of vulkan_gpu_list (use after free, not always being initialized) 2019-08-15 17:52:24 +02:00
twinaphex 6c671faed6 Start preparing for menu_widgets_ready to be moved to retroarch.c 2019-08-15 14:20:51 +02:00
twinaphex d43b26348b (Vulkan) Don't use video_driver_get_size 2019-08-13 12:28:16 +02:00
twinaphex e43c55bef3 (GLCore) Don't use video_driver_get_size 2019-08-13 12:23:02 +02:00
twinaphex c3d624267b (GL) Start avoiding usage of video_driver_get_size
from within video drivers
2019-08-13 12:14:53 +02:00
twinaphex 65b4c2595e Update set keyboard mapping code for input driver 2019-07-27 02:21:24 +02:00
twinaphex dfc85f5908 Simplify win32_has_process 2019-07-26 06:10:02 +02:00
Twinaphex 1661f86ec0
Merge pull request #9154 from LazyBumHorse/shader_paths
simplify video_shader_read_conf_preset() calls
2019-07-22 01:21:47 +02:00
orbea e13ec54dc6 Fix --disable-overlay. 2019-07-21 10:26:42 -07:00
LazyBumHorse f8b92770d4 simplify video_shader_read_conf_preset() calls 2019-07-21 18:15:28 +02:00
Yoshi Sugawara f292a5b9cb macos: fix call to video_shader_read_conf_preset 2019-07-20 12:08:37 -10:00
twinaphex ac47f54a8e (Win32) Not sure why menubar was disabled when threaded video is
enabled, going to assume enabling it is thread-safe
2019-07-20 11:45:28 +02:00
twinaphex c4c7a1b8cc (Vulkan) Dehardcode application name 2019-07-19 20:12:12 +02:00
twinaphex b747bb22f4 Properly dehardcode program name now 2019-07-19 20:08:45 +02:00
twinaphex b04e057b5d Revert "(Win32/Vulkan) Dehardcode more program name strings"
This reverts commit 5cefcb8327.
2019-07-19 19:39:43 +02:00
twinaphex 5cefcb8327 (Win32/Vulkan) Dehardcode more program name strings 2019-07-19 19:27:24 +02:00
twinaphex 4c69dad0ce Define DEFAULT_MAX_PADS inside config.def.h - get rid of the messy
MAX_PADS macros everywhere
2019-07-19 12:55:38 +02:00
twinaphex b2946f4f1e egl_swap_buffers - be safer 2019-07-18 18:54:26 +02:00
twinaphex c0787accc3 Use config_file_new_from_path_to_string 2019-07-18 12:13:09 +02:00
LazyBumHorse 208d23b39d fix hanging window under Windows 7 with threaded video 2019-07-17 23:27:43 +02:00
twinaphex bddfca940e Add HAVE_GDI switch 2019-07-11 13:18:38 +02:00
twinaphex e02ff9c40c (Win32) Reimplement PeekMessage implementation - this should be at the
start of the while loop
2019-07-11 03:49:33 +02:00
twinaphex 09f5d2c95d Fix compilation when configuring with --disable-overlay 2019-07-10 05:39:50 +02:00
twinaphex f0f5c32b51 Remove state tracker - legacy code - we can revisit this later
and integrate it in a way so that it scales across all drivers
2019-07-09 07:39:38 +02:00
twinaphex 3cfa3ff1d8 Cleanups 2019-07-04 22:05:38 +02:00
Dwedit 81b6703912 Fix wrong reference count for D3D12 adapters (crash at close due to a destroyed adapter being released again) 2019-07-03 15:35:06 -05:00
Dwedit 10343d51b9 Small fixes for D3D12: Do not return false when enumerating, and add a null check for the Fence object 2019-07-02 19:46:02 -05:00
stoofin 1b57cf6112 Fall back to libvulkan.so.1 if libvulkan.so isn't present 2019-06-27 14:08:14 -07:00
LazyBumHorse b5199d7921 fix black screen in Metal 2019-06-22 11:07:08 +02:00
twinaphex 6b9238198b Cleanups 2019-06-21 04:47:51 +02:00
twinaphex 48eeb15d2c Silence warnings 2019-06-20 01:16:05 +02:00
Brad Parker d01f04c146 d3d10/11/12: add GPU selection 2019-06-18 16:35:50 -04:00
LazyBumHorse 692dc9f6a9 refactor shader checks affected by last commit and more:
- gl.c: refactor backend fallback into more general gl2_get_fallback_shader_type
 - d3d9-12, gl_core, gx2_gfx, gl, vulkan: more consistent shader init and `set_shader` behavior
 - configuration.c: remove check_shader_compatibility
 - shader_glsl.c, shader_gl_cg.c: use `video_shader_get_type_from_ext`
 - shader_gl_cg.c: add shader type check with fallback to stock like in shader_glsl.c
 - menu_shader.c: use `enum rarch_shader_type` instead of `unsigned`
 - video_shader_parse.c: add `video_shader_to_str` for easier logging
 - remove `type` from `struct video_shader`, which was always set to CG and wrongly used in lang_process.cpp's `slang_process()` (has no further consequences because the code is unused)
2019-06-18 13:44:19 +02:00
twinaphex ee3208ac39 Integrate video_driver.c into retroarch.c 2019-06-17 15:10:22 +02:00
twinaphex f60306b232 Rename read_conf_cgp/write_conf_cgp to
read_conf_preset/write_conf_preset
2019-06-15 09:00:35 +02:00
Brad Parker c962da0ddb add video setting to select gpu (currently implemented for vulkan) 2019-06-13 12:47:08 -04:00
LazyBumHorse 9ab49b7b2c Add FrameDirection for metal and gx2_gfx 2019-05-29 21:06:44 +02:00
LazyBumHorse b54ad4d67f implement FrameDirection slang semantic for d3d10,11,12 2019-05-29 18:09:37 +02:00
twinaphex e1b39f6621 (WinRT) Make dxgi_update into a stub function for WinRT 2019-05-26 08:22:16 +02:00
twinaphex 17b2019e11 (Vulkan) Fix potential memory leak 2019-05-26 08:18:42 +02:00
Huw Pascoe acb28a38c4 video_layout gl basic implementation 2019-05-11 14:23:26 +01:00
twinaphex 52dd39f98a Another buildfix 2019-05-10 20:17:20 +02:00
twinaphex 74388d8490 Remove string_concat 2019-05-10 18:05:58 +02:00
Nathan S 775c272029 Menu widgets stuff + vulkan sanity check (#8710)
* task_screenshot: fix hang with menu widgets

* word_wrap: add max_lines parameter

* vulkan: better instance creation sanity check
2019-05-06 21:10:57 +02:00
twinaphex 39eadbab6f Use string_concat in more performance critical areas 2019-04-30 21:17:51 +02:00
twinaphex bc2bdd5734 config_file_read not needed anymore 2019-04-30 13:37:10 +02:00
twinaphex c55873c324 (GL_CORE) More updates 2019-04-24 03:33:32 +02:00
twinaphex 59b45f7812 Start making HAVE_OPENGL_CORE independent 2019-04-24 03:23:57 +02:00
twinaphex 04d062b3d4 (MSVC2003) Enable HAVE_OPENGL1; make HAVE_OPENGL1 independent from
HAVE_OPENGL
2019-04-22 22:48:23 +02:00
twinaphex 955a149ce9 Use config_file_read where we can assume we are reading a file 2019-04-22 01:56:24 +02:00
twinaphex 7372bafb44 Remove RARCH_CTL_SET_LIBRETRO_PATH 2019-04-21 06:03:02 +02:00
jdgleaver 54e1711f9a (3DS) Sanitise/Improve display mode selection 2019-04-15 17:05:55 +01:00
Huw Pascoe fed06044c4 silence warnings 2019-04-12 17:32:11 +01:00
Brad Parker 9579804c72 gl1: add overlay support 2019-04-05 23:07:59 -04:00
twinaphex a5aa4d731b Use memset instead of bzero 2019-04-03 16:56:50 +02:00
twinaphex f67bfa24ef Get rid of video_poke_interface set_mvp 2019-03-18 15:19:11 +01:00
Hugo Hromic 136c08a4bb (x11_common.c) Fix C89 build 2019-03-14 16:09:34 +00:00
twinaphex 3691f4fabf Fix CXX_BUILD errors 2019-03-13 17:00:52 +01:00
Twinaphex 75102a435f
Merge pull request #8437 from DSkywalk/master
X11 auto-repeat event fixed
2019-03-10 23:17:53 +01:00
David Skywalker 83e7fda272 sorry, fixed typo. 2019-03-09 21:29:21 +01:00
David Skywalker 46036894d4 fix x11 auto-repeat event 2019-03-09 19:06:01 +01:00
Themaister 3029f96511 Add a new "glcore" driver with slang support.
This driver should sunset the old gl2 driver, but that driver will
likely live on to support really ancient and terrible GL stacks.
All the worst legacy cruft has been ripped out, and it's almost a decent
backend now.

Requirements for slang are GL 3.2+ or GLES3.
Some shaders require features which are not directly compatible with
GLES2 or legacy GL.

This driver shares a lot of concepts from the Vulkan driver.
The slang shader stack and SPIRV-Cross are used to implement the shader
spec, and the menu shaders are also shared with Vulkan.
2019-03-09 12:30:49 +01:00
Brad Parker 10df615d14 add "Send Debug Info" option under Help 2019-03-07 19:17:54 -05:00
driver1998 6ea79bca36 Allow winraw and xinput to work without dinput in Windows
Necessary for Windows ARM32 Desktop (RT)
2019-02-26 21:29:43 +08:00
Brad Parker 4f0d61a2ac update copyright 2019-02-22 19:13:36 -05:00
Brad Parker 477d46d52b update copyright 2019-02-22 19:13:36 -05:00
Brad Parker 99f4203abf win32: implement screen orientation support 2019-02-21 14:37:24 -05:00
radius 814db2c44e fix #7670 by checking threaded video 2019-02-21 11:54:10 -05:00
twinaphex 691462e3d6 Change INT32 to int32_t 2019-02-16 10:52:40 +01:00
Brad Parker 5e177c75a5 add memory stats to more context drivers, use correct default variables for fps/stats/framecount/memory_show 2019-02-15 15:59:00 -05:00
Themaister 3b9ad729fb Vulkan: Fix color issues with RGBA8888 swapchains in readback. 2019-02-15 20:30:08 +01:00
Brad Parker 5a3a58c8a6 gl1: fix order of non-rgui menu drawing, add proper texture support 2019-02-11 12:05:31 -05:00
orbea d3dcc548b2 qb: Allow falling back to a bundled wayland-protocols when not found. 2019-02-10 15:34:50 -08:00
twinaphex 1a8ad73c3f (Cocoa) Unify both headers 2019-02-09 04:40:38 +01:00
Brad Parker 8d8feec318 gl1: screenshot support 2019-02-08 16:31:34 -05:00
Brad Parker cbbb81f46f gl1: add BFI and menu/content linear filtering 2019-02-08 15:37:38 -05:00
Brad Parker 333c630469 gl1: blend menu with video 2019-02-08 13:47:43 -05:00
Brad Parker 74fd184097 initial GL1 video driver, only rgui is working currently 2019-02-08 12:14:55 -05:00
twinaphex e612773645 (Xbox OG) Buildfixes 2019-02-07 05:42:23 +01:00
twinaphex f49b6e26a0 (Metal) Add menu widget support 2019-02-07 02:00:23 +01:00
twinaphex b7c1fda56f (Windows) Fix C89_BUILD 2019-02-06 19:08:56 +01:00
orbea 28ff4b391a Clean up white space. 2019-02-03 16:00:50 -08:00
twinaphex 9aa542b1ae * Get rid of video_shader_driver_use
* Get rid of Nuklear - ozone/menu widgets is probably the replacement
for it - Zarch will go next
2019-02-03 04:37:54 +01:00
twinaphex 91f8e8465a (GL) Cleanups 2019-02-03 00:11:41 +01:00
twinaphex 97dc77b940 (GL) renderchain interface is gone now 2019-02-03 00:07:53 +01:00
twinaphex 62bea6ad11 SOme header cleanups 2019-02-02 22:02:24 +01:00
twinaphex 0c0ab19b11 (GL) We don't need gl_common.c anymore 2019-02-02 21:47:31 +01:00
twinaphex 350b0dd1a2 gl_add_lut can now become a static function inside gl.c 2019-02-02 21:34:02 +01:00
twinaphex 90f1317498 Cut down on code duplication - create gl_load_luts 2019-02-02 21:32:37 +01:00
twinaphex 2560d1c105 Move gl_load_texture_data to gl_common.c 2019-02-02 17:33:58 +01:00
twinaphex 7c74f0abe8 Create gl_add_lut 2019-02-02 17:25:27 +01:00
twinaphex 5d77244334 (OSX) Implement flyinghead's GL3 support 2019-01-31 21:30:49 +01:00
David Skywalker 347519a4d8 now X11 driver using keycodes instead keysyms, fixes international layouts problems. 2019-01-31 12:50:58 +01:00
krzys-h 3c18232448 Fix d3d12 swap chain creation
Apparently, HAVE_WINDOW was not defined in this file (and this obviously
doesn't appear on MSVC because of how griffin.c works...)
2019-01-28 10:44:47 +01:00
Twinaphex 8b958b91f9
Merge pull request #8105 from orbea/qb
Update generate_wayland_protos.sh.
2019-01-28 00:31:57 +01:00
Brad Parker 8b6676e17f d3d9: implement scissor test 2019-01-26 20:13:39 -05:00
orbea ae7b09afae gfx: Update generate_wayland_protos.sh. 2019-01-26 16:08:18 -08:00
Twinaphex b512c0aeb9
Merge pull request #8095 from Sunderland93/wayland-version
[Wayland] Set minimum wayland version to 1.12
2019-01-26 22:49:34 +01:00
Sunderland93 10d2d13004 Fix version's comparison 2019-01-26 13:41:03 +04:00
orbea 63c7abef06 qb: Allow testing more than one version in check_pkgconf. 2019-01-25 15:04:29 -08:00
Sunderland93 677395f05e [Wayland] Set minimum wayland version to 1.12 2019-01-25 21:41:13 +04:00
orbea d3f81e8db8 Fix the osx metal travis build. 2019-01-21 13:03:51 -08:00
twinaphex b13777e9fc Header cleanups 2019-01-20 03:16:58 +01:00
twinaphex d3ae2cbd29 Cleanup some header includes 2019-01-20 01:49:21 +01:00
twinaphex 83241ed0b1 Some header cleanups 2019-01-19 23:27:59 +01:00
orbea e062b98088 Remove trailing blank lines.
find . -type f -exec sed -i '${/^[[:space:]]*$/d;}' {} \+
2019-01-17 19:39:38 -08:00
orbea ff2e3bbbce Fix CXX_BUILD errors. 2019-01-13 11:51:33 -08:00
twinaphex 7ad34509e7 Silence more CXX_BUILD warnings 2019-01-12 21:16:48 +01:00
Twinaphex ff8e10f014
Merge pull request #7984 from myfreeweb/egl-fix
Fix EGL initialization not setting 'n'
2019-01-12 05:10:46 +01:00
CozmoP 2052e15a08 pass content label when loading content from Qt (#7982) 2019-01-11 18:51:44 -05:00
Greg V 3ab7e780d1 EGL: use unused 'n' argument for storing the config count (fixes #7953)
The 'n' argument was probably intended for the count, but it was unused.
The Wayland platform would check whether n would be non-zero (and
wouldn't initialize n with zero), so it would only succeed because it
was initialized with random garbage.

Pointy hat: @Sunderland93
2019-01-11 20:41:40 +03:00
twinaphex c98b2e2292 Buildfixes and more static code analysis warning fixes 2019-01-10 22:24:43 +01:00
twinaphex b9ff2e4de1 Fix some static code analysis warnings from MSVC 2017 2019-01-10 21:47:15 +01:00
Twinaphex ac04c1bfc5
Merge pull request #7892 from Datamats/libnx_nwindow
libnx: refactor all the code of the now deprecated gfx api over to the new nwindow / framebuffer api
2019-01-08 23:36:20 +01:00
Twinaphex 40997473ed
Merge branch 'master' into orbis2 2019-01-08 20:18:08 +01:00
orbea bfc366decc Squeeze extra blank lines with cat(1).
Example:

find . -type f -iname '*.c' | while read -r i; do
  cat -s "$i" > "$i.new"
  mv "$i.new" "$i"
done
2019-01-08 11:04:58 -08:00
Mats 462a4b24fd libnx: refactor all the code of the now deprecated gfx api over to the new nwindow / framebuffer api 2019-01-07 15:03:44 +01:00
Brad Parker 85b560e76b vc2003 buildfix 2019-01-05 19:19:53 -05:00
Greg V a1c15b5362 Wayland: try /usr/local for wayland-scanner/protocols
Default prefix is /usr/local on FreeBSD
2019-01-01 03:07:20 +03:00
Francisco José García García c56e9b1ff6 [ORBIS] eglSwapInterval workaround 2018-12-30 14:01:10 +01:00
twinaphex 1cb9f7c1bf Fix D3D10/11/12 drivers for Win32 build 2018-12-30 05:08:57 +01:00
Twinaphex 22e54dfc6b
Merge pull request #7839 from frangarcj/orbis2
[WIP] ORBIS / PS4 Port
2018-12-30 01:04:50 +01:00
Francisco José García García d34b94a661 [ORBIS] Several EGL and GL fixes 2018-12-30 00:11:53 +01:00
krzys-h 1cb1ea55b1 Bugfix - creating swap chain twice in d3d11
Not sure what I was thinking when writing this

dd60b5d576 (commitcomment-31801518)
2018-12-29 11:38:09 +01:00
twinaphex bddcd2d5e5 Buildfix - include header for prototype definition 2018-12-29 06:04:46 +01:00
twinaphex 8f67cf7384 Some buildfixes 2018-12-29 02:20:25 +01:00
twinaphex 0e5fbbb9e1 Silence some warnings 2018-12-29 02:12:50 +01:00
krzys-h 4fb06703b3 Port d3d12 driver for UWP 2018-12-28 22:10:26 +01:00
krzys-h f6c8a0c5c2 Add UWP input driver
Keyboard, mouse and touch support: done
2018-12-28 22:09:30 +01:00
krzys-h b201d669b5 First iteration of UWP support
Enough to kind of run

Working drivers: xinput, d3d11
Still missing: input driver with keyboard support, audio driver
2018-12-28 22:09:22 +01:00
Francisco José García García 912060fc4b [ORBIS] Use SceWindow 2018-12-28 11:19:28 +01:00
Francisco José García García 48167d46bc [ORBIS] Initial video context driver 2018-12-28 01:27:13 +01:00
radius d2a2878b2c fix #935 thanks to @bparker 2018-12-23 19:55:26 -05:00
Themaister 077b108aa1 Vulkan: Fix potential crash when toggling fullscreen.
If we have HW rendering, and we toggle fullscreen while in the menu, we
don't have a ready HW image, so fall back to black dummy texture.
2018-12-12 13:28:46 +01:00
radius a7e4d8359b fix fullscreen=>windowed when remember window positions is on 2018-12-11 19:34:12 -05:00
Themaister 868465ad01 EGL: Add callback to select EGLConfig.
A more robust fix for DRM/GBM shenanigans.
2018-12-11 20:12:25 +01:00
Aleksey Samoilov d82987b1b5
Merge branch 'master' into master 2018-12-09 20:56:20 +03:00
Sunderland93 830882e296 Merge branch 'server-decorations' 2018-12-09 19:03:57 +04:00
Sunderland93 d1c15efc24 Revert "Add KDE's server-decoration protocol as fallback (for KDE)"
This reverts commit 058a880a8b.
2018-12-09 18:47:47 +04:00
Sunderland93 058a880a8b Add KDE's server-decoration protocol as fallback (for KDE) 2018-12-09 18:42:45 +04:00
twinaphex bfd9141577 Play it safe for non-GBM targets 2018-12-07 21:15:38 +01:00
twinaphex 96840572ef Add HAVE_GBM ifdefs 2018-12-07 20:18:01 +01:00
Twinaphex d6e96b986f
Merge pull request #7707 from fr500/upstream
make windowed size take into account window border and title height
2018-12-07 16:33:29 +01:00
twinaphex 7638637518 Cleanups 2018-12-07 00:51:56 +01:00
orbea 5898f3e5d2 Fix KMS with OpenGL.
All credit for this patch goes to dtsarr.

Fixes https://github.com/libretro/RetroArch/issues/7119
2018-12-06 08:34:26 -08:00
radius defe82c9ce fix the menubar height growing issue too 2018-12-06 10:15:50 -05:00
radius e050ca89c7 make windowed size take into account window border and title height 2018-12-06 10:03:48 -05:00
Sunderland93 f960144212 Merge branch 'fallback' into 'master' 2018-12-05 23:23:02 +04:00
Sunderland93 dc94886664 Initial support for xdg-decoration-unstable-v1 2018-12-05 22:51:07 +04:00
Sunderland93 9b0bad5d9f Add zxdg_shell_v6 and wl_shell ad fallback interfaces 2018-12-03 14:32:31 +04:00
twinaphex b027395341 (Android/Vulkan) Enable 'emulate mailbox' for Android 2018-12-03 00:40:50 +01:00
Stuart Carnie 0e295716b9
feat(metal): Add native rotation support for Metal driver
* fix crash when frame or frame size is 0
2018-11-29 22:04:43 -07:00
dukemiller 8294bf86df Create option for dx video drivers to toggle displaying memory use 2018-11-28 00:01:09 -07:00
Twinaphex 7a174d290e
Merge pull request #7655 from Sunderland93/master
[Wayland] Implement idle-inhibit support
2018-11-26 19:25:46 +01:00
Sunderland93 ea180a1775 Relax wayland and wayland-protocols version's 2018-11-26 21:58:43 +04:00
Sunderland93 b538786b00 Implement zwp_idle_inhibit_v1 protocol 2018-11-26 21:54:39 +04:00
twinaphex 6bf35ab6e8 (x11_common.c) Cleanups 2018-11-26 13:54:51 +01:00
twinaphex 098e62067e Small cleanups 2018-11-26 13:37:35 +01:00
radius 77ae2dc0cd don't change window position on fullscreen changes 2018-11-25 11:51:13 -05:00
twinaphex 4a4a6511e0 Workaround - fullscreen mode was no longer working properly 2018-11-25 10:08:50 +01:00
twinaphex 5313c50b0e (Windows) Saves/remembers window size now too - still some edge case
when clicking maximize button - you need to then move the window
slightly in order for x/y position to be saved - just clicking maximize
alone is not enough
2018-11-25 09:50:08 +01:00
twinaphex e1afdf8c3c (Windows) Start implementing 'remember window positions'. Right now only
saves/remembers X, Y position
2018-11-25 09:02:32 +01:00
Twinaphex 3d4fc5d38f
Merge pull request #7607 from Sunderland93/master
Wayland: xdg-shell support
2018-11-24 18:45:20 +01:00
twinaphex 5d8666e226 Only one function calls EnumDisplaySettings now 2018-11-24 02:06:28 +01:00
Sunderland93 c32c98e667 Very WIP: xdg-shell support 2018-11-17 16:01:51 +04:00
Themaister f51ef85f27 Vulkan: Fix scissor in menu driver. 2018-11-08 21:57:53 +01:00
Themaister afcd25a3f8 Vulkan: Fix scissor in menu driver. 2018-11-08 21:45:51 +01:00
Stuart Carnie fd2524429d
chore(meta): Cleanup 2018-11-06 07:56:05 -07:00
Stuart Carnie 8569ee79bc
feat(metal): Add scissor rect support
This is required for correct rendering of the ozone menu
2018-11-06 07:56:05 -07:00
Stuart Carnie 5c1075127b
chore(metal): Separate legacy GL and Metal source
* Forks of Cocoa / Cocoa Touch to *_metal.* version
* Reverted original GL Cocoa / Cocoa Touch versions
* GL and Metal projects still build
2018-11-04 20:50:50 -07:00
Themaister 3f41cd533b Fix RGUI regression on Vulkan. 2018-10-16 23:29:17 +02:00
twinaphex 448d2d333c Set ctx_driver 2018-10-14 08:22:26 +02:00
twinaphex e661cf3cfd Rewrite video_context_driver_init_first 2018-10-14 08:13:05 +02:00
twinaphex 5b4473b948 Create gl_set_core_context 2018-10-10 18:24:41 +02:00
Brad Parker b9699f4780 gdi: texture load support, fix menu text alignment, support multi-line messages 2018-10-10 09:58:49 -04:00
twinaphex 77fba6d58d (Vulkan) Silence warning 2018-10-01 00:41:29 +02:00
twinaphex 2125f92281 Silence warnings/cleanups 2018-09-30 13:43:56 +02:00
twinaphex 4c23fa02e9 (MSVC 2013) Fix build for rcheevos
(MSVC) Fix some warnings; unused variables, etc.
2018-09-30 13:38:58 +02:00
M4xw cf097d7f42 [LIBNX] Implement OpenGL 2018-09-27 01:23:24 +02:00
misson20000 fa76a3cb60 CRLF -> LF 2018-09-15 03:27:05 -07:00
M4xw 64edf5f879 [LIBNX] Fixups and bare minimum to function 2018-09-14 20:38:42 +02:00
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