m1n1/proxyclient/experiments/agx_renderframe.py

74 lines
1.5 KiB
Python
Raw Normal View History

#!/usr/bin/env python3
# SPDX-License-Identifier: MIT
import sys, pathlib, time
sys.path.append(str(pathlib.Path(__file__).resolve().parents[1]))
import atexit, sys
from m1n1.setup import *
from m1n1.constructutils import Ver
from m1n1.utils import *
Ver.set_version(u)
from m1n1.agx import AGX
from m1n1.agx.render import *
from m1n1 import asm
p.pmgr_adt_clocks_enable("/arm-io/gfx-asc")
p.pmgr_adt_clocks_enable("/arm-io/sgx")
agx = AGX(u)
mon = RegMonitor(u, ascii=True, bufsize=0x8000000)
agx.mon = mon
sgx = agx.sgx_dev
try:
agx.start()
agx.uat.dump(0)
print("==========================================")
print("## After init")
print("==========================================")
mon.poll()
agx.poll_objects()
ctx = GPUContext(agx)
ctx.bind(63)
f = GPUFrame(ctx, sys.argv[1], track=False)
r = GPURenderer(ctx, 16, bm_slot=0, queue=1)
print("==========================================")
print("## Submitting")
print("==========================================")
w = r.submit(f.cmdbuf)
print("==========================================")
print("## Submitted")
print("==========================================")
print("==========================================")
print("## Run")
print("==========================================")
r.run()
while not r.ev_3d.fired:
agx.asc.work()
agx.poll_channels()
agx.poll_objects()
mon.poll()
r.wait()
time.sleep(3)
finally:
#agx.poll_objects()
p.reboot()