Rémi
6c47f02bdf
Fixing OpenGL shader rotation
2019-11-16 19:52:47 +01:00
Rinnegatamante
2a77dc5600
Make code C89 compliant.
2019-11-13 21:44:59 +01:00
Rinnegatamante
96845f4a7e
[VITA] Removing a no more used ifndef.
2019-11-13 00:45:48 +01:00
Rinnegatamante
2b20c8d350
[GL1] Fixed core frame renderer.
2019-11-12 19:46:37 +01:00
Rinnegatamante
f3ca57e6f0
[VITA] Add vita video driver context.
2019-11-12 16:33:36 +01:00
Rinnegatamante
6b7673f806
[VITA] Fixing gl1 video driver crashes.
2019-11-12 15:37:37 +01:00
Rinnegatamante
1533d618e5
[VITA] Allow usage of null context with gl1.
2019-11-12 13:50:14 +01:00
Rinnegatamante
6394342b9c
[VITA] Add gl1 video driver support through vitaGL.
2019-11-12 11:54:00 +01:00
Francisco Javier Trujillo Mata
fd75ae487e
Disable the duplication FPS in PSP
2019-10-16 00:46:29 +02:00
Rinnegatamante
26b0bc771d
Add vulkan context logging.
2019-10-13 17:47:08 +02:00
Twinaphex
2d769d4bfb
Merge pull request #9558 from justinweiss/ctr-gfx-fix-flickering-with-osd
...
Fix 3DS screen flickering when OSD is enabled
2019-10-06 03:39:23 +02:00
Justin Weiss
64dc3dde40
Fix 3DS screen flickering when OSD is enabled
...
On the 3DS, for some cores, the screen will flicker if OSD is enabled,
and sometimes when going in and out of the menu.
As far as I can tell, this happens when a frame is dup'd, and we send
0x0 as the frame to the gfx driver. When that happens, we still draw
the OSD, using a vertex shader to transform and render it at the right
size.
When the frame is 0x0, though, the vertex shader uniforms are never
_reset_ to redraw the previous frame, so it's drawn with different
params, and gets drawn the wrong size. It will draw as the correct
size when the correct vertex shader uniforms are set, and the
incorrect size when the incorrect uniforms are set, causing
flickering.
At least, that's what I think is happening. Forcing the vertex shader
to be set regardless of whether the frame data is set fixes it, at
least during some light testing with PCSX.
2019-10-05 14:21:42 -07:00
Francisco Javier Trujillo Mata
c48ccdb1fc
Fix memory leak in the PS2 GFX and PS2 Font
2019-10-03 23:41:56 +02:00
twinaphex
547f8968aa
(GL1) Buildfix + cleanups
2019-10-01 03:14:18 +02:00
GH Cao
27d2877106
gl1: take care of const
2019-10-01 06:51:29 +08:00
GH Cao
897488862e
gl1: adapt C89
2019-10-01 06:24:06 +08:00
driver1998
0212567d75
Support GLDirect (D3D9 to OGL1.1 wrapper) in gl1 driver
2019-10-01 06:02:30 +08:00
twinaphex
c5b3428408
Add sdl2_common.c/.h
2019-09-22 12:40:40 +02:00
twinaphex
c7fd375120
Create video_driver_display_userdata_{set/get}
2019-09-22 07:35:05 +02:00
twinaphex
03bddff8e6
Cleanups of update_window_title functions
2019-09-22 03:05:06 +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
twinaphex
b28c405377
Backport and rebase initial FPGA port that was done in 2017 (port
...
done for Z-Turn board) - has some outstanding issues such as
very slow framebuffer software rendering output that needs to
be overcome before this becomes usable - community help needed
2019-09-17 08:16:50 +02:00
twinaphex
861262ef3a
(network gfx) Cleanup
2019-09-17 05:04:57 +02:00
Brad Parker
c7c7d0988e
initial network video driver, sends raw frames over TCP
2019-09-17 04:18:44 +02:00
jdgleaver
3a680df733
(glcore) Ensure correct scaling of menu texture (RGUI)
2019-09-03 12:52:26 +01: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
aeedeb14a9
(Vita) Vita has no video context driver set, so this can go
2019-08-28 21:30:17 +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
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
d52c573e13
Merge slang_preprocess.cpp into slang_process.cpp
2019-08-18 18:55:22 +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
3585d56067
(Vita2D) video_driver_get_size was used for no reason here
2019-08-13 12:34:34 +02:00
twinaphex
dc3711b35f
(GX2) video_driver_get_size was used for no reason here
2019-08-13 12:33:09 +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
4a09f66c7b
(GL drivers) Cleanups
2019-08-12 22:04:27 +02:00
twinaphex
ed6f682754
Make code more similar to gl2 video driver
2019-08-12 21:07:12 +02:00
twinaphex
fdd45f1f6b
(glcore) memset is unnecessary
2019-08-12 20:55:46 +02:00
twinaphex
2a631bd031
(glcore) Turn this into macro
2019-08-12 20:52:33 +02:00
twinaphex
a45c9b6eb4
Duplicate aspect ratio code that was being ran twice
2019-08-12 12:52:40 +02:00
twinaphex
211e664e5d
(GX2) Cleanups
2019-08-08 14:54:21 +02:00
twinaphex
65b4c2595e
Update set keyboard mapping code for input driver
2019-07-27 02:21:24 +02:00
orbea
779fbabc79
Fix CXX_BUILD=1 with libsixel.
2019-07-22 14:24:40 -07:00
Roman Fomin
e01095a51b
Fix maintaining aspect ratio
2019-07-23 01:33:43 +07:00
LazyBumHorse
f8b92770d4
simplify video_shader_read_conf_preset() calls
2019-07-21 18:15:28 +02:00
twinaphex
b33eb9bacf
Cleanups
2019-07-21 12:13:04 +02:00
twinaphex
b6b22a9a32
More shader refactors - make sure we can compile entirely
...
without shader support if HAVE_CG, HAVE_GLSL, HAVE_SLANG
and HAVE_HLSL are all not defined
2019-07-21 00:34:07 +02:00
Twinaphex
388c4857d3
Merge pull request #9140 from LazyBumHorse/shader_paths
...
much improved handling of relative shader paths
2019-07-20 21:54:58 +02:00
LazyBumHorse
2245af23e9
much improved handling of relative shader paths
...
- save texture paths in relative format as well
- always write portable relative paths on Windows using '/' instead of '\'
- remove an ancient piece of code that could sometimes fail loading relative paths
- fix absolute path handling between different drives for Windows
- integrate video_shader_resolve_relative() into video_shader_parse_* functions
2019-07-20 18:29:46 +02:00
twinaphex
a0060182e3
Add more ifdefs covering HAVE_THREADS and HAVE_AUDIOMIXER
2019-07-20 16:09:39 +02:00
twinaphex
d905986a52
Rename functions - change rarch_ prefix to retroarch_
2019-07-20 12:43:43 +02:00
twinaphex
c0787accc3
Use config_file_new_from_path_to_string
2019-07-18 12:13:09 +02:00
twinaphex
27a65714f2
Remove some globals
2019-07-12 00:21:31 +02:00
twinaphex
a867e3916e
(D3D9) Silence warning when neither HAVE_MENU or HAVE_OVERLAY
...
is defined
2019-07-11 01:10:00 +02:00
twinaphex
dc40a2ab66
(Travis) Another Travis buildfix
2019-07-11 01:03:35 +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
LazyBumHorse
f5497a4249
fix some bugs found through Clang Static Analyzer:
...
- task_content.c, load_content_from_compressed_archive: fix use after free
- platform_win32/uwp: fix frontend_..._get_powerstate never returning FRONTEND_POWERSTATE_NONE
- platform_win32/uwp: fix whitespace
- cheevos.c: fix potential use after free in a loop, just to be save
2019-07-04 21:15:19 +02:00
LazyBumHorse
c4530eb3f4
d3d9: add Cg/HLSL shader runtime check depending on the used renderchain
2019-06-25 10:57:46 +02:00
LazyBumHorse
17ec59ff21
enable Cg shader flag for d3d9
2019-06-24 23:41:05 +02:00
Twinaphex
f23497fd80
Merge pull request #9014 from LazyBumHorse/fix_d3d9
...
fix d3d9 not rendering xmb and temporarily disable widgets due to segfault
2019-06-24 16:07:03 +02:00
LazyBumHorse
1f69f3960a
fix d3d9 not rendering xmb and temporarily disable widgets due to segfault
2019-06-24 15:42:55 +02:00
twinaphex
405d3fec67
(CXX_BUILD) Silence warning
2019-06-24 15:09:56 +02:00
Twinaphex
596b375da5
Merge pull request #9001 from LazyBumHorse/metal_cocoa_flags
...
fix shader flags for metal
2019-06-22 14:53:18 +02:00
LazyBumHorse
b8258a711a
workaround for metal not being able to poll shader flags during init
2019-06-22 14:22:34 +02:00
Twinaphex
98c1f04635
Merge pull request #8998 from LazyBumHorse/fix_gl_set_shader
...
fix black screen in gl if video shaders were switched from on to off in the shader menu
2019-06-22 13:18:25 +02:00
LazyBumHorse
b5199d7921
fix black screen in Metal
2019-06-22 11:07:08 +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
761636a540
(Wiiu) add forward declaration
2019-06-20 21:10:07 +02:00
twinaphex
3a9a8d8d70
(WiiU) Buildfix
2019-06-20 08:38:40 +02:00
Twinaphex
c523acbfe7
Merge pull request #8989 from LazyBumHorse/fake_context
...
temporary workaround for d3d10-12, gx2 not being able to poll flags during init
2019-06-20 00:37:53 +02:00
twinaphex
71e86bcc9c
(GLSL) Put this around HAVE_GLSL ifdefs
2019-06-19 22:34:05 +02:00
LazyBumHorse
7b6444d911
temporary workaround for d3d10-12, gx2 not being able to poll flags during init
2019-06-19 19:10:40 +02:00
twinaphex
5d91af629e
Set SHADERS_SLANG flag for D3D10/11/12 and query the video driver poke
...
interface's 'get flags' function before querying the video context
driver's 'get flags' function (D3D10/11/12/WiiU don't have a context
driver at all)
2019-06-19 03:18:28 +02:00
Brad Parker
d01f04c146
d3d10/11/12: add GPU selection
2019-06-18 16:35:50 -04:00
Twinaphex
a9a1ff0047
Merge pull request #8979 from LazyBumHorse/fix_dolphin_crash
...
workaround for crash due to glcore not always using at least OpenGL 3.2
2019-06-18 20:18:14 +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
LazyBumHorse
76438fa098
workaround for crash due to glcore not always using at least OpenGL 3.2
2019-06-17 18:28:04 +02:00
twinaphex
f061941456
Integrate record_driver.c into retroarch.c
2019-06-17 16:23:46 +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
jdgleaver
e6c236d275
(Wii) Add widescreen RGUI support
2019-06-11 15:57:50 +01:00
Tatsuya79
3b31dafa7e
glcore rotation fix for desmume
2019-06-06 20:11:08 +02:00
Tatsuya79
1cc307a879
glcore fix wrong rotation with HW cores
2019-06-06 17:05:07 +02:00
Ash Logan
24fba02a9f
(GX2) Display menu texture at full opacity
...
rgui does its own transparency effects in the texture, so we don't have
to add another 50% on that
2019-06-05 23:19:35 +10:00
Ash Logan
87be0d366f
(GX2) Use correct pixelformat ordering for menu texture
...
This fixes up some backwards colours on wiiu, resulting in all the
themes looking lovely.
2019-06-05 23:18:09 +10:00
jdgleaver
736ff13e35
(GEKKO) Add optional overscan correction
2019-06-04 15:50:47 +01:00
Ash Logan
3d40a3bcaf
(GX2) Respect filtering settings for menu
2019-06-03 21:41:03 +10:00
Ash Logan
3461955dae
(GX2) Scale menu to viewport size
2019-06-03 21:38:40 +10:00
Ash Logan
ab4ca8cf1b
(GX2) Use correct menu coordinates to render menu
2019-06-03 20:35:46 +10: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
Brad Parker
086b3ccfb7
gl1: ignore alpha in core video, fixes XRGB8888 rendering in some cores
2019-05-25 17:08:30 -04:00
LazyBumHorse
ee3cda8abf
added "FrameDirection" slang semantic and implementation for glcore and vulkan
2019-05-24 22:11:12 +02:00
twinaphex
6aed230930
Reimplement 'Take Screenshot' - if GPU-accelerated viewport screenshots
...
are not available, resort to raw screenshots instead
2019-05-22 07:08:11 +02:00
Brad Parker
711ea77390
glcore: store GPU device/version string
2019-05-21 21:43:31 -04:00
Dwedit
24fa0cd5b5
Move `pool_info.flags = VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT;` to after the other variable declaration (so all variable declarations happen before any other code)
2019-05-17 14:29:23 -05: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
360f8189e0
(D3D8/D3D9) Screenshots don't seem to work, disabling
2019-05-05 14:25:16 +02:00
twinaphex
f349410082
(CTR/3DS) hide 'Take Screenshot' since screenshots are not implemented
...
anyway
2019-05-05 14:14:14 +02:00
twinaphex
3b110c0e3b
(D3D8) Add 'Screenshots supported'
2019-05-05 13:55:12 +02:00
twinaphex
c3d2b190f2
(dispmanx) Implement get_flags
2019-05-05 13:49:06 +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
orbea
9e9849170d
Silence unused function with --disable-menu.
...
gfx/drivers/gl_core.c:1529:13: warning: ‘gl_core_draw_menu_texture’ defined but not used [-Wunused-function]
static void gl_core_draw_menu_texture(gl_core_t *gl, video_frame_info_t *video_info)
^~~~~~~~~~~~~~~~~~~~~~~~~
2019-05-04 08:26:49 -07:00
twinaphex
066643ac6e
(GX2) Buildfix
2019-05-01 00:11:43 +02:00
twinaphex
bc2bdd5734
config_file_read not needed anymore
2019-04-30 13:37:10 +02:00
twinaphex
c2f95940fb
(GL1) Whether GL1 driver has windowed mode support or not
...
depends on the video context driver and not the video driver itself
2019-04-29 07:21:37 +02:00
twinaphex
3e72c502a8
strlen optimizations :
...
- use STRLEN_CONST for constant strings, translates to sizeof
which should be computed at compile-time
- found some places where we are needlessly calling strlen two
times instead of just once
2019-04-27 04:21:10 +02:00
Twinaphex
e9bbc8d8dd
(gl_core.c) Remove unused variable
2019-04-24 03:49:34 +02:00
twinaphex
04d062b3d4
(MSVC2003) Enable HAVE_OPENGL1; make HAVE_OPENGL1 independent from
...
HAVE_OPENGL
2019-04-22 22:48:23 +02:00
twinaphex
146b4ccc50
Use config_file_read in more places
2019-04-22 02:20:04 +02:00
twinaphex
499235cd40
(CXX_BUILD) Another buildfix
2019-04-20 19:55:50 +02:00
Brad Parker
e7dbac7eb0
prevent null derefs found by scan-build
2019-04-18 11:46:53 -04:00
jdgleaver
a9a5782cc0
(3DS) Fix screen tearing when running 50Hz content
2019-04-16 15:44:47 +01:00
jdgleaver
54e1711f9a
(3DS) Sanitise/Improve display mode selection
2019-04-15 17:05:55 +01:00
Brad Parker
95145ec0d4
remove debug code
2019-04-12 21:17:04 -04:00
Brad Parker
b8471aa3dc
gl1: add gpu hard sync support and print osd statistics
2019-04-12 19:28:34 -04:00
Huw Pascoe
fed06044c4
silence warnings
2019-04-12 17:32:11 +01:00
twinaphex
702c889cd1
(D3D10/11/12) Menu widgets can now appear ingame
2019-04-11 02:22:21 +02:00
Themaister
f82601c4a8
glcore: Fix GLES build.
2019-04-08 21:17:13 +02:00
twinaphex
0af7167586
(GL1) Add menu widgets support
2019-04-08 18:58:26 +02:00
twinaphex
c12e8dea07
(D3D10/11) All struct members are already being set
2019-04-08 18:42:52 +02:00
jdgleaver
9fff07e589
(Menu Widgets) Fix text alignment issues with Vulkan and D3D video drivers
2019-04-08 13:35:35 +01:00
Brad Parker
9579804c72
gl1: add overlay support
2019-04-05 23:07:59 -04:00
twinaphex
ab33d16da1
Small cleanup
2019-04-03 16:33:16 +02:00
twinaphex
25ba8f4ab0
(GL1) GL1.x won't have mipmapping support
2019-04-03 16:13:01 +02:00
orbea
3fb4ed753d
Fix caca warning.
...
One too many lines were removed in
commit f67bfa24ef
.
2019-03-19 21:54:51 -07: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
a8a06d498c
gl1: fix matrix not loading when threaded video is on
2019-03-17 12:46:01 -04:00
Francisco Javier Trujillo Mata
adf2743464
Implement CDFS and custom file descriptor support
2019-03-15 20:19:14 +01:00
Themaister
e3a88e8806
glcore: Set frame count in shader interface.
2019-03-15 15:36:18 +01:00
twinaphex
c8eb85ec2e
Implement gl_core_wrap_type_to_enum
2019-03-14 20:04:04 +01:00
twinaphex
643cd1923e
CXX_BUILD / C89_BUILD buildfixes
2019-03-14 14:14:44 +01:00
Brad Parker
8064672f11
gl: set shader data to null after deinit
2019-03-13 16:22:04 -04:00
Brad Parker
97247dbaec
gl1: check for vender/renderer was in the wrong place
2019-03-13 14:44:03 -04:00