Commit Graph

537 Commits

Author SHA1 Message Date
jdgleaver 73bcd7a692 Enable correct vertical alignment of text (+ font rendering fixes) 2020-03-31 16:55:22 +01:00
twinaphex 26bb0105c0 (Vita) Buildfix 2020-03-12 20:54:38 +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 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 cdbae18ae5 Cleanups 2020-03-09 04:13:41 +01:00
twinaphex 6505080d64 (gfx drivers font) Get rid of as many video_frame_info
dependencies as possible
2020-03-07 20:48:26 +01:00
twinaphex be861cf55d (gfx drivers font) Reduce dependency on video_frame_info 2020-03-07 20:11:39 +01:00
twinaphex efe72dea94 (Caca) Put everything into the struct 2020-03-07 16:42:12 +01:00
twinaphex 7be7815933 (libnx) Buildfix 2020-03-07 06:49:10 +01:00
twinaphex e8ff0fddca (drivers_font) More untangling of video_info 2020-03-07 05:48:21 +01:00
twinaphex f3c6799b4e (drivers_font) switch_font - cleanups 2020-03-07 05:25:28 +01:00
twinaphex 3e891c6237 (drivers font) Start making the code independent of video_frame_info 2020-03-07 04:45:27 +01:00
twinaphex ee9c6ef5ba (Font driver) Get rid of more video_frame_info dependencies 2020-03-07 01:41:00 +01:00
twinaphex 2e034c1574 (gfx/drivers_font) header cleanups 2020-03-05 14:01:34 +01:00
twinaphex 880391d0c5 (libnx) Try to silence warnings 2020-02-10 12:36:11 +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
jdgleaver 7ad4becedb (Vulkan) Fix font driver 'vulkan_get_message_width()' function 2019-12-29 14:44:07 +00:00
Francisco José García García b4be7b0c74 (Vita) Several improvements to vita2d driver 2019-12-14 14:11:47 +01:00
Rinnegatamante bed9847b48 [VITA] Hijacking wrong positioning for UI elements. 2019-11-12 19:06:18 +01:00
Rinnegatamante 66bdf711f4 [VITA] Back to GL_LUMINANCE_ALPHA usage. 2019-11-12 16:33:47 +01:00
Rinnegatamante 6b7673f806 [VITA] Fixing gl1 video driver crashes. 2019-11-12 15:37:37 +01:00
twinaphex f678a06b95 Remove xbox 360 fonts 2019-10-19 16:42:39 +02: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 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
Tor Arne Vestbø 204407b64a metal: Set up correct viewport before rendering overlay 2019-09-02 18:02:30 +02:00
Tor Arne Vestbø a7723ba13f Explicitly invalidate atlas buffer when rendering text with Metal
Fixes #9016
2019-09-01 18:46:26 +02:00
twinaphex ca5e51f116 Remove video_context_driver_make_current 2019-08-29 11:13:17 +02:00
twinaphex 558e50b5a0 Get rid of unused code libdbgfont 2019-08-13 11:42:46 +02:00
Brad Parker cb2be97e7d fix unused warning, add extra info to cdrom print 2019-07-31 17:51:58 -04:00
twinaphex 44efbd47c2 Prevent null pointer dereference 2019-07-18 21:00:35 +02:00
twinaphex ee3208ac39 Integrate video_driver.c into retroarch.c 2019-06-17 15:10:22 +02:00
jdgleaver 54e1711f9a (3DS) Sanitise/Improve display mode selection 2019-04-15 17:05:55 +01:00
jdgleaver 4065dbf18e (Menu Widgets) Fix text alignment issues for ctr, metal and vita2d drivers 2019-04-08 15:13:19 +01: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 48dc251303 gl1: add scissor reset from gl 2019-04-05 18:17:11 -04:00
twinaphex 27928081cf Cleanups 2019-03-18 15:27:37 +01:00
twinaphex 03641f2378 (GL1) Cleanups 2019-03-18 04:50:50 +01:00
twinaphex ab814efc62 (GL raster font) Don't have to call video_driver_set_coords/
video_driver_set_mvp anymore
2019-03-18 04:46:27 +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
Francisco Javier Trujillo Mata 652300f674 [PS2] Fixed memory leaks in the ps2_font 2019-03-07 00:14:59 +01:00
Francisco Javier Trujillo Mata 0e7d5ed32b Improvements regarding the ps2 font driver 2019-02-26 21:02:29 +01: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
natinusala 631f9e6b8e font driver: expose line height 2019-02-17 16:54:24 +01:00
twinaphex 420f3a171b (GL1) Update - add HAVE_OPENGL1 to MSVC 2005/2008/2010/2012 2019-02-16 21:26:01 +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
Twinaphex aac14a00a4
Merge pull request #8233 from orbea/sixel
Fix warnings with --enable-sixel.
2019-02-09 00:27:11 +01:00
orbea 78dbe1cef1 Fix warnings with --enable-sixel. 2019-02-08 14:13:02 -08:00
Brad Parker 74fd184097 initial GL1 video driver, only rgui is working currently 2019-02-08 12:14:55 -05:00
orbea 28ff4b391a Clean up white space. 2019-02-03 16:00:50 -08: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 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 62bea6ad11 SOme header cleanups 2019-02-02 22:02:24 +01:00
M4xw c111b4a7f0 Fix double semicolon and format line endings 2019-01-11 23:48:52 +01:00
Francisco Javier Trujillo Mata 29948c0878 Apply guideline styles for PS2 files 2019-01-10 09:37:09 +01:00
Francisco Javier Trujillo Mata a2db47bead Improve manage of VRAM in the GFX and Font Driver for PS2 2019-01-10 02:25:02 +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
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
Francisco Javier Trujillo Mata cd764ac37b Remove not needed free in the FONT driver 2019-01-07 23:02:01 +01:00
Francisco Javier Trujillo Mata 26ce69694f Create Font driver for PS2 2019-01-07 21:51:48 +01: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 2517670f80 gdi: remove unused variable 2018-10-10 17:54:38 -04:00
twinaphex 04cc181771 Cleanups 2018-10-10 16:18:29 +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 0158bbe4aa Add switch_nx_gfx.c 2018-09-12 21:44:53 +02:00
twinaphex eb345019c2 Don't implement bind_block/flush_block for drivers that
don't implement it
2018-07-15 20:16:40 +02:00
twinaphex 0d39701145 Get rid of double void argument 2018-07-14 00:54:14 +02:00
Stuart Carnie 167ad3b57d fix(Metal): Various Metal fixes
* OSD message background
* clear glui background
* add Metal to configuration
* added optional config to compile Metal build without OpenGL
* fixed fill_pathname_join_delim; if out_path and dir are same, don't
  strlcpy, as the results are undefined.
