Commit Graph

79200 Commits

Author SHA1 Message Date
Benjamin Otte
cfaddb5d47 gpu: Use nodprocessor infrastructure for offscreening
The just copied over function can just use the same infrastructure as
the other functions we already have that create slightly adjusted
offscreens.
2024-02-11 20:04:54 +01:00
Benjamin Otte
7c861d8b59 gpu: Don't clip again after already clipping
The 2 callers of gsk_gpu_get_node_as_image() were already computing the
minimum clip region and in particular aligning it to the pixel grid, so
intersecting with node bounds again was causing that alignment to be
busted.
2024-02-11 20:04:54 +01:00
Benjamin Otte
1c3457adfb gpu: Fix sizing of fractionally scaled backbuffer
When using a window size and scale that don't multiply to an integer, we
were using the wrong method to adjust it.

The Wayland fractional scaling spec just says:

> For toplevel surfaces, the size is rounded halfway away from zero.

This is meant to be interpreted as "create a large enough buffer to hold
partial pixels) and the compositor will blend it mapping to the pixel
grid" even if that means the buffer slightly overhangs.

Example:
A 11 units wide window at 150% will need a 11 * 1.5 = 16.5 pixel wide
buffer. This should be rounded to 17 pixels but rendered as if only 16.5
pixels are occupied by the window, not as if all 17 pixels are occupied.
2024-02-11 20:04:54 +01:00
Benjamin Otte
a2e46c4d39 gpu: Move function
It is only used by the nodeprocessor, so put it where it belongs.
2024-02-11 20:04:54 +01:00
Benjamin Otte
df1d024059 Revert "gpu: Fix scale fluctuation"
This commit is wrong.
It does achieve what it sets out to do, but the method doesn't work.

It confused multiple things in one commit, the commit message only
describes the symptoms it tries to fix and not why the fix is correct,
it includes no tests and it wsn't properly reviewed.

Related: !6871
2024-02-11 20:04:54 +01:00
Carlos Garnacho
e492dac7fe Merge branch 'gtk4_crash_tablet_pad_remove' into 'main'
gdk/wayland: Clear current_tablet on pad leave

See merge request GNOME/gtk!6883
2024-02-11 17:07:14 +00:00
Colin Kinloch
fabe0516fa gdk/wayland: Clear current_tablet on pad leave
Fixes crash when handling tablet pad removal event after the
current_tablet has already been freed.
2024-02-11 14:52:30 +00:00
Matthias Clasen
84971b9076 Merge branch 'gtkcalendar-issue-2440' into 'main'
GtkCalendar: Add missing accessors

See merge request GNOME/gtk!6849
2024-02-11 14:40:30 +00:00
Ahmed Baïzid
5efc33fe65 GtkCalendar: Add missing accessors 2024-02-11 14:40:30 +00:00
Matthias Clasen
52c228fd9e Merge branch 'macos-dmabuf-tests' into 'main'
macos: skip dmabuf tests

See merge request GNOME/gtk!6874
2024-02-11 13:48:33 +00:00
Matthias Clasen
674b5b808e Merge branch 'gtkcalendar-doc-mentions-gdate' into 'main'
GtkCalendar: Remove a mention of GDate from the doc

See merge request GNOME/gtk!6876
2024-02-11 12:39:04 +00:00
Matthias Clasen
af62aa4497 Apply 1 suggestion(s) to 1 file(s) 2024-02-11 12:04:21 +00:00
Matthias Clasen
137a7096c3 Merge branch 'announcement-priority-docs-fix' into 'main'
Fix docs for GtkAccessibleAnnouncementPriority

See merge request GNOME/gtk!6881
2024-02-11 12:01:46 +00:00
Arjan Molenaar
703e5ab9a8 dmabuf: Skip dmabuf tests for macOS
Dmabuf is not supported for macOS.
2024-02-11 11:27:13 +01:00
Sebastian Dröge
e2dc94d0e8 Fix docs for GtkAccessibleAnnouncementPriority 2024-02-11 11:19:56 +02:00
Matthias Clasen
b821103d1e Merge branch 'sonny/fix-gtkimage.file-desc' into 'main'
gtk: Fix GtkImage.file description

