On 07/31/2013 05:16 PM, Ian Romanick wrote:
On 07/30/2013 03:16 PM, Kenneth Graunke wrote:
This code is getting ugly. It looks like the idea is to allocate two
(now three) separate arrays, but somebody decided to be "clever" and
batch them into a single calloc/free big enough to hold all of them.
Yeah, that was me. Since way back, I hate dipping into malloc/free for
a bunch of small, short-lived allocations. What I really want to use is
alloca, but alas.
In C++ you can just do:
struct gl_shader *vert_shader_list[prog->NumShaders];
which basically does alloca() as far as I can tell. The problem is, any
out of bounds writes smash the stack, and can't be caught by tools like
Valgrind.
--Ken
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev