graw: update graw_null after interface changes and build graw tests again
This commit is contained in:
@@ -31,7 +31,7 @@ import common
|
|||||||
# Configuration options
|
# Configuration options
|
||||||
|
|
||||||
default_statetrackers = 'mesa'
|
default_statetrackers = 'mesa'
|
||||||
default_targets = 'none'
|
default_targets = 'graw-null'
|
||||||
|
|
||||||
if common.default_platform in ('linux', 'freebsd', 'darwin'):
|
if common.default_platform in ('linux', 'freebsd', 'darwin'):
|
||||||
default_drivers = 'softpipe,failover,svga,i915,i965,trace,identity,llvmpipe'
|
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-swrast',
|
||||||
'egl-vmwgfx',
|
'egl-vmwgfx',
|
||||||
'graw-xlib',
|
'graw-xlib',
|
||||||
|
'graw-null',
|
||||||
'libgl-gdi',
|
'libgl-gdi',
|
||||||
'libgl-xlib',
|
'libgl-xlib',
|
||||||
'xorg-i915',
|
'xorg-i915',
|
||||||
|
@@ -27,4 +27,4 @@ SConscript('targets/SConscript')
|
|||||||
|
|
||||||
if platform != 'embedded':
|
if platform != 'embedded':
|
||||||
SConscript('tests/unit/SConscript')
|
SConscript('tests/unit/SConscript')
|
||||||
#SConscript('tests/graw/SConscript')
|
SConscript('tests/graw/SConscript')
|
||||||
|
@@ -14,7 +14,7 @@ if 'mesa' in env['statetrackers']:
|
|||||||
'libgl-gdi/SConscript',
|
'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
|
# XXX: disable until MSVC can link correctly
|
||||||
SConscript('graw-null/SConscript')
|
SConscript('graw-null/SConscript')
|
||||||
|
|
||||||
|
@@ -25,6 +25,7 @@ if env['platform'] == 'windows':
|
|||||||
|
|
||||||
sources = [
|
sources = [
|
||||||
'graw_null.c',
|
'graw_null.c',
|
||||||
|
'../graw-xlib/graw_util.c',
|
||||||
]
|
]
|
||||||
|
|
||||||
if True:
|
if True:
|
||||||
|
@@ -3,6 +3,8 @@
|
|||||||
#include "util/u_memory.h"
|
#include "util/u_memory.h"
|
||||||
#include "target-helpers/wrap_screen.h"
|
#include "target-helpers/wrap_screen.h"
|
||||||
#include "sw/null/null_sw_winsys.h"
|
#include "sw/null/null_sw_winsys.h"
|
||||||
|
#include "os/os_time.h"
|
||||||
|
#include "state_tracker/graw.h"
|
||||||
|
|
||||||
#ifdef GALLIUM_SOFTPIPE
|
#ifdef GALLIUM_SOFTPIPE
|
||||||
#include "softpipe/sp_public.h"
|
#include "softpipe/sp_public.h"
|
||||||
@@ -21,13 +23,26 @@
|
|||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
|
|
||||||
|
static struct {
|
||||||
|
void (*draw)(void);
|
||||||
|
} graw;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
struct pipe_screen *
|
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 *default_driver;
|
||||||
const char *driver;
|
const char *driver;
|
||||||
struct pipe_screen *screen = NULL;
|
struct pipe_screen *screen = NULL;
|
||||||
struct sw_winsys *winsys = NULL;
|
struct sw_winsys *winsys = NULL;
|
||||||
|
static int dummy;
|
||||||
|
|
||||||
|
|
||||||
/* Create the underlying winsys, which performs presents to Xlib
|
/* Create the underlying winsys, which performs presents to Xlib
|
||||||
* drawables:
|
* drawables:
|
||||||
@@ -56,26 +71,25 @@ graw_init( void )
|
|||||||
screen = softpipe_create_screen( winsys );
|
screen = softpipe_create_screen( winsys );
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
*handle = &dummy;
|
||||||
|
|
||||||
/* Inject any wrapping layers we want to here:
|
/* Inject any wrapping layers we want to here:
|
||||||
*/
|
*/
|
||||||
return gallium_wrap_screen( screen );
|
return gallium_wrap_screen( screen );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void *
|
|
||||||
graw_create_window( int x,
|
void
|
||||||
int y,
|
graw_set_display_func( void (*draw)( void ) )
|
||||||
unsigned width,
|
|
||||||
unsigned height,
|
|
||||||
enum pipe_format format )
|
|
||||||
{
|
{
|
||||||
static int dummy;
|
graw.draw = draw;
|
||||||
return &dummy;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
graw_destroy_window( void *window )
|
graw_main_loop( void )
|
||||||
{
|
{
|
||||||
|
graw.draw();
|
||||||
|
os_time_sleep(100000);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user