asahi: Handle 3rd deflake address
Context switching is so broken. Just trying to get closer. Adding some XML here to see if we're missing something else obvious. Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16512>
This commit is contained in:
parent
3be0314e5a
commit
c61e660323
|
@ -520,7 +520,7 @@
|
|||
<value name="Stencil" value="0x11"/>
|
||||
</enum>
|
||||
|
||||
<struct name="IOGPU Header" size="192">
|
||||
<struct name="IOGPU Header" size="640">
|
||||
<field name="Unk 0" start="0:0" size="32" default="0x10000" type="hex"/>
|
||||
<field name="Total size" start="1:0" size="32" type="uint"/>
|
||||
<!-- 0x7 in 11.x -->
|
||||
|
@ -535,6 +535,15 @@
|
|||
geometry counts -->
|
||||
<field name="Deflake 1" start="38:0" size="64" type="address"/>
|
||||
<field name="Deflake 2" start="40:0" size="64" type="address"/>
|
||||
<field name="Unk 54" start="54:0" size="32" default="0x6b0003" type="hex"/>
|
||||
<field name="Unk 55" start="55:0" size="32" default="0x3a0012" type="hex"/>
|
||||
<field name="Unk 56" start="56:0" size="32" default="0x1" type="hex"/>
|
||||
<field name="Deflake 3" start="110:0" size="64" type="address"/>
|
||||
<field name="Unk 112" start="112:0" size="32" default="0x1" type="hex"/>
|
||||
<field name="Unk 114" start="114:0" size="32" default="0x1c" type="hex"/>
|
||||
<field name="Unk 118" start="118:0" size="32" default="0xffffffff" type="hex"/>
|
||||
<field name="Unk 119" start="119:0" size="32" default="0xffffffff" type="hex"/>
|
||||
<field name="Unk 120" start="120:0" size="32" default="0xffffffff" type="hex"/>
|
||||
</struct>
|
||||
|
||||
<struct name="IOGPU Attachment" size="24">
|
||||
|
|
|
@ -172,17 +172,9 @@ demo_cmdbuf(uint64_t *buf, size_t size,
|
|||
uint32_t *map = (uint32_t *) buf;
|
||||
memset(map, 0, 518 * 4);
|
||||
|
||||
map[54] = 0x6b0003;
|
||||
map[55] = 0x3a0012;
|
||||
map[56] = 1;
|
||||
|
||||
/* Unknown address at word 110 */
|
||||
|
||||
map[112] = 1;
|
||||
map[114] = 0x1c;
|
||||
map[118] = 0xffffffff;
|
||||
map[119] = 0xffffffff;
|
||||
map[120] = 0xffffffff;
|
||||
uint64_t deflake_buffer = demo_zero(pool, 0x7e0);
|
||||
uint64_t deflake_1 = deflake_buffer + 0x2a0;
|
||||
uint64_t deflake_2 = deflake_buffer + 0x20;
|
||||
|
||||
uint64_t unk_buffer = demo_zero(pool, 0x1000);
|
||||
uint64_t unk_buffer_2 = demo_zero(pool, 0x8000);
|
||||
|
@ -271,8 +263,9 @@ demo_cmdbuf(uint64_t *buf, size_t size,
|
|||
cfg.unknown_offset = offset_unk;
|
||||
cfg.encoder = encoder_ptr;
|
||||
|
||||
cfg.deflake_1 = demo_zero(pool, 0x540);
|
||||
cfg.deflake_2 = demo_zero(pool, 0x280);
|
||||
cfg.deflake_1 = deflake_1;
|
||||
cfg.deflake_2 = deflake_2;
|
||||
cfg.deflake_3 = deflake_buffer;
|
||||
}
|
||||
|
||||
return total_size;
|
||||
|
|
Loading…
Reference in New Issue