projects
/
mesa.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge remote branch 'origin/master' into radeon-rewrite
[mesa.git]
/
src
/
gallium
/
winsys
/
xlib
/
xlib_brw_screen.c
diff --git
a/src/gallium/winsys/xlib/xlib_brw_screen.c
b/src/gallium/winsys/xlib/xlib_brw_screen.c
index 5344c502ef7476fc04c1f94997dc89af77be4a6e..fe8dfff767209d610ed4d478924337c86abd105a 100644
(file)
--- a/
src/gallium/winsys/xlib/xlib_brw_screen.c
+++ b/
src/gallium/winsys/xlib/xlib_brw_screen.c
@@
-37,23
+37,29
@@
//#include "state_trackers/xlib/xmesaP.h"
#include "pipe/internal/p_winsys_screen.h"
//#include "state_trackers/xlib/xmesaP.h"
#include "pipe/internal/p_winsys_screen.h"
-#include "pipe/p_inlines.h"
#include "util/u_math.h"
#include "util/u_memory.h"
#include "i965simple/brw_winsys.h"
#include "i965simple/brw_screen.h"
#include "util/u_math.h"
#include "util/u_memory.h"
#include "i965simple/brw_winsys.h"
#include "i965simple/brw_screen.h"
+#include "i965simple/brw_context.h"
+
#include "xlib_brw_aub.h"
#include "xlib_brw.h"
#include "xlib.h"
#include "xlib_brw_aub.h"
#include "xlib_brw.h"
#include "xlib.h"
-
+static struct pipe_buffer *
+buffer_from_surface(struct pipe_surface *surface)
+{
+ struct brw_texture *texture = (struct brw_texture *)surface;
+ return texture->buffer;
+}
struct aub_buffer {
struct aub_buffer {
+ struct pipe_reference reference;
char *data;
unsigned offset;
unsigned size;
char *data;
unsigned offset;
unsigned size;
- unsigned refcount;
unsigned map_count;
boolean dump_on_unmap;
};
unsigned map_count;
boolean dump_on_unmap;
};
@@
-137,8
+143,7
@@
static void aub_buffer_unmap(struct pipe_winsys *winsys,
static void
static void
-aub_buffer_destroy(struct pipe_winsys *winsys,
- struct pipe_buffer *buf)
+aub_buffer_destroy(struct pipe_buffer *buf)
{
free(buf);
}
{
free(buf);
}
@@
-182,7
+187,7
@@
aub_buffer_create(struct pipe_winsys *winsys,
struct aub_pipe_winsys *iws = aub_pipe_winsys(winsys);
struct aub_buffer *sbo = CALLOC_STRUCT(aub_buffer);
struct aub_pipe_winsys *iws = aub_pipe_winsys(winsys);
struct aub_buffer *sbo = CALLOC_STRUCT(aub_buffer);
-
sbo->refcount = 1
;
+
pipe_reference_init(&sbo->reference, 1)
;
/* Could reuse buffers that are not referenced in current
* batchbuffer. Can't do that atm, so always reallocate:
/* Could reuse buffers that are not referenced in current
* batchbuffer. Can't do that atm, so always reallocate:
@@
-226,7
+231,7
@@
aub_flush_frontbuffer( struct pipe_winsys *winsys,
// struct aub_pipe_winsys *iws = aub_pipe_winsys(winsys);
brw_aub_dump_bmp( global_winsys->aubfile,
surface,
// struct aub_pipe_winsys *iws = aub_pipe_winsys(winsys);
brw_aub_dump_bmp( global_winsys->aubfile,
surface,
- aub_bo(
surface->buffer
)->offset );
+ aub_bo(
buffer_from_surface(surface)
)->offset );
}
}
@@
-318,6
+323,7
@@
xlib_create_brw_winsys( void )
static struct pipe_screen *
xlib_create_brw_screen( void )
{
static struct pipe_screen *
xlib_create_brw_screen( void )
{
+#ifndef GALLIUM_CELL
struct pipe_winsys *winsys;
struct pipe_screen *screen;
struct pipe_winsys *winsys;
struct pipe_screen *screen;
@@
-335,6
+341,7
@@
fail:
if (winsys)
winsys->destroy( winsys );
if (winsys)
winsys->destroy( winsys );
+#endif
return NULL;
}
return NULL;
}
@@
-449,7
+456,7
@@
xlib_brw_display_surface(struct xmesa_buffer *b,
{
brw_aub_dump_bmp( global_winsys->aubfile,
surf,
{
brw_aub_dump_bmp( global_winsys->aubfile,
surf,
- aub_bo(
surf->buffer
)->offset );
+ aub_bo(
buffer_from_surface(surf)
)->offset );
}
}