2018-07-12 21:33:18 -07:00
Brad Parker ab27b7c85f initial SIXEL video driver 2018-07-12 16:55:08 -04:00
twinaphex 22d6930488 Some MSVC 2010 360 buildfixes 2018-07-06 04:45:52 +02:00
Stuart Carnie 5240efc857 chore(Metal): fix compiler warnings when targeting newer macOS versions 2018-07-04 00:24:04 -07:00
Stuart Carnie a0900ec433 feat(Metal): full xmb pipeline support
Menu TODOs:

* understand why ribbon does not look the same as GL
* add clear support to `MenuDisplay` for glui
2018-07-03 22:32:12 -07:00
Stuart Carnie 4a101734a1 More cleanup
* use single render command encoder for display for better performance
* Context handles all rendering and presentation
2018-07-03 22:32:12 -07:00
Stuart Carnie 5e1f991e32 feat(Metal): initial xmb and glui menu support
TODOs

* menu shader pipeline effects
* refactor / optimize graphics rendering
2018-07-03 22:32:12 -07:00
Stuart Carnie 367c15f488 feat(Metal): font rendering
* FPS and other OSD messages render correctly
* add autoreleasepool around entire render loop to avoid memory leaks
2018-06-23 23:54:23 -07:00
Twinaphex fd11b205da Silence bunch of warnings 2018-06-21 07:52:01 +02:00
Stuart Carnie 411bcf8bdd feat(apple): Metal support for macOS
* includes rgui
* shader support

