Benjamin Otte
d89e82d4a0
Merge branch 'wip/otte/for-master' into 'master'
...
x11: Don't try to move destroyed windows
See merge request GNOME/gtk!4054
2021-10-11 18:36:20 +00:00
Benjamin Otte
f40ce51a13
x11: Don't try to move destroyed windows
...
Fixes BadWindow crashes when the resize happen right when tooltips or
other such transient popups were in the process of being destroyed.
2021-10-11 19:28:59 +02:00
Matthias Clasen
49a64da7ec
Merge branch 'ngl-is-the-new-gl' into 'master'
...
Rename ngl to gl
Closes #4318
See merge request GNOME/gtk!4037
2021-10-11 06:43:41 +00:00
Matthias Clasen
922e6add38
Merge branch 'docs-window-position' into 'master'
...
docs: Mention gtk_window_set_position() being gone
See merge request GNOME/gtk!4048
2021-10-11 06:36:23 +00:00
Emmanuele Bassi
232003b046
Merge branch 'docs-urlmap' into 'master'
...
docs: Add GdkPixbuf to the URL map
See merge request GNOME/gtk!4051
2021-10-10 23:01:39 +00:00
John Ralls
cfadca696b
[gtkimcontextquartz] Accommodate moving GdkSurface widget to private.
...
Fixes macOS build.
2021-10-10 13:16:49 -07:00
Benjamin Otte
5311616ca1
Merge branch 'wip/otte/gles' into 'master'
...
Improve GLES
See merge request GNOME/gtk!4050
2021-10-09 11:59:42 +00:00
Emmanuele Bassi
c7bb4a9678
docs: Add GdkPixbuf to the URL map
...
Allow cross-linking to the GdkPixbuf reference.
2021-10-09 10:55:24 +01:00
Benjamin Otte
e581c148d9
testsuite: Add run for GLES
...
This is supposed to test the most fallback GL stuff, so we might want to
set even more env vars here.
Also enable the run for the Fedora builder in CI.
2021-10-09 06:27:21 +02:00
Benjamin Otte
d4959a95c2
gl: Make sure to set a proper alignment
...
No matter which branch we take, the alignment setting is always the
same.
2021-10-09 05:25:41 +02:00
Benjamin Otte
780ae5232d
gl: Check the stride is a multiple of the bpp
2021-10-09 05:25:41 +02:00
Benjamin Otte
caddea4624
gl: Set stride properly in fallback
2021-10-09 04:44:30 +02:00
Benjamin Otte
27b5dc1452
gl: Fix broken internal format
2021-10-09 04:44:30 +02:00
Benjamin Otte
b4ab9f7b8c
testsuite: Add a test targeting GL upload code
...
Previously, all the tests used the icon upload path using
glTexSubImage2D().
This test uses the custom texture path using glTexImage2D().
2021-10-09 04:44:30 +02:00
Benjamin Otte
e371bd09c1
ngl: Use the right value
...
It's GL_RGBA, not GL_BGRA, or GLES will complain.
2021-10-09 04:44:30 +02:00
Asier Sarasua Garmendia
db167e09c5
Update Basque translation
...
(cherry picked from commit 2492729238
)
2021-10-08 17:44:35 +00:00
Benjamin Otte
27573d9576
Merge branch 'wip/otte/glcontext' into 'master'
...
glcontext: Make GLES vs GL configuration clearer
Closes #4221
See merge request GNOME/gtk!4044
2021-10-08 15:57:08 +00:00
Emmanuele Bassi
0054f8bd74
docs: Mention gtk_window_set_position() being gone
...
People search for it in the migration guide much more than other
GdkSurface and GtkWindow methods.
2021-10-08 12:27:24 +01:00
Benjamin Otte
5c1e402429
Merge branch 'wip/otte/for-master' into 'master'
...
Fix GLES fallout from recent NGL updates
See merge request GNOME/gtk!4046
2021-10-08 09:11:03 +00:00
Benjamin Otte
e974a0412f
glcontext: Add gdk_gl_context_get_api()
...
This is mostly for inspector.
Not sure if we also want to deprecate gdk_gl_context_get_use_es() in
favor of this function.
2021-10-08 03:31:07 +02:00
Benjamin Otte
76420d7146
ngl: Fix glTexImage2D() usage on GLES
...
GLES is very adamant about the format and type matching the internal
format, even if the data is NULL.
2021-10-08 03:31:07 +02:00
Benjamin Otte
f584d4f500
gl: Check allowed APIs in realize()
...
Add gdk_gl_context_is_api_allowed() for backends and make them use it.
Finally, have them return the final API as the return value (or 0 on
error).
And then use that api instead of a use_es boolean flag.
Fixes #4221
2021-10-08 03:31:07 +02:00
Benjamin Otte
8c1f7f7531
glcontext: Deprecate gdk_gl_context_set_use_es()
...
Make it call gdk_gl_context_set_allowed_apis().
Also port callers to use this function.
2021-10-08 03:31:07 +02:00
Benjamin Otte
c6dd3c11fa
glcontext: Add GdkGLContext::allowed-apis
...
This allows specifying the GL APIs in a more comprehensive way than
gdk_gl_context_set_use_es().
2021-10-08 03:31:07 +02:00
Benjamin Otte
3b9967db48
ngl: Compute correct renderformat
...
We want to round up, not down.
2021-10-08 03:31:06 +02:00
Benjamin Otte
4f53645e5d
ngl: fbo 0 has no color attachment
...
Query the backbuffer instead.
2021-10-08 03:31:06 +02:00
Matthias Clasen
b7eb1d3310
gsk: provide an ngl renderer
...
Provide a minimal renderer implementation that fails
in realize. This avoids reusing the same type, which
might give bindings trouble.
2021-10-07 16:46:29 -04:00
Benjamin Otte
222d927e93
Merge branch 'wip/otte/for-master' into 'master'
...
css: Render the background-clip area, not the background-origin
Closes #4324
See merge request GNOME/gtk!4043
2021-10-07 19:11:28 +00:00
Benjamin Otte
30164d5b46
css: Render the background-clip area, not the background-origin
...
Testcase included
Fixes #4324
2021-10-07 19:59:44 +02:00
Matthias Clasen
f868c67429
Skip gsk_ngl type funcs
...
The only type we have with this prefix is the
deprecated duplicate of gsk_gl_renderer_get_type(),
and including it causes some tests to break.
So skip it.
2021-10-07 13:05:53 -04:00
Matthias Clasen
7a1644bc97
Maintain abi
...
Keep gsk_ngl_renderer_new and gsk_ngl_renderer_get_type,
since they were part of the abi in 4.2, and in an
installed header.
Fixes : #4318
2021-10-07 13:05:53 -04:00
Matthias Clasen
144f727d5a
Rename ngl to gl
...
We have only one gl renderer now, and it is
a bit odd for it not be called gl.
2021-10-07 13:05:53 -04:00
Matthias Clasen
9f1e9b6044
Merge branch 'wip/cdavis/menu-item-markup' into 'master'
...
Add support for pango markup in menu items
Closes #4306
See merge request GNOME/gtk!4039
2021-10-07 12:32:46 +00:00
Christopher Davis
0775e21131
Add support for pango markup in menu items
...
Before c4a2234a28
menu models could use markup for items and the markup would
be parsed, but this was not intended behavior.
This commit adds official support for using markup
for menu items via the `use-markup` property.
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/4306
2021-10-07 02:49:11 -07:00
Matthias Clasen
db37452787
Merge branch 'fix-filechooser-portal-crash' into 'master'
...
filechooserportal: Take a ref on transient-for
Closes #4314
See merge request GNOME/gtk!4038
2021-10-07 05:05:49 +00:00
Matthias Clasen
c7d6bf733a
filechooserportal: Take a ref on transient-for
...
This may fix a crash that has been reported in
file_chooser_portal_data_free.
Fixes : #4314
2021-10-06 22:37:45 -04:00
Matthias Clasen
8d9c3920bb
Merge branch 'wip/matthiasc/gsk-hdr' into 'master'
...
texture: Add hdr api
See merge request GNOME/gtk!4036
2021-10-07 02:03:48 +00:00
Matthias Clasen
6f1742970d
ngl: Make render_texture high depth aware
...
Make a deep texture, if the render nodes have
high depth content.
For now, we use 32F here for the deep format,
since using 16F causes small rounding errors
that break the memorytexture roundtrip tests.
2021-10-06 21:45:54 -04:00
Matthias Clasen
8a24deff97
ngl: Update framebuffer format for each frame
...
Look at whether the render nodes are high depth and
if so, request a high depth framebuffer.
Whether we actually get one is up to the backend.
2021-10-06 21:35:25 -04:00
Matthias Clasen
985d2d221c
ngl: Determine intermediate formats
...
Look at the framebuffer and the rendernode to
determine what format to use for intermediate
textures.
Our preference here is to use fp16, if we have it
and it makes sense for the framebuffer we're given.
2021-10-06 21:35:25 -04:00
Matthias Clasen
9174814686
ngl: Allow specifying texture formats
...
Allow passing a format when creating textures or render targets.
Update all callers to pass GL_RGBA8, which is the format we
have always used so far.
2021-10-06 21:35:25 -04:00
Matthias Clasen
2a08641f59
gsk: Add high depth rendernode api
...
Add private api to find out if the content
of a render node should be considered 'deep'.
The information is collected at creation time,
so there is no tree-walking involved when we
are using this information in the renderer.
Currently, this comes down to whether there are
any texture nodes with high depth textures in the subtree.
In the future, we may want to allow marking gradient
nodes in this way as well.
2021-10-06 21:35:25 -04:00
Benjamin Otte
8950c0dc96
texture: Make format a property of GdkTexture
...
For MemoryTexture, this is a simple change.
For GLTexture, we need to query the format at texture creation. This
sounds like a bad idea and extra work until one realizes that we'd
need to do that anyway when using the texure the first time - either
when downloading, or when trying to use it in a rendernode, where we
will soon need that information to determine if the texture prefers high
depth.
2021-10-07 02:41:30 +02:00
Benjamin Otte
2e555db9a4
testsuite: Fail more accurately
...
Don't run the full test and then return "something failed" - instead
just explode when you find the failure.
2021-10-06 22:50:07 +02:00
Benjamin Otte
3f4fb93379
cairo: Use GdkTexture for converting from pixbuf
2021-10-06 22:50:07 +02:00
Benjamin Otte
dc6e831524
gdk: hdr => high depth
...
The term "hdr" is so overloaded, we shouldn't use them anywhere, except
from maybe describing all of this work in blog posts and other marketing
materials.
So do renames:
* hdr => high_depth
* request_hdr => prefers_high_depth
This more accurately describes what is going on.
2021-10-06 22:50:07 +02:00
Benjamin Otte
afa004fb8b
memoryformat: Add gdk_memory_format_prefers_high_depth()
...
This is unused so far, but is part of preparations for high depth
support in renderers.
2021-10-06 22:50:07 +02:00
Benjamin Otte
149395c306
gl: Move memory <=> GL format mapping
...
Put it into gdkmemoryformat.c, where all the mapping goes.
2021-10-06 22:50:07 +02:00
Benjamin Otte
48781cf7f7
memorytexture: Split out GdkMemoryFormat handling
...
Also, now make gdk_memory_convert() the only conversion functions
and allow conversions between any 2 formats by going via a float[4].
This could be optimized via fast-paths, but so far it isn't.
2021-10-06 22:50:07 +02:00
Matthias Clasen
db86b3ea2e
Merge branch 'wip/chergert/dropdown-show-arrow' into 'master'
...
dropdown: add GtkDropDown:show-arrow property
See merge request GNOME/gtk!4033
2021-10-06 19:19:10 +00:00