Sometimes you want to zero out an address by supplying a NULL BO, but
without this we would end up only emitting one dword. Increases size of
fd6_gmem.o by .8%, though it's not clear to me why (no obvious terrible
codegen happening)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3455>
print(" fields.unknown | fields.dword,")
if address:
+ print(" .is_address = true,")
print(" .bo = fields.bo,")
if f.type == "waddress":
print(" .bo_write = true,")
uint32_t reg;
uint64_t value;
struct fd_bo *bo;
+ bool is_address;
bool bo_write;
uint32_t bo_offset;
uint32_t bo_shift;
fd_ringbuffer_reloc(ring, &reloc); \
} else { \
*p++ = regs[i].value; \
+ if (regs[i].is_address) \
+ *p++ = regs[i].value >> 32; \
} \
} \
} while (0)