summaryrefslogtreecommitdiff
path: root/src/gallium/winsys/radeon/drm/radeon_winsys.h
diff options
context:
space:
mode:
authorMarek Olšák <maraeo@gmail.com>2010-07-14 01:59:57 +0200
committerMarek Olšák <maraeo@gmail.com>2010-07-16 08:51:16 +0200
commitfe3caa91d3f637bf9cf9f9e7adb992aa8c7ef8e4 (patch)
treead13a3ebec02d124511d6897402b8b3fdd5835e2 /src/gallium/winsys/radeon/drm/radeon_winsys.h
parent5f9d7bb2425aee65e75667953a6cc304072f2b11 (diff)
r300g: rebuild winsys and command submission to support multiple contexts
Diffstat (limited to 'src/gallium/winsys/radeon/drm/radeon_winsys.h')
-rw-r--r--src/gallium/winsys/radeon/drm/radeon_winsys.h23
1 files changed, 18 insertions, 5 deletions
diff --git a/src/gallium/winsys/radeon/drm/radeon_winsys.h b/src/gallium/winsys/radeon/drm/radeon_winsys.h
index ca789be8e9..9a25e7679c 100644
--- a/src/gallium/winsys/radeon/drm/radeon_winsys.h
+++ b/src/gallium/winsys/radeon/drm/radeon_winsys.h
@@ -75,19 +75,32 @@ struct radeon_libdrm_winsys {
/* Radeon CS manager. */
struct radeon_cs_manager *csm;
+};
+
+struct radeon_libdrm_cs {
+ struct r300_winsys_cs base;
+
+ /* The winsys. */
+ struct radeon_libdrm_winsys *ws;
- /* Current CS. */
+ /* The libdrm command stream. */
struct radeon_cs *cs;
- /* Flush CB */
- void (*flush_cb)(void *);
+ /* Flush CS. */
+ void (*flush_cs)(void *);
void *flush_data;
};
+static INLINE struct radeon_libdrm_cs *
+radeon_libdrm_cs(struct r300_winsys_cs *base)
+{
+ return (struct radeon_libdrm_cs*)base;
+}
+
static INLINE struct radeon_libdrm_winsys *
-radeon_winsys_screen(struct r300_winsys_screen *base)
+radeon_libdrm_winsys(struct r300_winsys_screen *base)
{
- return (struct radeon_libdrm_winsys *)base;
+ return (struct radeon_libdrm_winsys*)base;
}
#endif