Commit Graph

9439 Commits

Author SHA1 Message Date
jdgleaver
6c49ae5152 (WiiU/3DS) Fix font driver horizontal text alignment 2020-04-20 16:20:21 +01:00
twinaphex
9f3a2db44e Merge branch 'master' of https://github.com/libretro/RetroArch 2020-04-17 16:24:39 +02:00
valadaa48
587a425f77 oga_gfx: move non-inlined function out of loop 2020-04-11 02:30:39 +00:00
jdgleaver
f559798750 Widget text improvements 2020-04-06 11:39:30 +01:00
twinaphex
e88568625c Merge branch 'master' of https://github.com/libretro/RetroArch 2020-04-06 01:04:23 +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
a9154373fc Merge branch 'master' of https://github.com/libretro/RetroArch 2020-04-02 02:13:12 +02:00
Autechre
e80fb4f386
Merge pull request #10375 from jdgleaver/font-fixes
Enable correct vertical alignment of text (+ font rendering fixes)
2020-04-01 20:59:51 +02:00
Twinaphex
8292f31ea0 Fix unused variable warning 2020-04-01 20:43:03 +02:00
Twinaphex
d0a9de01a3 (GL) Fix unused variable setting 2020-04-01 20:41:38 +02:00
jdgleaver
73bcd7a692 Enable correct vertical alignment of text (+ font rendering fixes) 2020-03-31 16:55:22 +01:00
Vladimir Serbinenko
2fb7ba22e5 PSL1GHT port
Working:

* packaging
* running cores
* switching cores
* gamepad including axis
* rgui
* audio
* video

Not working:

* OSD
* menus other than rgui
* shaders
* Graphical acceleration
* Proper signing
* ODE build
* rumble
* keyboard
* mouse

Not tested:

* A lot
2020-03-30 05:39:22 +02:00
twinaphex
92c472c227 Merge branch 'master' of https://github.com/libretro/RetroArch 2020-03-29 06:01:31 +02:00
Autechre
15c661a374
Merge pull request #10262 from valadaa48/odroidgo2_drm_ctx_hw_scaling
Add drm_go2_ctx for odroidgo2
2020-03-29 04:40:57 +02:00
valadaa48
2d2bd625c6 Register signal handler for oga video driver 2020-03-28 04:54:33 +00:00
twinaphex
19c68fad43 Take out cb_update_window_title and cb_get_metrics 2020-03-28 05:36:31 +01:00
valadaa48
6e4228b054 Add drm_go2_ctx for odroidgo2
- Revert odroidgo changes to drm_ctx
- Introduce new drm_go2_ctx specifically for odroidgo2 (and libgo2)
- Add hw_scaling option to mitigate builtin gl scaling/filtering and to
use libgo2 and rga's hw scaling and bicubic filtering via librga. The
quality of the image is improved by this and should be a bit faster.

