Files
RedBear-OS/recipes/wip/tools/less/source/mkhelp.py
T
vasilito 7686729069 drm: implement syncobj and fence for VIRGL/VirtIO driver
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.
2026-06-02 14:33:28 +03:00

37 lines
1004 B
Python
Executable File

#!/usr/bin/env python
import time
import sys
time = time.gmtime()
print("/* This file was generated by mkhelp.py from less.hlp at "\
"%d:%02d GMT on %d/%d/%d */\n" %
(time.tm_hour, time.tm_min, time.tm_year, time.tm_mon, time.tm_mday))
print("#include \"less.h\"")
print("constant char helpdata[] = {")
ch = 0
while True:
prevch = ch
ch = sys.stdin.read(1)
if ch == '':
break
if (ch == "'"):
print("'\\'',", end='')
elif (ch == "\\"):
print("'\\\\',", end='')
elif (ch == "\b"):
print ("'\\b',", end='')
elif (ch == "\t"):
print ("'\\t',", end='')
elif (ch == "\n"):
if prevch != "\r": print("'\\n',")
elif (ch == "\r"):
if prevch != "\n": print("'\\n',")
else:
if ((ord(ch) >= ord(' ')) and (ord(ch) < 0x7f)):
print(f"'{ch}',", end='')
else:
print("0x%02x," % ord(ch), end='')
print(" '\\0' };")
print("constant int size_helpdata = sizeof(helpdata) - 1;")