See merge request GNOME/gtk!6878
2024-02-10 21:54:21 +00:00
Sonny Piers
b40c9d8dcd gtk: Fix GtkImage.file description 2024-02-10 22:01:51 +01:00
Matthias Clasen
87b66de109 Merge branch 'mip_size' into 'main'
gsk: Fix blit sizes while generating mipmaps on vk

See merge request GNOME/gtk!6875
2024-02-10 19:13:36 +00:00
Ahmed Baizid
e934a8984d GtkCalendar: Remove a mention of GDate from the doc 2024-02-10 19:15:40 +01:00
M Henning
d08412aaa4 gsk: Fix blit sizes while generating mipmaps on vk
A few lines later we already had the correct equation for the size.
See vulkan 1.3 spec section 12.3.2 "Image Mip Level Sizing"
2024-02-10 10:59:44 -05:00
Matthias Clasen
56e7c4ab50 Merge branch 'matthiasc/for-main' into 'main'
testdmabuf: Make overlay more challenging

See merge request GNOME/gtk!6873
2024-02-10 12:42:21 +00:00
Matthias Clasen
3be03ea56f testdmabuf: Make overlay more challenging
Put both changing and unchanging widgets in the overlay, to
test our offloading code harder.
2024-02-10 07:09:28 -05:00
Matthias Clasen
ac65495434 Merge branch 'fix-scale-fluctuation' into 'main'
gpu: Fix scale fluctuation

See merge request GNOME/gtk!6871
2024-02-10 12:08:52 +00:00
Matthias Clasen
3a26e29795 Merge branch 'drop-ffmpeg' into 'main'
Drop ffmpeg support

Closes #5581

See merge request GNOME/gtk!6872
2024-02-10 11:53:41 +00:00
Sabri Ünal
21f64b987a Update Turkish translation 2024-02-10 09:47:13 +00:00
Matthias Clasen
da227386ad Drop ffmpeg support
The experimental ffmpeg media backend  hasn't been building for a
year, and nobody showed up with a patch to make it build again.

Fixes: #5581
2024-02-09 22:32:58 -05:00
Matthias Clasen
1ac82528d9 gpu: Fix scale fluctuation
We want to use a viewport that gives us the right scale back.
This fixes problems where glyph lookups were inefficient because
the scale part of the key would fluctuate ever so slightly.
2024-02-09 19:49:54 -05:00
Matthias Clasen
50fb19b10d Merge branch 'matthiasc/for-main' into 'main'
offload: Small optimization

See merge request GNOME/gtk!6868
2024-02-09 22:53:26 +00:00
Matthias Clasen
7c38945abf Merge branch 'testsuite_fix_recentmanager_win32' into 'main'
testsuite: fix recentmanager failure on win32

See merge request GNOME/gtk!6656
2024-02-09 22:46:51 +00:00
Matthias Clasen
be2dcdd897 offload: Fix our tree walk
We were not finding an overlaid spinner, since it is implemented
as a texture in a (most of the time) non-affine transform, and
we were aborting our treewalk when we see such transforms.

Instead, don't abort the walk on any transforms, but check if we
are in an affine context before deciding to offload a subsurface.
2024-02-09 12:43:38 -05:00
Matthias Clasen
16f91fc5d2 Merge branch 'matthiasc/for-main' into 'main'
testdmabuf: Use a spinner as overlay

See merge request GNOME/gtk!6867
2024-02-09 17:24:32 +00:00
Matthias Clasen
46cb0c5fc8 offload: Small optimization
Don't transform bounds more often than necessary.
2024-02-09 12:19:16 -05:00
Matthias Clasen
49e0ae8742 testdmabuf: Use a spinner as overlay
Thats a bigger challenge, and it breaks.
2024-02-09 11:50:51 -05:00
Matthias Clasen
933ce71ec6 Merge branch 'matthiasc/for-main' into 'main'
testsuite: Plug a memory leak

