Commit Graph

124 Commits

Author SHA1 Message Date
aliaspider
c85e09ddad improve handling of arabic and persian text. 2020-11-08 04:47:08 +01:00
twinaphex
8b8c52bb67 Cleanup 2020-08-14 06:45:36 +02:00
twinaphex
128757554e (gfx/font_driver) Use malloc 2020-06-28 00:50:48 +02:00
twinaphex
6fce0435a1 Update more logs 2020-06-08 18:04:29 +02:00
twinaphex
3ae7e9f8df Update TODO/FIXMEs 2020-05-29 06:20:16 +02:00
twinaphex
cf1bc2634d Prevent doing unnecessary double strlen 2020-05-24 16:38:53 +02:00
Higor Eurípedes
0c9499a88e Implements small buffer optimization in font_driver_reshape_msg()
Use a stack-allocated 64 bytes long buffer to avoid so many temp heap
allocations when the menu is up. This size is more than enough store 75% of the
return values from msg_hash_to_str and 50% of the returned values from
msg_hash_get_help of any currently supported language (includes fallback to
English).

String size per type:
                     count       mean         std  ...   50%    75%    max
type                                               ...
msg_hash_get_help  83885.0  95.295476  106.331779  ...  54.0  103.0  842.0
msg_hash_to_str    83903.0  27.737959   33.389184  ...  19.0   31.0  440.0

string size per type and language:
                             count        mean         std  ...   50%    75%    max
type              language                                  ...
msg_hash_get_help 0         4415.0   89.922310   96.873902  ...  55.0  101.0  590.0
                  1         4415.0   97.555606  118.031412  ...  55.0  101.0  842.0
                  2         4415.0  118.459570  127.811760  ...  75.0  131.0  774.0
                  3         4415.0  111.978256  112.702991  ...  68.0  125.0  651.0
                  4         4415.0  106.040544  111.360658  ...  62.0  124.0  776.0
                  5         4415.0  100.129105  114.437432  ...  62.0  103.0  688.0
                  6         4415.0   32.987769   31.047851  ...  28.0   28.0  595.0
                  7         4415.0  109.366025  124.717259  ...  71.0  121.0  720.0
                  8         4415.0   98.023783  105.149942  ...  62.0  105.0  610.0
                  9         4415.0   93.834428  104.433820  ...  55.0  101.0  637.0
                  10        4415.0   93.657984   96.884429  ...  55.0  101.0  594.0
                  11        4415.0   93.452775  104.040553  ...  48.0  100.0  583.0
                  12        4415.0   89.729558  104.062959  ...  50.0  100.0  550.0
                  13        4415.0   91.462514   95.968107  ...  55.0  101.0  590.0
                  14        4415.0   92.062741   97.959207  ...  55.0  101.0  611.0
                  15        4415.0   92.597055   97.190835  ...  56.0  101.0  600.0
                  16        4415.0   92.088109   98.110738  ...  55.0  101.0  608.0
                  17        4415.0  102.483126  106.379639  ...  65.0  110.0  652.0
                  18        4415.0  104.782786  114.025678  ...  65.0  112.0  646.0
msg_hash_to_str   0         4415.0   24.591619   29.148312  ...  18.0   28.0  346.0
                  1         4416.0   31.247736   36.302532  ...  21.0   36.0  352.0
                  2         4416.0   31.853714   39.332395  ...  21.0   36.0  418.0
                  3         4416.0   28.270833   33.300996  ...  21.0   32.0  429.0
                  4         4416.0   27.139040   31.905206  ...  19.0   31.0  346.0
                  5         4416.0   27.380435   32.314188  ...  19.0   31.0  346.0
                  6         4416.0   25.028080   29.188490  ...  19.0   28.0  346.0
                  7         4416.0   29.660553   35.283592  ...  21.0   33.0  393.0
                  8         4416.0   27.685915   32.707466  ...  20.0   31.0  346.0
                  9         4416.0   34.786685   43.587766  ...  21.0   39.0  414.0
                  10        4416.0   28.769928   34.428596  ...  20.0   32.0  440.0
                  11        4416.0   24.407609   28.690934  ...  18.0   27.0  346.0
                  12        4416.0   23.970788   27.075638  ...  18.0   28.0  346.0
                  13        4416.0   24.587636   29.146213  ...  18.0   28.0  346.0
                  14        4416.0   27.642889   33.300451  ...  20.0   31.0  346.0
                  15        4416.0   25.036005   29.159115  ...  18.0   28.0  346.0
                  16        4416.0   24.732111   29.134002  ...  18.0   28.0  346.0
                  17        4416.0   32.068161   38.807095  ...  21.0   36.0  407.0
                  18        4416.0   28.160779   34.013300  ...  20.0   31.0  432.0
