summaryrefslogtreecommitdiff
path: root/tools/proxyclient/experiments/agx_renderframe.py
diff options
context:
space:
mode:
Diffstat (limited to 'tools/proxyclient/experiments/agx_renderframe.py')
-rw-r--r--tools/proxyclient/experiments/agx_renderframe.py73
1 files changed, 73 insertions, 0 deletions
diff --git a/tools/proxyclient/experiments/agx_renderframe.py b/tools/proxyclient/experiments/agx_renderframe.py
new file mode 100644
index 0000000..82ac91c
--- /dev/null
+++ b/tools/proxyclient/experiments/agx_renderframe.py
@@ -0,0 +1,73 @@
+#!/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()