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
4360bc326a
Merge branch 'matthiasc/for-master' into 'master'
...
gdk: Fix an oversight
See merge request GNOME/gtk!4035
2021-10-06 03:50:04 +00:00
Matthias Clasen
f819e88e9c
gdk: Fix an oversight
...
The intention here was obviously to return
the hdr config.
2021-10-05 23:47:51 -04:00
Matthias Clasen
0969d9db83
Merge branch 'wip/otte/gl-hdr' into 'master'
...
Rework GL for HDR support
See merge request GNOME/gtk!4032
2021-10-06 02:59:05 +00:00
Benjamin Otte
cdc85232b2
egl: Implement HDR support
...
If EGL supports:
* no-config contexts
* >8bits pixel formats
* (optionally) floating point pixel formats
Then select such a profile as the HDR format and use it when HDR is
requested.
2021-10-06 03:44:59 +02:00
Benjamin Otte
5eb42dd9f3
gdk: Add GDK_DEBUG=hdr
...
Forces request_hdr = TRUE for all requests.
Backends should also use this when choosing whether to honor HDR
requests for low quality compositors - as long as the compositor
pretends to support HDR, shovel HDR at it.
2021-10-06 03:44:59 +02:00
Benjamin Otte
7ede468849
gdk: Add a request_hdr argument to begin_frame()
...
It's not used by anyone, it's just there.
gdk_draw_context_begin_frame_full() has been added so renderers can
make use of it.
2021-10-06 03:44:58 +02:00
Benjamin Otte
bc7c0d05f8
egl: Support EGL_KHR_no_config_context
...
If the extension is supported, we create configless contexts.
This will come in handy real soon now, we use different configs for HDR
and SDR.
2021-10-06 03:44:37 +02:00
Benjamin Otte
3ca84c4357
glcontext: Handle failure of eglBindAPI()
...
We don't want to be sure if we have GL or GLES.
2021-10-06 03:44:36 +02:00
Benjamin Otte
2ff1ea555f
egl: Unify contexts
...
Unify the X11 and Wayland EGL contexts.
This is a bit ugly to implement, because I don't want to create an
interface and I can't make them inherit from the same object, because
one needs to inherit from X11GLContext and the other from
WaylandGLContext.
So we have to put the code in GdkGLContext and make sure non-EGL
contexts can't accidentally run it. This is rather easy because we can
just check for priv->egl_context != NULL.
2021-10-06 03:44:36 +02:00
Benjamin Otte
03cc603093
glcontext: Remove unused functionality
...
The recent changes made and unused function removals make these features
unused.
2021-10-06 03:44:36 +02:00
Benjamin Otte
64f10eff20
gdk: Remove unused gdk_gl_texture_quads() function
...
That function carried a lot of baggage.
2021-10-06 03:44:36 +02:00
Benjamin Otte
111c2769a5
cairo-gl: Don't leak framebuffers
...
The framebufffer was cached, but never deleted. And because this
function is deprecated and nobody should ever use it: Don't bother with
caching now.
2021-10-06 03:44:36 +02:00
Benjamin Otte
482845b027
wayland: Remove initial GL API bind
...
This is leftover from before the addition of GLES support.
GTK works fine without OpenGL and just OpenGLES.
2021-10-06 03:44:36 +02:00
Benjamin Otte
f8b9b309b0
egl: Move extension checks to GdkDisplay
...
We check the same extensions anyway, so no need to duplicate the code.
2021-10-06 03:44:36 +02:00
Benjamin Otte
d128ffcc14
egl: Move EGLSurface handling to GdkSurface
...
Calling gdk_surface_set_egl_native_window() enables this.
2021-10-06 03:44:35 +02:00
Benjamin Otte
aba37c40d3
display: Get carried away by extension checker
...
I wanted to make it easy to check for multiple extensions and then got
carried away by trying to generate beautiful error messages.
2021-10-06 03:43:47 +02:00
Benjamin Otte
c8204a902c
surface: Add a private struct
...
Adding a random member to it resulted in a lot of header surgery as a
side effect.
2021-10-06 03:43:47 +02:00
Benjamin Otte
032eb15079
glcontext: The content cannot be the current context
...
The current context owns a reference to the context, so it cannot be
disposed.
2021-10-06 03:43:47 +02:00
Benjamin Otte
70607f56d9
x11: Port to shared EGL code
2021-10-06 03:43:47 +02:00
Benjamin Otte
bfb158d773
egl: Move initialization code and port Wayland
...
Moves the EGL initialization code to gdk/ so it can be shared between
backends.
Also port the Wayland backend to this code, so I know that it works.
2021-10-06 03:43:47 +02:00
Benjamin Otte
ae8de7168a
build: Add a HAVE_EGL define to config.h
2021-10-06 03:43:47 +02:00
Matthias Clasen
9e88275de6
Merge branch 'matthiasc/for-master' into 'master'
...
inspector: Export gtk_inspector_init
See merge request GNOME/gtk!4034
2021-10-06 00:46:21 +00:00
Matthias Clasen
3f5107cea5
inspector: Export gtk_inspector_init
...
Quietly export this function mainly for the benefit
of libadwaita, which can can use this to install its
implementation of the gtk-inspector-page extension
point.
2021-10-05 20:10:34 -04:00
Benjamin Otte
04da2ff7c8
surface: Use g_clear_thing()
2021-10-05 04:48:15 +02:00
Benjamin Otte
9012a032c1
widget-factory: Name the images pages
2021-10-05 04:48:15 +02:00
Benjamin Otte
38461ee204
gdk: Make GDK_DEBUG GL backend selection global
...
We have a global GdkGLBackendType now, just set it.
This way, using the variable forces the backend type, and we don't need
special code handling the env vars in the backends.
It also means setting the env var will now "work" on GDK backends that
don't even support that GL backend and simualte another GDK backend
having registered that GL backend already. So you can run
GDK_DEBUG=gl-wgl gtk4-demo
on test what Wayland will do when WGL is in use.
2021-10-05 04:48:15 +02:00
Benjamin Otte
75370a2fee
pathbar: Use correct marshaler
...
Recent changes to types didn't update the marshaler. Oops.
2021-10-05 04:48:15 +02:00
Benjamin Otte
6ec6bcafbf
win32: Remove unused variables
2021-10-05 04:48:15 +02:00
Dušan Kazik
e2fb67fdea
Update Slovak translation
...
(cherry picked from commit 14f31183b8
)
2021-10-04 13:20:33 +00:00
Matthias Clasen
bb5eb3ba55
Merge branch 'docs-label' into 'master'
...
Various documentation fixes
See merge request GNOME/gtk!4029
2021-10-04 12:25:41 +00:00
Emmanuele Bassi
c9ad181ca4
Merge branch 'filesearch' into 'master'
...
searchenginemodel: finalize search results
Closes #3546
See merge request GNOME/gtk!4028
2021-10-04 10:01:08 +00:00
Emmanuele Bassi
289394de30
docs: Replace gtk-doc internal link in GtkRequisition
2021-10-04 10:46:45 +01:00
Emmanuele Bassi
12d4a51679
docs: Remove gtk-doc link from GtkTreeView::row-activated
2021-10-04 10:45:34 +01:00
Emmanuele Bassi
9bd0674672
docs: Fix GtkCellLayout description
...
- Drop gtk-doc internal links
- Escape XML elements
2021-10-04 10:42:59 +01:00
Emmanuele Bassi
a9c1e1e468
docs: Remove gtk-doc links from GtkDrawingArea
2021-10-04 10:37:29 +01:00
Emmanuele Bassi
42ba6f0a34
docs: Fix up GtkTreeViewColumn
...
Remove the use of gtk-doc links.
2021-10-04 10:36:52 +01:00
Emmanuele Bassi
49603c24ad
docs: Clean up GtkCellArea description
...
- Drop gtk-doc links
- Use gi-docgen links
- Use Markdown code blocks
- Fix code markers around types
2021-10-04 10:30:02 +01:00
Emmanuele Bassi
08aa77c243
docs: Fix GtkListStore description
...
- Escape XML elements
- Remove old gtk-doc links
- Add a few internal links
- Use Markdown code blocks
2021-10-04 10:16:26 +01:00
Emmanuele Bassi
4e6a76e11e
docs: Fix internal links in for GtkLabel's text layout section
2021-10-04 10:15:51 +01:00
Pierre Ossman
34037c0550
searchenginemodel: finalize search results
...
It is necessary to signal the search engine that we are finished and
that we found something for it to reliably show the results. It would
sometimes work anyway since it is sufficient if any backend signals
completion. However if GtkSearchEngineModel was the only backend
returning results then things would break.
2021-10-04 09:23:39 +02:00
Matthias Clasen
bc086c5a2d
Merge branch 'matthiasc/for-master' into 'master'
...
Add depfiles back to resource generation
See merge request GNOME/gtk!4027
2021-10-04 03:08:42 +00:00
Benjamin Otte
d939f379f4
win32: Comment out unused function
2021-10-04 04:26:49 +02:00
Matthias Clasen
8079f8ea3c
Add depfiles back to resource generation
...
The recent change to faster resource generation
lost the depfiles to ensure that we regenerate
resources when any of the contents change.
Bring it back.
2021-10-03 22:23:56 -04:00
Matthias Clasen
f2dbf57104
Merge branch 'matthiasc/for-master' into 'master'
...
contentdeserializer: Plug a small memleak
See merge request GNOME/gtk!4026
2021-10-03 19:04:00 +00:00
Matthias Clasen
b8622adac5
contentdeserializer: Plug a small memleak
...
Found by asan in ci. We intern the mimetypes
when they are registered, so there is no need
to leak this string.
2021-10-03 14:52:09 -04:00
Matthias Clasen
b4bc7983a6
Merge branch 'matthiasc/for-master' into 'master'
...
ngl: Small docs updates
See merge request GNOME/gtk!4025
2021-10-03 18:33:12 +00:00