7686729069
Extract protocol-agnostic FenceTimeline from Intel to shared src/drivers/fence.rs — atomic-based fence tracking suitable for Intel, VIRGL, and AMD drivers. Extract protocol-agnostic SyncobjManager from Intel to shared src/drivers/syncobj.rs — syncobj create/destroy/signal/reset/ wait/query and sync_file fd export/import. Wire both into VirtioDriver: - Add FenceTimeline + SyncobjManager fields - Implement all 5 GpuDriver syncobj trait methods (create, destroy, wait, export_fd, import_fd) - Track fence seqnos in virgl_submit_3d (allocate before submit, signal after completion) Intel fence.rs and syncobj.rs converted to thin re-export modules pointing at shared sources — no behavioral change for Intel driver. This gives Mesa VIRGL userspace the standard DRM syncobj API for GPU/compositor synchronization.
29 lines
925 B
Plaintext
29 lines
925 B
Plaintext
|
|
#------------------------------------------------------------------------------
|
|
# $File: gpu,v 1.3 2021/04/26 15:56:00 christos Exp $
|
|
# gpu: file(1) magic for GPU input files
|
|
|
|
# Standard Portable Intermediate Representation (SPIR)
|
|
# Documentation: https://www.khronos.org/spir
|
|
# Typical file extension: .spv
|
|
|
|
0 belong 0x07230203 Khronos SPIR-V binary, big-endian
|
|
>4 belong x \b, version %#08x
|
|
>8 belong x \b, generator %#08x
|
|
|
|
0 lelong 0x07230203 Khronos SPIR-V binary, little-endian
|
|
>4 lelong x \b, version %#08x
|
|
>8 lelong x \b, generator %#08x
|
|
|
|
# Vulkan Trace file
|
|
# Documentation:
|
|
# https://github.com/LunarG/VulkanTools/blob/master/vktrace/vktrace_common/\
|
|
# vktrace_trace_packet_identifiers.h
|
|
# Typical file extension: .vktrace
|
|
|
|
8 lequad 0xABADD068ADEAFD0C Vulkan trace file, little-endian
|
|
>0 leshort x \b, version %d
|
|
|
|
8 bequad 0xABADD068ADEAFD0C Vulkan trace file, big-endian
|
|
>0 beshort x \b, version %d
|