summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/nouveau/nouveau_screen.h
diff options
context:
space:
mode:
authorBen Skeggs <bskeggs@redhat.com>2011-03-01 09:25:48 +1000
committerBen Skeggs <bskeggs@redhat.com>2011-03-01 14:44:42 +1000
commit5a0915870c7e994d20334042b7647db749e79224 (patch)
treede89b9f4d14f1890620f03c4461a5ab02a992d2c /src/gallium/drivers/nouveau/nouveau_screen.h
parent48e191f90cbb7735cadf30c444e1fb599311c55a (diff)
nouveau: move nv50/nvc0 fencing to common location, and modify slightly
Modified from original to remove chipset-specific code, and to be decoupled from the mm present in said drivers. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'src/gallium/drivers/nouveau/nouveau_screen.h')
-rw-r--r--src/gallium/drivers/nouveau/nouveau_screen.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/gallium/drivers/nouveau/nouveau_screen.h b/src/gallium/drivers/nouveau/nouveau_screen.h
index 1f4e5171c0..e4a460ec65 100644
--- a/src/gallium/drivers/nouveau/nouveau_screen.h
+++ b/src/gallium/drivers/nouveau/nouveau_screen.h
@@ -2,6 +2,8 @@
#define __NOUVEAU_SCREEN_H__
#include "pipe/p_screen.h"
+#include "util/u_memory.h"
+typedef uint32_t u32;
struct nouveau_screen {
struct pipe_screen base;
@@ -12,6 +14,16 @@ struct nouveau_screen {
* these almost always should be set to the same value */
unsigned vertex_buffer_flags;
unsigned index_buffer_flags;
+
+ struct {
+ struct nouveau_fence *head;
+ struct nouveau_fence *tail;
+ struct nouveau_fence *current;
+ u32 sequence;
+ u32 sequence_ack;
+ void (*emit)(struct pipe_screen *, u32 sequence);
+ u32 (*update)(struct pipe_screen *);
+ } fence;
};
static INLINE struct nouveau_screen *