Benjamin Otte
416763bf2d
testsuite: Add tests for gdk_texture_download_float()
2021-09-12 05:54:37 +02:00
Benjamin Otte
9179ebb28e
testsuite: Add memory test support for OpenGL up/downloads
...
Use a GL renderer to upload textures (and then optionally download them
via release() again). This way, we can test that the GL renderer
properly uploads textures to the right formats (not losing information
for HDR for example) and downloads them again.
2021-09-12 05:54:37 +02:00
Benjamin Otte
bcc17b3033
testsuite: Add tests uploading the memorytextures
...
Use a GL renderer and render_texture() them.
2021-09-12 05:54:37 +02:00
Benjamin Otte
00439f9e5c
testsuite: Rework memorytexture test some more
...
Instead of predefined colors, generate them randomly.
2021-09-12 05:54:37 +02:00
Benjamin Otte
c9d748fc51
testsuite: Overhaul memorytexture test
...
Instead of hardcoding pixel values, allow construction of textures by
filling them with GdkRGBA values.
2021-09-12 05:54:37 +02:00
Benjamin Otte
719eafa60c
gl: Implement uploading and downloading HDR formats
...
Also refactor the GL uploading so it does the fallback in a
GLES-compatible way, which means we only need one fallback.
2021-09-12 05:54:37 +02:00
Benjamin Otte
1759d27da9
memorytexture: Add support for HDR formats
...
Also sanitize the input bytes so the strides match alignment
requirements of the data types.
2021-09-12 05:54:37 +02:00
Benjamin Otte
53275481a5
texture: Add gdk_texture_download_float()
2021-09-12 05:54:37 +02:00
Benjamin Otte
cbe6d0da76
gdk: Deprecate gdk_cairo_draw_from_gl()
...
It's broken with various pixel formats and OpenGL ES, it's hard to
understand what everything does, and gdk_texture_download() can be used
instead.
2021-09-12 05:54:37 +02:00
Benjamin Otte
c349ed9562
gltexture: Implement download() via glGetTexImage()
...
1. The download via gdk_cairo_draw_from_gl() was broken sometimes
2. We get easy conversion on fallback by chaining up and using
download_texture().
3. One more place where Cairo is no longer necessary.
2021-09-12 05:22:21 +02:00
Benjamin Otte
74ce69a8a1
gltexture: Make release() use download_texture()
...
1. It avoids Cairo, and in particular conversion to Cairo.
2. Keeping a texture allows easy chaining in the vfuncs.
3. Using a texture means releasing will work for HDR formats
too, once we add them.
2021-09-12 05:22:21 +02:00
Benjamin Otte
4f17f3ac24
texture: Add gdk_texture_download_texture()
...
A private vfunc that downloads a texture as a GdkMemoryTexture in
whatever format the texture deems best.
There are multiple reasons for this:
* GLES cannot download the Cairo format. But it can download some
format and then just delegate to the GdkMemoryTexture implementation.
* All the other download vfuncs (including the ones still coming) can
be implemented via download_texture() and delegation, making the
interface easier.
* We want to implement image loading and saving support. By using
download_texture(), we can save in the actual format of the texture.
* A potential GdkCompressedTexture could be implemented by just
providing this one vfunc as a compress() step.
2021-09-12 05:22:21 +02:00
Benjamin Otte
9c8e464b04
texture: Add GdkMemoryConversion private enum
...
Now gdk_memory_convert() converts to one of these conversions instead of
re(ab)using parts of the GdkMemoryFormat enum.
2021-09-12 05:22:21 +02:00
Benjamin Otte
51d0d13a9e
gltexture: release() to a texture, not a cairo_surface
...
This makes forwarding vfuncs a lot easier, because we can just call them
on the texture.
2021-09-12 05:22:21 +02:00
Benjamin Otte
0ee3b1c861
texture: Remove unused argument from vfunc
2021-09-12 05:22:21 +02:00
Balázs Úr
46f88c69a1
Update Hungarian translation
2021-09-11 23:45:21 +00:00
Benjamin Otte
140976a670
Merge branch 'wip/otte/for-master' into 'master'
...
rendernode: Write the whole node
See merge request GNOME/gtk!3938
2021-09-11 20:56:39 +00:00
Benjamin Otte
9f2b847835
rendernode: Write the whole node
...
It turns out g_output_stream_write_bytes() does not write the bytes.
It should be renamed to g_output_stream_write_some_of_the_bytes() maybe.
2021-09-11 22:28:40 +02:00
Benjamin Otte
9e11ea699c
Merge branch 'hsl' into 'master'
...
gdk_rgba_parse: Support HSL colors
See merge request GNOME/gtk!3899
2021-09-11 12:57:25 +00:00
Guillaume Bernard
1a4eebe022
Update French translation
...
(cherry picked from commit 8ffd7e9f87
)
2021-09-11 09:41:32 +00:00
Guillaume Bernard
2963468019
Update French translation
...
(cherry picked from commit f433c543fe
)
2021-09-11 09:36:48 +00:00
Matthias Clasen
bfbd95d7d6
Merge branch 'matthiasc/for-master' into 'master'
...
Stop using config.h.meson
See merge request GNOME/gtk!3936
2021-09-11 02:53:43 +00:00
Matthias Clasen
c1c1d4431d
Refactor gdk_gl_context_upload_texture slightly
...
Introduce a gl_internalformat variable. This will
let us handle more formats in a uniform way in
future commits.
2021-09-10 22:17:31 -04:00
Matthias Clasen
155a4fac5c
Add vectorized half-float conversion
...
We can't make the -4 versions inline, since
we use ifuncs for them, so make vectorized
versions.
Test included.
2021-09-10 22:17:31 -04:00
Matthias Clasen
76f481eb7b
Stop using config.h.meson
...
It isn't necessary and makes us miss defines when
we forget to update it.
2021-09-10 21:08:07 -04:00
James Westman
0782c8a051
gdk_rgba_parse: Support HSL colors
2021-09-10 16:56:42 -05:00
Philipp Kiemle
3d27ff1177
Update German translation
...
(cherry picked from commit 6228954524
)
2021-09-10 19:55:59 +00:00
Matthias Clasen
3ada664a89
Merge branch 'matthiasc/for-master' into 'master'
...
Fix the testupload test
See merge request GNOME/gtk!3934
2021-09-10 13:54:37 +00:00
Matthias Clasen
643a91bd08
Fix the testupload test
...
This can only ever have worked by accident.
2021-09-10 08:28:32 -04:00
Emin Tufan Çetin
c86733b4fa
Update Turkish translation
2021-09-10 06:40:43 +00:00
Anders Jonsson
55099b7d0e
Update Swedish translation
2021-09-08 20:25:27 +00:00
Boyuan Yang
db3858a204
Update Chinese (China) translation
2021-09-05 20:33:21 +00:00
Daniel Șerbănescu
07bff74544
Update Romanian translation
...
(cherry picked from commit bb72acf9cd
)
2021-09-05 18:43:44 +00:00
Daniel Șerbănescu
b4262883a8
Update Romanian translation
...
(cherry picked from commit 63d829bbc1
)
2021-09-05 18:34:37 +00:00
Matthias Clasen
563c85e222
Merge branch 'matthiasc/for-master' into 'master'
...
inspector: Cosmetics
See merge request GNOME/gtk!3925
2021-09-05 17:26:13 +00:00
Matthias Clasen
d75246a543
inspector: Cosmetics
...
Make some settings entries smaller, and make the
scales match in size. Also, inline adjustments
in the ui file, since we can do that now.
2021-09-05 12:59:11 -04:00
Matthias Clasen
b3856a3ea0
Merge branch 'matthiasc/for-master' into 'master'
...
Avoid hand-rolled color glyph information
See merge request GNOME/gtk!3924
2021-09-05 16:12:34 +00:00
Matthias Clasen
bd4d24f8ed
Bump pango req to 1.49.1
...
We are using pango api that was introduced in 1.49.1
without ifdefs, so we should require it.
2021-09-05 10:58:50 -04:00
Matthias Clasen
65ce3eb207
Avoid hand-rolled color glyph information
...
Followup to b244f31337
. Pango provides color glyph
information for us now, so we don't need to steal a
bit anymore.
2021-09-05 10:58:50 -04:00
Anders Jonsson
865ac44963
Update Swedish translation
...
(cherry picked from commit 19af960163
)
2021-09-05 14:11:51 +00:00
Yaron Shahrabani
55a935db53
Update Hebrew translation
2021-09-05 13:45:49 +00:00
Matthias Clasen
6fefae3dbb
Merge branch 'better-font-rendering-demo' into 'master'
...
gtk-demo: Improve the font rendering demo
See merge request GNOME/gtk!3923
2021-09-05 04:21:29 +00:00
Matthias Clasen
f7c84ddc7f
gtk-demo: Font rendering - Add some bling
...
Fade the outlines and pixels in and out.
2021-09-04 23:41:44 -04:00
Matthias Clasen
f4a4dd2615
gtk-demo: Font rendering - expand docs
2021-09-04 23:05:55 -04:00
Matthias Clasen
b718d99d1f
gtk-demo: Font rendering - Add keynav
...
Add mnemonics to most controls, and make
Ctrl+/- change the zoom.
2021-09-04 23:00:17 -04:00
Matthias Clasen
c7215d1199
gtk-demo: Font rendering - add outlines
...
Should outlines as well.
2021-09-04 22:56:07 -04:00
Matthias Clasen
24d69ef125
gtk-demo: Font rendering - better start
...
Turn antialiasing on initially, and turn the
extents and grid off. Otherwise we show pretty
shocking rendering right from the start.
2021-09-04 22:56:07 -04:00
Matthias Clasen
7c3fbdecf2
gtk-demo: Font rendering - improve the grid
...
Allow changing the character shown in the grid.
2021-09-04 22:56:07 -04:00
Matthias Clasen
b77938f40f
Cosmetics
...
Remove an unused object from the font rendering
demo ui file.
2021-09-04 22:55:47 -04:00
Matthias Clasen
f703744564
Merge branch 'ebassi/accel-parse-doc' into 'master'
...
Improve the gtk_accelerator_parse() docs
See merge request GNOME/gtk!3921
2021-09-04 23:39:10 +00:00