aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--SConstruct3
-rw-r--r--src/gallium/SConscript2
-rw-r--r--src/gallium/targets/SConscript2
-rw-r--r--src/gallium/targets/graw-null/SConscript1
-rw-r--r--src/gallium/targets/graw-null/graw_null.c36
5 files changed, 30 insertions, 14 deletions
diff --git a/SConstruct b/SConstruct
index 76ada41f55c..83c29c06c3a 100644
--- a/SConstruct
+++ b/SConstruct
@@ -31,7 +31,7 @@ import common
# Configuration options
default_statetrackers = 'mesa'
-default_targets = 'none'
+default_targets = 'graw-null'
if common.default_platform in ('linux', 'freebsd', 'darwin'):
default_drivers = 'softpipe,failover,svga,i915,i965,trace,identity,llvmpipe'
@@ -69,6 +69,7 @@ opts.Add(ListVariable('targets', 'driver targets to build', default_targets,
'egl-swrast',
'egl-vmwgfx',
'graw-xlib',
+ 'graw-null',
'libgl-gdi',
'libgl-xlib',
'xorg-i915',
diff --git a/src/gallium/SConscript b/src/gallium/SConscript
index c0d48a8268d..3c171552bed 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 b61a4855af1..97187030abc 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 106dcd9a835..3416989d8eb 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 6965f5873e4..5939a5acd3c 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);
}
-