Skip to content

Commit 9bf7175

Browse files
committed
drm/asahi: render: Fix layered rendering on G14X
We were missing one register and one bit. Signed-off-by: Asahi Lina <[email protected]>
1 parent 6b61c12 commit 9bf7175

1 file changed

Lines changed: 2 additions & 1 deletion

File tree

drivers/gpu/drm/asahi/queue/render.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -482,6 +482,7 @@ impl super::Queue::ver {
482482
| (((tile_info.tiles_x - 1) as u64) << 44)
483483
| (((tile_info.tiles_y - 1) as u64) << 53)
484484
| (if unk1 { 0 } else { 0x20_00000000 })
485+
| (if cmdbuf.layers > 1 { 0x1_00000000 } else { 0 })
485486
| ((utile_config as u64 & 0xf000) << 28);
486487

487488
let frag_result = result_writer
@@ -1443,7 +1444,7 @@ impl super::Queue::ver {
14431444
r.add(0x10171, tile_info.params.unk_24.into());
14441445
r.add(0x10169, tile_info.params.unk_28.into()); // TA_RENDER_TARGET_MAX
14451446
r.add(0x12099, unks.vtx_unk_118);
1446-
r.add(0x1c9e8, 0);
1447+
r.add(0x1c9e8, (tile_info.params.unk_28 & 0x4fff).into());
14471448
/*
14481449
r.add(0x10209, 0x100); // Some kind of counter?? Does this matter?
14491450
r.add(0x1c9f0, 0x100); // Some kind of counter?? Does this matter?

0 commit comments

Comments
 (0)