mirror of
https://github.com/AsahiLinux/m1n1
synced 2024-12-18 09:53:04 +00:00
compressed surf demo
This commit is contained in:
parent
78d5b073e3
commit
3f6e1fe028
1 changed files with 79 additions and 23 deletions
|
@ -178,9 +178,83 @@ surf = Container(
|
||||||
unk_1f9 = 0,
|
unk_1f9 = 0,
|
||||||
)
|
)
|
||||||
|
|
||||||
iova = 0x7e0000
|
compressed_surf = Container(
|
||||||
|
is_tiled = False,
|
||||||
|
unk_1 = False,
|
||||||
|
unk_2 = False,
|
||||||
|
plane_cnt = 2,
|
||||||
|
plane_cnt2 = 2,
|
||||||
|
format = '&b38',
|
||||||
|
unk_f = 0x00000000,
|
||||||
|
unk_13 = 13,
|
||||||
|
unk_14 = 2,
|
||||||
|
stride = 1920,
|
||||||
|
pix_size = 1,
|
||||||
|
pel_w = 1,
|
||||||
|
pel_h = 1,
|
||||||
|
offset = 0xA38000,
|
||||||
|
width = 1920,
|
||||||
|
height = 1080,
|
||||||
|
buf_size = 0x00A36000,
|
||||||
|
unk_2d = 0,
|
||||||
|
unk_31 = 0,
|
||||||
|
surface_id = 5,
|
||||||
|
comp_types = [
|
||||||
|
Container(count = 0, types =[]),
|
||||||
|
Container(count = 0, types =[]),
|
||||||
|
],
|
||||||
|
has_comp = True,
|
||||||
|
planes = [
|
||||||
|
Container(
|
||||||
|
width = 1920,
|
||||||
|
height = 1080,
|
||||||
|
base = 0,
|
||||||
|
offset = 0,
|
||||||
|
stride = 0x1e000,
|
||||||
|
size = 0x818000,
|
||||||
|
tile_size = 1024,
|
||||||
|
tile_w = 16,
|
||||||
|
tile_h = 16,
|
||||||
|
unk2 = 0x05,
|
||||||
|
),
|
||||||
|
Container(
|
||||||
|
width = 1920,
|
||||||
|
height = 1080,
|
||||||
|
base = 0x818000,
|
||||||
|
offset = 0x818000,
|
||||||
|
stride = 0x7800,
|
||||||
|
size = 0x21e000,
|
||||||
|
tile_size = 256,
|
||||||
|
tile_w = 16,
|
||||||
|
tile_h = 16,
|
||||||
|
unk2 = 0x05,
|
||||||
|
)
|
||||||
|
],
|
||||||
|
has_planes = True,
|
||||||
|
compression_info = [
|
||||||
|
unhex("""
|
||||||
|
10 00 00 00 10 00 00 00 00 80 7F 00 00 00 00 00
|
||||||
|
08 00 00 00 78 00 00 00 44 00 00 00 00 00 00 00
|
||||||
|
03 00 00 00 00 00 00 00 AA AA AA 00 04 00 00 00
|
||||||
|
E0 01 00 AA
|
||||||
|
"""),
|
||||||
|
unhex("""
|
||||||
|
10 00 00 00 10 00 00 00 00 60 A1 00 00 80 81 00
|
||||||
|
08 00 00 00 78 00 00 00 44 00 00 00 00 00 00 00
|
||||||
|
03 00 00 00 00 00 00 00 AA AA AA 00 01 00 00 00
|
||||||
|
78 00 00 AA
|
||||||
|
"""),
|
||||||
|
],
|
||||||
|
has_compr_info = True,
|
||||||
|
unk_1f5 = 0x100000,
|
||||||
|
unk_1f9 = 0x100000,
|
||||||
|
)
|
||||||
|
|
||||||
surfaces = [surf, None, None, None]
|
|
||||||
|
iova = 0
|
||||||
|
|
||||||
|
#surfaces = [surf, None, None, None]
|
||||||
|
surfaces = [compressed_surf, None, None, None]
|
||||||
surfAddr = [iova, 0, 0, 0]
|
surfAddr = [iova, 0, 0, 0]
|
||||||
|
|
||||||
outB = ByRef(False)
|
outB = ByRef(False)
|
||||||
|
@ -191,33 +265,15 @@ mon.poll()
|
||||||
|
|
||||||
buf = u.memalign(0x4000, 16<<20)
|
buf = u.memalign(0x4000, 16<<20)
|
||||||
|
|
||||||
#iface.writemem(buf, open("fb0.bin", "rb").read())
|
iface.writemem(buf, open("fb1.bin", "rb").read())
|
||||||
|
|
||||||
p.memset8(buf, 0, 16<<20)
|
|
||||||
p.memset8(buf, 0xff, 65536)
|
|
||||||
|
|
||||||
iface.writemem(buf, open("cur1.bin", "rb").read())
|
|
||||||
|
|
||||||
disp_dart.iomap_at(0, iova, buf, 16<<20)
|
disp_dart.iomap_at(0, iova, buf, 16<<20)
|
||||||
|
|
||||||
disp_dart.regs.dump_regs()
|
|
||||||
|
|
||||||
ret = mgr.swap_submit_dcp(swap_rec=swap_rec, surfaces=surfaces, surfAddr=surfAddr,
|
ret = mgr.swap_submit_dcp(swap_rec=swap_rec, surfaces=surfaces, surfAddr=surfAddr,
|
||||||
unkBool=False, unkFloat=0.0, unkInt=0, unkOutBool=outB)
|
unkBool=False, unkFloat=0.0, unkInt=0, unkOutBool=outB)
|
||||||
print(f"swap returned {ret} / {outB}")
|
print(f"swap returned {ret} / {outB}")
|
||||||
|
|
||||||
time.sleep(0.2)
|
while swaps == mgr.swaps:
|
||||||
|
dcp.work()
|
||||||
mon.poll()
|
|
||||||
dcp.work()
|
|
||||||
mon.poll()
|
|
||||||
dcp.work()
|
|
||||||
mon.poll()
|
|
||||||
|
|
||||||
disp_dart.regs.dump_regs()
|
|
||||||
|
|
||||||
#while swaps == mgr.swaps:
|
|
||||||
#dcp.work()
|
|
||||||
|
|
||||||
print("swap complete!")
|
print("swap complete!")
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue