Mesa (master): graw: update graw_null after interface changes and build graw tests again

Keith Whitwell keithw at kemper.freedesktop.org
Mon Jun 7 09:13:53 PDT 2010


Module: Mesa
Branch: master
Commit: 00fe54a87957997ec1e12a427bd4a4433afab307
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=00fe54a87957997ec1e12a427bd4a4433afab307

Author: Keith Whitwell <keithw at vmware.com>
Date:   Mon Jun  7 16:43:49 2010 +0100

graw: update graw_null after interface changes and build graw tests again

---

 SConstruct                                |    3 +-
 src/gallium/SConscript                    |    2 +-
 src/gallium/targets/SConscript            |    2 +-
 src/gallium/targets/graw-null/SConscript  |    1 +
 src/gallium/targets/graw-null/graw_null.c |   36 ++++++++++++++++++++---------
 5 files changed, 30 insertions(+), 14 deletions(-)

diff --git a/SConstruct b/SConstruct
index 76ada41..83c29c0 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 c0d48a8..3c17155 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 b61a485..9718703 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 106dcd9..3416989 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 6965f58..5939a5a 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);
 }
-



More information about the mesa-commit mailing list