summaryrefslogtreecommitdiffstats
path: root/src/glsl/ralloc.h
Commit message (Collapse)AuthorAgeFilesLines
* ralloc: Make rewrite_tail increase "start" by the new text's length.Kenneth Graunke2012-02-281-2/+4
| | | | | | | | | | | | | | | | | | Both callers of rewrite_tail immediately compute the new total string length by adding the (known) length of the existing string plus the length of the newly appended text. Unfortunately, callers generally won't know the length of the new text, as it's printf-formatted. Since ralloc already computes this length, it makes sense to add it in and save the caller the effort. This simplifies both existing callers, but more importantly, will allow for cheap-appending in the next commit. v2: The link_uniforms code needs both the old and new length. Apply the obvious fix (which sadly makes it less of a cleanup). Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Ian Romanick <[email protected]> [v1] Acked-by: José Fonseca <[email protected]> [v1]
* ralloc: Add new [v]asprintf_rewrite_tail functions.Kenneth Graunke2011-10-251-0/+57
| | | | | | | | | | | | | | | | | | This can be useful if you want to create a bunch of temporary strings with a common prefix. For example, when iterating over uniform structure fields, one might want to create temporary strings like "pallete.primary", "palette.outline", and "pallette.shadow". This could be done by overwriting the '.' with a null-byte and calling ralloc_asprintf_append, but that incurs the cost of strlen("pallete") every time...when this is already known. These new functions allow you rewrite the tail of the string, given a starting index. If the starting index is the length of the string, this is equivalent to appending. Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* ralloc: a new MIT-licensed recursive memory allocator.Kenneth Graunke2011-01-311-1/+8
|
* ralloc: Add a fake implementation of ralloc based on talloc.Kenneth Graunke2011-01-311-0/+338