See merge request GNOME/gtk!6866
2024-02-09 12:35:41 +00:00
Matthias Clasen
149e884658 NEWS: Updates 2024-02-09 00:13:21 -05:00
Matthias Clasen
4b34c10d05 testsuite: Plug a memory leak 2024-02-09 00:07:34 -05:00
Matthias Clasen
e4ec066337 Merge branch 'gtk-gtk_accessible_announce' into 'main'
a11y: Introduce an API for requesting speech from a screen reader

See merge request GNOME/gtk!6864
2024-02-09 05:06:02 +00:00
Matthias Clasen
b734614aed Merge branch 'matthiasc/for-main' into 'main'
testdmabuf: Be more dynamic

See merge request GNOME/gtk!6865
2024-02-09 04:50:39 +00:00
Matthias Clasen
7880095fd8 Stylistic cleanups 2024-02-08 23:31:33 -05:00
Matthias Clasen
53519d7da1 Merge branch 'gtk-accessible_component_refactor' into 'main'
a11y: Implement AtSPIComponent in terms of GtkAccessible

See merge request GNOME/gtk!6862
2024-02-09 04:30:43 +00:00
Matthias Clasen
d418b0984c testdmabuf: Be more dynamic
Add shortcuts for triggering various changes:

- F11 toggles fullscreen
- Ctrl-O toggles an overlay
- Ctrl-F flips the texture
2024-02-08 23:28:57 -05:00
Benjamin Otte
e20b0b2a35 Merge branch 'wip/otte/for-main' into 'main'
vulkan: Vulkan requires listing of all dependencies

Closes #6375 and #6412

See merge request GNOME/gtk!6863
2024-02-09 04:14:00 +00:00
Lukáš Tyrychtr
28cec6c9a7 Expand documentation for medium and high priority announcements 2024-02-08 23:07:49 -05:00
Lukáš Tyrychtr
887d5307ca Apply review feedback, namely:
* Add a forgotten since annotation
* Map the GTK's announcement priority explicitly
2024-02-08 23:07:49 -05:00
Lukáš Tyrychtr
f6c84a435e Don't use ARIA terminology 2024-02-08 23:07:49 -05:00
Lukáš Tyrychtr
bff31f58a8 Expand the docs on when you would want to use this API 2024-02-08 23:07:49 -05:00
Lukáš Tyrychtr
3921398e66 a11y: Introduce an API for requesting speech from a screen reader
Sometimes, say, for some status changes communicated otherwise only visually,
you want a way how to send a message to a screen reader.

This patch implements such API, along with a message priority modeled similarly
to ARIA's live region politeness values.

We are intentionally not copying the AtkLive enum, as the value of ATK_NONE
makes no sense for announcements.
2024-02-08 23:07:48 -05:00
Lukáš Tyrychtr
f30c3d8133 a11y: Implement AtSPIComponent in terms of GtkAccessible
This implements AtSPIComponent for all GtkAccessible objects,not only for
GtkWidget ones. This stops surprising Orca when performing flat review, as it
can now query the bounds for the entire tree.
2024-02-08 22:31:13 -05:00
Benjamin Otte
9c0ca8803d gpu: Punch hole with a clear again
This reinstates the clear op when possible so we can avoid blending
changes and benefit for large areas, when the clip is appropriate.

Related: #6375
2024-02-09 04:28:32 +01:00
Benjamin Otte
5b184a10a9 gpu: Add a CLEAR blend mode for subsurface hole punching
The previous code was ignoring non-scissor clips, which would make it
overeager at punching holes.

It also was not working with fractional coordinates.

Fixes #6375
2024-02-09 04:28:32 +01:00