diff --git a/src/freedreno/.gitlab-ci/reference/crash.log b/src/freedreno/.gitlab-ci/reference/crash.log index 9d6d1f22623..2f4eee79837 100644 --- a/src/freedreno/.gitlab-ci/reference/crash.log +++ b/src/freedreno/.gitlab-ci/reference/crash.log @@ -5830,7 +5830,7 @@ clusters: 00000000 RB_BLIT_CLEAR_COLOR_DW1: 0 00000000 RB_BLIT_CLEAR_COLOR_DW2: 0 00000000 RB_BLIT_CLEAR_COLOR_DW3: 0 - 000000f2 RB_BLIT_INFO: { GMEM | CLEAR_MASK = 0xf | LAST = 0 | BUFFER_ID = 0 } + 000000f2 RB_BLIT_INFO: { TYPE = BLIT_EVENT_CLEAR | CLEAR_MASK = 0xf | LAST = 0 | BUFFER_ID = 0 } 00000000 RB_DEPTH_FLAG_BUFFER_BASE: 0 00000000 RB_DEPTH_FLAG_BUFFER_PITCH: { PITCH = 0 | ARRAY_PITCH = 0 } 00000000 RB_MRT_FLAG_BUFFER[0].ADDR: 0 @@ -6007,7 +6007,7 @@ WARNING: 64b discontinuity (no _LO dword for 8910) 00000000 RB_BLIT_CLEAR_COLOR_DW1: 0 00000000 RB_BLIT_CLEAR_COLOR_DW2: 0 00000000 RB_BLIT_CLEAR_COLOR_DW3: 0 - 000000f2 RB_BLIT_INFO: { GMEM | CLEAR_MASK = 0xf | LAST = 0 | BUFFER_ID = 0 } + 000000f2 RB_BLIT_INFO: { TYPE = BLIT_EVENT_CLEAR | CLEAR_MASK = 0xf | LAST = 0 | BUFFER_ID = 0 } 00000000 RB_DEPTH_FLAG_BUFFER_BASE: 0 00000000 RB_DEPTH_FLAG_BUFFER_PITCH: { PITCH = 0 | ARRAY_PITCH = 0 } 00000000 RB_MRT_FLAG_BUFFER[0].ADDR: 0 diff --git a/src/freedreno/.gitlab-ci/reference/crash_prefetch.log b/src/freedreno/.gitlab-ci/reference/crash_prefetch.log index 2c671e67832..2ac1be33712 100644 --- a/src/freedreno/.gitlab-ci/reference/crash_prefetch.log +++ b/src/freedreno/.gitlab-ci/reference/crash_prefetch.log @@ -2328,7 +2328,7 @@ got cmdszdw=83 !+ 00000004 RB_BLIT_DST_PITCH: 256 !+ 100094000 RB_BLIT_FLAG_DST: 0x100094000 !+ 00004001 RB_BLIT_FLAG_DST_PITCH: { PITCH = 64 | ARRAY_PITCH = 1024 } -!+ 00000003 RB_BLIT_INFO: { UNK0 | GMEM | CLEAR_MASK = 0 | LAST = 0 | BUFFER_ID = 0 } +!+ 00000003 RB_BLIT_INFO: { TYPE = BLIT_EVENT_LOAD | CLEAR_MASK = 0 | LAST = 0 | BUFFER_ID = 0 } + 00000000 RB_UNKNOWN_88F0: 0 + 00000001 RB_UNKNOWN_8E01: 0x1 + 00100000 RB_DBG_ECO_CNTL: 0x100000 @@ -2380,7 +2380,7 @@ got cmdszdw=83 !+ 00000008 RB_BLIT_DST_PITCH: 512 !+ 10009c000 RB_BLIT_FLAG_DST: 0x10009c000 !+ 00000000 RB_BLIT_FLAG_DST_PITCH: { PITCH = 0 | ARRAY_PITCH = 0 } - + 00000003 RB_BLIT_INFO: { UNK0 | GMEM | CLEAR_MASK = 0 | LAST = 0 | BUFFER_ID = 0 } + + 00000003 RB_BLIT_INFO: { TYPE = BLIT_EVENT_LOAD | CLEAR_MASK = 0 | LAST = 0 | BUFFER_ID = 0 } 0000000100227098: 0000: 70460001 0000001e opcode: CP_EVENT_WRITE (46) (2 dwords) { EVENT = BLIT } @@ -2395,7 +2395,7 @@ got cmdszdw=83 !+ 00000004 RB_BLIT_DST_PITCH: 256 !+ 1000ae000 RB_BLIT_FLAG_DST: 0x1000ae000 !+ 00004001 RB_BLIT_FLAG_DST_PITCH: { PITCH = 64 | ARRAY_PITCH = 1024 } - + 00000003 RB_BLIT_INFO: { UNK0 | GMEM | CLEAR_MASK = 0 | LAST = 0 | BUFFER_ID = 0 } + + 00000003 RB_BLIT_INFO: { TYPE = BLIT_EVENT_LOAD | CLEAR_MASK = 0 | LAST = 0 | BUFFER_ID = 0 } 00000001002270dc: 0000: 70460001 0000001e opcode: CP_COND_REG_EXEC (47) (3 dwords) { MODE = RENDER_MODE | GMEM | SYSMEM } @@ -3034,7 +3034,7 @@ got cmdszdw=83 !+ 00000008 RB_BLIT_DST_PITCH: 512 !+ 100082000 RB_BLIT_FLAG_DST: 0x100082000 !+ 00000000 RB_BLIT_FLAG_DST_PITCH: { PITCH = 0 | ARRAY_PITCH = 0 } -!+ 00000000 RB_BLIT_INFO: { CLEAR_MASK = 0 | LAST = 0 | BUFFER_ID = 0 } +!+ 00000000 RB_BLIT_INFO: { TYPE = BLIT_EVENT_STORE | CLEAR_MASK = 0 | LAST = 0 | BUFFER_ID = 0 } 0000000100227298: 0000: 70460001 0000001e opcode: CP_COND_REG_EXEC (47) (3 dwords) { MODE = RENDER_MODE | GMEM } @@ -3056,7 +3056,7 @@ got cmdszdw=83 + 00000000 RB_BLIT_CLEAR_COLOR_DW1: 0 + 00000000 RB_BLIT_CLEAR_COLOR_DW2: 0 + 00000000 RB_BLIT_CLEAR_COLOR_DW3: 0 -!+ 000000f2 RB_BLIT_INFO: { GMEM | CLEAR_MASK = 0xf | LAST = 0 | BUFFER_ID = 0 } +!+ 000000f2 RB_BLIT_INFO: { TYPE = BLIT_EVENT_CLEAR | CLEAR_MASK = 0xf | LAST = 0 | BUFFER_ID = 0 } 00000001002272f4: 0000: 70460001 0000001e opcode: CP_COND_REG_EXEC (47) (3 dwords) { MODE = RENDER_MODE | SYSMEM } @@ -3748,7 +3748,7 @@ got cmdszdw=83 !+ 00000004 RB_BLIT_DST_PITCH: 256 !+ 100094000 RB_BLIT_FLAG_DST: 0x100094000 !+ 00004001 RB_BLIT_FLAG_DST_PITCH: { PITCH = 64 | ARRAY_PITCH = 1024 } -!+ 00000000 RB_BLIT_INFO: { CLEAR_MASK = 0 | LAST = 0 | BUFFER_ID = 0 } +!+ 00000000 RB_BLIT_INFO: { TYPE = BLIT_EVENT_STORE | CLEAR_MASK = 0 | LAST = 0 | BUFFER_ID = 0 } 000000010022756c: 0000: 70460001 0000001e opcode: CP_COND_REG_EXEC (47) (3 dwords) { MODE = RENDER_MODE | GMEM } @@ -3770,7 +3770,7 @@ got cmdszdw=83 + 00000000 RB_BLIT_CLEAR_COLOR_DW1: 0 + 00000000 RB_BLIT_CLEAR_COLOR_DW2: 0 + 00000000 RB_BLIT_CLEAR_COLOR_DW3: 0 -!+ 000000f2 RB_BLIT_INFO: { GMEM | CLEAR_MASK = 0xf | LAST = 0 | BUFFER_ID = 0 } +!+ 000000f2 RB_BLIT_INFO: { TYPE = BLIT_EVENT_CLEAR | CLEAR_MASK = 0xf | LAST = 0 | BUFFER_ID = 0 } 00000001002275c8: 0000: 70460001 0000001e opcode: CP_COND_REG_EXEC (47) (3 dwords) { MODE = RENDER_MODE | SYSMEM } @@ -17658,7 +17658,7 @@ clusters: 00000000 RB_BLIT_CLEAR_COLOR_DW1: 0 00000000 RB_BLIT_CLEAR_COLOR_DW2: 0 00000000 RB_BLIT_CLEAR_COLOR_DW3: 0 - 00000000 RB_BLIT_INFO: { CLEAR_MASK = 0 | LAST = 0 | BUFFER_ID = 0 } + 00000000 RB_BLIT_INFO: { TYPE = BLIT_EVENT_STORE | CLEAR_MASK = 0 | LAST = 0 | BUFFER_ID = 0 } 00000000 RB_DEPTH_FLAG_BUFFER_BASE: 0 00000000 RB_DEPTH_FLAG_BUFFER_PITCH: { PITCH = 0 | ARRAY_PITCH = 0 } 100094000 RB_MRT_FLAG_BUFFER[0].ADDR: 0x100094000 @@ -17835,7 +17835,7 @@ WARNING: 64b discontinuity (no _LO dword for 8910) 00000000 RB_BLIT_CLEAR_COLOR_DW1: 0 00000000 RB_BLIT_CLEAR_COLOR_DW2: 0 00000000 RB_BLIT_CLEAR_COLOR_DW3: 0 - 00000000 RB_BLIT_INFO: { CLEAR_MASK = 0 | LAST = 0 | BUFFER_ID = 0 } + 00000000 RB_BLIT_INFO: { TYPE = BLIT_EVENT_STORE | CLEAR_MASK = 0 | LAST = 0 | BUFFER_ID = 0 } 00000000 RB_DEPTH_FLAG_BUFFER_BASE: 0 00000000 RB_DEPTH_FLAG_BUFFER_PITCH: { PITCH = 0 | ARRAY_PITCH = 0 } 100094000 RB_MRT_FLAG_BUFFER[0].ADDR: 0x100094000 diff --git a/src/freedreno/.gitlab-ci/reference/dEQP-VK.draw.indirect_draw.indexed.indirect_draw_count.triangle_list.log b/src/freedreno/.gitlab-ci/reference/dEQP-VK.draw.indirect_draw.indexed.indirect_draw_count.triangle_list.log index 8995d801208..40a685c845f 100644 --- a/src/freedreno/.gitlab-ci/reference/dEQP-VK.draw.indirect_draw.indexed.indirect_draw_count.triangle_list.log +++ b/src/freedreno/.gitlab-ci/reference/dEQP-VK.draw.indirect_draw.indexed.indirect_draw_count.triangle_list.log @@ -446,7 +446,7 @@ cmdstream[0]: 265 dwords RB_BLIT_GMEM_MSAA_CNTL: { SAMPLES = MSAA_ONE } 000000000115e018: 0000: 4088d501 00000000 write RB_BLIT_INFO (88e3) - RB_BLIT_INFO: { UNK0 | GMEM | CLEAR_MASK = 0 | LAST = 0 | BUFFER_ID = 0 } + RB_BLIT_INFO: { TYPE = BLIT_EVENT_LOAD | CLEAR_MASK = 0 | LAST = 0 | BUFFER_ID = 0 } 000000000115e020: 0000: 4088e301 00000003 write RB_BLIT_DST_INFO (88d7) RB_BLIT_DST_INFO: { TILE_MODE = TILE6_3 | FLAGS | SAMPLES = MSAA_ONE | COLOR_SWAP = WZYX | COLOR_FORMAT = FMT6_8_8_8_8_UNORM } @@ -484,7 +484,7 @@ cmdstream[0]: 265 dwords !+ 00000010 RB_BLIT_DST_PITCH: 1024 !+ 01012000 RB_BLIT_FLAG_DST: 0x1012000 !+ 00004001 RB_BLIT_FLAG_DST_PITCH: { PITCH = 64 | ARRAY_PITCH = 1024 } -!+ 00000003 RB_BLIT_INFO: { UNK0 | GMEM | CLEAR_MASK = 0 | LAST = 0 | BUFFER_ID = 0 } +!+ 00000003 RB_BLIT_INFO: { TYPE = BLIT_EVENT_LOAD | CLEAR_MASK = 0 | LAST = 0 | BUFFER_ID = 0 } !+ 7c400000 RB_CCU_CNTL: { DEPTH_OFFSET_HI = 0 | COLOR_OFFSET_HI = 0 | DEPTH_CACHE_SIZE = CCU_CACHE_SIZE_FULL | DEPTH_OFFSET = 0 | COLOR_CACHE_SIZE = CCU_CACHE_SIZE_QUARTER | COLOR_OFFSET = 0xf8000 } !+ 00000000 VPC_SO_DISABLE: { 0 } + 00000000 SP_TP_WINDOW_OFFSET: { X = 0 | Y = 0 } @@ -1527,7 +1527,7 @@ cmdstream[0]: 265 dwords RB_BLIT_GMEM_MSAA_CNTL: { SAMPLES = MSAA_ONE } 000000000115c02c: 0000: 4088d501 00000000 write RB_BLIT_INFO (88e3) - RB_BLIT_INFO: { CLEAR_MASK = 0 | LAST = 0 | BUFFER_ID = 0 } + RB_BLIT_INFO: { TYPE = BLIT_EVENT_STORE | CLEAR_MASK = 0 | LAST = 0 | BUFFER_ID = 0 } 000000000115c034: 0000: 4088e301 00000000 write RB_BLIT_DST_INFO (88d7) RB_BLIT_DST_INFO: { TILE_MODE = TILE6_3 | FLAGS | SAMPLES = MSAA_ONE | COLOR_SWAP = WZYX | COLOR_FORMAT = FMT6_8_8_8_8_UNORM } @@ -1556,7 +1556,7 @@ cmdstream[0]: 265 dwords + 00000010 RB_BLIT_DST_PITCH: 1024 + 01012000 RB_BLIT_FLAG_DST: 0x1012000 + 00004001 RB_BLIT_FLAG_DST_PITCH: { PITCH = 64 | ARRAY_PITCH = 1024 } -!+ 00000000 RB_BLIT_INFO: { CLEAR_MASK = 0 | LAST = 0 | BUFFER_ID = 0 } +!+ 00000000 RB_BLIT_INFO: { TYPE = BLIT_EVENT_STORE | CLEAR_MASK = 0 | LAST = 0 | BUFFER_ID = 0 } 000000000115c068: 0000: 70460001 0000001e 00000000010583c8: 0000: 70bf8003 0115c000 00000000 0000001c write GRAS_LRZ_CNTL (8100) diff --git a/src/freedreno/.gitlab-ci/reference/fd-clouds.log b/src/freedreno/.gitlab-ci/reference/fd-clouds.log index 491c8a74cea..f615ee24895 100644 --- a/src/freedreno/.gitlab-ci/reference/fd-clouds.log +++ b/src/freedreno/.gitlab-ci/reference/fd-clouds.log @@ -1625,7 +1625,7 @@ cmdstream[0]: 1023 dwords RB_BLIT_DST_INFO: { TILE_MODE = TILE6_LINEAR | SAMPLES = MSAA_ONE | COLOR_SWAP = WZYX | COLOR_FORMAT = FMT6_8_8_8_X8_UNORM } 00000000011160dc: 0000: 4888d701 00001880 write RB_BLIT_INFO (88e3) - RB_BLIT_INFO: { GMEM | CLEAR_MASK = 0xf | LAST = 0 | BUFFER_ID = 0 } + RB_BLIT_INFO: { TYPE = BLIT_EVENT_CLEAR | CLEAR_MASK = 0xf | LAST = 0 | BUFFER_ID = 0 } 00000000011160e4: 0000: 4088e301 000000f2 write RB_BLIT_BASE_GMEM (88d6) RB_BLIT_BASE_GMEM: 0 @@ -1677,7 +1677,7 @@ cmdstream[0]: 1023 dwords + 00000000 RB_BLIT_CLEAR_COLOR_DW1: 0 + 00000000 RB_BLIT_CLEAR_COLOR_DW2: 0 + 00000000 RB_BLIT_CLEAR_COLOR_DW3: 0 -!+ 000000f2 RB_BLIT_INFO: { GMEM | CLEAR_MASK = 0xf | LAST = 0 | BUFFER_ID = 0 } +!+ 000000f2 RB_BLIT_INFO: { TYPE = BLIT_EVENT_CLEAR | CLEAR_MASK = 0xf | LAST = 0 | BUFFER_ID = 0 } + 7c400004 RB_CCU_CNTL: { CONCURRENT_RESOLVE | DEPTH_OFFSET_HI = 0 | COLOR_OFFSET_HI = 0 | DEPTH_CACHE_SIZE = CCU_CACHE_SIZE_FULL | DEPTH_OFFSET = 0 | COLOR_CACHE_SIZE = CCU_CACHE_SIZE_QUARTER | COLOR_OFFSET = 0xf8000 } !+ 00000001 VPC_SO_DISABLE: { DISABLE } + 00000001 PC_POWER_CNTL: 0x1 @@ -6794,7 +6794,7 @@ cmdstream[0]: 1023 dwords RB_BLIT_SCISSOR_BR: { X = 2175 | Y = 1439 } 0000000001116130: 0000: 4888d102 00000000 059f087f write RB_BLIT_INFO (88e3) - RB_BLIT_INFO: { CLEAR_MASK = 0 | LAST = 0 | BUFFER_ID = 0 } + RB_BLIT_INFO: { TYPE = BLIT_EVENT_STORE | CLEAR_MASK = 0 | LAST = 0 | BUFFER_ID = 0 } 000000000111613c: 0000: 4088e301 00000000 write RB_BLIT_DST_INFO (88d7) RB_BLIT_DST_INFO: { TILE_MODE = TILE6_LINEAR | SAMPLES = MSAA_ONE | COLOR_SWAP = WXYZ | COLOR_FORMAT = FMT6_8_8_8_X8_UNORM } @@ -6828,7 +6828,7 @@ cmdstream[0]: 1023 dwords !+ 01125000 RB_BLIT_DST: 0x1125000 !+ 00000088 RB_BLIT_DST_PITCH: 8704 !+ 0002fd00 RB_BLIT_DST_ARRAY_PITCH: 12533760 -!+ 00000000 RB_BLIT_INFO: { CLEAR_MASK = 0 | LAST = 0 | BUFFER_ID = 0 } +!+ 00000000 RB_BLIT_INFO: { TYPE = BLIT_EVENT_STORE | CLEAR_MASK = 0 | LAST = 0 | BUFFER_ID = 0 } 0000000001116170: 0000: 70460001 0000001e opcode: CP_WAIT_FOR_IDLE (26) (1 dwords) 0000000001116178: 0000: 70268000 diff --git a/src/freedreno/.gitlab-ci/reference/prefetch-test.log b/src/freedreno/.gitlab-ci/reference/prefetch-test.log index ee461065288..a4770c144b7 100644 --- a/src/freedreno/.gitlab-ci/reference/prefetch-test.log +++ b/src/freedreno/.gitlab-ci/reference/prefetch-test.log @@ -151637,7 +151637,7 @@ clusters: 00000000 RB_BLIT_CLEAR_COLOR_DW1: 0 00000000 RB_BLIT_CLEAR_COLOR_DW2: 0 00000000 RB_BLIT_CLEAR_COLOR_DW3: 0 - 00000000 RB_BLIT_INFO: { CLEAR_MASK = 0 | LAST = 0 | BUFFER_ID = 0 } + 00000000 RB_BLIT_INFO: { TYPE = BLIT_EVENT_STORE | CLEAR_MASK = 0 | LAST = 0 | BUFFER_ID = 0 } 00000000 RB_DEPTH_FLAG_BUFFER_BASE: 0 00000000 RB_DEPTH_FLAG_BUFFER_PITCH: { PITCH = 0 | ARRAY_PITCH = 0 } 103735000 RB_MRT_FLAG_BUFFER[0].ADDR: 0x103735000 @@ -151814,7 +151814,7 @@ WARNING: 64b discontinuity (no _LO dword for 8910) 00000000 RB_BLIT_CLEAR_COLOR_DW1: 0 00000000 RB_BLIT_CLEAR_COLOR_DW2: 0 00000000 RB_BLIT_CLEAR_COLOR_DW3: 0 - 00000000 RB_BLIT_INFO: { CLEAR_MASK = 0 | LAST = 0 | BUFFER_ID = 0 } + 00000000 RB_BLIT_INFO: { TYPE = BLIT_EVENT_STORE | CLEAR_MASK = 0 | LAST = 0 | BUFFER_ID = 0 } 00000000 RB_DEPTH_FLAG_BUFFER_BASE: 0 00000000 RB_DEPTH_FLAG_BUFFER_PITCH: { PITCH = 0 | ARRAY_PITCH = 0 } 103735000 RB_MRT_FLAG_BUFFER[0].ADDR: 0x103735000 diff --git a/src/freedreno/registers/adreno/a6xx.xml b/src/freedreno/registers/adreno/a6xx.xml index 97608603ea6..3ef1b426bc1 100644 --- a/src/freedreno/registers/adreno/a6xx.xml +++ b/src/freedreno/registers/adreno/a6xx.xml @@ -3830,10 +3830,16 @@ to upconvert to 32b float internally? + + + + + + + - - + diff --git a/src/freedreno/vulkan/tu_clear_blit.cc b/src/freedreno/vulkan/tu_clear_blit.cc index 53c93aa902c..641e0bddec0 100644 --- a/src/freedreno/vulkan/tu_clear_blit.cc +++ b/src/freedreno/vulkan/tu_clear_blit.cc @@ -3226,7 +3226,8 @@ clear_gmem_attachment(struct tu_cmd_buffer *cmd, tu_cs_emit(cs, A6XX_RB_BLIT_DST_INFO_COLOR_FORMAT( blit_base_format(format, false, true))); - tu_cs_emit_regs(cs, A6XX_RB_BLIT_INFO(.gmem = 1, .clear_mask = clear_mask)); + tu_cs_emit_regs(cs, A6XX_RB_BLIT_INFO(.type = BLIT_EVENT_CLEAR, + .clear_mask = clear_mask)); tu_cs_emit_pkt4(cs, REG_A6XX_RB_BLIT_BASE_GMEM, 1); tu_cs_emit(cs, gmem_offset); @@ -3525,8 +3526,7 @@ tu_emit_blit(struct tu_cmd_buffer *cmd, A6XX_RB_BLIT_GMEM_MSAA_CNTL(tu_msaa_samples(attachment->samples))); tu_cs_emit_regs(cs, A6XX_RB_BLIT_INFO( - .unk0 = !resolve, - .gmem = !resolve, + .type = resolve ? BLIT_EVENT_STORE : BLIT_EVENT_LOAD, .sample_0 = vk_format_is_int(attachment->format) || vk_format_is_depth_or_stencil(attachment->format), .depth = vk_format_is_depth_or_stencil(attachment->format),)); diff --git a/src/gallium/drivers/freedreno/a6xx/fd6_gmem.cc b/src/gallium/drivers/freedreno/a6xx/fd6_gmem.cc index 5c2504c162f..e2b0b36eab5 100644 --- a/src/gallium/drivers/freedreno/a6xx/fd6_gmem.cc +++ b/src/gallium/drivers/freedreno/a6xx/fd6_gmem.cc @@ -1356,8 +1356,7 @@ emit_restore_blit(struct fd_batch *batch, struct fd_ringbuffer *ring, OUT_REG(ring, A6XX_RB_BLIT_INFO( - .unk0 = true, - .gmem = true, + .type = BLIT_EVENT_LOAD, .sample_0 = util_format_is_pure_integer(psurf->format), .depth = (buffer == FD_BUFFER_DEPTH), ), @@ -1429,8 +1428,8 @@ emit_subpass_clears(struct fd_batch *batch, struct fd_batch_subpass *subpass) A6XX_RB_BLIT_DST_INFO_COLOR_FORMAT(fd6_color_format(pfmt, TILE6_LINEAR))); OUT_PKT4(ring, REG_A6XX_RB_BLIT_INFO, 1); - OUT_RING(ring, - A6XX_RB_BLIT_INFO_GMEM | A6XX_RB_BLIT_INFO_CLEAR_MASK(0xf)); + OUT_RING(ring, A6XX_RB_BLIT_INFO_TYPE(BLIT_EVENT_CLEAR) | + A6XX_RB_BLIT_INFO_CLEAR_MASK(0xf)); OUT_PKT4(ring, REG_A6XX_RB_BLIT_BASE_GMEM, 1); OUT_RING(ring, gmem->cbuf_base[i]); @@ -1484,8 +1483,7 @@ emit_subpass_clears(struct fd_batch *batch, struct fd_batch_subpass *subpass) A6XX_RB_BLIT_DST_INFO_COLOR_FORMAT(fd6_color_format(pfmt, TILE6_LINEAR))); OUT_PKT4(ring, REG_A6XX_RB_BLIT_INFO, 1); - OUT_RING(ring, A6XX_RB_BLIT_INFO_GMEM | - // XXX UNK0 for separate stencil ?? + OUT_RING(ring, A6XX_RB_BLIT_INFO_TYPE(BLIT_EVENT_CLEAR) | A6XX_RB_BLIT_INFO_DEPTH | A6XX_RB_BLIT_INFO_CLEAR_MASK(mask)); @@ -1510,8 +1508,7 @@ emit_subpass_clears(struct fd_batch *batch, struct fd_batch_subpass *subpass) A6XX_RB_BLIT_DST_INFO_COLOR_FORMAT(FMT6_8_UINT)); OUT_PKT4(ring, REG_A6XX_RB_BLIT_INFO, 1); - OUT_RING(ring, A6XX_RB_BLIT_INFO_GMEM | - // A6XX_RB_BLIT_INFO_UNK0 | + OUT_RING(ring, A6XX_RB_BLIT_INFO_TYPE(BLIT_EVENT_CLEAR) | A6XX_RB_BLIT_INFO_DEPTH | A6XX_RB_BLIT_INFO_CLEAR_MASK(0x1)); @@ -1699,13 +1696,14 @@ emit_resolve_blit(struct fd_batch *batch, struct fd_ringbuffer *ring, switch (buffer) { case FD_BUFFER_COLOR: + info = A6XX_RB_BLIT_INFO_TYPE(BLIT_EVENT_STORE); break; case FD_BUFFER_STENCIL: - info |= A6XX_RB_BLIT_INFO_UNK0; + info = A6XX_RB_BLIT_INFO_TYPE(BLIT_EVENT_STORE_AND_CLEAR); stencil = true; break; case FD_BUFFER_DEPTH: - info |= A6XX_RB_BLIT_INFO_DEPTH; + info = A6XX_RB_BLIT_INFO_TYPE(BLIT_EVENT_STORE) | A6XX_RB_BLIT_INFO_DEPTH; break; }