@@ -336,8 +336,10 @@ impl Buffer::ver {
336336 try_init ! ( buffer:: Info :: ver {
337337 block_ctl: shared. new_default:: <buffer:: BlockControl >( ) ?,
338338 counter: shared. new_default:: <buffer:: Counter >( ) ?,
339- page_list: ualloc_priv. lock( ) . array_empty( max_pages) ?,
340- block_list: ualloc_priv. lock( ) . array_empty( max_blocks * 2 ) ?,
339+ page_list: ualloc_priv. lock( ) . array_empty_tagged( max_pages, b"PLST" ) ?,
340+ block_list: ualloc_priv
341+ . lock( )
342+ . array_empty_tagged( max_blocks * 2 , b"BLST" ) ?,
341343 } )
342344 } ,
343345 |inner, _p| {
@@ -380,7 +382,7 @@ impl Buffer::ver {
380382 ) ?;
381383
382384 // Technically similar to Scene below, let's play it safe.
383- let kernel_buffer = alloc. shared . array_empty ( 0x40 ) ?;
385+ let kernel_buffer = alloc. shared . array_empty_tagged ( 0x40 , b"KBUF" ) ?;
384386 let stats = alloc
385387 . shared
386388 . new_object ( Default :: default ( ) , |_inner| buffer:: raw:: Stats {
@@ -535,20 +537,26 @@ impl Buffer::ver {
535537 // On M1 Ultra, it can grow and usually doesn't exceed 64 entries.
536538 // macOS allocates a whole 64K * 0x80 for this, so let's go with
537539 // that to be safe...
538- let user_buffer = inner. ualloc . lock ( ) . array_empty ( if inner . num_clusters > 1 {
539- 0x10080
540- } else {
541- 0x80
542- } ) ? ;
543-
544- let tvb_heapmeta = inner . ualloc . lock ( ) . array_empty ( 0x200 ) ? ;
545- let tvb_tilemap = inner . ualloc . lock ( ) . array_empty ( tilemap_size ) ?;
540+ let user_buffer = inner. ualloc . lock ( ) . array_empty_tagged (
541+ if inner . num_clusters > 1 {
542+ 0x10080
543+ } else {
544+ 0x80
545+ } ,
546+ b"UBUF" ,
547+ ) ?;
546548
547- mod_pr_debug ! ( "Buffer: Allocating misc buffers \n " ) ;
548- let preempt_buf = inner
549+ let tvb_heapmeta = inner . ualloc . lock ( ) . array_empty_tagged ( 0x200 , b"HMTA" ) ? ;
550+ let tvb_tilemap = inner
549551 . ualloc
550552 . lock ( )
551- . array_empty ( inner. preempt1_size + inner. preempt2_size + inner. preempt3_size ) ?;
553+ . array_empty_tagged ( tilemap_size, b"TMAP" ) ?;
554+
555+ mod_pr_debug ! ( "Buffer: Allocating misc buffers\n " ) ;
556+ let preempt_buf = inner. ualloc . lock ( ) . array_empty_tagged (
557+ inner. preempt1_size + inner. preempt2_size + inner. preempt3_size ,
558+ b"PRMT" ,
559+ ) ?;
552560
553561 let tpc = match inner. tpc . as_ref ( ) {
554562 Some ( buf) if buf. len ( ) >= tpc_size => buf. clone ( ) ,
@@ -557,12 +565,11 @@ impl Buffer::ver {
557565 // priv seems to work and might be faster?
558566 // Needs to be FW-writable anyway, so ualloc
559567 // won't work.
560- let buf = Arc :: try_new (
561- inner
562- . ualloc_priv
563- . lock ( )
564- . array_empty ( ( tpc_size + mmu:: UAT_PGMSK ) & !mmu:: UAT_PGMSK ) ?,
565- ) ?;
568+ let buf =
569+ Arc :: try_new ( inner. ualloc_priv . lock ( ) . array_empty_tagged (
570+ ( tpc_size + mmu:: UAT_PGMSK ) & !mmu:: UAT_PGMSK ,
571+ b"TPC " ,
572+ ) ?) ?;
566573 inner. tpc = Some ( buf. clone ( ) ) ;
567574 buf
568575 }
@@ -588,8 +595,8 @@ impl Buffer::ver {
588595 let tilemaps = inner
589596 . ualloc
590597 . lock ( )
591- . array_empty ( cfg. max_splits * tilemap_size) ?;
592- let meta = inner. ualloc . lock ( ) . array_empty ( meta_size) ?;
598+ . array_empty_tagged ( cfg. max_splits * tilemap_size, b"CTMP" ) ?;
599+ let meta = inner. ualloc . lock ( ) . array_empty_tagged ( meta_size, b"CMTA" ) ?;
593600 Some ( buffer:: ClusterBuffers { tilemaps, meta } )
594601 } else {
595602 None
@@ -617,7 +624,7 @@ impl Buffer::ver {
617624 clustering: clustering,
618625 preempt_buf: preempt_buf,
619626 #[ ver( G >= G14X ) ]
620- control_word: _gpu. array_empty ( 1 ) ?,
627+ control_word: _gpu. array_empty_tagged ( 1 , b"CWRD" ) ?,
621628 } ) ,
622629 |inner, _p| {
623630 try_init ! ( buffer:: raw:: Scene :: ver {
0 commit comments