Skip to content

v0.27.2 — DX12 Timestamps, Queue Mutex, GLES Barriers

Choose a tag to compare

@kolkov kolkov released this 10 May 19:12
· 208 commits to main since this release
a0480d9

Added

  • DX12 timestamp queries — CreateQuerySet, DestroyQuerySet, ResolveQuerySet, begin/end-of-pass timestamp writes via EndQuery. FFI wrappers for EndQuery and ResolveQueryData. Matches Rust wgpu-hal dx12 pattern.

Fixed

  • Vulkan GetTimestampPeriod — returned hardcoded 1.0, now reads VkPhysicalDeviceLimits.TimestampPeriod at device init. Previously incorrect on AMD/NVIDIA GPUs.
  • GLES compute memory barriers — TransitionBuffers/TransitionTextures were no-ops. Compute shader writes not guaranteed visible to subsequent commands. Now emits glMemoryBarrier with correct barrier bits. Matches Rust wgpu-hal/gles.
  • Queue thread safety — Submit, WriteBuffer, WriteTexture, LastSubmissionIndex serialized via sync.Mutex. Matches Rust wgpu-core RwLock::write() on device.fence + device.command_indices during submit. Prevents data race from concurrent goroutines.