m1n1.fw.agx: Fix some more sequence number-ish field names

Signed-off-by: Asahi Lina <lina@asahilina.net>
This commit is contained in:
Asahi Lina 2023-02-25 16:08:00 +09:00
parent b7fb8d98d8
commit 074892377c
3 changed files with 20 additions and 15 deletions

View file

@ -205,7 +205,7 @@ class GPURenderer:
self.event_control.event_count.val = 0 self.event_control.event_count.val = 0
self.event_control.event_count.push() self.event_control.event_count.push()
self.event_control.generation = 0 self.event_control.submission_id = 0
self.event_control.cur_count = 0 self.event_control.cur_count = 0
self.event_control.unk_10 = 0x50 self.event_control.unk_10 = 0x50
self.event_control.push() self.event_control.push()
@ -217,6 +217,8 @@ class GPURenderer:
self.work = [] self.work = []
self.ev_idx = 0
def submit(self, cmdbuf, wait_for=None): def submit(self, cmdbuf, wait_for=None):
nclusters = 8 nclusters = 8
@ -634,10 +636,10 @@ class GPURenderer:
wc_3d.struct_7.stamp2 = self.stamp_3d2 wc_3d.struct_7.stamp2 = self.stamp_3d2
wc_3d.struct_7.stamp_value = self.stamp_value_3d wc_3d.struct_7.stamp_value = self.stamp_value_3d
wc_3d.struct_7.ev_3d = ev_3d.id wc_3d.struct_7.ev_3d = ev_3d.id
wc_3d.struct_7.evctl_index = 0x0 wc_3d.struct_7.evctl_index = self.ev_idx
wc_3d.struct_7.unk_24 = 1 wc_3d.struct_7.unk_24 = 1
wc_3d.struct_7.uuid = uuid_3d wc_3d.struct_7.uuid = uuid_3d
wc_3d.struct_7.prev_stamp_value = self.prev_stamp_value_3d >> 8 wc_3d.struct_7.queue_cmd_count = 0
wc_3d.struct_7.unk_30 = 0x0 wc_3d.struct_7.unk_30 = 0x0
wc_3d.set_addr() # Update inner structure addresses wc_3d.set_addr() # Update inner structure addresses
@ -661,10 +663,10 @@ class GPURenderer:
start_3d.workitem_ptr = wc_3d._addr start_3d.workitem_ptr = wc_3d._addr
start_3d.context_id = self.ctx_id start_3d.context_id = self.ctx_id
start_3d.unk_50 = 0x1 start_3d.unk_50 = 0x1
start_3d.event_generation = self.event_control.generation start_3d.submission_id = self.event_control.submission_id
start_3d.buffer_mgr_slot = self.buffer_mgr_slot start_3d.buffer_mgr_slot = self.buffer_mgr_slot
start_3d.unk_5c = 0x0 start_3d.unk_5c = 0x0
start_3d.prev_stamp_value = self.prev_stamp_value_3d >> 8 start_3d.queue_cmd_count = self.prev_stamp_value_3d >> 8
start_3d.unk_68 = 0x0 start_3d.unk_68 = 0x0
start_3d.unk_buf_ptr = wc_3d.unk_758._addr start_3d.unk_buf_ptr = wc_3d.unk_758._addr
start_3d.unk_buf2_ptr = wc_3d.unk_buf2._addr start_3d.unk_buf2_ptr = wc_3d.unk_buf2._addr
@ -896,10 +898,10 @@ class GPURenderer:
wc_ta.struct_3.stamp2 = self.stamp_ta2 wc_ta.struct_3.stamp2 = self.stamp_ta2
wc_ta.struct_3.stamp_value = self.stamp_value_ta wc_ta.struct_3.stamp_value = self.stamp_value_ta
wc_ta.struct_3.ev_ta = ev_ta.id wc_ta.struct_3.ev_ta = ev_ta.id
wc_ta.struct_3.evctl_index = 0 wc_ta.struct_3.evctl_index = self.ev_idx
wc_ta.struct_3.unk_584 = 0x0 # 1 for boot stuff? wc_ta.struct_3.unk_584 = 0x0 # 1 for boot stuff?
wc_ta.struct_3.uuid2 = uuid_ta wc_ta.struct_3.uuid2 = uuid_ta
wc_ta.struct_3.prev_stamp_value = self.prev_stamp_value_ta >> 8 wc_ta.struct_3.queue_cmd_count = 0
wc_ta.struct_3.unk_590 = 0 # sometimes 1? wc_ta.struct_3.unk_590 = 0 # sometimes 1?
wc_ta.set_addr() # Update inner structure addresses wc_ta.set_addr() # Update inner structure addresses
@ -916,7 +918,7 @@ class GPURenderer:
start_ta.cmdqueue_ptr = self.wq_ta.info._addr start_ta.cmdqueue_ptr = self.wq_ta.info._addr
start_ta.context_id = self.ctx_id start_ta.context_id = self.ctx_id
start_ta.unk_38 = 1 start_ta.unk_38 = 1
start_ta.event_generation = self.event_control.generation start_ta.submission_id = self.event_control.submission_id
start_ta.buffer_mgr_slot = self.buffer_mgr_slot start_ta.buffer_mgr_slot = self.buffer_mgr_slot
start_ta.unk_48 = 0#1 #0 start_ta.unk_48 = 0#1 #0
start_ta.unk_50 = 0 start_ta.unk_50 = 0
@ -1015,6 +1017,9 @@ class GPURenderer:
self.wq_ta.submit(wc_ta) self.wq_ta.submit(wc_ta)
self.agx.log("Submit done") self.agx.log("Submit done")
#self.ev_idx = (self.ev_idx + 1) % 4
return work return work
def run(self): def run(self):