2020-05-23 22:33:45 -03:00
jdgleaver
73bcd7a692 Enable correct vertical alignment of text (+ font rendering fixes) 2020-03-31 16:55:22 +01: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
twinaphex
f4c5036c3c Get rid of video_frame_info dep for fonts 2020-03-10 03:24:59 +01:00
twinaphex
43feea3496 (Drivers font) Add parameter 2020-03-09 21:34:14 +01:00
twinaphex
ee9c6ef5ba (Font driver) Get rid of more video_frame_info dependencies 2020-03-07 01:41:00 +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
f92a507a9b Change function signature of font_driver_render_msg 2020-01-04 16:24:14 +01:00
twinaphex
f678a06b95 Remove xbox 360 fonts 2019-10-19 16:42:39 +02:00
twinaphex
558e50b5a0 Get rid of unused code libdbgfont 2019-08-13 11:42:46 +02:00
twinaphex
bddfca940e Add HAVE_GDI switch 2019-07-11 13:18:38 +02:00
twinaphex
ee3208ac39 Integrate video_driver.c into retroarch.c 2019-06-17 15:10:22 +02:00
twinaphex
e76a8e6a75 (Apple/STB) Add Apple to STB unicode 2019-04-30 11:40:06 +02:00
twinaphex
59b45f7812 Start making HAVE_OPENGL_CORE independent 2019-04-24 03:23:57 +02:00
twinaphex
a6e18f23a8 (stb font unicode) Put MSVC check in again - MSVC 2005 and up get
Unicode STB font
2019-04-23 00:35:04 +02:00
twinaphex
31c7abce64 (MSVC 2003) Fonts now show up for GL 2019-04-22 23:30:24 +02:00
twinaphex
c4d99586ba (MSVC 2003) Compile in STB unicode for MSVC 2003 2019-04-22 23:07:10 +02:00
twinaphex
04d062b3d4 (MSVC2003) Enable HAVE_OPENGL1; make HAVE_OPENGL1 independent from
HAVE_OPENGL
2019-04-22 22:48:23 +02:00
natinusala
f941d4e625 menu widgets: add first achievement notification widget 2019-04-11 16:46:41 +02:00
twinaphex
e206230a89 (Linux) Use STB unicode font renderer for Linux 2019-04-08 20:12:22 +02: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
twinaphex
eba1c474b5 Fix MSVC 2010 port 2019-02-21 21:34:22 +01:00
natinusala
631f9e6b8e font driver: expose line height 2019-02-17 16:54:24 +01:00
Brad Parker
d64933b30d gl1: put behind HAVE_OPENGL1, off by default for now 2019-02-08 16:04:23 -05: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
Brad Parker
1b22acd747 guard against overflows in Arabic font code, fixes #7508 2019-01-12 17:23:19 -05: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
26ce69694f Create Font driver for PS2 2019-01-07 21:51:48 +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
radius
3c8264e9f2 use stb font in emscripten (untested) 2018-09-30 17:41:24 -05:00
M4xw
373bf932b3 [LIBNX] Enable Stb font 2018-09-30 04:33:00 +02:00
M4xw
48056e41fc [LIBNX] Remove freetype again 2018-09-30 04:12:25 +02:00
M4xw
b4ae829b3f [LIBNX] Workaround for freezes caused by freetype with video threaded, revert later 2018-09-29 03:01:41 +02:00
M4xw
fd155db9cc [LIBNX] Fix font driver 2018-09-27 01:23:29 +02:00
twinaphex
0d39701145 Get rid of double void argument 2018-07-14 00:54:14 +02:00
Brad Parker
ab27b7c85f initial SIXEL video driver 2018-07-12 16:55:08 -04: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
542294900f (WinRT) More compilation fixes 2018-05-12 19:03:39 +02:00
twinaphex
9f2b56a929 Update Direct3D 10 driver 2018-04-21 03:27:41 +02:00
Twinaphex
f2c23970a3 (font_driver.c) silences the xcode warnings 2018-04-09 05:56:58 +02:00
twinaphex
4d1b4f905f Start adding OSD statistics - doesn't work yet for SDL2/SDL 2018-03-23 17:43:49 +01: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