Credits to CrashOverride for the initial libgo2 port and
commit to RA. And to natinusala for the initial cleanup/commit in the original
drm_ctx driver. NOirBRight for finding this setting and testing.
2020-03-28 03:30:28 +00:00
twinaphex
5972ed9cc6 (gfx_widgets) Cleanups 2020-03-28 03:53:51 +01:00
twinaphex
2dc0fdcfee (gfx drivers_display) Cleanups 2020-03-28 03:47:05 +01:00
jdgleaver
1440b46eb0 Fix 'gfx_display_draw_texture_slice()' (i.e. prevent glitches when rendering Ozone's selection cursor) 2020-03-26 11:45:28 +00:00
jdgleaver
9194a3b24d (Menu) Prevent font-related segfaults when using extremely small scales/window sizes 2020-03-24 16:14:53 +00:00
valadaa48
53fffbd670 Add "oga" graphics driver for odroid go advance
libgo2 improvements

- Expose rga scale mode as param for future use
- Cleanup whitespace
- Add option to disable managed surfaces and allow direct posting to drm
  driver

oga graphics driver

- Uses direct framebuffers in libgo2
- Bitmap font only supported for now
- Uses built-in bicubic filtering: graphics quality better than gl + bilinear
- Support for rotation
2020-03-22 23:35:22 -04:00
natinusala
00590f2077 Fix VG and VC EGL 2020-03-20 09:19:06 +01:00
Javier Martinez Canillas
42e8890c91
(GL) Fix NULL pointer dereference in gl2_init()
Commit 10df615d14 ("add "Send Debug Info" option under Help") added some
debug information that contains the GL_VENDOR, GL_RENDERER and GL_VERSION
strings that are returned by the glGetString() function, and is used by
algorithms to recognize the platform.

But in some GL contexts, these may be NULL which leads to a NULL pointer
dereference when trying to copy the returned strings. Commit 97247dbaec
("gl1: check for vender/renderer was in the wrong place") later fixed it
for the GL1 driver, but it missed doing the same for the GL driver.

For example, on an Exynos Odroid XU4 with a mali-fdev GL context I get:

$ retroarch -v
[INFO] RetroArch 1.8.5 (Git 8d3f25f)
[INFO] === Build =======================================
[INFO] Capabilities:  NEON VFPv3 VFPv4
[INFO] Built: Mar 18 2020
[INFO] Version: 1.8.5
[INFO] Git: 8d3f25f
[INFO] =================================================
[INFO] [Environ]: SET_PIXEL_FORMAT: RGB565.
[INFO] Version of libretro API: 1
[INFO] Compiled against API: 1
[INFO] [Audio]: Set audio input rate to: 30000.00 Hz.
[INFO] [Video]: Video @ 960x720
[INFO] [EGL] Falling back to eglGetDisplay
[INFO] [EGL]: EGL version: 1.4
[INFO] [GL]: Found GL context: mali-fbdev
[INFO] [GL]: Detecting screen resolution 0x0.
[INFO] [EGL]: Current context: 0xf08e20.
[INFO] [GL]: Vendor: (null), Renderer: (null).
[INFO] [GL]: Version: (null).
Segmentation fault (core dumped)
2020-03-18 23:44:50 +01:00
natinusala
997136c029 gfx_widgets: move libretro message widget into its own file 2020-03-17 17:16:21 +01:00
natinusala
7246d0d053 gfx_widgets: move generic message to its own file 2020-03-13 17:13:56 +01: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
91fd05133b C89_BUILD fix 2020-03-13 00:11:43 +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
twinaphex
28eec1489a Every global has to be named uniquely for Griffin targets 2020-03-12 17:00:13 +01:00
Autechre
76f0c14289
Merge pull request #10263 from jdgleaver/widget-scale-setting-cleanup
Use single 'Widgets Scale Override' setting on console and mobile platforms
2020-03-12 16:38:38 +01:00
Autechre
c20e83e50a
Merge pull request #10256 from jdgleaver/threaded-video-show-mouse
(Threaded Video) Enable proper mouse cursor show/hide functionality
2020-03-12 16:09:09 +01:00
jdgleaver
018209d6c2 Use single 'Widgets Scale Override' setting on console and mobile platforms 2020-03-12 11:29:53 +00:00
natinusala
375621394c gfx_widgets: move volume into its own file 2020-03-12 09:31:05 +01:00
natinusala
37a5e7ff08 gfx_widgets: cleanup 2020-03-12 09:29:04 +01:00
jdgleaver
27ab57bc05 (Threaded Video) Enable proper mouse cursor show/hide functionality 2020-03-11 16:26:17 +00:00
jdgleaver
b92dcd1334 (gfx_widgets) reorder internal status updates 2020-03-11 14:28:15 +00:00
jdgleaver
086c68bca7 Enable widget persistence across drivers_init()/driver_uninit() events 2020-03-11 11:47:13 +00:00
twinaphex
c4dfa1e12a (Gfx drivers) Cleanups 2020-03-10 19:52:05 +01:00
twinaphex
ae18fc808d Cleanups 2020-03-10 19:32:21 +01:00
twinaphex
92b09a9f60 (Video layout) Get rid of video_frame_info dependency 2020-03-10 19:10:02 +01: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
35a528a3e0 (Metal raster font) Remove dependency on video_info 2020-03-10 03:02:37 +01:00
Twinaphex
783f16b198 Updates 2020-03-10 02:48:01 +01:00
Twinaphex
238d72d187 Buildfix 2020-03-10 02:38:23 +01:00
Twinaphex
dde5f67962 Revert "(Metal raster font) remove video_frame_info dep"
This reverts commit f2df63e246.
2020-03-10 02:07:10 +01:00
twinaphex
f2df63e246 (Metal raster font) remove video_frame_info dep 2020-03-10 02:02:19 +01:00
twinaphex
083a0453c6 (PS2) Buildfix 2020-03-10 01:07:29 +01:00
twinaphex
1a854021a4 (Metal raster font) More simplifications 2020-03-09 22:47:40 +01:00
twinaphex
2da2dd3b0b (Metal raster font) Simplify code 2020-03-09 22:44:01 +01:00
twinaphex
c77861126f remove video_info deps 2020-03-09 22:35:25 +01:00
twinaphex
867bdad010 Get rid of unimplemented FPGA font driver 2020-03-09 22:13:17 +01:00
twinaphex
a395bf9355 (Drivers font) Start getting rid of video_frame_info dependency 2020-03-09 21:56:03 +01:00
twinaphex
43feea3496 (Drivers font) Add parameter 2020-03-09 21:34:14 +01:00
twinaphex
0ee8119459 (widgets) Nits 2020-03-09 19:35:49 +01:00
Twinaphex
adfef2a503
Merge pull request #10240 from natinusala/split-widgets
gfx_widgets: start moving widgets into their own file
2020-03-09 19:14:26 +01:00
twinaphex
252bb3a905 (GLX) Fixes fastforwarding issues 2020-03-09 19:13:43 +01:00
twinaphex
c007b68e6b (GLX) GLX OML was unstable with threaded video - remove it -
also put SwapInterval first instead of SwapIntervalEXT - this
makes fastforwarding work on Intel iGPUs
2020-03-09 18:37:20 +01:00
twinaphex
4e6f26d2e4 (Video drivers) Cleanups 2020-03-09 16:24:20 +01:00
twinaphex
9e9ad8d5eb (video_thread_wrapper) Remove unused CMD_POKE_SET_OSD_MSG 2020-03-09 16:19:07 +01:00
twinaphex
b7da58b40b (Gfx) Video driver cleanups 2020-03-09 16:15:53 +01:00
twinaphex
17bb6f7354 (D3D10) Cleanups 2020-03-09 15:55:37 +01:00
twinaphex
68678987c4 (Vulkan) Cleanups 2020-03-09 15:48:15 +01:00
twinaphex
cd152399a3 (GL) Cleanups 2020-03-09 15:40:14 +01:00
natinusala
b4ea5d3cd5 gfx_widgets: move screenshot widget into its own file 2020-03-09 14:40:31 +01:00
natinusala
8e3ef34c1f gfx_widgets: pipe all functions to the widgets 2020-03-09 14:40:31 +01:00
natinusala
3c1e9372ab gfx_widgets: add gfx_widget struct 2020-03-09 14:40:31 +01:00
twinaphex
ee2f25b1dc (Gfx drivers) Cleanups 2020-03-09 05:18:02 +01:00
twinaphex
cdbae18ae5 Cleanups 2020-03-09 04:13:41 +01:00
twinaphex
7d4e5b8ce5 No more video_info_frame dependency in gfx_thumbnail.c 2020-03-09 02:15:44 +01:00
twinaphex
7f958862fe cleanups 2020-03-09 01:32:05 +01:00
twinaphex
e08689ed98 (Menu) Cleanups 2020-03-09 01:26:43 +01:00
twinaphex
c3be8f45fc (Metal) Buildfix 2020-03-09 01:18:01 +01:00
twinaphex
a0446f778c Cleanups 2020-03-09 00:34:31 +01:00
twinaphex
5388448cf3 (gfx_widgets.c) Cleanups 2020-03-09 00:25:28 +01:00
twinaphex
8c39c804ee (gfx_widgets.c) Cleanups 2020-03-09 00:18:38 +01:00
twinaphex
13249f6011 Cleanups 2020-03-09 00:08:18 +01:00
twinaphex
d72596142e gfx_display_draw_quad - no longer dependent on video_frame_info 2020-03-08 23:56:22 +01:00
twinaphex
b24d1f06aa gfx_display_scissor_begin/end - get rid of video_frame_info dependency 2020-03-08 22:58:17 +01:00
twinaphex
044619281c gfx_display_draw - remove video_frame_info dependency 2020-03-08 22:52:02 +01:00
twinaphex
d42a76dec1 Simplify conditional and fix clear_color call 2020-03-08 22:36:51 +01:00
twinaphex
6cb6f76add gfx_display_rotate_z - get rid of video_frame_info dependency 2020-03-08 22:33:11 +01:00
twinaphex
e4aa0fd544 (gfx display) Get rid of video_frame_info dependency for
blend_begin/blend_end
2020-03-08 22:28:42 +01:00
twinaphex
c16568cf32 (gfx drivers display) No more video_frame_info dependency 2020-03-08 22:06:08 +01:00
twinaphex
7a9684b6ea (Gfx display) scissor_begin/scissor_end - drop video_frame_info dependency 2020-03-08 22:06:08 +01:00
twinaphex
591bb36e03 (gfx display) blend_begin/blend_end - no more dependency on
video_frame_info
2020-03-08 21:02:03 +01:00
twinaphex
809e22ec1a (gfx display) set_viewport - no longer dependent on video_frame_info 2020-03-08 20:23:39 +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
7c7eeff0fb Move display_server code into retroarch.c 2020-03-08 18:48:15 +01:00
twinaphex
2497ac4584 (video_crt_switch.c) Move static global variables to struct 2020-03-08 18:48:15 +01:00
twinaphex
c32cb51755 Cleanups 2020-03-08 01:45:29 +01:00
twinaphex
cfa90a4a36 (gfx/drivers_display) cleanups 2020-03-08 01:28:15 +01:00