View file

@ -73,7 +73,7 @@ class EventControl(ConstructClass):
subcon = Struct( subcon = Struct(
"event_count_addr" / Int64ul, "event_count_addr" / Int64ul,
"event_count" / ROPointer(this.event_count_addr, Int32ul), "event_count" / ROPointer(this.event_count_addr, Int32ul),
"generation" / Int32ul, "submission_id" / Int32ul,
"cur_count" / Int32ul, "cur_count" / Int32ul,
"unk_10" / Int32ul, "unk_10" / Int32ul,
"unk_14" / Int32ul, "unk_14" / Int32ul,

View file

@ -348,7 +348,7 @@ class Start3DStruct7(ConstructClass):
"evctl_index" / Int32ul, "evctl_index" / Int32ul,
"unk_24" / Int32ul, "unk_24" / Int32ul,
"uuid" / Int32ul, "uuid" / Int32ul,
"prev_stamp_value" / Int32ul, "queue_cmd_count" / Int32ul,
"unk_30" / Int32ul, "unk_30" / Int32ul,
) )
@ -390,10 +390,10 @@ class Start3DCmd(ConstructClass):
"workitem_ptr" / Int64ul, # points back at the WorkItem that this command came from "workitem_ptr" / Int64ul, # points back at the WorkItem that this command came from
"context_id" / Int32ul, "context_id" / Int32ul,
"unk_50" / Int32ul, "unk_50" / Int32ul,
"event_generation" / Int32ul, "submission_id" / Int32ul,
"buffer_mgr_slot" / Int32ul, "buffer_mgr_slot" / Int32ul,
"unk_5c" / Int32ul, "unk_5c" / Int32ul,
"prev_stamp_value" / Int64ul, # 0 "queue_cmd_count" / Int64ul, # 0
"unk_68" / Int32ul, # 0 "unk_68" / Int32ul, # 0
"unk_buf_ptr" / Int64ul, "unk_buf_ptr" / Int64ul,
"unk_buf2_ptr" / Int64ul, # 0x18 bytes "unk_buf2_ptr" / Int64ul, # 0x18 bytes
@ -527,7 +527,7 @@ class StartTACmdStruct3(ConstructClass):
"evctl_index" / Int32ul, # 0-3 "evctl_index" / Int32ul, # 0-3
"unk_584" / Int32ul, "unk_584" / Int32ul,
"uuid2" / Int32ul, "uuid2" / Int32ul,
"prev_stamp_value" / Int32ul, "queue_cmd_count" / Int32ul,
"unk_590" / Int32ul, "unk_590" / Int32ul,
) )
@ -551,7 +551,7 @@ class StartTACmd(ConstructClass):
"cmdqueue_ptr" / Int64ul, "cmdqueue_ptr" / Int64ul,
"context_id" / Int32ul, "context_id" / Int32ul,
"unk_38" / Int32ul, "unk_38" / Int32ul,
"event_generation" / Int32ul, "submission_id" / Int32ul,
"buffer_mgr_slot" / Int64ul, "buffer_mgr_slot" / Int64ul,
"unk_48" / Int64ul, "unk_48" / Int64ul,
"unk_50" / Int32ul, "unk_50" / Int32ul,
@ -626,7 +626,7 @@ class JobMeta(ConstructClass):
"evctl_index" / Int32ul, "evctl_index" / Int32ul,
"unk_20" / Int32ul, "unk_20" / Int32ul,
"uuid" / Int32ul, "uuid" / Int32ul,
"prev_stamp_value" / Int32ul, "queue_cmd_count" / Int32ul,
) )
class EncoderParams(ConstructClass): class EncoderParams(ConstructClass):