Commit Graph

1354 Commits

Author SHA1 Message Date
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