diff options
Diffstat (limited to 'src/gallium')
-rw-r--r-- | src/gallium/SConscript | 2 | ||||
-rw-r--r-- | src/gallium/targets/SConscript | 2 | ||||
-rw-r--r-- | src/gallium/targets/graw-null/SConscript | 1 | ||||
-rw-r--r-- | src/gallium/targets/graw-null/graw_null.c | 36 |
4 files changed, 28 insertions, 13 deletions
diff --git a/src/gallium/SConscript b/src/gallium/SConscript index c0d48a8268..3c171552be 100644 --- a/src/gallium/SConscript +++ b/src/gallium/SConscript @@ -27,4 +27,4 @@ SConscript('targets/SConscript') if platform != 'embedded': SConscript('tests/unit/SConscript') - #SConscript('tests/graw/SConscript') + SConscript('tests/graw/SConscript') diff --git a/src/gallium/targets/SConscript b/src/gallium/targets/SConscript index b61a4855af..97187030ab 100644 --- a/src/gallium/targets/SConscript +++ b/src/gallium/targets/SConscript @@ -14,7 +14,7 @@ if 'mesa' in env['statetrackers']: 'libgl-gdi/SConscript', ]) -if not 'graw-xlib' in env['targets'] and not env['msvc']: +if not 'graw-xlib' in env['targets'] and not 'graw-null' in env['targets'] and not env['msvc']: # XXX: disable until MSVC can link correctly SConscript('graw-null/SConscript') diff --git a/src/gallium/targets/graw-null/SConscript b/src/gallium/targets/graw-null/SConscript index 106dcd9a83..3416989d8e 100644 --- a/src/gallium/targets/graw-null/SConscript +++ b/src/gallium/targets/graw-null/SConscript @@ -25,6 +25,7 @@ if env['platform'] == 'windows': sources = [ 'graw_null.c', + '../graw-xlib/graw_util.c', ] if True: diff --git a/src/gallium/targets/graw-null/graw_null.c b/src/gallium/targets/graw-null/graw_null.c index 6965f5873e..5939a5acd3 100644 --- a/src/gallium/targets/graw-null/graw_null.c +++ b/src/gallium/targets/graw-null/graw_null.c @@ -3,6 +3,8 @@ #include "util/u_memory.h" #include "target-helpers/wrap_screen.h" #include "sw/null/null_sw_winsys.h" +#include "os/os_time.h" +#include "state_tracker/graw.h" #ifdef GALLIUM_SOFTPIPE #include "softpipe/sp_public.h" @@ -21,13 +23,26 @@ #include <stdio.h> +static struct { + void (*draw)(void); +} graw; + + + struct pipe_screen * -graw_init( void ) +graw_create_window_and_screen( int x, + int y, + unsigned width, + unsigned height, + enum pipe_format format, + void **handle) { const char *default_driver; const char *driver; struct pipe_screen *screen = NULL; struct sw_winsys *winsys = NULL; + static int dummy; + /* Create the underlying winsys, which performs presents to Xlib * drawables: @@ -56,26 +71,25 @@ graw_init( void ) screen = softpipe_create_screen( winsys ); #endif + *handle = &dummy; + /* Inject any wrapping layers we want to here: */ return gallium_wrap_screen( screen ); } -void * -graw_create_window( int x, - int y, - unsigned width, - unsigned height, - enum pipe_format format ) + +void +graw_set_display_func( void (*draw)( void ) ) { - static int dummy; - return &dummy; + graw.draw = draw; } void -graw_destroy_window( void *window ) +graw_main_loop( void ) { + graw.draw(); + os_time_sleep(100000); } - |