summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/cell/ppu/cell_texture.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/gallium/drivers/cell/ppu/cell_texture.c')
-rw-r--r--src/gallium/drivers/cell/ppu/cell_texture.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/gallium/drivers/cell/ppu/cell_texture.c b/src/gallium/drivers/cell/ppu/cell_texture.c
index 002dd3a9b5..c8a1acd86a 100644
--- a/src/gallium/drivers/cell/ppu/cell_texture.c
+++ b/src/gallium/drivers/cell/ppu/cell_texture.c
@@ -40,6 +40,7 @@
#include "util/u_memory.h"
#include "cell_context.h"
+#include "cell_screen.h"
#include "cell_state.h"
#include "cell_texture.h"
@@ -142,7 +143,7 @@ cell_texture_create(struct pipe_screen *screen,
fail:
if (ct->dt) {
- struct sw_winsys winsys = cell_screen(screen)->winsys;
+ struct sw_winsys *winsys = cell_screen(screen)->winsys;
winsys->displaytarget_destroy(winsys, ct->dt);
}
@@ -531,7 +532,9 @@ cell_flush_frontbuffer(struct pipe_screen *_screen,
/* Need to untwiddle from our internal representation here:
*/
{
- unsigned *map = winsys->displaytarget_map(winsys, ct->dt);
+ unsigned *map = winsys->displaytarget_map(winsys, ct->dt,
+ (PIPE_BUFFER_USAGE_CPU_READ |
+ PIPE_BUFFER_USAGE_CPU_WRITE));
unsigned *src = (unsigned *)(ct->data + ct->level_offset[surface->level]);
untwiddle_image_uint(surface->width,
@@ -541,7 +544,7 @@ cell_flush_frontbuffer(struct pipe_screen *_screen,
ct->dt_stride,
src);
- winsys->displaytarget_unmap(winsys, c->dt);
+ winsys->displaytarget_unmap(winsys, ct->dt);
}
winsys->displaytarget_display(winsys, ct->dt, context_private);