summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/i965/brw_winsys.h
diff options
context:
space:
mode:
authorKeith Whitwell <[email protected]>2009-11-01 19:30:53 +0000
committerKeith Whitwell <[email protected]>2009-11-01 19:30:53 +0000
commit15a8ac2c9d6ed13468ef88f3f3bd3ccf4ee2fd0e (patch)
treef84ed0c5a9169caf1486b7325a7bc9dc6f40b63f /src/gallium/drivers/i965/brw_winsys.h
parentefda453d646c767fbf0f8e85aa09178095ab04d6 (diff)
i965g: driver and winsys compile
A milestone of sorts. Still a long way from something working -- the old one compiled too, at least some of the time...
Diffstat (limited to 'src/gallium/drivers/i965/brw_winsys.h')
-rw-r--r--src/gallium/drivers/i965/brw_winsys.h39
1 files changed, 21 insertions, 18 deletions
diff --git a/src/gallium/drivers/i965/brw_winsys.h b/src/gallium/drivers/i965/brw_winsys.h
index bc3d31196c1..d19cd5d248c 100644
--- a/src/gallium/drivers/i965/brw_winsys.h
+++ b/src/gallium/drivers/i965/brw_winsys.h
@@ -31,12 +31,15 @@
struct brw_winsys;
struct pipe_fence_handle;
-/* This currently just wraps dri_bo:
+/* Not sure why the winsys needs this:
+ */
+#define BRW_BATCH_SIZE (32*1024)
+
+
+/* Need a tiny bit of information inside the abstract buffer struct:
*/
struct brw_winsys_buffer {
- struct brw_winsys_screen *sws;
- void *bo;
- unsigned offset;
+ unsigned *offset;
unsigned size;
};
@@ -70,6 +73,8 @@ enum brw_buffer_type
BRW_BUFFER_TYPE_WM_SCRATCH,
BRW_BUFFER_TYPE_BATCH,
BRW_BUFFER_TYPE_STATE_CACHE,
+
+ BRW_BUFFER_TYPE_MAX /* Count of possible values */
};
struct brw_winsys_screen {
@@ -103,12 +108,9 @@ struct brw_winsys_screen {
struct brw_winsys_buffer *b2);
int (*bo_exec)( struct brw_winsys_buffer *buffer,
- unsigned bytes_used,
- void *foo,
- int a,
- int b );
+ unsigned bytes_used );
- void (*bo_subdata)(struct brw_winsys_buffer *buffer,
+ int (*bo_subdata)(struct brw_winsys_buffer *buffer,
size_t offset,
size_t size,
const void *data);
@@ -142,14 +144,14 @@ struct brw_winsys_screen {
/**
* Destroy the winsys.
*/
- void (*destroy)(struct brw_winsys *iws);
+ void (*destroy)(struct brw_winsys_screen *iws);
};
/**
* Create brw pipe_screen.
*/
-struct pipe_screen *brw_create_screen(struct brw_winsys *iws, unsigned pci_id);
+struct pipe_screen *brw_create_screen(struct brw_winsys_screen *iws, unsigned pci_id);
/**
* Create a brw pipe_context.
@@ -162,19 +164,20 @@ struct pipe_context *brw_create_context(struct pipe_screen *screen);
* TODO UGLY
*/
struct pipe_texture;
-boolean brw_get_texture_buffer_brw(struct pipe_texture *texture,
- struct brw_winsys_buffer **buffer,
- unsigned *stride);
+boolean brw_texture_get_winsys_buffer(struct pipe_texture *texture,
+ struct brw_winsys_buffer **buffer,
+ unsigned *stride);
/**
* Wrap a brw_winsys buffer with a texture blanket.
*
* TODO UGLY
*/
-struct pipe_texture * brw_texture_blanket_ws(struct pipe_screen *screen,
- const struct pipe_texture *tmplt,
- const unsigned *stride,
- struct brw_winsys_buffer *buffer);
+struct pipe_texture *
+brw_texture_blanket_winsys_buffer(struct pipe_screen *screen,
+ const struct pipe_texture *template,
+ const unsigned pitch,
+ struct brw_winsys_buffer *buffer);