asahi: Extend IOGPU header to contain encoder
Let's squash together all the resulting zeroes. Trying to discern some structure out of this. Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11730>
This commit is contained in:
parent
c1d8ed1bc2
commit
19bb9d278f
|
@ -465,7 +465,7 @@
|
|||
<value name="Depth" value="0xC"/>
|
||||
</enum>
|
||||
|
||||
<struct name="IOGPU Header" size="48">
|
||||
<struct name="IOGPU Header" size="64">
|
||||
<field name="Unk 0" start="0:0" size="32" default="0x10000" type="hex"/>
|
||||
<field name="Total size" start="1:0" size="32" type="uint"/>
|
||||
<field name="Unk 2" start="2:0" size="32" default="0x7" type="hex"/>
|
||||
|
@ -473,6 +473,9 @@
|
|||
<field name="Unk 3" start="9:0" size="32" default="0x18" type="hex"/>
|
||||
<field name="Attachment offset 2" start="10:0" size="32" type="uint"/>
|
||||
<field name="Unknown offset" start="11:0" size="32" type="uint"/>
|
||||
<field name="Unk 4" start="12:0" size="32" default="0x30" type="hex"/>
|
||||
<field name="Unk 5" start="13:0" size="32" default="0x01" type="hex"/>
|
||||
<field name="Encoder" start="14:0" size="64" type="address"/>
|
||||
</struct>
|
||||
|
||||
<struct name="IOGPU Attachment" size="24">
|
||||
|
|
|
@ -71,28 +71,7 @@ demo_cmdbuf(uint64_t *buf, size_t size,
|
|||
|
||||
struct cmdbuf *cmdbuf = &_cmdbuf;
|
||||
|
||||
/* Vertex stuff */
|
||||
EMIT_ZERO_WORDS(cmdbuf, 12);
|
||||
|
||||
EMIT32(cmdbuf, 0x30); /* 0x30 */
|
||||
EMIT32(cmdbuf, 0x01); /* 0x34. Compute: 0x03 */
|
||||
|
||||
EMIT64(cmdbuf, encoder_ptr);
|
||||
|
||||
EMIT_ZERO_WORDS(cmdbuf, 20);
|
||||
|
||||
EMIT64(cmdbuf, 0); /* 0x90, compute blob - some zero */
|
||||
EMIT64(cmdbuf, 0); // blob - 0x540 bytes of zero, compute blob - null
|
||||
EMIT64(cmdbuf, 0); // blob - 0x280 bytes of zero
|
||||
EMIT64(cmdbuf, 0); // a8, compute blob - zero pointer
|
||||
|
||||
EMIT64(cmdbuf, 0); // compute blob - zero pointer
|
||||
EMIT64(cmdbuf, 0); // compute blob - zero pointer
|
||||
EMIT64(cmdbuf, 0); // compute blob - zero pointer
|
||||
|
||||
// while zero for vertex, used to include the odd unk6 pattern for compute
|
||||
EMIT64(cmdbuf, 0); // compute blob - 0x1
|
||||
EMIT64(cmdbuf, 0); // d0, ompute blob - pointer to odd pattern, compare how it's done later for frag
|
||||
EMIT_ZERO_WORDS(cmdbuf, 54);
|
||||
|
||||
// compute 8 bytes of zero, then reconverge at *
|
||||
|
||||
|
@ -247,6 +226,7 @@ demo_cmdbuf(uint64_t *buf, size_t size,
|
|||
cfg.attachment_offset_1 = offset_attachments;
|
||||
cfg.attachment_offset_2 = offset_attachments;
|
||||
cfg.unknown_offset = offset_unk;
|
||||
cfg.encoder = encoder_ptr;
|
||||
}
|
||||
|
||||
return total_size;
|
||||
|
|
Loading…
Reference in New Issue