glsl: Add blob.c---a simple interface for serializing data
authorCarl Worth <cworth@cworth.org>
Thu, 4 Dec 2014 22:16:47 +0000 (14:16 -0800)
committerCarl Worth <cworth@cworth.org>
Fri, 16 Jan 2015 21:47:40 +0000 (13:47 -0800)
commit1c9877327ead37b7dd5a0ca3a8c7912e924328e5
treed5af477abe55e2d575522e54a583ad371ab36d85
parent165575d0a8ca2af582a7c78776a4a76a84cc2ed8
glsl: Add blob.c---a simple interface for serializing data

This new interface allows for writing a series of objects to a chunk
of memory (a "blob").. The allocated memory is maintained within the
blob itself, (and re-allocated by doubling when necessary).

There are also functions for reading objects from a blob as well. If
code attempts to read beyond the available memory, the read functions
return 0 values (or its moral equivalent) without reading past the
allocated memory. Once the caller is done with the reads, it can check
blob->overrun to ensure whether any invalid values were previously
returned due to attempts to read too far.

Reviewed-by: Jason Ekstrand <jason.ekstrand@intel.com>
src/glsl/Makefile.sources
src/glsl/blob.c [new file with mode: 0644]
src/glsl/blob.h [new file with mode: 0644]