mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-22 22:10:10 +01:00
xlib: don't explicitly create the pipe_winsys struct
This commit is contained in:
parent
4f134f91a4
commit
bcc45a2024
4 changed files with 53 additions and 19 deletions
|
|
@ -351,9 +351,26 @@ xlib_create_brw_winsys( void )
|
||||||
|
|
||||||
|
|
||||||
static struct pipe_screen *
|
static struct pipe_screen *
|
||||||
xlib_create_brw_screen( struct pipe_winsys *winsys )
|
xlib_create_brw_screen( void )
|
||||||
{
|
{
|
||||||
return brw_create_screen(winsys, 0/* XXX pci_id */);
|
struct pipe_winsys *winsys;
|
||||||
|
struct pipe_screen *screen;
|
||||||
|
|
||||||
|
winsys = xlib_create_brw_winsys();
|
||||||
|
if (winsys == NULL)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
screen = brw_create_screen(winsys, 0/* XXX pci_id */);
|
||||||
|
if (screen == NULL)
|
||||||
|
goto fail;
|
||||||
|
|
||||||
|
return screen;
|
||||||
|
|
||||||
|
fail:
|
||||||
|
if (winsys)
|
||||||
|
winsys->destroy( winsys );
|
||||||
|
|
||||||
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -473,7 +490,6 @@ xlib_brw_display_surface(struct xmesa_buffer *b,
|
||||||
|
|
||||||
struct xm_driver xlib_brw_driver =
|
struct xm_driver xlib_brw_driver =
|
||||||
{
|
{
|
||||||
.create_pipe_winsys = xlib_create_brw_winsys,
|
|
||||||
.create_pipe_screen = xlib_create_brw_screen,
|
.create_pipe_screen = xlib_create_brw_screen,
|
||||||
.create_pipe_context = xlib_create_brw_context,
|
.create_pipe_context = xlib_create_brw_context,
|
||||||
.display_surface = xlib_brw_display_surface,
|
.display_surface = xlib_brw_display_surface,
|
||||||
|
|
|
||||||
|
|
@ -414,7 +414,24 @@ xlib_create_cell_winsys( void )
|
||||||
static struct pipe_screen *
|
static struct pipe_screen *
|
||||||
xlib_create_cell_screen( struct pipe_winsys *pws )
|
xlib_create_cell_screen( struct pipe_winsys *pws )
|
||||||
{
|
{
|
||||||
return cell_create_screen( pws );
|
struct pipe_winsys *winsys;
|
||||||
|
struct pipe_screen *screen;
|
||||||
|
|
||||||
|
winsys = xlib_create_cell_winsys();
|
||||||
|
if (winsys == NULL)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
screen = cell_create_screen(winsys);
|
||||||
|
if (screen == NULL)
|
||||||
|
goto fail;
|
||||||
|
|
||||||
|
return screen;
|
||||||
|
|
||||||
|
fail:
|
||||||
|
if (winsys)
|
||||||
|
winsys->destroy( winsys );
|
||||||
|
|
||||||
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -445,7 +462,6 @@ fail:
|
||||||
|
|
||||||
struct xm_driver xlib_cell_driver =
|
struct xm_driver xlib_cell_driver =
|
||||||
{
|
{
|
||||||
.create_pipe_winsys = xlib_create_cell_winsys,
|
|
||||||
.create_pipe_screen = xlib_create_cell_screen,
|
.create_pipe_screen = xlib_create_cell_screen,
|
||||||
.create_pipe_context = xlib_create_cell_context,
|
.create_pipe_context = xlib_create_cell_context,
|
||||||
.display_surface = xlib_cell_display_surface,
|
.display_surface = xlib_cell_display_surface,
|
||||||
|
|
@ -455,7 +471,6 @@ struct xm_driver xlib_cell_driver =
|
||||||
|
|
||||||
struct xm_driver xlib_cell_driver =
|
struct xm_driver xlib_cell_driver =
|
||||||
{
|
{
|
||||||
.create_pipe_winsys = NULL,
|
|
||||||
.create_pipe_screen = NULL,
|
.create_pipe_screen = NULL,
|
||||||
.create_pipe_context = NULL,
|
.create_pipe_context = NULL,
|
||||||
.display_surface = NULL,
|
.display_surface = NULL,
|
||||||
|
|
|
||||||
|
|
@ -232,7 +232,6 @@ xlib_softpipe_display_surface(struct xmesa_buffer *b,
|
||||||
struct xm_buffer *xm_buf = xm_buffer(surf->buffer);
|
struct xm_buffer *xm_buf = xm_buffer(surf->buffer);
|
||||||
static boolean no_swap = 0;
|
static boolean no_swap = 0;
|
||||||
static boolean firsttime = 1;
|
static boolean firsttime = 1;
|
||||||
static int tileSize = 0;
|
|
||||||
|
|
||||||
if (firsttime) {
|
if (firsttime) {
|
||||||
no_swap = getenv("SP_NO_RAST") != NULL;
|
no_swap = getenv("SP_NO_RAST") != NULL;
|
||||||
|
|
@ -482,17 +481,25 @@ xlib_create_softpipe_winsys( void )
|
||||||
|
|
||||||
|
|
||||||
static struct pipe_screen *
|
static struct pipe_screen *
|
||||||
xlib_create_softpipe_screen( struct pipe_winsys *pws )
|
xlib_create_softpipe_screen( void )
|
||||||
{
|
{
|
||||||
|
struct pipe_winsys *winsys;
|
||||||
struct pipe_screen *screen;
|
struct pipe_screen *screen;
|
||||||
|
|
||||||
screen = softpipe_create_screen(pws);
|
winsys = xlib_create_softpipe_winsys();
|
||||||
|
if (winsys == NULL)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
screen = softpipe_create_screen(winsys);
|
||||||
if (screen == NULL)
|
if (screen == NULL)
|
||||||
goto fail;
|
goto fail;
|
||||||
|
|
||||||
return screen;
|
return screen;
|
||||||
|
|
||||||
fail:
|
fail:
|
||||||
|
if (winsys)
|
||||||
|
winsys->destroy( winsys );
|
||||||
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -517,7 +524,6 @@ fail:
|
||||||
|
|
||||||
struct xm_driver xlib_softpipe_driver =
|
struct xm_driver xlib_softpipe_driver =
|
||||||
{
|
{
|
||||||
.create_pipe_winsys = xlib_create_softpipe_winsys,
|
|
||||||
.create_pipe_screen = xlib_create_softpipe_screen,
|
.create_pipe_screen = xlib_create_softpipe_screen,
|
||||||
.create_pipe_context = xlib_create_softpipe_context,
|
.create_pipe_context = xlib_create_softpipe_context,
|
||||||
.display_surface = xlib_softpipe_display_surface
|
.display_surface = xlib_softpipe_display_surface
|
||||||
|
|
|
||||||
|
|
@ -38,19 +38,16 @@
|
||||||
#include "trace/tr_screen.h"
|
#include "trace/tr_screen.h"
|
||||||
#include "trace/tr_context.h"
|
#include "trace/tr_context.h"
|
||||||
|
|
||||||
|
#include "pipe/p_screen.h"
|
||||||
|
|
||||||
|
|
||||||
static struct pipe_winsys *
|
|
||||||
xlib_create_trace_winsys( void )
|
|
||||||
{
|
|
||||||
return xlib_softpipe_driver.create_pipe_winsys();
|
|
||||||
}
|
|
||||||
|
|
||||||
static struct pipe_screen *
|
static struct pipe_screen *
|
||||||
xlib_create_trace_screen( struct pipe_winsys *winsys )
|
xlib_create_trace_screen( void )
|
||||||
{
|
{
|
||||||
struct pipe_screen *screen, *trace_screen;
|
struct pipe_screen *screen, *trace_screen;
|
||||||
|
|
||||||
screen = xlib_softpipe_driver.create_pipe_screen( winsys );
|
screen = xlib_softpipe_driver.create_pipe_screen();
|
||||||
if (screen == NULL)
|
if (screen == NULL)
|
||||||
goto fail;
|
goto fail;
|
||||||
|
|
||||||
|
|
@ -63,7 +60,8 @@ xlib_create_trace_screen( struct pipe_winsys *winsys )
|
||||||
return trace_screen;
|
return trace_screen;
|
||||||
|
|
||||||
fail:
|
fail:
|
||||||
/* free stuff */
|
if (screen)
|
||||||
|
screen->destroy( screen );
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -103,7 +101,6 @@ xlib_trace_display_surface( struct xmesa_buffer *buffer,
|
||||||
|
|
||||||
struct xm_driver xlib_trace_driver =
|
struct xm_driver xlib_trace_driver =
|
||||||
{
|
{
|
||||||
.create_pipe_winsys = xlib_create_trace_winsys,
|
|
||||||
.create_pipe_screen = xlib_create_trace_screen,
|
.create_pipe_screen = xlib_create_trace_screen,
|
||||||
.create_pipe_context = xlib_create_trace_context,
|
.create_pipe_context = xlib_create_trace_context,
|
||||||
.display_surface = xlib_trace_display_surface,
|
.display_surface = xlib_trace_display_surface,
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue