summaryrefslogtreecommitdiff
path: root/src/mesa/shader/slang/slang_storage.c
diff options
context:
space:
mode:
authorBrian <brian@yutani.localnet.net>2007-04-21 12:08:56 -0600
committerBrian <brian@yutani.localnet.net>2007-04-21 12:30:58 -0600
commitcd3e39340f057712fcf02a35dff85645e475053a (patch)
treea7c6e2d0d6be2ccaa882075539e38935b77b5522 /src/mesa/shader/slang/slang_storage.c
parentad3cc95485c488e3920f9c460b373338043000c5 (diff)
Use new memory pool allocator. Lots of debug code still in place...
Diffstat (limited to 'src/mesa/shader/slang/slang_storage.c')
-rw-r--r--src/mesa/shader/slang/slang_storage.c29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/mesa/shader/slang/slang_storage.c b/src/mesa/shader/slang/slang_storage.c
index ecd60481b6..e7fb63c289 100644
--- a/src/mesa/shader/slang/slang_storage.c
+++ b/src/mesa/shader/slang/slang_storage.c
@@ -30,6 +30,7 @@
#include "imports.h"
#include "slang_storage.h"
+#include "slang_mem.h"
/* slang_storage_array */
@@ -47,7 +48,11 @@ slang_storage_array_destruct(slang_storage_array * arr)
{
if (arr->aggregate != NULL) {
slang_storage_aggregate_destruct(arr->aggregate);
+#if USE_MEMPOOL
+ _slang_free(arr->aggregate);
+#else
slang_alloc_free(arr->aggregate);
+#endif
}
}
@@ -68,7 +73,11 @@ slang_storage_aggregate_destruct(slang_storage_aggregate * agg)
for (i = 0; i < agg->count; i++)
slang_storage_array_destruct(agg->arrays + i);
+#if USE_MEMPOOL
+ _slang_free(agg->arrays);
+#else
slang_alloc_free(agg->arrays);
+#endif
}
static slang_storage_array *
@@ -77,7 +86,11 @@ slang_storage_aggregate_push_new(slang_storage_aggregate * agg)
slang_storage_array *arr = NULL;
agg->arrays = (slang_storage_array *)
+#if USE_MEMPOOL
+ _slang_realloc(agg->arrays,
+#else
slang_alloc_realloc(agg->arrays,
+#endif
agg->count * sizeof(slang_storage_array),
(agg->count + 1) * sizeof(slang_storage_array));
if (agg->arrays != NULL) {
@@ -114,11 +127,19 @@ aggregate_matrix(slang_storage_aggregate * agg, slang_storage_type basic_type,
arr->length = columns;
arr->aggregate =
(slang_storage_aggregate *)
+#if USE_MEMPOOL
+ _slang_alloc(sizeof(slang_storage_aggregate));
+#else
slang_alloc_malloc(sizeof(slang_storage_aggregate));
+#endif
if (arr->aggregate == NULL)
return GL_FALSE;
if (!slang_storage_aggregate_construct(arr->aggregate)) {
+#if USE_MEMPOOL
+ _slang_free(arr->aggregate);
+#else
slang_alloc_free(arr->aggregate);
+#endif
arr->aggregate = NULL;
return GL_FALSE;
}
@@ -221,11 +242,19 @@ _slang_aggregate_variable(slang_storage_aggregate * agg,
arr->type = SLANG_STORE_AGGREGATE;
arr->aggregate =
(slang_storage_aggregate *)
+#if USE_MEMPOOL
+ _slang_alloc(sizeof(slang_storage_aggregate));
+#else
slang_alloc_malloc(sizeof(slang_storage_aggregate));
+#endif
if (arr->aggregate == NULL)
return GL_FALSE;
if (!slang_storage_aggregate_construct(arr->aggregate)) {
+#if USE_MEMPOOL
+ _slang_free(arr->aggregate);
+#else
slang_alloc_free(arr->aggregate);
+#endif
arr->aggregate = NULL;
return GL_FALSE;
}