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.
37 lines
1004 B
Python
Executable File
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;")
|