diff options
author | Marek Olšák <maraeo@gmail.com> | 2010-06-02 06:45:00 +0200 |
---|---|---|
committer | Marek Olšák <maraeo@gmail.com> | 2010-06-02 07:01:08 +0200 |
commit | b6b76cbb20b3d9467011231069e23972b98afa49 (patch) | |
tree | 42a99cd9d4c12f6ee49004102a6a1272be08a327 /src/gallium/drivers/r300/r300_screen_buffer.c | |
parent | bb45a15168e6c6678776fea5d8d0085454089260 (diff) |
r300g: store the GEM domain in buffer and texture structs
Diffstat (limited to 'src/gallium/drivers/r300/r300_screen_buffer.c')
-rw-r--r-- | src/gallium/drivers/r300/r300_screen_buffer.c | 25 |
1 files changed, 8 insertions, 17 deletions
diff --git a/src/gallium/drivers/r300/r300_screen_buffer.c b/src/gallium/drivers/r300/r300_screen_buffer.c index de89f51f3e..44179f19ed 100644 --- a/src/gallium/drivers/r300/r300_screen_buffer.c +++ b/src/gallium/drivers/r300/r300_screen_buffer.c @@ -116,19 +116,6 @@ int r300_upload_user_buffers(struct r300_context *r300) return ret; } -static struct r300_winsys_buffer * -r300_winsys_buffer_create(struct r300_screen *r300screen, - unsigned alignment, - unsigned usage, - unsigned size) -{ - struct r300_winsys_screen *rws = r300screen->rws; - struct r300_winsys_buffer *buf; - - buf = rws->buffer_create(rws, alignment, usage, R300_DOMAIN_GTT, size); - return buf; -} - static void r300_winsys_buffer_destroy(struct r300_screen *r300screen, struct r300_buffer *rbuf) { @@ -180,9 +167,9 @@ r300_buffer_transfer_map( struct pipe_context *pipe, rws->buffer_reference(rws, &rbuf->buf, NULL); rbuf->num_ranges = 0; - rbuf->buf = r300_winsys_buffer_create(r300screen, - 16, - rbuf->b.b.bind, /* XXX */ + rbuf->buf = r300screen->rws->buffer_create(r300screen->rws, 16, + rbuf->b.b.bind, + rbuf->domain, rbuf->b.b.width0); break; } @@ -278,9 +265,12 @@ struct pipe_resource *r300_buffer_create(struct pipe_screen *screen, if (rbuf->b.b.bind & R300_BIND_OQBO) alignment = 4096; - rbuf->buf = r300_winsys_buffer_create(r300screen, + rbuf->domain = R300_DOMAIN_GTT; + + rbuf->buf = r300screen->rws->buffer_create(r300screen->rws, alignment, rbuf->b.b.bind, + rbuf->domain, rbuf->b.b.width0); if (!rbuf->buf) @@ -315,6 +305,7 @@ struct pipe_resource *r300_user_buffer_create(struct pipe_screen *screen, rbuf->b.b.width0 = bytes; rbuf->b.b.height0 = 1; rbuf->b.b.depth0 = 1; + rbuf->domain = R300_DOMAIN_GTT; rbuf->user_buffer = ptr; return &rbuf->b.b; |