This is a work-in-progress and there are some bugs and visual artifacts
still to be fixed.
2018-06-20 21:33:45 -07:00
twinaphex 6a9b39da3f Get rid of d3d.h and xdk_defines.h 2018-05-14 03:57:27 +02:00
twinaphex 8beed4c1ec (360) Buildfix 2018-05-14 01:50:58 +02:00
twinaphex 82ebb9576f Create d3d9_video_t and d3d8_video_t 2018-05-03 22:03:12 +02:00
twinaphex c4a03b6b45 (xdk360_fonts.cpp) Cleanups 2018-05-03 21:39:25 +02:00
twinaphex 789ef63dee (360) Don't bake in HAVE_XUI anymore; buildfixes for C++ 2018-04-23 17:35:36 +02:00
twinaphex 32c92a9a22 Rename d3dxbuffer_release 2018-04-23 15:04:19 +02:00
twinaphex 2a655116a6 Set #define CINTERFACE in these files 2018-04-22 14:27:39 +02:00
aliaspider b78dcf9f4c update D3D10 driver. 2018-04-21 03:56:19 +01:00
twinaphex 9f2b56a929 Update Direct3D 10 driver 2018-04-21 03:27:41 +02:00
twinaphex 16df2ceb4e Fix Xbox OG 2018-04-17 11:39:59 +02:00
twinaphex 4d1b4f905f Start adding OSD statistics - doesn't work yet for SDL2/SDL 2018-03-23 17:43:49 +01:00
Brandon Wright 1f472db2aa Fix multi-line text spacing in menus with Vulkan driver. 2018-03-18 18:57:24 -05:00
twinaphex b4a743fff4 Split up menu display drivers for D3D8/D3D9 into separate drivers;
split up d3d_common into separate files
2018-03-03 15:28:58 +01:00
twinaphex 0566b056a5 Take out d3d_common function call from d3d_w32_font.c 2018-03-03 05:42:14 +01:00
twinaphex 696fa900a1 Refactor macro functions which were unsafe 2018-02-26 18:08:17 +01:00
twinaphex 64db75a62e Prevent MSVC warning 2018-02-17 14:28:30 +01:00
twinaphex 070c09faec Avoid more pointer grabbing for video driver ptr 2018-02-16 20:42:37 +01:00
aliaspider 92afd7387d (D3D12) add a font driver. 2018-02-08 00:18:04 +01:00
aliaspider 700fce3bd2 various fixes for CXX_BUILD. 2018-02-04 20:03:27 +01:00
Twinaphex 50e902f2ea
Merge pull request #6227 from aliaspider/master
(D3D11) multi-pass shaders: add support for history frames.
2018-02-03 14:48:48 +01:00
aliaspider e225e96025 (D3D11) multi-pass shaders: add support for history frames. 2018-02-03 13:29:00 +01:00
twinaphex d446742d4b Some C89_BUILD build fixes 2018-02-03 12:47:53 +01:00
aliaspider 6fe3a31617 (D3D11) multi-pass shaders: add support for wrap modes and lut
mipmapping.
2018-02-02 17:18:41 +01:00
Twinaphex 1d118c46a3
Merge pull request #6220 from aliaspider/master
(D3D11) font + slang fixes.
2018-02-02 02:38:33 +01:00
aliaspider 1e96393228 (D3D11) font renderer: fix line spacing. 2018-02-02 02:21:18 +01:00
Twinaphex f096e667d8
Merge pull request #6204 from aliaspider/master
(D3D11) Implement slang shader specification using Spirv-Cross.
2018-02-01 16:33:58 +01:00
aliaspider e6c455d2c6 (D3D11) move format support checks to d3d11_init_texture(); 2018-02-01 11:21:51 +01:00
twinaphex 911d01b1e4 CLeanups 2018-01-30 21:46:49 +01:00
twinaphex 03e800c1c8 Add HAVE_D3D11 to MSVC 2013 - we need non-HAVE_DYNAMIC codepaths
for D3D11
2018-01-29 14:05:44 +01:00
twinaphex 16cccb8796 (XDK360) Buildfixes 2018-01-26 05:29:44 +01:00
twinaphex 1f6b9e1c18 (Xbox 360) Buildfixes 2018-01-26 04:59:35 +01:00
Twinaphex f97ebfbf1f
Merge pull request #6179 from aliaspider/master
(D3D11) add the remaining menu shaders.
2018-01-25 17:18:59 +01:00
twinaphex c8c7ca0c30 (XDK1) Buildfix 2018-01-25 16:46:30 +01:00
twinaphex 3adb6cc5a8 CXX_BUILD fixes 2018-01-25 16:42:10 +01:00
aliaspider a2cddb27e5 (D3D11) refactors. 2018-01-25 15:48:53 +01:00
twinaphex d4367ed993 Cleanups 2018-01-25 15:30:48 +01:00
twinaphex 8422e44a2d Start moving d3dx fonts code to d3d_common.c 2018-01-25 14:13:21 +01:00
twinaphex 6ee8f681da Remove comment 2018-01-25 12:33:27 +01:00
twinaphex c76ce05070 Update d3d_w32_font 2018-01-25 12:16:57 +01:00
twinaphex a18e7767f3 Fix some unreferenced local variable warnings 2018-01-25 10:25:50 +01:00
Twinaphex 85fab182b8
Merge pull request #6174 from aliaspider/master
(D3D11) autogen mipmaps when needed / fix text colors.
2018-01-25 09:33:44 +01:00
aliaspider 580c0184c2 (D3D11) font driver: fix text colors. 2018-01-25 05:46:48 +01:00
aliaspider 2a54cbca75 (D3D11) autogen mipmaps when needed. 2018-01-25 04:57:49 +01:00
Twinaphex 3bfc13223c
Merge pull request #6169 from aliaspider/master
(D3D11) font + menu display drivers.
2018-01-25 01:46:17 +01:00
twinaphex bc81a9dc88 Dehardcode LPDIRECT3DDEVICE usage 2018-01-25 01:45:03 +01:00
aliaspider 8354ffd452 (D3D12) add support for scaling/rotation im menu display driver. 2018-01-25 01:34:53 +01:00
aliaspider 45541a0d44 (D3D11) change the sprite vertex buffer to a ring buffer to avoid data
races with the gpu.
2018-01-25 01:03:54 +01:00
aliaspider 812eefa601 (D3D11) add menu display driver. 2018-01-25 00:20:06 +01:00
aliaspider 840bd459df (D3D11) add a font driver. 2018-01-24 20:51:19 +01:00
twinaphex 5b5e3e4a05 Cleanups 2018-01-19 04:45:11 +01:00
twinaphex 88873776c8 Cleanups 2018-01-19 04:13:02 +01:00
twinaphex c398db76d4 (xdk360_fonts.cpp) Cleanups 2018-01-15 06:32:40 +01:00
twinaphex 27caf46616 Add d3d_get_render_state 2018-01-15 06:14:20 +01:00
twinaphex 510dfca756 Start adding C++ code path for SetVertexShaderConstantF and
refactor xdk360_fonts.cpp calls
2018-01-15 06:01:59 +01:00
Twinaphex e948412bb4
Merge pull request #6108 from aliaspider/master
(direct3D) fix scaling in the menu display driver.
2018-01-15 03:48:40 +01:00
aliaspider 25a7c04a27 (direct3D) fix scaling in the menu display driver. 2018-01-15 03:45:37 +01:00
Twinaphex 332ccbf300
Merge pull request #6097 from aliaspider/master
(Direct3D) Menu display driver implementation.
2018-01-14 02:54:40 +01:00
aliaspider 7b09d5399c (Direct3D) Menu display driver implementation. 2018-01-14 02:21:48 +01:00