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
jdgleaver
086c68bca7
Enable widget persistence across drivers_init()/driver_uninit() events
2020-03-11 11:47:13 +00: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
f4c5036c3c
Get rid of video_frame_info dep for fonts
2020-03-10 03:24:59 +01:00
twinaphex
cd152399a3
(GL) Cleanups
2020-03-09 15:40:14 +01:00
twinaphex
b1337d0a21
(GL) Move shared_context_use into struct
2020-03-07 17:34:35 +01:00
twinaphex
267800abaa
(GL) Start reducing dependency on video_frame_info
2020-03-07 00:58:06 +01:00
twinaphex
e20151a048
Get rid of video_info struct for swap_buffers too
2020-03-06 22:29:51 +01:00
twinaphex
68664fdf1d
update_title - we don't need video_info
2020-03-06 22:11:44 +01:00
twinaphex
4aae293e3d
Remove is_shutdown from check_window
2020-03-06 20:29:31 +01:00
twinaphex
6fd784375a
Update
2020-03-06 02:25:28 +01:00
twinaphex
534f09373e
Get rid of video_driver_height dependency
2020-03-05 22:03:58 +01:00
twinaphex
52fae101e8
(GL) Get rid of video_driver_build_info dependency
2020-03-05 21:45:02 +01:00
twinaphex
e65c816ed0
(GL) Will have to rework set_viewport for the GL drivers -
...
video drivers should not be calling video_driver_build_info as
they could be on a separate thread
2020-03-05 20:29:51 +01:00
twinaphex
da60c1bb96
Header cleanups
2020-03-05 14:06:04 +01:00
twinaphex
80991a00f0
Settings cleanups
2020-03-02 20:24:00 +01:00
twinaphex
682462fb20
Cleanups
2020-02-19 19:23:10 +01:00
twinaphex
3a94c52426
(gfx drivers) Start reducing settings pointer usage
2020-02-18 14:51:40 +01:00
twinaphex
6d09d29093
Be more safe with these functions - this was causing crashes on
...
MSVC 2005
2020-02-18 04:18:31 +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
ec302bc4fc
video_set_nonblock_state - remove settings dependency
2020-02-16 22:26:07 +01:00
twinaphex
47af95469a
(font_driver.c) Remove configuration.h dependency
2020-02-16 21:59:03 +01:00
twinaphex
e47b7526bc
(gfx) Cleanups
2020-02-13 23:24:51 +01:00
twinaphex
f0e889b552
Change prototype of video_driver_set_size
2020-01-31 15:06:50 +01:00
jovonna
decd374c15
Initial port to dingux platform
2020-01-04 12:20:03 -05:00
twinaphex
f92a507a9b
Change function signature of font_driver_render_msg
2020-01-04 16:24:14 +01:00
driver1998
de203390be
[Windows] Add ANGLE support
2019-12-06 13:24:17 +08:00
twinaphex
ed8e440b0d
Revert "Move update_window_title to main thread - this should resolve some"
...
This reverts commit 442608981d
.
2019-11-19 22:48:35 +01:00
twinaphex
442608981d
Move update_window_title to main thread - this should resolve some
...
concurrency issues on OSX as well
2019-11-19 22:13:51 +01:00
Rémi
6c47f02bdf
Fixing OpenGL shader rotation
2019-11-16 19:52:47 +01:00
twinaphex
03bddff8e6
Cleanups of update_window_title functions
2019-09-22 03:05:06 +02:00
twinaphex
cb8107a154
remove video_context_driver_init_image_buffer
2019-08-29 11:26:28 +02:00
twinaphex
d406fee72e
Remove video_context_driver_suppress_screensaver
2019-08-28 22:52:41 +02:00
twinaphex
c50cc7b010
Remove video_context_driver_show_mouse
2019-08-28 21:36:58 +02:00
twinaphex
fa3b927ece
Get rid of video_context_driver_get_proc_address
2019-08-28 21:26:43 +02:00
twinaphex
88720b540e
Get rid of video_context_driver_swap_interval
2019-08-28 21:12:51 +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
980be6dba3
(GL2) Cleanups
2019-08-14 16:40:47 +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
4a09f66c7b
(GL drivers) Cleanups
2019-08-12 22:04:27 +02:00
twinaphex
a45c9b6eb4
Duplicate aspect ratio code that was being ran twice
2019-08-12 12:52:40 +02:00
twinaphex
65b4c2595e
Update set keyboard mapping code for input driver
2019-07-27 02:21:24 +02:00
twinaphex
d905986a52
Rename functions - change rarch_ prefix to retroarch_
2019-07-20 12:43:43 +02:00
twinaphex
405d3fec67
(CXX_BUILD) Silence warning
2019-06-24 15:09:56 +02:00
LazyBumHorse
e5421940be
fix gl's and d3d9's set_shader not returning to stock if path is NULL
2019-06-21 14:10:55 +02:00
twinaphex
71e86bcc9c
(GLSL) Put this around HAVE_GLSL ifdefs
2019-06-19 22:34:05 +02:00
LazyBumHorse
c20c67bd3a
proper shader compatibility checks
...
- move shader flags from the video drivers to the context drivers
- rework config_load_shader_preset() from configuration.c into retroarch_load_shader_preset() in retroarch.c with proper compatibility check
- implicitly call retroarch_load_shader_preset() in retroarch_get_shader_preset() once per core/content life cycle
- use video_shader_is_supported() instead of video_driver_test_all_flags() where appropriate
- remove GFX_CTX_FLAGS_NONE because it is meaningless
2019-06-18 13:46:41 +02: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
LazyBumHorse
42e35c825f
refactor some video_shader_parse functions
...
- video_shader_parse_type()'s fallback only worked for NULL paths and was wrongly used, now returns RARCH_SHADER_NONE like video_shader_get_type_from_ext().
- video_shader_get_type_from_ext() should not be checking video driver flags, this is instead done by video_shader_is_supported()
- video_driver_get_all_flags() did not actually 'get' flags, changed to video_driver_test_all_flags()
workaround for crash due to glcore not always using at least OpenGL 3.2
2019-06-18 13:12:56 +02:00
twinaphex
f061941456
Integrate record_driver.c into retroarch.c
2019-06-17 16:23:46 +02:00
twinaphex
ecb6318f40
Some buildfixes
2019-05-13 01:07:02 +02:00
Huw Pascoe
acb28a38c4
video_layout gl basic implementation
2019-05-11 14:23:26 +01:00
Huw Pascoe
2c56011f84
video_layout interface
2019-05-11 09:58:48 +01:00
Nathan S
edb37ccf70
menu widgets: cleanup fix and draw above overlay for gl and vulkan ( #8732 )
...
* menu_widgets: cleanup properly all widgets when loading or closing content
* gl: draw menu widgets above overlay
* vulkan: draw menu widgets above overlay
* vulkan: draw OSD above overlay
* menu_widgets: better cleanup
2019-05-11 06:26:40 +02:00
twinaphex
a0b2d97ca3
Hide 'Take Screenshot' for video drivers that don't support
...
taking screenshots yet
2019-05-05 13:46:26 +02:00
twinaphex
499235cd40
(CXX_BUILD) Another buildfix
2019-04-20 19:55:50 +02:00
twinaphex
ab33d16da1
Small cleanup
2019-04-03 16:33:16 +02:00
twinaphex
794f9c8968
(GL) Add comments
2019-03-18 16:02:28 +01:00
twinaphex
7c93da1360
(GL2) Simplifications
2019-03-18 15:57:43 +01:00
twinaphex
819016b00c
Move video_shader_driver_init to gl.c
2019-03-18 15:52:21 +01:00
twinaphex
27928081cf
Cleanups
2019-03-18 15:27:37 +01:00
twinaphex
f67bfa24ef
Get rid of video_poke_interface set_mvp
2019-03-18 15:19:11 +01:00
twinaphex
fe1255094f
Get rid of now unused set_coords in video_driver_poke_interface
2019-03-18 05:04:23 +01:00
Brad Parker
8064672f11
gl: set shader data to null after deinit
2019-03-13 16:22:04 -04:00
twinaphex
b347b26d61
Reimplement shader flags being set - GL core should have only
...
Slang support and no GLSL, with the GL2 driver it is dependent
on the context driver
2019-03-13 14:06:50 +01:00
twinaphex
cd77093588
Reimplement gl2_get_flags to no longer be reliant on shader driver's
...
get flags implementation
2019-03-13 12:12:02 +01:00
twinaphex
191d0c0309
Add get_flags to GL shader interface
2019-03-13 11:21:00 +01:00
twinaphex
3d06b4aee2
Add comment about hack
2019-03-12 21:47:35 +01:00
cold-brewed
8a6de4adfb
(macOS) Add temporary GL hack
2019-03-11 19:16:59 -04:00
Brad Parker
10df615d14
add "Send Debug Info" option under Help
2019-03-07 19:17:54 -05:00
twinaphex
74a35d8be1
(GL2) Add GL1 fallback
2019-02-21 21:49:22 +01:00
Brad Parker
3a431adf02
gl: draw OSD on top of overlay
2019-02-17 18:51:19 -05:00
twinaphex
eee2445c45
(GL) Buildfix for GL_DEBUG
2019-02-09 04:07:12 +01:00
twinaphex
6d54ebfcec
(GL2) Some cleanups
2019-02-07 23:54:33 +01:00
twinaphex
c1415d70f8
(GL2) Fix warnings with CXX_BUILD
2019-02-07 23:16:50 +01:00
natinusala
c20ab3864d
First version of menu widgets (gl only)
2019-02-06 20:48:24 +01:00
twinaphex
c48febc4f9
(GL2) Cleanups
2019-02-06 19:49:45 +01:00
twinaphex
1e394091d8
Namespace GL2 driver
2019-02-06 19:43:31 +01:00
twinaphex
1b79f08715
(GL) Use set_coords function directly
2019-02-05 02:24:13 +01:00
twinaphex
ba9de324bf
Simplify gl.c
2019-02-05 02:19:16 +01:00
twinaphex
9877e1ce3e
(GL) Cleanups
2019-02-05 02:12:42 +01:00
twinaphex
5102eff399
(GL) Move GL-only shader code to gl.c
2019-02-05 01:13:39 +01:00
Twinaphex
7fedabee4b
Merge pull request #8163 from orbea/cleanup
...
Cleanup
2019-02-04 23:19:05 +01:00
twinaphex
845b30131f
Cleanups
2019-02-04 23:17:39 +01:00
orbea
28ff4b391a
Clean up white space.
2019-02-03 16:00:50 -08:00
twinaphex
4cbbd3470b
Revert "Simplify video_driver_set_mvp"
...
This reverts commit 1dd89e1bce
.
2019-02-03 19:40:48 +01:00
twinaphex
4aadd53d80
Revert "Get rid of video_shader_driver_scale"
...
This reverts commit 256b28fa2a
.
2019-02-03 19:40:36 +01:00
twinaphex
1eeb58c5dd
Revert "Cleanups"
...
This reverts commit 4554669750
.
2019-02-03 19:40:27 +01:00
twinaphex
5a45464bb3
Revert "Reimplement video_driver_set_coords"
...
This reverts commit 93ded925d3
.
2019-02-03 19:40:21 +01:00
twinaphex
43884758c5
Revert "(GL) Cleanups"
...
This reverts commit 5bab7e4460
.
2019-02-03 19:40:15 +01:00
twinaphex
5bab7e4460
(GL) Cleanups
2019-02-03 18:38:18 +01:00
twinaphex
93ded925d3
Reimplement video_driver_set_coords
2019-02-03 18:29:00 +01:00
twinaphex
dd366cd5c5
Revert "Simplify set_coords"
...
This reverts commit e10eb51f71
.
2019-02-03 18:05:14 +01:00
twinaphex
e10eb51f71
Simplify set_coords
2019-02-03 18:03:07 +01:00
twinaphex
4554669750
Cleanups
2019-02-03 17:49:31 +01:00
twinaphex
256b28fa2a
Get rid of video_shader_driver_scale
2019-02-03 17:39:25 +01:00
twinaphex
67e777767c
Revert "Remove video_shader_driver_get_ident"
...
This reverts commit 0814cc34ee
.
2019-02-03 07:07:50 +01:00