cell: update cell driver after gallium reference count changes

This commit is contained in:
Brian Paul
2009-03-04 09:34:46 -07:00
parent fba923ff44
commit ca06c0c16d
3 changed files with 10 additions and 14 deletions
@@ -193,9 +193,7 @@ cell_set_constant_buffer(struct pipe_context *pipe,
draw_flush(cell->draw);
/* note: reference counting */
pipe_buffer_reference(pipe->screen,
&cell->constants[shader].buffer,
buf->buffer);
pipe_buffer_reference(&cell->constants[shader].buffer, buf->buffer);
if (shader == PIPE_SHADER_VERTEX)
cell->dirty |= CELL_NEW_VS_CONSTANTS;
+2 -3
View File
@@ -129,7 +129,7 @@ cell_texture_destroy(struct pipe_texture *pt)
struct cell_texture *ct = cell_texture(pt);
if (ct->mapped) {
pipe_buffer_unmap(screen, ct->buffer);
pipe_buffer_unmap(ct->buffer->screen, ct->buffer);
ct->mapped = NULL;
}
@@ -308,7 +308,7 @@ cell_get_tex_surface(struct pipe_screen *screen,
static void
cell_tex_surface_destroy(struct pipe_surface *s)
cell_tex_surface_destroy(struct pipe_surface *surf)
{
pipe_texture_reference(&surf->texture, NULL);
FREE(surf);
@@ -336,7 +336,6 @@ cell_get_tex_transfer(struct pipe_screen *screen,
ctrans = CALLOC_STRUCT(cell_transfer);
if (ctrans) {
struct pipe_transfer *pt = &ctrans->base;
pipe_reference_init(&pt->reference, 1);
pipe_texture_reference(&pt->texture, texture);
pt->format = texture->format;
pt->block = texture->block;
+7 -8
View File
@@ -107,22 +107,21 @@ xm_buffer_unmap(struct pipe_winsys *pws, struct pipe_buffer *buf)
}
static void
xm_buffer_destroy(struct pipe_winsys *pws,
xm_buffer_destroy(/*struct pipe_winsys *pws,*/
struct pipe_buffer *buf)
{
struct xm_buffer *oldBuf = xm_buffer(buf);
if (oldBuf->data) {
{
if (oldBuf) {
if (oldBuf->data) {
if (!oldBuf->userBuffer) {
align_free(oldBuf->data);
}
oldBuf->data = NULL;
}
oldBuf->data = NULL;
free(oldBuf);
}
free(oldBuf);
}
@@ -371,7 +370,7 @@ xlib_create_cell_winsys( void )
static struct pipe_screen *
xlib_create_cell_screen( struct pipe_winsys *pws )
xlib_create_cell_screen( void )
{
struct pipe_winsys *winsys;
struct pipe_screen *screen;