Jorijn van der Graaf
3f646ec42b
fix(wayland): the first key repeat lands at the delay, not as a burst of the periods since the press
...
keyboard_key set lastFireTime to the press and TickKeyRepeats caught up on
every period since it, so the first tick past the compositor's delay fired
floor(delay / period) repeats at once: with rate 25 and delay 600 a held
Backspace deleted sixteen characters at the delay mark and a held letter
put fifteen copies in the field, from a hardware keyboard and from an
on-screen keyboard that sends Backspace as key events. A rate above 1000
made the period zero and the loop endless.
The first repeat now lands at the delay, as wl_keyboard.repeat_info
promises (one after `delay`, then `rate` a second): the first tick past
the delay sets lastFireTime to pressTime + delay - period. The period is
at least a millisecond, and the catch-up after a stalled frame is capped
(kKeyRepeatCatchUp, three) with the rest of the stall dropped, so a held
key is never a burst of edits. TickKeyRepeats takes the clock as a
parameter for the tests; the frame path's call is unchanged.
tests/KeyRepeat drives TickKeyRepeats with an injected clock on a
default-constructed Window: nothing before the delay, one at it, one per
period after, a capped catch-up, a key without text, a rate above 1000, a
released key, rate 0.
2026-11-01 00:53:56 +01:00
..
BLASBuildOptions
feat: windows on their own clock, deferred deletion for every handle owner, staged re-uploads, and RTPass push data
2026-10-20 20:20:29 +02:00
DebugMessengerSeverity
feat: windows on their own clock, deferred deletion for every handle owner, staged re-uploads, and RTPass push data
2026-10-20 20:20:29 +02:00
DeferredDeletion
feat: windows on their own clock, deferred deletion for every handle owner, staged re-uploads, and RTPass push data
2026-10-20 20:20:29 +02:00
DeletionQueueThreads
feat: windows on their own clock, deferred deletion for every handle owner, staged re-uploads, and RTPass push data
2026-10-20 20:20:29 +02:00
DescriptorHeapLayout
fix(descriptor-heap): round the buffer region up, align the reserved range for buffers too, and never size a heap at zero
2026-10-31 16:06:44 +01:00
DeviceFeatures
feat(device): applications ask for the device features their shaders use
2026-10-31 06:40:02 +01:00
DeviceSelection
feat: windows on their own clock, deferred deletion for every handle owner, staged re-uploads, and RTPass push data
2026-10-20 20:20:29 +02:00
ExampleShaders
fix(rt): split Sponza's combined image sampler into a heap texture and sampler
2026-10-31 08:25:52 +01:00
FeatureRequests
feat(device): applications ask for the device features their shaders use
2026-10-31 06:40:02 +01:00
FontAdvanceCache
SPDX license update
2026-07-22 18:09:06 +02:00
FontAtlasDecode
fix(ui): decode the font atlas's SDF in atlas pixels, so text edges ramp over one screen pixel
2026-10-31 20:23:40 +01:00
FontAtlasDirtyRect
SPDX license update
2026-07-22 18:09:06 +02:00
FontAtlasEviction
fix(font-atlas): give glyphs that find no room a cell when the next frame begins, evicting the least recently drawn
2026-10-31 19:43:58 +01:00
FontAtlasPacker
fix(font-atlas): give glyphs that find no room a cell when the next frame begins, evicting the least recently drawn
2026-10-31 19:43:58 +01:00
FrameLoopSync
fix(window): size the swapchain for its present mode, and key frames in flight by frame instead of image
2026-10-31 18:14:18 +01:00
HeapASRead
fix(window): size the swapchain for its present mode, and key frames in flight by frame instead of image
2026-10-31 18:14:18 +01:00
HeapDynamicIndexHit
fix(window): size the swapchain for its present mode, and key frames in flight by frame instead of image
2026-10-31 18:14:18 +01:00
HeapSlotReuse
feat: windows on their own clock, deferred deletion for every handle owner, staged re-uploads, and RTPass push data
2026-10-20 20:20:29 +02:00
ImageStagingRelease
feat: windows on their own clock, deferred deletion for every handle owner, staged re-uploads, and RTPass push data
2026-10-20 20:20:29 +02:00
InputFieldCaretCache
SPDX license update
2026-07-22 18:09:06 +02:00
InputFieldHitTest
SPDX license update
2026-07-22 18:09:06 +02:00
KeyRepeat
fix(wayland): the first key repeat lands at the delay, not as a burst of the periods since the press
2026-11-01 00:53:56 +01:00
MemoryTypeFallback
SPDX license update
2026-07-22 18:09:06 +02:00
MeshDecompressStagingRelease
feat: windows on their own clock, deferred deletion for every handle owner, staged re-uploads, and RTPass push data
2026-10-20 20:20:29 +02:00
MeshLifetime
feat: windows on their own clock, deferred deletion for every handle owner, staged re-uploads, and RTPass push data
2026-10-20 20:20:29 +02:00
MipChainBarrierBatch
SPDX license update
2026-07-22 18:09:06 +02:00
MipChainNonSquare
feat: windows on their own clock, deferred deletion for every handle owner, staged re-uploads, and RTPass push data
2026-10-20 20:20:29 +02:00
MouseScroll
SPDX license update
2026-07-22 18:09:06 +02:00
PipelineCacheValidation
SPDX license update
2026-07-22 18:09:06 +02:00
PipelineLifetime
feat: windows on their own clock, deferred deletion for every handle owner, staged re-uploads, and RTPass push data
2026-10-20 20:20:29 +02:00
PointerEnterLeave
fix(win32): restore mouse moves, add enter and leave, capture drags, and close and destroy windows cleanly
2026-10-31 03:29:50 +01:00
PointerWin32
fix(window): set the title on Win32 through a Unicode window class, and send only the view's bytes on Wayland
2026-10-31 18:28:16 +01:00
PushConstantRewrite
feat(device): applications ask for the device features their shaders use
2026-10-31 06:40:02 +01:00
RTPassPushData
fix(window): size the swapchain for its present mode, and key frames in flight by frame instead of image
2026-10-31 18:14:18 +01:00
SetupCmdBufferReuse
fix(window): size the swapchain for its present mode, and key frames in flight by frame instead of image
2026-10-31 18:14:18 +01:00
ShapeTextCache
fix(font-atlas): give glyphs that find no room a cell when the next frame begins, evicting the least recently drawn
2026-10-31 19:43:58 +01:00
SwapchainBarrierScope
feat: windows on their own clock, deferred deletion for every handle owner, staged re-uploads, and RTPass push data
2026-10-20 20:20:29 +02:00
SwapchainImageCount
fix(window): size the swapchain for its present mode, and key frames in flight by frame instead of image
2026-10-31 18:14:18 +01:00
SwapchainTransferDst
fix(window): size the swapchain for its present mode, and key frames in flight by frame instead of image
2026-10-31 18:14:18 +01:00
TextAntialiasing
fix(ui): decode the font atlas's SDF in atlas pixels, so text edges ramp over one screen pixel
2026-10-31 20:23:40 +01:00
TextWin32
fix(window): set the title on Win32 through a Unicode window class, and send only the view's bytes on Wayland
2026-10-31 18:28:16 +01:00
TitleWayland
fix(window): set the title on Win32 through a Unicode window class, and send only the view's bytes on Wayland
2026-10-31 18:28:16 +01:00
TLASBuildBarrier
fix(rt): rebuild TLASes in place, after earlier traces, and queue their handles like a Mesh's
2026-10-31 02:32:48 +01:00
TLASEmptyBuild
test(rt): an empty scene's TLAS builds, then grows and shrinks
2026-10-19 03:03:16 +02:00
TLASHighWaterMark
fix(rt): rebuild TLASes in place, after earlier traces, and queue their handles like a Mesh's
2026-10-31 02:32:48 +01:00
TLASInstanceDirtyTracking
fix(rt): never destroy the static TLASes
2026-10-19 03:03:16 +02:00
TLASLifetime
fix(rt): rebuild TLASes in place, after earlier traces, and queue their handles like a Mesh's
2026-10-31 02:32:48 +01:00
UIClipFlag
SPDX license update
2026-07-22 18:09:06 +02:00
UIDispatchAtlasFlush
fix(font-atlas): give glyphs that find no room a cell when the next frame begins, evicting the least recently drawn
2026-10-31 19:43:58 +01:00
UIFallbackParity
fix(window): size the swapchain for its present mode, and key frames in flight by frame instead of image
2026-10-31 18:14:18 +01:00
UIFusedShader
test(ui): the descriptor-set fallback draws the same frame as the heap
2026-10-06 17:28:46 +02:00
UploadInFlight
feat: windows on their own clock, deferred deletion for every handle owner, staged re-uploads, and RTPass push data
2026-10-20 20:20:29 +02:00
UploadStrategy
SPDX license update
2026-07-22 18:09:06 +02:00
VulkanBufferAddress
feat: windows on their own clock, deferred deletion for every handle owner, staged re-uploads, and RTPass push data
2026-10-20 20:20:29 +02:00
VulkanBufferFlushGate
SPDX license update
2026-07-22 18:09:06 +02:00
VulkanBufferRangedFlush
SPDX license update
2026-07-22 18:09:06 +02:00
VulkanBufferResizeReuse
SPDX license update
2026-07-22 18:09:06 +02:00
VulkanShaderLifetime
feat: windows on their own clock, deferred deletion for every handle owner, staged re-uploads, and RTPass push data
2026-10-20 20:20:29 +02:00
Win32Link
test(win32): drop the __libc_single_threaded stand-in, which crafter-build 5.0.0 made unneeded
2026-11-01 00:37:41 +01:00
WindowOptionalGlobals
fix(wayland): open windows on compositors without xdg-decoration, viewporter or fractional scale
2026-10-31 09:59:13 +01:00
WindowUpdateClock
feat: windows on their own clock, deferred deletion for every handle owner, staged re-uploads, and RTPass push data
2026-10-20 20:20:29 +02:00