compiler/blob: make blob_reserve_bytes() more useful
authorConnor Abbott <cwabbott0@gmail.com>
Fri, 15 Sep 2017 04:29:46 +0000 (00:29 -0400)
committerJason Ekstrand <jason.ekstrand@intel.com>
Fri, 13 Oct 2017 04:47:06 +0000 (21:47 -0700)
commit6935440967e2beccf017c96e75387b9cb71833b4
treec9eedb5e27a9be9e4d6d4d1c3ca250afd0cbfb55
parent8ae03af4ed1ca47a106e5fd7b2d11ce4003aad54
compiler/blob: make blob_reserve_bytes() more useful

Despite the name, it could only be used if you immediately wrote to the
pointer. Noboby was using it outside of one test, so clearly this
behavior wasn't that useful. Instead, make it return an offset into the
data buffer so that the result isn't invalidated if you later write to
the blob. In conjunction with blob_overwrite_bytes(), this will be
useful for leaving a placeholder and then filling it in later, which
we'll need to do for handling phi nodes when serializing NIR.

v2 (Jason Ekstrand):
 - Detect overflow in the offset + to_write computation

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
src/compiler/blob.c
src/compiler/blob.h
src/compiler/glsl/tests/blob_test.c