Julian Orth
9534da89a2
vulkan: store tex vertices in buffer
2025-02-28 11:16:00 +01:00
Julian Orth
73611fd287
vulkan: store out vertices in buffer
2025-02-28 11:16:00 +01:00
Julian Orth
10be846e4c
vulkan: store fill vertices in buffer
2025-02-28 11:15:59 +01:00
Julian Orth
f84934bd9a
vulkan: replace DescriptorBufferCache by generic cache
2025-02-28 11:15:58 +01:00
Julian Orth
c16ea9325e
vulkan: add early-out for ops outside of damage region
2025-02-28 11:15:57 +01:00
Julian Orth
c83e3ffa4d
vulkan: sort ops by type
2025-02-28 11:15:56 +01:00
Julian Orth
db4ff00330
vulkan: pre-processes GfxApiOpt
2025-02-28 11:15:56 +01:00
Julian Orth
135f37dbcd
theme: store colors in linear space
2025-02-28 11:15:55 +01:00
Julian Orth
b7f93b37a6
vulkan: rewrite shaders in terms of eotf and oetf
2025-02-28 11:15:54 +01:00
Julian Orth
cb9dc4c182
vulkan: add legacy shaders
2025-02-28 11:15:53 +01:00
Julian Orth
fcd2e3ab33
color-management-v1: only expose the protocol with vulkan
2025-02-26 16:24:22 +01:00
Julian Orth
248eb324a5
config: allow disabling color-management
2025-02-26 16:16:38 +01:00
Julian Orth
c66f5798b7
color-management-v1: initial implementation
2025-02-26 14:32:57 +01:00
Julian Orth
292f181615
vulkan: optimize blend-buffer usage
2025-02-24 11:36:23 +01:00
Julian Orth
cb9da22ec2
vulkan: add support for blend buffers
2025-02-24 11:36:10 +01:00
Julian Orth
1220539a41
vulkan: make descriptor buffer code more generic
2025-02-24 11:36:01 +01:00
Julian Orth
52624455b3
vulkan: ignore paint region if framebuffer is undefined
2025-02-24 11:35:54 +01:00
Julian Orth
1d9bd404d6
vulkan: warn if device does not support descriptor buffers
2025-02-24 11:35:46 +01:00
Julian Orth
81d564dcb6
metal: use blend buffer if possible
2025-02-24 11:35:38 +01:00
Julian Orth
a7cb2ee42a
gfx: add GfxBlendBuffer
2025-02-24 11:35:30 +01:00
Julian Orth
446779ab83
wl_surface: check if partially-opaque surface is opaque within render bounds
2025-02-24 11:35:22 +01:00
Julian Orth
c796602aab
wl_surface: track if surface is fully opaque
2025-02-24 11:35:13 +01:00
Julian Orth
6243278f5f
region: add tagged regions
2025-02-24 11:35:00 +01:00
Julian Orth
0872a1251d
alpha-multiplier: perform multiplication in the renderer
2025-02-24 11:34:58 +01:00
Julian Orth
68f0966b16
render: apply correct damage after bar-size changes
2025-02-24 11:24:33 +01:00
Julian Orth
31747cef4a
render: bound all textures
2025-02-24 11:16:08 +01:00
Julian Orth
6d608cff01
ei: s/clients/ei_clients
2025-02-21 21:25:13 +01:00
Julian Orth
5b02428bee
wayland: kill clients in event-handling stage
2025-02-21 21:23:29 +01:00
Julian Orth
bbe8fdecf8
vulkan: don't call vkCmdClearAttachments if damage is empty
2025-02-21 11:53:48 +01:00
Julian Orth
8a3a377f61
vulkan: de-duplicate used textures
2025-02-21 11:49:39 +01:00
Julian Orth
cf6016f61f
vulkan: preserve framebuffer in pending frame
2025-02-21 11:14:01 +01:00
Julian Orth
1b46fd0ceb
vulkan: fix RenderingAttachmentInfo layout
2025-02-21 10:50:27 +01:00
Julian Orth
3338909170
all: set rust edition to 2024
2025-02-21 10:44:29 +01:00
Julian Orth
02a18f620b
all: address clippy lints
2025-02-21 10:31:52 +01:00
Julian Orth
993df71c80
vulkan: draw only in requested regions
2025-02-20 12:22:24 +01:00
Julian Orth
07fb198eb4
metal: track per-framebuffer damage
2025-02-20 12:22:24 +01:00
Julian Orth
f80ac20220
render: bound async title textures to their rect
2025-02-20 12:22:24 +01:00
Julian Orth
5932ec14a7
wl_subsurface: improve damage tracking
2025-02-20 12:22:24 +01:00
Julian Orth
5ae1742075
text-input: improve damage tracking
2025-02-19 18:09:32 +01:00
Julian Orth
52c9fac23b
xwayland: improve damage tracking
2025-02-19 16:59:15 +01:00
Julian Orth
f4e8d132f3
toplevel: remove focus_node
2025-02-19 16:59:15 +01:00
Julian Orth
364c53fde7
metal: don't cache connector properties across forced probes
2025-02-19 13:05:37 +01:00
Julian Orth
84a4d1eb2d
vulkan: don't equate buffer size with allocation size
2025-02-19 11:03:30 +01:00
Julian Orth
a1c5c05e36
vulkan: use descriptor buffers if available
2025-02-17 18:20:07 +01:00
Julian Orth
2a4a7510cd
vulkan: fix sync-file import check
2025-02-17 12:30:55 +01:00
Julian Orth
20716cdd1e
vulkan: use single push constant range per pipeline
2025-02-17 12:15:01 +01:00
Julian Orth
9595cc43ec
screencast: re-negotiate format/modifier when size changes
2025-02-05 19:28:53 +01:00
Julian Orth
b91c42aa38
screencast: always use actual width/height for test allocations
...
Some formats/modifiers only work up to a certain size. Using 1x1 would
yield combinations that won't actually work for the screencast.
2025-02-05 14:00:08 +01:00
Julian Orth
1abb89d888
metal: reset unused DRM properties
2025-02-03 12:16:00 +01:00
Julian Orth
607e92d2d5
metal: retry DRM device reset with modeset if non-modeset fails
...
Unfortunately AMD gets a bit modeset happy when we set this flag even in
situations where otherwise no modeset would be required. So we cannot
set it unconditionally.
2025-02-03 12:15:59 +01:00