summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/r600/r600_pipe.h
diff options
context:
space:
mode:
authorMarek Olšák <[email protected]>2011-02-08 17:30:39 +0100
committerMarek Olšák <[email protected]>2011-02-08 17:30:39 +0100
commitf0b202ec73855bd9e1b29909c8ac90393043cb8b (patch)
treecfd0394b33568a3edf731a5f4c3f1fba17c8bb37 /src/gallium/drivers/r600/r600_pipe.h
parentb541a3c4c0a125087fa9e1e0d35db019c36fb0e9 (diff)
r600g: slab-allocate buffer and transfer structures
Diffstat (limited to 'src/gallium/drivers/r600/r600_pipe.h')
-rw-r--r--src/gallium/drivers/r600/r600_pipe.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/gallium/drivers/r600/r600_pipe.h b/src/gallium/drivers/r600/r600_pipe.h
index 71d9647508b..8dc1f4ad5c3 100644
--- a/src/gallium/drivers/r600/r600_pipe.h
+++ b/src/gallium/drivers/r600/r600_pipe.h
@@ -30,6 +30,7 @@
#include <pipe/p_screen.h>
#include <pipe/p_context.h>
#include <util/u_math.h>
+#include "util/u_slab.h"
#include "util/u_vbuf_mgr.h"
#include "r600.h"
#include "r600_public.h"
@@ -64,6 +65,11 @@ struct r600_screen {
struct pipe_screen screen;
struct radeon *radeon;
struct r600_tiling_info *tiling_info;
+ struct util_slab_mempool pool_buffers;
+ unsigned num_contexts;
+
+ /* for thread-safe write accessing to num_contexts */
+ pipe_mutex mutex_num_contexts;
};
struct r600_pipe_sampler_view {
@@ -152,6 +158,7 @@ struct r600_pipe_context {
struct r600_textures_info ps_samplers;
struct u_vbuf_mgr *vbuf_mgr;
+ struct util_slab_mempool pool_transfers;
bool blit;
};