+static uint32_t
+total_size(uint8_t cbuf_cpp[], uint8_t zsbuf_cpp[2],
+ uint32_t bin_w, uint32_t bin_h, uint32_t gmem_align,
+ struct fd_gmem_stateobj *gmem)
+{
+ uint32_t total = 0, i;
+
+ for (i = 0; i < MAX_RENDER_TARGETS; i++) {
+ if (cbuf_cpp[i]) {
+ gmem->cbuf_base[i] = align(total, gmem_align);
+ total = gmem->cbuf_base[i] + cbuf_cpp[i] * bin_w * bin_h;
+ }
+ }
+
+ if (zsbuf_cpp[0]) {
+ gmem->zsbuf_base[0] = align(total, gmem_align);
+ total = gmem->zsbuf_base[0] + zsbuf_cpp[0] * bin_w * bin_h;
+ }
+
+ if (zsbuf_cpp[1]) {
+ gmem->zsbuf_base[1] = align(total, gmem_align);
+ total = gmem->zsbuf_base[1] + zsbuf_cpp[1] * bin_w * bin_h;
+ }
+
+ return total;
+}
+