#include "fd6_format.h"
 #include "fd6_resource.h"
 #include "fd6_zsa.h"
+#include "fd6_pack.h"
 
 /**
  * Emits the flags registers, suitable for RB_MRT_FLAG_BUFFER,
                OUT_RING(ring, A6XX_RB_MRT_BUF_INFO_COLOR_FORMAT(format) |
                                A6XX_RB_MRT_BUF_INFO_COLOR_TILE_MODE(tile_mode) |
                                A6XX_RB_MRT_BUF_INFO_COLOR_SWAP(swap));
-               OUT_RING(ring, A6XX_RB_MRT_PITCH(stride));
-               OUT_RING(ring, A6XX_RB_MRT_ARRAY_PITCH(slice->size0));
+               OUT_RING(ring, A6XX_RB_MRT_PITCH(stride).value);
+               OUT_RING(ring, A6XX_RB_MRT_ARRAY_PITCH(slice->size0).value);
                OUT_RELOCW(ring, rsc->bo, offset, 0, 0);        /* BASE_LO/HI */
                OUT_RING(ring, base);                   /* RB_MRT[i].BASE_GMEM */
                OUT_PKT4(ring, REG_A6XX_SP_FS_MRT_REG(i), 1);
 
                OUT_PKT4(ring, REG_A6XX_RB_DEPTH_BUFFER_INFO, 6);
                OUT_RING(ring, A6XX_RB_DEPTH_BUFFER_INFO_DEPTH_FORMAT(fmt));
-               OUT_RING(ring, A6XX_RB_DEPTH_BUFFER_PITCH(stride));
-               OUT_RING(ring, A6XX_RB_DEPTH_BUFFER_ARRAY_PITCH(size));
+               OUT_RING(ring, A6XX_RB_DEPTH_BUFFER_PITCH(stride).value);
+               OUT_RING(ring, A6XX_RB_DEPTH_BUFFER_ARRAY_PITCH(size).value);
                OUT_RELOCW(ring, rsc->bo, offset, 0, 0);  /* RB_DEPTH_BUFFER_BASE_LO/HI */
                OUT_RING(ring, base); /* RB_DEPTH_BUFFER_BASE_GMEM */
 
 
                        OUT_PKT4(ring, REG_A6XX_RB_STENCIL_INFO, 6);
                        OUT_RING(ring, A6XX_RB_STENCIL_INFO_SEPARATE_STENCIL);
-                       OUT_RING(ring, A6XX_RB_STENCIL_BUFFER_PITCH(stride));
-                       OUT_RING(ring, A6XX_RB_STENCIL_BUFFER_ARRAY_PITCH(size));
+                       OUT_RING(ring, A6XX_RB_STENCIL_BUFFER_PITCH(stride).value);
+                       OUT_RING(ring, A6XX_RB_STENCIL_BUFFER_ARRAY_PITCH(size).value);
                        OUT_RELOCW(ring, rsc->stencil->bo, 0, 0, 0);  /* RB_STENCIL_BASE_LO/HI */
                        OUT_RING(ring, base);  /* RB_STENCIL_BASE_LO */
                } else {
                         A6XX_RB_BLIT_DST_INFO_COLOR_SWAP(swap) |
                         COND(ubwc_enabled, A6XX_RB_BLIT_DST_INFO_FLAGS));
        OUT_RELOCW(ring, rsc->bo, offset, 0, 0);  /* RB_BLIT_DST_LO/HI */
-       OUT_RING(ring, A6XX_RB_BLIT_DST_PITCH(stride));
-       OUT_RING(ring, A6XX_RB_BLIT_DST_ARRAY_PITCH(size));
+       OUT_RING(ring, A6XX_RB_BLIT_DST_PITCH(stride).value);
+       OUT_RING(ring, A6XX_RB_BLIT_DST_ARRAY_PITCH(size).value);
 
        OUT_PKT4(ring, REG_A6XX_RB_BLIT_BASE_GMEM, 1);
        OUT_RING(ring, base);